From 5eb17bc4f1c6d46596e36c4f6595c08cc329513f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 19:38:32 +0000 Subject: [PATCH] deploy: a619b2ec6b208e40e1a973411fb301814fb7b7d7 --- 404.html | 10 ++++---- assets/{app.D7XKSFIz.js => app.B4kQiGTK.js} | 2 +- assets/astria-evm_overview.md.B4T-8HL6.js | 1 - .../astria-evm_overview.md.B4T-8HL6.lean.js | 1 - assets/astria-evm_overview.md.N33DqnZw.js | 1 + .../astria-evm_overview.md.N33DqnZw.lean.js | 1 + .../chunks/@localSearchIndexroot.BEqiDBq7.js | 1 + .../chunks/@localSearchIndexroot.CDszn7_q.js | 1 - ...F-Qrfj.js => VPLocalSearchBox.BqmpJ0Vu.js} | 2 +- ...work.D561hJ3q.js => framework.J4W-y093.js} | 2 +- .../{theme.u7tjqoTA.js => theme.DLnrd-2N.js} | 4 ++-- ...cloud-rollup_digital-ocean.md.B5WR59Xl.js} | 4 ++-- ...d-rollup_digital-ocean.md.B5WR59Xl.lean.js | 1 + ...d-rollup_digital-ocean.md.CT1o5K27.lean.js | 1 - ...js => community_1-overview.md.DasLXO1A.js} | 2 +- ... community_1-overview.md.DasLXO1A.lean.js} | 2 +- ...onents__astria-cli-install.md.BXNndlSR.js} | 2 +- ...s__astria-cli-install.md.BXNndlSR.lean.js} | 2 +- .../components__cli-cloud.md.B0UnGhFQ.lean.js | 1 - ...s => components__cli-cloud.md.CaTwTJOj.js} | 4 ++-- .../components__cli-cloud.md.CaTwTJOj.lean.js | 1 + ...s => components__cli-local.md.Cax1wesZ.js} | 2 +- ...components__cli-local.md.Cax1wesZ.lean.js} | 2 +- ...yment-instructions-redirect.md.D9hAKJk8.js | 1 + ...-instructions-redirect.md.D9hAKJk8.lean.js | 1 + ...yment-instructions-redirect.md.eUgwKcxm.js | 1 - ...-instructions-redirect.md.eUgwKcxm.lean.js | 1 - ...mponents__remote-endpoints.md.BV3QqGJA.js} | 2 +- ...nts__remote-endpoints.md.BV3QqGJA.lean.js} | 2 +- ...ials_1-using-astria-go-cli.md.BRFsgd6A.js} | 2 +- ...1-using-astria-go-cli.md.BRFsgd6A.lean.js} | 2 +- ... => dusk-faq_1-information.md.BG9W6vCf.js} | 2 +- ...usk-faq_1-information.md.BG9W6vCf.lean.js} | 2 +- ...ex.md.tCi_VC0T.js => index.md.BopZznMh.js} | 2 +- ...VC0T.lean.js => index.md.BopZznMh.lean.js} | 2 +- ...-rollup_1-introduction.md.BFVi5LaF.lean.js | 1 - ...ocal-rollup_1-introduction.md.D103LahM.js} | 4 ++-- ...-rollup_1-introduction.md.D103LahM.lean.js | 1 + ...cal-rollup_2-astria-cli-go.md.Z-ELQLtc.js} | 2 +- ...ollup_2-astria-cli-go.md.Z-ELQLtc.lean.js} | 2 +- ...t7.js => markdown-examples.md.yRETD5Nd.js} | 2 +- ... => markdown-examples.md.yRETD5Nd.lean.js} | 2 +- assets/overview_1-introduction.md.B4TX2rRf.js | 1 - assets/overview_1-introduction.md.C2unZ-yA.js | 1 + ...erview_1-introduction.md.C2unZ-yA.lean.js} | 2 +- ...hy-decentralized-sequencers.md.-Sm2jRo9.js | 1 - ...centralized-sequencers.md.-Sm2jRo9.lean.js | 1 - ...hy-decentralized-sequencers.md.lbvD_B3b.js | 1 + ...centralized-sequencers.md.lbvD_B3b.lean.js | 1 + ...-cross-rollup-composability.md.BbsN2vE1.js | 1 + ...-rollup-composability.md.BbsN2vE1.lean.js} | 2 +- ...-cross-rollup-composability.md.CQZSW3sO.js | 1 - ...iew_architecture_1-overview.md.BkM5J_5h.js | 1 + ...rchitecture_1-overview.md.BkM5J_5h.lean.js | 1 + ...iew_architecture_1-overview.md.NdI9aXbX.js | 1 - ...rchitecture_1-overview.md.NdI9aXbX.lean.js | 1 - ...itecture_2-transaction-flow.md.Bhe0gp93.js | 1 + ...ure_2-transaction-flow.md.Bhe0gp93.lean.js | 1 + ...itecture_2-transaction-flow.md.DqMz0vgK.js | 1 - ...ure_2-transaction-flow.md.DqMz0vgK.lean.js | 1 - ...rview_architecture_3-rollup.md.DskKYH_G.js | 1 - ..._architecture_3-rollup.md.DskKYH_G.lean.js | 1 - ...rview_architecture_3-rollup.md.KtNjvcBo.js | 1 + ..._architecture_3-rollup.md.KtNjvcBo.lean.js | 1 + ...iew_architecture_4-composer.md.BFdpt6Di.js | 1 - ...iew_architecture_4-composer.md.ZUYOCZjU.js | 1 + ...chitecture_4-composer.md.ZUYOCZjU.lean.js} | 2 +- ...ture_5-the-astria-sequencer.md.CF9nAJ5G.js | 1 - ...5-the-astria-sequencer.md.CF9nAJ5G.lean.js | 1 - ...ture_5-the-astria-sequencer.md.DQAesWz8.js | 1 + ...5-the-astria-sequencer.md.DQAesWz8.lean.js | 1 + ...view_architecture_6-relayer.md.C21oyeqO.js | 1 + ...rchitecture_6-relayer.md.C21oyeqO.lean.js} | 2 +- ...view_architecture_6-relayer.md.yaAwwm_B.js | 1 - ...ew_architecture_7-conductor.md.BvhJT_3q.js | 1 + ...chitecture_7-conductor.md.BvhJT_3q.lean.js | 1 + ...ew_architecture_7-conductor.md.CYOIrlzR.js | 1 - ...chitecture_7-conductor.md.CYOIrlzR.lean.js | 1 - ...e_8-data-availability-layer.md.CUDK1MsV.js | 1 - ...e_8-data-availability-layer.md.CZsy3pe7.js | 1 + ...ta-availability-layer.md.CZsy3pe7.lean.js} | 2 +- assets/style.8neFWL_c.css | 1 - assets/style.BpFbcDlw.css | 1 + astria-evm/overview.html | 16 ++++++------- cloud-rollup/digital-ocean.html | 24 +++++++++---------- community/1-overview.html | 16 ++++++------- components/_astria-cli-install.html | 18 +++++++------- components/_cli-cloud.html | 18 +++++++------- components/_cli-local.html | 18 +++++++------- .../_deployment-instructions-redirect.html | 16 ++++++------- components/_remote-endpoints.html | 16 ++++++------- .../tutorials/1-using-astria-go-cli.html | 18 +++++++------- dusk-faq/1-information.html | 18 +++++++------- hashmap.json | 2 +- index.html | 16 ++++++------- local-rollup/1-introduction.html | 20 ++++++++-------- local-rollup/2-astria-cli-go.html | 18 +++++++------- markdown-examples.html | 18 +++++++------- overview/1-introduction.html | 16 ++++++------- overview/2-why-decentralized-sequencers.html | 16 ++++++------- overview/3-cross-rollup-composability.html | 16 ++++++------- overview/architecture/1-overview.html | 16 ++++++------- overview/architecture/2-transaction-flow.html | 16 ++++++------- overview/architecture/3-rollup.html | 16 ++++++------- overview/architecture/4-composer.html | 16 ++++++------- .../architecture/5-the-astria-sequencer.html | 16 ++++++------- overview/architecture/6-relayer.html | 16 ++++++------- overview/architecture/7-conductor.html | 16 ++++++------- .../8-data-availability-layer.html | 16 ++++++------- 109 files changed, 279 insertions(+), 279 deletions(-) rename assets/{app.D7XKSFIz.js => app.B4kQiGTK.js} (90%) delete mode 100644 assets/astria-evm_overview.md.B4T-8HL6.js delete mode 100644 assets/astria-evm_overview.md.B4T-8HL6.lean.js create mode 100644 assets/astria-evm_overview.md.N33DqnZw.js create mode 100644 assets/astria-evm_overview.md.N33DqnZw.lean.js create mode 100644 assets/chunks/@localSearchIndexroot.BEqiDBq7.js delete mode 100644 assets/chunks/@localSearchIndexroot.CDszn7_q.js rename assets/chunks/{VPLocalSearchBox.BAF-Qrfj.js => VPLocalSearchBox.BqmpJ0Vu.js} (99%) rename assets/chunks/{framework.D561hJ3q.js => framework.J4W-y093.js} (74%) rename assets/chunks/{theme.u7tjqoTA.js => theme.DLnrd-2N.js} (99%) rename assets/{cloud-rollup_digital-ocean.md.CT1o5K27.js => cloud-rollup_digital-ocean.md.B5WR59Xl.js} (93%) create mode 100644 assets/cloud-rollup_digital-ocean.md.B5WR59Xl.lean.js delete mode 100644 assets/cloud-rollup_digital-ocean.md.CT1o5K27.lean.js rename assets/{community_1-overview.md.DuxpgaeN.js => community_1-overview.md.DasLXO1A.js} (82%) rename assets/{community_1-overview.md.DuxpgaeN.lean.js => community_1-overview.md.DasLXO1A.lean.js} (82%) rename assets/{components__astria-cli-install.md.B_6z2ycW.js => components__astria-cli-install.md.BXNndlSR.js} (90%) rename assets/{components__astria-cli-install.md.B_6z2ycW.lean.js => components__astria-cli-install.md.BXNndlSR.lean.js} (72%) delete mode 100644 assets/components__cli-cloud.md.B0UnGhFQ.lean.js rename assets/{components__cli-cloud.md.B0UnGhFQ.js => components__cli-cloud.md.CaTwTJOj.js} (88%) create mode 100644 assets/components__cli-cloud.md.CaTwTJOj.lean.js rename assets/{components__cli-local.md.QZSWLQ6b.js => components__cli-local.md.Cax1wesZ.js} (91%) rename assets/{components__cli-local.md.QZSWLQ6b.lean.js => components__cli-local.md.Cax1wesZ.lean.js} (70%) create mode 100644 assets/components__deployment-instructions-redirect.md.D9hAKJk8.js create mode 100644 assets/components__deployment-instructions-redirect.md.D9hAKJk8.lean.js delete mode 100644 assets/components__deployment-instructions-redirect.md.eUgwKcxm.js delete mode 100644 assets/components__deployment-instructions-redirect.md.eUgwKcxm.lean.js rename assets/{components__remote-endpoints.md.DTwsMlpQ.js => components__remote-endpoints.md.BV3QqGJA.js} (92%) rename assets/{components__remote-endpoints.md.DTwsMlpQ.lean.js => components__remote-endpoints.md.BV3QqGJA.lean.js} (85%) rename assets/{developer_tutorials_1-using-astria-go-cli.md.BgCvEMYa.js => developer_tutorials_1-using-astria-go-cli.md.BRFsgd6A.js} (99%) rename assets/{developer_tutorials_1-using-astria-go-cli.md.BgCvEMYa.lean.js => developer_tutorials_1-using-astria-go-cli.md.BRFsgd6A.lean.js} (74%) rename assets/{dusk-faq_1-information.md.BTtO3i50.js => dusk-faq_1-information.md.BG9W6vCf.js} (79%) rename assets/{dusk-faq_1-information.md.BTtO3i50.lean.js => dusk-faq_1-information.md.BG9W6vCf.lean.js} (72%) rename assets/{index.md.tCi_VC0T.js => index.md.BopZznMh.js} (99%) rename assets/{index.md.tCi_VC0T.lean.js => index.md.BopZznMh.lean.js} (99%) delete mode 100644 assets/local-rollup_1-introduction.md.BFVi5LaF.lean.js rename assets/{local-rollup_1-introduction.md.BFVi5LaF.js => local-rollup_1-introduction.md.D103LahM.js} (89%) create mode 100644 assets/local-rollup_1-introduction.md.D103LahM.lean.js rename assets/{local-rollup_2-astria-cli-go.md.Du8j9GvY.js => local-rollup_2-astria-cli-go.md.Z-ELQLtc.js} (98%) rename assets/{local-rollup_2-astria-cli-go.md.Du8j9GvY.lean.js => local-rollup_2-astria-cli-go.md.Z-ELQLtc.lean.js} (72%) rename assets/{markdown-examples.md.v0GVNMt7.js => markdown-examples.md.yRETD5Nd.js} (98%) rename assets/{markdown-examples.md.v0GVNMt7.lean.js => markdown-examples.md.yRETD5Nd.lean.js} (71%) delete mode 100644 assets/overview_1-introduction.md.B4TX2rRf.js create mode 100644 assets/overview_1-introduction.md.C2unZ-yA.js rename assets/{overview_1-introduction.md.B4TX2rRf.lean.js => overview_1-introduction.md.C2unZ-yA.lean.js} (72%) delete mode 100644 assets/overview_2-why-decentralized-sequencers.md.-Sm2jRo9.js delete mode 100644 assets/overview_2-why-decentralized-sequencers.md.-Sm2jRo9.lean.js create mode 100644 assets/overview_2-why-decentralized-sequencers.md.lbvD_B3b.js create mode 100644 assets/overview_2-why-decentralized-sequencers.md.lbvD_B3b.lean.js create mode 100644 assets/overview_3-cross-rollup-composability.md.BbsN2vE1.js rename assets/{overview_3-cross-rollup-composability.md.CQZSW3sO.lean.js => overview_3-cross-rollup-composability.md.BbsN2vE1.lean.js} (63%) delete mode 100644 assets/overview_3-cross-rollup-composability.md.CQZSW3sO.js create mode 100644 assets/overview_architecture_1-overview.md.BkM5J_5h.js create mode 100644 assets/overview_architecture_1-overview.md.BkM5J_5h.lean.js delete mode 100644 assets/overview_architecture_1-overview.md.NdI9aXbX.js delete mode 100644 assets/overview_architecture_1-overview.md.NdI9aXbX.lean.js create mode 100644 assets/overview_architecture_2-transaction-flow.md.Bhe0gp93.js create mode 100644 assets/overview_architecture_2-transaction-flow.md.Bhe0gp93.lean.js delete mode 100644 assets/overview_architecture_2-transaction-flow.md.DqMz0vgK.js delete mode 100644 assets/overview_architecture_2-transaction-flow.md.DqMz0vgK.lean.js delete mode 100644 assets/overview_architecture_3-rollup.md.DskKYH_G.js delete mode 100644 assets/overview_architecture_3-rollup.md.DskKYH_G.lean.js create mode 100644 assets/overview_architecture_3-rollup.md.KtNjvcBo.js create mode 100644 assets/overview_architecture_3-rollup.md.KtNjvcBo.lean.js delete mode 100644 assets/overview_architecture_4-composer.md.BFdpt6Di.js create mode 100644 assets/overview_architecture_4-composer.md.ZUYOCZjU.js rename assets/{overview_architecture_4-composer.md.BFdpt6Di.lean.js => overview_architecture_4-composer.md.ZUYOCZjU.lean.js} (89%) delete mode 100644 assets/overview_architecture_5-the-astria-sequencer.md.CF9nAJ5G.js delete mode 100644 assets/overview_architecture_5-the-astria-sequencer.md.CF9nAJ5G.lean.js create mode 100644 assets/overview_architecture_5-the-astria-sequencer.md.DQAesWz8.js create mode 100644 assets/overview_architecture_5-the-astria-sequencer.md.DQAesWz8.lean.js create mode 100644 assets/overview_architecture_6-relayer.md.C21oyeqO.js rename assets/{overview_architecture_6-relayer.md.yaAwwm_B.lean.js => overview_architecture_6-relayer.md.C21oyeqO.lean.js} (86%) delete mode 100644 assets/overview_architecture_6-relayer.md.yaAwwm_B.js create mode 100644 assets/overview_architecture_7-conductor.md.BvhJT_3q.js create mode 100644 assets/overview_architecture_7-conductor.md.BvhJT_3q.lean.js delete mode 100644 assets/overview_architecture_7-conductor.md.CYOIrlzR.js delete mode 100644 assets/overview_architecture_7-conductor.md.CYOIrlzR.lean.js delete mode 100644 assets/overview_architecture_8-data-availability-layer.md.CUDK1MsV.js create mode 100644 assets/overview_architecture_8-data-availability-layer.md.CZsy3pe7.js rename assets/{overview_architecture_8-data-availability-layer.md.CUDK1MsV.lean.js => overview_architecture_8-data-availability-layer.md.CZsy3pe7.lean.js} (94%) delete mode 100644 assets/style.8neFWL_c.css create mode 100644 assets/style.BpFbcDlw.css diff --git a/404.html b/404.html index 188dbfd..9faf9f5 100644 --- a/404.html +++ b/404.html @@ -6,16 +6,16 @@ 404 | Astria - + - - + + -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
- +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
+ \ No newline at end of file diff --git a/assets/app.D7XKSFIz.js b/assets/app.B4kQiGTK.js similarity index 90% rename from assets/app.D7XKSFIz.js rename to assets/app.B4kQiGTK.js index 05bdd3f..fae3bb5 100644 --- a/assets/app.D7XKSFIz.js +++ b/assets/app.B4kQiGTK.js @@ -1 +1 @@ -import{V as o,a6 as p,a7 as u,a8 as l,a9 as c,aa as f,ab as d,ac as m,ad as h,ae as g,af as A,Y as P,d as _,u as v,k as y,y as R,ag as w,ah as C,ai as E,a4 as b}from"./chunks/framework.D561hJ3q.js";import{R as T}from"./chunks/theme.u7tjqoTA.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(T),S=_({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{R(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&w(),C(),E(),s.setup&&s.setup(),()=>b(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=L(),a=V();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),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:m}),{app:a,router:e,data:t}}function V(){return h(S)}function L(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=P(()=>import(n),[])),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{D as createApp}; +import{V as o,a6 as p,a7 as u,a8 as l,a9 as c,aa as f,ab as d,ac as m,ad as h,ae as g,af as A,Y as P,d as _,u as v,k as y,y as R,ag as w,ah as C,ai as E,a4 as b}from"./chunks/framework.J4W-y093.js";import{R as T}from"./chunks/theme.DLnrd-2N.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(T),S=_({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{R(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&w(),C(),E(),s.setup&&s.setup(),()=>b(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=L(),a=V();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),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:m}),{app:a,router:e,data:t}}function V(){return h(S)}function L(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=P(()=>import(n),[])),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/assets/astria-evm_overview.md.B4T-8HL6.js b/assets/astria-evm_overview.md.B4T-8HL6.js deleted file mode 100644 index 9aab4de..0000000 --- a/assets/astria-evm_overview.md.B4T-8HL6.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as t,o as s,a5 as e}from"./chunks/framework.D561hJ3q.js";const i="/assets/metamask-dusk2.W3LWBbKP.png",m=JSON.parse('{"title":"Astria EVM","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"astria-evm/overview.md","filePath":"astria-evm/overview.md","lastUpdated":1705703381000}'),r={name:"astria-evm/overview.md"},n=e('

Astria EVM

Network Information

PropertyValue
Network Namedusk-3
RPC URLhttps://rpc.evm.dusk-3.devnet.astria.org
Chain ID912559
Currency SymbolRIA
Dorahttps://www.ondora.xyz/network/astria-devnet
Faucethttps://faucet.evm.dusk-3.devnet.astria.org
Block Scouthttps://explorer.evm.dusk-3.devnet.astria.org/

Adding to Metamask

Follow Metamask's official documentation to manually add a custom network.

Your settings should look like the image below

Metamask

Using Cast

Set your ETH_RPC_URL:

bash
export ETH_RPC_URL=https://rpc-archive.evm.dusk-3.devnet.astria.org/
bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key <PRIVATE-KEY>
bash
cast balance $REC_ADDR
',14),h=[n];function d(l,o,p,k,c,g){return s(),t("div",null,h)}const v=a(r,[["render",d]]);export{m as __pageData,v as default}; diff --git a/assets/astria-evm_overview.md.B4T-8HL6.lean.js b/assets/astria-evm_overview.md.B4T-8HL6.lean.js deleted file mode 100644 index 0b833cc..0000000 --- a/assets/astria-evm_overview.md.B4T-8HL6.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,c as t,o as s,a5 as e}from"./chunks/framework.D561hJ3q.js";const i="/assets/metamask-dusk2.W3LWBbKP.png",m=JSON.parse('{"title":"Astria EVM","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"astria-evm/overview.md","filePath":"astria-evm/overview.md","lastUpdated":1705703381000}'),r={name:"astria-evm/overview.md"},n=e("",14),h=[n];function d(l,o,p,k,c,g){return s(),t("div",null,h)}const v=a(r,[["render",d]]);export{m as __pageData,v as default}; diff --git a/assets/astria-evm_overview.md.N33DqnZw.js b/assets/astria-evm_overview.md.N33DqnZw.js new file mode 100644 index 0000000..ec583ce --- /dev/null +++ b/assets/astria-evm_overview.md.N33DqnZw.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as s,a5 as e}from"./chunks/framework.J4W-y093.js";const i="/docs/assets/metamask-dusk2.W3LWBbKP.png",m=JSON.parse('{"title":"Astria EVM","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"astria-evm/overview.md","filePath":"astria-evm/overview.md","lastUpdated":1705703381000}'),r={name:"astria-evm/overview.md"},n=e('

Astria EVM

Network Information

PropertyValue
Network Namedusk-3
RPC URLhttps://rpc.evm.dusk-3.devnet.astria.org
Chain ID912559
Currency SymbolRIA
Dorahttps://www.ondora.xyz/network/astria-devnet
Faucethttps://faucet.evm.dusk-3.devnet.astria.org
Block Scouthttps://explorer.evm.dusk-3.devnet.astria.org/

Adding to Metamask

Follow Metamask's official documentation to manually add a custom network.

Your settings should look like the image below

Metamask

Using Cast

Set your ETH_RPC_URL:

bash
export ETH_RPC_URL=https://rpc-archive.evm.dusk-3.devnet.astria.org/
bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key <PRIVATE-KEY>
bash
cast balance $REC_ADDR
',14),h=[n];function d(l,o,p,k,c,g){return s(),t("div",null,h)}const v=a(r,[["render",d]]);export{m as __pageData,v as default}; diff --git a/assets/astria-evm_overview.md.N33DqnZw.lean.js b/assets/astria-evm_overview.md.N33DqnZw.lean.js new file mode 100644 index 0000000..e48431d --- /dev/null +++ b/assets/astria-evm_overview.md.N33DqnZw.lean.js @@ -0,0 +1 @@ +import{_ as a,c as t,o as s,a5 as e}from"./chunks/framework.J4W-y093.js";const i="/docs/assets/metamask-dusk2.W3LWBbKP.png",m=JSON.parse('{"title":"Astria EVM","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"astria-evm/overview.md","filePath":"astria-evm/overview.md","lastUpdated":1705703381000}'),r={name:"astria-evm/overview.md"},n=e("",14),h=[n];function d(l,o,p,k,c,g){return s(),t("div",null,h)}const v=a(r,[["render",d]]);export{m as __pageData,v as default}; diff --git a/assets/chunks/@localSearchIndexroot.BEqiDBq7.js b/assets/chunks/@localSearchIndexroot.BEqiDBq7.js new file mode 100644 index 0000000..399a3e8 --- /dev/null +++ b/assets/chunks/@localSearchIndexroot.BEqiDBq7.js @@ -0,0 +1 @@ +const e='{"documentCount":82,"nextId":82,"documentIds":{"0":"/docs/astria-evm/overview#astria-evm","1":"/docs/astria-evm/overview#network-information","2":"/docs/astria-evm/overview#adding-to-metamask","3":"/docs/astria-evm/overview#using-cast","4":"/docs/cloud-rollup/digital-ocean#digital-ocean","5":"/docs/cloud-rollup/digital-ocean#local-dependencies","6":"/docs/cloud-rollup/digital-ocean#install-the-latest-astria-cli","7":"/docs/cloud-rollup/digital-ocean#dusknet-endpoints","8":"/docs/cloud-rollup/digital-ocean#create-a-new-cluster","9":"/docs/cloud-rollup/digital-ocean#configure-kubectl-with-doctl","10":"/docs/cloud-rollup/digital-ocean#deploy-ingress-nginx-controller","11":"/docs/cloud-rollup/digital-ocean#verify-loadbalancer-with-external-ip","12":"/docs/cloud-rollup/digital-ocean#create-an-a-record","13":"/docs/cloud-rollup/digital-ocean#create-your-rollup-genesis-account-s","14":"/docs/cloud-rollup/digital-ocean#create-rollup-config","15":"/docs/cloud-rollup/digital-ocean#create-new-sequencer-account","16":"/docs/cloud-rollup/digital-ocean#fund-your-sequencer-account","17":"/docs/cloud-rollup/digital-ocean#deploy-the-rollup-node","18":"/docs/cloud-rollup/digital-ocean#watch-for-rollup-startup","19":"/docs/cloud-rollup/digital-ocean#your-rollup-endpoints","20":"/docs/cloud-rollup/digital-ocean#interact-with-your-rollup","21":"/docs/community/1-overview#community-overview","22":"/docs/components/_astria-cli-install#install-the-latest-astria-cli","23":"/docs/components/_cli-cloud#install-the-latest-astria-cli","24":"/docs/components/_cli-local#install-the-latest-astria-cli","25":"/docs/developer/tutorials/1-using-astria-go-cli#overview","26":"/docs/developer/tutorials/1-using-astria-go-cli#download-the-cli","27":"/docs/developer/tutorials/1-using-astria-go-cli#using-curl","28":"/docs/developer/tutorials/1-using-astria-go-cli#build-from-source","29":"/docs/developer/tutorials/1-using-astria-go-cli#download-and-build-geth","30":"/docs/developer/tutorials/1-using-astria-go-cli#run-a-local-rollup-and-a-local-sequencer","31":"/docs/developer/tutorials/1-using-astria-go-cli#start-geth","32":"/docs/developer/tutorials/1-using-astria-go-cli#start-the-local-astria-sequencer","33":"/docs/developer/tutorials/1-using-astria-go-cli#run-a-local-rollup-against-a-remote-sequencer","34":"/docs/developer/tutorials/1-using-astria-go-cli#initialize-and-start-geth","35":"/docs/developer/tutorials/1-using-astria-go-cli#setup-and-run-the-local-astria-components-to-communicate-with-the-remote-sequencer","36":"/docs/developer/tutorials/1-using-astria-go-cli#test-transactions","37":"/docs/dusk-faq/1-information#faq-and-debugging","38":"/docs/dusk-faq/1-information#endpoints","39":"/docs/dusk-faq/1-information#software-versions","40":"/docs/dusk-faq/1-information#install-the-latest-astria-cli","41":"/docs/dusk-faq/1-information#install-the-latest-astria-cli-1","42":"/docs/dusk-faq/1-information#manually-fetch-sequencer-block-height","43":"/docs/dusk-faq/1-information#sequencer-block-height","44":"/docs/dusk-faq/1-information#loadbalancer-information","45":"/docs/dusk-faq/1-information#ingress-information","46":"/docs/local-rollup/1-introduction#overview","47":"/docs/local-rollup/1-introduction#local-dependencies","48":"/docs/local-rollup/1-introduction#clone-the-astria-dev-cluster","49":"/docs/local-rollup/1-introduction#install-the-latest-astria-cli","50":"/docs/local-rollup/1-introduction#dusknet-endpoints","51":"/docs/local-rollup/1-introduction#setup-local-environment","52":"/docs/local-rollup/1-introduction#create-your-rollup-genesis-account-s","53":"/docs/local-rollup/1-introduction#create-rollup-config","54":"/docs/local-rollup/1-introduction#create-a-new-sequencer-account","55":"/docs/local-rollup/1-introduction#fund-your-sequencer-account","56":"/docs/local-rollup/1-introduction#deploy-the-rollup-node","57":"/docs/local-rollup/1-introduction#watch-for-rollup-startup","58":"/docs/local-rollup/1-introduction#your-rollup-endpoints","59":"/docs/local-rollup/1-introduction#interact-with-your-rollup","60":"/docs/local-rollup/2-astria-cli-go#the-astria-cli","61":"/docs/local-rollup/2-astria-cli-go#install-and-run-cli-from-github-release","62":"/docs/local-rollup/2-astria-cli-go#locally-build-and-run-the-cli","63":"/docs/local-rollup/2-astria-cli-go#development","64":"/docs/local-rollup/2-astria-cli-go#available-commands","65":"/docs/markdown-examples#markdown-extension-examples","66":"/docs/markdown-examples#syntax-highlighting","67":"/docs/markdown-examples#custom-containers","68":"/docs/markdown-examples#more","69":"/docs/overview/1-introduction#introduction","70":"/docs/overview/1-introduction#what-should-i-read","71":"/docs/overview/1-introduction#what-if-i-need-more-help","72":"/docs/overview/2-why-decentralized-sequencers#why-decentralized-sequencers","73":"/docs/overview/3-cross-rollup-composability#cross-rollup-composability","74":"/docs/overview/architecture/1-overview#architecture-overview","75":"/docs/overview/architecture/2-transaction-flow#transaction-flow","76":"/docs/overview/architecture/3-rollup#rollups","77":"/docs/overview/architecture/4-composer#composer","78":"/docs/overview/architecture/5-the-astria-sequencer#the-astria-sequencer","79":"/docs/overview/architecture/6-relayer#relayer","80":"/docs/overview/architecture/7-conductor#conductor","81":"/docs/overview/architecture/8-data-availability-layer#data-availability-layer"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,1],"1":[2,2,31],"2":[3,2,20],"3":[2,2,32],"4":[2,1,24],"5":[2,2,1],"6":[3,4,81],"7":[2,2,30],"8":[4,2,65],"9":[4,2,9],"10":[4,2,47],"11":[5,2,80],"12":[4,2,58],"13":[7,2,88],"14":[3,2,137],"15":[4,2,50],"16":[4,2,32],"17":[4,2,24],"18":[4,2,52],"19":[3,2,31],"20":[4,2,34],"21":[2,1,14],"22":[3,1,74],"23":[3,1,81],"24":[3,1,104],"25":[1,1,25],"26":[3,1,1],"27":[2,4,52],"28":[3,4,49],"29":[4,1,23],"30":[6,1,1],"31":[2,7,26],"32":[5,7,8],"33":[7,1,1],"34":[4,8,56],"35":[12,1,105],"36":[2,1,78],"37":[3,1,20],"38":[1,3,44],"39":[2,3,28],"40":[5,3,1],"41":[3,8,104],"42":[5,3,1],"43":[3,8,59],"44":[2,3,78],"45":[2,3,18],"46":[1,1,34],"47":[2,1,14],"48":[3,3,13],"49":[3,3,104],"50":[2,1,29],"51":[3,1,44],"52":[7,1,88],"53":[3,1,134],"54":[5,1,50],"55":[4,1,32],"56":[4,1,24],"57":[4,1,52],"58":[3,1,30],"59":[4,1,35],"60":[3,1,31],"61":[7,3,64],"62":[6,3,79],"63":[1,3,75],"64":[2,4,46],"65":[3,1,14],"66":[2,3,26],"67":[2,3,21],"68":[1,3,11],"69":[1,1,93],"70":[5,1,56],"71":[7,1,29],"72":[4,1,102],"73":[3,1,72],"74":[2,1,153],"75":[2,1,29],"76":[1,1,112],"77":[1,1,142],"78":[3,1,102],"79":[1,1,84],"80":[1,1,124],"81":[3,1,68]},"averageFieldLength":[3.2804878048780486,2.109756097560976,51.146341463414636],"storedFields":{"0":{"title":"Astria EVM","titles":[]},"1":{"title":"Network Information","titles":["Astria EVM"]},"2":{"title":"Adding to Metamask","titles":["Astria EVM"]},"3":{"title":"Using Cast","titles":["Astria EVM"]},"4":{"title":"Digital Ocean","titles":[]},"5":{"title":"Local Dependencies","titles":["Digital Ocean"]},"6":{"title":"Install the latest","titles":["Digital Ocean","Local Dependencies"]},"7":{"title":"Dusknet Endpoints","titles":["Digital Ocean"]},"8":{"title":"Create a New Cluster","titles":["Digital Ocean"]},"9":{"title":"Configure kubectl with doctl","titles":["Digital Ocean"]},"10":{"title":"Deploy Ingress Nginx Controller","titles":["Digital Ocean"]},"11":{"title":"Verify Loadbalancer with external IP","titles":["Digital Ocean"]},"12":{"title":"Create an A Record","titles":["Digital Ocean"]},"13":{"title":"Create your Rollup Genesis Account(s)","titles":["Digital Ocean"]},"14":{"title":"Create Rollup Config","titles":["Digital Ocean"]},"15":{"title":"Create new sequencer account","titles":["Digital Ocean"]},"16":{"title":"Fund your Sequencer Account","titles":["Digital Ocean"]},"17":{"title":"Deploy the Rollup Node","titles":["Digital Ocean"]},"18":{"title":"Watch for rollup startup","titles":["Digital Ocean"]},"19":{"title":"Your Rollup Endpoints","titles":["Digital Ocean"]},"20":{"title":"Interact with your Rollup","titles":["Digital Ocean"]},"21":{"title":"Community overview","titles":[]},"22":{"title":"Install the latest","titles":[]},"23":{"title":"Install the latest","titles":[]},"24":{"title":"Install the latest","titles":[]},"25":{"title":"Overview","titles":[]},"26":{"title":"Download the CLI","titles":["Overview"]},"27":{"title":"Using curl","titles":["Overview","Download the CLI"]},"28":{"title":"Build from Source","titles":["Overview","Download the CLI"]},"29":{"title":"Download and Build Geth","titles":["Overview"]},"30":{"title":"Run a Local Rollup and a Local Sequencer","titles":["Overview"]},"31":{"title":"Start Geth","titles":["Overview","Run a Local Rollup and a Local Sequencer"]},"32":{"title":"Start the Local Astria Sequencer","titles":["Overview","Run a Local Rollup and a Local Sequencer"]},"33":{"title":"Run a Local Rollup against a Remote Sequencer","titles":["Overview"]},"34":{"title":"Initialize and Start Geth","titles":["Overview","Run a Local Rollup against a Remote Sequencer"]},"35":{"title":"Setup and run the Local Astria components to communicate with the Remote Sequencer","titles":["Overview"]},"36":{"title":"Test Transactions","titles":["Overview"]},"37":{"title":"FAQ and Debugging","titles":[]},"38":{"title":"Endpoints","titles":["FAQ and Debugging"]},"39":{"title":"Software Versions","titles":["FAQ and Debugging"]},"40":{"title":"Install the latest Astria cli","titles":["FAQ and Debugging"]},"41":{"title":"Install the latest","titles":["FAQ and Debugging","Install the latest Astria cli"]},"42":{"title":"Manually Fetch Sequencer Block Height","titles":["FAQ and Debugging"]},"43":{"title":"Sequencer Block Height","titles":["FAQ and Debugging","Manually Fetch Sequencer Block Height"]},"44":{"title":"Loadbalancer Information","titles":["FAQ and Debugging"]},"45":{"title":"Ingress Information","titles":["FAQ and Debugging"]},"46":{"title":"Overview","titles":[]},"47":{"title":"Local Dependencies","titles":["Overview"]},"48":{"title":"Clone the Astria","titles":["Overview","Local Dependencies"]},"49":{"title":"Install the latest","titles":["Overview","Local Dependencies"]},"50":{"title":"Dusknet Endpoints","titles":["Overview"]},"51":{"title":"Setup Local Environment","titles":["Overview"]},"52":{"title":"Create your Rollup Genesis Account(s)","titles":["Overview"]},"53":{"title":"Create Rollup Config","titles":["Overview"]},"54":{"title":"Create a New Sequencer Account","titles":["Overview"]},"55":{"title":"Fund your Sequencer Account","titles":["Overview"]},"56":{"title":"Deploy the Rollup Node","titles":["Overview"]},"57":{"title":"Watch for rollup startup","titles":["Overview"]},"58":{"title":"Your Rollup Endpoints","titles":["Overview"]},"59":{"title":"Interact with your Rollup","titles":["Overview"]},"60":{"title":"The Astria CLI","titles":[]},"61":{"title":"Install and Run CLI from GitHub release","titles":["The Astria CLI"]},"62":{"title":"Locally Build and Run the CLI","titles":["The Astria CLI"]},"63":{"title":"Development","titles":["The Astria CLI"]},"64":{"title":"Available Commands","titles":["The Astria CLI","Development"]},"65":{"title":"Markdown Extension Examples","titles":[]},"66":{"title":"Syntax Highlighting","titles":["Markdown Extension Examples"]},"67":{"title":"Custom Containers","titles":["Markdown Extension Examples"]},"68":{"title":"More","titles":["Markdown Extension Examples"]},"69":{"title":"Introduction","titles":[]},"70":{"title":"What should I read?","titles":["Introduction"]},"71":{"title":"What If I Need More Help?","titles":["Introduction"]},"72":{"title":"Why Decentralized Sequencers?","titles":[]},"73":{"title":"Cross-Rollup Composability","titles":[]},"74":{"title":"Architecture Overview","titles":[]},"75":{"title":"Transaction Flow","titles":[]},"76":{"title":"Rollups","titles":[]},"77":{"title":"Composer","titles":[]},"78":{"title":"The Astria Sequencer","titles":[]},"79":{"title":"Relayer","titles":[]},"80":{"title":"Conductor","titles":[]},"81":{"title":"Data Availability Layer","titles":[]}},"dirtCount":0,"index":[["quot",{"2":{"80":4}}],["queue",{"2":{"77":1,"79":1}}],["quick",{"2":{"8":1,"24":1,"41":1,"49":1,"70":2}}],["`run`",{"2":{"63":1}}],["```",{"2":{"6":4,"22":4,"23":4,"24":4,"41":4,"49":4,"66":1}}],["```bash",{"2":{"6":4,"22":4,"23":4,"24":4,"41":4,"49":4}}],["~",{"2":{"35":1}}],["\\t\\t\\t\\t",{"2":{"34":1}}],["join",{"2":{"69":1}}],["jsexport",{"2":{"66":1}}],["json",{"2":{"34":2,"38":1,"63":1}}],["just",{"2":{"24":2,"28":5,"29":4,"31":2,"34":2,"35":1,"41":2,"49":2,"51":1,"62":4,"74":1}}],["0",{"2":{"18":3,"20":1,"27":2,"35":2,"39":1,"57":3,"59":1,"61":2,"62":3}}],["0x332e",{"2":{"13":1,"52":1}}],["0xffe9",{"2":{"13":1,"52":1}}],["71",{"2":{"44":1}}],["755cb8dd97",{"2":{"18":1,"57":1}}],["72s",{"2":{"18":4,"57":4}}],["73",{"2":{"7":1,"38":1,"50":1}}],["$sequencer",{"2":{"16":1,"17":1,"55":1,"56":1}}],["$rollup",{"2":{"14":1,"17":2,"20":3,"53":1,"56":2,"59":2}}],["$rec",{"2":{"3":3,"20":3,"59":3}}],["57s",{"2":{"44":2}}],["5",{"2":{"39":1}}],["56s",{"2":{"18":2,"57":2}}],["5f68",{"2":{"15":2,"54":2}}],["5f8b",{"2":{"13":1,"52":1}}],["5562",{"2":{"15":1,"54":1}}],["50",{"2":{"11":1}}],["98",{"2":{"44":1}}],["9",{"2":{"39":1,"62":1}}],["99",{"2":{"11":1}}],["912559",{"2":{"1":1}}],["68667bd895",{"2":{"18":1,"57":1}}],["6",{"2":{"14":1,"18":2,"34":1,"36":1,"57":2}}],["63",{"2":{"11":1}}],["647745c66d",{"2":{"18":1,"57":1}}],["64",{"2":{"6":6,"22":6,"23":6,"24":6,"41":6,"49":6,"61":1}}],["yet",{"2":{"35":1,"72":1}}],["yaml",{"2":{"10":1,"14":1,"53":1}}],["you",{"2":{"4":1,"6":1,"8":2,"11":3,"12":3,"13":3,"14":1,"18":1,"19":1,"22":1,"23":1,"24":1,"25":1,"27":2,"28":2,"31":2,"34":4,"35":5,"36":2,"41":1,"43":3,"44":2,"45":1,"46":2,"49":1,"52":3,"53":3,"57":1,"61":2,"63":4,"70":6,"71":3,"76":1}}],["your",{"0":{"13":1,"16":1,"19":1,"20":1,"52":1,"55":1,"58":1,"59":1},"2":{"2":1,"3":1,"8":1,"9":1,"11":1,"12":2,"13":2,"14":15,"15":2,"16":3,"18":4,"19":7,"20":1,"27":2,"28":2,"34":1,"35":2,"37":3,"44":1,"45":1,"52":2,"53":12,"54":2,"55":3,"57":4,"58":4,"59":1,"61":2,"63":4,"69":3,"72":3,"73":3,"74":3,"75":3,"76":3,"77":3,"78":3,"79":3,"80":3,"81":3}}],["20",{"2":{"63":1}}],["206",{"2":{"44":2}}],["229",{"2":{"44":1}}],["228",{"2":{"44":1}}],["22",{"2":{"38":1}}],["211",{"2":{"38":1}}],["214",{"2":{"38":1}}],["21",{"2":{"14":1}}],["2>",{"2":{"13":2,"52":2}}],["2579934",{"2":{"12":1}}],["240",{"2":{"11":1}}],["245",{"2":{"11":2}}],["28",{"2":{"11":1}}],["2",{"2":{"10":1,"18":2,"39":1,"57":2}}],["404",{"2":{"44":1}}],["42",{"2":{"44":2}}],["4252",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["4",{"2":{"18":1,"24":1,"27":1,"38":1,"41":1,"49":1,"57":1,"62":2,"66":1}}],["44h",{"2":{"11":2}}],["443",{"2":{"11":2,"44":2}}],["4gb",{"2":{"8":2}}],["8546",{"2":{"35":1}}],["8a2f",{"2":{"15":1,"54":1}}],["80",{"2":{"11":1,"44":1}}],["8",{"2":{"7":1,"10":1,"38":1,"39":1,"50":1}}],["historically",{"2":{"74":1}}],["high",{"2":{"74":1}}],["highlighted",{"2":{"66":2}}],["highlighting",{"0":{"66":1},"2":{"66":2}}],["highlight",{"2":{"21":1}}],["hr>",{"2":{"44":1}}],["h1>",{"2":{"44":1}}],["h1>404",{"2":{"44":1}}],["having",{"2":{"77":1}}],["have",{"2":{"34":1,"35":1,"76":1}}],["handles",{"2":{"73":1}}],["has",{"2":{"8":2,"47":1,"53":1,"80":2,"81":1}}],["html>",{"2":{"44":2}}],["html",{"2":{"24":1,"41":1,"44":1,"49":1}}],["http",{"2":{"19":3,"58":3}}],["https",{"2":{"1":4,"6":9,"8":1,"10":1,"11":1,"12":1,"14":1,"16":1,"22":7,"23":9,"24":13,"27":1,"28":2,"29":2,"41":13,"48":1,"49":13,"53":1,"55":1,"61":1}}],["hl=en",{"2":{"12":1}}],["house",{"2":{"77":1}}],["hostname>",{"2":{"14":2}}],["hostname=",{"2":{"14":1}}],["hostname",{"2":{"14":3,"19":3,"20":1,"53":1}}],["hosts",{"2":{"7":1,"38":1,"50":1}}],["however",{"2":{"72":1}}],["how",{"2":{"8":1,"12":1}}],["header",{"2":{"80":1}}],["headers",{"2":{"74":1}}],["head",{"2":{"72":1}}],["head>",{"2":{"44":2}}],["help",{"0":{"71":1},"2":{"64":2}}],["helm",{"2":{"6":2,"23":2,"24":2,"41":2,"49":2,"51":1}}],["height=",{"2":{"35":1,"43":1}}],["height",{"0":{"42":1,"43":1},"1":{"43":1},"2":{"35":1,"43":2}}],["height>",{"2":{"14":1,"43":2,"53":1}}],["here",{"2":{"6":1,"10":1,"12":2,"22":1,"23":1,"24":1,"37":2,"41":1,"46":1,"49":1,"53":1,"69":2,"70":1,"72":2,"73":2,"74":3,"75":2,"76":2,"77":3,"78":3,"79":3,"80":3,"81":2}}],["phase",{"2":{"77":2}}],["permission",{"2":{"76":1}}],["permissionless",{"2":{"69":1,"76":1}}],["passed",{"2":{"80":2}}],["pass",{"2":{"79":1}}],["participates",{"2":{"78":1}}],["parties",{"2":{"77":1}}],["part",{"2":{"73":1}}],["parsing",{"2":{"63":1}}],["page",{"2":{"44":1,"61":1,"65":1}}],["packages",{"2":{"36":1}}],["path",{"2":{"27":1,"28":1,"61":1}}],["pulled",{"2":{"34":1,"63":1,"79":1,"81":1}}],["public",{"2":{"15":1,"19":1,"54":1}}],["place",{"2":{"62":1}}],["platform",{"2":{"27":1,"61":1}}],["please",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"46":1,"49":1,"71":1}}],["pwqmz",{"2":{"18":1,"57":1}}],["pick",{"2":{"14":1}}],["polls",{"2":{"80":1}}],["point",{"2":{"77":1}}],["pointing",{"2":{"12":1}}],["potential",{"2":{"77":1}}],["possibilities",{"2":{"73":1}}],["possible",{"2":{"60":1}}],["powered",{"2":{"66":1}}],["port",{"2":{"11":1,"44":1}}],["populated",{"2":{"11":1}}],["pods",{"2":{"18":2,"57":2}}],["pod",{"2":{"8":1}}],["previous",{"2":{"74":1}}],["pre",{"2":{"74":1}}],["principle",{"2":{"74":1}}],["prints",{"2":{"64":1}}],["priv",{"2":{"13":1,"15":2,"17":2,"20":1,"52":1,"54":2,"56":2,"59":1}}],["private",{"2":{"3":2,"13":5,"15":2,"17":2,"20":1,"35":3,"52":5,"54":2,"56":2,"59":1}}],["production",{"2":{"78":1}}],["profit",{"2":{"77":2}}],["proposer",{"2":{"77":3}}],["property",{"2":{"1":1}}],["progress",{"2":{"77":1}}],["programming",{"2":{"74":1}}],["protos",{"2":{"76":1}}],["process",{"2":{"76":1}}],["providing",{"2":{"72":1}}],["provide",{"2":{"72":1,"73":1,"74":1}}],["provided",{"2":{"65":1}}],["provides",{"2":{"60":1,"66":1,"69":1,"74":2}}],["provider",{"2":{"10":1}}],[">",{"2":{"6":8,"7":1,"22":7,"23":7,"24":7,"41":7,"49":7}}],["184",{"2":{"44":2}}],["187",{"2":{"7":1,"38":1,"50":1}}],["118",{"2":{"44":2}}],["11",{"2":{"39":1}}],["111",{"2":{"7":1,"38":2,"50":1}}],["130",{"2":{"38":1}}],["12",{"2":{"62":1}}],["120",{"2":{"38":1}}],["127",{"2":{"35":1}}],["123456",{"2":{"14":1}}],["16",{"2":{"38":1}}],["167",{"2":{"38":1}}],["160",{"2":{"38":1}}],["1622",{"2":{"15":2,"54":2}}],["161",{"2":{"11":1}}],["1>",{"2":{"13":2,"52":2}}],["1vcpu",{"2":{"8":2}}],["106",{"2":{"11":1}}],["10",{"2":{"11":2}}],["102",{"2":{"7":1,"38":1,"50":1}}],["100000000000000000000",{"2":{"13":1,"52":1}}],["10000000000000000000",{"2":{"3":1,"20":1,"59":1}}],["1",{"2":{"6":8,"18":4,"22":8,"23":8,"24":8,"35":1,"39":3,"41":8,"49":8,"57":4,"63":1}}],["ve",{"2":{"63":1,"70":1}}],["verification",{"2":{"80":1}}],["verify",{"0":{"11":1},"2":{"14":1,"16":1,"53":1,"55":1}}],["versions",{"0":{"39":1},"2":{"39":1}}],["version",{"2":{"27":3,"28":2,"61":2,"62":1,"63":1,"64":2}}],["vs",{"2":{"63":1}}],["vz4ks",{"2":{"18":1,"57":1}}],["vision",{"2":{"69":1}}],["vitepress",{"2":{"65":1,"66":1}}],["viable",{"2":{"62":1}}],["view",{"2":{"16":1,"53":1,"55":1}}],["virtual",{"2":{"12":1}}],["validated",{"2":{"79":1}}],["validator",{"2":{"77":1,"78":1}}],["values",{"2":{"14":1,"53":1}}],["value",{"2":{"1":1,"3":1,"13":1,"20":1,"35":1,"36":1,"43":1,"52":1,"59":1}}],["variable",{"2":{"43":1}}],["variables",{"2":{"14":1,"15":1,"35":1,"53":1,"54":1}}],["var",{"2":{"14":2,"53":2}}],["vars",{"2":{"14":2,"53":2}}],["v1",{"2":{"10":1}}],["v0",{"2":{"6":8,"22":8,"23":8,"24":8,"27":2,"39":6,"41":8,"49":8,"61":2,"62":4}}],["grpc",{"2":{"76":1}}],["gain",{"2":{"76":1}}],["giving",{"2":{"74":1}}],["given",{"2":{"74":1,"78":1,"80":1}}],["git",{"2":{"28":2,"29":3,"36":3,"48":1,"62":2}}],["git=https",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["githubusercontent",{"2":{"10":1}}],["github",{"0":{"61":1},"2":{"6":8,"22":8,"23":8,"24":8,"27":1,"28":2,"29":2,"36":1,"41":8,"48":1,"49":8,"61":1,"62":1,"63":1}}],["guarantees",{"2":{"73":1}}],["guide",{"2":{"4":1,"8":2,"25":1,"46":2,"47":1,"70":1}}],["goal",{"2":{"77":1}}],["governance",{"2":{"76":1}}],["gossiped",{"2":{"74":1}}],["gone",{"2":{"70":1}}],["gopls",{"2":{"63":2}}],["going",{"2":{"36":1}}],["go",{"2":{"27":6,"28":7,"29":5,"31":1,"32":2,"34":1,"35":4,"36":1,"60":1,"61":5,"62":3,"63":2,"70":1,"76":1}}],["google",{"2":{"12":2}}],["g",{"2":{"27":1,"61":1,"63":1}}],["generating",{"2":{"77":2}}],["generated",{"2":{"74":1}}],["generate",{"2":{"36":1,"64":1,"74":1}}],["genesisaccounts",{"2":{"14":1,"53":1}}],["genesis",{"0":{"13":1,"52":1},"2":{"13":10,"14":1,"34":1,"52":10,"53":1}}],["gensis",{"2":{"34":1}}],["getting",{"2":{"24":1,"41":1,"49":1}}],["getfoundry",{"2":{"24":1,"41":1,"49":1}}],["geth",{"0":{"29":1,"31":1,"34":1},"2":{"18":1,"31":1,"34":3,"35":1,"36":1,"39":1,"57":1,"76":1}}],["get",{"2":{"11":1,"18":1,"24":1,"35":1,"41":1,"43":1,"44":1,"45":1,"49":1,"57":1,"64":2,"70":1,"74":1}}],["gt",{"2":{"8":2,"13":2,"14":5,"16":1,"19":6,"52":2,"53":3,"55":2,"58":3}}],["gnu",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["gz",{"2":{"6":18,"22":18,"23":18,"24":18,"27":3,"41":18,"49":18,"61":3}}],["kind",{"2":{"24":2,"41":2,"49":2}}],["k5xp8",{"2":{"18":1,"57":1}}],["k8s",{"2":{"8":1,"9":1,"10":1,"24":1,"41":1,"49":1,"51":1}}],["kubectl",{"0":{"9":1},"2":{"6":1,"9":1,"23":1,"24":1,"41":1,"49":1}}],["kubernetes",{"2":{"4":1,"6":1,"8":1,"10":2,"18":1,"23":1,"24":1,"41":1,"44":1,"45":1,"46":2,"49":1,"51":1,"57":1,"70":1}}],["key=5562",{"2":{"15":1,"54":1}}],["key=",{"2":{"13":1,"35":1,"52":1}}],["keypair",{"2":{"13":1,"52":1}}],["key>",{"2":{"3":1,"13":2,"15":1,"35":1,"52":2,"54":1}}],["key",{"2":{"3":1,"13":3,"15":3,"17":4,"20":2,"35":1,"52":3,"54":3,"56":4,"59":2}}],["wrapping",{"2":{"79":1}}],["write",{"2":{"76":1}}],["written",{"2":{"72":1,"81":1}}],["would",{"2":{"46":1,"77":2}}],["working",{"2":{"44":1,"77":1}}],["worked",{"2":{"36":1}}],["ws",{"2":{"35":1}}],["wss",{"2":{"14":1,"53":1}}],["w",{"2":{"13":1,"18":1,"52":1,"57":1}}],["why",{"0":{"72":1}}],["while",{"2":{"69":1,"71":1,"77":2}}],["which",{"2":{"4":1,"13":1,"46":1,"52":1,"70":2,"72":1}}],["when",{"2":{"43":2,"80":1,"81":1}}],["where",{"2":{"12":1,"51":1,"69":1,"81":1}}],["what",{"0":{"70":1,"71":1},"2":{"36":1,"71":1}}],["well",{"2":{"77":1,"80":1}}],["website",{"2":{"81":1}}],["websocket",{"2":{"14":2,"53":2}}],["web3",{"2":{"36":2}}],["weight",{"2":{"74":1}}],["wei",{"2":{"13":1,"52":1}}],["we",{"2":{"10":1,"13":1,"51":2,"52":1,"69":1,"77":1}}],["windows",{"2":{"36":1,"47":1}}],["window",{"2":{"31":1,"36":1}}],["wildcard",{"2":{"12":1}}],["will",{"2":{"4":1,"8":2,"10":1,"12":1,"13":2,"14":1,"19":1,"21":1,"25":1,"34":1,"35":1,"46":1,"51":1,"52":2,"53":1,"58":1,"62":1,"63":1,"70":1,"77":5,"81":1}}],["withing",{"2":{"80":1}}],["within",{"2":{"78":1}}],["without",{"2":{"72":1,"74":1,"76":1}}],["with",{"0":{"9":1,"11":1,"20":1,"35":1,"59":1},"2":{"8":1,"11":1,"13":2,"14":1,"18":1,"19":1,"25":1,"43":1,"44":1,"45":1,"51":1,"52":2,"53":1,"57":1,"58":1,"60":1,"62":2,"66":1,"72":2,"74":1,"77":2}}],["wait",{"2":{"74":1}}],["waiting",{"2":{"74":1}}],["want",{"2":{"70":1}}],["watch",{"0":{"18":1,"57":1},"2":{"18":1,"57":1}}],["was",{"2":{"11":1}}],["warning",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1,"67":6}}],["walk",{"2":{"4":1,"25":1,"46":1,"70":1}}],["www",{"2":{"1":1}}],["x",{"2":{"39":1}}],["xzvf",{"2":{"27":1,"61":1}}],["x86",{"2":{"6":4,"22":4,"23":4,"24":4,"41":4,"49":4,"61":1}}],["xvzf",{"2":{"6":6,"22":6,"23":6,"24":6,"41":6,"49":6}}],["x3c",{"2":{"3":2,"11":1,"13":9,"14":11,"15":2,"18":4,"20":1,"34":2,"35":4,"36":1,"43":2,"44":16,"52":9,"53":9,"54":2,"57":4,"59":1,"63":1}}],["xyz",{"2":{"1":1}}],["ultimate",{"2":{"81":1}}],["ultimately",{"2":{"79":1}}],["utilizing",{"2":{"78":1}}],["utility",{"2":{"19":1,"58":1}}],["ux",{"2":{"72":1,"79":1}}],["unlocks",{"2":{"73":1}}],["unacceptable",{"2":{"72":1}}],["universally",{"2":{"72":1}}],["unique",{"2":{"69":1,"78":1}}],["unknown",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["up",{"2":{"35":1,"51":1,"81":1}}],["updates",{"2":{"80":1}}],["update",{"2":{"34":2,"35":1,"36":1,"63":1,"80":1}}],["u64",{"2":{"14":1,"53":1}}],["us",{"2":{"71":1}}],["users",{"2":{"73":1,"74":2,"78":1}}],["user",{"2":{"24":1,"41":1,"49":1,"72":1}}],["usetty",{"2":{"14":1,"53":1}}],["used",{"2":{"13":1,"35":1,"36":1,"52":1,"79":2}}],["use",{"2":{"10":1,"13":2,"14":1,"17":1,"20":1,"31":1,"34":1,"35":2,"43":1,"44":1,"51":1,"52":2,"53":1,"56":1,"59":1,"69":1,"74":1,"77":1}}],["uses",{"2":{"4":1,"12":1,"46":1,"70":1,"81":1}}],["usr",{"2":{"6":6,"22":6,"23":6,"24":6,"27":1,"28":1,"41":6,"49":6,"61":1}}],["using",{"0":{"3":1,"27":1},"2":{"8":1,"13":2,"19":1,"25":1,"35":1,"37":1,"52":2,"63":1,"69":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":2,"81":1}}],["url=http",{"2":{"20":1,"59":1}}],["url=https",{"2":{"3":1}}],["urls",{"2":{"14":1,"53":1}}],["url",{"2":{"1":1,"3":1,"19":1,"58":1}}],["breaks",{"2":{"74":1}}],["branch",{"2":{"48":1}}],["b",{"2":{"73":1}}],["bundles",{"2":{"77":2}}],["bundle",{"2":{"73":1}}],["built",{"2":{"63":1,"65":1}}],["builder",{"2":{"77":8}}],["buildflags",{"2":{"63":1}}],["build",{"0":{"28":1,"29":1,"62":1},"2":{"28":1,"29":1,"62":1,"63":2}}],["but",{"2":{"47":1,"63":1,"80":1}}],["bug",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["body>",{"2":{"44":2}}],["both",{"2":{"25":1,"36":1,"61":1,"76":1,"79":1}}],["book",{"2":{"24":1,"41":1,"49":1}}],["box",{"2":{"16":1,"55":1,"67":2,"69":1}}],["by",{"2":{"13":1,"44":1,"52":1,"65":1,"66":1,"72":1,"73":1,"74":1,"77":1,"80":1,"81":1}}],["better",{"2":{"72":1}}],["benefits",{"2":{"72":1}}],["believe",{"2":{"69":1}}],["below",{"2":{"2":1,"14":1,"43":1,"53":1}}],["before",{"2":{"51":1,"79":1}}],["been",{"2":{"47":1,"53":1,"81":1}}],["because",{"2":{"12":1,"73":1,"79":1}}],["being",{"2":{"11":1,"76":1}}],["be",{"2":{"10":1,"11":1,"12":2,"13":3,"14":3,"19":1,"28":1,"36":1,"52":3,"53":2,"58":1,"69":1,"73":1,"74":2,"79":1,"80":1,"81":1}}],["binaries",{"2":{"61":2,"62":1,"64":2}}],["binary",{"2":{"27":4,"28":1,"61":4}}],["bin",{"2":{"6":6,"22":6,"23":6,"24":6,"27":1,"28":2,"41":6,"49":6,"61":1}}],["back",{"2":{"78":1}}],["batches",{"2":{"78":1}}],["batching",{"2":{"72":1}}],["bargain",{"2":{"72":1}}],["base",{"2":{"72":1,"74":4}}],["based",{"2":{"12":1}}],["bashjust",{"2":{"31":1,"34":1}}],["bashgit",{"2":{"28":1,"29":1,"48":1,"62":1}}],["bashglobal",{"2":{"14":1,"53":1}}],["bash",{"2":{"27":1,"31":1,"34":1,"43":1,"44":1,"61":1,"63":1}}],["bashastria",{"2":{"15":1,"16":1,"17":1,"32":1,"35":3,"43":1,"54":1,"55":1,"56":1}}],["bashsuccessfully",{"2":{"13":1,"52":1}}],["bashname",{"2":{"11":1,"18":1,"44":1,"57":1}}],["bashkubectl",{"2":{"10":1,"11":1,"18":1,"44":1,"45":1,"57":1}}],["bashcreate",{"2":{"15":1,"54":1}}],["bashcat",{"2":{"14":1,"53":1}}],["bashcargo",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["bashcast",{"2":{"3":3,"13":1,"20":4,"52":1,"59":4}}],["bashcurl",{"2":{"6":3,"22":3,"23":3,"24":3,"41":3,"49":3}}],["bashexport",{"2":{"3":2,"13":3,"14":2,"15":1,"20":2,"43":1,"52":3,"53":2,"54":1,"59":2}}],["balance>",{"2":{"13":1,"14":1,"52":1,"53":1}}],["balancer",{"2":{"11":1}}],["balancers",{"2":{"11":1}}],["balance",{"2":{"3":2,"13":4,"14":1,"16":1,"20":2,"52":4,"53":1,"55":1,"59":2,"64":2}}],["blocks",{"2":{"74":2,"76":1,"78":1,"79":4,"80":6}}],["blockscout",{"2":{"18":1,"19":1,"57":1,"58":1}}],["blockchains",{"2":{"74":1}}],["blockchain",{"2":{"72":1,"78":1}}],["blockheight",{"2":{"35":1,"43":1}}],["block",{"0":{"42":1,"43":1},"1":{"43":1},"2":{"1":1,"13":1,"14":1,"19":1,"20":1,"35":2,"38":1,"43":5,"52":1,"53":1,"58":1,"59":1,"67":2,"69":1,"72":1,"73":2,"74":2,"77":2,"79":1,"80":2}}],["tracking",{"2":{"80":1}}],["transfers",{"2":{"78":1}}],["transaction",{"0":{"75":1},"2":{"72":1,"73":4,"74":1,"75":1,"76":1,"77":2,"81":1}}],["transactions",{"0":{"36":1},"2":{"15":1,"36":3,"54":1,"72":3,"73":1,"74":3,"77":3,"78":5,"80":2}}],["truth",{"2":{"79":1}}],["trusted",{"2":{"72":1}}],["twitter",{"2":{"71":1}}],["two",{"2":{"35":1}}],["times",{"2":{"79":1}}],["title>",{"2":{"44":1}}],["title>404",{"2":{"44":1}}],["tip",{"2":{"8":1,"12":1,"37":1,"46":1,"51":1,"67":4,"69":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["t",{"2":{"35":1,"71":1}}],["termed",{"2":{"74":1}}],["terminal",{"2":{"31":1,"36":1}}],["testing",{"2":{"62":1}}],["tested",{"2":{"47":1}}],["test",{"0":{"36":1},"2":{"36":2}}],["text",{"2":{"16":1,"55":1}}],["tuples",{"2":{"13":1,"52":1}}],["tcp",{"2":{"11":3,"44":3}}],["type",{"2":{"11":1,"14":1,"44":1,"53":1}}],["tackles",{"2":{"72":1}}],["tailored",{"2":{"69":1}}],["talk",{"2":{"35":1}}],["tags=darwin",{"2":{"63":1}}],["tags",{"2":{"14":2,"53":2,"63":2}}],["tag=cli",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["takes",{"2":{"76":1}}],["take",{"2":{"11":1,"79":1}}],["tasks",{"2":{"6":1,"23":1,"24":1,"41":1,"49":1}}],["tar",{"2":{"6":24,"22":24,"23":24,"24":24,"27":4,"41":24,"49":24,"61":4}}],["third",{"2":{"77":1}}],["this",{"2":{"4":1,"8":1,"10":1,"11":1,"13":1,"14":2,"21":1,"25":1,"28":1,"35":1,"36":1,"43":1,"44":1,"46":1,"47":1,"51":1,"52":1,"53":2,"62":1,"63":1,"65":1,"67":10,"69":2,"71":1,"73":1,"74":7,"76":1,"78":1,"80":1}}],["thousands",{"2":{"69":1}}],["those",{"2":{"8":1,"79":1}}],["than",{"2":{"14":1,"79":1}}],["that",{"2":{"8":1,"11":1,"35":1,"44":1,"51":1,"53":1,"62":1,"69":2,"73":2,"74":4,"76":1,"77":2,"78":3,"80":5,"81":1}}],["through",{"2":{"4":1,"25":1,"36":1,"46":1,"70":2,"75":1,"76":1,"77":1}}],["theory",{"2":{"74":1}}],["they",{"2":{"74":2}}],["them",{"2":{"62":1,"72":1,"74":2,"77":2,"79":2}}],["these",{"2":{"62":1,"69":1,"72":2,"78":1,"80":1}}],["then",{"2":{"34":1,"35":2,"36":1,"74":1}}],["their",{"2":{"14":1,"53":1,"62":1,"74":3,"76":1,"77":1}}],["there",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1,"61":1,"77":1}}],["the",{"0":{"6":1,"17":1,"22":1,"23":1,"24":1,"26":1,"32":1,"35":2,"40":1,"41":1,"48":1,"49":1,"56":1,"60":1,"62":1,"78":1},"1":{"27":1,"28":1,"41":1,"61":1,"62":1,"63":1,"64":1},"2":{"2":1,"4":1,"6":3,"7":2,"8":4,"10":1,"11":2,"12":1,"13":6,"14":12,"15":1,"16":3,"17":2,"18":2,"19":1,"21":2,"22":3,"23":3,"24":3,"25":2,"27":4,"28":3,"31":1,"34":4,"35":13,"36":9,"37":4,"38":2,"39":2,"41":3,"43":5,"44":5,"45":1,"46":2,"49":3,"50":2,"51":2,"52":6,"53":11,"54":1,"55":3,"56":2,"57":2,"58":1,"60":3,"61":6,"62":4,"63":5,"64":9,"65":1,"68":2,"69":6,"70":4,"71":1,"72":6,"73":6,"74":15,"75":6,"76":8,"77":20,"78":17,"79":19,"80":30,"81":10}}],["tokens",{"2":{"78":1}}],["total",{"2":{"76":1}}],["together",{"2":{"74":1}}],["today",{"2":{"72":1}}],["tool",{"2":{"60":1}}],["tools",{"2":{"6":2,"22":1,"23":2,"24":3,"41":3,"49":3}}],["to",{"0":{"2":1,"35":1},"2":{"2":1,"6":1,"8":2,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":4,"17":1,"18":1,"22":1,"23":1,"24":1,"27":1,"28":2,"31":1,"34":3,"35":3,"37":2,"41":1,"43":2,"46":1,"49":1,"51":1,"52":1,"53":1,"54":1,"55":4,"56":1,"57":1,"60":2,"61":1,"62":1,"63":3,"69":6,"70":4,"71":1,"72":4,"73":4,"74":13,"75":2,"76":7,"77":11,"78":4,"79":9,"80":13,"81":3}}],["level",{"2":{"74":1}}],["learn",{"2":{"70":1}}],["lt",{"2":{"13":2,"14":4,"16":1,"19":6,"52":2,"53":3,"55":2,"58":3}}],["language",{"2":{"74":1}}],["lazy",{"2":{"74":2,"76":1,"78":1}}],["layers",{"2":{"76":1}}],["layer",{"0":{"81":1},"2":{"72":1,"74":4,"79":3,"81":1}}],["labelprefix",{"2":{"14":1,"53":1}}],["larger",{"2":{"13":1,"52":1}}],["latest",{"0":{"6":1,"22":1,"23":1,"24":1,"40":1,"41":1,"49":1},"1":{"41":1},"2":{"6":1,"22":1,"23":1,"24":1,"39":1,"41":1,"49":1,"63":1}}],["ll",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["l",{"2":{"6":6,"22":6,"23":6,"24":6,"27":1,"41":6,"49":6,"61":1}}],["list",{"2":{"68":1}}],["line",{"2":{"66":1}}],["linux",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"47":1,"49":2,"61":1,"63":1}}],["linuxfrom",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["light",{"2":{"18":1,"57":1,"74":1}}],["liveness",{"2":{"72":1}}],["live",{"2":{"13":1,"52":1}}],["like",{"2":{"2":1,"11":1,"27":1,"28":1,"46":1,"61":1,"66":1}}],["logic",{"2":{"80":1}}],["loglevel",{"2":{"14":1,"53":1}}],["lowercase",{"2":{"53":1}}],["load",{"2":{"11":2}}],["loadbalancer",{"0":{"11":1,"44":1},"2":{"10":1,"11":2,"44":3}}],["location",{"2":{"27":1,"28":1,"61":1}}],["localdev",{"2":{"53":1,"58":3,"59":1}}],["locally",{"0":{"62":1},"2":{"25":1,"58":1}}],["local",{"0":{"5":1,"30":2,"32":1,"33":1,"35":1,"47":1,"51":1},"1":{"6":1,"31":2,"32":2,"34":1,"48":1,"49":1},"2":{"6":6,"22":6,"23":6,"24":6,"25":1,"27":1,"28":1,"29":1,"32":1,"34":1,"35":1,"36":1,"37":1,"41":6,"46":1,"49":6,"51":3,"60":1,"61":1,"62":1,"64":4,"69":1,"70":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["locked",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2,"76":1}}],["looking",{"2":{"71":1}}],["look",{"2":{"2":1}}],["middleware",{"2":{"72":1}}],["minimal",{"2":{"64":1}}],["minimum",{"2":{"8":1,"62":1}}],["minutes",{"2":{"11":1}}],["md",{"2":{"67":1}}],["md```js",{"2":{"66":1}}],["msg",{"2":{"66":2}}],["modular",{"2":{"74":1}}],["monolithic",{"2":{"74":1}}],["moves",{"2":{"77":1}}],["move",{"2":{"27":1,"28":1,"61":1,"70":1}}],["mocha",{"2":{"18":1,"57":1}}],["more",{"0":{"68":1,"71":1},"2":{"6":1,"12":1,"14":1,"22":1,"23":1,"24":1,"41":1,"49":1,"70":1,"76":1,"81":1}}],["much",{"2":{"79":1}}],["multiple",{"2":{"13":1,"52":1,"72":1,"73":1}}],["must",{"2":{"12":1,"14":2,"53":2}}],["message",{"2":{"80":1}}],["mentioned",{"2":{"80":1}}],["meaning",{"2":{"78":1}}],["means",{"2":{"76":1}}],["mempool",{"2":{"77":1}}],["mev",{"2":{"77":2}}],["me",{"2":{"53":1,"58":3,"59":1}}],["meet",{"2":{"8":1,"69":1}}],["metamask",{"0":{"2":1},"2":{"2":1}}],["mv",{"2":{"6":6,"22":6,"23":6,"24":6,"27":1,"28":1,"41":6,"49":6,"61":1}}],["marked",{"2":{"80":1}}],["markdown",{"0":{"65":1},"1":{"66":1,"67":1,"68":1},"2":{"65":1,"68":1}}],["make",{"2":{"51":1,"60":1}}],["making",{"2":{"44":1}}],["many",{"2":{"69":1}}],["man",{"2":{"24":1,"41":1,"49":1}}],["manifest",{"2":{"14":1,"53":1}}],["manage",{"2":{"12":1}}],["manually",{"0":{"42":1},"1":{"43":1},"2":{"2":1,"43":2}}],["may",{"2":{"11":1,"63":1}}],["machine",{"2":{"37":1,"69":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["macos",{"2":{"6":1,"22":1,"23":1,"24":1,"27":1,"41":1,"47":1,"49":1,"61":2}}],["macx86",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["flow",{"0":{"75":1},"2":{"75":1}}],["flourish",{"2":{"69":1}}],["flag",{"2":{"43":1}}],["free",{"2":{"60":1}}],["from",{"0":{"28":1,"61":1},"2":{"35":1,"44":1,"61":1,"72":1,"74":4,"76":1,"77":1,"78":1,"79":2,"80":3,"81":1}}],["fear",{"2":{"76":1}}],["feature",{"2":{"74":1,"78":1}}],["features",{"2":{"66":1}}],["fetched",{"2":{"43":1}}],["fetch",{"0":{"42":1},"1":{"43":1}}],["few",{"2":{"11":1}}],["f613",{"2":{"15":1,"54":1}}],["facilitate",{"2":{"78":1}}],["faustian",{"2":{"72":1}}],["faucet",{"2":{"1":2,"7":2,"13":2,"16":2,"17":2,"18":1,"19":2,"20":1,"35":1,"38":4,"50":2,"52":2,"55":2,"56":2,"57":1,"58":2,"59":1}}],["faster",{"2":{"79":1}}],["fast",{"2":{"69":1,"72":1,"74":2,"79":1}}],["faq",{"0":{"37":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1},"2":{"70":1}}],["false",{"2":{"14":1,"53":1}}],["fifo",{"2":{"77":1}}],["filtered",{"2":{"80":1}}],["filters",{"2":{"80":1}}],["filter",{"2":{"74":1}}],["files",{"2":{"62":1,"64":1}}],["file=$rollup",{"2":{"14":1,"53":1}}],["file",{"2":{"14":2,"17":1,"34":1,"35":1,"36":1,"53":2,"56":1}}],["firm",{"2":{"74":1,"79":1,"80":2}}],["finalized",{"2":{"80":1}}],["finalization",{"2":{"78":1}}],["finality",{"2":{"74":1,"79":2}}],["final",{"2":{"74":1,"81":1}}],["find",{"2":{"35":1,"70":1,"71":1}}],["fit",{"2":{"74":1}}],["field",{"2":{"11":1}}],["fulfill",{"2":{"77":1}}],["full",{"2":{"4":1,"25":1,"46":1,"68":1,"70":1,"74":1,"75":1}}],["future",{"2":{"69":1,"76":1}}],["function",{"2":{"77":1}}],["functionality",{"2":{"60":1,"64":1}}],["funds",{"2":{"16":2,"55":2}}],["fund",{"0":{"16":1,"55":1},"2":{"35":1}}],["funded",{"2":{"13":2,"52":2}}],["f",{"2":{"10":1}}],["foundry",{"2":{"24":1,"41":1,"49":1}}],["found",{"2":{"10":1,"12":1,"35":1,"44":2,"74":1}}],["forcing",{"2":{"77":1}}],["fork",{"2":{"74":1,"76":1}}],["forge",{"2":{"24":1,"36":2,"41":1,"49":1}}],["for",{"0":{"18":1,"57":1},"2":{"6":2,"7":1,"11":1,"12":1,"14":3,"15":1,"18":1,"21":1,"22":2,"23":2,"24":2,"27":1,"35":1,"36":1,"38":1,"41":2,"44":1,"45":1,"49":2,"50":1,"53":2,"54":1,"57":1,"61":4,"62":3,"63":4,"64":4,"68":1,"71":1,"72":2,"73":1,"74":2,"76":5,"77":1,"78":1,"79":4,"80":4,"81":1}}],["follows",{"2":{"14":1,"35":1,"53":1,"63":1,"75":1}}],["following",{"2":{"6":2,"22":2,"23":2,"24":2,"35":1,"38":1,"39":1,"41":2,"43":1,"49":2,"62":1,"76":1}}],["follow",{"2":{"2":1,"8":1}}],["availability",{"0":{"81":1},"2":{"81":1}}],["available",{"0":{"64":1},"2":{"61":2}}],["away",{"2":{"80":1}}],["auction",{"2":{"77":1}}],["automatically",{"2":{"19":1,"43":1,"58":1}}],["after",{"2":{"74":1}}],["abstracts",{"2":{"80":1}}],["abstractions",{"2":{"77":1}}],["abstraction",{"2":{"77":1}}],["able",{"2":{"73":1}}],["about",{"2":{"70":1,"80":1}}],["above>",{"2":{"35":1}}],["above",{"2":{"35":2,"36":1,"44":1,"78":2}}],["amd64",{"2":{"63":1}}],["api",{"2":{"80":1}}],["apis",{"2":{"62":1}}],["approach",{"2":{"77":1}}],["app",{"2":{"62":1}}],["applications",{"2":{"62":1,"69":1}}],["apply",{"2":{"10":1,"74":1}}],["apple",{"2":{"6":4,"22":4,"23":4,"24":4,"41":4,"49":4}}],["act",{"2":{"78":1,"79":1}}],["actively",{"2":{"78":1}}],["activities",{"2":{"21":1}}],["acting",{"2":{"77":1}}],["actors",{"2":{"77":1}}],["actor",{"2":{"72":1}}],["achieve",{"2":{"69":1}}],["access",{"2":{"76":1}}],["accessible",{"2":{"58":1}}],["accepts",{"2":{"72":1}}],["accounts=",{"2":{"13":2,"52":2}}],["accounts",{"2":{"13":2,"52":2}}],["account",{"0":{"13":1,"15":1,"16":1,"52":1,"54":1,"55":1},"2":{"13":1,"15":6,"16":5,"35":4,"52":1,"54":6,"55":5,"64":3}}],["against",{"0":{"33":1},"1":{"34":1},"2":{"25":1,"62":1,"74":1}}],["ago",{"2":{"18":2,"57":2}}],["age",{"2":{"11":1,"18":1,"44":1,"57":1}}],["alternatively",{"2":{"74":1}}],["almost",{"2":{"72":1}}],["along",{"2":{"62":1,"79":1,"80":1}}],["alongside",{"2":{"13":1,"52":1,"80":1}}],["already",{"2":{"53":1,"80":1}}],["allows",{"2":{"69":1,"73":1,"74":2}}],["allow",{"2":{"63":1}}],["allowing",{"2":{"62":1}}],["allowed",{"2":{"14":1,"53":1}}],["all",{"2":{"14":1,"21":1,"53":1,"64":1,"69":1,"74":2,"77":1,"81":2}}],["alphanumeric",{"2":{"14":1,"53":1}}],["also",{"2":{"6":1,"11":1,"22":1,"23":1,"24":1,"41":1,"49":1,"63":1,"73":1,"77":1,"79":2,"80":1}}],["a8fb",{"2":{"13":1,"52":1}}],["atomic",{"2":{"69":1,"73":2}}],["at",{"2":{"13":2,"52":2,"72":1,"74":2}}],["any",{"2":{"78":1,"80":1}}],["another",{"2":{"78":1}}],["antithetical",{"2":{"72":1}}],["answer",{"2":{"12":1}}],["an",{"0":{"12":1},"2":{"12":2,"13":1,"14":1,"15":1,"20":1,"43":2,"52":1,"53":2,"54":1,"59":1,"64":2,"67":2,"69":1,"72":2,"73":1,"74":1,"76":1,"77":3,"78":1,"79":1}}],["and",{"0":{"29":1,"30":1,"34":1,"35":1,"37":1,"61":1,"62":1},"1":{"31":1,"32":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1},"2":{"8":4,"10":1,"14":1,"15":1,"21":1,"24":1,"25":1,"27":1,"28":1,"29":1,"34":3,"35":3,"36":5,"41":1,"43":1,"47":1,"49":1,"53":1,"54":1,"60":2,"61":3,"62":2,"63":1,"64":2,"69":4,"70":1,"72":6,"73":1,"74":2,"76":4,"77":5,"78":4,"79":4,"80":7,"81":2}}],["advantage",{"2":{"76":1}}],["admission",{"2":{"11":1,"44":1}}],["additional",{"2":{"66":1,"74":1}}],["adding",{"0":{"2":1}}],["address=8a2f",{"2":{"15":1,"54":1}}],["address",{"2":{"7":1,"13":5,"14":1,"15":2,"16":2,"20":1,"35":1,"38":1,"50":1,"52":5,"53":1,"54":2,"55":2,"59":1}}],["address>",{"2":{"3":1,"13":2,"14":1,"15":1,"20":1,"52":2,"53":1,"54":1,"59":1}}],["addr",{"2":{"3":3,"20":3,"59":3}}],["addr=",{"2":{"3":1,"20":1,"59":1}}],["add",{"2":{"2":1,"63":4,"77":1}}],["ask",{"2":{"76":1}}],["as",{"2":{"13":1,"14":2,"15":1,"35":1,"36":1,"43":1,"52":1,"53":2,"54":1,"60":2,"63":1,"69":2,"73":2,"75":1,"76":1,"77":5,"78":2,"79":3,"80":5,"81":1}}],["assumes",{"2":{"8":1}}],["astriarollupname",{"2":{"34":1}}],["astriaorg",{"2":{"6":8,"22":8,"23":8,"24":8,"27":1,"28":1,"29":1,"36":1,"41":8,"48":1,"49":8,"61":1,"62":1}}],["astria",{"0":{"0":1,"32":1,"35":1,"40":1,"48":1,"60":1,"78":1},"1":{"1":1,"2":1,"3":1,"41":1,"61":1,"62":1,"63":1,"64":1},"2":{"1":4,"3":1,"4":1,"6":34,"7":2,"14":4,"15":1,"16":1,"17":1,"18":1,"21":1,"22":34,"23":34,"24":34,"25":2,"27":7,"28":4,"32":1,"35":8,"36":2,"37":2,"38":5,"41":34,"43":2,"45":1,"46":1,"49":34,"50":2,"51":1,"53":3,"54":1,"55":1,"56":1,"57":1,"60":2,"61":6,"62":8,"64":3,"69":4,"70":2,"71":1,"72":4,"73":4,"74":9,"75":3,"76":5,"77":5,"78":3,"79":2,"80":2,"81":2}}],["aarch64",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["arbitrage",{"2":{"73":1}}],["architecture",{"0":{"74":1},"2":{"74":1,"77":1}}],["architectures",{"2":{"61":1}}],["archive",{"2":{"3":1}}],["are",{"2":{"7":1,"38":1,"50":1,"61":2,"69":1,"72":1,"73":1,"74":3,"76":1,"77":1,"78":5,"79":4,"80":4}}],["arm64",{"2":{"27":1,"61":2,"63":1}}],["arm",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["a",{"0":{"8":1,"12":1,"30":2,"33":2,"54":1},"1":{"31":2,"32":2,"34":2},"2":{"2":1,"4":2,"6":1,"8":3,"10":1,"11":2,"12":4,"13":3,"14":1,"22":1,"23":1,"24":1,"25":1,"27":1,"28":1,"35":1,"36":1,"41":1,"43":1,"44":1,"46":4,"49":1,"51":2,"52":3,"60":1,"61":1,"62":2,"64":1,"67":8,"69":4,"70":3,"72":5,"73":4,"74":6,"76":3,"77":13,"78":4,"79":2,"80":2,"81":2}}],["ephemerally",{"2":{"80":1}}],["effectively",{"2":{"80":1}}],["either",{"2":{"74":1}}],["economic",{"2":{"74":1}}],["economically",{"2":{"69":1,"77":1}}],["ecosystem",{"2":{"74":1}}],["ec20",{"2":{"15":1,"54":1}}],["eager",{"2":{"70":1}}],["easy",{"2":{"69":1}}],["easily",{"2":{"60":1}}],["each",{"2":{"69":2}}],["editor",{"2":{"63":1}}],["e",{"2":{"27":1,"61":1,"63":1}}],["eg",{"2":{"14":2}}],["enable",{"2":{"79":1}}],["enabling",{"2":{"73":1}}],["engine",{"2":{"78":1}}],["end",{"2":{"74":1}}],["endpoints",{"0":{"7":1,"19":1,"38":1,"50":1,"58":1},"2":{"7":1,"19":1,"38":1,"50":1,"58":1,"70":1}}],["en",{"2":{"24":1,"41":1,"49":1}}],["enter",{"2":{"16":1,"55":1}}],["envisions",{"2":{"69":1}}],["environment",{"0":{"51":1},"2":{"14":1,"15":1,"35":1,"43":1,"51":1,"53":1,"54":1,"64":1}}],["env",{"2":{"14":2,"35":1,"36":3,"53":2}}],["evaluation",{"2":{"74":1}}],["every",{"2":{"77":1}}],["everything",{"2":{"36":1,"62":1,"71":1}}],["even",{"2":{"72":1}}],["eventually",{"2":{"11":1}}],["evm",{"0":{"0":1},"1":{"1":1,"2":1,"3":1},"2":{"1":3,"3":1,"13":1,"36":3,"38":6,"39":1,"52":1,"76":1}}],["excludes",{"2":{"78":1}}],["exciting",{"2":{"73":1}}],["executed",{"2":{"78":2,"80":1}}],["execution",{"2":{"76":1,"78":1,"79":1,"80":5}}],["executing",{"2":{"72":1}}],["executor",{"2":{"19":1,"20":1,"58":1,"59":1}}],["exist",{"2":{"35":1}}],["extensions",{"2":{"65":1,"68":1}}],["extension",{"0":{"65":1},"1":{"66":1,"67":1,"68":1}}],["external",{"0":{"11":1},"2":{"11":2,"12":1,"44":2}}],["extract",{"2":{"27":1,"61":1}}],["expose",{"2":{"76":1}}],["export",{"2":{"13":2,"14":3,"15":2,"52":2,"53":2,"54":2,"66":1}}],["explicit",{"2":{"77":1}}],["explained",{"2":{"76":1}}],["explorer",{"2":{"1":1,"19":1,"38":2,"58":1}}],["experience",{"2":{"72":1}}],["examples",{"0":{"65":1},"1":{"66":1,"67":1,"68":1},"2":{"77":1}}],["example",{"2":{"12":1,"36":1,"77":1}}],["etherium",{"2":{"29":1,"31":1,"34":1}}],["ethereum",{"2":{"29":1}}],["eth",{"2":{"3":2,"20":1,"59":1}}],["swap",{"2":{"74":1,"76":1}}],["smart",{"2":{"69":1}}],["spun",{"2":{"81":1}}],["speed",{"2":{"74":1}}],["specific",{"2":{"74":1,"76":1}}],["specified",{"2":{"43":1}}],["specify",{"2":{"13":2,"52":2,"73":1}}],["spf13",{"2":{"63":1}}],["script",{"2":{"36":1}}],["scout",{"2":{"1":1}}],["safe",{"2":{"80":1}}],["satisfy",{"2":{"76":1}}],["sacrificing",{"2":{"72":1}}],["save",{"2":{"36":1}}],["same",{"2":{"35":1,"36":1,"73":1,"80":1}}],["side",{"2":{"80":1}}],["similarly",{"2":{"77":1}}],["simply",{"2":{"76":1,"77":2}}],["simple",{"2":{"60":1,"69":1}}],["single",{"2":{"69":1,"72":3}}],["silicon",{"2":{"27":1,"61":1}}],["sigs",{"2":{"24":1,"41":1,"49":1}}],["syntax",{"0":{"66":1},"2":{"66":1}}],["system",{"2":{"28":1}}],["systems",{"2":{"24":1,"41":1,"49":1}}],["symbol",{"2":{"1":1}}],["supply",{"2":{"77":2}}],["support",{"2":{"12":1}}],["subset",{"2":{"74":1}}],["submission",{"2":{"79":1}}],["submissions",{"2":{"76":1}}],["submitted",{"2":{"77":1}}],["submits",{"2":{"77":2}}],["submit",{"2":{"15":1,"54":1,"77":1}}],["submodules",{"2":{"36":1}}],["such",{"2":{"73":2,"78":1}}],["sure",{"2":{"51":1}}],["store",{"2":{"80":2}}],["stubbing",{"2":{"77":1}}],["style",{"2":{"74":1}}],["still",{"2":{"74":1,"77":1}}],["strongest",{"2":{"74":1}}],["straight",{"2":{"70":1}}],["string",{"2":{"14":2,"53":1}}],["stack",{"2":{"25":1,"60":1,"62":1,"64":3,"75":1}}],["stateless",{"2":{"80":1}}],["state",{"2":{"74":3,"76":1}}],["status",{"2":{"18":1,"57":1}}],["static",{"2":{"10":1}}],["starting",{"2":{"77":1}}],["started",{"2":{"24":1,"41":1,"49":1,"70":1}}],["startup",{"0":{"18":1,"57":1}}],["start",{"0":{"31":1,"32":1,"34":1},"2":{"8":2,"18":1,"24":1,"31":1,"34":1,"41":1,"49":1,"57":1,"70":2}}],["svc",{"2":{"11":1,"44":1}}],["soft",{"2":{"74":1,"79":1,"80":2}}],["software",{"0":{"39":1},"2":{"39":1}}],["sovereignty",{"2":{"69":1,"76":1}}],["source",{"0":{"28":1},"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1,"79":1}}],["something",{"2":{"11":1,"34":1}}],["some",{"2":{"3":1,"20":1,"34":1,"59":1,"65":1,"80":1}}],["shiki",{"2":{"66":1}}],["shjust",{"2":{"51":1}}],["show",{"2":{"64":1}}],["shown",{"2":{"35":1,"78":2}}],["should",{"0":{"70":1},"2":{"2":1,"11":2,"35":1,"36":1,"44":1,"69":1,"70":1,"71":1}}],["shapes",{"2":{"80":1}}],["share",{"2":{"69":1}}],["shared",{"2":{"4":1,"7":1,"15":1,"46":1,"50":1,"54":1,"69":2,"70":1,"72":1,"76":2,"78":1}}],["shastria",{"2":{"14":1,"53":1}}],["sh",{"2":{"6":1,"23":1,"24":2,"41":2,"49":2}}],["sent",{"2":{"79":2}}],["sends",{"2":{"80":1}}],["sending",{"2":{"80":1}}],["send",{"2":{"3":1,"16":1,"20":1,"55":1,"59":1}}],["server",{"2":{"80":1}}],["serves",{"2":{"77":1}}],["service",{"2":{"8":1,"44":1}}],["separation",{"2":{"77":2}}],["searcher",{"2":{"77":3}}],["secure",{"2":{"69":1}}],["sections",{"2":{"76":1}}],["section",{"2":{"21":1,"70":1,"80":1}}],["sequencing",{"2":{"69":1,"76":2,"78":1}}],["sequencers",{"0":{"72":1},"2":{"69":3,"72":1}}],["sequencer",{"0":{"15":1,"16":1,"30":1,"32":1,"33":1,"35":1,"42":1,"43":1,"54":1,"55":1,"78":1},"1":{"31":1,"32":1,"34":1,"43":1},"2":{"4":1,"7":5,"14":4,"15":8,"16":4,"17":1,"25":1,"35":6,"38":4,"39":2,"43":6,"46":1,"50":5,"53":4,"54":8,"55":4,"56":1,"60":1,"62":1,"64":4,"69":1,"70":2,"72":4,"74":1,"76":1,"77":4,"78":7,"79":4,"80":3,"81":1}}],["select",{"2":{"53":1}}],["several",{"2":{"10":1,"19":1,"58":1,"62":1}}],["sees",{"2":{"80":1}}],["seen",{"2":{"12":1,"80":2}}],["see",{"2":{"6":1,"11":2,"22":1,"23":1,"24":1,"36":1,"41":1,"46":1,"49":1,"74":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["sets",{"2":{"51":1}}],["setting",{"2":{"35":1}}],["settings",{"2":{"2":1,"63":2}}],["setup",{"0":{"35":1,"51":1},"2":{"51":1}}],["set",{"2":{"3":1,"14":1,"43":3,"53":1,"72":1,"74":1,"78":1}}],["s",{"0":{"13":1,"52":1},"2":{"2":1,"8":2,"11":1,"44":1,"53":1,"62":1,"69":1,"72":2,"73":1,"74":3,"77":4,"79":2,"80":2}}],["optionally",{"2":{"78":1}}],["open",{"2":{"34":1,"35":1,"36":1,"63":1}}],["over",{"2":{"76":1,"77":1}}],["overview",{"0":{"21":1,"25":1,"46":1,"74":1},"1":{"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1},"2":{"70":1}}],["own",{"2":{"37":2,"69":2,"72":3,"73":2,"74":2,"75":2,"76":3,"77":3,"78":2,"79":2,"80":2,"81":2}}],["other",{"2":{"35":1,"62":1,"74":1,"77":1}}],["out",{"2":{"37":2,"68":1,"69":3,"70":1,"71":1,"72":2,"73":2,"74":5,"75":2,"76":3,"77":3,"78":2,"79":2,"80":3,"81":2}}],["output",{"2":{"27":1,"61":1,"66":1,"67":1}}],["our",{"2":{"12":1,"51":2,"70":2,"77":2}}],["order",{"2":{"74":1,"81":1}}],["ordering",{"2":{"73":1}}],["ordered",{"2":{"72":1,"78":2,"79":1,"81":1}}],["or",{"2":{"13":1,"28":1,"43":1,"52":1,"63":1,"71":1,"74":1,"76":1}}],["org",{"2":{"1":3,"3":1,"7":2,"14":3,"16":1,"38":5,"50":2,"53":2,"55":1}}],["of",{"2":{"8":2,"12":1,"13":3,"14":2,"18":1,"20":1,"34":1,"52":3,"53":2,"57":1,"59":1,"62":1,"63":1,"64":1,"65":1,"68":1,"69":4,"72":1,"73":1,"74":5,"76":3,"77":6,"78":6,"79":4,"80":3,"81":1}}],["official",{"2":{"2":1}}],["only",{"2":{"62":1,"73":2,"78":1,"80":1}}],["one",{"2":{"31":1,"69":1}}],["once",{"2":{"9":1,"34":1,"63":1,"70":1,"77":1,"81":1}}],["on",{"2":{"4":2,"12":1,"13":1,"15":1,"28":1,"37":3,"46":2,"47":1,"52":1,"54":1,"63":1,"64":1,"69":3,"70":3,"71":1,"72":6,"73":5,"74":3,"75":3,"76":3,"77":4,"78":5,"79":3,"80":5,"81":3}}],["ondora",{"2":{"1":1}}],["ocean",{"0":{"4":1},"1":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"2":{"4":1,"8":2,"10":1,"11":2,"37":1,"69":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["rule",{"2":{"74":1}}],["rustjust",{"2":{"36":1}}],["rust",{"2":{"36":1}}],["rustgit",{"2":{"36":1}}],["runs",{"2":{"39":1,"62":1,"64":1,"80":1}}],["running",{"2":{"18":4,"43":1,"51":1,"57":4,"70":1,"80":1}}],["run",{"0":{"30":1,"33":1,"35":1,"61":1,"62":1},"1":{"31":1,"32":1,"34":1},"2":{"10":1,"14":1,"27":1,"28":2,"31":1,"32":1,"34":1,"35":3,"36":1,"51":1,"53":1,"60":1,"61":1,"62":4,"64":1,"77":2}}],["rolllups",{"2":{"79":1}}],["rollups",{"0":{"76":1},"2":{"69":2,"72":3,"73":1,"74":7,"80":1}}],["rollups=",{"2":{"35":1}}],["rollup",{"0":{"13":1,"14":1,"17":1,"18":1,"19":1,"20":1,"30":1,"33":1,"52":1,"53":1,"56":1,"57":1,"58":1,"59":1,"73":1},"1":{"31":1,"32":1,"34":1},"2":{"4":1,"13":5,"14":15,"15":1,"17":2,"18":5,"19":4,"25":1,"31":1,"34":3,"35":3,"37":2,"43":3,"45":1,"46":2,"51":1,"52":5,"53":15,"54":1,"56":2,"57":5,"58":4,"60":1,"62":2,"69":5,"70":1,"72":2,"73":5,"74":3,"75":2,"76":8,"77":4,"78":4,"79":2,"80":9,"81":3}}],["roles",{"2":{"77":1}}],["role",{"2":{"77":2,"80":1}}],["root",{"2":{"64":1,"74":2}}],["routing",{"2":{"12":1}}],["raw",{"2":{"10":1}}],["ram",{"2":{"8":2}}],["regularly",{"2":{"80":1}}],["region",{"2":{"8":1}}],["reduce",{"2":{"72":1}}],["real",{"2":{"77":2}}],["reach",{"2":{"71":1}}],["read",{"0":{"70":1},"2":{"76":1,"80":1}}],["ready",{"2":{"18":1,"57":1}}],["retaining",{"2":{"69":1}}],["return",{"2":{"44":1,"66":2}}],["retrieve",{"2":{"43":1,"44":1,"74":2}}],["requiring",{"2":{"77":1}}],["required",{"2":{"62":1,"80":1}}],["requires",{"2":{"28":1,"29":1,"63":1}}],["requirements",{"2":{"8":1,"69":1}}],["requirement",{"2":{"8":1}}],["request",{"2":{"44":1}}],["relevant",{"2":{"80":2}}],["release",{"0":{"61":1},"2":{"6":3,"22":3,"23":3,"24":3,"41":3,"49":3}}],["releases",{"2":{"6":6,"22":6,"23":6,"24":6,"27":1,"41":6,"49":6,"61":2}}],["relying",{"2":{"72":1}}],["relayer",{"0":{"79":1},"2":{"39":1,"78":1,"79":3,"80":3}}],["replacing",{"2":{"69":1}}],["replace",{"2":{"14":2,"53":2}}],["repository",{"2":{"71":1}}],["repo",{"2":{"28":1,"34":1,"36":1,"51":1,"63":1,"74":1,"76":1}}],["responsibility",{"2":{"79":1}}],["resistant",{"2":{"69":1}}],["resistance",{"2":{"69":1,"72":1}}],["resource",{"2":{"45":1}}],["resources",{"2":{"10":1,"21":1}}],["resultant",{"2":{"74":1}}],["results",{"2":{"74":1}}],["result",{"2":{"44":1}}],["restart",{"2":{"31":2,"34":2}}],["restarts",{"2":{"18":1,"57":1}}],["reference",{"2":{"8":1,"77":1}}],["re",{"2":{"8":1,"70":1,"71":1,"74":1}}],["remote",{"0":{"33":1,"35":1},"1":{"34":1},"2":{"7":1,"25":1,"35":3,"38":1,"46":2,"50":1}}],["receives",{"2":{"77":2}}],["received",{"2":{"16":1,"55":1,"80":1}}],["receiving",{"2":{"76":1}}],["recurse",{"2":{"36":1}}],["recommend",{"2":{"13":1,"52":1}}],["record",{"0":{"12":1},"2":{"12":3}}],["rec",{"2":{"3":1,"20":1,"59":1}}],["ria",{"2":{"1":1}}],["rpc",{"2":{"1":2,"3":3,"7":2,"14":3,"19":1,"20":1,"38":4,"50":2,"53":3,"58":1,"59":1}}],["crypto",{"2":{"72":1}}],["cross",{"0":{"73":1},"2":{"69":1,"73":1}}],["creating",{"2":{"43":1}}],["creation",{"2":{"14":1,"53":1}}],["created",{"2":{"9":1,"11":2,"13":1,"35":1,"52":1,"74":1}}],["create",{"0":{"8":1,"12":1,"13":1,"14":1,"15":1,"52":1,"53":1,"54":1},"2":{"8":1,"10":1,"12":2,"13":1,"14":3,"15":2,"17":1,"35":1,"43":1,"51":1,"52":1,"53":3,"54":2,"56":1,"64":1,"77":1}}],["censorship",{"2":{"69":2,"72":1}}],["centralization",{"2":{"72":2}}],["centralized",{"2":{"69":1,"72":1}}],["center>nginx",{"2":{"44":1}}],["center>",{"2":{"44":3}}],["celestia",{"2":{"8":1,"14":1,"18":1,"53":1,"57":1,"80":2,"81":3}}],["cp",{"2":{"36":1}}],["cd",{"2":{"28":1,"29":1,"36":2,"62":1}}],["choose",{"2":{"74":1}}],["choosing",{"2":{"8":1,"34":1}}],["choice",{"2":{"20":1,"59":1,"74":1}}],["chosen",{"2":{"14":1}}],["charts",{"2":{"51":1}}],["characters",{"2":{"14":1}}],["chapter",{"2":{"24":1,"41":1,"49":1}}],["chainid",{"2":{"14":1,"34":1,"53":1}}],["chain",{"2":{"1":1,"14":1,"34":1,"35":1,"36":2,"53":2,"77":2,"78":1}}],["checkout",{"2":{"29":1,"36":1}}],["check",{"2":{"11":1,"27":1,"37":2,"44":1,"45":1,"61":1,"68":1,"69":2,"70":1,"71":1,"72":2,"73":2,"74":3,"75":2,"76":2,"77":2,"78":2,"79":2,"80":2,"81":2}}],["collections",{"2":{"79":1}}],["collects",{"2":{"79":1}}],["cost",{"2":{"72":1}}],["costs",{"2":{"72":1}}],["cobra",{"2":{"63":5}}],["code",{"2":{"63":2,"77":1,"78":1,"79":1,"80":1}}],["correct",{"2":{"63":1}}],["correctly",{"2":{"36":1,"62":1}}],["corresponding",{"2":{"14":1,"53":1}}],["considered",{"2":{"80":1,"81":1}}],["consensus",{"2":{"78":1}}],["console",{"2":{"11":1}}],["conditional",{"2":{"73":1}}],["conductor",{"0":{"80":1},"2":{"35":2,"36":1,"39":1,"62":1,"76":3,"77":1,"78":1,"79":2,"80":6}}],["contains",{"2":{"77":1}}],["containers",{"0":{"67":1}}],["contract",{"2":{"69":1}}],["controller",{"0":{"10":1},"2":{"10":2,"11":2,"12":1,"44":2,"51":1}}],["continuing",{"2":{"51":1}}],["confidence",{"2":{"74":1}}],["confirmations",{"2":{"69":1,"72":1,"74":2}}],["confirm",{"2":{"62":1}}],["config",{"0":{"14":1,"53":1},"2":{"14":7,"17":1,"34":1,"35":1,"43":2,"53":7,"56":1,"64":1}}],["configuring",{"2":{"36":1}}],["configuration",{"2":{"12":1,"14":2,"53":2,"62":1}}],["configured",{"2":{"19":2,"58":1}}],["configure",{"0":{"9":1},"2":{"8":1,"9":1,"12":1,"36":1,"62":1}}],["conf",{"2":{"14":3,"17":1,"53":3,"56":1}}],["combined",{"2":{"74":1}}],["come",{"2":{"72":1,"78":1}}],["cometbft",{"2":{"39":1,"62":1,"77":1,"78":1}}],["compressing",{"2":{"72":1}}],["completely",{"2":{"69":1}}],["compatible",{"2":{"51":1}}],["composability",{"0":{"73":1},"2":{"69":1}}],["composer",{"0":{"77":1},"2":{"35":2,"36":1,"39":1,"62":1,"76":3,"77":4,"78":1}}],["components",{"0":{"35":1},"2":{"35":1,"62":1,"74":3,"77":1,"78":2}}],["commit",{"2":{"80":2}}],["commits",{"2":{"78":1,"79":2}}],["commitments",{"2":{"80":1}}],["commitment",{"2":{"74":2,"80":1}}],["communicate",{"0":{"35":1}}],["community",{"0":{"21":1},"2":{"21":1}}],["command>",{"2":{"63":1}}],["command",{"2":{"14":1,"35":1,"43":1,"53":1,"63":1,"64":2}}],["commands",{"0":{"64":1},"2":{"14":1,"35":2,"53":1,"63":1}}],["comma",{"2":{"13":1,"52":1}}],["com",{"2":{"6":9,"8":1,"10":1,"11":1,"12":1,"22":9,"23":9,"24":10,"27":1,"28":2,"29":2,"36":1,"41":10,"48":1,"49":10,"61":1,"62":1,"63":1}}],["cases",{"2":{"69":1}}],["casey",{"2":{"28":1,"29":1}}],["cast",{"0":{"3":1},"2":{"24":1,"41":1,"49":1}}],["can",{"2":{"10":1,"11":1,"12":2,"13":2,"14":1,"18":1,"27":1,"28":1,"31":1,"34":1,"35":1,"43":2,"44":2,"45":1,"52":2,"53":2,"57":1,"61":1,"63":2,"70":2,"71":1,"73":1,"74":3,"76":1,"77":1,"78":1}}],["cargo",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["claimed",{"2":{"53":2}}],["clean",{"2":{"31":1,"34":1,"64":2}}],["clone",{"0":{"48":1},"2":{"28":1,"29":1,"36":2,"48":1,"62":1}}],["cloud",{"2":{"11":1,"70":1}}],["clients",{"2":{"74":1}}],["cli",{"0":{"26":1,"40":1,"60":1,"61":1,"62":1},"1":{"27":1,"28":1,"41":1,"61":1,"62":1,"63":1,"64":1},"2":{"6":32,"14":1,"15":1,"16":1,"17":2,"22":32,"23":32,"24":32,"25":1,"27":2,"28":3,"36":1,"41":32,"43":3,"49":32,"53":1,"54":1,"55":1,"56":2,"60":1,"61":3,"62":3,"63":5,"64":2}}],["clusterip",{"2":{"11":1,"44":1}}],["cluster",{"0":{"8":1},"2":{"4":1,"8":2,"9":1,"11":1,"14":1,"18":1,"38":1,"44":1,"45":1,"46":2,"48":1,"51":4,"53":1,"57":1,"70":1,"81":1}}],["currently",{"2":{"76":1,"77":2}}],["currency",{"2":{"1":1}}],["curl",{"0":{"27":1},"2":{"6":3,"22":3,"23":3,"24":3,"27":1,"41":3,"44":2,"49":3,"61":1}}],["custom",{"0":{"67":1},"2":{"2":1}}],["ie",{"2":{"78":2}}],["implements",{"2":{"80":1}}],["implementations",{"2":{"77":2}}],["implementation",{"2":{"76":1,"77":8}}],["improved",{"2":{"72":1,"79":1}}],["immediately",{"2":{"74":1,"79":1}}],["image",{"2":{"2":1}}],["i",{"0":{"70":1,"71":1}}],["ip",{"0":{"11":1},"2":{"11":3,"12":1,"44":3}}],["its",{"2":{"72":1,"77":2}}],["it",{"2":{"10":1,"11":1,"43":2,"60":1,"73":1,"74":2,"77":5,"78":3,"80":8,"81":1}}],["if",{"0":{"71":1},"2":{"8":1,"27":1,"28":1,"31":1,"34":1,"35":1,"36":1,"43":2,"46":1,"61":1,"70":1,"71":1,"73":2,"74":1}}],["io",{"2":{"6":1,"23":1,"24":2,"41":2,"49":2}}],["is",{"2":{"6":1,"9":1,"14":1,"22":1,"23":1,"24":1,"41":1,"43":1,"44":1,"49":1,"51":1,"53":1,"60":1,"63":1,"67":10,"69":1,"72":3,"73":1,"74":1,"75":1,"76":1,"77":3,"78":3,"79":1,"80":6,"81":4}}],["incentivized",{"2":{"77":1}}],["inclusion",{"2":{"73":1}}],["includes",{"2":{"78":1}}],["include",{"2":{"71":1,"74":1,"77":2}}],["included",{"2":{"13":1,"14":1,"52":1,"53":1,"73":3,"74":1}}],["individual",{"2":{"74":1,"79":1}}],["industries",{"2":{"69":1}}],["input",{"2":{"66":1,"67":1}}],["init",{"2":{"31":1,"32":1,"34":1,"35":1,"62":1,"64":1}}],["initializes",{"2":{"64":1}}],["initialized",{"2":{"34":1}}],["initialize",{"0":{"34":1}}],["initialblockheight",{"2":{"14":1,"53":1}}],["initial",{"2":{"13":1,"14":1,"35":1,"43":5,"52":1,"53":1}}],["intention",{"2":{"77":1}}],["interface",{"2":{"76":2,"77":1}}],["interfaces",{"2":{"76":2}}],["interacts",{"2":{"62":1}}],["interact",{"0":{"20":1,"59":1},"2":{"60":1,"77":1}}],["integration",{"2":{"76":1}}],["into",{"2":{"16":1,"55":1,"72":1,"74":1,"77":1}}],["introduction",{"0":{"69":1},"1":{"70":1,"71":1},"2":{"81":1}}],["intro",{"2":{"6":1,"23":1,"24":1,"41":1,"49":1}}],["info",{"2":{"12":1,"47":1,"67":4}}],["information",{"0":{"1":1,"44":1,"45":1},"2":{"34":1,"80":1}}],["ingress",{"0":{"10":1,"45":1},"2":{"10":2,"11":3,"12":2,"14":1,"44":3,"45":2,"51":1,"53":1}}],["instructions",{"2":{"8":1,"37":2,"69":2,"72":2,"73":2,"74":2,"75":2,"76":2,"77":2,"78":2,"79":2,"80":2,"81":2}}],["installed",{"2":{"28":1}}],["installation",{"2":{"24":2,"41":2,"49":2}}],["install",{"0":{"6":1,"22":1,"23":1,"24":1,"40":1,"41":1,"49":1,"61":1},"1":{"41":1},"2":{"6":5,"8":2,"10":1,"22":4,"23":5,"24":5,"28":1,"29":1,"36":1,"41":5,"49":5,"63":3}}],["in",{"2":{"6":1,"8":2,"11":1,"13":1,"14":2,"22":1,"23":1,"24":1,"27":1,"28":2,"31":2,"34":1,"36":4,"41":1,"49":1,"51":1,"52":1,"53":2,"61":1,"62":1,"63":2,"65":1,"73":2,"74":3,"76":3,"77":4,"78":2,"79":1,"80":2,"81":1}}],["ide",{"2":{"63":1}}],["ids",{"2":{"53":1}}],["id>",{"2":{"14":2,"53":2}}],["id=",{"2":{"14":1,"35":1,"36":1,"53":1}}],["id",{"2":{"1":1,"14":2,"34":1,"36":1,"53":3}}],["drive",{"2":{"80":2}}],["d",{"2":{"27":1,"28":1,"61":1}}],["diagram",{"2":{"78":1}}],["directly",{"2":{"77":1,"80":1}}],["directory",{"2":{"28":1,"35":2,"62":1}}],["dir",{"2":{"31":1,"34":1}}],["different",{"2":{"21":1,"43":1,"69":1,"73":1,"78":1}}],["digit",{"2":{"14":1,"34":1,"36":1}}],["digitalocean",{"2":{"8":1,"11":1}}],["digital",{"0":{"4":1},"1":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"2":{"4":1,"8":2,"10":1,"11":2,"37":1,"69":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["da",{"2":{"79":5,"80":1}}],["data",{"0":{"81":1},"2":{"36":1,"64":2,"66":2,"80":6,"81":3}}],["dangerous",{"2":{"67":2}}],["danger",{"2":{"13":1,"52":1,"67":2}}],["darwin",{"2":{"6":4,"22":4,"23":4,"24":4,"27":1,"41":4,"49":4,"61":1}}],["dns",{"2":{"12":1,"19":1}}],["deterministic",{"2":{"80":2}}],["detail",{"2":{"76":1}}],["details",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1,"67":4,"76":1}}],["decentralization",{"2":{"72":1}}],["decentralized",{"0":{"72":1},"2":{"69":3,"72":2,"74":1,"78":1}}],["demonstrates",{"2":{"65":1}}],["delivery",{"2":{"78":1}}],["deliminated",{"2":{"13":1,"52":1}}],["deletes",{"2":{"64":2}}],["default",{"2":{"35":2,"66":2}}],["debugging",{"0":{"37":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1}}],["debug",{"2":{"14":1,"53":1}}],["developer",{"2":{"70":1}}],["developers",{"2":{"62":1,"76":1}}],["development",{"0":{"63":1},"1":{"64":1},"2":{"60":1,"62":1,"63":1,"64":1}}],["dev",{"2":{"14":1,"18":1,"28":1,"29":2,"32":2,"35":2,"45":1,"48":1,"51":2,"53":1,"57":1,"62":3,"64":5,"81":1}}],["devnet",{"2":{"1":4,"3":1,"7":2,"14":2,"16":1,"37":2,"38":5,"39":1,"50":2,"53":2,"55":1,"69":2,"72":2,"73":2,"74":2,"75":2,"76":2,"77":2,"78":2,"79":2,"80":2,"81":2}}],["destination",{"2":{"81":1}}],["destined",{"2":{"78":1}}],["design",{"2":{"77":4}}],["designed",{"2":{"60":1,"76":1}}],["desired",{"2":{"13":1,"52":1}}],["description",{"2":{"14":1,"53":1,"64":1}}],["desktop",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["depth",{"2":{"81":1}}],["dependency",{"2":{"60":1}}],["dependencies",{"0":{"5":1,"47":1},"1":{"6":1,"48":1,"49":1},"2":{"62":1}}],["depend",{"2":{"12":1,"63":1,"72":1}}],["deploys",{"2":{"76":1}}],["deployment",{"2":{"17":1,"46":1,"56":1}}],["deploy",{"0":{"10":1,"17":1,"56":1},"2":{"10":2,"17":1,"37":2,"46":1,"51":2,"56":1,"69":2,"72":2,"73":2,"74":2,"75":2,"76":2,"77":2,"78":2,"79":2,"80":2,"81":2}}],["deploying",{"2":{"4":1,"25":1,"46":1,"69":2,"70":1}}],["does",{"2":{"80":2}}],["doesn",{"2":{"35":1}}],["domains",{"2":{"12":1}}],["domain",{"2":{"12":1}}],["do",{"2":{"10":1,"76":1}}],["doc",{"2":{"28":1,"29":1}}],["doctl",{"0":{"9":1},"2":{"8":2}}],["docs",{"2":{"6":3,"8":1,"22":1,"23":3,"24":5,"41":5,"49":5}}],["docker",{"2":{"6":2,"22":2,"23":2,"24":5,"41":5,"49":5,"51":1}}],["documentation",{"2":{"2":1,"10":1,"68":1,"71":1}}],["downloaded",{"2":{"64":1}}],["downloads",{"2":{"64":1}}],["download",{"0":{"26":1,"29":1},"1":{"27":1,"28":1},"2":{"6":6,"22":6,"23":6,"24":6,"27":2,"41":6,"49":6,"61":3,"62":1}}],["dora",{"2":{"1":1}}],["dusknet",{"0":{"7":1,"50":1}}],["dusk",{"2":{"1":4,"3":1,"7":2,"14":2,"16":1,"38":5,"39":1,"48":1,"50":2,"53":2,"55":1}}],["31357",{"2":{"44":1}}],["31623",{"2":{"44":1}}],["37",{"2":{"39":1,"62":1}}],["30158",{"2":{"11":1}}],["32656",{"2":{"11":1}}],["35",{"2":{"11":1}}],["36",{"2":{"7":1,"38":1,"50":1}}],["34",{"2":{"7":2,"38":4,"44":4,"50":2}}],["3",{"2":{"1":4,"3":1,"6":8,"7":2,"14":2,"16":1,"18":2,"22":8,"23":8,"24":8,"27":1,"38":5,"39":2,"41":8,"48":1,"49":8,"50":2,"53":2,"55":1,"57":2,"61":2}}],["native",{"2":{"78":1}}],["naive",{"2":{"77":2}}],["navigate",{"2":{"16":1,"35":1,"55":1}}],["namespace",{"2":{"14":1,"53":1,"80":1}}],["name>",{"2":{"14":4,"18":4,"34":1,"35":2,"53":4,"57":4}}],["name=",{"2":{"14":1,"53":1}}],["name",{"2":{"1":1,"7":1,"12":1,"14":6,"19":3,"20":1,"34":1,"35":1,"38":1,"50":1,"53":6,"58":3,"59":1}}],["number>",{"2":{"34":1,"36":1}}],["number",{"2":{"14":1}}],["n",{"2":{"11":1,"18":1,"44":1,"45":1,"57":1}}],["nginx",{"0":{"10":1},"2":{"10":2,"11":3,"12":1,"44":4}}],["nod",{"2":{"74":1}}],["nodes",{"2":{"8":1,"74":1,"77":1,"78":1}}],["node",{"0":{"17":1,"56":1},"2":{"4":1,"8":1,"14":1,"17":1,"18":1,"25":1,"46":1,"53":1,"56":1,"57":1,"70":1,"81":1}}],["none>",{"2":{"11":1,"44":1}}],["no",{"2":{"8":1,"77":1}}],["note",{"2":{"35":1,"78":1}}],["notes",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["not",{"2":{"8":1,"14":1,"43":1,"44":2,"47":1,"53":1,"76":1,"78":3}}],["never",{"2":{"13":1,"52":1}}],["newer",{"2":{"63":1}}],["new",{"0":{"8":1,"15":1,"54":1},"2":{"8":1,"11":1,"13":2,"36":1,"52":2,"63":3,"74":1,"78":1,"80":1,"81":1}}],["needs",{"2":{"74":1,"76":1}}],["need",{"0":{"71":1},"2":{"6":1,"8":1,"22":1,"23":1,"24":1,"31":1,"34":2,"41":1,"43":1,"49":1,"63":1,"71":1,"76":1}}],["networkid",{"2":{"14":1,"53":1}}],["networking",{"2":{"11":1}}],["network",{"0":{"1":1},"2":{"1":2,"2":1,"4":1,"13":1,"14":6,"15":1,"46":1,"52":1,"53":5,"54":1,"69":3,"70":1,"72":1,"76":1,"78":1,"81":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/@localSearchIndexroot.CDszn7_q.js b/assets/chunks/@localSearchIndexroot.CDszn7_q.js deleted file mode 100644 index 37745d5..0000000 --- a/assets/chunks/@localSearchIndexroot.CDszn7_q.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":82,"nextId":82,"documentIds":{"0":"/astria-evm/overview#astria-evm","1":"/astria-evm/overview#network-information","2":"/astria-evm/overview#adding-to-metamask","3":"/astria-evm/overview#using-cast","4":"/cloud-rollup/digital-ocean#digital-ocean","5":"/cloud-rollup/digital-ocean#local-dependencies","6":"/cloud-rollup/digital-ocean#install-the-latest-astria-cli","7":"/cloud-rollup/digital-ocean#dusknet-endpoints","8":"/cloud-rollup/digital-ocean#create-a-new-cluster","9":"/cloud-rollup/digital-ocean#configure-kubectl-with-doctl","10":"/cloud-rollup/digital-ocean#deploy-ingress-nginx-controller","11":"/cloud-rollup/digital-ocean#verify-loadbalancer-with-external-ip","12":"/cloud-rollup/digital-ocean#create-an-a-record","13":"/cloud-rollup/digital-ocean#create-your-rollup-genesis-account-s","14":"/cloud-rollup/digital-ocean#create-rollup-config","15":"/cloud-rollup/digital-ocean#create-new-sequencer-account","16":"/cloud-rollup/digital-ocean#fund-your-sequencer-account","17":"/cloud-rollup/digital-ocean#deploy-the-rollup-node","18":"/cloud-rollup/digital-ocean#watch-for-rollup-startup","19":"/cloud-rollup/digital-ocean#your-rollup-endpoints","20":"/cloud-rollup/digital-ocean#interact-with-your-rollup","21":"/community/1-overview#community-overview","22":"/components/_astria-cli-install#install-the-latest-astria-cli","23":"/components/_cli-cloud#install-the-latest-astria-cli","24":"/components/_cli-local#install-the-latest-astria-cli","25":"/developer/tutorials/1-using-astria-go-cli#overview","26":"/developer/tutorials/1-using-astria-go-cli#download-the-cli","27":"/developer/tutorials/1-using-astria-go-cli#using-curl","28":"/developer/tutorials/1-using-astria-go-cli#build-from-source","29":"/developer/tutorials/1-using-astria-go-cli#download-and-build-geth","30":"/developer/tutorials/1-using-astria-go-cli#run-a-local-rollup-and-a-local-sequencer","31":"/developer/tutorials/1-using-astria-go-cli#start-geth","32":"/developer/tutorials/1-using-astria-go-cli#start-the-local-astria-sequencer","33":"/developer/tutorials/1-using-astria-go-cli#run-a-local-rollup-against-a-remote-sequencer","34":"/developer/tutorials/1-using-astria-go-cli#initialize-and-start-geth","35":"/developer/tutorials/1-using-astria-go-cli#setup-and-run-the-local-astria-components-to-communicate-with-the-remote-sequencer","36":"/developer/tutorials/1-using-astria-go-cli#test-transactions","37":"/dusk-faq/1-information#faq-and-debugging","38":"/dusk-faq/1-information#endpoints","39":"/dusk-faq/1-information#software-versions","40":"/dusk-faq/1-information#install-the-latest-astria-cli","41":"/dusk-faq/1-information#install-the-latest-astria-cli-1","42":"/dusk-faq/1-information#manually-fetch-sequencer-block-height","43":"/dusk-faq/1-information#sequencer-block-height","44":"/dusk-faq/1-information#loadbalancer-information","45":"/dusk-faq/1-information#ingress-information","46":"/local-rollup/1-introduction#overview","47":"/local-rollup/1-introduction#local-dependencies","48":"/local-rollup/1-introduction#clone-the-astria-dev-cluster","49":"/local-rollup/1-introduction#install-the-latest-astria-cli","50":"/local-rollup/1-introduction#dusknet-endpoints","51":"/local-rollup/1-introduction#setup-local-environment","52":"/local-rollup/1-introduction#create-your-rollup-genesis-account-s","53":"/local-rollup/1-introduction#create-rollup-config","54":"/local-rollup/1-introduction#create-a-new-sequencer-account","55":"/local-rollup/1-introduction#fund-your-sequencer-account","56":"/local-rollup/1-introduction#deploy-the-rollup-node","57":"/local-rollup/1-introduction#watch-for-rollup-startup","58":"/local-rollup/1-introduction#your-rollup-endpoints","59":"/local-rollup/1-introduction#interact-with-your-rollup","60":"/local-rollup/2-astria-cli-go#the-astria-cli","61":"/local-rollup/2-astria-cli-go#install-and-run-cli-from-github-release","62":"/local-rollup/2-astria-cli-go#locally-build-and-run-the-cli","63":"/local-rollup/2-astria-cli-go#development","64":"/local-rollup/2-astria-cli-go#available-commands","65":"/markdown-examples#markdown-extension-examples","66":"/markdown-examples#syntax-highlighting","67":"/markdown-examples#custom-containers","68":"/markdown-examples#more","69":"/overview/1-introduction#introduction","70":"/overview/1-introduction#what-should-i-read","71":"/overview/1-introduction#what-if-i-need-more-help","72":"/overview/2-why-decentralized-sequencers#why-decentralized-sequencers","73":"/overview/3-cross-rollup-composability#cross-rollup-composability","74":"/overview/architecture/1-overview#architecture-overview","75":"/overview/architecture/2-transaction-flow#transaction-flow","76":"/overview/architecture/3-rollup#rollups","77":"/overview/architecture/4-composer#composer","78":"/overview/architecture/5-the-astria-sequencer#the-astria-sequencer","79":"/overview/architecture/6-relayer#relayer","80":"/overview/architecture/7-conductor#conductor","81":"/overview/architecture/8-data-availability-layer#data-availability-layer"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,1],"1":[2,2,31],"2":[3,2,20],"3":[2,2,32],"4":[2,1,24],"5":[2,2,1],"6":[3,4,81],"7":[2,2,30],"8":[4,2,65],"9":[4,2,9],"10":[4,2,47],"11":[5,2,80],"12":[4,2,58],"13":[7,2,88],"14":[3,2,137],"15":[4,2,50],"16":[4,2,32],"17":[4,2,24],"18":[4,2,52],"19":[3,2,31],"20":[4,2,34],"21":[2,1,14],"22":[3,1,74],"23":[3,1,81],"24":[3,1,104],"25":[1,1,25],"26":[3,1,1],"27":[2,4,52],"28":[3,4,49],"29":[4,1,23],"30":[6,1,1],"31":[2,7,26],"32":[5,7,8],"33":[7,1,1],"34":[4,8,56],"35":[12,1,105],"36":[2,1,78],"37":[3,1,20],"38":[1,3,44],"39":[2,3,28],"40":[5,3,1],"41":[3,8,104],"42":[5,3,1],"43":[3,8,59],"44":[2,3,78],"45":[2,3,18],"46":[1,1,34],"47":[2,1,14],"48":[3,3,13],"49":[3,3,104],"50":[2,1,29],"51":[3,1,44],"52":[7,1,88],"53":[3,1,134],"54":[5,1,50],"55":[4,1,32],"56":[4,1,24],"57":[4,1,52],"58":[3,1,30],"59":[4,1,35],"60":[3,1,31],"61":[7,3,64],"62":[6,3,79],"63":[1,3,75],"64":[2,4,46],"65":[3,1,14],"66":[2,3,26],"67":[2,3,21],"68":[1,3,11],"69":[1,1,93],"70":[5,1,56],"71":[7,1,29],"72":[4,1,102],"73":[3,1,72],"74":[2,1,153],"75":[2,1,29],"76":[1,1,112],"77":[1,1,142],"78":[3,1,102],"79":[1,1,84],"80":[1,1,124],"81":[3,1,68]},"averageFieldLength":[3.2804878048780486,2.109756097560976,51.146341463414636],"storedFields":{"0":{"title":"Astria EVM","titles":[]},"1":{"title":"Network Information","titles":["Astria EVM"]},"2":{"title":"Adding to Metamask","titles":["Astria EVM"]},"3":{"title":"Using Cast","titles":["Astria EVM"]},"4":{"title":"Digital Ocean","titles":[]},"5":{"title":"Local Dependencies","titles":["Digital Ocean"]},"6":{"title":"Install the latest","titles":["Digital Ocean","Local Dependencies"]},"7":{"title":"Dusknet Endpoints","titles":["Digital Ocean"]},"8":{"title":"Create a New Cluster","titles":["Digital Ocean"]},"9":{"title":"Configure kubectl with doctl","titles":["Digital Ocean"]},"10":{"title":"Deploy Ingress Nginx Controller","titles":["Digital Ocean"]},"11":{"title":"Verify Loadbalancer with external IP","titles":["Digital Ocean"]},"12":{"title":"Create an A Record","titles":["Digital Ocean"]},"13":{"title":"Create your Rollup Genesis Account(s)","titles":["Digital Ocean"]},"14":{"title":"Create Rollup Config","titles":["Digital Ocean"]},"15":{"title":"Create new sequencer account","titles":["Digital Ocean"]},"16":{"title":"Fund your Sequencer Account","titles":["Digital Ocean"]},"17":{"title":"Deploy the Rollup Node","titles":["Digital Ocean"]},"18":{"title":"Watch for rollup startup","titles":["Digital Ocean"]},"19":{"title":"Your Rollup Endpoints","titles":["Digital Ocean"]},"20":{"title":"Interact with your Rollup","titles":["Digital Ocean"]},"21":{"title":"Community overview","titles":[]},"22":{"title":"Install the latest","titles":[]},"23":{"title":"Install the latest","titles":[]},"24":{"title":"Install the latest","titles":[]},"25":{"title":"Overview","titles":[]},"26":{"title":"Download the CLI","titles":["Overview"]},"27":{"title":"Using curl","titles":["Overview","Download the CLI"]},"28":{"title":"Build from Source","titles":["Overview","Download the CLI"]},"29":{"title":"Download and Build Geth","titles":["Overview"]},"30":{"title":"Run a Local Rollup and a Local Sequencer","titles":["Overview"]},"31":{"title":"Start Geth","titles":["Overview","Run a Local Rollup and a Local Sequencer"]},"32":{"title":"Start the Local Astria Sequencer","titles":["Overview","Run a Local Rollup and a Local Sequencer"]},"33":{"title":"Run a Local Rollup against a Remote Sequencer","titles":["Overview"]},"34":{"title":"Initialize and Start Geth","titles":["Overview","Run a Local Rollup against a Remote Sequencer"]},"35":{"title":"Setup and run the Local Astria components to communicate with the Remote Sequencer","titles":["Overview"]},"36":{"title":"Test Transactions","titles":["Overview"]},"37":{"title":"FAQ and Debugging","titles":[]},"38":{"title":"Endpoints","titles":["FAQ and Debugging"]},"39":{"title":"Software Versions","titles":["FAQ and Debugging"]},"40":{"title":"Install the latest Astria cli","titles":["FAQ and Debugging"]},"41":{"title":"Install the latest","titles":["FAQ and Debugging","Install the latest Astria cli"]},"42":{"title":"Manually Fetch Sequencer Block Height","titles":["FAQ and Debugging"]},"43":{"title":"Sequencer Block Height","titles":["FAQ and Debugging","Manually Fetch Sequencer Block Height"]},"44":{"title":"Loadbalancer Information","titles":["FAQ and Debugging"]},"45":{"title":"Ingress Information","titles":["FAQ and Debugging"]},"46":{"title":"Overview","titles":[]},"47":{"title":"Local Dependencies","titles":["Overview"]},"48":{"title":"Clone the Astria","titles":["Overview","Local Dependencies"]},"49":{"title":"Install the latest","titles":["Overview","Local Dependencies"]},"50":{"title":"Dusknet Endpoints","titles":["Overview"]},"51":{"title":"Setup Local Environment","titles":["Overview"]},"52":{"title":"Create your Rollup Genesis Account(s)","titles":["Overview"]},"53":{"title":"Create Rollup Config","titles":["Overview"]},"54":{"title":"Create a New Sequencer Account","titles":["Overview"]},"55":{"title":"Fund your Sequencer Account","titles":["Overview"]},"56":{"title":"Deploy the Rollup Node","titles":["Overview"]},"57":{"title":"Watch for rollup startup","titles":["Overview"]},"58":{"title":"Your Rollup Endpoints","titles":["Overview"]},"59":{"title":"Interact with your Rollup","titles":["Overview"]},"60":{"title":"The Astria CLI","titles":[]},"61":{"title":"Install and Run CLI from GitHub release","titles":["The Astria CLI"]},"62":{"title":"Locally Build and Run the CLI","titles":["The Astria CLI"]},"63":{"title":"Development","titles":["The Astria CLI"]},"64":{"title":"Available Commands","titles":["The Astria CLI","Development"]},"65":{"title":"Markdown Extension Examples","titles":[]},"66":{"title":"Syntax Highlighting","titles":["Markdown Extension Examples"]},"67":{"title":"Custom Containers","titles":["Markdown Extension Examples"]},"68":{"title":"More","titles":["Markdown Extension Examples"]},"69":{"title":"Introduction","titles":[]},"70":{"title":"What should I read?","titles":["Introduction"]},"71":{"title":"What If I Need More Help?","titles":["Introduction"]},"72":{"title":"Why Decentralized Sequencers?","titles":[]},"73":{"title":"Cross-Rollup Composability","titles":[]},"74":{"title":"Architecture Overview","titles":[]},"75":{"title":"Transaction Flow","titles":[]},"76":{"title":"Rollups","titles":[]},"77":{"title":"Composer","titles":[]},"78":{"title":"The Astria Sequencer","titles":[]},"79":{"title":"Relayer","titles":[]},"80":{"title":"Conductor","titles":[]},"81":{"title":"Data Availability Layer","titles":[]}},"dirtCount":0,"index":[["quot",{"2":{"80":4}}],["queue",{"2":{"77":1,"79":1}}],["quick",{"2":{"8":1,"24":1,"41":1,"49":1,"70":2}}],["`run`",{"2":{"63":1}}],["```",{"2":{"6":4,"22":4,"23":4,"24":4,"41":4,"49":4,"66":1}}],["```bash",{"2":{"6":4,"22":4,"23":4,"24":4,"41":4,"49":4}}],["~",{"2":{"35":1}}],["\\t\\t\\t\\t",{"2":{"34":1}}],["join",{"2":{"69":1}}],["jsexport",{"2":{"66":1}}],["json",{"2":{"34":2,"38":1,"63":1}}],["just",{"2":{"24":2,"28":5,"29":4,"31":2,"34":2,"35":1,"41":2,"49":2,"51":1,"62":4,"74":1}}],["0",{"2":{"18":3,"20":1,"27":2,"35":2,"39":1,"57":3,"59":1,"61":2,"62":3}}],["0x332e",{"2":{"13":1,"52":1}}],["0xffe9",{"2":{"13":1,"52":1}}],["71",{"2":{"44":1}}],["755cb8dd97",{"2":{"18":1,"57":1}}],["72s",{"2":{"18":4,"57":4}}],["73",{"2":{"7":1,"38":1,"50":1}}],["$sequencer",{"2":{"16":1,"17":1,"55":1,"56":1}}],["$rollup",{"2":{"14":1,"17":2,"20":3,"53":1,"56":2,"59":2}}],["$rec",{"2":{"3":3,"20":3,"59":3}}],["57s",{"2":{"44":2}}],["5",{"2":{"39":1}}],["56s",{"2":{"18":2,"57":2}}],["5f68",{"2":{"15":2,"54":2}}],["5f8b",{"2":{"13":1,"52":1}}],["5562",{"2":{"15":1,"54":1}}],["50",{"2":{"11":1}}],["98",{"2":{"44":1}}],["9",{"2":{"39":1,"62":1}}],["99",{"2":{"11":1}}],["912559",{"2":{"1":1}}],["68667bd895",{"2":{"18":1,"57":1}}],["6",{"2":{"14":1,"18":2,"34":1,"36":1,"57":2}}],["63",{"2":{"11":1}}],["647745c66d",{"2":{"18":1,"57":1}}],["64",{"2":{"6":6,"22":6,"23":6,"24":6,"41":6,"49":6,"61":1}}],["yet",{"2":{"35":1,"72":1}}],["yaml",{"2":{"10":1,"14":1,"53":1}}],["you",{"2":{"4":1,"6":1,"8":2,"11":3,"12":3,"13":3,"14":1,"18":1,"19":1,"22":1,"23":1,"24":1,"25":1,"27":2,"28":2,"31":2,"34":4,"35":5,"36":2,"41":1,"43":3,"44":2,"45":1,"46":2,"49":1,"52":3,"53":3,"57":1,"61":2,"63":4,"70":6,"71":3,"76":1}}],["your",{"0":{"13":1,"16":1,"19":1,"20":1,"52":1,"55":1,"58":1,"59":1},"2":{"2":1,"3":1,"8":1,"9":1,"11":1,"12":2,"13":2,"14":15,"15":2,"16":3,"18":4,"19":7,"20":1,"27":2,"28":2,"34":1,"35":2,"37":3,"44":1,"45":1,"52":2,"53":12,"54":2,"55":3,"57":4,"58":4,"59":1,"61":2,"63":4,"69":3,"72":3,"73":3,"74":3,"75":3,"76":3,"77":3,"78":3,"79":3,"80":3,"81":3}}],["20",{"2":{"63":1}}],["206",{"2":{"44":2}}],["229",{"2":{"44":1}}],["228",{"2":{"44":1}}],["22",{"2":{"38":1}}],["211",{"2":{"38":1}}],["214",{"2":{"38":1}}],["21",{"2":{"14":1}}],["2>",{"2":{"13":2,"52":2}}],["2579934",{"2":{"12":1}}],["240",{"2":{"11":1}}],["245",{"2":{"11":2}}],["28",{"2":{"11":1}}],["2",{"2":{"10":1,"18":2,"39":1,"57":2}}],["404",{"2":{"44":1}}],["42",{"2":{"44":2}}],["4252",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["4",{"2":{"18":1,"24":1,"27":1,"38":1,"41":1,"49":1,"57":1,"62":2,"66":1}}],["44h",{"2":{"11":2}}],["443",{"2":{"11":2,"44":2}}],["4gb",{"2":{"8":2}}],["8546",{"2":{"35":1}}],["8a2f",{"2":{"15":1,"54":1}}],["80",{"2":{"11":1,"44":1}}],["8",{"2":{"7":1,"10":1,"38":1,"39":1,"50":1}}],["historically",{"2":{"74":1}}],["high",{"2":{"74":1}}],["highlighted",{"2":{"66":2}}],["highlighting",{"0":{"66":1},"2":{"66":2}}],["highlight",{"2":{"21":1}}],["hr>",{"2":{"44":1}}],["h1>",{"2":{"44":1}}],["h1>404",{"2":{"44":1}}],["having",{"2":{"77":1}}],["have",{"2":{"34":1,"35":1,"76":1}}],["handles",{"2":{"73":1}}],["has",{"2":{"8":2,"47":1,"53":1,"80":2,"81":1}}],["html>",{"2":{"44":2}}],["html",{"2":{"24":1,"41":1,"44":1,"49":1}}],["http",{"2":{"19":3,"58":3}}],["https",{"2":{"1":4,"6":9,"8":1,"10":1,"11":1,"12":1,"14":1,"16":1,"22":7,"23":9,"24":13,"27":1,"28":2,"29":2,"41":13,"48":1,"49":13,"53":1,"55":1,"61":1}}],["hl=en",{"2":{"12":1}}],["house",{"2":{"77":1}}],["hostname>",{"2":{"14":2}}],["hostname=",{"2":{"14":1}}],["hostname",{"2":{"14":3,"19":3,"20":1,"53":1}}],["hosts",{"2":{"7":1,"38":1,"50":1}}],["however",{"2":{"72":1}}],["how",{"2":{"8":1,"12":1}}],["header",{"2":{"80":1}}],["headers",{"2":{"74":1}}],["head",{"2":{"72":1}}],["head>",{"2":{"44":2}}],["help",{"0":{"71":1},"2":{"64":2}}],["helm",{"2":{"6":2,"23":2,"24":2,"41":2,"49":2,"51":1}}],["height=",{"2":{"35":1,"43":1}}],["height",{"0":{"42":1,"43":1},"1":{"43":1},"2":{"35":1,"43":2}}],["height>",{"2":{"14":1,"43":2,"53":1}}],["here",{"2":{"6":1,"10":1,"12":2,"22":1,"23":1,"24":1,"37":2,"41":1,"46":1,"49":1,"53":1,"69":2,"70":1,"72":2,"73":2,"74":3,"75":2,"76":2,"77":3,"78":3,"79":3,"80":3,"81":2}}],["phase",{"2":{"77":2}}],["permission",{"2":{"76":1}}],["permissionless",{"2":{"69":1,"76":1}}],["passed",{"2":{"80":2}}],["pass",{"2":{"79":1}}],["participates",{"2":{"78":1}}],["parties",{"2":{"77":1}}],["part",{"2":{"73":1}}],["parsing",{"2":{"63":1}}],["page",{"2":{"44":1,"61":1,"65":1}}],["packages",{"2":{"36":1}}],["path",{"2":{"27":1,"28":1,"61":1}}],["pulled",{"2":{"34":1,"63":1,"79":1,"81":1}}],["public",{"2":{"15":1,"19":1,"54":1}}],["place",{"2":{"62":1}}],["platform",{"2":{"27":1,"61":1}}],["please",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"46":1,"49":1,"71":1}}],["pwqmz",{"2":{"18":1,"57":1}}],["pick",{"2":{"14":1}}],["polls",{"2":{"80":1}}],["point",{"2":{"77":1}}],["pointing",{"2":{"12":1}}],["potential",{"2":{"77":1}}],["possibilities",{"2":{"73":1}}],["possible",{"2":{"60":1}}],["powered",{"2":{"66":1}}],["port",{"2":{"11":1,"44":1}}],["populated",{"2":{"11":1}}],["pods",{"2":{"18":2,"57":2}}],["pod",{"2":{"8":1}}],["previous",{"2":{"74":1}}],["pre",{"2":{"74":1}}],["principle",{"2":{"74":1}}],["prints",{"2":{"64":1}}],["priv",{"2":{"13":1,"15":2,"17":2,"20":1,"52":1,"54":2,"56":2,"59":1}}],["private",{"2":{"3":2,"13":5,"15":2,"17":2,"20":1,"35":3,"52":5,"54":2,"56":2,"59":1}}],["production",{"2":{"78":1}}],["profit",{"2":{"77":2}}],["proposer",{"2":{"77":3}}],["property",{"2":{"1":1}}],["progress",{"2":{"77":1}}],["programming",{"2":{"74":1}}],["protos",{"2":{"76":1}}],["process",{"2":{"76":1}}],["providing",{"2":{"72":1}}],["provide",{"2":{"72":1,"73":1,"74":1}}],["provided",{"2":{"65":1}}],["provides",{"2":{"60":1,"66":1,"69":1,"74":2}}],["provider",{"2":{"10":1}}],[">",{"2":{"6":8,"7":1,"22":7,"23":7,"24":7,"41":7,"49":7}}],["184",{"2":{"44":2}}],["187",{"2":{"7":1,"38":1,"50":1}}],["118",{"2":{"44":2}}],["11",{"2":{"39":1}}],["111",{"2":{"7":1,"38":2,"50":1}}],["130",{"2":{"38":1}}],["12",{"2":{"62":1}}],["120",{"2":{"38":1}}],["127",{"2":{"35":1}}],["123456",{"2":{"14":1}}],["16",{"2":{"38":1}}],["167",{"2":{"38":1}}],["160",{"2":{"38":1}}],["1622",{"2":{"15":2,"54":2}}],["161",{"2":{"11":1}}],["1>",{"2":{"13":2,"52":2}}],["1vcpu",{"2":{"8":2}}],["106",{"2":{"11":1}}],["10",{"2":{"11":2}}],["102",{"2":{"7":1,"38":1,"50":1}}],["100000000000000000000",{"2":{"13":1,"52":1}}],["10000000000000000000",{"2":{"3":1,"20":1,"59":1}}],["1",{"2":{"6":8,"18":4,"22":8,"23":8,"24":8,"35":1,"39":3,"41":8,"49":8,"57":4,"63":1}}],["ve",{"2":{"63":1,"70":1}}],["verification",{"2":{"80":1}}],["verify",{"0":{"11":1},"2":{"14":1,"16":1,"53":1,"55":1}}],["versions",{"0":{"39":1},"2":{"39":1}}],["version",{"2":{"27":3,"28":2,"61":2,"62":1,"63":1,"64":2}}],["vs",{"2":{"63":1}}],["vz4ks",{"2":{"18":1,"57":1}}],["vision",{"2":{"69":1}}],["vitepress",{"2":{"65":1,"66":1}}],["viable",{"2":{"62":1}}],["view",{"2":{"16":1,"53":1,"55":1}}],["virtual",{"2":{"12":1}}],["validated",{"2":{"79":1}}],["validator",{"2":{"77":1,"78":1}}],["values",{"2":{"14":1,"53":1}}],["value",{"2":{"1":1,"3":1,"13":1,"20":1,"35":1,"36":1,"43":1,"52":1,"59":1}}],["variable",{"2":{"43":1}}],["variables",{"2":{"14":1,"15":1,"35":1,"53":1,"54":1}}],["var",{"2":{"14":2,"53":2}}],["vars",{"2":{"14":2,"53":2}}],["v1",{"2":{"10":1}}],["v0",{"2":{"6":8,"22":8,"23":8,"24":8,"27":2,"39":6,"41":8,"49":8,"61":2,"62":4}}],["grpc",{"2":{"76":1}}],["gain",{"2":{"76":1}}],["giving",{"2":{"74":1}}],["given",{"2":{"74":1,"78":1,"80":1}}],["git",{"2":{"28":2,"29":3,"36":3,"48":1,"62":2}}],["git=https",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["githubusercontent",{"2":{"10":1}}],["github",{"0":{"61":1},"2":{"6":8,"22":8,"23":8,"24":8,"27":1,"28":2,"29":2,"36":1,"41":8,"48":1,"49":8,"61":1,"62":1,"63":1}}],["guarantees",{"2":{"73":1}}],["guide",{"2":{"4":1,"8":2,"25":1,"46":2,"47":1,"70":1}}],["goal",{"2":{"77":1}}],["governance",{"2":{"76":1}}],["gossiped",{"2":{"74":1}}],["gone",{"2":{"70":1}}],["gopls",{"2":{"63":2}}],["going",{"2":{"36":1}}],["go",{"2":{"27":6,"28":7,"29":5,"31":1,"32":2,"34":1,"35":4,"36":1,"60":1,"61":5,"62":3,"63":2,"70":1,"76":1}}],["google",{"2":{"12":2}}],["g",{"2":{"27":1,"61":1,"63":1}}],["generating",{"2":{"77":2}}],["generated",{"2":{"74":1}}],["generate",{"2":{"36":1,"64":1,"74":1}}],["genesisaccounts",{"2":{"14":1,"53":1}}],["genesis",{"0":{"13":1,"52":1},"2":{"13":10,"14":1,"34":1,"52":10,"53":1}}],["gensis",{"2":{"34":1}}],["getting",{"2":{"24":1,"41":1,"49":1}}],["getfoundry",{"2":{"24":1,"41":1,"49":1}}],["geth",{"0":{"29":1,"31":1,"34":1},"2":{"18":1,"31":1,"34":3,"35":1,"36":1,"39":1,"57":1,"76":1}}],["get",{"2":{"11":1,"18":1,"24":1,"35":1,"41":1,"43":1,"44":1,"45":1,"49":1,"57":1,"64":2,"70":1,"74":1}}],["gt",{"2":{"8":2,"13":2,"14":5,"16":1,"19":6,"52":2,"53":3,"55":2,"58":3}}],["gnu",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["gz",{"2":{"6":18,"22":18,"23":18,"24":18,"27":3,"41":18,"49":18,"61":3}}],["kind",{"2":{"24":2,"41":2,"49":2}}],["k5xp8",{"2":{"18":1,"57":1}}],["k8s",{"2":{"8":1,"9":1,"10":1,"24":1,"41":1,"49":1,"51":1}}],["kubectl",{"0":{"9":1},"2":{"6":1,"9":1,"23":1,"24":1,"41":1,"49":1}}],["kubernetes",{"2":{"4":1,"6":1,"8":1,"10":2,"18":1,"23":1,"24":1,"41":1,"44":1,"45":1,"46":2,"49":1,"51":1,"57":1,"70":1}}],["key=5562",{"2":{"15":1,"54":1}}],["key=",{"2":{"13":1,"35":1,"52":1}}],["keypair",{"2":{"13":1,"52":1}}],["key>",{"2":{"3":1,"13":2,"15":1,"35":1,"52":2,"54":1}}],["key",{"2":{"3":1,"13":3,"15":3,"17":4,"20":2,"35":1,"52":3,"54":3,"56":4,"59":2}}],["wrapping",{"2":{"79":1}}],["write",{"2":{"76":1}}],["written",{"2":{"72":1,"81":1}}],["would",{"2":{"46":1,"77":2}}],["working",{"2":{"44":1,"77":1}}],["worked",{"2":{"36":1}}],["ws",{"2":{"35":1}}],["wss",{"2":{"14":1,"53":1}}],["w",{"2":{"13":1,"18":1,"52":1,"57":1}}],["why",{"0":{"72":1}}],["while",{"2":{"69":1,"71":1,"77":2}}],["which",{"2":{"4":1,"13":1,"46":1,"52":1,"70":2,"72":1}}],["when",{"2":{"43":2,"80":1,"81":1}}],["where",{"2":{"12":1,"51":1,"69":1,"81":1}}],["what",{"0":{"70":1,"71":1},"2":{"36":1,"71":1}}],["well",{"2":{"77":1,"80":1}}],["website",{"2":{"81":1}}],["websocket",{"2":{"14":2,"53":2}}],["web3",{"2":{"36":2}}],["weight",{"2":{"74":1}}],["wei",{"2":{"13":1,"52":1}}],["we",{"2":{"10":1,"13":1,"51":2,"52":1,"69":1,"77":1}}],["windows",{"2":{"36":1,"47":1}}],["window",{"2":{"31":1,"36":1}}],["wildcard",{"2":{"12":1}}],["will",{"2":{"4":1,"8":2,"10":1,"12":1,"13":2,"14":1,"19":1,"21":1,"25":1,"34":1,"35":1,"46":1,"51":1,"52":2,"53":1,"58":1,"62":1,"63":1,"70":1,"77":5,"81":1}}],["withing",{"2":{"80":1}}],["within",{"2":{"78":1}}],["without",{"2":{"72":1,"74":1,"76":1}}],["with",{"0":{"9":1,"11":1,"20":1,"35":1,"59":1},"2":{"8":1,"11":1,"13":2,"14":1,"18":1,"19":1,"25":1,"43":1,"44":1,"45":1,"51":1,"52":2,"53":1,"57":1,"58":1,"60":1,"62":2,"66":1,"72":2,"74":1,"77":2}}],["wait",{"2":{"74":1}}],["waiting",{"2":{"74":1}}],["want",{"2":{"70":1}}],["watch",{"0":{"18":1,"57":1},"2":{"18":1,"57":1}}],["was",{"2":{"11":1}}],["warning",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1,"67":6}}],["walk",{"2":{"4":1,"25":1,"46":1,"70":1}}],["www",{"2":{"1":1}}],["x",{"2":{"39":1}}],["xzvf",{"2":{"27":1,"61":1}}],["x86",{"2":{"6":4,"22":4,"23":4,"24":4,"41":4,"49":4,"61":1}}],["xvzf",{"2":{"6":6,"22":6,"23":6,"24":6,"41":6,"49":6}}],["x3c",{"2":{"3":2,"11":1,"13":9,"14":11,"15":2,"18":4,"20":1,"34":2,"35":4,"36":1,"43":2,"44":16,"52":9,"53":9,"54":2,"57":4,"59":1,"63":1}}],["xyz",{"2":{"1":1}}],["ultimate",{"2":{"81":1}}],["ultimately",{"2":{"79":1}}],["utilizing",{"2":{"78":1}}],["utility",{"2":{"19":1,"58":1}}],["ux",{"2":{"72":1,"79":1}}],["unlocks",{"2":{"73":1}}],["unacceptable",{"2":{"72":1}}],["universally",{"2":{"72":1}}],["unique",{"2":{"69":1,"78":1}}],["unknown",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["up",{"2":{"35":1,"51":1,"81":1}}],["updates",{"2":{"80":1}}],["update",{"2":{"34":2,"35":1,"36":1,"63":1,"80":1}}],["u64",{"2":{"14":1,"53":1}}],["us",{"2":{"71":1}}],["users",{"2":{"73":1,"74":2,"78":1}}],["user",{"2":{"24":1,"41":1,"49":1,"72":1}}],["usetty",{"2":{"14":1,"53":1}}],["used",{"2":{"13":1,"35":1,"36":1,"52":1,"79":2}}],["use",{"2":{"10":1,"13":2,"14":1,"17":1,"20":1,"31":1,"34":1,"35":2,"43":1,"44":1,"51":1,"52":2,"53":1,"56":1,"59":1,"69":1,"74":1,"77":1}}],["uses",{"2":{"4":1,"12":1,"46":1,"70":1,"81":1}}],["usr",{"2":{"6":6,"22":6,"23":6,"24":6,"27":1,"28":1,"41":6,"49":6,"61":1}}],["using",{"0":{"3":1,"27":1},"2":{"8":1,"13":2,"19":1,"25":1,"35":1,"37":1,"52":2,"63":1,"69":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":2,"81":1}}],["url=http",{"2":{"20":1,"59":1}}],["url=https",{"2":{"3":1}}],["urls",{"2":{"14":1,"53":1}}],["url",{"2":{"1":1,"3":1,"19":1,"58":1}}],["breaks",{"2":{"74":1}}],["branch",{"2":{"48":1}}],["b",{"2":{"73":1}}],["bundles",{"2":{"77":2}}],["bundle",{"2":{"73":1}}],["built",{"2":{"63":1,"65":1}}],["builder",{"2":{"77":8}}],["buildflags",{"2":{"63":1}}],["build",{"0":{"28":1,"29":1,"62":1},"2":{"28":1,"29":1,"62":1,"63":2}}],["but",{"2":{"47":1,"63":1,"80":1}}],["bug",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["body>",{"2":{"44":2}}],["both",{"2":{"25":1,"36":1,"61":1,"76":1,"79":1}}],["book",{"2":{"24":1,"41":1,"49":1}}],["box",{"2":{"16":1,"55":1,"67":2,"69":1}}],["by",{"2":{"13":1,"44":1,"52":1,"65":1,"66":1,"72":1,"73":1,"74":1,"77":1,"80":1,"81":1}}],["better",{"2":{"72":1}}],["benefits",{"2":{"72":1}}],["believe",{"2":{"69":1}}],["below",{"2":{"2":1,"14":1,"43":1,"53":1}}],["before",{"2":{"51":1,"79":1}}],["been",{"2":{"47":1,"53":1,"81":1}}],["because",{"2":{"12":1,"73":1,"79":1}}],["being",{"2":{"11":1,"76":1}}],["be",{"2":{"10":1,"11":1,"12":2,"13":3,"14":3,"19":1,"28":1,"36":1,"52":3,"53":2,"58":1,"69":1,"73":1,"74":2,"79":1,"80":1,"81":1}}],["binaries",{"2":{"61":2,"62":1,"64":2}}],["binary",{"2":{"27":4,"28":1,"61":4}}],["bin",{"2":{"6":6,"22":6,"23":6,"24":6,"27":1,"28":2,"41":6,"49":6,"61":1}}],["back",{"2":{"78":1}}],["batches",{"2":{"78":1}}],["batching",{"2":{"72":1}}],["bargain",{"2":{"72":1}}],["base",{"2":{"72":1,"74":4}}],["based",{"2":{"12":1}}],["bashjust",{"2":{"31":1,"34":1}}],["bashgit",{"2":{"28":1,"29":1,"48":1,"62":1}}],["bashglobal",{"2":{"14":1,"53":1}}],["bash",{"2":{"27":1,"31":1,"34":1,"43":1,"44":1,"61":1,"63":1}}],["bashastria",{"2":{"15":1,"16":1,"17":1,"32":1,"35":3,"43":1,"54":1,"55":1,"56":1}}],["bashsuccessfully",{"2":{"13":1,"52":1}}],["bashname",{"2":{"11":1,"18":1,"44":1,"57":1}}],["bashkubectl",{"2":{"10":1,"11":1,"18":1,"44":1,"45":1,"57":1}}],["bashcreate",{"2":{"15":1,"54":1}}],["bashcat",{"2":{"14":1,"53":1}}],["bashcargo",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["bashcast",{"2":{"3":3,"13":1,"20":4,"52":1,"59":4}}],["bashcurl",{"2":{"6":3,"22":3,"23":3,"24":3,"41":3,"49":3}}],["bashexport",{"2":{"3":2,"13":3,"14":2,"15":1,"20":2,"43":1,"52":3,"53":2,"54":1,"59":2}}],["balance>",{"2":{"13":1,"14":1,"52":1,"53":1}}],["balancer",{"2":{"11":1}}],["balancers",{"2":{"11":1}}],["balance",{"2":{"3":2,"13":4,"14":1,"16":1,"20":2,"52":4,"53":1,"55":1,"59":2,"64":2}}],["blocks",{"2":{"74":2,"76":1,"78":1,"79":4,"80":6}}],["blockscout",{"2":{"18":1,"19":1,"57":1,"58":1}}],["blockchains",{"2":{"74":1}}],["blockchain",{"2":{"72":1,"78":1}}],["blockheight",{"2":{"35":1,"43":1}}],["block",{"0":{"42":1,"43":1},"1":{"43":1},"2":{"1":1,"13":1,"14":1,"19":1,"20":1,"35":2,"38":1,"43":5,"52":1,"53":1,"58":1,"59":1,"67":2,"69":1,"72":1,"73":2,"74":2,"77":2,"79":1,"80":2}}],["tracking",{"2":{"80":1}}],["transfers",{"2":{"78":1}}],["transaction",{"0":{"75":1},"2":{"72":1,"73":4,"74":1,"75":1,"76":1,"77":2,"81":1}}],["transactions",{"0":{"36":1},"2":{"15":1,"36":3,"54":1,"72":3,"73":1,"74":3,"77":3,"78":5,"80":2}}],["truth",{"2":{"79":1}}],["trusted",{"2":{"72":1}}],["twitter",{"2":{"71":1}}],["two",{"2":{"35":1}}],["times",{"2":{"79":1}}],["title>",{"2":{"44":1}}],["title>404",{"2":{"44":1}}],["tip",{"2":{"8":1,"12":1,"37":1,"46":1,"51":1,"67":4,"69":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["t",{"2":{"35":1,"71":1}}],["termed",{"2":{"74":1}}],["terminal",{"2":{"31":1,"36":1}}],["testing",{"2":{"62":1}}],["tested",{"2":{"47":1}}],["test",{"0":{"36":1},"2":{"36":2}}],["text",{"2":{"16":1,"55":1}}],["tuples",{"2":{"13":1,"52":1}}],["tcp",{"2":{"11":3,"44":3}}],["type",{"2":{"11":1,"14":1,"44":1,"53":1}}],["tackles",{"2":{"72":1}}],["tailored",{"2":{"69":1}}],["talk",{"2":{"35":1}}],["tags=darwin",{"2":{"63":1}}],["tags",{"2":{"14":2,"53":2,"63":2}}],["tag=cli",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["takes",{"2":{"76":1}}],["take",{"2":{"11":1,"79":1}}],["tasks",{"2":{"6":1,"23":1,"24":1,"41":1,"49":1}}],["tar",{"2":{"6":24,"22":24,"23":24,"24":24,"27":4,"41":24,"49":24,"61":4}}],["third",{"2":{"77":1}}],["this",{"2":{"4":1,"8":1,"10":1,"11":1,"13":1,"14":2,"21":1,"25":1,"28":1,"35":1,"36":1,"43":1,"44":1,"46":1,"47":1,"51":1,"52":1,"53":2,"62":1,"63":1,"65":1,"67":10,"69":2,"71":1,"73":1,"74":7,"76":1,"78":1,"80":1}}],["thousands",{"2":{"69":1}}],["those",{"2":{"8":1,"79":1}}],["than",{"2":{"14":1,"79":1}}],["that",{"2":{"8":1,"11":1,"35":1,"44":1,"51":1,"53":1,"62":1,"69":2,"73":2,"74":4,"76":1,"77":2,"78":3,"80":5,"81":1}}],["through",{"2":{"4":1,"25":1,"36":1,"46":1,"70":2,"75":1,"76":1,"77":1}}],["theory",{"2":{"74":1}}],["they",{"2":{"74":2}}],["them",{"2":{"62":1,"72":1,"74":2,"77":2,"79":2}}],["these",{"2":{"62":1,"69":1,"72":2,"78":1,"80":1}}],["then",{"2":{"34":1,"35":2,"36":1,"74":1}}],["their",{"2":{"14":1,"53":1,"62":1,"74":3,"76":1,"77":1}}],["there",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1,"61":1,"77":1}}],["the",{"0":{"6":1,"17":1,"22":1,"23":1,"24":1,"26":1,"32":1,"35":2,"40":1,"41":1,"48":1,"49":1,"56":1,"60":1,"62":1,"78":1},"1":{"27":1,"28":1,"41":1,"61":1,"62":1,"63":1,"64":1},"2":{"2":1,"4":1,"6":3,"7":2,"8":4,"10":1,"11":2,"12":1,"13":6,"14":12,"15":1,"16":3,"17":2,"18":2,"19":1,"21":2,"22":3,"23":3,"24":3,"25":2,"27":4,"28":3,"31":1,"34":4,"35":13,"36":9,"37":4,"38":2,"39":2,"41":3,"43":5,"44":5,"45":1,"46":2,"49":3,"50":2,"51":2,"52":6,"53":11,"54":1,"55":3,"56":2,"57":2,"58":1,"60":3,"61":6,"62":4,"63":5,"64":9,"65":1,"68":2,"69":6,"70":4,"71":1,"72":6,"73":6,"74":15,"75":6,"76":8,"77":20,"78":17,"79":19,"80":30,"81":10}}],["tokens",{"2":{"78":1}}],["total",{"2":{"76":1}}],["together",{"2":{"74":1}}],["today",{"2":{"72":1}}],["tool",{"2":{"60":1}}],["tools",{"2":{"6":2,"22":1,"23":2,"24":3,"41":3,"49":3}}],["to",{"0":{"2":1,"35":1},"2":{"2":1,"6":1,"8":2,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":4,"17":1,"18":1,"22":1,"23":1,"24":1,"27":1,"28":2,"31":1,"34":3,"35":3,"37":2,"41":1,"43":2,"46":1,"49":1,"51":1,"52":1,"53":1,"54":1,"55":4,"56":1,"57":1,"60":2,"61":1,"62":1,"63":3,"69":6,"70":4,"71":1,"72":4,"73":4,"74":13,"75":2,"76":7,"77":11,"78":4,"79":9,"80":13,"81":3}}],["level",{"2":{"74":1}}],["learn",{"2":{"70":1}}],["lt",{"2":{"13":2,"14":4,"16":1,"19":6,"52":2,"53":3,"55":2,"58":3}}],["language",{"2":{"74":1}}],["lazy",{"2":{"74":2,"76":1,"78":1}}],["layers",{"2":{"76":1}}],["layer",{"0":{"81":1},"2":{"72":1,"74":4,"79":3,"81":1}}],["labelprefix",{"2":{"14":1,"53":1}}],["larger",{"2":{"13":1,"52":1}}],["latest",{"0":{"6":1,"22":1,"23":1,"24":1,"40":1,"41":1,"49":1},"1":{"41":1},"2":{"6":1,"22":1,"23":1,"24":1,"39":1,"41":1,"49":1,"63":1}}],["ll",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["l",{"2":{"6":6,"22":6,"23":6,"24":6,"27":1,"41":6,"49":6,"61":1}}],["list",{"2":{"68":1}}],["line",{"2":{"66":1}}],["linux",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"47":1,"49":2,"61":1,"63":1}}],["linuxfrom",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["light",{"2":{"18":1,"57":1,"74":1}}],["liveness",{"2":{"72":1}}],["live",{"2":{"13":1,"52":1}}],["like",{"2":{"2":1,"11":1,"27":1,"28":1,"46":1,"61":1,"66":1}}],["logic",{"2":{"80":1}}],["loglevel",{"2":{"14":1,"53":1}}],["lowercase",{"2":{"53":1}}],["load",{"2":{"11":2}}],["loadbalancer",{"0":{"11":1,"44":1},"2":{"10":1,"11":2,"44":3}}],["location",{"2":{"27":1,"28":1,"61":1}}],["localdev",{"2":{"53":1,"58":3,"59":1}}],["locally",{"0":{"62":1},"2":{"25":1,"58":1}}],["local",{"0":{"5":1,"30":2,"32":1,"33":1,"35":1,"47":1,"51":1},"1":{"6":1,"31":2,"32":2,"34":1,"48":1,"49":1},"2":{"6":6,"22":6,"23":6,"24":6,"25":1,"27":1,"28":1,"29":1,"32":1,"34":1,"35":1,"36":1,"37":1,"41":6,"46":1,"49":6,"51":3,"60":1,"61":1,"62":1,"64":4,"69":1,"70":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["locked",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2,"76":1}}],["looking",{"2":{"71":1}}],["look",{"2":{"2":1}}],["middleware",{"2":{"72":1}}],["minimal",{"2":{"64":1}}],["minimum",{"2":{"8":1,"62":1}}],["minutes",{"2":{"11":1}}],["md",{"2":{"67":1}}],["md```js",{"2":{"66":1}}],["msg",{"2":{"66":2}}],["modular",{"2":{"74":1}}],["monolithic",{"2":{"74":1}}],["moves",{"2":{"77":1}}],["move",{"2":{"27":1,"28":1,"61":1,"70":1}}],["mocha",{"2":{"18":1,"57":1}}],["more",{"0":{"68":1,"71":1},"2":{"6":1,"12":1,"14":1,"22":1,"23":1,"24":1,"41":1,"49":1,"70":1,"76":1,"81":1}}],["much",{"2":{"79":1}}],["multiple",{"2":{"13":1,"52":1,"72":1,"73":1}}],["must",{"2":{"12":1,"14":2,"53":2}}],["message",{"2":{"80":1}}],["mentioned",{"2":{"80":1}}],["meaning",{"2":{"78":1}}],["means",{"2":{"76":1}}],["mempool",{"2":{"77":1}}],["mev",{"2":{"77":2}}],["me",{"2":{"53":1,"58":3,"59":1}}],["meet",{"2":{"8":1,"69":1}}],["metamask",{"0":{"2":1},"2":{"2":1}}],["mv",{"2":{"6":6,"22":6,"23":6,"24":6,"27":1,"28":1,"41":6,"49":6,"61":1}}],["marked",{"2":{"80":1}}],["markdown",{"0":{"65":1},"1":{"66":1,"67":1,"68":1},"2":{"65":1,"68":1}}],["make",{"2":{"51":1,"60":1}}],["making",{"2":{"44":1}}],["many",{"2":{"69":1}}],["man",{"2":{"24":1,"41":1,"49":1}}],["manifest",{"2":{"14":1,"53":1}}],["manage",{"2":{"12":1}}],["manually",{"0":{"42":1},"1":{"43":1},"2":{"2":1,"43":2}}],["may",{"2":{"11":1,"63":1}}],["machine",{"2":{"37":1,"69":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["macos",{"2":{"6":1,"22":1,"23":1,"24":1,"27":1,"41":1,"47":1,"49":1,"61":2}}],["macx86",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["flow",{"0":{"75":1},"2":{"75":1}}],["flourish",{"2":{"69":1}}],["flag",{"2":{"43":1}}],["free",{"2":{"60":1}}],["from",{"0":{"28":1,"61":1},"2":{"35":1,"44":1,"61":1,"72":1,"74":4,"76":1,"77":1,"78":1,"79":2,"80":3,"81":1}}],["fear",{"2":{"76":1}}],["feature",{"2":{"74":1,"78":1}}],["features",{"2":{"66":1}}],["fetched",{"2":{"43":1}}],["fetch",{"0":{"42":1},"1":{"43":1}}],["few",{"2":{"11":1}}],["f613",{"2":{"15":1,"54":1}}],["facilitate",{"2":{"78":1}}],["faustian",{"2":{"72":1}}],["faucet",{"2":{"1":2,"7":2,"13":2,"16":2,"17":2,"18":1,"19":2,"20":1,"35":1,"38":4,"50":2,"52":2,"55":2,"56":2,"57":1,"58":2,"59":1}}],["faster",{"2":{"79":1}}],["fast",{"2":{"69":1,"72":1,"74":2,"79":1}}],["faq",{"0":{"37":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1},"2":{"70":1}}],["false",{"2":{"14":1,"53":1}}],["fifo",{"2":{"77":1}}],["filtered",{"2":{"80":1}}],["filters",{"2":{"80":1}}],["filter",{"2":{"74":1}}],["files",{"2":{"62":1,"64":1}}],["file=$rollup",{"2":{"14":1,"53":1}}],["file",{"2":{"14":2,"17":1,"34":1,"35":1,"36":1,"53":2,"56":1}}],["firm",{"2":{"74":1,"79":1,"80":2}}],["finalized",{"2":{"80":1}}],["finalization",{"2":{"78":1}}],["finality",{"2":{"74":1,"79":2}}],["final",{"2":{"74":1,"81":1}}],["find",{"2":{"35":1,"70":1,"71":1}}],["fit",{"2":{"74":1}}],["field",{"2":{"11":1}}],["fulfill",{"2":{"77":1}}],["full",{"2":{"4":1,"25":1,"46":1,"68":1,"70":1,"74":1,"75":1}}],["future",{"2":{"69":1,"76":1}}],["function",{"2":{"77":1}}],["functionality",{"2":{"60":1,"64":1}}],["funds",{"2":{"16":2,"55":2}}],["fund",{"0":{"16":1,"55":1},"2":{"35":1}}],["funded",{"2":{"13":2,"52":2}}],["f",{"2":{"10":1}}],["foundry",{"2":{"24":1,"41":1,"49":1}}],["found",{"2":{"10":1,"12":1,"35":1,"44":2,"74":1}}],["forcing",{"2":{"77":1}}],["fork",{"2":{"74":1,"76":1}}],["forge",{"2":{"24":1,"36":2,"41":1,"49":1}}],["for",{"0":{"18":1,"57":1},"2":{"6":2,"7":1,"11":1,"12":1,"14":3,"15":1,"18":1,"21":1,"22":2,"23":2,"24":2,"27":1,"35":1,"36":1,"38":1,"41":2,"44":1,"45":1,"49":2,"50":1,"53":2,"54":1,"57":1,"61":4,"62":3,"63":4,"64":4,"68":1,"71":1,"72":2,"73":1,"74":2,"76":5,"77":1,"78":1,"79":4,"80":4,"81":1}}],["follows",{"2":{"14":1,"35":1,"53":1,"63":1,"75":1}}],["following",{"2":{"6":2,"22":2,"23":2,"24":2,"35":1,"38":1,"39":1,"41":2,"43":1,"49":2,"62":1,"76":1}}],["follow",{"2":{"2":1,"8":1}}],["availability",{"0":{"81":1},"2":{"81":1}}],["available",{"0":{"64":1},"2":{"61":2}}],["away",{"2":{"80":1}}],["auction",{"2":{"77":1}}],["automatically",{"2":{"19":1,"43":1,"58":1}}],["after",{"2":{"74":1}}],["abstracts",{"2":{"80":1}}],["abstractions",{"2":{"77":1}}],["abstraction",{"2":{"77":1}}],["able",{"2":{"73":1}}],["about",{"2":{"70":1,"80":1}}],["above>",{"2":{"35":1}}],["above",{"2":{"35":2,"36":1,"44":1,"78":2}}],["amd64",{"2":{"63":1}}],["api",{"2":{"80":1}}],["apis",{"2":{"62":1}}],["approach",{"2":{"77":1}}],["app",{"2":{"62":1}}],["applications",{"2":{"62":1,"69":1}}],["apply",{"2":{"10":1,"74":1}}],["apple",{"2":{"6":4,"22":4,"23":4,"24":4,"41":4,"49":4}}],["act",{"2":{"78":1,"79":1}}],["actively",{"2":{"78":1}}],["activities",{"2":{"21":1}}],["acting",{"2":{"77":1}}],["actors",{"2":{"77":1}}],["actor",{"2":{"72":1}}],["achieve",{"2":{"69":1}}],["access",{"2":{"76":1}}],["accessible",{"2":{"58":1}}],["accepts",{"2":{"72":1}}],["accounts=",{"2":{"13":2,"52":2}}],["accounts",{"2":{"13":2,"52":2}}],["account",{"0":{"13":1,"15":1,"16":1,"52":1,"54":1,"55":1},"2":{"13":1,"15":6,"16":5,"35":4,"52":1,"54":6,"55":5,"64":3}}],["against",{"0":{"33":1},"1":{"34":1},"2":{"25":1,"62":1,"74":1}}],["ago",{"2":{"18":2,"57":2}}],["age",{"2":{"11":1,"18":1,"44":1,"57":1}}],["alternatively",{"2":{"74":1}}],["almost",{"2":{"72":1}}],["along",{"2":{"62":1,"79":1,"80":1}}],["alongside",{"2":{"13":1,"52":1,"80":1}}],["already",{"2":{"53":1,"80":1}}],["allows",{"2":{"69":1,"73":1,"74":2}}],["allow",{"2":{"63":1}}],["allowing",{"2":{"62":1}}],["allowed",{"2":{"14":1,"53":1}}],["all",{"2":{"14":1,"21":1,"53":1,"64":1,"69":1,"74":2,"77":1,"81":2}}],["alphanumeric",{"2":{"14":1,"53":1}}],["also",{"2":{"6":1,"11":1,"22":1,"23":1,"24":1,"41":1,"49":1,"63":1,"73":1,"77":1,"79":2,"80":1}}],["a8fb",{"2":{"13":1,"52":1}}],["atomic",{"2":{"69":1,"73":2}}],["at",{"2":{"13":2,"52":2,"72":1,"74":2}}],["any",{"2":{"78":1,"80":1}}],["another",{"2":{"78":1}}],["antithetical",{"2":{"72":1}}],["answer",{"2":{"12":1}}],["an",{"0":{"12":1},"2":{"12":2,"13":1,"14":1,"15":1,"20":1,"43":2,"52":1,"53":2,"54":1,"59":1,"64":2,"67":2,"69":1,"72":2,"73":1,"74":1,"76":1,"77":3,"78":1,"79":1}}],["and",{"0":{"29":1,"30":1,"34":1,"35":1,"37":1,"61":1,"62":1},"1":{"31":1,"32":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1},"2":{"8":4,"10":1,"14":1,"15":1,"21":1,"24":1,"25":1,"27":1,"28":1,"29":1,"34":3,"35":3,"36":5,"41":1,"43":1,"47":1,"49":1,"53":1,"54":1,"60":2,"61":3,"62":2,"63":1,"64":2,"69":4,"70":1,"72":6,"73":1,"74":2,"76":4,"77":5,"78":4,"79":4,"80":7,"81":2}}],["advantage",{"2":{"76":1}}],["admission",{"2":{"11":1,"44":1}}],["additional",{"2":{"66":1,"74":1}}],["adding",{"0":{"2":1}}],["address=8a2f",{"2":{"15":1,"54":1}}],["address",{"2":{"7":1,"13":5,"14":1,"15":2,"16":2,"20":1,"35":1,"38":1,"50":1,"52":5,"53":1,"54":2,"55":2,"59":1}}],["address>",{"2":{"3":1,"13":2,"14":1,"15":1,"20":1,"52":2,"53":1,"54":1,"59":1}}],["addr",{"2":{"3":3,"20":3,"59":3}}],["addr=",{"2":{"3":1,"20":1,"59":1}}],["add",{"2":{"2":1,"63":4,"77":1}}],["ask",{"2":{"76":1}}],["as",{"2":{"13":1,"14":2,"15":1,"35":1,"36":1,"43":1,"52":1,"53":2,"54":1,"60":2,"63":1,"69":2,"73":2,"75":1,"76":1,"77":5,"78":2,"79":3,"80":5,"81":1}}],["assumes",{"2":{"8":1}}],["astriarollupname",{"2":{"34":1}}],["astriaorg",{"2":{"6":8,"22":8,"23":8,"24":8,"27":1,"28":1,"29":1,"36":1,"41":8,"48":1,"49":8,"61":1,"62":1}}],["astria",{"0":{"0":1,"32":1,"35":1,"40":1,"48":1,"60":1,"78":1},"1":{"1":1,"2":1,"3":1,"41":1,"61":1,"62":1,"63":1,"64":1},"2":{"1":4,"3":1,"4":1,"6":34,"7":2,"14":4,"15":1,"16":1,"17":1,"18":1,"21":1,"22":34,"23":34,"24":34,"25":2,"27":7,"28":4,"32":1,"35":8,"36":2,"37":2,"38":5,"41":34,"43":2,"45":1,"46":1,"49":34,"50":2,"51":1,"53":3,"54":1,"55":1,"56":1,"57":1,"60":2,"61":6,"62":8,"64":3,"69":4,"70":2,"71":1,"72":4,"73":4,"74":9,"75":3,"76":5,"77":5,"78":3,"79":2,"80":2,"81":2}}],["aarch64",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["arbitrage",{"2":{"73":1}}],["architecture",{"0":{"74":1},"2":{"74":1,"77":1}}],["architectures",{"2":{"61":1}}],["archive",{"2":{"3":1}}],["are",{"2":{"7":1,"38":1,"50":1,"61":2,"69":1,"72":1,"73":1,"74":3,"76":1,"77":1,"78":5,"79":4,"80":4}}],["arm64",{"2":{"27":1,"61":2,"63":1}}],["arm",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["a",{"0":{"8":1,"12":1,"30":2,"33":2,"54":1},"1":{"31":2,"32":2,"34":2},"2":{"2":1,"4":2,"6":1,"8":3,"10":1,"11":2,"12":4,"13":3,"14":1,"22":1,"23":1,"24":1,"25":1,"27":1,"28":1,"35":1,"36":1,"41":1,"43":1,"44":1,"46":4,"49":1,"51":2,"52":3,"60":1,"61":1,"62":2,"64":1,"67":8,"69":4,"70":3,"72":5,"73":4,"74":6,"76":3,"77":13,"78":4,"79":2,"80":2,"81":2}}],["ephemerally",{"2":{"80":1}}],["effectively",{"2":{"80":1}}],["either",{"2":{"74":1}}],["economic",{"2":{"74":1}}],["economically",{"2":{"69":1,"77":1}}],["ecosystem",{"2":{"74":1}}],["ec20",{"2":{"15":1,"54":1}}],["eager",{"2":{"70":1}}],["easy",{"2":{"69":1}}],["easily",{"2":{"60":1}}],["each",{"2":{"69":2}}],["editor",{"2":{"63":1}}],["e",{"2":{"27":1,"61":1,"63":1}}],["eg",{"2":{"14":2}}],["enable",{"2":{"79":1}}],["enabling",{"2":{"73":1}}],["engine",{"2":{"78":1}}],["end",{"2":{"74":1}}],["endpoints",{"0":{"7":1,"19":1,"38":1,"50":1,"58":1},"2":{"7":1,"19":1,"38":1,"50":1,"58":1,"70":1}}],["en",{"2":{"24":1,"41":1,"49":1}}],["enter",{"2":{"16":1,"55":1}}],["envisions",{"2":{"69":1}}],["environment",{"0":{"51":1},"2":{"14":1,"15":1,"35":1,"43":1,"51":1,"53":1,"54":1,"64":1}}],["env",{"2":{"14":2,"35":1,"36":3,"53":2}}],["evaluation",{"2":{"74":1}}],["every",{"2":{"77":1}}],["everything",{"2":{"36":1,"62":1,"71":1}}],["even",{"2":{"72":1}}],["eventually",{"2":{"11":1}}],["evm",{"0":{"0":1},"1":{"1":1,"2":1,"3":1},"2":{"1":3,"3":1,"13":1,"36":3,"38":6,"39":1,"52":1,"76":1}}],["excludes",{"2":{"78":1}}],["exciting",{"2":{"73":1}}],["executed",{"2":{"78":2,"80":1}}],["execution",{"2":{"76":1,"78":1,"79":1,"80":5}}],["executing",{"2":{"72":1}}],["executor",{"2":{"19":1,"20":1,"58":1,"59":1}}],["exist",{"2":{"35":1}}],["extensions",{"2":{"65":1,"68":1}}],["extension",{"0":{"65":1},"1":{"66":1,"67":1,"68":1}}],["external",{"0":{"11":1},"2":{"11":2,"12":1,"44":2}}],["extract",{"2":{"27":1,"61":1}}],["expose",{"2":{"76":1}}],["export",{"2":{"13":2,"14":3,"15":2,"52":2,"53":2,"54":2,"66":1}}],["explicit",{"2":{"77":1}}],["explained",{"2":{"76":1}}],["explorer",{"2":{"1":1,"19":1,"38":2,"58":1}}],["experience",{"2":{"72":1}}],["examples",{"0":{"65":1},"1":{"66":1,"67":1,"68":1},"2":{"77":1}}],["example",{"2":{"12":1,"36":1,"77":1}}],["etherium",{"2":{"29":1,"31":1,"34":1}}],["ethereum",{"2":{"29":1}}],["eth",{"2":{"3":2,"20":1,"59":1}}],["swap",{"2":{"74":1,"76":1}}],["smart",{"2":{"69":1}}],["spun",{"2":{"81":1}}],["speed",{"2":{"74":1}}],["specific",{"2":{"74":1,"76":1}}],["specified",{"2":{"43":1}}],["specify",{"2":{"13":2,"52":2,"73":1}}],["spf13",{"2":{"63":1}}],["script",{"2":{"36":1}}],["scout",{"2":{"1":1}}],["safe",{"2":{"80":1}}],["satisfy",{"2":{"76":1}}],["sacrificing",{"2":{"72":1}}],["save",{"2":{"36":1}}],["same",{"2":{"35":1,"36":1,"73":1,"80":1}}],["side",{"2":{"80":1}}],["similarly",{"2":{"77":1}}],["simply",{"2":{"76":1,"77":2}}],["simple",{"2":{"60":1,"69":1}}],["single",{"2":{"69":1,"72":3}}],["silicon",{"2":{"27":1,"61":1}}],["sigs",{"2":{"24":1,"41":1,"49":1}}],["syntax",{"0":{"66":1},"2":{"66":1}}],["system",{"2":{"28":1}}],["systems",{"2":{"24":1,"41":1,"49":1}}],["symbol",{"2":{"1":1}}],["supply",{"2":{"77":2}}],["support",{"2":{"12":1}}],["subset",{"2":{"74":1}}],["submission",{"2":{"79":1}}],["submissions",{"2":{"76":1}}],["submitted",{"2":{"77":1}}],["submits",{"2":{"77":2}}],["submit",{"2":{"15":1,"54":1,"77":1}}],["submodules",{"2":{"36":1}}],["such",{"2":{"73":2,"78":1}}],["sure",{"2":{"51":1}}],["store",{"2":{"80":2}}],["stubbing",{"2":{"77":1}}],["style",{"2":{"74":1}}],["still",{"2":{"74":1,"77":1}}],["strongest",{"2":{"74":1}}],["straight",{"2":{"70":1}}],["string",{"2":{"14":2,"53":1}}],["stack",{"2":{"25":1,"60":1,"62":1,"64":3,"75":1}}],["stateless",{"2":{"80":1}}],["state",{"2":{"74":3,"76":1}}],["status",{"2":{"18":1,"57":1}}],["static",{"2":{"10":1}}],["starting",{"2":{"77":1}}],["started",{"2":{"24":1,"41":1,"49":1,"70":1}}],["startup",{"0":{"18":1,"57":1}}],["start",{"0":{"31":1,"32":1,"34":1},"2":{"8":2,"18":1,"24":1,"31":1,"34":1,"41":1,"49":1,"57":1,"70":2}}],["svc",{"2":{"11":1,"44":1}}],["soft",{"2":{"74":1,"79":1,"80":2}}],["software",{"0":{"39":1},"2":{"39":1}}],["sovereignty",{"2":{"69":1,"76":1}}],["source",{"0":{"28":1},"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1,"79":1}}],["something",{"2":{"11":1,"34":1}}],["some",{"2":{"3":1,"20":1,"34":1,"59":1,"65":1,"80":1}}],["shiki",{"2":{"66":1}}],["shjust",{"2":{"51":1}}],["show",{"2":{"64":1}}],["shown",{"2":{"35":1,"78":2}}],["should",{"0":{"70":1},"2":{"2":1,"11":2,"35":1,"36":1,"44":1,"69":1,"70":1,"71":1}}],["shapes",{"2":{"80":1}}],["share",{"2":{"69":1}}],["shared",{"2":{"4":1,"7":1,"15":1,"46":1,"50":1,"54":1,"69":2,"70":1,"72":1,"76":2,"78":1}}],["shastria",{"2":{"14":1,"53":1}}],["sh",{"2":{"6":1,"23":1,"24":2,"41":2,"49":2}}],["sent",{"2":{"79":2}}],["sends",{"2":{"80":1}}],["sending",{"2":{"80":1}}],["send",{"2":{"3":1,"16":1,"20":1,"55":1,"59":1}}],["server",{"2":{"80":1}}],["serves",{"2":{"77":1}}],["service",{"2":{"8":1,"44":1}}],["separation",{"2":{"77":2}}],["searcher",{"2":{"77":3}}],["secure",{"2":{"69":1}}],["sections",{"2":{"76":1}}],["section",{"2":{"21":1,"70":1,"80":1}}],["sequencing",{"2":{"69":1,"76":2,"78":1}}],["sequencers",{"0":{"72":1},"2":{"69":3,"72":1}}],["sequencer",{"0":{"15":1,"16":1,"30":1,"32":1,"33":1,"35":1,"42":1,"43":1,"54":1,"55":1,"78":1},"1":{"31":1,"32":1,"34":1,"43":1},"2":{"4":1,"7":5,"14":4,"15":8,"16":4,"17":1,"25":1,"35":6,"38":4,"39":2,"43":6,"46":1,"50":5,"53":4,"54":8,"55":4,"56":1,"60":1,"62":1,"64":4,"69":1,"70":2,"72":4,"74":1,"76":1,"77":4,"78":7,"79":4,"80":3,"81":1}}],["select",{"2":{"53":1}}],["several",{"2":{"10":1,"19":1,"58":1,"62":1}}],["sees",{"2":{"80":1}}],["seen",{"2":{"12":1,"80":2}}],["see",{"2":{"6":1,"11":2,"22":1,"23":1,"24":1,"36":1,"41":1,"46":1,"49":1,"74":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["sets",{"2":{"51":1}}],["setting",{"2":{"35":1}}],["settings",{"2":{"2":1,"63":2}}],["setup",{"0":{"35":1,"51":1},"2":{"51":1}}],["set",{"2":{"3":1,"14":1,"43":3,"53":1,"72":1,"74":1,"78":1}}],["s",{"0":{"13":1,"52":1},"2":{"2":1,"8":2,"11":1,"44":1,"53":1,"62":1,"69":1,"72":2,"73":1,"74":3,"77":4,"79":2,"80":2}}],["optionally",{"2":{"78":1}}],["open",{"2":{"34":1,"35":1,"36":1,"63":1}}],["over",{"2":{"76":1,"77":1}}],["overview",{"0":{"21":1,"25":1,"46":1,"74":1},"1":{"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":1},"2":{"70":1}}],["own",{"2":{"37":2,"69":2,"72":3,"73":2,"74":2,"75":2,"76":3,"77":3,"78":2,"79":2,"80":2,"81":2}}],["other",{"2":{"35":1,"62":1,"74":1,"77":1}}],["out",{"2":{"37":2,"68":1,"69":3,"70":1,"71":1,"72":2,"73":2,"74":5,"75":2,"76":3,"77":3,"78":2,"79":2,"80":3,"81":2}}],["output",{"2":{"27":1,"61":1,"66":1,"67":1}}],["our",{"2":{"12":1,"51":2,"70":2,"77":2}}],["order",{"2":{"74":1,"81":1}}],["ordering",{"2":{"73":1}}],["ordered",{"2":{"72":1,"78":2,"79":1,"81":1}}],["or",{"2":{"13":1,"28":1,"43":1,"52":1,"63":1,"71":1,"74":1,"76":1}}],["org",{"2":{"1":3,"3":1,"7":2,"14":3,"16":1,"38":5,"50":2,"53":2,"55":1}}],["of",{"2":{"8":2,"12":1,"13":3,"14":2,"18":1,"20":1,"34":1,"52":3,"53":2,"57":1,"59":1,"62":1,"63":1,"64":1,"65":1,"68":1,"69":4,"72":1,"73":1,"74":5,"76":3,"77":6,"78":6,"79":4,"80":3,"81":1}}],["official",{"2":{"2":1}}],["only",{"2":{"62":1,"73":2,"78":1,"80":1}}],["one",{"2":{"31":1,"69":1}}],["once",{"2":{"9":1,"34":1,"63":1,"70":1,"77":1,"81":1}}],["on",{"2":{"4":2,"12":1,"13":1,"15":1,"28":1,"37":3,"46":2,"47":1,"52":1,"54":1,"63":1,"64":1,"69":3,"70":3,"71":1,"72":6,"73":5,"74":3,"75":3,"76":3,"77":4,"78":5,"79":3,"80":5,"81":3}}],["ondora",{"2":{"1":1}}],["ocean",{"0":{"4":1},"1":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"2":{"4":1,"8":2,"10":1,"11":2,"37":1,"69":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["rule",{"2":{"74":1}}],["rustjust",{"2":{"36":1}}],["rust",{"2":{"36":1}}],["rustgit",{"2":{"36":1}}],["runs",{"2":{"39":1,"62":1,"64":1,"80":1}}],["running",{"2":{"18":4,"43":1,"51":1,"57":4,"70":1,"80":1}}],["run",{"0":{"30":1,"33":1,"35":1,"61":1,"62":1},"1":{"31":1,"32":1,"34":1},"2":{"10":1,"14":1,"27":1,"28":2,"31":1,"32":1,"34":1,"35":3,"36":1,"51":1,"53":1,"60":1,"61":1,"62":4,"64":1,"77":2}}],["rolllups",{"2":{"79":1}}],["rollups",{"0":{"76":1},"2":{"69":2,"72":3,"73":1,"74":7,"80":1}}],["rollups=",{"2":{"35":1}}],["rollup",{"0":{"13":1,"14":1,"17":1,"18":1,"19":1,"20":1,"30":1,"33":1,"52":1,"53":1,"56":1,"57":1,"58":1,"59":1,"73":1},"1":{"31":1,"32":1,"34":1},"2":{"4":1,"13":5,"14":15,"15":1,"17":2,"18":5,"19":4,"25":1,"31":1,"34":3,"35":3,"37":2,"43":3,"45":1,"46":2,"51":1,"52":5,"53":15,"54":1,"56":2,"57":5,"58":4,"60":1,"62":2,"69":5,"70":1,"72":2,"73":5,"74":3,"75":2,"76":8,"77":4,"78":4,"79":2,"80":9,"81":3}}],["roles",{"2":{"77":1}}],["role",{"2":{"77":2,"80":1}}],["root",{"2":{"64":1,"74":2}}],["routing",{"2":{"12":1}}],["raw",{"2":{"10":1}}],["ram",{"2":{"8":2}}],["regularly",{"2":{"80":1}}],["region",{"2":{"8":1}}],["reduce",{"2":{"72":1}}],["real",{"2":{"77":2}}],["reach",{"2":{"71":1}}],["read",{"0":{"70":1},"2":{"76":1,"80":1}}],["ready",{"2":{"18":1,"57":1}}],["retaining",{"2":{"69":1}}],["return",{"2":{"44":1,"66":2}}],["retrieve",{"2":{"43":1,"44":1,"74":2}}],["requiring",{"2":{"77":1}}],["required",{"2":{"62":1,"80":1}}],["requires",{"2":{"28":1,"29":1,"63":1}}],["requirements",{"2":{"8":1,"69":1}}],["requirement",{"2":{"8":1}}],["request",{"2":{"44":1}}],["relevant",{"2":{"80":2}}],["release",{"0":{"61":1},"2":{"6":3,"22":3,"23":3,"24":3,"41":3,"49":3}}],["releases",{"2":{"6":6,"22":6,"23":6,"24":6,"27":1,"41":6,"49":6,"61":2}}],["relying",{"2":{"72":1}}],["relayer",{"0":{"79":1},"2":{"39":1,"78":1,"79":3,"80":3}}],["replacing",{"2":{"69":1}}],["replace",{"2":{"14":2,"53":2}}],["repository",{"2":{"71":1}}],["repo",{"2":{"28":1,"34":1,"36":1,"51":1,"63":1,"74":1,"76":1}}],["responsibility",{"2":{"79":1}}],["resistant",{"2":{"69":1}}],["resistance",{"2":{"69":1,"72":1}}],["resource",{"2":{"45":1}}],["resources",{"2":{"10":1,"21":1}}],["resultant",{"2":{"74":1}}],["results",{"2":{"74":1}}],["result",{"2":{"44":1}}],["restart",{"2":{"31":2,"34":2}}],["restarts",{"2":{"18":1,"57":1}}],["reference",{"2":{"8":1,"77":1}}],["re",{"2":{"8":1,"70":1,"71":1,"74":1}}],["remote",{"0":{"33":1,"35":1},"1":{"34":1},"2":{"7":1,"25":1,"35":3,"38":1,"46":2,"50":1}}],["receives",{"2":{"77":2}}],["received",{"2":{"16":1,"55":1,"80":1}}],["receiving",{"2":{"76":1}}],["recurse",{"2":{"36":1}}],["recommend",{"2":{"13":1,"52":1}}],["record",{"0":{"12":1},"2":{"12":3}}],["rec",{"2":{"3":1,"20":1,"59":1}}],["ria",{"2":{"1":1}}],["rpc",{"2":{"1":2,"3":3,"7":2,"14":3,"19":1,"20":1,"38":4,"50":2,"53":3,"58":1,"59":1}}],["crypto",{"2":{"72":1}}],["cross",{"0":{"73":1},"2":{"69":1,"73":1}}],["creating",{"2":{"43":1}}],["creation",{"2":{"14":1,"53":1}}],["created",{"2":{"9":1,"11":2,"13":1,"35":1,"52":1,"74":1}}],["create",{"0":{"8":1,"12":1,"13":1,"14":1,"15":1,"52":1,"53":1,"54":1},"2":{"8":1,"10":1,"12":2,"13":1,"14":3,"15":2,"17":1,"35":1,"43":1,"51":1,"52":1,"53":3,"54":2,"56":1,"64":1,"77":1}}],["censorship",{"2":{"69":2,"72":1}}],["centralization",{"2":{"72":2}}],["centralized",{"2":{"69":1,"72":1}}],["center>nginx",{"2":{"44":1}}],["center>",{"2":{"44":3}}],["celestia",{"2":{"8":1,"14":1,"18":1,"53":1,"57":1,"80":2,"81":3}}],["cp",{"2":{"36":1}}],["cd",{"2":{"28":1,"29":1,"36":2,"62":1}}],["choose",{"2":{"74":1}}],["choosing",{"2":{"8":1,"34":1}}],["choice",{"2":{"20":1,"59":1,"74":1}}],["chosen",{"2":{"14":1}}],["charts",{"2":{"51":1}}],["characters",{"2":{"14":1}}],["chapter",{"2":{"24":1,"41":1,"49":1}}],["chainid",{"2":{"14":1,"34":1,"53":1}}],["chain",{"2":{"1":1,"14":1,"34":1,"35":1,"36":2,"53":2,"77":2,"78":1}}],["checkout",{"2":{"29":1,"36":1}}],["check",{"2":{"11":1,"27":1,"37":2,"44":1,"45":1,"61":1,"68":1,"69":2,"70":1,"71":1,"72":2,"73":2,"74":3,"75":2,"76":2,"77":2,"78":2,"79":2,"80":2,"81":2}}],["collections",{"2":{"79":1}}],["collects",{"2":{"79":1}}],["cost",{"2":{"72":1}}],["costs",{"2":{"72":1}}],["cobra",{"2":{"63":5}}],["code",{"2":{"63":2,"77":1,"78":1,"79":1,"80":1}}],["correct",{"2":{"63":1}}],["correctly",{"2":{"36":1,"62":1}}],["corresponding",{"2":{"14":1,"53":1}}],["considered",{"2":{"80":1,"81":1}}],["consensus",{"2":{"78":1}}],["console",{"2":{"11":1}}],["conditional",{"2":{"73":1}}],["conductor",{"0":{"80":1},"2":{"35":2,"36":1,"39":1,"62":1,"76":3,"77":1,"78":1,"79":2,"80":6}}],["contains",{"2":{"77":1}}],["containers",{"0":{"67":1}}],["contract",{"2":{"69":1}}],["controller",{"0":{"10":1},"2":{"10":2,"11":2,"12":1,"44":2,"51":1}}],["continuing",{"2":{"51":1}}],["confidence",{"2":{"74":1}}],["confirmations",{"2":{"69":1,"72":1,"74":2}}],["confirm",{"2":{"62":1}}],["config",{"0":{"14":1,"53":1},"2":{"14":7,"17":1,"34":1,"35":1,"43":2,"53":7,"56":1,"64":1}}],["configuring",{"2":{"36":1}}],["configuration",{"2":{"12":1,"14":2,"53":2,"62":1}}],["configured",{"2":{"19":2,"58":1}}],["configure",{"0":{"9":1},"2":{"8":1,"9":1,"12":1,"36":1,"62":1}}],["conf",{"2":{"14":3,"17":1,"53":3,"56":1}}],["combined",{"2":{"74":1}}],["come",{"2":{"72":1,"78":1}}],["cometbft",{"2":{"39":1,"62":1,"77":1,"78":1}}],["compressing",{"2":{"72":1}}],["completely",{"2":{"69":1}}],["compatible",{"2":{"51":1}}],["composability",{"0":{"73":1},"2":{"69":1}}],["composer",{"0":{"77":1},"2":{"35":2,"36":1,"39":1,"62":1,"76":3,"77":4,"78":1}}],["components",{"0":{"35":1},"2":{"35":1,"62":1,"74":3,"77":1,"78":2}}],["commit",{"2":{"80":2}}],["commits",{"2":{"78":1,"79":2}}],["commitments",{"2":{"80":1}}],["commitment",{"2":{"74":2,"80":1}}],["communicate",{"0":{"35":1}}],["community",{"0":{"21":1},"2":{"21":1}}],["command>",{"2":{"63":1}}],["command",{"2":{"14":1,"35":1,"43":1,"53":1,"63":1,"64":2}}],["commands",{"0":{"64":1},"2":{"14":1,"35":2,"53":1,"63":1}}],["comma",{"2":{"13":1,"52":1}}],["com",{"2":{"6":9,"8":1,"10":1,"11":1,"12":1,"22":9,"23":9,"24":10,"27":1,"28":2,"29":2,"36":1,"41":10,"48":1,"49":10,"61":1,"62":1,"63":1}}],["cases",{"2":{"69":1}}],["casey",{"2":{"28":1,"29":1}}],["cast",{"0":{"3":1},"2":{"24":1,"41":1,"49":1}}],["can",{"2":{"10":1,"11":1,"12":2,"13":2,"14":1,"18":1,"27":1,"28":1,"31":1,"34":1,"35":1,"43":2,"44":2,"45":1,"52":2,"53":2,"57":1,"61":1,"63":2,"70":2,"71":1,"73":1,"74":3,"76":1,"77":1,"78":1}}],["cargo",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["claimed",{"2":{"53":2}}],["clean",{"2":{"31":1,"34":1,"64":2}}],["clone",{"0":{"48":1},"2":{"28":1,"29":1,"36":2,"48":1,"62":1}}],["cloud",{"2":{"11":1,"70":1}}],["clients",{"2":{"74":1}}],["cli",{"0":{"26":1,"40":1,"60":1,"61":1,"62":1},"1":{"27":1,"28":1,"41":1,"61":1,"62":1,"63":1,"64":1},"2":{"6":32,"14":1,"15":1,"16":1,"17":2,"22":32,"23":32,"24":32,"25":1,"27":2,"28":3,"36":1,"41":32,"43":3,"49":32,"53":1,"54":1,"55":1,"56":2,"60":1,"61":3,"62":3,"63":5,"64":2}}],["clusterip",{"2":{"11":1,"44":1}}],["cluster",{"0":{"8":1},"2":{"4":1,"8":2,"9":1,"11":1,"14":1,"18":1,"38":1,"44":1,"45":1,"46":2,"48":1,"51":4,"53":1,"57":1,"70":1,"81":1}}],["currently",{"2":{"76":1,"77":2}}],["currency",{"2":{"1":1}}],["curl",{"0":{"27":1},"2":{"6":3,"22":3,"23":3,"24":3,"27":1,"41":3,"44":2,"49":3,"61":1}}],["custom",{"0":{"67":1},"2":{"2":1}}],["ie",{"2":{"78":2}}],["implements",{"2":{"80":1}}],["implementations",{"2":{"77":2}}],["implementation",{"2":{"76":1,"77":8}}],["improved",{"2":{"72":1,"79":1}}],["immediately",{"2":{"74":1,"79":1}}],["image",{"2":{"2":1}}],["i",{"0":{"70":1,"71":1}}],["ip",{"0":{"11":1},"2":{"11":3,"12":1,"44":3}}],["its",{"2":{"72":1,"77":2}}],["it",{"2":{"10":1,"11":1,"43":2,"60":1,"73":1,"74":2,"77":5,"78":3,"80":8,"81":1}}],["if",{"0":{"71":1},"2":{"8":1,"27":1,"28":1,"31":1,"34":1,"35":1,"36":1,"43":2,"46":1,"61":1,"70":1,"71":1,"73":2,"74":1}}],["io",{"2":{"6":1,"23":1,"24":2,"41":2,"49":2}}],["is",{"2":{"6":1,"9":1,"14":1,"22":1,"23":1,"24":1,"41":1,"43":1,"44":1,"49":1,"51":1,"53":1,"60":1,"63":1,"67":10,"69":1,"72":3,"73":1,"74":1,"75":1,"76":1,"77":3,"78":3,"79":1,"80":6,"81":4}}],["incentivized",{"2":{"77":1}}],["inclusion",{"2":{"73":1}}],["includes",{"2":{"78":1}}],["include",{"2":{"71":1,"74":1,"77":2}}],["included",{"2":{"13":1,"14":1,"52":1,"53":1,"73":3,"74":1}}],["individual",{"2":{"74":1,"79":1}}],["industries",{"2":{"69":1}}],["input",{"2":{"66":1,"67":1}}],["init",{"2":{"31":1,"32":1,"34":1,"35":1,"62":1,"64":1}}],["initializes",{"2":{"64":1}}],["initialized",{"2":{"34":1}}],["initialize",{"0":{"34":1}}],["initialblockheight",{"2":{"14":1,"53":1}}],["initial",{"2":{"13":1,"14":1,"35":1,"43":5,"52":1,"53":1}}],["intention",{"2":{"77":1}}],["interface",{"2":{"76":2,"77":1}}],["interfaces",{"2":{"76":2}}],["interacts",{"2":{"62":1}}],["interact",{"0":{"20":1,"59":1},"2":{"60":1,"77":1}}],["integration",{"2":{"76":1}}],["into",{"2":{"16":1,"55":1,"72":1,"74":1,"77":1}}],["introduction",{"0":{"69":1},"1":{"70":1,"71":1},"2":{"81":1}}],["intro",{"2":{"6":1,"23":1,"24":1,"41":1,"49":1}}],["info",{"2":{"12":1,"47":1,"67":4}}],["information",{"0":{"1":1,"44":1,"45":1},"2":{"34":1,"80":1}}],["ingress",{"0":{"10":1,"45":1},"2":{"10":2,"11":3,"12":2,"14":1,"44":3,"45":2,"51":1,"53":1}}],["instructions",{"2":{"8":1,"37":2,"69":2,"72":2,"73":2,"74":2,"75":2,"76":2,"77":2,"78":2,"79":2,"80":2,"81":2}}],["installed",{"2":{"28":1}}],["installation",{"2":{"24":2,"41":2,"49":2}}],["install",{"0":{"6":1,"22":1,"23":1,"24":1,"40":1,"41":1,"49":1,"61":1},"1":{"41":1},"2":{"6":5,"8":2,"10":1,"22":4,"23":5,"24":5,"28":1,"29":1,"36":1,"41":5,"49":5,"63":3}}],["in",{"2":{"6":1,"8":2,"11":1,"13":1,"14":2,"22":1,"23":1,"24":1,"27":1,"28":2,"31":2,"34":1,"36":4,"41":1,"49":1,"51":1,"52":1,"53":2,"61":1,"62":1,"63":2,"65":1,"73":2,"74":3,"76":3,"77":4,"78":2,"79":1,"80":2,"81":1}}],["ide",{"2":{"63":1}}],["ids",{"2":{"53":1}}],["id>",{"2":{"14":2,"53":2}}],["id=",{"2":{"14":1,"35":1,"36":1,"53":1}}],["id",{"2":{"1":1,"14":2,"34":1,"36":1,"53":3}}],["drive",{"2":{"80":2}}],["d",{"2":{"27":1,"28":1,"61":1}}],["diagram",{"2":{"78":1}}],["directly",{"2":{"77":1,"80":1}}],["directory",{"2":{"28":1,"35":2,"62":1}}],["dir",{"2":{"31":1,"34":1}}],["different",{"2":{"21":1,"43":1,"69":1,"73":1,"78":1}}],["digit",{"2":{"14":1,"34":1,"36":1}}],["digitalocean",{"2":{"8":1,"11":1}}],["digital",{"0":{"4":1},"1":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1},"2":{"4":1,"8":2,"10":1,"11":2,"37":1,"69":1,"72":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1}}],["da",{"2":{"79":5,"80":1}}],["data",{"0":{"81":1},"2":{"36":1,"64":2,"66":2,"80":6,"81":3}}],["dangerous",{"2":{"67":2}}],["danger",{"2":{"13":1,"52":1,"67":2}}],["darwin",{"2":{"6":4,"22":4,"23":4,"24":4,"27":1,"41":4,"49":4,"61":1}}],["dns",{"2":{"12":1,"19":1}}],["deterministic",{"2":{"80":2}}],["detail",{"2":{"76":1}}],["details",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1,"67":4,"76":1}}],["decentralization",{"2":{"72":1}}],["decentralized",{"0":{"72":1},"2":{"69":3,"72":2,"74":1,"78":1}}],["demonstrates",{"2":{"65":1}}],["delivery",{"2":{"78":1}}],["deliminated",{"2":{"13":1,"52":1}}],["deletes",{"2":{"64":2}}],["default",{"2":{"35":2,"66":2}}],["debugging",{"0":{"37":1},"1":{"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1}}],["debug",{"2":{"14":1,"53":1}}],["developer",{"2":{"70":1}}],["developers",{"2":{"62":1,"76":1}}],["development",{"0":{"63":1},"1":{"64":1},"2":{"60":1,"62":1,"63":1,"64":1}}],["dev",{"2":{"14":1,"18":1,"28":1,"29":2,"32":2,"35":2,"45":1,"48":1,"51":2,"53":1,"57":1,"62":3,"64":5,"81":1}}],["devnet",{"2":{"1":4,"3":1,"7":2,"14":2,"16":1,"37":2,"38":5,"39":1,"50":2,"53":2,"55":1,"69":2,"72":2,"73":2,"74":2,"75":2,"76":2,"77":2,"78":2,"79":2,"80":2,"81":2}}],["destination",{"2":{"81":1}}],["destined",{"2":{"78":1}}],["design",{"2":{"77":4}}],["designed",{"2":{"60":1,"76":1}}],["desired",{"2":{"13":1,"52":1}}],["description",{"2":{"14":1,"53":1,"64":1}}],["desktop",{"2":{"6":2,"22":2,"23":2,"24":2,"41":2,"49":2}}],["depth",{"2":{"81":1}}],["dependency",{"2":{"60":1}}],["dependencies",{"0":{"5":1,"47":1},"1":{"6":1,"48":1,"49":1},"2":{"62":1}}],["depend",{"2":{"12":1,"63":1,"72":1}}],["deploys",{"2":{"76":1}}],["deployment",{"2":{"17":1,"46":1,"56":1}}],["deploy",{"0":{"10":1,"17":1,"56":1},"2":{"10":2,"17":1,"37":2,"46":1,"51":2,"56":1,"69":2,"72":2,"73":2,"74":2,"75":2,"76":2,"77":2,"78":2,"79":2,"80":2,"81":2}}],["deploying",{"2":{"4":1,"25":1,"46":1,"69":2,"70":1}}],["does",{"2":{"80":2}}],["doesn",{"2":{"35":1}}],["domains",{"2":{"12":1}}],["domain",{"2":{"12":1}}],["do",{"2":{"10":1,"76":1}}],["doc",{"2":{"28":1,"29":1}}],["doctl",{"0":{"9":1},"2":{"8":2}}],["docs",{"2":{"6":3,"8":1,"22":1,"23":3,"24":5,"41":5,"49":5}}],["docker",{"2":{"6":2,"22":2,"23":2,"24":5,"41":5,"49":5,"51":1}}],["documentation",{"2":{"2":1,"10":1,"68":1,"71":1}}],["downloaded",{"2":{"64":1}}],["downloads",{"2":{"64":1}}],["download",{"0":{"26":1,"29":1},"1":{"27":1,"28":1},"2":{"6":6,"22":6,"23":6,"24":6,"27":2,"41":6,"49":6,"61":3,"62":1}}],["dora",{"2":{"1":1}}],["dusknet",{"0":{"7":1,"50":1}}],["dusk",{"2":{"1":4,"3":1,"7":2,"14":2,"16":1,"38":5,"39":1,"48":1,"50":2,"53":2,"55":1}}],["31357",{"2":{"44":1}}],["31623",{"2":{"44":1}}],["37",{"2":{"39":1,"62":1}}],["30158",{"2":{"11":1}}],["32656",{"2":{"11":1}}],["35",{"2":{"11":1}}],["36",{"2":{"7":1,"38":1,"50":1}}],["34",{"2":{"7":2,"38":4,"44":4,"50":2}}],["3",{"2":{"1":4,"3":1,"6":8,"7":2,"14":2,"16":1,"18":2,"22":8,"23":8,"24":8,"27":1,"38":5,"39":2,"41":8,"48":1,"49":8,"50":2,"53":2,"55":1,"57":2,"61":2}}],["native",{"2":{"78":1}}],["naive",{"2":{"77":2}}],["navigate",{"2":{"16":1,"35":1,"55":1}}],["namespace",{"2":{"14":1,"53":1,"80":1}}],["name>",{"2":{"14":4,"18":4,"34":1,"35":2,"53":4,"57":4}}],["name=",{"2":{"14":1,"53":1}}],["name",{"2":{"1":1,"7":1,"12":1,"14":6,"19":3,"20":1,"34":1,"35":1,"38":1,"50":1,"53":6,"58":3,"59":1}}],["number>",{"2":{"34":1,"36":1}}],["number",{"2":{"14":1}}],["n",{"2":{"11":1,"18":1,"44":1,"45":1,"57":1}}],["nginx",{"0":{"10":1},"2":{"10":2,"11":3,"12":1,"44":4}}],["nod",{"2":{"74":1}}],["nodes",{"2":{"8":1,"74":1,"77":1,"78":1}}],["node",{"0":{"17":1,"56":1},"2":{"4":1,"8":1,"14":1,"17":1,"18":1,"25":1,"46":1,"53":1,"56":1,"57":1,"70":1,"81":1}}],["none>",{"2":{"11":1,"44":1}}],["no",{"2":{"8":1,"77":1}}],["note",{"2":{"35":1,"78":1}}],["notes",{"2":{"6":1,"22":1,"23":1,"24":1,"41":1,"49":1}}],["not",{"2":{"8":1,"14":1,"43":1,"44":2,"47":1,"53":1,"76":1,"78":3}}],["never",{"2":{"13":1,"52":1}}],["newer",{"2":{"63":1}}],["new",{"0":{"8":1,"15":1,"54":1},"2":{"8":1,"11":1,"13":2,"36":1,"52":2,"63":3,"74":1,"78":1,"80":1,"81":1}}],["needs",{"2":{"74":1,"76":1}}],["need",{"0":{"71":1},"2":{"6":1,"8":1,"22":1,"23":1,"24":1,"31":1,"34":2,"41":1,"43":1,"49":1,"63":1,"71":1,"76":1}}],["networkid",{"2":{"14":1,"53":1}}],["networking",{"2":{"11":1}}],["network",{"0":{"1":1},"2":{"1":2,"2":1,"4":1,"13":1,"14":6,"15":1,"46":1,"52":1,"53":5,"54":1,"69":3,"70":1,"72":1,"76":1,"78":1,"81":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/assets/chunks/VPLocalSearchBox.BAF-Qrfj.js b/assets/chunks/VPLocalSearchBox.BqmpJ0Vu.js similarity index 99% rename from assets/chunks/VPLocalSearchBox.BAF-Qrfj.js rename to assets/chunks/VPLocalSearchBox.BqmpJ0Vu.js index b18e191..f608337 100644 --- a/assets/chunks/VPLocalSearchBox.BAF-Qrfj.js +++ b/assets/chunks/VPLocalSearchBox.BqmpJ0Vu.js @@ -1,4 +1,4 @@ -var It=Object.defineProperty;var Dt=(o,e,t)=>e in o?It(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>(Dt(o,typeof e!="symbol"?e+"":e,t),t);import{Y as yt,j as oe,x as $e,aj as kt,ak as Ot,d as Rt,G as xe,al as tt,h as Fe,am as _t,an as Mt,y as Lt,ao as Pt,k as Re,S as de,R as Ee,ap as zt,aq as Vt,Z as Bt,V as $t,ar as Wt,o as ee,b as Kt,l as k,a2 as Jt,m as U,as as jt,at as Ut,au as Gt,c as re,n as rt,e as Se,E as at,F as nt,a as ve,t as pe,av as qt,p as Ht,q as Qt,aw as it,ax as Yt,a9 as Zt,af as Xt,ay as er,_ as tr}from"./framework.D561hJ3q.js";import{u as rr,c as ar}from"./theme.u7tjqoTA.js";const nr={root:()=>yt(()=>import("./@localSearchIndexroot.CDszn7_q.js"),[])};/*! +var It=Object.defineProperty;var Dt=(o,e,t)=>e in o?It(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>(Dt(o,typeof e!="symbol"?e+"":e,t),t);import{Y as yt,j as oe,x as $e,aj as kt,ak as Ot,d as Rt,G as xe,al as tt,h as Fe,am as _t,an as Mt,y as Lt,ao as Pt,k as Re,S as de,R as Ee,ap as zt,aq as Vt,Z as Bt,V as $t,ar as Wt,o as ee,b as Kt,l as k,a2 as Jt,m as U,as as jt,at as Ut,au as Gt,c as re,n as rt,e as Se,E as at,F as nt,a as ve,t as pe,av as qt,p as Ht,q as Qt,aw as it,ax as Yt,a9 as Zt,af as Xt,ay as er,_ as tr}from"./framework.J4W-y093.js";import{u as rr,c as ar}from"./theme.DLnrd-2N.js";const nr={root:()=>yt(()=>import("./@localSearchIndexroot.BEqiDBq7.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var mt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ne=mt.join(","),gt=typeof Element>"u",ue=gt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ce=!gt&&Element.prototype.getRootNode?function(o){var e;return o==null||(e=o.getRootNode)===null||e===void 0?void 0:e.call(o)}:function(o){return o==null?void 0:o.ownerDocument},Ie=function o(e,t){var r;t===void 0&&(t=!0);var n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"inert"),a=n===""||n==="true",i=a||t&&e&&o(e.parentNode);return i},ir=function(e){var t,r=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return r===""||r==="true"},bt=function(e,t,r){if(Ie(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ne));return t&&ue.call(e,Ne)&&n.unshift(e),n=n.filter(r),n},wt=function o(e,t,r){for(var n=[],a=Array.from(e);a.length;){var i=a.shift();if(!Ie(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),u=s.length?s:i.children,l=o(u,!0,r);r.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=ue.call(i,Ne);h&&r.filter(i)&&(t||!e.includes(i))&&n.push(i);var d=i.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(i),v=!Ie(d,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(d&&v){var y=o(d===!0?i.children:d.children,!0,r);r.flatten?n.push.apply(n,y):n.push({scopeParent:i,candidates:y})}else a.unshift.apply(a,i.children)}}return n},xt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},se=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||ir(e))&&!xt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!xt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},Ft=function(e){return e.tagName==="INPUT"},ur=function(e){return Ft(e)&&e.type==="hidden"},lr=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(r){return r.tagName==="SUMMARY"});return t},cr=function(e,t){for(var r=0;rsummary:first-of-type"),i=a?e.parentElement:e;if(ue.call(i,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="legacy-full"){if(typeof n=="function"){for(var s=e;e;){var u=e.parentElement,l=Ce(e);if(u&&!u.shadowRoot&&n(u)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!u&&l!==e.ownerDocument?e=l.host:e=u}e=s}if(vr(e))return!e.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return ot(e);return!1},yr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var r=0;r=0)},gr=function o(e){var t=[],r=[];return e.forEach(function(n,a){var i=!!n.scopeParent,s=i?n.scopeParent:n,u=or(s,i),l=i?o(n.candidates):s;u===0?i?t.push.apply(t,l):t.push(s):r.push({documentOrder:a,tabIndex:u,item:n,isScope:i,content:l})}),r.sort(sr).reduce(function(n,a){return a.isScope?n.push.apply(n,a.content):n.push(a.content),n},[]).concat(t)},br=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mr}):r=bt(e,t.includeContainer,We.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=wt([e],t.includeContainer,{filter:De.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=bt(e,t.includeContainer,De.bind(null,t)),r},le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,Ne)===!1?!1:We(t,e)},xr=mt.concat("iframe").join(","),_e=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return ue.call(e,xr)===!1?!1:De(t,e)};/*! diff --git a/assets/chunks/framework.D561hJ3q.js b/assets/chunks/framework.J4W-y093.js similarity index 74% rename from assets/chunks/framework.D561hJ3q.js rename to assets/chunks/framework.J4W-y093.js index 23f203f..2afd63f 100644 --- a/assets/chunks/framework.D561hJ3q.js +++ b/assets/chunks/framework.J4W-y093.js @@ -14,4 +14,4 @@ * @vue/runtime-dom v3.4.21 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Ac="http://www.w3.org/2000/svg",Rc="http://www.w3.org/1998/Math/MathML",Xe=typeof document<"u"?document:null,Rs=Xe&&Xe.createElement("template"),Lc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Xe.createElementNS(Ac,e):t==="mathml"?Xe.createElementNS(Rc,e):Xe.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Rs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Rs.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ke="transition",Ot="animation",Kt=Symbol("_vtc"),ri=(e,{slots:t})=>Cr(Pl,Oc(e),t);ri.displayName="Transition";const si={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};ri.props=ce({},Io,si);const rt=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ls=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function Oc(e){const t={};for(const A in e)A in si||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,v=Ic(s),I=v&&v[0],N=v&&v[1],{onBeforeEnter:K,onEnter:k,onEnterCancelled:g,onLeave:_,onLeaveCancelled:M,onBeforeAppear:L=K,onAppear:F=k,onAppearCancelled:T=g}=t,$=(A,G,ie)=>{st(A,G?f:l),st(A,G?a:i),ie&&ie()},E=(A,G)=>{A._isLeaving=!1,st(A,h),st(A,y),st(A,p),G&&G()},j=A=>(G,ie)=>{const fe=A?F:k,D=()=>$(G,A,ie);rt(fe,[G,D]),Os(()=>{st(G,A?c:o),We(G,A?f:l),Ls(fe)||Is(G,r,I,D)})};return ce(t,{onBeforeEnter(A){rt(K,[A]),We(A,o),We(A,i)},onBeforeAppear(A){rt(L,[A]),We(A,c),We(A,a)},onEnter:j(!1),onAppear:j(!0),onLeave(A,G){A._isLeaving=!0;const ie=()=>E(A,G);We(A,h),Nc(),We(A,p),Os(()=>{A._isLeaving&&(st(A,h),We(A,y),Ls(_)||Is(A,r,N,ie))}),rt(_,[A,ie])},onEnterCancelled(A){$(A,!1),rt(g,[A])},onAppearCancelled(A){$(A,!0),rt(T,[A])},onLeaveCancelled(A){E(A),rt(M,[A])}})}function Ic(e){if(e==null)return null;if(Z(e))return[Qn(e.enter),Qn(e.leave)];{const t=Qn(e);return[t,t]}}function Qn(e){return Oi(e)}function We(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Kt]||(e[Kt]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Kt];n&&(n.delete(t),n.size||(e[Kt]=void 0))}function Os(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Mc=0;function Is(e,t,n,r){const s=e._endId=++Mc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Pc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,p),o()},p=y=>{y.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[v]||"").split(", "),s=r(`${Ke}Delay`),o=r(`${Ke}Duration`),i=Ms(s,o),l=r(`${Ot}Delay`),c=r(`${Ot}Duration`),a=Ms(l,c);let f=null,h=0,p=0;t===Ke?i>0&&(f=Ke,h=i,p=o.length):t===Ot?a>0&&(f=Ot,h=a,p=c.length):(h=Math.max(i,a),f=h>0?i>a?Ke:Ot:null,p=f?f===Ke?o.length:c.length:0);const y=f===Ke&&/\b(transform|all)(,|$)/.test(r(`${Ke}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:y}}function Ms(e,t){for(;e.lengthPs(n)+Ps(e[r])))}function Ps(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Nc(){return document.body.offsetHeight}function Fc(e,t,n){const r=e[Kt];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ns=Symbol("_vod"),$c=Symbol("_vsh"),Hc=Symbol(""),jc=/(^|;)\s*display\s*:/;function Vc(e,t,n){const r=e.style,s=se(n);let o=!1;if(n&&!s){if(t)if(se(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&mn(r,l,"")}else for(const i in t)n[i]==null&&mn(r,i,"");for(const i in n)i==="display"&&(o=!0),mn(r,i,n[i])}else if(s){if(t!==n){const i=r[Hc];i&&(n+=";"+i),r.cssText=n,o=jc.test(n)}}else t&&e.removeAttribute("style");Ns in e&&(e[Ns]=o?r.display:"",e[$c]&&(r.display="none"))}const Fs=/\s*!important$/;function mn(e,t,n){if(B(n))n.forEach(r=>mn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Dc(e,t);Fs.test(n)?e.setProperty(ft(r),n.replace(Fs,""),"important"):e[r]=n}}const $s=["Webkit","Moz","ms"],Zn={};function Dc(e,t){const n=Zn[t];if(n)return n;let r=$e(t);if(r!=="filter"&&r in e)return Zn[t]=r;r=Ln(r);for(let s=0;s<$s.length;s++){const o=$s[s]+r;if(o in e)return Zn[t]=o}return t}const Hs="http://www.w3.org/1999/xlink";function Uc(e,t,n,r,s){if(r&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Hs,t.slice(6,t.length)):e.setAttributeNS(Hs,t,n);else{const o=$i(t);n==null||o&&!ro(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function Bc(e,t,n,r,s,o,i){if(t==="innerHTML"||t==="textContent"){r&&i(r,s,o),e[t]=n??"";return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const a=l==="OPTION"?e.getAttribute("value")||"":e.value,f=n??"";(a!==f||!("_value"in e))&&(e.value=f),n==null&&e.removeAttribute(t),e._value=n;return}let c=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=ro(n):n==null&&a==="string"?(n="",c=!0):a==="number"&&(n=0,c=!0)}try{e[t]=n}catch{}c&&e.removeAttribute(t)}function mt(e,t,n,r){e.addEventListener(t,n,r)}function kc(e,t,n,r){e.removeEventListener(t,n,r)}const js=Symbol("_vei");function Kc(e,t,n,r,s=null){const o=e[js]||(e[js]={}),i=o[t];if(r&&i)i.value=r;else{const[l,c]=Wc(t);if(r){const a=o[t]=zc(r,s);mt(e,l,a,c)}else i&&(kc(e,l,i,c),o[t]=void 0)}}const Vs=/(?:Once|Passive|Capture)$/;function Wc(e){let t;if(Vs.test(e)){t={};let r;for(;r=e.match(Vs);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):ft(e.slice(2)),t]}let er=0;const qc=Promise.resolve(),Gc=()=>er||(qc.then(()=>er=0),er=Date.now());function zc(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Se(Xc(r,n.value),t,5,[r])};return n.value=e,n.attached=Gc(),n}function Xc(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Ds=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yc=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?Fc(e,r,a):t==="style"?Vc(e,n,r):Wt(t)?Tr(t)||Kc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Jc(e,t,r,a))?Bc(e,t,r,o,i,l,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Uc(e,t,r,a))};function Jc(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ds(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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Ds(t)&&se(n)?!1:t in e}const Us=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>pn(t,n):t};function Qc(e){e.target.composing=!0}function Bs(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const tr=Symbol("_assign"),hu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[tr]=Us(s);const o=r||s.props&&s.props.type==="number";mt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=ur(l)),e[tr](l)}),n&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",Qc),mt(e,"compositionend",Bs),mt(e,"change",Bs))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:s}},o){if(e[tr]=Us(o),e.composing)return;const i=s||e.type==="number"?ur(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},Zc=["ctrl","shift","alt","meta"],ea={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)=>Zc.some(n=>e[`${n}Key`]&&!t.includes(n))},pu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=ft(s.key);if(t.some(i=>i===o||ta[i]===o))return e(s)})},oi=ce({patchProp:Yc},Lc);let Vt,ks=!1;function na(){return Vt||(Vt=cc(oi))}function ra(){return Vt=ks?Vt:ac(oi),ks=!0,Vt}const mu=(...e)=>{const t=na().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=li(r);if(!s)return;const o=t._component;!q(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,ii(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},yu=(...e)=>{const t=ra().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=li(r);if(s)return n(s,!0,ii(s))},t};function ii(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function li(e){return se(e)?document.querySelector(e):e}const _u=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},sa="modulepreload",oa=function(e){return"/"+e},Ks={},vu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));s=Promise.all(n.map(c=>{if(c=oa(c),c in Ks)return;Ks[c]=!0;const a=c.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(!!r)for(let y=o.length-1;y>=0;y--){const v=o[y];if(v.href===c&&(!a||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${f}`))return;const p=document.createElement("link");if(p.rel=a?"stylesheet":sa,a||(p.as="script",p.crossOrigin=""),p.href=c,l&&p.setAttribute("nonce",l),document.head.appendChild(p),a)return new Promise((y,v)=>{p.addEventListener("load",y),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${c}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},ia=window.__VP_SITE_DATA__;function zr(e){return oo()?(Vi(e),!0):!1}function Fe(e){return typeof e=="function"?e():wo(e)}const ci=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const la=Object.prototype.toString,ca=e=>la.call(e)==="[object Object]",Qe=()=>{},xr=aa();function aa(){var e,t;return ci&&((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 ua(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ai=e=>e();function fa(e,t={}){let n,r,s=Qe;const o=l=>{clearTimeout(l),s(),s=Qe};return l=>{const c=Fe(e),a=Fe(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function da(e=ai){const t=re(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Mn(t),pause:n,resume:r,eventFilter:s}}function ha(e){return e||Un()}function ui(...e){if(e.length!==1)return pl(...e);const t=e[0];return typeof t=="function"?Mn(fl(()=>({get:t,set:Qe}))):re(t)}function fi(e,t,n={}){const{eventFilter:r=ai,...s}=n;return Ne(e,ua(r,t),s)}function pa(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=da(r);return{stop:fi(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Xr(e,t=!0,n){ha()?Rt(e,n):t?e():Pn(e)}function bu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return fi(e,t,{...o,eventFilter:fa(r,{maxWait:s})})}function wu(e,t,n){let r;de(n)?r={evaluating:n}:r=n||{};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Qe}=r,c=re(!s),a=i?Vr(t):re(t);let f=0;return Br(async h=>{if(!c.value)return;f++;const p=f;let y=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const v=await e(I=>{h(()=>{o&&(o.value=!1),y||I()})});p===f&&(a.value=v)}catch(v){l(v)}finally{o&&p===f&&(o.value=!1),y=!0}}),s?ne(()=>(c.value=!0,a.value)):a}function yt(e){var t;const n=Fe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Te=ci?window:void 0;function De(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Te):[t,n,r,s]=e,!t)return Qe;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,p,y)=>(f.addEventListener(h,p,y),()=>f.removeEventListener(h,p,y)),c=Ne(()=>[yt(t),Fe(s)],([f,h])=>{if(i(),!f)return;const p=ca(h)?{...h}:h;o.push(...n.flatMap(y=>r.map(v=>l(f,y,v,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return zr(a),a}let Ws=!1;function Eu(e,t,n={}){const{window:r=Te,ignore:s=[],capture:o=!0,detectIframe:i=!1}=n;if(!r)return Qe;xr&&!Ws&&(Ws=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",Qe)),r.document.documentElement.addEventListener("click",Qe));let l=!0;const c=p=>s.some(y=>{if(typeof y=="string")return Array.from(r.document.querySelectorAll(y)).some(v=>v===p.target||p.composedPath().includes(v));{const v=yt(y);return v&&(p.target===v||p.composedPath().includes(v))}}),f=[De(r,"click",p=>{const y=yt(e);if(!(!y||y===p.target||p.composedPath().includes(y))){if(p.detail===0&&(l=!c(p)),!l){l=!0;return}t(p)}},{passive:!0,capture:o}),De(r,"pointerdown",p=>{const y=yt(e);l=!c(p)&&!!(y&&!p.composedPath().includes(y))},{passive:!0}),i&&De(r,"blur",p=>{setTimeout(()=>{var y;const v=yt(e);((y=r.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(v!=null&&v.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function ga(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Cu(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Te,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=ga(t);return De(s,o,f=>{f.repeat&&Fe(l)||c(f)&&n(f)},i)}function ma(){const e=re(!1),t=Un();return t&&Rt(()=>{e.value=!0},t),e}function ya(e){const t=ma();return ne(()=>(t.value,!!e()))}function di(e,t={}){const{window:n=Te}=t,r=ya(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=re(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Br(()=>{r.value&&(l(),s=n.matchMedia(Fe(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return zr(()=>{c(),l(),s=void 0}),o}const an=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},un="__vueuse_ssr_handlers__",_a=va();function va(){return un in an||(an[un]=an[un]||{}),an[un]}function hi(e,t){return _a[e]||t}function ba(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 wa={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()}},qs="vueuse-storage";function Yr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Te,eventFilter:p,onError:y=E=>{console.error(E)},initOnMounted:v}=r,I=(f?Vr:re)(typeof t=="function"?t():t);if(!n)try{n=hi("getDefaultStorage",()=>{var E;return(E=Te)==null?void 0:E.localStorage})()}catch(E){y(E)}if(!n)return I;const N=Fe(t),K=ba(N),k=(s=r.serializer)!=null?s:wa[K],{pause:g,resume:_}=pa(I,()=>L(I.value),{flush:o,deep:i,eventFilter:p});h&&l&&Xr(()=>{De(h,"storage",T),De(h,qs,$),v&&T()}),v||T();function M(E,j){h&&h.dispatchEvent(new CustomEvent(qs,{detail:{key:e,oldValue:E,newValue:j,storageArea:n}}))}function L(E){try{const j=n.getItem(e);if(E==null)M(j,null),n.removeItem(e);else{const A=k.write(E);j!==A&&(n.setItem(e,A),M(j,A))}}catch(j){y(j)}}function F(E){const j=E?E.newValue:n.getItem(e);if(j==null)return c&&N!=null&&n.setItem(e,k.write(N)),N;if(!E&&a){const A=k.read(j);return typeof a=="function"?a(A,N):K==="object"&&!Array.isArray(A)?{...N,...A}:A}else return typeof j!="string"?j:k.read(j)}function T(E){if(!(E&&E.storageArea!==n)){if(E&&E.key==null){I.value=N;return}if(!(E&&E.key!==e)){g();try{(E==null?void 0:E.newValue)!==k.write(I.value)&&(I.value=F(E))}catch(j){y(j)}finally{E?Pn(_):_()}}}}function $(E){T(E.detail)}return I}function pi(e){return di("(prefers-color-scheme: dark)",e)}function Ea(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Te,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=pi({window:s}),y=ne(()=>p.value?"dark":"light"),v=c||(i==null?ui(r):Yr(i,r,o,{window:s,listenToStorageChanges:l})),I=ne(()=>v.value==="auto"?y.value:v.value),N=hi("updateHTMLAttrs",(_,M,L)=>{const F=typeof _=="string"?s==null?void 0:s.document.querySelector(_):yt(_);if(!F)return;let T;if(f&&(T=s.document.createElement("style"),T.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild(T)),M==="class"){const $=L.split(/\s/g);Object.values(h).flatMap(E=>(E||"").split(/\s/g)).filter(Boolean).forEach(E=>{$.includes(E)?F.classList.add(E):F.classList.remove(E)})}else F.setAttribute(M,L);f&&(s.getComputedStyle(T).opacity,document.head.removeChild(T))});function K(_){var M;N(t,n,(M=h[_])!=null?M:_)}function k(_){e.onChanged?e.onChanged(_,K):K(_)}Ne(I,k,{flush:"post",immediate:!0}),Xr(()=>k(I.value));const g=ne({get(){return a?v.value:I.value},set(_){v.value=_}});try{return Object.assign(g,{store:v,system:y,state:I})}catch{return g}}function Ca(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Te}=e,s=Ea({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=ne(()=>s.system?s.system.value:pi({window:r}).value?"dark":"light");return ne({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function nr(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function xu(e,t,n={}){const{window:r=Te}=n;return Yr(e,t,r==null?void 0:r.localStorage,n)}function gi(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 fn=new WeakMap;function Su(e,t=!1){const n=re(t);let r=null;Ne(ui(e),i=>{const l=nr(Fe(i));if(l){const c=l;fn.get(c)||fn.set(c,c.style.overflow),n.value&&(c.style.overflow="hidden")}},{immediate:!0});const s=()=>{const i=nr(Fe(e));!i||n.value||(xr&&(r=De(i,"touchmove",l=>{xa(l)},{passive:!1})),i.style.overflow="hidden",n.value=!0)},o=()=>{var i;const l=nr(Fe(e));!l||!n.value||(xr&&(r==null||r()),l.style.overflow=(i=fn.get(l))!=null?i:"",fn.delete(l),n.value=!1)};return zr(o),ne({get(){return n.value},set(i){i?s():o()}})}function Tu(e,t,n={}){const{window:r=Te}=n;return Yr(e,t,r==null?void 0:r.sessionStorage,n)}function Au(e={}){const{window:t=Te,behavior:n="auto"}=e;if(!t)return{x:re(0),y:re(0)};const r=re(t.scrollX),s=re(t.scrollY),o=ne({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=ne({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return De(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Ru(e={}){const{window:t=Te,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=re(n),l=re(r),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Xr(c),De("resize",c,{passive:!0}),s){const a=di("(orientation: portrait)");Ne(a,()=>c())}return{width:i,height:l}}var rr={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},sr={};const mi=/^(?:[a-z]+:|\/\/)/i,Sa="vitepress-theme-appearance",Ta=/#.*$/,Aa=/[?#].*$/,Ra=/(?:(^|\/)index)?\.(?:md|html)$/,ge=typeof document<"u",yi={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function La(e,t,n=!1){if(t===void 0)return!1;if(e=Gs(`/${e}`),n)return new RegExp(t).test(e);if(Gs(t)!==e)return!1;const r=t.match(Ta);return r?(ge?location.hash:"")===r[0]:!0}function Gs(e){return decodeURI(e).replace(Aa,"").replace(Ra,"$1")}function Oa(e){return mi.test(e)}function Ia(e,t){var r,s,o,i,l,c,a;const n=Object.keys(e.locales).find(f=>f!=="root"&&!Oa(f)&&La(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:vi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function _i(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Ma(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Ma(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Pa(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function vi(e,t){return[...e.filter(n=>!Pa(t,n)),...t]}const Na=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Fa=/^[a-z]:/i;function zs(e){const t=Fa.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Na,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const or=new Set;function $a(e){if(or.size===0){const n=typeof process=="object"&&(sr==null?void 0:sr.VITE_EXTRA_EXTENSIONS)||(rr==null?void 0:rr.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(r=>or.add(r))}const t=e.split(".").pop();return t==null||!or.has(t.toLowerCase())}function Lu(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ha=Symbol(),ut=Vr(ia);function Ou(e){const t=ne(()=>Ia(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?re(!0):n?Ca({storageKey:Sa,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):re(!1),s=re(ge?location.hash:"");return ge&&window.addEventListener("hashchange",()=>{s.value=location.hash}),Ne(()=>e.data,()=>{s.value=ge?location.hash:""}),{site:t,theme:ne(()=>t.value.themeConfig),page:ne(()=>e.data),frontmatter:ne(()=>e.data.frontmatter),params:ne(()=>e.data.params),lang:ne(()=>t.value.lang),dir:ne(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:ne(()=>t.value.localeIndex||"root"),title:ne(()=>_i(t.value,e.data)),description:ne(()=>e.data.description||t.value.description),isDark:r,hash:ne(()=>s.value)}}function ja(){const e=xt(Ha);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Va(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Xs(e){return mi.test(e)||!e.startsWith("/")?e:Va(ut.value.base,e)}function Da(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),ge){const n="/";t=zs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${zs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let yn=[];function Iu(e){yn.push(e),Vn(()=>{yn=yn.filter(t=>t!==e)})}function Ua(){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=Ys(e,n);else if(Array.isArray(e))for(const r of e){const s=Ys(r,n);if(s){t=s;break}}return t}function Ys(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Ba=Symbol(),bi="http://a.com",ka=()=>({path:"/",component:null,data:yi});function Mu(e,t){const n=In(ka()),r={route:n,go:s};async function s(l=ge?location.href:"/"){var c,a;l=ir(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(ge&&l!==ir(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l)),await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l)))}let o=null;async function i(l,c=0,a=!1){var p;if(await((p=r.onBeforePageLoad)==null?void 0:p.call(r,l))===!1)return;const f=new URL(l,bi),h=o=f.pathname;try{let y=await e(h);if(!y)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:v,__pageData:I}=y;if(!v)throw new Error(`Invalid route component: ${v}`);n.path=ge?h:Xs(h),n.component=Mt(v),n.data=Mt(I),ge&&Pn(()=>{let N=ut.value.base+I.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!N.endsWith("/")&&(N+=".html"),N!==f.pathname&&(f.pathname=N,l=N+f.search+f.hash,history.replaceState(null,"",l)),f.hash&&!c){let K=null;try{K=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(k){console.warn(k)}if(K){Js(K,f.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch|Page not found/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const v=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await v.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=ge?h:Xs(h),n.component=t?Mt(t):null,n.data=yi)}}return ge&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:p,pathname:y,hash:v,search:I}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),N=new URL(location.href);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===N.origin&&$a(y)&&(l.preventDefault(),y===N.pathname&&I===N.search?(v!==N.hash&&(history.pushState(null,"",h),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:N.href,newURL:h}))),v?Js(a,v,a.classList.contains("header-anchor")):window.scrollTo(0,0)):s(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(ir(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function Ka(){const e=xt(Ba);if(!e)throw new Error("useRouter() is called without provider.");return e}function wi(){return Ka().route}function Js(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-Ua()+o;requestAnimationFrame(s)}}function ir(e){const t=new URL(e,bi);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 lr=()=>yn.forEach(e=>e()),Pu=kr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=wi(),{site:n}=ja();return()=>Cr(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?Cr(t.component,{onVnodeMounted:lr,onVnodeUpdated:lr,onVnodeUnmounted:lr}):"404 Page Not Found"])}}),Nu=kr({setup(e,{slots:t}){const n=re(!1);return Rt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Fu(){ge&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function $u(){if(ge){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Wa(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}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 r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function Hu(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=cr(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(cr);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};Br(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=_i(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):cr(["meta",{name:"description",content:f}]),s(vi(i.head,Ga(c)))})}function cr([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function qa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ga(e){return e.filter(t=>!qa(t))}const ar=new Set,Ei=()=>document.createElement("link"),za=e=>{const t=Ei();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Xa=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let dn;const Ya=ge&&(dn=Ei())&&dn.relList&&dn.relList.supports&&dn.relList.supports("prefetch")?za:Xa;function ju(){if(!ge||!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 r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!ar.has(c)){ar.add(c);const a=Da(c);a&&Ya(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):ar.add(l))})})};Rt(r);const s=wi();Ne(()=>s.path,r),Vn(()=>{n&&n.disconnect()})}export{Zl as $,nu as A,Vl as B,Ua as C,eu as D,ou as E,ye as F,Vr as G,Iu as H,oe as I,tu as J,mi as K,wi as L,yc as M,xt as N,Ru as O,Lr as P,Eu as Q,Cu as R,Pn as S,ri as T,Au as U,ge as V,Mn as W,su as X,vu as Y,Su as Z,_u as _,Zo as a,gu as a0,lu as a1,pu as a2,cu as a3,Cr as a4,fu as a5,Hu as a6,Ba as a7,Ou as a8,Ha as a9,Pu as aa,Nu as ab,ut as ac,yu as ad,Mu as ae,Da as af,ju as ag,$u as ah,Fu as ai,yt as aj,zr as ak,wu as al,Tu as am,xu as an,bu as ao,Ka as ap,De as aq,Fo as ar,ru as as,hu as at,de as au,au as av,Mt as aw,mu as ax,Lu as ay,Yo as b,uu as c,kr as d,du as e,$a as f,Xs as g,ne as h,Oa as i,re as j,Rt as k,Qo as l,wo as m,Or as n,zo as o,Qa as p,Za as q,iu as r,La as s,Ja as t,ja as u,di as v,El as w,Ne as x,Br as y,Vn as z}; +**/const Ac="http://www.w3.org/2000/svg",Rc="http://www.w3.org/1998/Math/MathML",Xe=typeof document<"u"?document:null,Rs=Xe&&Xe.createElement("template"),Lc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Xe.createElementNS(Ac,e):t==="mathml"?Xe.createElementNS(Rc,e):Xe.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Xe.createTextNode(e),createComment:e=>Xe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Xe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Rs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Rs.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ke="transition",Ot="animation",Kt=Symbol("_vtc"),ri=(e,{slots:t})=>Cr(Pl,Oc(e),t);ri.displayName="Transition";const si={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};ri.props=ce({},Io,si);const rt=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ls=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function Oc(e){const t={};for(const A in e)A in si||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:a=i,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,v=Ic(s),I=v&&v[0],N=v&&v[1],{onBeforeEnter:K,onEnter:k,onEnterCancelled:g,onLeave:_,onLeaveCancelled:M,onBeforeAppear:L=K,onAppear:F=k,onAppearCancelled:T=g}=t,$=(A,G,ie)=>{st(A,G?f:l),st(A,G?a:i),ie&&ie()},E=(A,G)=>{A._isLeaving=!1,st(A,h),st(A,y),st(A,p),G&&G()},j=A=>(G,ie)=>{const fe=A?F:k,D=()=>$(G,A,ie);rt(fe,[G,D]),Os(()=>{st(G,A?c:o),We(G,A?f:l),Ls(fe)||Is(G,r,I,D)})};return ce(t,{onBeforeEnter(A){rt(K,[A]),We(A,o),We(A,i)},onBeforeAppear(A){rt(L,[A]),We(A,c),We(A,a)},onEnter:j(!1),onAppear:j(!0),onLeave(A,G){A._isLeaving=!0;const ie=()=>E(A,G);We(A,h),Nc(),We(A,p),Os(()=>{A._isLeaving&&(st(A,h),We(A,y),Ls(_)||Is(A,r,N,ie))}),rt(_,[A,ie])},onEnterCancelled(A){$(A,!1),rt(g,[A])},onAppearCancelled(A){$(A,!0),rt(T,[A])},onLeaveCancelled(A){E(A),rt(M,[A])}})}function Ic(e){if(e==null)return null;if(Z(e))return[Qn(e.enter),Qn(e.leave)];{const t=Qn(e);return[t,t]}}function Qn(e){return Oi(e)}function We(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Kt]||(e[Kt]=new Set)).add(t)}function st(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Kt];n&&(n.delete(t),n.size||(e[Kt]=void 0))}function Os(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Mc=0;function Is(e,t,n,r){const s=e._endId=++Mc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Pc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,p),o()},p=y=>{y.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[v]||"").split(", "),s=r(`${Ke}Delay`),o=r(`${Ke}Duration`),i=Ms(s,o),l=r(`${Ot}Delay`),c=r(`${Ot}Duration`),a=Ms(l,c);let f=null,h=0,p=0;t===Ke?i>0&&(f=Ke,h=i,p=o.length):t===Ot?a>0&&(f=Ot,h=a,p=c.length):(h=Math.max(i,a),f=h>0?i>a?Ke:Ot:null,p=f?f===Ke?o.length:c.length:0);const y=f===Ke&&/\b(transform|all)(,|$)/.test(r(`${Ke}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:y}}function Ms(e,t){for(;e.lengthPs(n)+Ps(e[r])))}function Ps(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Nc(){return document.body.offsetHeight}function Fc(e,t,n){const r=e[Kt];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ns=Symbol("_vod"),$c=Symbol("_vsh"),Hc=Symbol(""),jc=/(^|;)\s*display\s*:/;function Vc(e,t,n){const r=e.style,s=se(n);let o=!1;if(n&&!s){if(t)if(se(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&mn(r,l,"")}else for(const i in t)n[i]==null&&mn(r,i,"");for(const i in n)i==="display"&&(o=!0),mn(r,i,n[i])}else if(s){if(t!==n){const i=r[Hc];i&&(n+=";"+i),r.cssText=n,o=jc.test(n)}}else t&&e.removeAttribute("style");Ns in e&&(e[Ns]=o?r.display:"",e[$c]&&(r.display="none"))}const Fs=/\s*!important$/;function mn(e,t,n){if(B(n))n.forEach(r=>mn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Dc(e,t);Fs.test(n)?e.setProperty(ft(r),n.replace(Fs,""),"important"):e[r]=n}}const $s=["Webkit","Moz","ms"],Zn={};function Dc(e,t){const n=Zn[t];if(n)return n;let r=$e(t);if(r!=="filter"&&r in e)return Zn[t]=r;r=Ln(r);for(let s=0;s<$s.length;s++){const o=$s[s]+r;if(o in e)return Zn[t]=o}return t}const Hs="http://www.w3.org/1999/xlink";function Uc(e,t,n,r,s){if(r&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Hs,t.slice(6,t.length)):e.setAttributeNS(Hs,t,n);else{const o=$i(t);n==null||o&&!ro(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function Bc(e,t,n,r,s,o,i){if(t==="innerHTML"||t==="textContent"){r&&i(r,s,o),e[t]=n??"";return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const a=l==="OPTION"?e.getAttribute("value")||"":e.value,f=n??"";(a!==f||!("_value"in e))&&(e.value=f),n==null&&e.removeAttribute(t),e._value=n;return}let c=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=ro(n):n==null&&a==="string"?(n="",c=!0):a==="number"&&(n=0,c=!0)}try{e[t]=n}catch{}c&&e.removeAttribute(t)}function mt(e,t,n,r){e.addEventListener(t,n,r)}function kc(e,t,n,r){e.removeEventListener(t,n,r)}const js=Symbol("_vei");function Kc(e,t,n,r,s=null){const o=e[js]||(e[js]={}),i=o[t];if(r&&i)i.value=r;else{const[l,c]=Wc(t);if(r){const a=o[t]=zc(r,s);mt(e,l,a,c)}else i&&(kc(e,l,i,c),o[t]=void 0)}}const Vs=/(?:Once|Passive|Capture)$/;function Wc(e){let t;if(Vs.test(e)){t={};let r;for(;r=e.match(Vs);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):ft(e.slice(2)),t]}let er=0;const qc=Promise.resolve(),Gc=()=>er||(qc.then(()=>er=0),er=Date.now());function zc(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Se(Xc(r,n.value),t,5,[r])};return n.value=e,n.attached=Gc(),n}function Xc(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Ds=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yc=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?Fc(e,r,a):t==="style"?Vc(e,n,r):Wt(t)?Tr(t)||Kc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Jc(e,t,r,a))?Bc(e,t,r,o,i,l,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Uc(e,t,r,a))};function Jc(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ds(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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Ds(t)&&se(n)?!1:t in e}const Us=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>pn(t,n):t};function Qc(e){e.target.composing=!0}function Bs(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const tr=Symbol("_assign"),hu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[tr]=Us(s);const o=r||s.props&&s.props.type==="number";mt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=ur(l)),e[tr](l)}),n&&mt(e,"change",()=>{e.value=e.value.trim()}),t||(mt(e,"compositionstart",Qc),mt(e,"compositionend",Bs),mt(e,"change",Bs))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:s}},o){if(e[tr]=Us(o),e.composing)return;const i=s||e.type==="number"?ur(e.value):e.value,l=t??"";i!==l&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===l)||(e.value=l))}},Zc=["ctrl","shift","alt","meta"],ea={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)=>Zc.some(n=>e[`${n}Key`]&&!t.includes(n))},pu=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const o=ft(s.key);if(t.some(i=>i===o||ta[i]===o))return e(s)})},oi=ce({patchProp:Yc},Lc);let Vt,ks=!1;function na(){return Vt||(Vt=cc(oi))}function ra(){return Vt=ks?Vt:ac(oi),ks=!0,Vt}const mu=(...e)=>{const t=na().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=li(r);if(!s)return;const o=t._component;!q(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,ii(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},yu=(...e)=>{const t=ra().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=li(r);if(s)return n(s,!0,ii(s))},t};function ii(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function li(e){return se(e)?document.querySelector(e):e}const _u=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},sa="modulepreload",oa=function(e){return"/docs/"+e},Ks={},vu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),l=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));s=Promise.all(n.map(c=>{if(c=oa(c),c in Ks)return;Ks[c]=!0;const a=c.endsWith(".css"),f=a?'[rel="stylesheet"]':"";if(!!r)for(let y=o.length-1;y>=0;y--){const v=o[y];if(v.href===c&&(!a||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${f}`))return;const p=document.createElement("link");if(p.rel=a?"stylesheet":sa,a||(p.as="script",p.crossOrigin=""),p.href=c,l&&p.setAttribute("nonce",l),document.head.appendChild(p),a)return new Promise((y,v)=>{p.addEventListener("load",y),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${c}`)))})}))}return s.then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},ia=window.__VP_SITE_DATA__;function zr(e){return oo()?(Vi(e),!0):!1}function Fe(e){return typeof e=="function"?e():wo(e)}const ci=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const la=Object.prototype.toString,ca=e=>la.call(e)==="[object Object]",Qe=()=>{},xr=aa();function aa(){var e,t;return ci&&((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 ua(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const ai=e=>e();function fa(e,t={}){let n,r,s=Qe;const o=l=>{clearTimeout(l),s(),s=Qe};return l=>{const c=Fe(e),a=Fe(t.maxWait);return n&&o(n),c<=0||a!==void 0&&a<=0?(r&&(o(r),r=null),Promise.resolve(l())):new Promise((f,h)=>{s=t.rejectOnCancel?h:f,a&&!r&&(r=setTimeout(()=>{n&&o(n),r=null,f(l())},a)),n=setTimeout(()=>{r&&o(r),r=null,f(l())},c)})}}function da(e=ai){const t=re(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Mn(t),pause:n,resume:r,eventFilter:s}}function ha(e){return e||Un()}function ui(...e){if(e.length!==1)return pl(...e);const t=e[0];return typeof t=="function"?Mn(fl(()=>({get:t,set:Qe}))):re(t)}function fi(e,t,n={}){const{eventFilter:r=ai,...s}=n;return Ne(e,ua(r,t),s)}function pa(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=da(r);return{stop:fi(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Xr(e,t=!0,n){ha()?Rt(e,n):t?e():Pn(e)}function bu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return fi(e,t,{...o,eventFilter:fa(r,{maxWait:s})})}function wu(e,t,n){let r;de(n)?r={evaluating:n}:r=n||{};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Qe}=r,c=re(!s),a=i?Vr(t):re(t);let f=0;return Br(async h=>{if(!c.value)return;f++;const p=f;let y=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const v=await e(I=>{h(()=>{o&&(o.value=!1),y||I()})});p===f&&(a.value=v)}catch(v){l(v)}finally{o&&p===f&&(o.value=!1),y=!0}}),s?ne(()=>(c.value=!0,a.value)):a}function yt(e){var t;const n=Fe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Te=ci?window:void 0;function De(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Te):[t,n,r,s]=e,!t)return Qe;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,p,y)=>(f.addEventListener(h,p,y),()=>f.removeEventListener(h,p,y)),c=Ne(()=>[yt(t),Fe(s)],([f,h])=>{if(i(),!f)return;const p=ca(h)?{...h}:h;o.push(...n.flatMap(y=>r.map(v=>l(f,y,v,p))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return zr(a),a}let Ws=!1;function Eu(e,t,n={}){const{window:r=Te,ignore:s=[],capture:o=!0,detectIframe:i=!1}=n;if(!r)return Qe;xr&&!Ws&&(Ws=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",Qe)),r.document.documentElement.addEventListener("click",Qe));let l=!0;const c=p=>s.some(y=>{if(typeof y=="string")return Array.from(r.document.querySelectorAll(y)).some(v=>v===p.target||p.composedPath().includes(v));{const v=yt(y);return v&&(p.target===v||p.composedPath().includes(v))}}),f=[De(r,"click",p=>{const y=yt(e);if(!(!y||y===p.target||p.composedPath().includes(y))){if(p.detail===0&&(l=!c(p)),!l){l=!0;return}t(p)}},{passive:!0,capture:o}),De(r,"pointerdown",p=>{const y=yt(e);l=!c(p)&&!!(y&&!p.composedPath().includes(y))},{passive:!0}),i&&De(r,"blur",p=>{setTimeout(()=>{var y;const v=yt(e);((y=r.document.activeElement)==null?void 0:y.tagName)==="IFRAME"&&!(v!=null&&v.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>f.forEach(p=>p())}function ga(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Cu(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=Te,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=ga(t);return De(s,o,f=>{f.repeat&&Fe(l)||c(f)&&n(f)},i)}function ma(){const e=re(!1),t=Un();return t&&Rt(()=>{e.value=!0},t),e}function ya(e){const t=ma();return ne(()=>(t.value,!!e()))}function di(e,t={}){const{window:n=Te}=t,r=ya(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=re(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Br(()=>{r.value&&(l(),s=n.matchMedia(Fe(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return zr(()=>{c(),l(),s=void 0}),o}const an=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},un="__vueuse_ssr_handlers__",_a=va();function va(){return un in an||(an[un]=an[un]||{}),an[un]}function hi(e,t){return _a[e]||t}function ba(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 wa={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()}},qs="vueuse-storage";function Yr(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:a=!1,shallow:f,window:h=Te,eventFilter:p,onError:y=E=>{console.error(E)},initOnMounted:v}=r,I=(f?Vr:re)(typeof t=="function"?t():t);if(!n)try{n=hi("getDefaultStorage",()=>{var E;return(E=Te)==null?void 0:E.localStorage})()}catch(E){y(E)}if(!n)return I;const N=Fe(t),K=ba(N),k=(s=r.serializer)!=null?s:wa[K],{pause:g,resume:_}=pa(I,()=>L(I.value),{flush:o,deep:i,eventFilter:p});h&&l&&Xr(()=>{De(h,"storage",T),De(h,qs,$),v&&T()}),v||T();function M(E,j){h&&h.dispatchEvent(new CustomEvent(qs,{detail:{key:e,oldValue:E,newValue:j,storageArea:n}}))}function L(E){try{const j=n.getItem(e);if(E==null)M(j,null),n.removeItem(e);else{const A=k.write(E);j!==A&&(n.setItem(e,A),M(j,A))}}catch(j){y(j)}}function F(E){const j=E?E.newValue:n.getItem(e);if(j==null)return c&&N!=null&&n.setItem(e,k.write(N)),N;if(!E&&a){const A=k.read(j);return typeof a=="function"?a(A,N):K==="object"&&!Array.isArray(A)?{...N,...A}:A}else return typeof j!="string"?j:k.read(j)}function T(E){if(!(E&&E.storageArea!==n)){if(E&&E.key==null){I.value=N;return}if(!(E&&E.key!==e)){g();try{(E==null?void 0:E.newValue)!==k.write(I.value)&&(I.value=F(E))}catch(j){y(j)}finally{E?Pn(_):_()}}}}function $(E){T(E.detail)}return I}function pi(e){return di("(prefers-color-scheme: dark)",e)}function Ea(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Te,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:a,disableTransition:f=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},p=pi({window:s}),y=ne(()=>p.value?"dark":"light"),v=c||(i==null?ui(r):Yr(i,r,o,{window:s,listenToStorageChanges:l})),I=ne(()=>v.value==="auto"?y.value:v.value),N=hi("updateHTMLAttrs",(_,M,L)=>{const F=typeof _=="string"?s==null?void 0:s.document.querySelector(_):yt(_);if(!F)return;let T;if(f&&(T=s.document.createElement("style"),T.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild(T)),M==="class"){const $=L.split(/\s/g);Object.values(h).flatMap(E=>(E||"").split(/\s/g)).filter(Boolean).forEach(E=>{$.includes(E)?F.classList.add(E):F.classList.remove(E)})}else F.setAttribute(M,L);f&&(s.getComputedStyle(T).opacity,document.head.removeChild(T))});function K(_){var M;N(t,n,(M=h[_])!=null?M:_)}function k(_){e.onChanged?e.onChanged(_,K):K(_)}Ne(I,k,{flush:"post",immediate:!0}),Xr(()=>k(I.value));const g=ne({get(){return a?v.value:I.value},set(_){v.value=_}});try{return Object.assign(g,{store:v,system:y,state:I})}catch{return g}}function Ca(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Te}=e,s=Ea({...e,onChanged:(l,c)=>{var a;e.onChanged?(a=e.onChanged)==null||a.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),o=ne(()=>s.system?s.system.value:pi({window:r}).value?"dark":"light");return ne({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function nr(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function xu(e,t,n={}){const{window:r=Te}=n;return Yr(e,t,r==null?void 0:r.localStorage,n)}function gi(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 fn=new WeakMap;function Su(e,t=!1){const n=re(t);let r=null;Ne(ui(e),i=>{const l=nr(Fe(i));if(l){const c=l;fn.get(c)||fn.set(c,c.style.overflow),n.value&&(c.style.overflow="hidden")}},{immediate:!0});const s=()=>{const i=nr(Fe(e));!i||n.value||(xr&&(r=De(i,"touchmove",l=>{xa(l)},{passive:!1})),i.style.overflow="hidden",n.value=!0)},o=()=>{var i;const l=nr(Fe(e));!l||!n.value||(xr&&(r==null||r()),l.style.overflow=(i=fn.get(l))!=null?i:"",fn.delete(l),n.value=!1)};return zr(o),ne({get(){return n.value},set(i){i?s():o()}})}function Tu(e,t,n={}){const{window:r=Te}=n;return Yr(e,t,r==null?void 0:r.sessionStorage,n)}function Au(e={}){const{window:t=Te,behavior:n="auto"}=e;if(!t)return{x:re(0),y:re(0)};const r=re(t.scrollX),s=re(t.scrollY),o=ne({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=ne({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return De(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Ru(e={}){const{window:t=Te,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=re(n),l=re(r),c=()=>{t&&(o?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(c(),Xr(c),De("resize",c,{passive:!0}),s){const a=di("(orientation: portrait)");Ne(a,()=>c())}return{width:i,height:l}}var rr={BASE_URL:"/docs/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},sr={};const mi=/^(?:[a-z]+:|\/\/)/i,Sa="vitepress-theme-appearance",Ta=/#.*$/,Aa=/[?#].*$/,Ra=/(?:(^|\/)index)?\.(?:md|html)$/,ge=typeof document<"u",yi={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function La(e,t,n=!1){if(t===void 0)return!1;if(e=Gs(`/${e}`),n)return new RegExp(t).test(e);if(Gs(t)!==e)return!1;const r=t.match(Ta);return r?(ge?location.hash:"")===r[0]:!0}function Gs(e){return decodeURI(e).replace(Aa,"").replace(Ra,"$1")}function Oa(e){return mi.test(e)}function Ia(e,t){var r,s,o,i,l,c,a;const n=Object.keys(e.locales).find(f=>f!=="root"&&!Oa(f)&&La(t,`/${f}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:vi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function _i(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=Ma(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Ma(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Pa(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function vi(e,t){return[...e.filter(n=>!Pa(t,n)),...t]}const Na=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Fa=/^[a-z]:/i;function zs(e){const t=Fa.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Na,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const or=new Set;function $a(e){if(or.size===0){const n=typeof process=="object"&&(sr==null?void 0:sr.VITE_EXTRA_EXTENSIONS)||(rr==null?void 0:rr.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(r=>or.add(r))}const t=e.split(".").pop();return t==null||!or.has(t.toLowerCase())}function Lu(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ha=Symbol(),ut=Vr(ia);function Ou(e){const t=ne(()=>Ia(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?re(!0):n?Ca({storageKey:Sa,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):re(!1),s=re(ge?location.hash:"");return ge&&window.addEventListener("hashchange",()=>{s.value=location.hash}),Ne(()=>e.data,()=>{s.value=ge?location.hash:""}),{site:t,theme:ne(()=>t.value.themeConfig),page:ne(()=>e.data),frontmatter:ne(()=>e.data.frontmatter),params:ne(()=>e.data.params),lang:ne(()=>t.value.lang),dir:ne(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:ne(()=>t.value.localeIndex||"root"),title:ne(()=>_i(t.value,e.data)),description:ne(()=>e.data.description||t.value.description),isDark:r,hash:ne(()=>s.value)}}function ja(){const e=xt(Ha);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Va(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Xs(e){return mi.test(e)||!e.startsWith("/")?e:Va(ut.value.base,e)}function Da(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),ge){const n="/docs/";t=zs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${zs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let yn=[];function Iu(e){yn.push(e),Vn(()=>{yn=yn.filter(t=>t!==e)})}function Ua(){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=Ys(e,n);else if(Array.isArray(e))for(const r of e){const s=Ys(r,n);if(s){t=s;break}}return t}function Ys(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Ba=Symbol(),bi="http://a.com",ka=()=>({path:"/",component:null,data:yi});function Mu(e,t){const n=In(ka()),r={route:n,go:s};async function s(l=ge?location.href:"/"){var c,a;l=ir(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(ge&&l!==ir(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l)),await i(l),await((a=r.onAfterRouteChanged)==null?void 0:a.call(r,l)))}let o=null;async function i(l,c=0,a=!1){var p;if(await((p=r.onBeforePageLoad)==null?void 0:p.call(r,l))===!1)return;const f=new URL(l,bi),h=o=f.pathname;try{let y=await e(h);if(!y)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:v,__pageData:I}=y;if(!v)throw new Error(`Invalid route component: ${v}`);n.path=ge?h:Xs(h),n.component=Mt(v),n.data=Mt(I),ge&&Pn(()=>{let N=ut.value.base+I.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!N.endsWith("/")&&(N+=".html"),N!==f.pathname&&(f.pathname=N,l=N+f.search+f.hash,history.replaceState(null,"",l)),f.hash&&!c){let K=null;try{K=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(k){console.warn(k)}if(K){Js(K,f.hash);return}}window.scrollTo(0,c)})}}catch(y){if(!/fetch|Page not found/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const v=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await v.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=ge?h:Xs(h),n.component=t?Mt(t):null,n.data=yi)}}return ge&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:f}=a,{href:h,origin:p,pathname:y,hash:v,search:I}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),N=new URL(location.href);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!f&&p===N.origin&&$a(y)&&(l.preventDefault(),y===N.pathname&&I===N.search?(v!==N.hash&&(history.pushState(null,"",h),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:N.href,newURL:h}))),v?Js(a,v,a.classList.contains("header-anchor")):window.scrollTo(0,0)):s(h))}},{capture:!0}),window.addEventListener("popstate",async l=>{var c;await i(ir(location.href),l.state&&l.state.scrollPosition||0),(c=r.onAfterRouteChanged)==null||c.call(r,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function Ka(){const e=xt(Ba);if(!e)throw new Error("useRouter() is called without provider.");return e}function wi(){return Ka().route}function Js(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let s=function(){!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})};const o=parseInt(window.getComputedStyle(r).paddingTop,10),i=window.scrollY+r.getBoundingClientRect().top-Ua()+o;requestAnimationFrame(s)}}function ir(e){const t=new URL(e,bi);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 lr=()=>yn.forEach(e=>e()),Pu=kr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=wi(),{site:n}=ja();return()=>Cr(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?Cr(t.component,{onVnodeMounted:lr,onVnodeUpdated:lr,onVnodeUnmounted:lr}):"404 Page Not Found"])}}),Nu=kr({setup(e,{slots:t}){const n=re(!1);return Rt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Fu(){ge&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(a=>a.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function $u(){if(ge){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className),l=[".vp-copy-ignore",".diff.remove"],c=o.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(f=>f.remove());let a=c.textContent||"";i&&(a=a.replace(/^ *(\$|>) /gm,"").trim()),Wa(a).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}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 r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function Hu(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=cr(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(cr);r.forEach((l,c)=>{const a=i.findIndex(f=>f==null?void 0:f.isEqualNode(l??null));a!==-1?delete i[a]:(l==null||l.remove(),delete r[c])}),i.forEach(l=>l&&document.head.appendChild(l)),r=[...r,...i].filter(Boolean)};Br(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=_i(i,o);a!==document.title&&(document.title=a);const f=l||i.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==f&&h.setAttribute("content",f):cr(["meta",{name:"description",content:f}]),s(vi(i.head,Ga(c)))})}function cr([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),e==="script"&&!t.async&&(r.async=!1),r}function qa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Ga(e){return e.filter(t=>!qa(t))}const ar=new Set,Ei=()=>document.createElement("link"),za=e=>{const t=Ei();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Xa=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let dn;const Ya=ge&&(dn=Ei())&&dn.relList&&dn.relList.supports&&dn.relList.supports("prefetch")?za:Xa;function ju(){if(!ge||!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 r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!ar.has(c)){ar.add(c);const a=Da(c);a&&Ya(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):ar.add(l))})})};Rt(r);const s=wi();Ne(()=>s.path,r),Vn(()=>{n&&n.disconnect()})}export{Zl as $,nu as A,Vl as B,Ua as C,eu as D,ou as E,ye as F,Vr as G,Iu as H,oe as I,tu as J,mi as K,wi as L,yc as M,xt as N,Ru as O,Lr as P,Eu as Q,Cu as R,Pn as S,ri as T,Au as U,ge as V,Mn as W,su as X,vu as Y,Su as Z,_u as _,Zo as a,gu as a0,lu as a1,pu as a2,cu as a3,Cr as a4,fu as a5,Hu as a6,Ba as a7,Ou as a8,Ha as a9,Pu as aa,Nu as ab,ut as ac,yu as ad,Mu as ae,Da as af,ju as ag,$u as ah,Fu as ai,yt as aj,zr as ak,wu as al,Tu as am,xu as an,bu as ao,Ka as ap,De as aq,Fo as ar,ru as as,hu as at,de as au,au as av,Mt as aw,mu as ax,Lu as ay,Yo as b,uu as c,kr as d,du as e,$a as f,Xs as g,ne as h,Oa as i,re as j,Rt as k,Qo as l,wo as m,Or as n,zo as o,Qa as p,Za as q,iu as r,La as s,Ja as t,ja as u,di as v,El as w,Ne as x,Br as y,Vn as z}; diff --git a/assets/chunks/theme.u7tjqoTA.js b/assets/chunks/theme.DLnrd-2N.js similarity index 99% rename from assets/chunks/theme.u7tjqoTA.js rename to assets/chunks/theme.DLnrd-2N.js index ea1618f..c0888d2 100644 --- a/assets/chunks/theme.u7tjqoTA.js +++ b/assets/chunks/theme.DLnrd-2N.js @@ -1,7 +1,7 @@ function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/chunks/VPLocalSearchBox.BAF-Qrfj.js","assets/chunks/framework.D561hJ3q.js"] + __vite__mapDeps.viteFileDeps = ["assets/chunks/VPLocalSearchBox.BqmpJ0Vu.js","assets/chunks/framework.J4W-y093.js"] } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) } -import{d as _,o as a,c,r as l,n as N,a as F,t as I,b,w as v,T as ve,e as f,_ as $,u as Ue,i as Ge,f as je,g as pe,h as y,j as w,k as z,l as d,m as r,p as B,q as H,s as j,v as ie,x as q,y as Z,z as he,A as Pe,B as ze,C as qe,D as K,F as M,E,G as Le,H as x,I as m,J as W,K as Ve,L as ee,M as Y,N as te,O as Ke,P as Se,Q as Re,R as le,S as We,U as Te,V as oe,W as Je,X as Ye,Y as Qe,Z as Ie,$ as we,a0 as Xe,a1 as Ze,a2 as xe,a3 as et,a4 as tt}from"./framework.D561hJ3q.js";const ot=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:N(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[F(I(e.text),1)])],2))}}),st={key:0,class:"VPBackdrop"},nt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),b(ve,{name:"fade"},{default:v(()=>[e.show?(a(),c("div",st)):f("",!0)]),_:1}))}}),at=$(nt,[["__scopeId","data-v-c79a1216"]]),L=Ue;function rt(o,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(o,e):(o(),(s=!0)&&setTimeout(()=>s=!1,e))}}function ce(o){return/^\//.test(o)?o:`/${o}`}function fe(o){const{pathname:e,search:t,hash:s,protocol:n}=new URL(o,"http://a.com");if(Ge(o)||o.startsWith("#")||!n.startsWith("http")||!je(e))return o;const{site:i}=L(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${s}`);return pe(u)}function J({removeCurrent:o=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:s,page:n,theme:i,hash:u}=L(),h=y(()=>{var g,k;return{label:(g=t.value.locales[s.value])==null?void 0:g.label,link:((k=t.value.locales[s.value])==null?void 0:k.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:y(()=>Object.entries(t.value.locales).flatMap(([g,k])=>o&&h.value.label===k.label?[]:{text:k.label,link:it(k.link||(g==="root"?"/":`/${g}/`),i.value.i18nRouting!==!1&&e,n.value.relativePath.slice(h.value.link.length-1),!t.value.cleanUrls)+u.value})),currentLang:h}}function it(o,e,t,s){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):o}const lt=o=>(B("data-v-f87ff6e4"),o=o(),H(),o),ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt=lt(()=>d("div",{class:"divider"},null,-1)),pt={class:"quote"},ht={class:"action"},ft=["href","aria-label"],_t=_({__name:"NotFound",setup(o){const{site:e,theme:t}=L(),{localeLinks:s}=J({removeCurrent:!1}),n=w("/");return z(()=>{var u;const i=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");s.value.length&&(n.value=((u=s.value.find(({link:h})=>h.startsWith(i)))==null?void 0:u.link)||s.value[0].link)}),(i,u)=>{var h,p,g,k,P;return a(),c("div",ct,[d("p",ut,I(((h=r(t).notFound)==null?void 0:h.code)??"404"),1),d("h1",dt,I(((p=r(t).notFound)==null?void 0:p.title)??"PAGE NOT FOUND"),1),vt,d("blockquote",pt,I(((g=r(t).notFound)==null?void 0:g.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",ht,[d("a",{class:"link",href:r(pe)(n.value),"aria-label":((k=r(t).notFound)==null?void 0:k.linkLabel)??"go to home"},I(((P=r(t).notFound)==null?void 0:P.linkText)??"Take me home"),9,ft)])])}}}),mt=$(_t,[["__scopeId","data-v-f87ff6e4"]]);function Ne(o,e){if(Array.isArray(o))return Q(o);if(o==null)return[];e=ce(e);const t=Object.keys(o).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(ce(n))),s=t?o[t]:[];return Array.isArray(s)?Q(s):Q(s.items,s.base)}function kt(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 ue(o,e){return Array.isArray(e)?e.some(t=>ue(o,t)):j(o,e.link)?!0:e.items?ue(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 O(){const{frontmatter:o,page:e,theme:t}=L(),s=ie("(min-width: 960px)"),n=w(!1),i=y(()=>{const C=t.value.sidebar,S=e.value.relativePath;return C?Ne(C,S):[]}),u=w(i.value);q(i,(C,S)=>{JSON.stringify(C)!==JSON.stringify(S)&&(u.value=i.value)});const h=y(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),p=y(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=y(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),k=y(()=>h.value&&s.value),P=y(()=>h.value?kt(u.value):[]);function V(){n.value=!0}function T(){n.value=!1}function A(){n.value?T():V()}return{isOpen:n,sidebar:u,sidebarGroups:P,hasSidebar:h,hasAside:g,leftAside:p,isSidebarEnabled:k,open:V,close:T,toggle:A}}function bt(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),z(()=>{window.addEventListener("keyup",s)}),he(()=>{window.removeEventListener("keyup",s)});function s(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function gt(o){const{page:e,hash:t}=L(),s=w(!1),n=y(()=>o.value.collapsed!=null),i=y(()=>!!o.value.link),u=w(!1),h=()=>{u.value=j(e.value.relativePath,o.value.link)};q([e,o,t],h),z(h);const p=y(()=>u.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),g=y(()=>!!(o.value.items&&o.value.items.length));Z(()=>{s.value=!!(n.value&&o.value.collapsed)}),Pe(()=>{(u.value||p.value)&&(s.value=!1)});function k(){n.value&&(s.value=!s.value)}return{collapsed:s,collapsible:n,isLink:i,isActiveLink:u,hasActiveLink:p,hasChildren:g,toggle:k}}function yt(){const{hasSidebar:o}=O(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Me(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:Pt(t),link:"#"+t.id,level:s}});return Lt(e,o)}function Pt(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 Lt(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),de.length=0;for(const{element:u,link:h}of o)de.push({element:u,link:h});const i=[];e:for(let u=0;u=0;p--){const g=o[p];if(g.level{requestAnimationFrame(i),window.addEventListener("scroll",s)}),ze(()=>{u(location.hash)}),he(()=>{window.removeEventListener("scroll",s)});function i(){if(!t.value)return;const h=window.scrollY,p=window.innerHeight,g=document.body.offsetHeight,k=Math.abs(h+p-g)<1,P=de.map(({element:T,link:A})=>({link:A,top:St(T)})).filter(({top:T})=>!Number.isNaN(T)).sort((T,A)=>T.top-A.top);if(!P.length){u(null);return}if(h<1){u(null);return}if(k){u(P[P.length-1].link);return}let V=null;for(const{link:T,top:A}of P){if(A>h+qe()+4)break;V=T}u(V)}function u(h){n&&n.classList.remove("active"),h==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const p=n;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function St(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const Tt=["href","title"],It=_({__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=K("VPDocOutlineItem",!0);return a(),c("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(M,null,E(t.headers,({children:i,link:u,title:h})=>(a(),c("li",null,[d("a",{class:"outline-link",href:u,onClick:e,title:h},I(h),9,Tt),i!=null&&i.length?(a(),b(n,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Ae=$(It,[["__scopeId","data-v-b933a997"]]),wt=o=>(B("data-v-935f8a84"),o=o(),H(),o),Nt={class:"content"},Mt={class:"outline-title",role:"heading","aria-level":"2"},At={"aria-labelledby":"doc-outline-aria-label"},Ct=wt(()=>d("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Bt=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=L(),s=Le([]);x(()=>{s.value=_e(e.value.outline??t.value.outline)});const n=w(),i=w();return Vt(n,i),(u,h)=>(a(),c("div",{class:N(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:n,role:"navigation"},[d("div",Nt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",Mt,I(r(Me)(r(t))),1),d("nav",At,[Ct,m(Ae,{headers:s.value,root:!0},null,8,["headers"])])])],2))}}),Ht=$(Bt,[["__scopeId","data-v-935f8a84"]]),Et={class:"VPDocAsideCarbonAds"},Dt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,s)=>(a(),c("div",Et,[m(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ft=o=>(B("data-v-3f215769"),o=o(),H(),o),Ot={class:"VPDocAside"},Ut=Ft(()=>d("div",{class:"spacer"},null,-1)),Gt=_({__name:"VPDocAside",setup(o){const{theme:e}=L();return(t,s)=>(a(),c("div",Ot,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(Ht),l(t.$slots,"aside-outline-after",{},void 0,!0),Ut,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),b(Dt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),jt=$(Gt,[["__scopeId","data-v-3f215769"]]);function zt(){const{theme:o,page:e}=L();return y(()=>{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 qt(){const{page:o,theme:e,frontmatter:t}=L();return y(()=>{var g,k,P,V,T,A,C,S;const s=Ne(e.value.sidebar,o.value.relativePath),n=$t(s),i=Kt(n,U=>U.link.replace(/[?#].*$/,"")),u=i.findIndex(U=>j(o.value.relativePath,U.link)),h=((g=e.value.docFooter)==null?void 0:g.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((k=e.value.docFooter)==null?void 0:k.next)===!1&&!t.value.next||t.value.next===!1;return{prev:h?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((P=i[u-1])==null?void 0:P.docFooterText)??((V=i[u-1])==null?void 0:V.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((T=i[u-1])==null?void 0:T.link)},next:p?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)??((C=i[u+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[u+1])==null?void 0:S.link)}}})}function Kt(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=y(()=>e.tag??(e.href?"a":"span")),s=y(()=>e.href&&Ve.test(e.href));return(n,i)=>(a(),b(W(t.value),{class:N(["VPLink",{link:n.href,"vp-external-link-icon":s.value,"no-icon":n.noIcon}]),href:n.href?r(fe)(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"]))}}),Rt={class:"VPLastUpdated"},Wt=["datetime"],Jt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,frontmatter:s,lang:n}=L(),i=y(()=>new Date(s.value.lastUpdated??t.value.lastUpdated)),u=y(()=>i.value.toISOString()),h=w("");return z(()=>{Z(()=>{var p,g,k;h.value=new Intl.DateTimeFormat((g=(p=e.value.lastUpdated)==null?void 0:p.formatOptions)!=null&&g.forceLocale?n.value:void 0,((k=e.value.lastUpdated)==null?void 0:k.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(p,g)=>{var k;return a(),c("p",Rt,[F(I(((k=r(e).lastUpdated)==null?void 0:k.text)||r(e).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:u.value},I(h.value),9,Wt)])}}}),Yt=$(Jt,[["__scopeId","data-v-7e05ebdb"]]),Qt=o=>(B("data-v-09de1c0f"),o=o(),H(),o),Xt={key:0,class:"VPDocFooter"},Zt={key:0,class:"edit-info"},xt={key:0,class:"edit-link"},eo=Qt(()=>d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),to={key:1,class:"last-updated"},oo={key:1,class:"prev-next"},so={class:"pager"},no=["innerHTML"],ao=["innerHTML"],ro={class:"pager"},io=["innerHTML"],lo=["innerHTML"],co=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:s}=L(),n=zt(),i=qt(),u=y(()=>e.value.editLink&&s.value.editLink!==!1),h=y(()=>t.value.lastUpdated&&s.value.lastUpdated!==!1),p=y(()=>u.value||h.value||i.value.prev||i.value.next);return(g,k)=>{var P,V,T,A;return p.value?(a(),c("footer",Xt,[l(g.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),c("div",Zt,[u.value?(a(),c("div",xt,[m(D,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:v(()=>[eo,F(" "+I(r(n).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),c("div",to,[m(Yt)])):f("",!0)])):f("",!0),(P=r(i).prev)!=null&&P.link||(V=r(i).next)!=null&&V.link?(a(),c("nav",oo,[d("div",so,[(T=r(i).prev)!=null&&T.link?(a(),b(D,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:v(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,no),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,ao)]}),_:1},8,["href"])):f("",!0)]),d("div",ro,[(A=r(i).next)!=null&&A.link?(a(),b(D,{key:0,class:"pager-link next",href:r(i).next.link},{default:v(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,io),d("span",{class:"title",innerHTML:r(i).next.text},null,8,lo)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),uo=$(co,[["__scopeId","data-v-09de1c0f"]]),vo=o=>(B("data-v-39a288b8"),o=o(),H(),o),po={class:"container"},ho=vo(()=>d("div",{class:"aside-curtain"},null,-1)),fo={class:"aside-container"},_o={class:"aside-content"},mo={class:"content"},ko={class:"content-container"},$o={class:"main"},bo=_({__name:"VPDoc",setup(o){const{theme:e}=L(),t=ee(),{hasSidebar:s,hasAside:n,leftAside:i}=O(),u=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,p)=>{const g=K("Content");return a(),c("div",{class:N(["VPDoc",{"has-sidebar":r(s),"has-aside":r(n)}])},[l(h.$slots,"doc-top",{},void 0,!0),d("div",po,[r(n)?(a(),c("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[ho,d("div",fo,[d("div",_o,[m(jt,null,{"aside-top":v(()=>[l(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[l(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[l(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[l(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[l(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[l(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),d("div",mo,[d("div",ko,[l(h.$slots,"doc-before",{},void 0,!0),d("main",$o,[m(g,{class:N(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(uo,null,{"doc-footer-before":v(()=>[l(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(h.$slots,"doc-after",{},void 0,!0)])])]),l(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),go=$(bo,[["__scopeId","data-v-39a288b8"]]),yo=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.href&&Ve.test(e.href)),s=y(()=>e.tag||e.href?"a":"button");return(n,i)=>(a(),b(W(s.value),{class:N(["VPButton",[n.size,n.theme]]),href:n.href?r(fe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:v(()=>[F(I(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),Po=$(yo,[["__scopeId","data-v-cad61b99"]]),Lo=["src","alt"],Vo=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const s=K("VPImage",!0);return e.image?(a(),c(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),c("img",Y({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Lo)):(a(),c(M,{key:1},[m(s,Y({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),m(s,Y({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),X=$(Vo,[["__scopeId","data-v-8426fc1a"]]),So=o=>(B("data-v-303bb580"),o=o(),H(),o),To={class:"container"},Io={class:"main"},wo={key:0,class:"name"},No=["innerHTML"],Mo=["innerHTML"],Ao=["innerHTML"],Co={key:0,class:"actions"},Bo={key:0,class:"image"},Ho={class:"image-container"},Eo=So(()=>d("div",{class:"image-bg"},null,-1)),Do=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=te("hero-image-slot-exists");return(t,s)=>(a(),c("div",{class:N(["VPHero",{"has-image":t.image||r(e)}])},[d("div",To,[d("div",Io,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",wo,[d("span",{innerHTML:t.name,class:"clip"},null,8,No)])):f("",!0),t.text?(a(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,Mo)):f("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Ao)):f("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",Co,[(a(!0),c(M,null,E(t.actions,n=>(a(),c("div",{key:n.link,class:"action"},[m(Po,{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))])):f("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),c("div",Bo,[d("div",Ho,[Eo,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),b(X,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Fo=$(Do,[["__scopeId","data-v-303bb580"]]),Oo=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=L();return(t,s)=>r(e).hero?(a(),b(Fo,{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"])):f("",!0)}}),Uo=o=>(B("data-v-a3976bdc"),o=o(),H(),o),Go={class:"box"},jo={key:0,class:"icon"},zo=["innerHTML"],qo=["innerHTML"],Ko=["innerHTML"],Ro={key:4,class:"link-text"},Wo={class:"link-text-value"},Jo=Uo(()=>d("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Yo=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),b(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[d("article",Go,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",jo,[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(),b(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,zo)):f("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,qo),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Ko)):f("",!0),e.linkText?(a(),c("div",Ro,[d("p",Wo,[F(I(e.linkText)+" ",1),Jo])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Qo=$(Yo,[["__scopeId","data-v-a3976bdc"]]),Xo={key:0,class:"VPFeatures"},Zo={class:"container"},xo={class:"items"},es=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=y(()=>{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",Xo,[d("div",Zo,[d("div",xo,[(a(!0),c(M,null,E(s.features,i=>(a(),c("div",{key:i.title,class:N(["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))])])])):f("",!0)}}),ts=$(es,[["__scopeId","data-v-a6181336"]]),os=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=L();return(t,s)=>r(e).features?(a(),b(ts,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),ss=_({__name:"VPHomeContent",setup(o){const{width:e}=Ke({includeScrollbar:!1});return(t,s)=>(a(),c("div",{class:"vp-doc container",style:Se(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),ns=$(ss,[["__scopeId","data-v-82d4af08"]]),as={class:"VPHome"},rs=_({__name:"VPHome",setup(o){const{frontmatter:e}=L();return(t,s)=>{const n=K("Content");return a(),c("div",as,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Oo,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(os),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),b(ns,{key:0},{default:v(()=>[m(n)]),_:1})):(a(),b(n,{key:1}))])}}}),is=$(rs,[["__scopeId","data-v-686f80a6"]]),ls={},cs={class:"VPPage"};function us(o,e){const t=K("Content");return a(),c("div",cs,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const ds=$(ls,[["render",us]]),vs=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=L(),{hasSidebar:s}=O();return(n,i)=>(a(),c("div",{class:N(["VPContent",{"has-sidebar":r(s),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(n.$slots,"not-found",{key:0},()=>[m(mt)],!0):r(t).layout==="page"?(a(),b(ds,{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(),b(is,{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(),b(W(r(t).layout),{key:3})):(a(),b(go,{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))}}),ps=$(vs,[["__scopeId","data-v-1428d186"]]),hs={class:"container"},fs=["innerHTML"],_s=["innerHTML"],ms=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:s}=O();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),c("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(s)}])},[d("div",hs,[r(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,fs)):f("",!0),r(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,_s)):f("",!0)])],2)):f("",!0)}}),ks=$(ms,[["__scopeId","data-v-e315a0ad"]]);function $s(){const{theme:o,frontmatter:e}=L(),t=Le([]),s=y(()=>t.value.length>0);return x(()=>{t.value=_e(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:s}}const bs=o=>(B("data-v-267dd0ed"),o=o(),H(),o),gs={class:"menu-text"},ys=bs(()=>d("span",{class:"vpi-chevron-right icon"},null,-1)),Ps={class:"header"},Ls={class:"outline"},Vs=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=L(),s=w(!1),n=w(0),i=w(),u=w();Re(i,()=>{s.value=!1}),le("Escape",()=>{s.value=!1}),x(()=>{s.value=!1});function h(){s.value=!s.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p(k){k.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),We(()=>{s.value=!1}))}function g(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(k,P)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:Se({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[k.headers.length>0?(a(),c("button",{key:0,onClick:h,class:N({open:s.value})},[d("span",gs,I(r(Me)(r(t))),1),ys],2)):(a(),c("button",{key:1,onClick:g},I(r(t).returnToTopLabel||"Return to top"),1)),m(ve,{name:"flyout"},{default:v(()=>[s.value?(a(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:p},[d("div",Ps,[d("a",{class:"top-link",href:"#",onClick:g},I(r(t).returnToTopLabel||"Return to top"),1)]),d("div",Ls,[m(Ae,{headers:k.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Ss=$(Vs,[["__scopeId","data-v-267dd0ed"]]),Ts=o=>(B("data-v-a6f0e41e"),o=o(),H(),o),Is={class:"container"},ws=["aria-expanded"],Ns=Ts(()=>d("span",{class:"vpi-align-left menu-icon"},null,-1)),Ms={class:"menu-text"},As=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:s}=O(),{headers:n}=$s(),{y:i}=Te(),u=w(0);z(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{n.value=_e(t.value.outline??e.value.outline)});const h=y(()=>n.value.length===0),p=y(()=>h.value&&!s.value),g=y(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:h.value,fixed:p.value}));return(k,P)=>r(t).layout!=="home"&&(!p.value||r(i)>=u.value)?(a(),c("div",{key:0,class:N(g.value)},[d("div",Is,[r(s)?(a(),c("button",{key:0,class:"menu","aria-expanded":k.open,"aria-controls":"VPSidebarNav",onClick:P[0]||(P[0]=V=>k.$emit("open-menu"))},[Ns,d("span",Ms,I(r(e).sidebarMenuLabel||"Menu"),1)],8,ws)):f("",!0),m(Ss,{headers:r(n),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Cs=$(As,[["__scopeId","data-v-a6f0e41e"]]);function Bs(){const o=w(!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 q(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:s}}const Hs={},Es={class:"VPSwitch",type:"button",role:"switch"},Ds={class:"check"},Fs={key:0,class:"icon"};function Os(o,e){return a(),c("button",Es,[d("span",Ds,[o.$slots.default?(a(),c("span",Fs,[l(o.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Us=$(Hs,[["render",Os],["__scopeId","data-v-1d5665e3"]]),Ce=o=>(B("data-v-d1f28634"),o=o(),H(),o),Gs=Ce(()=>d("span",{class:"vpi-sun sun"},null,-1)),js=Ce(()=>d("span",{class:"vpi-moon moon"},null,-1)),zs=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=L(),s=te("toggle-appearance",()=>{e.value=!e.value}),n=y(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,u)=>(a(),b(Us,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(s)},{default:v(()=>[Gs,js]),_:1},8,["title","aria-checked","onClick"]))}}),me=$(zs,[["__scopeId","data-v-d1f28634"]]),qs={key:0,class:"VPNavBarAppearance"},Ks=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=L();return(t,s)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",qs,[m(me)])):f("",!0)}}),Rs=$(Ks,[["__scopeId","data-v-e6aabb21"]]),ke=w();let Be=!1,re=0;function Ws(o){const e=w(!1);if(oe){!Be&&Js(),re++;const t=q(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))});he(()=>{t(),re--,re||Ys()})}return Je(e)}function Js(){document.addEventListener("focusin",He),Be=!0,ke.value=document.activeElement}function Ys(){document.removeEventListener("focusin",He)}function He(){ke.value=document.activeElement}const Qs={class:"VPMenuLink"},Xs=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,s)=>(a(),c("div",Qs,[m(D,{class:N({active:r(j)(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(()=>[F(I(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=$(Xs,[["__scopeId","data-v-43f1e123"]]),Zs={class:"VPMenuGroup"},xs={key:0,class:"title"},en=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Zs,[e.text?(a(),c("p",xs,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),c(M,null,["link"in s?(a(),b(se,{key:0,item:s},null,8,["item"])):f("",!0)],64))),256))]))}}),tn=$(en,[["__scopeId","data-v-69e747b5"]]),on={class:"VPMenu"},sn={key:0,class:"items"},nn=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),c("div",on,[e.items?(a(),c("div",sn,[(a(!0),c(M,null,E(e.items,s=>(a(),c(M,{key:s.text},["link"in s?(a(),b(se,{key:0,item:s},null,8,["item"])):(a(),b(tn,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),an=$(nn,[["__scopeId","data-v-e7ea1737"]]),rn=o=>(B("data-v-b6c34ac9"),o=o(),H(),o),ln=["aria-expanded","aria-label"],cn={key:0,class:"text"},un=["innerHTML"],dn=rn(()=>d("span",{class:"vpi-chevron-down text-icon"},null,-1)),vn={key:1,class:"vpi-more-horizontal icon"},pn={class:"menu"},hn=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=w(!1),t=w();Ws({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)},[d("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",cn,[n.icon?(a(),c("span",{key:0,class:N([n.icon,"option-icon"])},null,2)):f("",!0),n.button?(a(),c("span",{key:1,innerHTML:n.button},null,8,un)):f("",!0),dn])):(a(),c("span",vn))],8,ln),d("div",pn,[m(an,{items:n.items},{default:v(()=>[l(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=$(hn,[["__scopeId","data-v-b6c34ac9"]]),fn=["href","aria-label","innerHTML"],_n=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=y(()=>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,fn))}}),mn=$(_n,[["__scopeId","data-v-eee4e7cb"]]),kn={class:"VPSocialLinks"},$n=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",kn,[(a(!0),c(M,null,E(e.links,({link:s,icon:n,ariaLabel:i})=>(a(),b(mn,{key:s,icon:n,link:s,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=$($n,[["__scopeId","data-v-7bc22406"]]),bn={key:0,class:"group translations"},gn={class:"trans-title"},yn={key:1,class:"group"},Pn={class:"item appearance"},Ln={class:"label"},Vn={class:"appearance-action"},Sn={key:2,class:"group"},Tn={class:"item social-links"},In=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=L(),{localeLinks:s,currentLang:n}=J({correspondingLink:!0}),i=y(()=>s.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>i.value?(a(),b($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[r(s).length&&r(n).label?(a(),c("div",bn,[d("p",gn,I(r(n).label),1),(a(!0),c(M,null,E(r(s),p=>(a(),b(se,{key:p.link,item:p},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",yn,[d("div",Pn,[d("p",Ln,I(r(t).darkModeSwitchLabel||"Appearance"),1),d("div",Vn,[m(me)])])])):f("",!0),r(t).socialLinks?(a(),c("div",Sn,[d("div",Tn,[m(be,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),wn=$(In,[["__scopeId","data-v-d0bd9dde"]]),Nn=o=>(B("data-v-e5dd9c1c"),o=o(),H(),o),Mn=["aria-expanded"],An=Nn(()=>d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)),Cn=[An],Bn=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("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]=s=>e.$emit("click"))},Cn,10,Mn))}}),Hn=$(Bn,[["__scopeId","data-v-e5dd9c1c"]]),En=["innerHTML"],Dn=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,s)=>(a(),b(D,{class:N({VPNavBarMenuLink:!0,active:r(j)(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(()=>[d("span",{innerHTML:t.item.text},null,8,En)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Fn=$(Dn,[["__scopeId","data-v-9c663999"]]),On=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=L(),s=i=>"link"in i?j(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(s),n=y(()=>s(e.item));return(i,u)=>(a(),b($e,{class:N({VPNavBarMenuGroup:!0,active:r(j)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Un=o=>(B("data-v-7f418b0f"),o=o(),H(),o),Gn={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},jn=Un(()=>d("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),zn=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=L();return(t,s)=>r(e).nav?(a(),c("nav",Gn,[jn,(a(!0),c(M,null,E(r(e).nav,n=>(a(),c(M,{key:n.text},["link"in n?(a(),b(Fn,{key:0,item:n},null,8,["item"])):(a(),b(On,{key:1,item:n},null,8,["item"]))],64))),128))])):f("",!0)}}),qn=$(zn,[["__scopeId","data-v-7f418b0f"]]);function Kn(o){const{localeIndex:e,theme:t}=L();function s(n){var A,C,S;const i=n.split("."),u=(A=t.value.search)==null?void 0:A.options,h=u&&typeof u=="object",p=h&&((S=(C=u.locales)==null?void 0:C[e.value])==null?void 0:S.translations)||null,g=h&&u.translations||null;let k=p,P=g,V=o;const T=i.pop();for(const U of i){let G=null;const R=V==null?void 0:V[U];R&&(G=V=R);const ne=P==null?void 0:P[U];ne&&(G=P=ne);const ae=k==null?void 0:k[U];ae&&(G=k=ae),R||(V=G),ne||(P=G),ae||(k=G)}return(k==null?void 0:k[T])??(P==null?void 0:P[T])??(V==null?void 0:V[T])??""}return s}const Rn=["aria-label"],Wn={class:"DocSearch-Button-Container"},Jn=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Yn={class:"DocSearch-Button-Placeholder"},Qn=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ge=_({__name:"VPNavBarSearchButton",setup(o){const t=Kn({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,n)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[d("span",Wn,[Jn,d("span",Yn,I(r(t)("button.buttonText")),1)]),Qn],8,Rn))}}),Xn={class:"VPNavBarSearch"},Zn={id:"local-search"},xn={key:1,id:"docsearch"},ea=_({__name:"VPNavBarSearch",setup(o){const e=Ye(()=>Qe(()=>import("./VPLocalSearchBox.BAF-Qrfj.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=L(),n=w(!1),i=w(!1);z(()=>{});function u(){n.value||(n.value=!0,setTimeout(h,16))}function h(){const P=new Event("keydown");P.key="k",P.metaKey=!0,window.dispatchEvent(P),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function p(P){const V=P.target,T=V.tagName;return V.isContentEditable||T==="INPUT"||T==="SELECT"||T==="TEXTAREA"}const g=w(!1);le("k",P=>{(P.ctrlKey||P.metaKey)&&(P.preventDefault(),g.value=!0)}),le("/",P=>{p(P)||(P.preventDefault(),g.value=!0)});const k="local";return(P,V)=>{var T;return a(),c("div",Xn,[r(k)==="local"?(a(),c(M,{key:0},[g.value?(a(),b(r(e),{key:0,onClose:V[0]||(V[0]=A=>g.value=!1)})):f("",!0),d("div",Zn,[m(ge,{onClick:V[1]||(V[1]=A=>g.value=!0)})])],64)):r(k)==="algolia"?(a(),c(M,{key:1},[n.value?(a(),b(r(t),{key:0,algolia:((T=r(s).search)==null?void 0:T.options)??r(s).algolia,onVnodeBeforeMount:V[2]||(V[2]=A=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),c("div",xn,[m(ge,{onClick:u})]))],64)):f("",!0)])}}}),ta=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=L();return(t,s)=>r(e).socialLinks?(a(),b(be,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),oa=$(ta,[["__scopeId","data-v-0394ad82"]]),sa=["href","rel","target"],na={key:1},aa={key:2},ra=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=L(),{hasSidebar:s}=O(),{currentLang:n}=J(),i=y(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),u=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),h=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,g)=>(a(),c("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(s)}])},[d("a",{class:"title",href:i.value??r(fe)(r(n).link),rel:u.value,target:h.value},[l(p.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),b(X,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),c("span",na,I(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),c("span",aa,I(r(e).title),1)):f("",!0),l(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,sa)],2))}}),ia=$(ra,[["__scopeId","data-v-ab179fa1"]]),la={class:"items"},ca={class:"title"},ua=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=L(),{localeLinks:t,currentLang:s}=J({correspondingLink:!0});return(n,i)=>r(t).length&&r(s).label?(a(),b($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:v(()=>[d("div",la,[d("p",ca,I(r(s).label),1),(a(!0),c(M,null,E(r(t),u=>(a(),b(se,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),da=$(ua,[["__scopeId","data-v-88af2de4"]]),va=o=>(B("data-v-ccf7ddec"),o=o(),H(),o),pa={class:"wrapper"},ha={class:"container"},fa={class:"title"},_a={class:"content"},ma={class:"content-body"},ka=va(()=>d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1)),$a=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const{y:e}=Te(),{hasSidebar:t}=O(),{frontmatter:s}=L(),n=w({});return Pe(()=>{n.value={"has-sidebar":t.value,home:s.value.layout==="home",top:e.value===0}}),(i,u)=>(a(),c("div",{class:N(["VPNavBar",n.value])},[d("div",pa,[d("div",ha,[d("div",fa,[m(ia,null,{"nav-bar-title-before":v(()=>[l(i.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[l(i.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",_a,[d("div",ma,[l(i.$slots,"nav-bar-content-before",{},void 0,!0),m(ea,{class:"search"}),m(qn,{class:"menu"}),m(da,{class:"translations"}),m(Rs,{class:"appearance"}),m(oa,{class:"social-links"}),m(wn,{class:"extra"}),l(i.$slots,"nav-bar-content-after",{},void 0,!0),m(Hn,{class:"hamburger",active:i.isScreenOpen,onClick:u[0]||(u[0]=h=>i.$emit("toggle-screen"))},null,8,["active"])])])])]),ka],2))}}),ba=$($a,[["__scopeId","data-v-ccf7ddec"]]),ga={key:0,class:"VPNavScreenAppearance"},ya={class:"text"},Pa=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=L();return(s,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",ga,[d("p",ya,I(r(t).darkModeSwitchLabel||"Appearance"),1),m(me)])):f("",!0)}}),La=$(Pa,[["__scopeId","data-v-2d7af913"]]),Va=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),b(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"]))}}),Sa=$(Va,[["__scopeId","data-v-7f31e1f6"]]),Ta=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),b(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:v(()=>[F(I(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=$(Ta,[["__scopeId","data-v-19976ae1"]]),Ia={class:"VPNavScreenMenuGroupSection"},wa={key:0,class:"title"},Na=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Ia,[e.text?(a(),c("p",wa,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),b(Ee,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Ma=$(Na,[["__scopeId","data-v-8133b170"]]),Aa=o=>(B("data-v-ff6087d4"),o=o(),H(),o),Ca=["aria-controls","aria-expanded"],Ba=["innerHTML"],Ha=Aa(()=>d("span",{class:"vpi-plus button-icon"},null,-1)),Ea=["id"],Da={key:1,class:"group"},Fa=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=w(!1),s=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,u)=>(a(),c("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[d("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:n},[d("span",{class:"button-text",innerHTML:i.text},null,8,Ba),Ha],8,Ca),d("div",{id:s.value,class:"items"},[(a(!0),c(M,null,E(i.items,h=>(a(),c(M,{key:h.text},["link"in h?(a(),c("div",{key:h.text,class:"item"},[m(Ee,{item:h},null,8,["item"])])):(a(),c("div",Da,[m(Ma,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Ea)],2))}}),Oa=$(Fa,[["__scopeId","data-v-ff6087d4"]]),Ua={key:0,class:"VPNavScreenMenu"},Ga=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=L();return(t,s)=>r(e).nav?(a(),c("nav",Ua,[(a(!0),c(M,null,E(r(e).nav,n=>(a(),c(M,{key:n.text},["link"in n?(a(),b(Sa,{key:0,item:n},null,8,["item"])):(a(),b(Oa,{key:1,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),ja=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=L();return(t,s)=>r(e).socialLinks?(a(),b(be,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),De=o=>(B("data-v-858fe1a4"),o=o(),H(),o),za=De(()=>d("span",{class:"vpi-languages icon lang"},null,-1)),qa=De(()=>d("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Ka={class:"list"},Ra=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=J({correspondingLink:!0}),s=w(!1);function n(){s.value=!s.value}return(i,u)=>r(e).length&&r(t).label?(a(),c("div",{key:0,class:N(["VPNavScreenTranslations",{open:s.value}])},[d("button",{class:"title",onClick:n},[za,F(" "+I(r(t).label)+" ",1),qa]),d("ul",Ka,[(a(!0),c(M,null,E(r(e),h=>(a(),c("li",{key:h.link,class:"item"},[m(D,{class:"link",href:h.link},{default:v(()=>[F(I(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),Wa=$(Ra,[["__scopeId","data-v-858fe1a4"]]),Ja={class:"container"},Ya=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=w(null),t=Ie(oe?document.body:null);return(s,n)=>(a(),b(ve,{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"},[d("div",Ja,[l(s.$slots,"nav-screen-content-before",{},void 0,!0),m(Ga,{class:"menu"}),m(Wa,{class:"translations"}),m(La,{class:"appearance"}),m(ja,{class:"social-links"}),l(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Qa=$(Ya,[["__scopeId","data-v-cc5739dd"]]),Xa={key:0,class:"VPNav"},Za=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=Bs(),{frontmatter:n}=L(),i=y(()=>n.value.navbar!==!1);return we("close-screen",t),Z(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,h)=>i.value?(a(),c("header",Xa,[m(ba,{"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(Qa,{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"])])):f("",!0)}}),xa=$(Za,[["__scopeId","data-v-ae24b3ad"]]),Fe=o=>(B("data-v-b8d55f3b"),o=o(),H(),o),er=["role","tabindex"],tr=Fe(()=>d("div",{class:"indicator"},null,-1)),or=Fe(()=>d("span",{class:"vpi-chevron-right caret-icon"},null,-1)),sr=[or],nr={key:1,class:"items"},ar=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:s,isLink:n,isActiveLink:i,hasActiveLink:u,hasChildren:h,toggle:p}=gt(y(()=>e.item)),g=y(()=>h.value?"section":"div"),k=y(()=>n.value?"a":"div"),P=y(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=y(()=>n.value?void 0:"button"),T=y(()=>[[`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&&p()}function C(){e.item.link&&p()}return(S,U)=>{const G=K("VPSidebarItem",!0);return a(),b(W(g.value),{class:N(["VPSidebarItem",T.value])},{default:v(()=>[S.item.text?(a(),c("div",Y({key:0,class:"item",role:V.value},Ze(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[tr,S.item.link?(a(),b(D,{key:0,tag:k.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:v(()=>[(a(),b(W(P.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),b(W(P.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:C,onKeydown:Xe(C,["enter"]),tabindex:"0"},sr,32)):f("",!0)],16,er)):f("",!0),S.item.items&&S.item.items.length?(a(),c("div",nr,[S.depth<5?(a(!0),c(M,{key:0},E(S.item.items,R=>(a(),b(G,{key:R.text,item:R,depth:S.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),rr=$(ar,[["__scopeId","data-v-b8d55f3b"]]),Oe=o=>(B("data-v-575e6a36"),o=o(),H(),o),ir=Oe(()=>d("div",{class:"curtain"},null,-1)),lr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},cr=Oe(()=>d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),ur=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=O(),s=o,n=w(null),i=Ie(oe?document.body:null);return q([s,n],()=>{var u;s.open?(i.value=!0,(u=n.value)==null||u.focus()):i.value=!1},{immediate:!0,flush:"post"}),(u,h)=>r(t)?(a(),c("aside",{key:0,class:N(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:n,onClick:h[0]||(h[0]=xe(()=>{},["stop"]))},[ir,d("nav",lr,[cr,l(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),c(M,null,E(r(e),p=>(a(),c("div",{key:p.text,class:"group"},[m(rr,{item:p,depth:0},null,8,["item"])]))),128)),l(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),dr=$(ur,[["__scopeId","data-v-575e6a36"]]),vr=_({__name:"VPSkipLink",setup(o){const e=ee(),t=w();q(()=>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,[d("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),pr=$(vr,[["__scopeId","data-v-0f60ec36"]]),hr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:s}=O(),n=ee();q(()=>n.path,s),bt(e,s);const{frontmatter:i}=L(),u=et(),h=y(()=>!!u["home-hero-image"]);return we("hero-image-slot-exists",h),(p,g)=>{const k=K("Content");return r(i).layout!==!1?(a(),c("div",{key:0,class:N(["Layout",r(i).pageClass])},[l(p.$slots,"layout-top",{},void 0,!0),m(pr),m(at,{class:"backdrop",show:r(e),onClick:r(s)},null,8,["show","onClick"]),m(xa,null,{"nav-bar-title-before":v(()=>[l(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[l(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[l(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[l(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[l(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[l(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(Cs,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),m(dr,{open:r(e)},{"sidebar-nav-before":v(()=>[l(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[l(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(ps,null,{"page-top":v(()=>[l(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[l(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[l(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[l(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[l(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[l(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[l(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[l(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[l(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[l(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[l(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[l(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[l(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[l(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[l(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[l(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[l(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[l(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[l(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[l(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[l(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[l(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[l(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m(ks),l(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),b(k,{key:1}))}}}),fr=$(hr,[["__scopeId","data-v-5d98c3a5"]]),ye={Layout:fr,enhanceApp:({app:o})=>{o.component("Badge",ot)}},mr={extends:ye,Layout:()=>tt(ye.Layout,null,{}),enhanceApp({app:o,router:e,siteData:t}){}};export{mr as R,Kn as c,L as u}; +import{d as _,o as a,c,r as l,n as N,a as F,t as I,b,w as v,T as ve,e as f,_ as $,u as Ue,i as Ge,f as je,g as pe,h as y,j as w,k as z,l as d,m as r,p as B,q as H,s as j,v as ie,x as q,y as Z,z as he,A as Pe,B as ze,C as qe,D as K,F as M,E,G as Le,H as x,I as m,J as W,K as Ve,L as ee,M as Y,N as te,O as Ke,P as Se,Q as Re,R as le,S as We,U as Te,V as oe,W as Je,X as Ye,Y as Qe,Z as Ie,$ as we,a0 as Xe,a1 as Ze,a2 as xe,a3 as et,a4 as tt}from"./framework.J4W-y093.js";const ot=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:N(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[F(I(e.text),1)])],2))}}),st={key:0,class:"VPBackdrop"},nt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),b(ve,{name:"fade"},{default:v(()=>[e.show?(a(),c("div",st)):f("",!0)]),_:1}))}}),at=$(nt,[["__scopeId","data-v-c79a1216"]]),L=Ue;function rt(o,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(o,e):(o(),(s=!0)&&setTimeout(()=>s=!1,e))}}function ce(o){return/^\//.test(o)?o:`/${o}`}function fe(o){const{pathname:e,search:t,hash:s,protocol:n}=new URL(o,"http://a.com");if(Ge(o)||o.startsWith("#")||!n.startsWith("http")||!je(e))return o;const{site:i}=L(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${s}`);return pe(u)}function J({removeCurrent:o=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:s,page:n,theme:i,hash:u}=L(),h=y(()=>{var g,k;return{label:(g=t.value.locales[s.value])==null?void 0:g.label,link:((k=t.value.locales[s.value])==null?void 0:k.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:y(()=>Object.entries(t.value.locales).flatMap(([g,k])=>o&&h.value.label===k.label?[]:{text:k.label,link:it(k.link||(g==="root"?"/":`/${g}/`),i.value.i18nRouting!==!1&&e,n.value.relativePath.slice(h.value.link.length-1),!t.value.cleanUrls)+u.value})),currentLang:h}}function it(o,e,t,s){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):o}const lt=o=>(B("data-v-f87ff6e4"),o=o(),H(),o),ct={class:"NotFound"},ut={class:"code"},dt={class:"title"},vt=lt(()=>d("div",{class:"divider"},null,-1)),pt={class:"quote"},ht={class:"action"},ft=["href","aria-label"],_t=_({__name:"NotFound",setup(o){const{site:e,theme:t}=L(),{localeLinks:s}=J({removeCurrent:!1}),n=w("/");return z(()=>{var u;const i=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");s.value.length&&(n.value=((u=s.value.find(({link:h})=>h.startsWith(i)))==null?void 0:u.link)||s.value[0].link)}),(i,u)=>{var h,p,g,k,P;return a(),c("div",ct,[d("p",ut,I(((h=r(t).notFound)==null?void 0:h.code)??"404"),1),d("h1",dt,I(((p=r(t).notFound)==null?void 0:p.title)??"PAGE NOT FOUND"),1),vt,d("blockquote",pt,I(((g=r(t).notFound)==null?void 0:g.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",ht,[d("a",{class:"link",href:r(pe)(n.value),"aria-label":((k=r(t).notFound)==null?void 0:k.linkLabel)??"go to home"},I(((P=r(t).notFound)==null?void 0:P.linkText)??"Take me home"),9,ft)])])}}}),mt=$(_t,[["__scopeId","data-v-f87ff6e4"]]);function Ne(o,e){if(Array.isArray(o))return Q(o);if(o==null)return[];e=ce(e);const t=Object.keys(o).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(ce(n))),s=t?o[t]:[];return Array.isArray(s)?Q(s):Q(s.items,s.base)}function kt(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 ue(o,e){return Array.isArray(e)?e.some(t=>ue(o,t)):j(o,e.link)?!0:e.items?ue(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 O(){const{frontmatter:o,page:e,theme:t}=L(),s=ie("(min-width: 960px)"),n=w(!1),i=y(()=>{const C=t.value.sidebar,S=e.value.relativePath;return C?Ne(C,S):[]}),u=w(i.value);q(i,(C,S)=>{JSON.stringify(C)!==JSON.stringify(S)&&(u.value=i.value)});const h=y(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),p=y(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=y(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),k=y(()=>h.value&&s.value),P=y(()=>h.value?kt(u.value):[]);function V(){n.value=!0}function T(){n.value=!1}function A(){n.value?T():V()}return{isOpen:n,sidebar:u,sidebarGroups:P,hasSidebar:h,hasAside:g,leftAside:p,isSidebarEnabled:k,open:V,close:T,toggle:A}}function bt(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),z(()=>{window.addEventListener("keyup",s)}),he(()=>{window.removeEventListener("keyup",s)});function s(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function gt(o){const{page:e,hash:t}=L(),s=w(!1),n=y(()=>o.value.collapsed!=null),i=y(()=>!!o.value.link),u=w(!1),h=()=>{u.value=j(e.value.relativePath,o.value.link)};q([e,o,t],h),z(h);const p=y(()=>u.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),g=y(()=>!!(o.value.items&&o.value.items.length));Z(()=>{s.value=!!(n.value&&o.value.collapsed)}),Pe(()=>{(u.value||p.value)&&(s.value=!1)});function k(){n.value&&(s.value=!s.value)}return{collapsed:s,collapsible:n,isLink:i,isActiveLink:u,hasActiveLink:p,hasChildren:g,toggle:k}}function yt(){const{hasSidebar:o}=O(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Me(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:Pt(t),link:"#"+t.id,level:s}});return Lt(e,o)}function Pt(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 Lt(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),de.length=0;for(const{element:u,link:h}of o)de.push({element:u,link:h});const i=[];e:for(let u=0;u=0;p--){const g=o[p];if(g.level{requestAnimationFrame(i),window.addEventListener("scroll",s)}),ze(()=>{u(location.hash)}),he(()=>{window.removeEventListener("scroll",s)});function i(){if(!t.value)return;const h=window.scrollY,p=window.innerHeight,g=document.body.offsetHeight,k=Math.abs(h+p-g)<1,P=de.map(({element:T,link:A})=>({link:A,top:St(T)})).filter(({top:T})=>!Number.isNaN(T)).sort((T,A)=>T.top-A.top);if(!P.length){u(null);return}if(h<1){u(null);return}if(k){u(P[P.length-1].link);return}let V=null;for(const{link:T,top:A}of P){if(A>h+qe()+4)break;V=T}u(V)}function u(h){n&&n.classList.remove("active"),h==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const p=n;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function St(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const Tt=["href","title"],It=_({__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=K("VPDocOutlineItem",!0);return a(),c("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(M,null,E(t.headers,({children:i,link:u,title:h})=>(a(),c("li",null,[d("a",{class:"outline-link",href:u,onClick:e,title:h},I(h),9,Tt),i!=null&&i.length?(a(),b(n,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Ae=$(It,[["__scopeId","data-v-b933a997"]]),wt=o=>(B("data-v-935f8a84"),o=o(),H(),o),Nt={class:"content"},Mt={class:"outline-title",role:"heading","aria-level":"2"},At={"aria-labelledby":"doc-outline-aria-label"},Ct=wt(()=>d("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Bt=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=L(),s=Le([]);x(()=>{s.value=_e(e.value.outline??t.value.outline)});const n=w(),i=w();return Vt(n,i),(u,h)=>(a(),c("div",{class:N(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:n,role:"navigation"},[d("div",Nt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",Mt,I(r(Me)(r(t))),1),d("nav",At,[Ct,m(Ae,{headers:s.value,root:!0},null,8,["headers"])])])],2))}}),Ht=$(Bt,[["__scopeId","data-v-935f8a84"]]),Et={class:"VPDocAsideCarbonAds"},Dt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,s)=>(a(),c("div",Et,[m(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ft=o=>(B("data-v-3f215769"),o=o(),H(),o),Ot={class:"VPDocAside"},Ut=Ft(()=>d("div",{class:"spacer"},null,-1)),Gt=_({__name:"VPDocAside",setup(o){const{theme:e}=L();return(t,s)=>(a(),c("div",Ot,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(Ht),l(t.$slots,"aside-outline-after",{},void 0,!0),Ut,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),b(Dt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),jt=$(Gt,[["__scopeId","data-v-3f215769"]]);function zt(){const{theme:o,page:e}=L();return y(()=>{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 qt(){const{page:o,theme:e,frontmatter:t}=L();return y(()=>{var g,k,P,V,T,A,C,S;const s=Ne(e.value.sidebar,o.value.relativePath),n=$t(s),i=Kt(n,U=>U.link.replace(/[?#].*$/,"")),u=i.findIndex(U=>j(o.value.relativePath,U.link)),h=((g=e.value.docFooter)==null?void 0:g.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((k=e.value.docFooter)==null?void 0:k.next)===!1&&!t.value.next||t.value.next===!1;return{prev:h?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((P=i[u-1])==null?void 0:P.docFooterText)??((V=i[u-1])==null?void 0:V.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((T=i[u-1])==null?void 0:T.link)},next:p?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)??((C=i[u+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[u+1])==null?void 0:S.link)}}})}function Kt(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=y(()=>e.tag??(e.href?"a":"span")),s=y(()=>e.href&&Ve.test(e.href));return(n,i)=>(a(),b(W(t.value),{class:N(["VPLink",{link:n.href,"vp-external-link-icon":s.value,"no-icon":n.noIcon}]),href:n.href?r(fe)(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"]))}}),Rt={class:"VPLastUpdated"},Wt=["datetime"],Jt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,frontmatter:s,lang:n}=L(),i=y(()=>new Date(s.value.lastUpdated??t.value.lastUpdated)),u=y(()=>i.value.toISOString()),h=w("");return z(()=>{Z(()=>{var p,g,k;h.value=new Intl.DateTimeFormat((g=(p=e.value.lastUpdated)==null?void 0:p.formatOptions)!=null&&g.forceLocale?n.value:void 0,((k=e.value.lastUpdated)==null?void 0:k.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(i.value)})}),(p,g)=>{var k;return a(),c("p",Rt,[F(I(((k=r(e).lastUpdated)==null?void 0:k.text)||r(e).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:u.value},I(h.value),9,Wt)])}}}),Yt=$(Jt,[["__scopeId","data-v-7e05ebdb"]]),Qt=o=>(B("data-v-09de1c0f"),o=o(),H(),o),Xt={key:0,class:"VPDocFooter"},Zt={key:0,class:"edit-info"},xt={key:0,class:"edit-link"},eo=Qt(()=>d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),to={key:1,class:"last-updated"},oo={key:1,class:"prev-next"},so={class:"pager"},no=["innerHTML"],ao=["innerHTML"],ro={class:"pager"},io=["innerHTML"],lo=["innerHTML"],co=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:s}=L(),n=zt(),i=qt(),u=y(()=>e.value.editLink&&s.value.editLink!==!1),h=y(()=>t.value.lastUpdated&&s.value.lastUpdated!==!1),p=y(()=>u.value||h.value||i.value.prev||i.value.next);return(g,k)=>{var P,V,T,A;return p.value?(a(),c("footer",Xt,[l(g.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),c("div",Zt,[u.value?(a(),c("div",xt,[m(D,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:v(()=>[eo,F(" "+I(r(n).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),c("div",to,[m(Yt)])):f("",!0)])):f("",!0),(P=r(i).prev)!=null&&P.link||(V=r(i).next)!=null&&V.link?(a(),c("nav",oo,[d("div",so,[(T=r(i).prev)!=null&&T.link?(a(),b(D,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:v(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,no),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,ao)]}),_:1},8,["href"])):f("",!0)]),d("div",ro,[(A=r(i).next)!=null&&A.link?(a(),b(D,{key:0,class:"pager-link next",href:r(i).next.link},{default:v(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,io),d("span",{class:"title",innerHTML:r(i).next.text},null,8,lo)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),uo=$(co,[["__scopeId","data-v-09de1c0f"]]),vo=o=>(B("data-v-39a288b8"),o=o(),H(),o),po={class:"container"},ho=vo(()=>d("div",{class:"aside-curtain"},null,-1)),fo={class:"aside-container"},_o={class:"aside-content"},mo={class:"content"},ko={class:"content-container"},$o={class:"main"},bo=_({__name:"VPDoc",setup(o){const{theme:e}=L(),t=ee(),{hasSidebar:s,hasAside:n,leftAside:i}=O(),u=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,p)=>{const g=K("Content");return a(),c("div",{class:N(["VPDoc",{"has-sidebar":r(s),"has-aside":r(n)}])},[l(h.$slots,"doc-top",{},void 0,!0),d("div",po,[r(n)?(a(),c("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[ho,d("div",fo,[d("div",_o,[m(jt,null,{"aside-top":v(()=>[l(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[l(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[l(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[l(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[l(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[l(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),d("div",mo,[d("div",ko,[l(h.$slots,"doc-before",{},void 0,!0),d("main",$o,[m(g,{class:N(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(uo,null,{"doc-footer-before":v(()=>[l(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(h.$slots,"doc-after",{},void 0,!0)])])]),l(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),go=$(bo,[["__scopeId","data-v-39a288b8"]]),yo=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.href&&Ve.test(e.href)),s=y(()=>e.tag||e.href?"a":"button");return(n,i)=>(a(),b(W(s.value),{class:N(["VPButton",[n.size,n.theme]]),href:n.href?r(fe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:v(()=>[F(I(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),Po=$(yo,[["__scopeId","data-v-cad61b99"]]),Lo=["src","alt"],Vo=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const s=K("VPImage",!0);return e.image?(a(),c(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),c("img",Y({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Lo)):(a(),c(M,{key:1},[m(s,Y({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),m(s,Y({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),X=$(Vo,[["__scopeId","data-v-8426fc1a"]]),So=o=>(B("data-v-303bb580"),o=o(),H(),o),To={class:"container"},Io={class:"main"},wo={key:0,class:"name"},No=["innerHTML"],Mo=["innerHTML"],Ao=["innerHTML"],Co={key:0,class:"actions"},Bo={key:0,class:"image"},Ho={class:"image-container"},Eo=So(()=>d("div",{class:"image-bg"},null,-1)),Do=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=te("hero-image-slot-exists");return(t,s)=>(a(),c("div",{class:N(["VPHero",{"has-image":t.image||r(e)}])},[d("div",To,[d("div",Io,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",wo,[d("span",{innerHTML:t.name,class:"clip"},null,8,No)])):f("",!0),t.text?(a(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,Mo)):f("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Ao)):f("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",Co,[(a(!0),c(M,null,E(t.actions,n=>(a(),c("div",{key:n.link,class:"action"},[m(Po,{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))])):f("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),c("div",Bo,[d("div",Ho,[Eo,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),b(X,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Fo=$(Do,[["__scopeId","data-v-303bb580"]]),Oo=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=L();return(t,s)=>r(e).hero?(a(),b(Fo,{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"])):f("",!0)}}),Uo=o=>(B("data-v-a3976bdc"),o=o(),H(),o),Go={class:"box"},jo={key:0,class:"icon"},zo=["innerHTML"],qo=["innerHTML"],Ko=["innerHTML"],Ro={key:4,class:"link-text"},Wo={class:"link-text-value"},Jo=Uo(()=>d("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Yo=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),b(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[d("article",Go,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",jo,[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(),b(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,zo)):f("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,qo),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Ko)):f("",!0),e.linkText?(a(),c("div",Ro,[d("p",Wo,[F(I(e.linkText)+" ",1),Jo])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Qo=$(Yo,[["__scopeId","data-v-a3976bdc"]]),Xo={key:0,class:"VPFeatures"},Zo={class:"container"},xo={class:"items"},es=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=y(()=>{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",Xo,[d("div",Zo,[d("div",xo,[(a(!0),c(M,null,E(s.features,i=>(a(),c("div",{key:i.title,class:N(["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))])])])):f("",!0)}}),ts=$(es,[["__scopeId","data-v-a6181336"]]),os=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=L();return(t,s)=>r(e).features?(a(),b(ts,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),ss=_({__name:"VPHomeContent",setup(o){const{width:e}=Ke({includeScrollbar:!1});return(t,s)=>(a(),c("div",{class:"vp-doc container",style:Se(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),ns=$(ss,[["__scopeId","data-v-82d4af08"]]),as={class:"VPHome"},rs=_({__name:"VPHome",setup(o){const{frontmatter:e}=L();return(t,s)=>{const n=K("Content");return a(),c("div",as,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Oo,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(os),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),b(ns,{key:0},{default:v(()=>[m(n)]),_:1})):(a(),b(n,{key:1}))])}}}),is=$(rs,[["__scopeId","data-v-686f80a6"]]),ls={},cs={class:"VPPage"};function us(o,e){const t=K("Content");return a(),c("div",cs,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const ds=$(ls,[["render",us]]),vs=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=L(),{hasSidebar:s}=O();return(n,i)=>(a(),c("div",{class:N(["VPContent",{"has-sidebar":r(s),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(n.$slots,"not-found",{key:0},()=>[m(mt)],!0):r(t).layout==="page"?(a(),b(ds,{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(),b(is,{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(),b(W(r(t).layout),{key:3})):(a(),b(go,{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))}}),ps=$(vs,[["__scopeId","data-v-1428d186"]]),hs={class:"container"},fs=["innerHTML"],_s=["innerHTML"],ms=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:s}=O();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),c("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(s)}])},[d("div",hs,[r(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,fs)):f("",!0),r(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,_s)):f("",!0)])],2)):f("",!0)}}),ks=$(ms,[["__scopeId","data-v-e315a0ad"]]);function $s(){const{theme:o,frontmatter:e}=L(),t=Le([]),s=y(()=>t.value.length>0);return x(()=>{t.value=_e(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:s}}const bs=o=>(B("data-v-267dd0ed"),o=o(),H(),o),gs={class:"menu-text"},ys=bs(()=>d("span",{class:"vpi-chevron-right icon"},null,-1)),Ps={class:"header"},Ls={class:"outline"},Vs=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=L(),s=w(!1),n=w(0),i=w(),u=w();Re(i,()=>{s.value=!1}),le("Escape",()=>{s.value=!1}),x(()=>{s.value=!1});function h(){s.value=!s.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p(k){k.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),We(()=>{s.value=!1}))}function g(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(k,P)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:Se({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[k.headers.length>0?(a(),c("button",{key:0,onClick:h,class:N({open:s.value})},[d("span",gs,I(r(Me)(r(t))),1),ys],2)):(a(),c("button",{key:1,onClick:g},I(r(t).returnToTopLabel||"Return to top"),1)),m(ve,{name:"flyout"},{default:v(()=>[s.value?(a(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:p},[d("div",Ps,[d("a",{class:"top-link",href:"#",onClick:g},I(r(t).returnToTopLabel||"Return to top"),1)]),d("div",Ls,[m(Ae,{headers:k.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Ss=$(Vs,[["__scopeId","data-v-267dd0ed"]]),Ts=o=>(B("data-v-a6f0e41e"),o=o(),H(),o),Is={class:"container"},ws=["aria-expanded"],Ns=Ts(()=>d("span",{class:"vpi-align-left menu-icon"},null,-1)),Ms={class:"menu-text"},As=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:s}=O(),{headers:n}=$s(),{y:i}=Te(),u=w(0);z(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{n.value=_e(t.value.outline??e.value.outline)});const h=y(()=>n.value.length===0),p=y(()=>h.value&&!s.value),g=y(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:h.value,fixed:p.value}));return(k,P)=>r(t).layout!=="home"&&(!p.value||r(i)>=u.value)?(a(),c("div",{key:0,class:N(g.value)},[d("div",Is,[r(s)?(a(),c("button",{key:0,class:"menu","aria-expanded":k.open,"aria-controls":"VPSidebarNav",onClick:P[0]||(P[0]=V=>k.$emit("open-menu"))},[Ns,d("span",Ms,I(r(e).sidebarMenuLabel||"Menu"),1)],8,ws)):f("",!0),m(Ss,{headers:r(n),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Cs=$(As,[["__scopeId","data-v-a6f0e41e"]]);function Bs(){const o=w(!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 q(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:s}}const Hs={},Es={class:"VPSwitch",type:"button",role:"switch"},Ds={class:"check"},Fs={key:0,class:"icon"};function Os(o,e){return a(),c("button",Es,[d("span",Ds,[o.$slots.default?(a(),c("span",Fs,[l(o.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Us=$(Hs,[["render",Os],["__scopeId","data-v-1d5665e3"]]),Ce=o=>(B("data-v-d1f28634"),o=o(),H(),o),Gs=Ce(()=>d("span",{class:"vpi-sun sun"},null,-1)),js=Ce(()=>d("span",{class:"vpi-moon moon"},null,-1)),zs=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=L(),s=te("toggle-appearance",()=>{e.value=!e.value}),n=y(()=>e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme");return(i,u)=>(a(),b(Us,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(s)},{default:v(()=>[Gs,js]),_:1},8,["title","aria-checked","onClick"]))}}),me=$(zs,[["__scopeId","data-v-d1f28634"]]),qs={key:0,class:"VPNavBarAppearance"},Ks=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=L();return(t,s)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",qs,[m(me)])):f("",!0)}}),Rs=$(Ks,[["__scopeId","data-v-e6aabb21"]]),ke=w();let Be=!1,re=0;function Ws(o){const e=w(!1);if(oe){!Be&&Js(),re++;const t=q(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))});he(()=>{t(),re--,re||Ys()})}return Je(e)}function Js(){document.addEventListener("focusin",He),Be=!0,ke.value=document.activeElement}function Ys(){document.removeEventListener("focusin",He)}function He(){ke.value=document.activeElement}const Qs={class:"VPMenuLink"},Xs=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,s)=>(a(),c("div",Qs,[m(D,{class:N({active:r(j)(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(()=>[F(I(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),se=$(Xs,[["__scopeId","data-v-43f1e123"]]),Zs={class:"VPMenuGroup"},xs={key:0,class:"title"},en=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Zs,[e.text?(a(),c("p",xs,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),c(M,null,["link"in s?(a(),b(se,{key:0,item:s},null,8,["item"])):f("",!0)],64))),256))]))}}),tn=$(en,[["__scopeId","data-v-69e747b5"]]),on={class:"VPMenu"},sn={key:0,class:"items"},nn=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),c("div",on,[e.items?(a(),c("div",sn,[(a(!0),c(M,null,E(e.items,s=>(a(),c(M,{key:s.text},["link"in s?(a(),b(se,{key:0,item:s},null,8,["item"])):(a(),b(tn,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),an=$(nn,[["__scopeId","data-v-e7ea1737"]]),rn=o=>(B("data-v-b6c34ac9"),o=o(),H(),o),ln=["aria-expanded","aria-label"],cn={key:0,class:"text"},un=["innerHTML"],dn=rn(()=>d("span",{class:"vpi-chevron-down text-icon"},null,-1)),vn={key:1,class:"vpi-more-horizontal icon"},pn={class:"menu"},hn=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=w(!1),t=w();Ws({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)},[d("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",cn,[n.icon?(a(),c("span",{key:0,class:N([n.icon,"option-icon"])},null,2)):f("",!0),n.button?(a(),c("span",{key:1,innerHTML:n.button},null,8,un)):f("",!0),dn])):(a(),c("span",vn))],8,ln),d("div",pn,[m(an,{items:n.items},{default:v(()=>[l(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=$(hn,[["__scopeId","data-v-b6c34ac9"]]),fn=["href","aria-label","innerHTML"],_n=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=y(()=>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,fn))}}),mn=$(_n,[["__scopeId","data-v-eee4e7cb"]]),kn={class:"VPSocialLinks"},$n=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",kn,[(a(!0),c(M,null,E(e.links,({link:s,icon:n,ariaLabel:i})=>(a(),b(mn,{key:s,icon:n,link:s,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),be=$($n,[["__scopeId","data-v-7bc22406"]]),bn={key:0,class:"group translations"},gn={class:"trans-title"},yn={key:1,class:"group"},Pn={class:"item appearance"},Ln={class:"label"},Vn={class:"appearance-action"},Sn={key:2,class:"group"},Tn={class:"item social-links"},In=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=L(),{localeLinks:s,currentLang:n}=J({correspondingLink:!0}),i=y(()=>s.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>i.value?(a(),b($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[r(s).length&&r(n).label?(a(),c("div",bn,[d("p",gn,I(r(n).label),1),(a(!0),c(M,null,E(r(s),p=>(a(),b(se,{key:p.link,item:p},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",yn,[d("div",Pn,[d("p",Ln,I(r(t).darkModeSwitchLabel||"Appearance"),1),d("div",Vn,[m(me)])])])):f("",!0),r(t).socialLinks?(a(),c("div",Sn,[d("div",Tn,[m(be,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),wn=$(In,[["__scopeId","data-v-d0bd9dde"]]),Nn=o=>(B("data-v-e5dd9c1c"),o=o(),H(),o),Mn=["aria-expanded"],An=Nn(()=>d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)),Cn=[An],Bn=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("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]=s=>e.$emit("click"))},Cn,10,Mn))}}),Hn=$(Bn,[["__scopeId","data-v-e5dd9c1c"]]),En=["innerHTML"],Dn=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,s)=>(a(),b(D,{class:N({VPNavBarMenuLink:!0,active:r(j)(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(()=>[d("span",{innerHTML:t.item.text},null,8,En)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Fn=$(Dn,[["__scopeId","data-v-9c663999"]]),On=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=L(),s=i=>"link"in i?j(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(s),n=y(()=>s(e.item));return(i,u)=>(a(),b($e,{class:N({VPNavBarMenuGroup:!0,active:r(j)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Un=o=>(B("data-v-7f418b0f"),o=o(),H(),o),Gn={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},jn=Un(()=>d("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),zn=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=L();return(t,s)=>r(e).nav?(a(),c("nav",Gn,[jn,(a(!0),c(M,null,E(r(e).nav,n=>(a(),c(M,{key:n.text},["link"in n?(a(),b(Fn,{key:0,item:n},null,8,["item"])):(a(),b(On,{key:1,item:n},null,8,["item"]))],64))),128))])):f("",!0)}}),qn=$(zn,[["__scopeId","data-v-7f418b0f"]]);function Kn(o){const{localeIndex:e,theme:t}=L();function s(n){var A,C,S;const i=n.split("."),u=(A=t.value.search)==null?void 0:A.options,h=u&&typeof u=="object",p=h&&((S=(C=u.locales)==null?void 0:C[e.value])==null?void 0:S.translations)||null,g=h&&u.translations||null;let k=p,P=g,V=o;const T=i.pop();for(const U of i){let G=null;const R=V==null?void 0:V[U];R&&(G=V=R);const ne=P==null?void 0:P[U];ne&&(G=P=ne);const ae=k==null?void 0:k[U];ae&&(G=k=ae),R||(V=G),ne||(P=G),ae||(k=G)}return(k==null?void 0:k[T])??(P==null?void 0:P[T])??(V==null?void 0:V[T])??""}return s}const Rn=["aria-label"],Wn={class:"DocSearch-Button-Container"},Jn=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Yn={class:"DocSearch-Button-Placeholder"},Qn=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ge=_({__name:"VPNavBarSearchButton",setup(o){const t=Kn({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,n)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[d("span",Wn,[Jn,d("span",Yn,I(r(t)("button.buttonText")),1)]),Qn],8,Rn))}}),Xn={class:"VPNavBarSearch"},Zn={id:"local-search"},xn={key:1,id:"docsearch"},ea=_({__name:"VPNavBarSearch",setup(o){const e=Ye(()=>Qe(()=>import("./VPLocalSearchBox.BqmpJ0Vu.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=L(),n=w(!1),i=w(!1);z(()=>{});function u(){n.value||(n.value=!0,setTimeout(h,16))}function h(){const P=new Event("keydown");P.key="k",P.metaKey=!0,window.dispatchEvent(P),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function p(P){const V=P.target,T=V.tagName;return V.isContentEditable||T==="INPUT"||T==="SELECT"||T==="TEXTAREA"}const g=w(!1);le("k",P=>{(P.ctrlKey||P.metaKey)&&(P.preventDefault(),g.value=!0)}),le("/",P=>{p(P)||(P.preventDefault(),g.value=!0)});const k="local";return(P,V)=>{var T;return a(),c("div",Xn,[r(k)==="local"?(a(),c(M,{key:0},[g.value?(a(),b(r(e),{key:0,onClose:V[0]||(V[0]=A=>g.value=!1)})):f("",!0),d("div",Zn,[m(ge,{onClick:V[1]||(V[1]=A=>g.value=!0)})])],64)):r(k)==="algolia"?(a(),c(M,{key:1},[n.value?(a(),b(r(t),{key:0,algolia:((T=r(s).search)==null?void 0:T.options)??r(s).algolia,onVnodeBeforeMount:V[2]||(V[2]=A=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),c("div",xn,[m(ge,{onClick:u})]))],64)):f("",!0)])}}}),ta=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=L();return(t,s)=>r(e).socialLinks?(a(),b(be,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),oa=$(ta,[["__scopeId","data-v-0394ad82"]]),sa=["href","rel","target"],na={key:1},aa={key:2},ra=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=L(),{hasSidebar:s}=O(),{currentLang:n}=J(),i=y(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),u=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),h=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,g)=>(a(),c("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(s)}])},[d("a",{class:"title",href:i.value??r(fe)(r(n).link),rel:u.value,target:h.value},[l(p.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),b(X,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),c("span",na,I(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),c("span",aa,I(r(e).title),1)):f("",!0),l(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,sa)],2))}}),ia=$(ra,[["__scopeId","data-v-ab179fa1"]]),la={class:"items"},ca={class:"title"},ua=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=L(),{localeLinks:t,currentLang:s}=J({correspondingLink:!0});return(n,i)=>r(t).length&&r(s).label?(a(),b($e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:v(()=>[d("div",la,[d("p",ca,I(r(s).label),1),(a(!0),c(M,null,E(r(t),u=>(a(),b(se,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),da=$(ua,[["__scopeId","data-v-88af2de4"]]),va=o=>(B("data-v-ccf7ddec"),o=o(),H(),o),pa={class:"wrapper"},ha={class:"container"},fa={class:"title"},_a={class:"content"},ma={class:"content-body"},ka=va(()=>d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1)),$a=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const{y:e}=Te(),{hasSidebar:t}=O(),{frontmatter:s}=L(),n=w({});return Pe(()=>{n.value={"has-sidebar":t.value,home:s.value.layout==="home",top:e.value===0}}),(i,u)=>(a(),c("div",{class:N(["VPNavBar",n.value])},[d("div",pa,[d("div",ha,[d("div",fa,[m(ia,null,{"nav-bar-title-before":v(()=>[l(i.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[l(i.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",_a,[d("div",ma,[l(i.$slots,"nav-bar-content-before",{},void 0,!0),m(ea,{class:"search"}),m(qn,{class:"menu"}),m(da,{class:"translations"}),m(Rs,{class:"appearance"}),m(oa,{class:"social-links"}),m(wn,{class:"extra"}),l(i.$slots,"nav-bar-content-after",{},void 0,!0),m(Hn,{class:"hamburger",active:i.isScreenOpen,onClick:u[0]||(u[0]=h=>i.$emit("toggle-screen"))},null,8,["active"])])])])]),ka],2))}}),ba=$($a,[["__scopeId","data-v-ccf7ddec"]]),ga={key:0,class:"VPNavScreenAppearance"},ya={class:"text"},Pa=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=L();return(s,n)=>r(e).appearance&&r(e).appearance!=="force-dark"?(a(),c("div",ga,[d("p",ya,I(r(t).darkModeSwitchLabel||"Appearance"),1),m(me)])):f("",!0)}}),La=$(Pa,[["__scopeId","data-v-2d7af913"]]),Va=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),b(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"]))}}),Sa=$(Va,[["__scopeId","data-v-7f31e1f6"]]),Ta=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),b(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:v(()=>[F(I(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=$(Ta,[["__scopeId","data-v-19976ae1"]]),Ia={class:"VPNavScreenMenuGroupSection"},wa={key:0,class:"title"},Na=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Ia,[e.text?(a(),c("p",wa,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),b(Ee,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Ma=$(Na,[["__scopeId","data-v-8133b170"]]),Aa=o=>(B("data-v-ff6087d4"),o=o(),H(),o),Ca=["aria-controls","aria-expanded"],Ba=["innerHTML"],Ha=Aa(()=>d("span",{class:"vpi-plus button-icon"},null,-1)),Ea=["id"],Da={key:1,class:"group"},Fa=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=w(!1),s=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,u)=>(a(),c("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[d("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:n},[d("span",{class:"button-text",innerHTML:i.text},null,8,Ba),Ha],8,Ca),d("div",{id:s.value,class:"items"},[(a(!0),c(M,null,E(i.items,h=>(a(),c(M,{key:h.text},["link"in h?(a(),c("div",{key:h.text,class:"item"},[m(Ee,{item:h},null,8,["item"])])):(a(),c("div",Da,[m(Ma,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Ea)],2))}}),Oa=$(Fa,[["__scopeId","data-v-ff6087d4"]]),Ua={key:0,class:"VPNavScreenMenu"},Ga=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=L();return(t,s)=>r(e).nav?(a(),c("nav",Ua,[(a(!0),c(M,null,E(r(e).nav,n=>(a(),c(M,{key:n.text},["link"in n?(a(),b(Sa,{key:0,item:n},null,8,["item"])):(a(),b(Oa,{key:1,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),ja=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=L();return(t,s)=>r(e).socialLinks?(a(),b(be,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),De=o=>(B("data-v-858fe1a4"),o=o(),H(),o),za=De(()=>d("span",{class:"vpi-languages icon lang"},null,-1)),qa=De(()=>d("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Ka={class:"list"},Ra=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=J({correspondingLink:!0}),s=w(!1);function n(){s.value=!s.value}return(i,u)=>r(e).length&&r(t).label?(a(),c("div",{key:0,class:N(["VPNavScreenTranslations",{open:s.value}])},[d("button",{class:"title",onClick:n},[za,F(" "+I(r(t).label)+" ",1),qa]),d("ul",Ka,[(a(!0),c(M,null,E(r(e),h=>(a(),c("li",{key:h.link,class:"item"},[m(D,{class:"link",href:h.link},{default:v(()=>[F(I(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),Wa=$(Ra,[["__scopeId","data-v-858fe1a4"]]),Ja={class:"container"},Ya=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=w(null),t=Ie(oe?document.body:null);return(s,n)=>(a(),b(ve,{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"},[d("div",Ja,[l(s.$slots,"nav-screen-content-before",{},void 0,!0),m(Ga,{class:"menu"}),m(Wa,{class:"translations"}),m(La,{class:"appearance"}),m(ja,{class:"social-links"}),l(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Qa=$(Ya,[["__scopeId","data-v-cc5739dd"]]),Xa={key:0,class:"VPNav"},Za=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=Bs(),{frontmatter:n}=L(),i=y(()=>n.value.navbar!==!1);return we("close-screen",t),Z(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,h)=>i.value?(a(),c("header",Xa,[m(ba,{"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(Qa,{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"])])):f("",!0)}}),xa=$(Za,[["__scopeId","data-v-ae24b3ad"]]),Fe=o=>(B("data-v-b8d55f3b"),o=o(),H(),o),er=["role","tabindex"],tr=Fe(()=>d("div",{class:"indicator"},null,-1)),or=Fe(()=>d("span",{class:"vpi-chevron-right caret-icon"},null,-1)),sr=[or],nr={key:1,class:"items"},ar=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:s,isLink:n,isActiveLink:i,hasActiveLink:u,hasChildren:h,toggle:p}=gt(y(()=>e.item)),g=y(()=>h.value?"section":"div"),k=y(()=>n.value?"a":"div"),P=y(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=y(()=>n.value?void 0:"button"),T=y(()=>[[`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&&p()}function C(){e.item.link&&p()}return(S,U)=>{const G=K("VPSidebarItem",!0);return a(),b(W(g.value),{class:N(["VPSidebarItem",T.value])},{default:v(()=>[S.item.text?(a(),c("div",Y({key:0,class:"item",role:V.value},Ze(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[tr,S.item.link?(a(),b(D,{key:0,tag:k.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:v(()=>[(a(),b(W(P.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),b(W(P.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:C,onKeydown:Xe(C,["enter"]),tabindex:"0"},sr,32)):f("",!0)],16,er)):f("",!0),S.item.items&&S.item.items.length?(a(),c("div",nr,[S.depth<5?(a(!0),c(M,{key:0},E(S.item.items,R=>(a(),b(G,{key:R.text,item:R,depth:S.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),rr=$(ar,[["__scopeId","data-v-b8d55f3b"]]),Oe=o=>(B("data-v-575e6a36"),o=o(),H(),o),ir=Oe(()=>d("div",{class:"curtain"},null,-1)),lr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},cr=Oe(()=>d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),ur=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=O(),s=o,n=w(null),i=Ie(oe?document.body:null);return q([s,n],()=>{var u;s.open?(i.value=!0,(u=n.value)==null||u.focus()):i.value=!1},{immediate:!0,flush:"post"}),(u,h)=>r(t)?(a(),c("aside",{key:0,class:N(["VPSidebar",{open:u.open}]),ref_key:"navEl",ref:n,onClick:h[0]||(h[0]=xe(()=>{},["stop"]))},[ir,d("nav",lr,[cr,l(u.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),c(M,null,E(r(e),p=>(a(),c("div",{key:p.text,class:"group"},[m(rr,{item:p,depth:0},null,8,["item"])]))),128)),l(u.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),dr=$(ur,[["__scopeId","data-v-575e6a36"]]),vr=_({__name:"VPSkipLink",setup(o){const e=ee(),t=w();q(()=>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,[d("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),pr=$(vr,[["__scopeId","data-v-0f60ec36"]]),hr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:s}=O(),n=ee();q(()=>n.path,s),bt(e,s);const{frontmatter:i}=L(),u=et(),h=y(()=>!!u["home-hero-image"]);return we("hero-image-slot-exists",h),(p,g)=>{const k=K("Content");return r(i).layout!==!1?(a(),c("div",{key:0,class:N(["Layout",r(i).pageClass])},[l(p.$slots,"layout-top",{},void 0,!0),m(pr),m(at,{class:"backdrop",show:r(e),onClick:r(s)},null,8,["show","onClick"]),m(xa,null,{"nav-bar-title-before":v(()=>[l(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[l(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[l(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[l(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[l(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[l(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(Cs,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),m(dr,{open:r(e)},{"sidebar-nav-before":v(()=>[l(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[l(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(ps,null,{"page-top":v(()=>[l(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[l(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[l(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[l(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[l(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[l(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[l(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[l(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[l(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[l(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[l(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[l(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[l(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[l(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[l(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[l(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[l(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[l(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[l(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[l(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[l(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[l(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[l(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m(ks),l(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),b(k,{key:1}))}}}),fr=$(hr,[["__scopeId","data-v-5d98c3a5"]]),ye={Layout:fr,enhanceApp:({app:o})=>{o.component("Badge",ot)}},mr={extends:ye,Layout:()=>tt(ye.Layout,null,{}),enhanceApp({app:o,router:e,siteData:t}){}};export{mr as R,Kn as c,L as u}; diff --git a/assets/cloud-rollup_digital-ocean.md.CT1o5K27.js b/assets/cloud-rollup_digital-ocean.md.B5WR59Xl.js similarity index 93% rename from assets/cloud-rollup_digital-ocean.md.CT1o5K27.js rename to assets/cloud-rollup_digital-ocean.md.B5WR59Xl.js index 288b270..ace9e1a 100644 --- a/assets/cloud-rollup_digital-ocean.md.CT1o5K27.js +++ b/assets/cloud-rollup_digital-ocean.md.B5WR59Xl.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.D561hJ3q.js";const e="/assets/do-setup.Bh3liMJG.png",n="/assets/a-record.C42okaqR.png",l="/assets/sequencer-faucet.6UQ0f9HT.png",y=JSON.parse('{"title":"Digital Ocean","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"cloud-rollup/digital-ocean.md","filePath":"cloud-rollup/digital-ocean.md","lastUpdated":1713206801000}'),h={name:"cloud-rollup/digital-ocean.md"},p=t(`

Digital Ocean

This guide will walk you through deploying a rollup full node on a Kubernetes cluster on Digital Ocean which uses the Astria shared sequencer network.

Local Dependencies

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.J4W-y093.js";const e="/docs/assets/do-setup.Bh3liMJG.png",n="/docs/assets/a-record.C42okaqR.png",l="/docs/assets/sequencer-faucet.6UQ0f9HT.png",y=JSON.parse('{"title":"Digital Ocean","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"cloud-rollup/digital-ocean.md","filePath":"cloud-rollup/digital-ocean.md","lastUpdated":1713206801000}'),h={name:"cloud-rollup/digital-ocean.md"},p=t(`

Digital Ocean

This guide will walk you through deploying a rollup full node on a Kubernetes cluster on Digital Ocean which uses the Astria shared sequencer network.

Local Dependencies

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
@@ -40,4 +40,4 @@ import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.D561hJ3q.js";const e
 <YOUR_ROLLUP_NAME>-blockscout-647745c66d-vz4ks     6/6     Running   1 (56s ago)   72s
 <YOUR_ROLLUP_NAME>-celestia-node-light-mocha-4-0   2/2     Running   1 (56s ago)   72s
 <YOUR_ROLLUP_NAME>-faucet-68667bd895-pwqmz         1/1     Running   0             72s
-<YOUR_ROLLUP_NAME>-geth-755cb8dd97-k5xp8           3/3     Running   0             72s

Your Rollup Endpoints

Your rollup will automatically be configured with several public endpoints using the DNS you configured:

UtilityURL
Block Explorerhttp://blockscout.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/
Faucethttp://faucet.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/
RPChttp://executor.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/

Interact with your Rollup

bash
export ETH_RPC_URL=http://executor.$ROLLUP_NAME.$ROLLUP_HOSTNAME/
bash
cast block 0

Use an address of your choice.

bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key $ROLLUP_FAUCET_PRIV_KEY
bash
cast balance $REC_ADDR
`,91),k=[p];function r(d,o,c,g,u,F){return a(),i("div",null,k)}const b=s(h,[["render",r]]);export{y as __pageData,b as default}; +<YOUR_ROLLUP_NAME>-geth-755cb8dd97-k5xp8 3/3 Running 0 72s

Your Rollup Endpoints

Your rollup will automatically be configured with several public endpoints using the DNS you configured:

UtilityURL
Block Explorerhttp://blockscout.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/
Faucethttp://faucet.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/
RPChttp://executor.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/

Interact with your Rollup

bash
export ETH_RPC_URL=http://executor.$ROLLUP_NAME.$ROLLUP_HOSTNAME/
bash
cast block 0

Use an address of your choice.

bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key $ROLLUP_FAUCET_PRIV_KEY
bash
cast balance $REC_ADDR
`,91),r=[p];function k(d,o,c,g,u,F){return a(),i("div",null,r)}const b=s(h,[["render",k]]);export{y as __pageData,b as default}; diff --git a/assets/cloud-rollup_digital-ocean.md.B5WR59Xl.lean.js b/assets/cloud-rollup_digital-ocean.md.B5WR59Xl.lean.js new file mode 100644 index 0000000..4815a60 --- /dev/null +++ b/assets/cloud-rollup_digital-ocean.md.B5WR59Xl.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.J4W-y093.js";const e="/docs/assets/do-setup.Bh3liMJG.png",n="/docs/assets/a-record.C42okaqR.png",l="/docs/assets/sequencer-faucet.6UQ0f9HT.png",y=JSON.parse('{"title":"Digital Ocean","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"cloud-rollup/digital-ocean.md","filePath":"cloud-rollup/digital-ocean.md","lastUpdated":1713206801000}'),h={name:"cloud-rollup/digital-ocean.md"},p=t("",91),r=[p];function k(d,o,c,g,u,F){return a(),i("div",null,r)}const b=s(h,[["render",k]]);export{y as __pageData,b as default}; diff --git a/assets/cloud-rollup_digital-ocean.md.CT1o5K27.lean.js b/assets/cloud-rollup_digital-ocean.md.CT1o5K27.lean.js deleted file mode 100644 index edc74e5..0000000 --- a/assets/cloud-rollup_digital-ocean.md.CT1o5K27.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.D561hJ3q.js";const e="/assets/do-setup.Bh3liMJG.png",n="/assets/a-record.C42okaqR.png",l="/assets/sequencer-faucet.6UQ0f9HT.png",y=JSON.parse('{"title":"Digital Ocean","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"cloud-rollup/digital-ocean.md","filePath":"cloud-rollup/digital-ocean.md","lastUpdated":1713206801000}'),h={name:"cloud-rollup/digital-ocean.md"},p=t("",91),k=[p];function r(d,o,c,g,u,F){return a(),i("div",null,k)}const b=s(h,[["render",r]]);export{y as __pageData,b as default}; diff --git a/assets/community_1-overview.md.DuxpgaeN.js b/assets/community_1-overview.md.DasLXO1A.js similarity index 82% rename from assets/community_1-overview.md.DuxpgaeN.js rename to assets/community_1-overview.md.DasLXO1A.js index 3037af7..7a4ce9f 100644 --- a/assets/community_1-overview.md.DuxpgaeN.js +++ b/assets/community_1-overview.md.DasLXO1A.js @@ -1 +1 @@ -import{_ as t,c as o,o as i,l as e,a}from"./chunks/framework.D561hJ3q.js";const f=JSON.parse('{"title":"Community overview","description":"","frontmatter":{},"headers":[],"relativePath":"community/1-overview.md","filePath":"community/1-overview.md","lastUpdated":1713206801000}'),r={name:"community/1-overview.md"},n=e("h1",{id:"community-overview",tabindex:"-1"},[a("Community overview "),e("a",{class:"header-anchor",href:"#community-overview","aria-label":'Permalink to "Community overview"'},"​")],-1),s=e("p",null,"This section will highlight all the different resources and activities for the Astria community.",-1),c=[n,s];function m(d,l,v,_,h,u){return i(),o("div",null,c)}const w=t(r,[["render",m]]);export{f as __pageData,w as default}; +import{_ as t,c as o,o as i,l as e,a}from"./chunks/framework.J4W-y093.js";const f=JSON.parse('{"title":"Community overview","description":"","frontmatter":{},"headers":[],"relativePath":"community/1-overview.md","filePath":"community/1-overview.md","lastUpdated":1713206801000}'),r={name:"community/1-overview.md"},n=e("h1",{id:"community-overview",tabindex:"-1"},[a("Community overview "),e("a",{class:"header-anchor",href:"#community-overview","aria-label":'Permalink to "Community overview"'},"​")],-1),s=e("p",null,"This section will highlight all the different resources and activities for the Astria community.",-1),c=[n,s];function m(d,l,v,_,h,u){return i(),o("div",null,c)}const w=t(r,[["render",m]]);export{f as __pageData,w as default}; diff --git a/assets/community_1-overview.md.DuxpgaeN.lean.js b/assets/community_1-overview.md.DasLXO1A.lean.js similarity index 82% rename from assets/community_1-overview.md.DuxpgaeN.lean.js rename to assets/community_1-overview.md.DasLXO1A.lean.js index 3037af7..7a4ce9f 100644 --- a/assets/community_1-overview.md.DuxpgaeN.lean.js +++ b/assets/community_1-overview.md.DasLXO1A.lean.js @@ -1 +1 @@ -import{_ as t,c as o,o as i,l as e,a}from"./chunks/framework.D561hJ3q.js";const f=JSON.parse('{"title":"Community overview","description":"","frontmatter":{},"headers":[],"relativePath":"community/1-overview.md","filePath":"community/1-overview.md","lastUpdated":1713206801000}'),r={name:"community/1-overview.md"},n=e("h1",{id:"community-overview",tabindex:"-1"},[a("Community overview "),e("a",{class:"header-anchor",href:"#community-overview","aria-label":'Permalink to "Community overview"'},"​")],-1),s=e("p",null,"This section will highlight all the different resources and activities for the Astria community.",-1),c=[n,s];function m(d,l,v,_,h,u){return i(),o("div",null,c)}const w=t(r,[["render",m]]);export{f as __pageData,w as default}; +import{_ as t,c as o,o as i,l as e,a}from"./chunks/framework.J4W-y093.js";const f=JSON.parse('{"title":"Community overview","description":"","frontmatter":{},"headers":[],"relativePath":"community/1-overview.md","filePath":"community/1-overview.md","lastUpdated":1713206801000}'),r={name:"community/1-overview.md"},n=e("h1",{id:"community-overview",tabindex:"-1"},[a("Community overview "),e("a",{class:"header-anchor",href:"#community-overview","aria-label":'Permalink to "Community overview"'},"​")],-1),s=e("p",null,"This section will highlight all the different resources and activities for the Astria community.",-1),c=[n,s];function m(d,l,v,_,h,u){return i(),o("div",null,c)}const w=t(r,[["render",m]]);export{f as __pageData,w as default}; diff --git a/assets/components__astria-cli-install.md.B_6z2ycW.js b/assets/components__astria-cli-install.md.BXNndlSR.js similarity index 90% rename from assets/components__astria-cli-install.md.B_6z2ycW.js rename to assets/components__astria-cli-install.md.BXNndlSR.js index c9e657b..b003373 100644 --- a/assets/components__astria-cli-install.md.B_6z2ycW.js +++ b/assets/components__astria-cli-install.md.BXNndlSR.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.D561hJ3q.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_astria-cli-install.md","filePath":"components/_astria-cli-install.md","lastUpdated":1713206801000}'),l={name:"components/_astria-cli-install.md"},e=t(`

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.J4W-y093.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_astria-cli-install.md","filePath":"components/_astria-cli-install.md","lastUpdated":1713206801000}'),l={name:"components/_astria-cli-install.md"},e=t(`

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
diff --git a/assets/components__astria-cli-install.md.B_6z2ycW.lean.js b/assets/components__astria-cli-install.md.BXNndlSR.lean.js
similarity index 72%
rename from assets/components__astria-cli-install.md.B_6z2ycW.lean.js
rename to assets/components__astria-cli-install.md.BXNndlSR.lean.js
index 91a85de..4107040 100644
--- a/assets/components__astria-cli-install.md.B_6z2ycW.lean.js
+++ b/assets/components__astria-cli-install.md.BXNndlSR.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.D561hJ3q.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_astria-cli-install.md","filePath":"components/_astria-cli-install.md","lastUpdated":1713206801000}'),l={name:"components/_astria-cli-install.md"},e=t("",4),n=[e];function h(r,p,k,o,c,d){return i(),a("div",null,n)}const b=s(l,[["render",h]]);export{F as __pageData,b as default};
+import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.J4W-y093.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_astria-cli-install.md","filePath":"components/_astria-cli-install.md","lastUpdated":1713206801000}'),l={name:"components/_astria-cli-install.md"},e=t("",4),n=[e];function h(r,p,k,o,c,d){return i(),a("div",null,n)}const b=s(l,[["render",h]]);export{F as __pageData,b as default};
diff --git a/assets/components__cli-cloud.md.B0UnGhFQ.lean.js b/assets/components__cli-cloud.md.B0UnGhFQ.lean.js
deleted file mode 100644
index 6a97d66..0000000
--- a/assets/components__cli-cloud.md.B0UnGhFQ.lean.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.D561hJ3q.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_cli-cloud.md","filePath":"components/_cli-cloud.md","lastUpdated":1713206801000}'),l={name:"components/_cli-cloud.md"},e=t("",5),n=[e];function h(r,p,o,k,c,d){return i(),a("div",null,n)}const b=s(l,[["render",h]]);export{F as __pageData,b as default};
diff --git a/assets/components__cli-cloud.md.B0UnGhFQ.js b/assets/components__cli-cloud.md.CaTwTJOj.js
similarity index 88%
rename from assets/components__cli-cloud.md.B0UnGhFQ.js
rename to assets/components__cli-cloud.md.CaTwTJOj.js
index f3e37c1..5d2836b 100644
--- a/assets/components__cli-cloud.md.B0UnGhFQ.js
+++ b/assets/components__cli-cloud.md.CaTwTJOj.js
@@ -1,7 +1,7 @@
-import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.D561hJ3q.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_cli-cloud.md","filePath":"components/_cli-cloud.md","lastUpdated":1713206801000}'),l={name:"components/_cli-cloud.md"},e=t(`

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.J4W-y093.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_cli-cloud.md","filePath":"components/_cli-cloud.md","lastUpdated":1713206801000}'),l={name:"components/_cli-cloud.md"},e=t(`

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-unknown-linux-gnu.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
-mv astria-cli /usr/local/bin/
bash
cargo install astria-cli --git=https://github.com/astriaorg/astria --tag=cli-v0.3.1 --locked

You'll also need to install the following tools:

WARNING

There is a bug in the latest Docker desktop release for MacOS
Please install the following release: https://docs.docker.com/desktop/release-notes/#4252
For more details see here

`,5),n=[e];function h(r,p,o,k,c,d){return i(),a("div",null,n)}const b=s(l,[["render",h]]);export{F as __pageData,b as default}; +mv astria-cli /usr/local/bin/
bash
cargo install astria-cli --git=https://github.com/astriaorg/astria --tag=cli-v0.3.1 --locked

You'll also need to install the following tools:

WARNING

There is a bug in the latest Docker desktop release for MacOS
Please install the following release: https://docs.docker.com/desktop/release-notes/#4252
For more details see here

`,5),n=[e];function r(h,p,o,k,c,d){return i(),a("div",null,n)}const u=s(l,[["render",r]]);export{F as __pageData,u as default}; diff --git a/assets/components__cli-cloud.md.CaTwTJOj.lean.js b/assets/components__cli-cloud.md.CaTwTJOj.lean.js new file mode 100644 index 0000000..0f383d9 --- /dev/null +++ b/assets/components__cli-cloud.md.CaTwTJOj.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.J4W-y093.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_cli-cloud.md","filePath":"components/_cli-cloud.md","lastUpdated":1713206801000}'),l={name:"components/_cli-cloud.md"},e=t("",5),n=[e];function r(h,p,o,k,c,d){return i(),a("div",null,n)}const u=s(l,[["render",r]]);export{F as __pageData,u as default}; diff --git a/assets/components__cli-local.md.QZSWLQ6b.js b/assets/components__cli-local.md.Cax1wesZ.js similarity index 91% rename from assets/components__cli-local.md.QZSWLQ6b.js rename to assets/components__cli-local.md.Cax1wesZ.js index cfbad0d..76158a5 100644 --- a/assets/components__cli-local.md.QZSWLQ6b.js +++ b/assets/components__cli-local.md.Cax1wesZ.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.D561hJ3q.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_cli-local.md","filePath":"components/_cli-local.md","lastUpdated":1713206801000}'),e={name:"components/_cli-local.md"},l=t(`

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.J4W-y093.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_cli-local.md","filePath":"components/_cli-local.md","lastUpdated":1713206801000}'),e={name:"components/_cli-local.md"},l=t(`

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
diff --git a/assets/components__cli-local.md.QZSWLQ6b.lean.js b/assets/components__cli-local.md.Cax1wesZ.lean.js
similarity index 70%
rename from assets/components__cli-local.md.QZSWLQ6b.lean.js
rename to assets/components__cli-local.md.Cax1wesZ.lean.js
index 89ae101..f0d8081 100644
--- a/assets/components__cli-local.md.QZSWLQ6b.lean.js
+++ b/assets/components__cli-local.md.Cax1wesZ.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.D561hJ3q.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_cli-local.md","filePath":"components/_cli-local.md","lastUpdated":1713206801000}'),e={name:"components/_cli-local.md"},l=t("",5),r=[l];function n(h,p,o,k,c,d){return i(),a("div",null,r)}const u=s(e,[["render",n]]);export{F as __pageData,u as default};
+import{_ as s,c as a,o as i,a5 as t}from"./chunks/framework.J4W-y093.js";const F=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_cli-local.md","filePath":"components/_cli-local.md","lastUpdated":1713206801000}'),e={name:"components/_cli-local.md"},l=t("",5),r=[l];function n(h,p,o,k,c,d){return i(),a("div",null,r)}const u=s(e,[["render",n]]);export{F as __pageData,u as default};
diff --git a/assets/components__deployment-instructions-redirect.md.D9hAKJk8.js b/assets/components__deployment-instructions-redirect.md.D9hAKJk8.js
new file mode 100644
index 0000000..a8012e4
--- /dev/null
+++ b/assets/components__deployment-instructions-redirect.md.D9hAKJk8.js
@@ -0,0 +1 @@
+import{_ as o,c as n,o as c,l as e,a as t}from"./chunks/framework.J4W-y093.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_deployment-instructions-redirect.md","filePath":"components/_deployment-instructions-redirect.md","lastUpdated":1713206801000}'),s={name:"components/_deployment-instructions-redirect.md"},r=e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"TIP"),e("p",null,[t("To deploy your own rollup on the Astria Devnet on your local machine, check out the "),e("a",{href:"/docs/local-rollup/1-introduction"},"instructions here"),t("!")]),e("p",null,[t("To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the "),e("a",{href:"/docs/cloud-rollup/digital-ocean"},"instructions here"),t("!")])],-1),a=[r];function l(i,d,p,u,m,_){return c(),n("div",null,a)}const y=o(s,[["render",l]]);export{f as __pageData,y as default};
diff --git a/assets/components__deployment-instructions-redirect.md.D9hAKJk8.lean.js b/assets/components__deployment-instructions-redirect.md.D9hAKJk8.lean.js
new file mode 100644
index 0000000..a8012e4
--- /dev/null
+++ b/assets/components__deployment-instructions-redirect.md.D9hAKJk8.lean.js
@@ -0,0 +1 @@
+import{_ as o,c as n,o as c,l as e,a as t}from"./chunks/framework.J4W-y093.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_deployment-instructions-redirect.md","filePath":"components/_deployment-instructions-redirect.md","lastUpdated":1713206801000}'),s={name:"components/_deployment-instructions-redirect.md"},r=e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"TIP"),e("p",null,[t("To deploy your own rollup on the Astria Devnet on your local machine, check out the "),e("a",{href:"/docs/local-rollup/1-introduction"},"instructions here"),t("!")]),e("p",null,[t("To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the "),e("a",{href:"/docs/cloud-rollup/digital-ocean"},"instructions here"),t("!")])],-1),a=[r];function l(i,d,p,u,m,_){return c(),n("div",null,a)}const y=o(s,[["render",l]]);export{f as __pageData,y as default};
diff --git a/assets/components__deployment-instructions-redirect.md.eUgwKcxm.js b/assets/components__deployment-instructions-redirect.md.eUgwKcxm.js
deleted file mode 100644
index 1ee4e07..0000000
--- a/assets/components__deployment-instructions-redirect.md.eUgwKcxm.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as o,c as n,o as c,l as e,a as t}from"./chunks/framework.D561hJ3q.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_deployment-instructions-redirect.md","filePath":"components/_deployment-instructions-redirect.md","lastUpdated":1713206801000}'),s={name:"components/_deployment-instructions-redirect.md"},r=e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"TIP"),e("p",null,[t("To deploy your own rollup on the Astria Devnet on your local machine, check out the "),e("a",{href:"/local-rollup/1-introduction"},"instructions here"),t("!")]),e("p",null,[t("To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the "),e("a",{href:"/cloud-rollup/digital-ocean"},"instructions here"),t("!")])],-1),a=[r];function l(i,d,p,u,m,_){return c(),n("div",null,a)}const y=o(s,[["render",l]]);export{f as __pageData,y as default};
diff --git a/assets/components__deployment-instructions-redirect.md.eUgwKcxm.lean.js b/assets/components__deployment-instructions-redirect.md.eUgwKcxm.lean.js
deleted file mode 100644
index 1ee4e07..0000000
--- a/assets/components__deployment-instructions-redirect.md.eUgwKcxm.lean.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as o,c as n,o as c,l as e,a as t}from"./chunks/framework.D561hJ3q.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_deployment-instructions-redirect.md","filePath":"components/_deployment-instructions-redirect.md","lastUpdated":1713206801000}'),s={name:"components/_deployment-instructions-redirect.md"},r=e("div",{class:"tip custom-block"},[e("p",{class:"custom-block-title"},"TIP"),e("p",null,[t("To deploy your own rollup on the Astria Devnet on your local machine, check out the "),e("a",{href:"/local-rollup/1-introduction"},"instructions here"),t("!")]),e("p",null,[t("To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the "),e("a",{href:"/cloud-rollup/digital-ocean"},"instructions here"),t("!")])],-1),a=[r];function l(i,d,p,u,m,_){return c(),n("div",null,a)}const y=o(s,[["render",l]]);export{f as __pageData,y as default};
diff --git a/assets/components__remote-endpoints.md.DTwsMlpQ.js b/assets/components__remote-endpoints.md.BV3QqGJA.js
similarity index 92%
rename from assets/components__remote-endpoints.md.DTwsMlpQ.js
rename to assets/components__remote-endpoints.md.BV3QqGJA.js
index b7127a4..cd046ad 100644
--- a/assets/components__remote-endpoints.md.DTwsMlpQ.js
+++ b/assets/components__remote-endpoints.md.BV3QqGJA.js
@@ -1 +1 @@
-import{_ as t,c as e,o,a5 as r}from"./chunks/framework.D561hJ3q.js";const l=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_remote-endpoints.md","filePath":"components/_remote-endpoints.md","lastUpdated":1713206801000}'),d={name:"components/_remote-endpoints.md"},n=r("

The endpoints for the remote shared sequencer are:

NAMEHOSTSADDRESS
Sequencer RPCrpc.sequencer.dusk-3.devnet.astria.org34.111.73.187
Sequencer Faucetfaucet.sequencer.dusk-3.devnet.astria.org34.36.8.102
",2),a=[n];function s(_,c,p,i,h,m){return o(),e("div",null,a)}const S=t(d,[["render",s]]);export{l as __pageData,S as default}; +import{_ as t,c as e,o,a5 as r}from"./chunks/framework.J4W-y093.js";const l=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_remote-endpoints.md","filePath":"components/_remote-endpoints.md","lastUpdated":1713206801000}'),d={name:"components/_remote-endpoints.md"},n=r("

The endpoints for the remote shared sequencer are:

NAMEHOSTSADDRESS
Sequencer RPCrpc.sequencer.dusk-3.devnet.astria.org34.111.73.187
Sequencer Faucetfaucet.sequencer.dusk-3.devnet.astria.org34.36.8.102
",2),a=[n];function s(_,c,p,i,h,m){return o(),e("div",null,a)}const S=t(d,[["render",s]]);export{l as __pageData,S as default}; diff --git a/assets/components__remote-endpoints.md.DTwsMlpQ.lean.js b/assets/components__remote-endpoints.md.BV3QqGJA.lean.js similarity index 85% rename from assets/components__remote-endpoints.md.DTwsMlpQ.lean.js rename to assets/components__remote-endpoints.md.BV3QqGJA.lean.js index 62d499d..a318036 100644 --- a/assets/components__remote-endpoints.md.DTwsMlpQ.lean.js +++ b/assets/components__remote-endpoints.md.BV3QqGJA.lean.js @@ -1 +1 @@ -import{_ as t,c as e,o,a5 as r}from"./chunks/framework.D561hJ3q.js";const l=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_remote-endpoints.md","filePath":"components/_remote-endpoints.md","lastUpdated":1713206801000}'),d={name:"components/_remote-endpoints.md"},n=r("",2),a=[n];function s(_,c,p,i,h,m){return o(),e("div",null,a)}const S=t(d,[["render",s]]);export{l as __pageData,S as default}; +import{_ as t,c as e,o,a5 as r}from"./chunks/framework.J4W-y093.js";const l=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"components/_remote-endpoints.md","filePath":"components/_remote-endpoints.md","lastUpdated":1713206801000}'),d={name:"components/_remote-endpoints.md"},n=r("",2),a=[n];function s(_,c,p,i,h,m){return o(),e("div",null,a)}const S=t(d,[["render",s]]);export{l as __pageData,S as default}; diff --git a/assets/developer_tutorials_1-using-astria-go-cli.md.BgCvEMYa.js b/assets/developer_tutorials_1-using-astria-go-cli.md.BRFsgd6A.js similarity index 99% rename from assets/developer_tutorials_1-using-astria-go-cli.md.BgCvEMYa.js rename to assets/developer_tutorials_1-using-astria-go-cli.md.BRFsgd6A.js index ea42ec9..474e59f 100644 --- a/assets/developer_tutorials_1-using-astria-go-cli.md.BgCvEMYa.js +++ b/assets/developer_tutorials_1-using-astria-go-cli.md.BRFsgd6A.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.D561hJ3q.js";const u=JSON.parse('{"title":"Overview","description":"","frontmatter":{},"headers":[],"relativePath":"developer/tutorials/1-using-astria-go-cli.md","filePath":"developer/tutorials/1-using-astria-go-cli.md","lastUpdated":1713206801000}'),e={name:"developer/tutorials/1-using-astria-go-cli.md"},n=t(`

Overview

This guide will walk you through deploying a rollup full node locally against both local and remote sequencer with the Astria stack using the Astria CLI.

Download the CLI

Using curl

bash
# download the binary for your platform, e.g. macOS silicon
+import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.J4W-y093.js";const u=JSON.parse('{"title":"Overview","description":"","frontmatter":{},"headers":[],"relativePath":"developer/tutorials/1-using-astria-go-cli.md","filePath":"developer/tutorials/1-using-astria-go-cli.md","lastUpdated":1713206801000}'),e={name:"developer/tutorials/1-using-astria-go-cli.md"},n=t(`

Overview

This guide will walk you through deploying a rollup full node locally against both local and remote sequencer with the Astria stack using the Astria CLI.

Download the CLI

Using curl

bash
# download the binary for your platform, e.g. macOS silicon
 curl -L https://github.com/astriaorg/astria-cli-go/releases/download/v0.4.0/astria-cli-v0.3.0-darwin-arm64.tar.gz \\
   --output astria-go.tar.gz
 # extract the binary
diff --git a/assets/developer_tutorials_1-using-astria-go-cli.md.BgCvEMYa.lean.js b/assets/developer_tutorials_1-using-astria-go-cli.md.BRFsgd6A.lean.js
similarity index 74%
rename from assets/developer_tutorials_1-using-astria-go-cli.md.BgCvEMYa.lean.js
rename to assets/developer_tutorials_1-using-astria-go-cli.md.BRFsgd6A.lean.js
index c492f3d..38c2916 100644
--- a/assets/developer_tutorials_1-using-astria-go-cli.md.BgCvEMYa.lean.js
+++ b/assets/developer_tutorials_1-using-astria-go-cli.md.BRFsgd6A.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.D561hJ3q.js";const u=JSON.parse('{"title":"Overview","description":"","frontmatter":{},"headers":[],"relativePath":"developer/tutorials/1-using-astria-go-cli.md","filePath":"developer/tutorials/1-using-astria-go-cli.md","lastUpdated":1713206801000}'),e={name:"developer/tutorials/1-using-astria-go-cli.md"},n=t("",45),l=[n];function h(p,k,r,o,d,c){return a(),i("div",null,l)}const F=s(e,[["render",h]]);export{u as __pageData,F as default};
+import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.J4W-y093.js";const u=JSON.parse('{"title":"Overview","description":"","frontmatter":{},"headers":[],"relativePath":"developer/tutorials/1-using-astria-go-cli.md","filePath":"developer/tutorials/1-using-astria-go-cli.md","lastUpdated":1713206801000}'),e={name:"developer/tutorials/1-using-astria-go-cli.md"},n=t("",45),l=[n];function h(p,k,r,o,d,c){return a(),i("div",null,l)}const F=s(e,[["render",h]]);export{u as __pageData,F as default};
diff --git a/assets/dusk-faq_1-information.md.BTtO3i50.js b/assets/dusk-faq_1-information.md.BG9W6vCf.js
similarity index 79%
rename from assets/dusk-faq_1-information.md.BTtO3i50.js
rename to assets/dusk-faq_1-information.md.BG9W6vCf.js
index 6e7ab4e..a942632 100644
--- a/assets/dusk-faq_1-information.md.BTtO3i50.js
+++ b/assets/dusk-faq_1-information.md.BG9W6vCf.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.D561hJ3q.js";const u=JSON.parse('{"title":"FAQ and Debugging","description":"","frontmatter":{"sidebar_position":5},"headers":[],"relativePath":"dusk-faq/1-information.md","filePath":"dusk-faq/1-information.md","lastUpdated":1713206801000}'),e={name:"dusk-faq/1-information.md"},l=t(`

FAQ and Debugging

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Endpoints

Endpoints for the remote cluster are the following:

NAMEHOSTSADDRESS
EVM JSON RPCrpc.evm.dusk-3.devnet.astria.org34.160.214.22
EVM Block Explorerexplorer.evm.dusk-3.devnet.astria.org34.111.167.16
EVM Faucetfaucet.evm.dusk-3.devnet.astria.org130.211.4.120
Sequencer RPCrpc.sequencer.dusk-3.devnet.astria.org34.111.73.187
Sequencer Faucetfaucet.sequencer.dusk-3.devnet.astria.org34.36.8.102

Software Versions

The latest Devnet (dusk-3) runs the following software versions:

Install the latest Astria cli

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.J4W-y093.js";const u=JSON.parse('{"title":"FAQ and Debugging","description":"","frontmatter":{"sidebar_position":5},"headers":[],"relativePath":"dusk-faq/1-information.md","filePath":"dusk-faq/1-information.md","lastUpdated":1713206801000}'),e={name:"dusk-faq/1-information.md"},l=t(`

FAQ and Debugging

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Endpoints

Endpoints for the remote cluster are the following:

NAMEHOSTSADDRESS
EVM JSON RPCrpc.evm.dusk-3.devnet.astria.org34.160.214.22
EVM Block Explorerexplorer.evm.dusk-3.devnet.astria.org34.111.167.16
EVM Faucetfaucet.evm.dusk-3.devnet.astria.org130.211.4.120
Sequencer RPCrpc.sequencer.dusk-3.devnet.astria.org34.111.73.187
Sequencer Faucetfaucet.sequencer.dusk-3.devnet.astria.org34.36.8.102

Software Versions

The latest Devnet (dusk-3) runs the following software versions:

Install the latest Astria cli

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
diff --git a/assets/dusk-faq_1-information.md.BTtO3i50.lean.js b/assets/dusk-faq_1-information.md.BG9W6vCf.lean.js
similarity index 72%
rename from assets/dusk-faq_1-information.md.BTtO3i50.lean.js
rename to assets/dusk-faq_1-information.md.BG9W6vCf.lean.js
index 3ba7774..b22b805 100644
--- a/assets/dusk-faq_1-information.md.BTtO3i50.lean.js
+++ b/assets/dusk-faq_1-information.md.BG9W6vCf.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.D561hJ3q.js";const u=JSON.parse('{"title":"FAQ and Debugging","description":"","frontmatter":{"sidebar_position":5},"headers":[],"relativePath":"dusk-faq/1-information.md","filePath":"dusk-faq/1-information.md","lastUpdated":1713206801000}'),e={name:"dusk-faq/1-information.md"},l=t("",34),n=[l];function h(r,p,k,o,d,c){return a(),i("div",null,n)}const F=s(e,[["render",h]]);export{u as __pageData,F as default};
+import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.J4W-y093.js";const u=JSON.parse('{"title":"FAQ and Debugging","description":"","frontmatter":{"sidebar_position":5},"headers":[],"relativePath":"dusk-faq/1-information.md","filePath":"dusk-faq/1-information.md","lastUpdated":1713206801000}'),e={name:"dusk-faq/1-information.md"},l=t("",34),n=[l];function h(r,p,k,o,d,c){return a(),i("div",null,n)}const F=s(e,[["render",h]]);export{u as __pageData,F as default};
diff --git a/assets/index.md.tCi_VC0T.js b/assets/index.md.BopZznMh.js
similarity index 99%
rename from assets/index.md.tCi_VC0T.js
rename to assets/index.md.BopZznMh.js
index 862681e..b2e31c1 100644
--- a/assets/index.md.tCi_VC0T.js
+++ b/assets/index.md.BopZznMh.js
@@ -1 +1 @@
-import{_ as L,c as e,o as t}from"./chunks/framework.D561hJ3q.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Astria","text":"The Shared Sequencer Network","tagline":"The easiest way to deploy decentralized rollups.","image":{"src":"/hero-img.svg","alt":"Astria"},"actions":[{"theme":"brand","text":"Just rollup","link":"/local-rollup/1-introduction"},{"theme":"alt","text":"Introduction","link":"/overview/1-introduction"}]},"features":[{"title":"Learn","details":"Astria is a shared sequencing network that allows many rollups to share a single decentralized network of sequencers.","link":"/overview/1-introduction","icon":""},{"title":"Developers","details":"Use the Astria stack to create, integrate and build your own modular rollups.","link":"/developer/tutorials/1-using-astria-go-cli","icon":""}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1713206801000}'),i={name:"index.md"};function r(o,a,n,s,l,M){return t(),e("div")}const V=L(i,[["render",r]]);export{d as __pageData,V as default};
+import{_ as L,c as e,o as t}from"./chunks/framework.J4W-y093.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Astria","text":"The Shared Sequencer Network","tagline":"The easiest way to deploy decentralized rollups.","image":{"src":"/hero-img.svg","alt":"Astria"},"actions":[{"theme":"brand","text":"Just rollup","link":"/local-rollup/1-introduction"},{"theme":"alt","text":"Introduction","link":"/overview/1-introduction"}]},"features":[{"title":"Learn","details":"Astria is a shared sequencing network that allows many rollups to share a single decentralized network of sequencers.","link":"/overview/1-introduction","icon":""},{"title":"Developers","details":"Use the Astria stack to create, integrate and build your own modular rollups.","link":"/developer/tutorials/1-using-astria-go-cli","icon":""}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1713206801000}'),i={name:"index.md"};function r(o,a,n,s,l,M){return t(),e("div")}const V=L(i,[["render",r]]);export{d as __pageData,V as default};
diff --git a/assets/index.md.tCi_VC0T.lean.js b/assets/index.md.BopZznMh.lean.js
similarity index 99%
rename from assets/index.md.tCi_VC0T.lean.js
rename to assets/index.md.BopZznMh.lean.js
index 862681e..b2e31c1 100644
--- a/assets/index.md.tCi_VC0T.lean.js
+++ b/assets/index.md.BopZznMh.lean.js
@@ -1 +1 @@
-import{_ as L,c as e,o as t}from"./chunks/framework.D561hJ3q.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Astria","text":"The Shared Sequencer Network","tagline":"The easiest way to deploy decentralized rollups.","image":{"src":"/hero-img.svg","alt":"Astria"},"actions":[{"theme":"brand","text":"Just rollup","link":"/local-rollup/1-introduction"},{"theme":"alt","text":"Introduction","link":"/overview/1-introduction"}]},"features":[{"title":"Learn","details":"Astria is a shared sequencing network that allows many rollups to share a single decentralized network of sequencers.","link":"/overview/1-introduction","icon":""},{"title":"Developers","details":"Use the Astria stack to create, integrate and build your own modular rollups.","link":"/developer/tutorials/1-using-astria-go-cli","icon":""}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1713206801000}'),i={name:"index.md"};function r(o,a,n,s,l,M){return t(),e("div")}const V=L(i,[["render",r]]);export{d as __pageData,V as default};
+import{_ as L,c as e,o as t}from"./chunks/framework.J4W-y093.js";const d=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Astria","text":"The Shared Sequencer Network","tagline":"The easiest way to deploy decentralized rollups.","image":{"src":"/hero-img.svg","alt":"Astria"},"actions":[{"theme":"brand","text":"Just rollup","link":"/local-rollup/1-introduction"},{"theme":"alt","text":"Introduction","link":"/overview/1-introduction"}]},"features":[{"title":"Learn","details":"Astria is a shared sequencing network that allows many rollups to share a single decentralized network of sequencers.","link":"/overview/1-introduction","icon":""},{"title":"Developers","details":"Use the Astria stack to create, integrate and build your own modular rollups.","link":"/developer/tutorials/1-using-astria-go-cli","icon":""}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1713206801000}'),i={name:"index.md"};function r(o,a,n,s,l,M){return t(),e("div")}const V=L(i,[["render",r]]);export{d as __pageData,V as default};
diff --git a/assets/local-rollup_1-introduction.md.BFVi5LaF.lean.js b/assets/local-rollup_1-introduction.md.BFVi5LaF.lean.js
deleted file mode 100644
index 153f767..0000000
--- a/assets/local-rollup_1-introduction.md.BFVi5LaF.lean.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.D561hJ3q.js";const e="/assets/sequencer-faucet.6UQ0f9HT.png",F=JSON.parse('{"title":"Overview","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"local-rollup/1-introduction.md","filePath":"local-rollup/1-introduction.md","lastUpdated":1713206801000}'),l={name:"local-rollup/1-introduction.md"},n=t("",76),h=[n];function p(k,r,d,o,c,g){return a(),i("div",null,h)}const y=s(l,[["render",p]]);export{F as __pageData,y as default};
diff --git a/assets/local-rollup_1-introduction.md.BFVi5LaF.js b/assets/local-rollup_1-introduction.md.D103LahM.js
similarity index 89%
rename from assets/local-rollup_1-introduction.md.BFVi5LaF.js
rename to assets/local-rollup_1-introduction.md.D103LahM.js
index d8217a6..9e9c07b 100644
--- a/assets/local-rollup_1-introduction.md.BFVi5LaF.js
+++ b/assets/local-rollup_1-introduction.md.D103LahM.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.D561hJ3q.js";const e="/assets/sequencer-faucet.6UQ0f9HT.png",F=JSON.parse('{"title":"Overview","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"local-rollup/1-introduction.md","filePath":"local-rollup/1-introduction.md","lastUpdated":1713206801000}'),l={name:"local-rollup/1-introduction.md"},n=t(`

Overview

This guide will walk you through deploying a rollup full node on a local Kubernetes cluster which uses the Astria shared sequencer network.

TIP

If you would like to deploy a rollup on a remote Kubernetes cluster, please see the remote deployment guide here.

Local Dependencies

INFO

This guide has been tested on MacOS and Linux but not Windows

Clone the Astria dev-cluster

bash
git clone --branch dusk-3 https://github.com/astriaorg/dev-cluster.git

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.J4W-y093.js";const e="/docs/assets/sequencer-faucet.6UQ0f9HT.png",F=JSON.parse('{"title":"Overview","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"local-rollup/1-introduction.md","filePath":"local-rollup/1-introduction.md","lastUpdated":1713206801000}'),l={name:"local-rollup/1-introduction.md"},n=t(`

Overview

This guide will walk you through deploying a rollup full node on a local Kubernetes cluster which uses the Astria shared sequencer network.

TIP

If you would like to deploy a rollup on a remote Kubernetes cluster, please see the remote deployment guide here.

Local Dependencies

INFO

This guide has been tested on MacOS and Linux but not Windows

Clone the Astria dev-cluster

bash
git clone --branch dusk-3 https://github.com/astriaorg/dev-cluster.git

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
@@ -40,4 +40,4 @@ import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.D561hJ3q.js";const e
 <YOUR_ROLLUP_NAME>-blockscout-647745c66d-vz4ks     6/6     Running   1 (56s ago)   72s
 <YOUR_ROLLUP_NAME>-celestia-node-light-mocha-4-0   2/2     Running   1 (56s ago)   72s
 <YOUR_ROLLUP_NAME>-faucet-68667bd895-pwqmz         1/1     Running   0             72s
-<YOUR_ROLLUP_NAME>-geth-755cb8dd97-k5xp8           3/3     Running   0             72s

Your Rollup Endpoints

Your rollup will automatically be configured with the several locally accessible endpoints:

UtilityURL
Block Explorerhttp://blockscout.<YOUR_ROLLUP_NAME>.localdev.me/
Faucethttp://faucet.<YOUR_ROLLUP_NAME>.localdev.me/
RPChttp://executor.<YOUR_ROLLUP_NAME>.localdev.me/

Interact with your Rollup

bash
export ETH_RPC_URL=http://executor.$ROLLUP_NAME.localdev.me/
bash
cast block 0

Use an address of your choice.

bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key $ROLLUP_FAUCET_PRIV_KEY
bash
cast balance $REC_ADDR
`,76),h=[n];function p(k,r,d,o,c,g){return a(),i("div",null,h)}const y=s(l,[["render",p]]);export{F as __pageData,y as default}; +<YOUR_ROLLUP_NAME>-geth-755cb8dd97-k5xp8 3/3 Running 0 72s

Your Rollup Endpoints

Your rollup will automatically be configured with the several locally accessible endpoints:

UtilityURL
Block Explorerhttp://blockscout.<YOUR_ROLLUP_NAME>.localdev.me/
Faucethttp://faucet.<YOUR_ROLLUP_NAME>.localdev.me/
RPChttp://executor.<YOUR_ROLLUP_NAME>.localdev.me/

Interact with your Rollup

bash
export ETH_RPC_URL=http://executor.$ROLLUP_NAME.localdev.me/
bash
cast block 0

Use an address of your choice.

bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key $ROLLUP_FAUCET_PRIV_KEY
bash
cast balance $REC_ADDR
`,76),h=[n];function p(k,r,d,o,c,g){return a(),i("div",null,h)}const E=s(l,[["render",p]]);export{F as __pageData,E as default}; diff --git a/assets/local-rollup_1-introduction.md.D103LahM.lean.js b/assets/local-rollup_1-introduction.md.D103LahM.lean.js new file mode 100644 index 0000000..d6f600c --- /dev/null +++ b/assets/local-rollup_1-introduction.md.D103LahM.lean.js @@ -0,0 +1 @@ +import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.J4W-y093.js";const e="/docs/assets/sequencer-faucet.6UQ0f9HT.png",F=JSON.parse('{"title":"Overview","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"local-rollup/1-introduction.md","filePath":"local-rollup/1-introduction.md","lastUpdated":1713206801000}'),l={name:"local-rollup/1-introduction.md"},n=t("",76),h=[n];function p(k,r,d,o,c,g){return a(),i("div",null,h)}const E=s(l,[["render",p]]);export{F as __pageData,E as default}; diff --git a/assets/local-rollup_2-astria-cli-go.md.Du8j9GvY.js b/assets/local-rollup_2-astria-cli-go.md.Z-ELQLtc.js similarity index 98% rename from assets/local-rollup_2-astria-cli-go.md.Du8j9GvY.js rename to assets/local-rollup_2-astria-cli-go.md.Z-ELQLtc.js index add6372..706c1c5 100644 --- a/assets/local-rollup_2-astria-cli-go.md.Du8j9GvY.js +++ b/assets/local-rollup_2-astria-cli-go.md.Z-ELQLtc.js @@ -1,4 +1,4 @@ -import{_ as a,c as s,o as i,a5 as t}from"./chunks/framework.D561hJ3q.js";const u=JSON.parse('{"title":"The Astria CLI","description":"","frontmatter":{},"headers":[],"relativePath":"local-rollup/2-astria-cli-go.md","filePath":"local-rollup/2-astria-cli-go.md","lastUpdated":1713206801000}'),e={name:"local-rollup/2-astria-cli-go.md"},n=t(`

The Astria CLI

The astria-go cli is a tool designed to make local rollup development as simple and dependency free as possible. It provides functionality to easily run the Astria stack and interact with the Sequencer.

Install and Run CLI from GitHub release

The CLI binaries are available for download from the releases page. There are binaries available for macOS and Linux, for both x86_64 and arm64 architectures.

bash
# download the binary for your platform, e.g. macOS silicon
+import{_ as a,c as s,o as i,a5 as t}from"./chunks/framework.J4W-y093.js";const u=JSON.parse('{"title":"The Astria CLI","description":"","frontmatter":{},"headers":[],"relativePath":"local-rollup/2-astria-cli-go.md","filePath":"local-rollup/2-astria-cli-go.md","lastUpdated":1713206801000}'),e={name:"local-rollup/2-astria-cli-go.md"},n=t(`

The Astria CLI

The astria-go cli is a tool designed to make local rollup development as simple and dependency free as possible. It provides functionality to easily run the Astria stack and interact with the Sequencer.

Install and Run CLI from GitHub release

The CLI binaries are available for download from the releases page. There are binaries available for macOS and Linux, for both x86_64 and arm64 architectures.

bash
# download the binary for your platform, e.g. macOS silicon
 curl -L https://github.com/astriaorg/astria-cli-go/releases/download/v0.3.0/astria-cli-v0.3.0-darwin-arm64.tar.gz \\
   --output astria-go.tar.gz
 # extract the binary
diff --git a/assets/local-rollup_2-astria-cli-go.md.Du8j9GvY.lean.js b/assets/local-rollup_2-astria-cli-go.md.Z-ELQLtc.lean.js
similarity index 72%
rename from assets/local-rollup_2-astria-cli-go.md.Du8j9GvY.lean.js
rename to assets/local-rollup_2-astria-cli-go.md.Z-ELQLtc.lean.js
index 84986b1..945c977 100644
--- a/assets/local-rollup_2-astria-cli-go.md.Du8j9GvY.lean.js
+++ b/assets/local-rollup_2-astria-cli-go.md.Z-ELQLtc.lean.js
@@ -1 +1 @@
-import{_ as a,c as s,o as i,a5 as t}from"./chunks/framework.D561hJ3q.js";const u=JSON.parse('{"title":"The Astria CLI","description":"","frontmatter":{},"headers":[],"relativePath":"local-rollup/2-astria-cli-go.md","filePath":"local-rollup/2-astria-cli-go.md","lastUpdated":1713206801000}'),e={name:"local-rollup/2-astria-cli-go.md"},n=t("",21),l=[n];function r(o,h,d,p,c,k){return i(),s("div",null,l)}const F=a(e,[["render",r]]);export{u as __pageData,F as default};
+import{_ as a,c as s,o as i,a5 as t}from"./chunks/framework.J4W-y093.js";const u=JSON.parse('{"title":"The Astria CLI","description":"","frontmatter":{},"headers":[],"relativePath":"local-rollup/2-astria-cli-go.md","filePath":"local-rollup/2-astria-cli-go.md","lastUpdated":1713206801000}'),e={name:"local-rollup/2-astria-cli-go.md"},n=t("",21),l=[n];function r(o,h,d,p,c,k){return i(),s("div",null,l)}const F=a(e,[["render",r]]);export{u as __pageData,F as default};
diff --git a/assets/markdown-examples.md.v0GVNMt7.js b/assets/markdown-examples.md.yRETD5Nd.js
similarity index 98%
rename from assets/markdown-examples.md.v0GVNMt7.js
rename to assets/markdown-examples.md.yRETD5Nd.js
index d177df2..101abfe 100644
--- a/assets/markdown-examples.md.v0GVNMt7.js
+++ b/assets/markdown-examples.md.yRETD5Nd.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as i,a5 as n}from"./chunks/framework.D561hJ3q.js";const g=JSON.parse('{"title":"Markdown Extension Examples","description":"","frontmatter":{},"headers":[],"relativePath":"markdown-examples.md","filePath":"markdown-examples.md","lastUpdated":1713206801000}'),t={name:"markdown-examples.md"},e=n(`

Markdown Extension Examples

This page demonstrates some of the built-in markdown extensions provided by VitePress.

Syntax Highlighting

VitePress provides Syntax Highlighting powered by Shiki, with additional features like line-highlighting:

Input

md
\`\`\`js{4}
+import{_ as s,c as a,o as i,a5 as n}from"./chunks/framework.J4W-y093.js";const g=JSON.parse('{"title":"Markdown Extension Examples","description":"","frontmatter":{},"headers":[],"relativePath":"markdown-examples.md","filePath":"markdown-examples.md","lastUpdated":1713206801000}'),t={name:"markdown-examples.md"},e=n(`

Markdown Extension Examples

This page demonstrates some of the built-in markdown extensions provided by VitePress.

Syntax Highlighting

VitePress provides Syntax Highlighting powered by Shiki, with additional features like line-highlighting:

Input

md
\`\`\`js{4}
 export default {
   data () {
     return {
diff --git a/assets/markdown-examples.md.v0GVNMt7.lean.js b/assets/markdown-examples.md.yRETD5Nd.lean.js
similarity index 71%
rename from assets/markdown-examples.md.v0GVNMt7.lean.js
rename to assets/markdown-examples.md.yRETD5Nd.lean.js
index 5cd2897..6917a8f 100644
--- a/assets/markdown-examples.md.v0GVNMt7.lean.js
+++ b/assets/markdown-examples.md.yRETD5Nd.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as i,a5 as n}from"./chunks/framework.D561hJ3q.js";const g=JSON.parse('{"title":"Markdown Extension Examples","description":"","frontmatter":{},"headers":[],"relativePath":"markdown-examples.md","filePath":"markdown-examples.md","lastUpdated":1713206801000}'),t={name:"markdown-examples.md"},e=n("",19),l=[e];function p(h,k,r,o,d,E){return i(),a("div",null,l)}const m=s(t,[["render",p]]);export{g as __pageData,m as default};
+import{_ as s,c as a,o as i,a5 as n}from"./chunks/framework.J4W-y093.js";const g=JSON.parse('{"title":"Markdown Extension Examples","description":"","frontmatter":{},"headers":[],"relativePath":"markdown-examples.md","filePath":"markdown-examples.md","lastUpdated":1713206801000}'),t={name:"markdown-examples.md"},e=n("",19),l=[e];function p(h,k,r,o,d,E){return i(),a("div",null,l)}const m=s(t,[["render",p]]);export{g as __pageData,m as default};
diff --git a/assets/overview_1-introduction.md.B4TX2rRf.js b/assets/overview_1-introduction.md.B4TX2rRf.js
deleted file mode 100644
index a5046f0..0000000
--- a/assets/overview_1-introduction.md.B4TX2rRf.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as e,c as o,o as t,a5 as r}from"./chunks/framework.D561hJ3q.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"overview/1-introduction.md","filePath":"overview/1-introduction.md","lastUpdated":1713206801000}'),a={name:"overview/1-introduction.md"},i=r('

Introduction

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Astria is a shared sequencing network that allows many rollups to share a single decentralized network of sequencers. These sequencers are simple and permissionless to join, completely replacing centralized sequencers.

This shared sequencer network provides out-of-the-box censorship resistance, fast block confirmations, and atomic cross-rollup composability – all while retaining each rollup’s sovereignty. Astria envisions a future where thousands of decentralized rollups flourish, each one tailored to meet the unique requirements of different industries, applications, and use cases.

To achieve this vision, we believe that deploying an economically secure, decentralized, and censorship-resistant rollup should be as easy as deploying a smart contract.

What should I read?

Want to learn more about the sequencer? check out the Astria overview section If you're a developer eager to get started, you should go straight to our Quick Start guide, which will walk you through deploying a rollup full node on a local Kubernetes cluster which uses the Astria shared sequencer network. Once you've gone through the Quick Start, you can move on to running on cloud. You can find our endpoints and FAQ here

What If I Need More Help?

While this documentation should include everything you need, if you can't find what you're looking for, please reach out to us on Twitter or check the Astria repository.

',9),n=[i];function s(l,c,h,u,d,p){return t(),o("div",null,n)}const _=e(a,[["render",s]]);export{m as __pageData,_ as default}; diff --git a/assets/overview_1-introduction.md.C2unZ-yA.js b/assets/overview_1-introduction.md.C2unZ-yA.js new file mode 100644 index 0000000..2d49ed8 --- /dev/null +++ b/assets/overview_1-introduction.md.C2unZ-yA.js @@ -0,0 +1 @@ +import{_ as e,c as o,o as t,a5 as r}from"./chunks/framework.J4W-y093.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"overview/1-introduction.md","filePath":"overview/1-introduction.md","lastUpdated":1713206801000}'),a={name:"overview/1-introduction.md"},i=r('

Introduction

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Astria is a shared sequencing network that allows many rollups to share a single decentralized network of sequencers. These sequencers are simple and permissionless to join, completely replacing centralized sequencers.

This shared sequencer network provides out-of-the-box censorship resistance, fast block confirmations, and atomic cross-rollup composability – all while retaining each rollup’s sovereignty. Astria envisions a future where thousands of decentralized rollups flourish, each one tailored to meet the unique requirements of different industries, applications, and use cases.

To achieve this vision, we believe that deploying an economically secure, decentralized, and censorship-resistant rollup should be as easy as deploying a smart contract.

What should I read?

Want to learn more about the sequencer? check out the Astria overview section If you're a developer eager to get started, you should go straight to our Quick Start guide, which will walk you through deploying a rollup full node on a local Kubernetes cluster which uses the Astria shared sequencer network. Once you've gone through the Quick Start, you can move on to running on cloud. You can find our endpoints and FAQ here

What If I Need More Help?

While this documentation should include everything you need, if you can't find what you're looking for, please reach out to us on Twitter or check the Astria repository.

',9),n=[i];function s(l,c,h,u,d,p){return t(),o("div",null,n)}const _=e(a,[["render",s]]);export{m as __pageData,_ as default}; diff --git a/assets/overview_1-introduction.md.B4TX2rRf.lean.js b/assets/overview_1-introduction.md.C2unZ-yA.lean.js similarity index 72% rename from assets/overview_1-introduction.md.B4TX2rRf.lean.js rename to assets/overview_1-introduction.md.C2unZ-yA.lean.js index c335d06..dd056bc 100644 --- a/assets/overview_1-introduction.md.B4TX2rRf.lean.js +++ b/assets/overview_1-introduction.md.C2unZ-yA.lean.js @@ -1 +1 @@ -import{_ as e,c as o,o as t,a5 as r}from"./chunks/framework.D561hJ3q.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"overview/1-introduction.md","filePath":"overview/1-introduction.md","lastUpdated":1713206801000}'),a={name:"overview/1-introduction.md"},i=r("",9),n=[i];function s(l,c,h,u,d,p){return t(),o("div",null,n)}const _=e(a,[["render",s]]);export{m as __pageData,_ as default}; +import{_ as e,c as o,o as t,a5 as r}from"./chunks/framework.J4W-y093.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"overview/1-introduction.md","filePath":"overview/1-introduction.md","lastUpdated":1713206801000}'),a={name:"overview/1-introduction.md"},i=r("",9),n=[i];function s(l,c,h,u,d,p){return t(),o("div",null,n)}const _=e(a,[["render",s]]);export{m as __pageData,_ as default}; diff --git a/assets/overview_2-why-decentralized-sequencers.md.-Sm2jRo9.js b/assets/overview_2-why-decentralized-sequencers.md.-Sm2jRo9.js deleted file mode 100644 index a4e00f7..0000000 --- a/assets/overview_2-why-decentralized-sequencers.md.-Sm2jRo9.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as n,a5 as a}from"./chunks/framework.D561hJ3q.js";const r="/assets/shared_sequencer.ZMpZ-hgk.png",y=JSON.parse('{"title":"Why Decentralized Sequencers?","description":"","frontmatter":{"sidebar_position":2},"headers":[],"relativePath":"overview/2-why-decentralized-sequencers.md","filePath":"overview/2-why-decentralized-sequencers.md","lastUpdated":1713206801000}'),s={name:"overview/2-why-decentralized-sequencers.md"},i=a('

Why Decentralized Sequencers?

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Centralization is antithetical to crypto. And yet, today’s rollups almost universally depend on a single sequencer. Centralized sequencers provide fast transaction confirmations and reduce costs by batching and compressing transactions. However, these benefits come at the cost of relying on a single trusted actor for liveness and censorship resistance.

Sacrificing decentralization for an improved user experience is an unacceptable Faustian bargain.

Astria tackles centralization head-on, providing rollups with a decentralized sequencer and even better UX. Astria’s shared sequencer network is a middleware blockchain with its own decentralized sequencer set which accepts transactions from multiple rollups. These transactions are ordered into a single block and written to the base layer without executing them.

Shared Sequencers

',6),o=[i];function c(l,d,p,u,h,_){return n(),t("div",null,o)}const f=e(s,[["render",c]]);export{y as __pageData,f as default}; diff --git a/assets/overview_2-why-decentralized-sequencers.md.-Sm2jRo9.lean.js b/assets/overview_2-why-decentralized-sequencers.md.-Sm2jRo9.lean.js deleted file mode 100644 index 04b12f4..0000000 --- a/assets/overview_2-why-decentralized-sequencers.md.-Sm2jRo9.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as n,a5 as a}from"./chunks/framework.D561hJ3q.js";const r="/assets/shared_sequencer.ZMpZ-hgk.png",y=JSON.parse('{"title":"Why Decentralized Sequencers?","description":"","frontmatter":{"sidebar_position":2},"headers":[],"relativePath":"overview/2-why-decentralized-sequencers.md","filePath":"overview/2-why-decentralized-sequencers.md","lastUpdated":1713206801000}'),s={name:"overview/2-why-decentralized-sequencers.md"},i=a("",6),o=[i];function c(l,d,p,u,h,_){return n(),t("div",null,o)}const f=e(s,[["render",c]]);export{y as __pageData,f as default}; diff --git a/assets/overview_2-why-decentralized-sequencers.md.lbvD_B3b.js b/assets/overview_2-why-decentralized-sequencers.md.lbvD_B3b.js new file mode 100644 index 0000000..6e181e8 --- /dev/null +++ b/assets/overview_2-why-decentralized-sequencers.md.lbvD_B3b.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as n,a5 as a}from"./chunks/framework.J4W-y093.js";const r="/docs/assets/shared_sequencer.ZMpZ-hgk.png",y=JSON.parse('{"title":"Why Decentralized Sequencers?","description":"","frontmatter":{"sidebar_position":2},"headers":[],"relativePath":"overview/2-why-decentralized-sequencers.md","filePath":"overview/2-why-decentralized-sequencers.md","lastUpdated":1713206801000}'),s={name:"overview/2-why-decentralized-sequencers.md"},o=a('

Why Decentralized Sequencers?

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Centralization is antithetical to crypto. And yet, today’s rollups almost universally depend on a single sequencer. Centralized sequencers provide fast transaction confirmations and reduce costs by batching and compressing transactions. However, these benefits come at the cost of relying on a single trusted actor for liveness and censorship resistance.

Sacrificing decentralization for an improved user experience is an unacceptable Faustian bargain.

Astria tackles centralization head-on, providing rollups with a decentralized sequencer and even better UX. Astria’s shared sequencer network is a middleware blockchain with its own decentralized sequencer set which accepts transactions from multiple rollups. These transactions are ordered into a single block and written to the base layer without executing them.

Shared Sequencers

',6),i=[o];function c(l,d,p,u,h,_){return n(),t("div",null,i)}const f=e(s,[["render",c]]);export{y as __pageData,f as default}; diff --git a/assets/overview_2-why-decentralized-sequencers.md.lbvD_B3b.lean.js b/assets/overview_2-why-decentralized-sequencers.md.lbvD_B3b.lean.js new file mode 100644 index 0000000..50e9ef7 --- /dev/null +++ b/assets/overview_2-why-decentralized-sequencers.md.lbvD_B3b.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as n,a5 as a}from"./chunks/framework.J4W-y093.js";const r="/docs/assets/shared_sequencer.ZMpZ-hgk.png",y=JSON.parse('{"title":"Why Decentralized Sequencers?","description":"","frontmatter":{"sidebar_position":2},"headers":[],"relativePath":"overview/2-why-decentralized-sequencers.md","filePath":"overview/2-why-decentralized-sequencers.md","lastUpdated":1713206801000}'),s={name:"overview/2-why-decentralized-sequencers.md"},o=a("",6),i=[o];function c(l,d,p,u,h,_){return n(),t("div",null,i)}const f=e(s,[["render",c]]);export{y as __pageData,f as default}; diff --git a/assets/overview_3-cross-rollup-composability.md.BbsN2vE1.js b/assets/overview_3-cross-rollup-composability.md.BbsN2vE1.js new file mode 100644 index 0000000..afc9559 --- /dev/null +++ b/assets/overview_3-cross-rollup-composability.md.BbsN2vE1.js @@ -0,0 +1 @@ +import{_ as o,c as t,o as s,a5 as a}from"./chunks/framework.J4W-y093.js";const m=JSON.parse('{"title":"Cross-Rollup Composability","description":"","frontmatter":{"sidebar_position":3},"headers":[],"relativePath":"overview/3-cross-rollup-composability.md","filePath":"overview/3-cross-rollup-composability.md","lastUpdated":1713206801000}'),i={name:"overview/3-cross-rollup-composability.md"},e=a('

Cross-Rollup Composability

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Because Astria handles the transaction ordering for multiple rollups, it’s able to provide guarantees that transactions are only included as part of an atomic bundle. This allows users to specify that a transaction on Rollup A can be included in a block if and only if a different transaction on Rollup B is also included in the same block. By enabling such conditional transaction inclusion, Astria unlocks exciting possibilities such as atomic cross-rollup arbitrage.

',3),l=[e];function r(c,n,p,u,d,h){return s(),t("div",null,l)}const b=o(i,[["render",r]]);export{m as __pageData,b as default}; diff --git a/assets/overview_3-cross-rollup-composability.md.CQZSW3sO.lean.js b/assets/overview_3-cross-rollup-composability.md.BbsN2vE1.lean.js similarity index 63% rename from assets/overview_3-cross-rollup-composability.md.CQZSW3sO.lean.js rename to assets/overview_3-cross-rollup-composability.md.BbsN2vE1.lean.js index 8191669..272ed36 100644 --- a/assets/overview_3-cross-rollup-composability.md.CQZSW3sO.lean.js +++ b/assets/overview_3-cross-rollup-composability.md.BbsN2vE1.lean.js @@ -1 +1 @@ -import{_ as o,c as t,o as a,a5 as s}from"./chunks/framework.D561hJ3q.js";const m=JSON.parse('{"title":"Cross-Rollup Composability","description":"","frontmatter":{"sidebar_position":3},"headers":[],"relativePath":"overview/3-cross-rollup-composability.md","filePath":"overview/3-cross-rollup-composability.md","lastUpdated":1713206801000}'),i={name:"overview/3-cross-rollup-composability.md"},e=s("",3),l=[e];function r(n,c,p,u,d,h){return a(),t("div",null,l)}const b=o(i,[["render",r]]);export{m as __pageData,b as default}; +import{_ as o,c as t,o as s,a5 as a}from"./chunks/framework.J4W-y093.js";const m=JSON.parse('{"title":"Cross-Rollup Composability","description":"","frontmatter":{"sidebar_position":3},"headers":[],"relativePath":"overview/3-cross-rollup-composability.md","filePath":"overview/3-cross-rollup-composability.md","lastUpdated":1713206801000}'),i={name:"overview/3-cross-rollup-composability.md"},e=a("",3),l=[e];function r(c,n,p,u,d,h){return s(),t("div",null,l)}const b=o(i,[["render",r]]);export{m as __pageData,b as default}; diff --git a/assets/overview_3-cross-rollup-composability.md.CQZSW3sO.js b/assets/overview_3-cross-rollup-composability.md.CQZSW3sO.js deleted file mode 100644 index ce700b4..0000000 --- a/assets/overview_3-cross-rollup-composability.md.CQZSW3sO.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,c as t,o as a,a5 as s}from"./chunks/framework.D561hJ3q.js";const m=JSON.parse('{"title":"Cross-Rollup Composability","description":"","frontmatter":{"sidebar_position":3},"headers":[],"relativePath":"overview/3-cross-rollup-composability.md","filePath":"overview/3-cross-rollup-composability.md","lastUpdated":1713206801000}'),i={name:"overview/3-cross-rollup-composability.md"},e=s('

Cross-Rollup Composability

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Because Astria handles the transaction ordering for multiple rollups, it’s able to provide guarantees that transactions are only included as part of an atomic bundle. This allows users to specify that a transaction on Rollup A can be included in a block if and only if a different transaction on Rollup B is also included in the same block. By enabling such conditional transaction inclusion, Astria unlocks exciting possibilities such as atomic cross-rollup arbitrage.

',3),l=[e];function r(n,c,p,u,d,h){return a(),t("div",null,l)}const b=o(i,[["render",r]]);export{m as __pageData,b as default}; diff --git a/assets/overview_architecture_1-overview.md.BkM5J_5h.js b/assets/overview_architecture_1-overview.md.BkM5J_5h.js new file mode 100644 index 0000000..7610d80 --- /dev/null +++ b/assets/overview_architecture_1-overview.md.BkM5J_5h.js @@ -0,0 +1 @@ +import{_ as r,D as a,c as i,I as s,a5 as n,l as e,a as t,o as c}from"./chunks/framework.J4W-y093.js";const l="/docs/assets/astria-architecture.CVwQwwJF.png",D=JSON.parse('{"title":"Architecture Overview","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"overview/architecture/1-overview.md","filePath":"overview/architecture/1-overview.md","lastUpdated":1713206801000}'),h={name:"overview/architecture/1-overview.md"},u=n('

Architecture Overview

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),d=e("p",null,"At a high level, Astria breaks out all of the components that are historically combined together in monolithic blockchains into individual components. This results in a modular ecosystem that allows users to swap out components to fit their specific needs.",-1),p=e("p",null,[e("img",{src:l,alt:"Astria Architecture"})],-1),m=e("p",null,"Given this architecture, rollups can retrieve blocks from Astria immediately after they’re created, without waiting for the base layer to include them. The economic weight of Astria’s decentralized sequencer set provides confidence that this transaction order is final. This “soft commitment” allows rollups to provide their end users with fast block confirmations. Alternatively, rollups can wait for blocks to be included by the base layer, giving them the strongest finality. All transactions still get this “firm commitment” at the speed of the base layer, fast pre-confirmations are just an additional feature that Astria provides to rollups if they choose to use it.",-1),f=e("p",null,[t("To generate a new state root, a rollup’s full nodes retrieve a block from either Astria or the base layer, check it against Astria’s fork choice rule, filter out transactions from other rollups, and apply the resultant subset of transactions to their previous state. Headers can then be generated from this state root and gossiped to light clients. Rollups of this style are termed ‘Lazy Rollups’, a nod to the "),e("a",{href:"https://en.wikipedia.org/wiki/Lazy_evaluation?ref=blog.astria.org",target:"_blank",rel:"noreferrer"},"Lazy Evaluation"),t(" principle found in programming language theory.")],-1),v=e("p",null,[t("See the "),e("a",{href:"https://github.com/astriaorg/astria",target:"_blank",rel:"noreferrer"},"Astria repo here.")],-1);function _(g,w,y,b,A,k){const o=a("DeploymentsRedirect");return c(),i("div",null,[u,s(o),d,p,m,f,v])}const V=r(h,[["render",_]]);export{D as __pageData,V as default}; diff --git a/assets/overview_architecture_1-overview.md.BkM5J_5h.lean.js b/assets/overview_architecture_1-overview.md.BkM5J_5h.lean.js new file mode 100644 index 0000000..d702a3f --- /dev/null +++ b/assets/overview_architecture_1-overview.md.BkM5J_5h.lean.js @@ -0,0 +1 @@ +import{_ as r,D as a,c as i,I as s,a5 as n,l as e,a as t,o as c}from"./chunks/framework.J4W-y093.js";const l="/docs/assets/astria-architecture.CVwQwwJF.png",D=JSON.parse('{"title":"Architecture Overview","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"overview/architecture/1-overview.md","filePath":"overview/architecture/1-overview.md","lastUpdated":1713206801000}'),h={name:"overview/architecture/1-overview.md"},u=n("",2),d=e("p",null,"At a high level, Astria breaks out all of the components that are historically combined together in monolithic blockchains into individual components. This results in a modular ecosystem that allows users to swap out components to fit their specific needs.",-1),p=e("p",null,[e("img",{src:l,alt:"Astria Architecture"})],-1),m=e("p",null,"Given this architecture, rollups can retrieve blocks from Astria immediately after they’re created, without waiting for the base layer to include them. The economic weight of Astria’s decentralized sequencer set provides confidence that this transaction order is final. This “soft commitment” allows rollups to provide their end users with fast block confirmations. Alternatively, rollups can wait for blocks to be included by the base layer, giving them the strongest finality. All transactions still get this “firm commitment” at the speed of the base layer, fast pre-confirmations are just an additional feature that Astria provides to rollups if they choose to use it.",-1),f=e("p",null,[t("To generate a new state root, a rollup’s full nodes retrieve a block from either Astria or the base layer, check it against Astria’s fork choice rule, filter out transactions from other rollups, and apply the resultant subset of transactions to their previous state. Headers can then be generated from this state root and gossiped to light clients. Rollups of this style are termed ‘Lazy Rollups’, a nod to the "),e("a",{href:"https://en.wikipedia.org/wiki/Lazy_evaluation?ref=blog.astria.org",target:"_blank",rel:"noreferrer"},"Lazy Evaluation"),t(" principle found in programming language theory.")],-1),v=e("p",null,[t("See the "),e("a",{href:"https://github.com/astriaorg/astria",target:"_blank",rel:"noreferrer"},"Astria repo here.")],-1);function _(g,w,y,b,A,k){const o=a("DeploymentsRedirect");return c(),i("div",null,[u,s(o),d,p,m,f,v])}const V=r(h,[["render",_]]);export{D as __pageData,V as default}; diff --git a/assets/overview_architecture_1-overview.md.NdI9aXbX.js b/assets/overview_architecture_1-overview.md.NdI9aXbX.js deleted file mode 100644 index 2a60c66..0000000 --- a/assets/overview_architecture_1-overview.md.NdI9aXbX.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,D as a,c as i,I as s,a5 as n,l as e,a as t,o as l}from"./chunks/framework.D561hJ3q.js";const c="/assets/astria-architecture.CVwQwwJF.png",D=JSON.parse('{"title":"Architecture Overview","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"overview/architecture/1-overview.md","filePath":"overview/architecture/1-overview.md","lastUpdated":1713206801000}'),h={name:"overview/architecture/1-overview.md"},u=n('

Architecture Overview

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),d=e("p",null,"At a high level, Astria breaks out all of the components that are historically combined together in monolithic blockchains into individual components. This results in a modular ecosystem that allows users to swap out components to fit their specific needs.",-1),p=e("p",null,[e("img",{src:c,alt:"Astria Architecture"})],-1),m=e("p",null,"Given this architecture, rollups can retrieve blocks from Astria immediately after they’re created, without waiting for the base layer to include them. The economic weight of Astria’s decentralized sequencer set provides confidence that this transaction order is final. This “soft commitment” allows rollups to provide their end users with fast block confirmations. Alternatively, rollups can wait for blocks to be included by the base layer, giving them the strongest finality. All transactions still get this “firm commitment” at the speed of the base layer, fast pre-confirmations are just an additional feature that Astria provides to rollups if they choose to use it.",-1),f=e("p",null,[t("To generate a new state root, a rollup’s full nodes retrieve a block from either Astria or the base layer, check it against Astria’s fork choice rule, filter out transactions from other rollups, and apply the resultant subset of transactions to their previous state. Headers can then be generated from this state root and gossiped to light clients. Rollups of this style are termed ‘Lazy Rollups’, a nod to the "),e("a",{href:"https://en.wikipedia.org/wiki/Lazy_evaluation?ref=blog.astria.org",target:"_blank",rel:"noreferrer"},"Lazy Evaluation"),t(" principle found in programming language theory.")],-1),v=e("p",null,[t("See the "),e("a",{href:"https://github.com/astriaorg/astria",target:"_blank",rel:"noreferrer"},"Astria repo here.")],-1);function _(g,w,y,b,A,k){const o=a("DeploymentsRedirect");return l(),i("div",null,[u,s(o),d,p,m,f,v])}const V=r(h,[["render",_]]);export{D as __pageData,V as default}; diff --git a/assets/overview_architecture_1-overview.md.NdI9aXbX.lean.js b/assets/overview_architecture_1-overview.md.NdI9aXbX.lean.js deleted file mode 100644 index 2b48376..0000000 --- a/assets/overview_architecture_1-overview.md.NdI9aXbX.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as r,D as a,c as i,I as s,a5 as n,l as e,a as t,o as l}from"./chunks/framework.D561hJ3q.js";const c="/assets/astria-architecture.CVwQwwJF.png",D=JSON.parse('{"title":"Architecture Overview","description":"","frontmatter":{"sidebar_position":1},"headers":[],"relativePath":"overview/architecture/1-overview.md","filePath":"overview/architecture/1-overview.md","lastUpdated":1713206801000}'),h={name:"overview/architecture/1-overview.md"},u=n("",2),d=e("p",null,"At a high level, Astria breaks out all of the components that are historically combined together in monolithic blockchains into individual components. This results in a modular ecosystem that allows users to swap out components to fit their specific needs.",-1),p=e("p",null,[e("img",{src:c,alt:"Astria Architecture"})],-1),m=e("p",null,"Given this architecture, rollups can retrieve blocks from Astria immediately after they’re created, without waiting for the base layer to include them. The economic weight of Astria’s decentralized sequencer set provides confidence that this transaction order is final. This “soft commitment” allows rollups to provide their end users with fast block confirmations. Alternatively, rollups can wait for blocks to be included by the base layer, giving them the strongest finality. All transactions still get this “firm commitment” at the speed of the base layer, fast pre-confirmations are just an additional feature that Astria provides to rollups if they choose to use it.",-1),f=e("p",null,[t("To generate a new state root, a rollup’s full nodes retrieve a block from either Astria or the base layer, check it against Astria’s fork choice rule, filter out transactions from other rollups, and apply the resultant subset of transactions to their previous state. Headers can then be generated from this state root and gossiped to light clients. Rollups of this style are termed ‘Lazy Rollups’, a nod to the "),e("a",{href:"https://en.wikipedia.org/wiki/Lazy_evaluation?ref=blog.astria.org",target:"_blank",rel:"noreferrer"},"Lazy Evaluation"),t(" principle found in programming language theory.")],-1),v=e("p",null,[t("See the "),e("a",{href:"https://github.com/astriaorg/astria",target:"_blank",rel:"noreferrer"},"Astria repo here.")],-1);function _(g,w,y,b,A,k){const o=a("DeploymentsRedirect");return l(),i("div",null,[u,s(o),d,p,m,f,v])}const V=r(h,[["render",_]]);export{D as __pageData,V as default}; diff --git a/assets/overview_architecture_2-transaction-flow.md.Bhe0gp93.js b/assets/overview_architecture_2-transaction-flow.md.Bhe0gp93.js new file mode 100644 index 0000000..c42e53b --- /dev/null +++ b/assets/overview_architecture_2-transaction-flow.md.Bhe0gp93.js @@ -0,0 +1 @@ +import{_ as e,D as a,c as s,I as n,a5 as r,l as t,o as c}from"./chunks/framework.J4W-y093.js";const i="/docs/assets/transaction-flow.BpBwzXvD.png",k=JSON.parse('{"title":"Transaction Flow","description":"","frontmatter":{"sidebar_position":2},"headers":[],"relativePath":"overview/architecture/2-transaction-flow.md","filePath":"overview/architecture/2-transaction-flow.md","lastUpdated":1713206801000}'),l={name:"overview/architecture/2-transaction-flow.md"},p=r('

Transaction Flow

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),_=t("p",null,"The full transaction flow through the Astria stack is as follows:",-1),d=t("p",null,[t("img",{src:i,alt:"Astria Transaction Flow"})],-1);function h(u,f,m,w,T,v){const o=a("DeploymentsRedirect");return c(),s("div",null,[p,n(o),_,d])}const g=e(l,[["render",h]]);export{k as __pageData,g as default}; diff --git a/assets/overview_architecture_2-transaction-flow.md.Bhe0gp93.lean.js b/assets/overview_architecture_2-transaction-flow.md.Bhe0gp93.lean.js new file mode 100644 index 0000000..5a1f2ef --- /dev/null +++ b/assets/overview_architecture_2-transaction-flow.md.Bhe0gp93.lean.js @@ -0,0 +1 @@ +import{_ as e,D as a,c as s,I as n,a5 as r,l as t,o as c}from"./chunks/framework.J4W-y093.js";const i="/docs/assets/transaction-flow.BpBwzXvD.png",k=JSON.parse('{"title":"Transaction Flow","description":"","frontmatter":{"sidebar_position":2},"headers":[],"relativePath":"overview/architecture/2-transaction-flow.md","filePath":"overview/architecture/2-transaction-flow.md","lastUpdated":1713206801000}'),l={name:"overview/architecture/2-transaction-flow.md"},p=r("",2),_=t("p",null,"The full transaction flow through the Astria stack is as follows:",-1),d=t("p",null,[t("img",{src:i,alt:"Astria Transaction Flow"})],-1);function h(u,f,m,w,T,v){const o=a("DeploymentsRedirect");return c(),s("div",null,[p,n(o),_,d])}const g=e(l,[["render",h]]);export{k as __pageData,g as default}; diff --git a/assets/overview_architecture_2-transaction-flow.md.DqMz0vgK.js b/assets/overview_architecture_2-transaction-flow.md.DqMz0vgK.js deleted file mode 100644 index df6d6db..0000000 --- a/assets/overview_architecture_2-transaction-flow.md.DqMz0vgK.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,D as a,c as n,I as s,a5 as r,l as t,o as c}from"./chunks/framework.D561hJ3q.js";const i="/assets/transaction-flow.BpBwzXvD.png",k=JSON.parse('{"title":"Transaction Flow","description":"","frontmatter":{"sidebar_position":2},"headers":[],"relativePath":"overview/architecture/2-transaction-flow.md","filePath":"overview/architecture/2-transaction-flow.md","lastUpdated":1713206801000}'),l={name:"overview/architecture/2-transaction-flow.md"},p=r('

Transaction Flow

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),_=t("p",null,"The full transaction flow through the Astria stack is as follows:",-1),d=t("p",null,[t("img",{src:i,alt:"Astria Transaction Flow"})],-1);function h(u,f,m,w,T,v){const o=a("DeploymentsRedirect");return c(),n("div",null,[p,s(o),_,d])}const g=e(l,[["render",h]]);export{k as __pageData,g as default}; diff --git a/assets/overview_architecture_2-transaction-flow.md.DqMz0vgK.lean.js b/assets/overview_architecture_2-transaction-flow.md.DqMz0vgK.lean.js deleted file mode 100644 index 0448230..0000000 --- a/assets/overview_architecture_2-transaction-flow.md.DqMz0vgK.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,D as a,c as n,I as s,a5 as r,l as t,o as c}from"./chunks/framework.D561hJ3q.js";const i="/assets/transaction-flow.BpBwzXvD.png",k=JSON.parse('{"title":"Transaction Flow","description":"","frontmatter":{"sidebar_position":2},"headers":[],"relativePath":"overview/architecture/2-transaction-flow.md","filePath":"overview/architecture/2-transaction-flow.md","lastUpdated":1713206801000}'),l={name:"overview/architecture/2-transaction-flow.md"},p=r("",2),_=t("p",null,"The full transaction flow through the Astria stack is as follows:",-1),d=t("p",null,[t("img",{src:i,alt:"Astria Transaction Flow"})],-1);function h(u,f,m,w,T,v){const o=a("DeploymentsRedirect");return c(),n("div",null,[p,s(o),_,d])}const g=e(l,[["render",h]]);export{k as __pageData,g as default}; diff --git a/assets/overview_architecture_3-rollup.md.DskKYH_G.js b/assets/overview_architecture_3-rollup.md.DskKYH_G.js deleted file mode 100644 index 40f2c06..0000000 --- a/assets/overview_architecture_3-rollup.md.DskKYH_G.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,D as r,c as a,I as s,a5 as e,o as i}from"./chunks/framework.D561hJ3q.js";const l="/assets/single-rollup.BGW5Yt0b.png",k=JSON.parse('{"title":"Rollups","description":"","frontmatter":{"sidebar_position":3},"headers":[],"relativePath":"overview/architecture/3-rollup.md","filePath":"overview/architecture/3-rollup.md","lastUpdated":1713206801000}'),n={name:"overview/architecture/3-rollup.md"},p=e('

Rollups

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),c=e('

Astria is designed for permissionless rollup integration and takes advantage of lazy shared sequencing. This means that rollup developers have total sovereignty over their own execution state and can swap out sequencing layers without fear of being locked in. You do not need to ask for permission or go through a governance process to gain access. A rollup simply needs to satisfy the following interfaces:

Write Interface (Rollup to Composer):

  • For transaction submissions.

Read Interface (Rollup to Conductor):

  • For receiving blocks from the shared sequencer network.

Single Rollup

The Composer and Conductor are explained in more detail in future sections.

Both composer and conductor expose gRPC interfaces. See the astria-protos repo for specific implementation details.

Astria currently deploys a fork of Geth as an EVM rollup.

',9);function u(d,h,_,f,g,m){const o=r("DeploymentsRedirect");return i(),a("div",null,[p,s(o),c])}const T=t(n,[["render",u]]);export{k as __pageData,T as default}; diff --git a/assets/overview_architecture_3-rollup.md.DskKYH_G.lean.js b/assets/overview_architecture_3-rollup.md.DskKYH_G.lean.js deleted file mode 100644 index caf8a4b..0000000 --- a/assets/overview_architecture_3-rollup.md.DskKYH_G.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,D as r,c as a,I as s,a5 as e,o as i}from"./chunks/framework.D561hJ3q.js";const l="/assets/single-rollup.BGW5Yt0b.png",k=JSON.parse('{"title":"Rollups","description":"","frontmatter":{"sidebar_position":3},"headers":[],"relativePath":"overview/architecture/3-rollup.md","filePath":"overview/architecture/3-rollup.md","lastUpdated":1713206801000}'),n={name:"overview/architecture/3-rollup.md"},p=e("",2),c=e("",9);function u(d,h,_,f,g,m){const o=r("DeploymentsRedirect");return i(),a("div",null,[p,s(o),c])}const T=t(n,[["render",u]]);export{k as __pageData,T as default}; diff --git a/assets/overview_architecture_3-rollup.md.KtNjvcBo.js b/assets/overview_architecture_3-rollup.md.KtNjvcBo.js new file mode 100644 index 0000000..e436f13 --- /dev/null +++ b/assets/overview_architecture_3-rollup.md.KtNjvcBo.js @@ -0,0 +1 @@ +import{_ as t,D as r,c as a,I as s,a5 as e,o as i}from"./chunks/framework.J4W-y093.js";const l="/docs/assets/single-rollup.BGW5Yt0b.png",k=JSON.parse('{"title":"Rollups","description":"","frontmatter":{"sidebar_position":3},"headers":[],"relativePath":"overview/architecture/3-rollup.md","filePath":"overview/architecture/3-rollup.md","lastUpdated":1713206801000}'),n={name:"overview/architecture/3-rollup.md"},c=e('

Rollups

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),p=e('

Astria is designed for permissionless rollup integration and takes advantage of lazy shared sequencing. This means that rollup developers have total sovereignty over their own execution state and can swap out sequencing layers without fear of being locked in. You do not need to ask for permission or go through a governance process to gain access. A rollup simply needs to satisfy the following interfaces:

Write Interface (Rollup to Composer):

  • For transaction submissions.

Read Interface (Rollup to Conductor):

  • For receiving blocks from the shared sequencer network.

Single Rollup

The Composer and Conductor are explained in more detail in future sections.

Both composer and conductor expose gRPC interfaces. See the astria-protos repo for specific implementation details.

Astria currently deploys a fork of Geth as an EVM rollup.

',9);function u(d,h,_,f,g,m){const o=r("DeploymentsRedirect");return i(),a("div",null,[c,s(o),p])}const T=t(n,[["render",u]]);export{k as __pageData,T as default}; diff --git a/assets/overview_architecture_3-rollup.md.KtNjvcBo.lean.js b/assets/overview_architecture_3-rollup.md.KtNjvcBo.lean.js new file mode 100644 index 0000000..561203e --- /dev/null +++ b/assets/overview_architecture_3-rollup.md.KtNjvcBo.lean.js @@ -0,0 +1 @@ +import{_ as t,D as r,c as a,I as s,a5 as e,o as i}from"./chunks/framework.J4W-y093.js";const l="/docs/assets/single-rollup.BGW5Yt0b.png",k=JSON.parse('{"title":"Rollups","description":"","frontmatter":{"sidebar_position":3},"headers":[],"relativePath":"overview/architecture/3-rollup.md","filePath":"overview/architecture/3-rollup.md","lastUpdated":1713206801000}'),n={name:"overview/architecture/3-rollup.md"},c=e("",2),p=e("",9);function u(d,h,_,f,g,m){const o=r("DeploymentsRedirect");return i(),a("div",null,[c,s(o),p])}const T=t(n,[["render",u]]);export{k as __pageData,T as default}; diff --git a/assets/overview_architecture_4-composer.md.BFdpt6Di.js b/assets/overview_architecture_4-composer.md.BFdpt6Di.js deleted file mode 100644 index ba89436..0000000 --- a/assets/overview_architecture_4-composer.md.BFdpt6Di.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,D as r,c as i,I as a,a5 as n,l as e,a as s,o as l}from"./chunks/framework.D561hJ3q.js";const C=JSON.parse('{"title":"Composer","description":"","frontmatter":{"sidebar_position":4},"headers":[],"relativePath":"overview/architecture/4-composer.md","filePath":"overview/architecture/4-composer.md","lastUpdated":1713206801000}'),c={name:"overview/architecture/4-composer.md"},p=n('

Composer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),u=e("p",null,"The Composer is an in-house abstraction over the potential actors in Astria's MEV supply chain. It currently contains a naive implementations of the role a searcher will fulfill, with the intention of having working examples that economically incentivized third parties can use as a starting point for their own implementations. As we progress from design to implementation of Astria's proposer-builder separation it will also include an example implementation of a naive builder. The abstractions serves the goal of acting as a forcing function on our architecture design by stubbing out the roles and requiring other components to interact with them through an interface.",-1),h=e("p",null,"While a real searcher implementation would create profit-generating bundles of rollup transactions and submit them to a builder, the Composer implementation simply bundles every rollup transaction it receives into a sequencer transaction and submits it to the sequencer. As our approach to proposer-builder separation is still in its design phase, there is currently no explicit builder role in the MEV supply chain and transactions are submitted directly to validator nodes' CometBFT mempool.",-1),m=e("p",null,"Once Astria's block builder design moves to its implementation phase, the Composer will include a reference builder implementation as well. Similarly to the searcher, while a real builder implementation would run a profit-generating auction, the composer implementation will simply run a FIFO queue that will add all the sequencer transactions it receives and submits a block to the sequencer's proposer.",-1),d=e("p",null,[s("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-conductor",target:"_blank",rel:"noreferrer"},"Conductor code here.")],-1);function _(f,b,g,v,w,y){const t=r("DeploymentsRedirect");return l(),i("div",null,[p,a(t),u,h,m,d])}const k=o(c,[["render",_]]);export{C as __pageData,k as default}; diff --git a/assets/overview_architecture_4-composer.md.ZUYOCZjU.js b/assets/overview_architecture_4-composer.md.ZUYOCZjU.js new file mode 100644 index 0000000..317d8a2 --- /dev/null +++ b/assets/overview_architecture_4-composer.md.ZUYOCZjU.js @@ -0,0 +1 @@ +import{_ as o,D as r,c as i,I as a,a5 as n,l as e,a as s,o as l}from"./chunks/framework.J4W-y093.js";const C=JSON.parse('{"title":"Composer","description":"","frontmatter":{"sidebar_position":4},"headers":[],"relativePath":"overview/architecture/4-composer.md","filePath":"overview/architecture/4-composer.md","lastUpdated":1713206801000}'),c={name:"overview/architecture/4-composer.md"},p=n('

Composer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),u=e("p",null,"The Composer is an in-house abstraction over the potential actors in Astria's MEV supply chain. It currently contains a naive implementations of the role a searcher will fulfill, with the intention of having working examples that economically incentivized third parties can use as a starting point for their own implementations. As we progress from design to implementation of Astria's proposer-builder separation it will also include an example implementation of a naive builder. The abstractions serves the goal of acting as a forcing function on our architecture design by stubbing out the roles and requiring other components to interact with them through an interface.",-1),h=e("p",null,"While a real searcher implementation would create profit-generating bundles of rollup transactions and submit them to a builder, the Composer implementation simply bundles every rollup transaction it receives into a sequencer transaction and submits it to the sequencer. As our approach to proposer-builder separation is still in its design phase, there is currently no explicit builder role in the MEV supply chain and transactions are submitted directly to validator nodes' CometBFT mempool.",-1),d=e("p",null,"Once Astria's block builder design moves to its implementation phase, the Composer will include a reference builder implementation as well. Similarly to the searcher, while a real builder implementation would run a profit-generating auction, the composer implementation will simply run a FIFO queue that will add all the sequencer transactions it receives and submits a block to the sequencer's proposer.",-1),m=e("p",null,[s("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-conductor",target:"_blank",rel:"noreferrer"},"Conductor code here.")],-1);function _(f,b,g,v,w,y){const t=r("DeploymentsRedirect");return l(),i("div",null,[p,a(t),u,h,d,m])}const k=o(c,[["render",_]]);export{C as __pageData,k as default}; diff --git a/assets/overview_architecture_4-composer.md.BFdpt6Di.lean.js b/assets/overview_architecture_4-composer.md.ZUYOCZjU.lean.js similarity index 89% rename from assets/overview_architecture_4-composer.md.BFdpt6Di.lean.js rename to assets/overview_architecture_4-composer.md.ZUYOCZjU.lean.js index 4ff7228..086b1e9 100644 --- a/assets/overview_architecture_4-composer.md.BFdpt6Di.lean.js +++ b/assets/overview_architecture_4-composer.md.ZUYOCZjU.lean.js @@ -1 +1 @@ -import{_ as o,D as r,c as i,I as a,a5 as n,l as e,a as s,o as l}from"./chunks/framework.D561hJ3q.js";const C=JSON.parse('{"title":"Composer","description":"","frontmatter":{"sidebar_position":4},"headers":[],"relativePath":"overview/architecture/4-composer.md","filePath":"overview/architecture/4-composer.md","lastUpdated":1713206801000}'),c={name:"overview/architecture/4-composer.md"},p=n("",2),u=e("p",null,"The Composer is an in-house abstraction over the potential actors in Astria's MEV supply chain. It currently contains a naive implementations of the role a searcher will fulfill, with the intention of having working examples that economically incentivized third parties can use as a starting point for their own implementations. As we progress from design to implementation of Astria's proposer-builder separation it will also include an example implementation of a naive builder. The abstractions serves the goal of acting as a forcing function on our architecture design by stubbing out the roles and requiring other components to interact with them through an interface.",-1),h=e("p",null,"While a real searcher implementation would create profit-generating bundles of rollup transactions and submit them to a builder, the Composer implementation simply bundles every rollup transaction it receives into a sequencer transaction and submits it to the sequencer. As our approach to proposer-builder separation is still in its design phase, there is currently no explicit builder role in the MEV supply chain and transactions are submitted directly to validator nodes' CometBFT mempool.",-1),m=e("p",null,"Once Astria's block builder design moves to its implementation phase, the Composer will include a reference builder implementation as well. Similarly to the searcher, while a real builder implementation would run a profit-generating auction, the composer implementation will simply run a FIFO queue that will add all the sequencer transactions it receives and submits a block to the sequencer's proposer.",-1),d=e("p",null,[s("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-conductor",target:"_blank",rel:"noreferrer"},"Conductor code here.")],-1);function _(f,b,g,v,w,y){const t=r("DeploymentsRedirect");return l(),i("div",null,[p,a(t),u,h,m,d])}const k=o(c,[["render",_]]);export{C as __pageData,k as default}; +import{_ as o,D as r,c as i,I as a,a5 as n,l as e,a as s,o as l}from"./chunks/framework.J4W-y093.js";const C=JSON.parse('{"title":"Composer","description":"","frontmatter":{"sidebar_position":4},"headers":[],"relativePath":"overview/architecture/4-composer.md","filePath":"overview/architecture/4-composer.md","lastUpdated":1713206801000}'),c={name:"overview/architecture/4-composer.md"},p=n("",2),u=e("p",null,"The Composer is an in-house abstraction over the potential actors in Astria's MEV supply chain. It currently contains a naive implementations of the role a searcher will fulfill, with the intention of having working examples that economically incentivized third parties can use as a starting point for their own implementations. As we progress from design to implementation of Astria's proposer-builder separation it will also include an example implementation of a naive builder. The abstractions serves the goal of acting as a forcing function on our architecture design by stubbing out the roles and requiring other components to interact with them through an interface.",-1),h=e("p",null,"While a real searcher implementation would create profit-generating bundles of rollup transactions and submit them to a builder, the Composer implementation simply bundles every rollup transaction it receives into a sequencer transaction and submits it to the sequencer. As our approach to proposer-builder separation is still in its design phase, there is currently no explicit builder role in the MEV supply chain and transactions are submitted directly to validator nodes' CometBFT mempool.",-1),d=e("p",null,"Once Astria's block builder design moves to its implementation phase, the Composer will include a reference builder implementation as well. Similarly to the searcher, while a real builder implementation would run a profit-generating auction, the composer implementation will simply run a FIFO queue that will add all the sequencer transactions it receives and submits a block to the sequencer's proposer.",-1),m=e("p",null,[s("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-conductor",target:"_blank",rel:"noreferrer"},"Conductor code here.")],-1);function _(f,b,g,v,w,y){const t=r("DeploymentsRedirect");return l(),i("div",null,[p,a(t),u,h,d,m])}const k=o(c,[["render",_]]);export{C as __pageData,k as default}; diff --git a/assets/overview_architecture_5-the-astria-sequencer.md.CF9nAJ5G.js b/assets/overview_architecture_5-the-astria-sequencer.md.CF9nAJ5G.js deleted file mode 100644 index d4bca7a..0000000 --- a/assets/overview_architecture_5-the-astria-sequencer.md.CF9nAJ5G.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,D as r,c as o,I as n,a5 as e,o as s}from"./chunks/framework.D561hJ3q.js";const i="/assets/shared-sequencer-overview.KaalIjKb.png",q=JSON.parse('{"title":"The Astria Sequencer","description":"","frontmatter":{"sidebar_position":5},"headers":[],"relativePath":"overview/architecture/5-the-astria-sequencer.md","filePath":"overview/architecture/5-the-astria-sequencer.md","lastUpdated":1713206801000}'),c={name:"overview/architecture/5-the-astria-sequencer.md"},h=e('

The Astria Sequencer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),u=e('

The Astria Shared Sequencer is a decentralized network of nodes utilizing CometBFT that come to consensus on an ordered set of transactions (ie. it is a blockchain). The unique feature of the sequencer is that the transactions it includes are not executed (lazy sequencing), and are destined for another execution engine (ie. a rollup). This excludes “sequencer native” transactions, such as transfers of tokens within the sequencer chain. Transactions from any given rollup are only ordered on the sequencer, not executed.

The sequencer can optionally act as a “validator”, meaning it actively participates in the production and finalization of new blocks.

Astria Shared Sequencer

Components of note that are not shown in the above diagram are the Composer, Relayer, and Conductor.

These components facilitate the delivery transactions, batches, and different commits shown above, back to the users.

See the Sequencer code here.

',6);function l(d,p,_,m,f,v){const t=r("DeploymentsRedirect");return s(),o("div",null,[h,n(t),u])}const S=a(c,[["render",l]]);export{q as __pageData,S as default}; diff --git a/assets/overview_architecture_5-the-astria-sequencer.md.CF9nAJ5G.lean.js b/assets/overview_architecture_5-the-astria-sequencer.md.CF9nAJ5G.lean.js deleted file mode 100644 index e2a233f..0000000 --- a/assets/overview_architecture_5-the-astria-sequencer.md.CF9nAJ5G.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,D as r,c as o,I as n,a5 as e,o as s}from"./chunks/framework.D561hJ3q.js";const i="/assets/shared-sequencer-overview.KaalIjKb.png",q=JSON.parse('{"title":"The Astria Sequencer","description":"","frontmatter":{"sidebar_position":5},"headers":[],"relativePath":"overview/architecture/5-the-astria-sequencer.md","filePath":"overview/architecture/5-the-astria-sequencer.md","lastUpdated":1713206801000}'),c={name:"overview/architecture/5-the-astria-sequencer.md"},h=e("",2),u=e("",6);function l(d,p,_,m,f,v){const t=r("DeploymentsRedirect");return s(),o("div",null,[h,n(t),u])}const S=a(c,[["render",l]]);export{q as __pageData,S as default}; diff --git a/assets/overview_architecture_5-the-astria-sequencer.md.DQAesWz8.js b/assets/overview_architecture_5-the-astria-sequencer.md.DQAesWz8.js new file mode 100644 index 0000000..e833b08 --- /dev/null +++ b/assets/overview_architecture_5-the-astria-sequencer.md.DQAesWz8.js @@ -0,0 +1 @@ +import{_ as a,D as r,c as o,I as n,a5 as e,o as s}from"./chunks/framework.J4W-y093.js";const c="/docs/assets/shared-sequencer-overview.KaalIjKb.png",q=JSON.parse('{"title":"The Astria Sequencer","description":"","frontmatter":{"sidebar_position":5},"headers":[],"relativePath":"overview/architecture/5-the-astria-sequencer.md","filePath":"overview/architecture/5-the-astria-sequencer.md","lastUpdated":1713206801000}'),i={name:"overview/architecture/5-the-astria-sequencer.md"},h=e('

The Astria Sequencer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),d=e('

The Astria Shared Sequencer is a decentralized network of nodes utilizing CometBFT that come to consensus on an ordered set of transactions (ie. it is a blockchain). The unique feature of the sequencer is that the transactions it includes are not executed (lazy sequencing), and are destined for another execution engine (ie. a rollup). This excludes “sequencer native” transactions, such as transfers of tokens within the sequencer chain. Transactions from any given rollup are only ordered on the sequencer, not executed.

The sequencer can optionally act as a “validator”, meaning it actively participates in the production and finalization of new blocks.

Astria Shared Sequencer

Components of note that are not shown in the above diagram are the Composer, Relayer, and Conductor.

These components facilitate the delivery transactions, batches, and different commits shown above, back to the users.

See the Sequencer code here.

',6);function u(l,p,_,m,f,v){const t=r("DeploymentsRedirect");return s(),o("div",null,[h,n(t),d])}const S=a(i,[["render",u]]);export{q as __pageData,S as default}; diff --git a/assets/overview_architecture_5-the-astria-sequencer.md.DQAesWz8.lean.js b/assets/overview_architecture_5-the-astria-sequencer.md.DQAesWz8.lean.js new file mode 100644 index 0000000..5bf322c --- /dev/null +++ b/assets/overview_architecture_5-the-astria-sequencer.md.DQAesWz8.lean.js @@ -0,0 +1 @@ +import{_ as a,D as r,c as o,I as n,a5 as e,o as s}from"./chunks/framework.J4W-y093.js";const c="/docs/assets/shared-sequencer-overview.KaalIjKb.png",q=JSON.parse('{"title":"The Astria Sequencer","description":"","frontmatter":{"sidebar_position":5},"headers":[],"relativePath":"overview/architecture/5-the-astria-sequencer.md","filePath":"overview/architecture/5-the-astria-sequencer.md","lastUpdated":1713206801000}'),i={name:"overview/architecture/5-the-astria-sequencer.md"},h=e("",2),d=e("",6);function u(l,p,_,m,f,v){const t=r("DeploymentsRedirect");return s(),o("div",null,[h,n(t),d])}const S=a(i,[["render",u]]);export{q as __pageData,S as default}; diff --git a/assets/overview_architecture_6-relayer.md.C21oyeqO.js b/assets/overview_architecture_6-relayer.md.C21oyeqO.js new file mode 100644 index 0000000..c23d5eb --- /dev/null +++ b/assets/overview_architecture_6-relayer.md.C21oyeqO.js @@ -0,0 +1 @@ +import{_ as o,D as a,c as r,I as s,a5 as l,l as e,a as c,o as n}from"./chunks/framework.J4W-y093.js";const T=JSON.parse('{"title":"Relayer","description":"","frontmatter":{"sidebar_position":6},"headers":[],"relativePath":"overview/architecture/6-relayer.md","filePath":"overview/architecture/6-relayer.md","lastUpdated":1713206801000}'),i={name:"overview/architecture/6-relayer.md"},d=l('

Relayer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),h=e("p",null,"The Relayer's responsibility is to take validated blocks from the sequencer and pass them along to both the Conductor and the DA layer. Because the sequencer's block times are much faster than those of the DA, the relayer also collects a queue of ordered sequencer blocks before wrapping them for submission to DA.",-1),u=e("p",null,"The individual sequencer blocks are sent immediately to the Conductor to enable fast finality for an improved UX and also act as soft commits for the execution layer. The collections of blocks sent to the DA layer are used as a source of truth and are ultimately pulled from the DA to be used as firm commits for finality in the rolllups.",-1),p=e("p",null,[c("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-sequencer-relayer",target:"_blank",rel:"noreferrer"},"Relayer code here.")],-1);function _(m,f,y,b,v,k){const t=a("DeploymentsRedirect");return n(),r("div",null,[d,s(t),h,u,p])}const A=o(i,[["render",_]]);export{T as __pageData,A as default}; diff --git a/assets/overview_architecture_6-relayer.md.yaAwwm_B.lean.js b/assets/overview_architecture_6-relayer.md.C21oyeqO.lean.js similarity index 86% rename from assets/overview_architecture_6-relayer.md.yaAwwm_B.lean.js rename to assets/overview_architecture_6-relayer.md.C21oyeqO.lean.js index 5c84f13..e26434c 100644 --- a/assets/overview_architecture_6-relayer.md.yaAwwm_B.lean.js +++ b/assets/overview_architecture_6-relayer.md.C21oyeqO.lean.js @@ -1 +1 @@ -import{_ as o,D as a,c as r,I as s,a5 as l,l as e,a as c,o as n}from"./chunks/framework.D561hJ3q.js";const T=JSON.parse('{"title":"Relayer","description":"","frontmatter":{"sidebar_position":6},"headers":[],"relativePath":"overview/architecture/6-relayer.md","filePath":"overview/architecture/6-relayer.md","lastUpdated":1713206801000}'),i={name:"overview/architecture/6-relayer.md"},h=l("",2),d=e("p",null,"The Relayer's responsibility is to take validated blocks from the sequencer and pass them along to both the Conductor and the DA layer. Because the sequencer's block times are much faster than those of the DA, the relayer also collects a queue of ordered sequencer blocks before wrapping them for submission to DA.",-1),u=e("p",null,"The individual sequencer blocks are sent immediately to the Conductor to enable fast finality for an improved UX and also act as soft commits for the execution layer. The collections of blocks sent to the DA layer are used as a source of truth and are ultimately pulled from the DA to be used as firm commits for finality in the rolllups.",-1),p=e("p",null,[c("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-sequencer-relayer",target:"_blank",rel:"noreferrer"},"Relayer code here.")],-1);function _(m,f,y,b,v,k){const t=a("DeploymentsRedirect");return n(),r("div",null,[h,s(t),d,u,p])}const A=o(i,[["render",_]]);export{T as __pageData,A as default}; +import{_ as o,D as a,c as r,I as s,a5 as l,l as e,a as c,o as n}from"./chunks/framework.J4W-y093.js";const T=JSON.parse('{"title":"Relayer","description":"","frontmatter":{"sidebar_position":6},"headers":[],"relativePath":"overview/architecture/6-relayer.md","filePath":"overview/architecture/6-relayer.md","lastUpdated":1713206801000}'),i={name:"overview/architecture/6-relayer.md"},d=l("",2),h=e("p",null,"The Relayer's responsibility is to take validated blocks from the sequencer and pass them along to both the Conductor and the DA layer. Because the sequencer's block times are much faster than those of the DA, the relayer also collects a queue of ordered sequencer blocks before wrapping them for submission to DA.",-1),u=e("p",null,"The individual sequencer blocks are sent immediately to the Conductor to enable fast finality for an improved UX and also act as soft commits for the execution layer. The collections of blocks sent to the DA layer are used as a source of truth and are ultimately pulled from the DA to be used as firm commits for finality in the rolllups.",-1),p=e("p",null,[c("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-sequencer-relayer",target:"_blank",rel:"noreferrer"},"Relayer code here.")],-1);function _(m,f,y,b,v,k){const t=a("DeploymentsRedirect");return n(),r("div",null,[d,s(t),h,u,p])}const A=o(i,[["render",_]]);export{T as __pageData,A as default}; diff --git a/assets/overview_architecture_6-relayer.md.yaAwwm_B.js b/assets/overview_architecture_6-relayer.md.yaAwwm_B.js deleted file mode 100644 index ed467f2..0000000 --- a/assets/overview_architecture_6-relayer.md.yaAwwm_B.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,D as a,c as r,I as s,a5 as l,l as e,a as c,o as n}from"./chunks/framework.D561hJ3q.js";const T=JSON.parse('{"title":"Relayer","description":"","frontmatter":{"sidebar_position":6},"headers":[],"relativePath":"overview/architecture/6-relayer.md","filePath":"overview/architecture/6-relayer.md","lastUpdated":1713206801000}'),i={name:"overview/architecture/6-relayer.md"},h=l('

Relayer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),d=e("p",null,"The Relayer's responsibility is to take validated blocks from the sequencer and pass them along to both the Conductor and the DA layer. Because the sequencer's block times are much faster than those of the DA, the relayer also collects a queue of ordered sequencer blocks before wrapping them for submission to DA.",-1),u=e("p",null,"The individual sequencer blocks are sent immediately to the Conductor to enable fast finality for an improved UX and also act as soft commits for the execution layer. The collections of blocks sent to the DA layer are used as a source of truth and are ultimately pulled from the DA to be used as firm commits for finality in the rolllups.",-1),p=e("p",null,[c("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-sequencer-relayer",target:"_blank",rel:"noreferrer"},"Relayer code here.")],-1);function _(m,f,y,b,v,k){const t=a("DeploymentsRedirect");return n(),r("div",null,[h,s(t),d,u,p])}const A=o(i,[["render",_]]);export{T as __pageData,A as default}; diff --git a/assets/overview_architecture_7-conductor.md.BvhJT_3q.js b/assets/overview_architecture_7-conductor.md.BvhJT_3q.js new file mode 100644 index 0000000..731005e --- /dev/null +++ b/assets/overview_architecture_7-conductor.md.BvhJT_3q.js @@ -0,0 +1 @@ +import{_ as a,D as r,c as s,I as n,a5 as c,l as e,a as t,o as i}from"./chunks/framework.J4W-y093.js";const x=JSON.parse('{"title":"Conductor","description":"","frontmatter":{"sidebar_position":7},"headers":[],"relativePath":"overview/architecture/7-conductor.md","filePath":"overview/architecture/7-conductor.md","lastUpdated":1713206801000}'),l={name:"overview/architecture/7-conductor.md"},d=c('

Conductor

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),u=e("p",null,"Conductor's role is to drive the deterministic execution of sequencer blocks to rollups.",-1),h=e("p",null,"It abstracts away the logic required to read data from the DA and the Sequencer, tracking firm and soft commitments, block and header shapes, as well as verification of the data. The rollup implements the Execution API server, and runs the Conductor alongside to drive deterministic execution. The Conductor is effectively stateless but does ephemerally store some information about the blocks it has seen and passed on to be executed.",-1),p=e("p",null,"It filters the transactions that are relevant to the given rollup it is running along side, out of the sequencer blocks for execution. The data that it does store is for sending commitment updates to the rollup.",-1),m=e("p",null,[t("As mentioned in the "),e("a",{href:"/docs/docs/overview/architecture/6-relayer.mdx"},"Relayer"),t(` section, any data received by the Conductor directly from the Relayer is considered a soft commit. This data is filtered using the rollup's namespace and only transactions that are relevant to the rollup are passed on as blocks for execution. These blocks are also marked as "safe" withing the rollup. The Conductor regularly polls Celestia for new data and when it sees the same blocks in Celestia that it has already seen from the Relayer, it sends a firm commit message to the rollup to update that block to "finalized."`)],-1),_=e("p",null,[t("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-conductor",target:"_blank",rel:"noreferrer"},"Conductor code here.")],-1);function f(v,b,y,g,k,T){const o=r("DeploymentsRedirect");return i(),s("div",null,[d,n(o),u,h,p,m,_])}const w=a(l,[["render",f]]);export{x as __pageData,w as default}; diff --git a/assets/overview_architecture_7-conductor.md.BvhJT_3q.lean.js b/assets/overview_architecture_7-conductor.md.BvhJT_3q.lean.js new file mode 100644 index 0000000..6f38778 --- /dev/null +++ b/assets/overview_architecture_7-conductor.md.BvhJT_3q.lean.js @@ -0,0 +1 @@ +import{_ as a,D as r,c as s,I as n,a5 as c,l as e,a as t,o as i}from"./chunks/framework.J4W-y093.js";const x=JSON.parse('{"title":"Conductor","description":"","frontmatter":{"sidebar_position":7},"headers":[],"relativePath":"overview/architecture/7-conductor.md","filePath":"overview/architecture/7-conductor.md","lastUpdated":1713206801000}'),l={name:"overview/architecture/7-conductor.md"},d=c("",2),u=e("p",null,"Conductor's role is to drive the deterministic execution of sequencer blocks to rollups.",-1),h=e("p",null,"It abstracts away the logic required to read data from the DA and the Sequencer, tracking firm and soft commitments, block and header shapes, as well as verification of the data. The rollup implements the Execution API server, and runs the Conductor alongside to drive deterministic execution. The Conductor is effectively stateless but does ephemerally store some information about the blocks it has seen and passed on to be executed.",-1),p=e("p",null,"It filters the transactions that are relevant to the given rollup it is running along side, out of the sequencer blocks for execution. The data that it does store is for sending commitment updates to the rollup.",-1),m=e("p",null,[t("As mentioned in the "),e("a",{href:"/docs/docs/overview/architecture/6-relayer.mdx"},"Relayer"),t(` section, any data received by the Conductor directly from the Relayer is considered a soft commit. This data is filtered using the rollup's namespace and only transactions that are relevant to the rollup are passed on as blocks for execution. These blocks are also marked as "safe" withing the rollup. The Conductor regularly polls Celestia for new data and when it sees the same blocks in Celestia that it has already seen from the Relayer, it sends a firm commit message to the rollup to update that block to "finalized."`)],-1),_=e("p",null,[t("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-conductor",target:"_blank",rel:"noreferrer"},"Conductor code here.")],-1);function f(v,b,y,g,k,T){const o=r("DeploymentsRedirect");return i(),s("div",null,[d,n(o),u,h,p,m,_])}const w=a(l,[["render",f]]);export{x as __pageData,w as default}; diff --git a/assets/overview_architecture_7-conductor.md.CYOIrlzR.js b/assets/overview_architecture_7-conductor.md.CYOIrlzR.js deleted file mode 100644 index e78808c..0000000 --- a/assets/overview_architecture_7-conductor.md.CYOIrlzR.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,D as r,c as s,I as n,a5 as i,l as e,a as t,o as c}from"./chunks/framework.D561hJ3q.js";const x=JSON.parse('{"title":"Conductor","description":"","frontmatter":{"sidebar_position":7},"headers":[],"relativePath":"overview/architecture/7-conductor.md","filePath":"overview/architecture/7-conductor.md","lastUpdated":1713206801000}'),l={name:"overview/architecture/7-conductor.md"},d=i('

Conductor

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),u=e("p",null,"Conductor's role is to drive the deterministic execution of sequencer blocks to rollups.",-1),h=e("p",null,"It abstracts away the logic required to read data from the DA and the Sequencer, tracking firm and soft commitments, block and header shapes, as well as verification of the data. The rollup implements the Execution API server, and runs the Conductor alongside to drive deterministic execution. The Conductor is effectively stateless but does ephemerally store some information about the blocks it has seen and passed on to be executed.",-1),p=e("p",null,"It filters the transactions that are relevant to the given rollup it is running along side, out of the sequencer blocks for execution. The data that it does store is for sending commitment updates to the rollup.",-1),m=e("p",null,[t("As mentioned in the "),e("a",{href:"/docs/overview/architecture/6-relayer.mdx"},"Relayer"),t(` section, any data received by the Conductor directly from the Relayer is considered a soft commit. This data is filtered using the rollup's namespace and only transactions that are relevant to the rollup are passed on as blocks for execution. These blocks are also marked as "safe" withing the rollup. The Conductor regularly polls Celestia for new data and when it sees the same blocks in Celestia that it has already seen from the Relayer, it sends a firm commit message to the rollup to update that block to "finalized."`)],-1),_=e("p",null,[t("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-conductor",target:"_blank",rel:"noreferrer"},"Conductor code here.")],-1);function f(v,b,y,g,k,T){const o=r("DeploymentsRedirect");return c(),s("div",null,[d,n(o),u,h,p,m,_])}const w=a(l,[["render",f]]);export{x as __pageData,w as default}; diff --git a/assets/overview_architecture_7-conductor.md.CYOIrlzR.lean.js b/assets/overview_architecture_7-conductor.md.CYOIrlzR.lean.js deleted file mode 100644 index c8aad4e..0000000 --- a/assets/overview_architecture_7-conductor.md.CYOIrlzR.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,D as r,c as s,I as n,a5 as i,l as e,a as t,o as c}from"./chunks/framework.D561hJ3q.js";const x=JSON.parse('{"title":"Conductor","description":"","frontmatter":{"sidebar_position":7},"headers":[],"relativePath":"overview/architecture/7-conductor.md","filePath":"overview/architecture/7-conductor.md","lastUpdated":1713206801000}'),l={name:"overview/architecture/7-conductor.md"},d=i("",2),u=e("p",null,"Conductor's role is to drive the deterministic execution of sequencer blocks to rollups.",-1),h=e("p",null,"It abstracts away the logic required to read data from the DA and the Sequencer, tracking firm and soft commitments, block and header shapes, as well as verification of the data. The rollup implements the Execution API server, and runs the Conductor alongside to drive deterministic execution. The Conductor is effectively stateless but does ephemerally store some information about the blocks it has seen and passed on to be executed.",-1),p=e("p",null,"It filters the transactions that are relevant to the given rollup it is running along side, out of the sequencer blocks for execution. The data that it does store is for sending commitment updates to the rollup.",-1),m=e("p",null,[t("As mentioned in the "),e("a",{href:"/docs/overview/architecture/6-relayer.mdx"},"Relayer"),t(` section, any data received by the Conductor directly from the Relayer is considered a soft commit. This data is filtered using the rollup's namespace and only transactions that are relevant to the rollup are passed on as blocks for execution. These blocks are also marked as "safe" withing the rollup. The Conductor regularly polls Celestia for new data and when it sees the same blocks in Celestia that it has already seen from the Relayer, it sends a firm commit message to the rollup to update that block to "finalized."`)],-1),_=e("p",null,[t("See the "),e("a",{href:"https://github.com/astriaorg/astria/tree/main/crates/astria-conductor",target:"_blank",rel:"noreferrer"},"Conductor code here.")],-1);function f(v,b,y,g,k,T){const o=r("DeploymentsRedirect");return c(),s("div",null,[d,n(o),u,h,p,m,_])}const w=a(l,[["render",f]]);export{x as __pageData,w as default}; diff --git a/assets/overview_architecture_8-data-availability-layer.md.CUDK1MsV.js b/assets/overview_architecture_8-data-availability-layer.md.CUDK1MsV.js deleted file mode 100644 index b143690..0000000 --- a/assets/overview_architecture_8-data-availability-layer.md.CUDK1MsV.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,D as r,c as o,I as l,a5 as s,l as e,a,o as n}from"./chunks/framework.D561hJ3q.js";const D=JSON.parse('{"title":"Data Availability Layer","description":"","frontmatter":{"sidebar_position":8},"headers":[],"relativePath":"overview/architecture/8-data-availability-layer.md","filePath":"overview/architecture/8-data-availability-layer.md","lastUpdated":1713206801000}'),c={name:"overview/architecture/8-data-availability-layer.md"},d=s('

Data Availability Layer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),h=e("p",null,[a("The dev-cluster uses "),e("a",{href:"https://github.com/celestiaorg",target:"_blank",rel:"noreferrer"},"Celestia"),a(" as the data availability layer and is the ultimate destination of all data that has been ordered by the sequencer network. Once written to Celestia, the transaction order is considered final and it is where all data will be pulled from when a new rollup node is spun up.")],-1),p=e("p",null,[a("See the "),e("a",{href:"https://celestia.org/what-is-celestia/",target:"_blank",rel:"noreferrer"},"Celestia website"),a(" for a more in depth introduction.")],-1);function u(_,y,v,b,m,f){const t=r("DeploymentsRedirect");return n(),o("div",null,[d,l(t),h,p])}const T=i(c,[["render",u]]);export{D as __pageData,T as default}; diff --git a/assets/overview_architecture_8-data-availability-layer.md.CZsy3pe7.js b/assets/overview_architecture_8-data-availability-layer.md.CZsy3pe7.js new file mode 100644 index 0000000..135fd3a --- /dev/null +++ b/assets/overview_architecture_8-data-availability-layer.md.CZsy3pe7.js @@ -0,0 +1 @@ +import{_ as i,D as r,c as o,I as l,a5 as s,l as e,a,o as n}from"./chunks/framework.J4W-y093.js";const D=JSON.parse('{"title":"Data Availability Layer","description":"","frontmatter":{"sidebar_position":8},"headers":[],"relativePath":"overview/architecture/8-data-availability-layer.md","filePath":"overview/architecture/8-data-availability-layer.md","lastUpdated":1713206801000}'),c={name:"overview/architecture/8-data-availability-layer.md"},d=s('

Data Availability Layer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

',2),h=e("p",null,[a("The dev-cluster uses "),e("a",{href:"https://github.com/celestiaorg",target:"_blank",rel:"noreferrer"},"Celestia"),a(" as the data availability layer and is the ultimate destination of all data that has been ordered by the sequencer network. Once written to Celestia, the transaction order is considered final and it is where all data will be pulled from when a new rollup node is spun up.")],-1),p=e("p",null,[a("See the "),e("a",{href:"https://celestia.org/what-is-celestia/",target:"_blank",rel:"noreferrer"},"Celestia website"),a(" for a more in depth introduction.")],-1);function u(_,y,v,b,m,f){const t=r("DeploymentsRedirect");return n(),o("div",null,[d,l(t),h,p])}const T=i(c,[["render",u]]);export{D as __pageData,T as default}; diff --git a/assets/overview_architecture_8-data-availability-layer.md.CUDK1MsV.lean.js b/assets/overview_architecture_8-data-availability-layer.md.CZsy3pe7.lean.js similarity index 94% rename from assets/overview_architecture_8-data-availability-layer.md.CUDK1MsV.lean.js rename to assets/overview_architecture_8-data-availability-layer.md.CZsy3pe7.lean.js index c8803c3..ef2fa34 100644 --- a/assets/overview_architecture_8-data-availability-layer.md.CUDK1MsV.lean.js +++ b/assets/overview_architecture_8-data-availability-layer.md.CZsy3pe7.lean.js @@ -1 +1 @@ -import{_ as i,D as r,c as o,I as l,a5 as s,l as e,a,o as n}from"./chunks/framework.D561hJ3q.js";const D=JSON.parse('{"title":"Data Availability Layer","description":"","frontmatter":{"sidebar_position":8},"headers":[],"relativePath":"overview/architecture/8-data-availability-layer.md","filePath":"overview/architecture/8-data-availability-layer.md","lastUpdated":1713206801000}'),c={name:"overview/architecture/8-data-availability-layer.md"},d=s("",2),h=e("p",null,[a("The dev-cluster uses "),e("a",{href:"https://github.com/celestiaorg",target:"_blank",rel:"noreferrer"},"Celestia"),a(" as the data availability layer and is the ultimate destination of all data that has been ordered by the sequencer network. Once written to Celestia, the transaction order is considered final and it is where all data will be pulled from when a new rollup node is spun up.")],-1),p=e("p",null,[a("See the "),e("a",{href:"https://celestia.org/what-is-celestia/",target:"_blank",rel:"noreferrer"},"Celestia website"),a(" for a more in depth introduction.")],-1);function u(_,y,v,b,m,f){const t=r("DeploymentsRedirect");return n(),o("div",null,[d,l(t),h,p])}const T=i(c,[["render",u]]);export{D as __pageData,T as default}; +import{_ as i,D as r,c as o,I as l,a5 as s,l as e,a,o as n}from"./chunks/framework.J4W-y093.js";const D=JSON.parse('{"title":"Data Availability Layer","description":"","frontmatter":{"sidebar_position":8},"headers":[],"relativePath":"overview/architecture/8-data-availability-layer.md","filePath":"overview/architecture/8-data-availability-layer.md","lastUpdated":1713206801000}'),c={name:"overview/architecture/8-data-availability-layer.md"},d=s("",2),h=e("p",null,[a("The dev-cluster uses "),e("a",{href:"https://github.com/celestiaorg",target:"_blank",rel:"noreferrer"},"Celestia"),a(" as the data availability layer and is the ultimate destination of all data that has been ordered by the sequencer network. Once written to Celestia, the transaction order is considered final and it is where all data will be pulled from when a new rollup node is spun up.")],-1),p=e("p",null,[a("See the "),e("a",{href:"https://celestia.org/what-is-celestia/",target:"_blank",rel:"noreferrer"},"Celestia website"),a(" for a more in depth introduction.")],-1);function u(_,y,v,b,m,f){const t=r("DeploymentsRedirect");return n(),o("div",null,[d,l(t),h,p])}const T=i(c,[["render",u]]);export{D as __pageData,T as default}; diff --git a/assets/style.8neFWL_c.css b/assets/style.8neFWL_c.css deleted file mode 100644 index 6a5acdb..0000000 --- a/assets/style.8neFWL_c.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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(/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:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}: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: "Chinese Quotes", Inter, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}: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{display:inline-block;margin:auto 2px -2px}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 .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}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);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{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-c79a1216]{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-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}.NotFound[data-v-f87ff6e4]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-f87ff6e4]{padding:96px 32px 168px}}.code[data-v-f87ff6e4]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-f87ff6e4]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-f87ff6e4]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-f87ff6e4]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-f87ff6e4]{padding-top:20px}.link[data-v-f87ff6e4]{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-f87ff6e4]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-b933a997]{position:relative;z-index:1}.nested[data-v-b933a997]{padding-right:16px;padding-left:16px}.outline-link[data-v-b933a997]{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-b933a997]:hover,.outline-link.active[data-v-b933a997]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-b933a997]{padding-left:13px}.VPDocAsideOutline[data-v-935f8a84]{display:none}.VPDocAsideOutline.has-outline[data-v-935f8a84]{display:block}.content[data-v-935f8a84]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-935f8a84]{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-935f8a84]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-7e05ebdb]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-7e05ebdb]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-09de1c0f]{margin-top:64px}.edit-info[data-v-09de1c0f]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-09de1c0f]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-09de1c0f]{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-09de1c0f]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-09de1c0f]{margin-right:8px}.prev-next[data-v-09de1c0f]{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-09de1c0f]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-09de1c0f]{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-09de1c0f]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-09de1c0f]{margin-left:auto;text-align:right}.desc[data-v-09de1c0f]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-09de1c0f]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-39a288b8]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-39a288b8]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-39a288b8]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-39a288b8]{display:flex;justify-content:center}.VPDoc .aside[data-v-39a288b8]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{max-width:1104px}}.container[data-v-39a288b8]{margin:0 auto;width:100%}.aside[data-v-39a288b8]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-39a288b8]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-39a288b8]{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-39a288b8]::-webkit-scrollbar{display:none}.aside-curtain[data-v-39a288b8]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-39a288b8]{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-39a288b8]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-39a288b8]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-39a288b8]{order:1;margin:0;min-width:640px}}.content-container[data-v-39a288b8]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-39a288b8]{max-width:688px}.VPButton[data-v-cad61b99]{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-cad61b99]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-cad61b99]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-cad61b99]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-cad61b99]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-cad61b99]: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-cad61b99]: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-cad61b99]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-cad61b99]: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-cad61b99]: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-cad61b99]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-cad61b99]: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-cad61b99]: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-8426fc1a]{display:none}.dark .VPImage.light[data-v-8426fc1a]{display:none}.VPHero[data-v-303bb580]{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-303bb580]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-303bb580]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-303bb580]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-303bb580]{flex-direction:row}}.main[data-v-303bb580]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-303bb580]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-303bb580]{text-align:left}}@media (min-width: 960px){.main[data-v-303bb580]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-303bb580]{max-width:592px}}.name[data-v-303bb580],.text[data-v-303bb580]{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-303bb580],.VPHero.has-image .text[data-v-303bb580]{margin:0 auto}.name[data-v-303bb580]{color:var(--vp-home-hero-name-color)}.clip[data-v-303bb580]{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-303bb580],.text[data-v-303bb580]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-303bb580],.text[data-v-303bb580]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-303bb580],.VPHero.has-image .text[data-v-303bb580]{margin:0}}.tagline[data-v-303bb580]{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-303bb580]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-303bb580]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-303bb580]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-303bb580]{margin:0}}.actions[data-v-303bb580]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-303bb580]{justify-content:center}@media (min-width: 640px){.actions[data-v-303bb580]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-303bb580]{justify-content:flex-start}}.action[data-v-303bb580]{flex-shrink:0;padding:6px}.image[data-v-303bb580]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-303bb580]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-303bb580]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-303bb580]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-303bb580]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-303bb580]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-303bb580]{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-303bb580]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-303bb580]{width:320px;height:320px}}[data-v-303bb580] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-303bb580] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-303bb580] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-a3976bdc]{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-a3976bdc]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-a3976bdc]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-a3976bdc]>.VPImage{margin-bottom:20px}.icon[data-v-a3976bdc]{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-a3976bdc]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-a3976bdc]{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-a3976bdc]{padding-top:8px}.link-text-value[data-v-a3976bdc]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-a3976bdc]{margin-left:6px}.VPFeatures[data-v-a6181336]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-a6181336]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-a6181336]{padding:0 64px}}.container[data-v-a6181336]{margin:0 auto;max-width:1152px}.items[data-v-a6181336]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-a6181336]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336]{width:50%}.item.grid-3[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-a6181336]{width:25%}}.container[data-v-82d4af08]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-82d4af08]{padding:0 48px}}@media (min-width: 960px){.container[data-v-82d4af08]{width:100%;padding:0 64px}}.vp-doc[data-v-82d4af08] .VPHomeSponsors,.vp-doc[data-v-82d4af08] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-82d4af08] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-82d4af08] .VPHomeSponsors a,.vp-doc[data-v-82d4af08] .VPTeamPage a{text-decoration:none}.VPHome[data-v-686f80a6]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-686f80a6]{margin-bottom:128px}}.VPContent[data-v-1428d186]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-1428d186]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-1428d186]{margin:0}@media (min-width: 960px){.VPContent[data-v-1428d186]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-1428d186]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-1428d186]{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-e315a0ad]{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-e315a0ad]{display:none}.VPFooter[data-v-e315a0ad] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-e315a0ad] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-e315a0ad]{padding:32px}}.container[data-v-e315a0ad]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e315a0ad],.copyright[data-v-e315a0ad]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-267dd0ed]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-267dd0ed]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-267dd0ed]{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-267dd0ed]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-267dd0ed]{color:var(--vp-c-text-1)}.icon[data-v-267dd0ed]{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-267dd0ed]{font-size:14px}.icon[data-v-267dd0ed]{font-size:16px}}.open>.icon[data-v-267dd0ed]{transform:rotate(90deg)}.items[data-v-267dd0ed]{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-267dd0ed]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-267dd0ed]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-267dd0ed]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-267dd0ed]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-267dd0ed]{transition:all .2s ease-out}.flyout-leave-active[data-v-267dd0ed]{transition:all .15s ease-in}.flyout-enter-from[data-v-267dd0ed],.flyout-leave-to[data-v-267dd0ed]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-a6f0e41e]{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-a6f0e41e]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-a6f0e41e]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-a6f0e41e]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-a6f0e41e]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-a6f0e41e]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-a6f0e41e]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-a6f0e41e]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-a6f0e41e]{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-a6f0e41e]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-a6f0e41e]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-a6f0e41e]{display:none}}.menu-icon[data-v-a6f0e41e]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-a6f0e41e]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-a6f0e41e]{padding:12px 32px 11px}}.VPSwitch[data-v-1d5665e3]{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-1d5665e3]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-1d5665e3]{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-1d5665e3]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-1d5665e3] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-1d5665e3] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-d1f28634]{opacity:1}.moon[data-v-d1f28634],.dark .sun[data-v-d1f28634]{opacity:0}.dark .moon[data-v-d1f28634]{opacity:1}.dark .VPSwitchAppearance[data-v-d1f28634] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-e6aabb21]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-e6aabb21]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-43f1e123]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-43f1e123]{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-43f1e123]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-43f1e123]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{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-e7ea1737]{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-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .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-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-b6c34ac9]{position:relative}.VPFlyout[data-v-b6c34ac9]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-b6c34ac9]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-b6c34ac9]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-b6c34ac9]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-b6c34ac9]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-b6c34ac9],.button[aria-expanded=true]+.menu[data-v-b6c34ac9]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-b6c34ac9]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-b6c34ac9]{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-b6c34ac9]{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-b6c34ac9]{margin-right:0;font-size:16px}.text-icon[data-v-b6c34ac9]{margin-left:4px;font-size:14px}.icon[data-v-b6c34ac9]{font-size:20px;transition:fill .25s}.menu[data-v-b6c34ac9]{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-eee4e7cb]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-eee4e7cb]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-eee4e7cb]>svg,.VPSocialLink[data-v-eee4e7cb]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-7bc22406]{display:flex;justify-content:center}.VPNavBarExtra[data-v-d0bd9dde]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-d0bd9dde]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-d0bd9dde]{display:none}}.trans-title[data-v-d0bd9dde]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-d0bd9dde],.item.social-links[data-v-d0bd9dde]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-d0bd9dde]{min-width:176px}.appearance-action[data-v-d0bd9dde]{margin-right:-2px}.social-links-list[data-v-d0bd9dde]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-9c663999]{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-9c663999],.VPNavBarMenuLink[data-v-9c663999]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-7f418b0f]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7f418b0f]{display:flex}}/*! @docsearch/css 3.6.0 | 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: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-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.title[data-v-ab179fa1]{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-ab179fa1]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-ab179fa1]{border-bottom-color:var(--vp-c-divider)}}[data-v-ab179fa1] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-88af2de4]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-88af2de4]{display:flex;align-items:center}}.title[data-v-88af2de4]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-ccf7ddec]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar[data-v-ccf7ddec]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-ccf7ddec]:not(.home){background-color:transparent}.VPNavBar[data-v-ccf7ddec]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-ccf7ddec]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-ccf7ddec]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-ccf7ddec]{padding:0}}.container[data-v-ccf7ddec]{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-ccf7ddec],.container>.content[data-v-ccf7ddec]{pointer-events:none}.container[data-v-ccf7ddec] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-ccf7ddec]{max-width:100%}}.title[data-v-ccf7ddec]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-ccf7ddec]{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-ccf7ddec]{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-ccf7ddec]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-ccf7ddec]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-ccf7ddec]{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-ccf7ddec]{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-ccf7ddec]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-ccf7ddec]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-ccf7ddec]{column-gap:.5rem}}.menu+.translations[data-v-ccf7ddec]:before,.menu+.appearance[data-v-ccf7ddec]:before,.menu+.social-links[data-v-ccf7ddec]:before,.translations+.appearance[data-v-ccf7ddec]:before,.appearance+.social-links[data-v-ccf7ddec]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-ccf7ddec]:before,.translations+.appearance[data-v-ccf7ddec]:before{margin-right:16px}.appearance+.social-links[data-v-ccf7ddec]:before{margin-left:16px}.social-links[data-v-ccf7ddec]{margin-right:-8px}.divider[data-v-ccf7ddec]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-ccf7ddec]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-ccf7ddec]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-ccf7ddec]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-ccf7ddec]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-ccf7ddec]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-ccf7ddec]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2d7af913]{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-2d7af913]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-7f31e1f6]{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-7f31e1f6]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-19976ae1]{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-19976ae1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-8133b170]{display:block}.title[data-v-8133b170]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-ff6087d4]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-ff6087d4]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-ff6087d4]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-ff6087d4]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-ff6087d4]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-ff6087d4]{transform:rotate(45deg)}.button[data-v-ff6087d4]{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-ff6087d4]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-ff6087d4]{transition:transform .25s}.group[data-v-ff6087d4]:first-child{padding-top:0}.group+.group[data-v-ff6087d4],.group+.item[data-v-ff6087d4]{padding-top:4px}.VPNavScreenTranslations[data-v-858fe1a4]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-858fe1a4]{height:auto}.title[data-v-858fe1a4]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-858fe1a4]{font-size:16px}.icon.lang[data-v-858fe1a4]{margin-right:8px}.icon.chevron[data-v-858fe1a4]{margin-left:4px}.list[data-v-858fe1a4]{padding:4px 0 0 24px}.link[data-v-858fe1a4]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-cc5739dd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);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 .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-cc5739dd],.VPNavScreen.fade-leave-active[data-v-cc5739dd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-cc5739dd],.VPNavScreen.fade-leave-active .container[data-v-cc5739dd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-cc5739dd],.VPNavScreen.fade-leave-to[data-v-cc5739dd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-cc5739dd],.VPNavScreen.fade-leave-to .container[data-v-cc5739dd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-cc5739dd]{display:none}}.container[data-v-cc5739dd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-cc5739dd],.menu+.appearance[data-v-cc5739dd],.translations+.appearance[data-v-cc5739dd]{margin-top:24px}.menu+.social-links[data-v-cc5739dd]{margin-top:16px}.appearance+.social-links[data-v-cc5739dd]{margin-top:16px}.VPNav[data-v-ae24b3ad]{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-ae24b3ad]{position:fixed}}.VPSidebarItem.level-0[data-v-b8d55f3b]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-b8d55f3b]{padding-bottom:10px}.item[data-v-b8d55f3b]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-b8d55f3b]{cursor:pointer}.indicator[data-v-b8d55f3b]{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-b8d55f3b],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-b8d55f3b],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-b8d55f3b],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-b8d55f3b]{background-color:var(--vp-c-brand-1)}.link[data-v-b8d55f3b]{display:flex;align-items:center;flex-grow:1}.text[data-v-b8d55f3b]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-b8d55f3b]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-b8d55f3b],.VPSidebarItem.level-2 .text[data-v-b8d55f3b],.VPSidebarItem.level-3 .text[data-v-b8d55f3b],.VPSidebarItem.level-4 .text[data-v-b8d55f3b],.VPSidebarItem.level-5 .text[data-v-b8d55f3b]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-b8d55f3b],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-b8d55f3b],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-b8d55f3b],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-b8d55f3b],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-b8d55f3b],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-b8d55f3b]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-1.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-2.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-3.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-4.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-5.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-b8d55f3b],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-b8d55f3b],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-b8d55f3b],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-b8d55f3b],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-b8d55f3b],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-b8d55f3b]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-b8d55f3b],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-b8d55f3b],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-b8d55f3b],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-b8d55f3b],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-b8d55f3b],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-b8d55f3b]{color:var(--vp-c-brand-1)}.caret[data-v-b8d55f3b]{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-b8d55f3b]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-b8d55f3b]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-b8d55f3b]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-b8d55f3b]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-b8d55f3b],.VPSidebarItem.level-2 .items[data-v-b8d55f3b],.VPSidebarItem.level-3 .items[data-v-b8d55f3b],.VPSidebarItem.level-4 .items[data-v-b8d55f3b],.VPSidebarItem.level-5 .items[data-v-b8d55f3b]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-b8d55f3b]{display:none}.VPSidebar[data-v-575e6a36]{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-575e6a36]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-575e6a36]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-575e6a36]{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-575e6a36]{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-575e6a36]{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-575e6a36]{outline:0}.group+.group[data-v-575e6a36]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-575e6a36]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-0f60ec36]{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-0f60ec36]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-0f60ec36]{top:14px;left:16px}}.Layout[data-v-5d98c3a5]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-3d121b4a]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-3d121b4a]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-3d121b4a]{margin:128px 0}}.VPHomeSponsors[data-v-3d121b4a]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-3d121b4a]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-3d121b4a]{padding:0 64px}}.container[data-v-3d121b4a]{margin:0 auto;max-width:1152px}.love[data-v-3d121b4a]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-3d121b4a]{display:inline-block}.message[data-v-3d121b4a]{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-3d121b4a]{padding-top:32px}.action[data-v-3d121b4a]{padding-top:40px;text-align:center}.VPTeamPage[data-v-7c57f839]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-7c57f839]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-7c57f839-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-7c57f839-s],.VPTeamMembers+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-7c57f839-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-7c57f839-s],.VPTeamMembers+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:96px}}.VPTeamMembers[data-v-7c57f839-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-7c57f839-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-7c57f839-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{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-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{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-b1a88750]{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-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-f3fa364a]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-f3fa364a]{padding:32px}.VPTeamMembersItem.small .data[data-v-f3fa364a]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-f3fa364a]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-f3fa364a]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-f3fa364a]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-f3fa364a]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-f3fa364a]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-f3fa364a]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-f3fa364a]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-f3fa364a]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-f3fa364a]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-f3fa364a]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-f3fa364a]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-f3fa364a]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-f3fa364a]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-f3fa364a]{text-align:center}.avatar[data-v-f3fa364a]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-f3fa364a]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-f3fa364a]{margin:0;font-weight:600}.affiliation[data-v-f3fa364a]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-f3fa364a]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-f3fa364a]:hover{color:var(--vp-c-brand-1)}.desc[data-v-f3fa364a]{margin:0 auto}.desc[data-v-f3fa364a] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-f3fa364a]{display:flex;justify-content:center;height:56px}.sp-link[data-v-f3fa364a]{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-f3fa364a]:hover,.sp .sp-link.link[data-v-f3fa364a]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-f3fa364a]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6cb0dbc4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6cb0dbc4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6cb0dbc4]{max-width:876px}.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6cb0dbc4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6cb0dbc4]{max-width:760px}.container[data-v-6cb0dbc4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-grad-1: linear-gradient(83.18deg, #EA9B57 0%, #CB513F 100%);--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, .08);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .08)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient(89.6222deg, rgb(240, 151, 39) .520833%, rgb(221, 80, 34) 100%);--vp-home-hero-image-filter: blur(40px)}: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: rgba(82, 82, 89, .32);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: rgba(37, 37, 41, 1);--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-custom-block-tip-border: var(--vp-c-warning-soft);--vp-custom-block-tip-text: var(--vp-c-brand-darker);--vp-custom-block-tip-bg: rgba(100, 108, 255, .08);--vp-custom-block-danger-border: var(--vp-c-danger-soft);--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-border: var(--vp-c-warning-soft);--vp-custom-block-info-border: var(--vp-c-note-1);--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-note-1);--tab-text-color: #000}.dark{--vp-custom-block-tip-text: var(--vp-c-brand-lightest);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);--vp-custom-block-danger-border: var(--vp-c-danger-soft);--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--tab-text-color: #fff}:root{--vp-c-brand-dimm: rgba(240, 151, 39, .08)}:root{--vp-c-brand: #ffaa00d5;--vp-c-brand-light: #ffd966bb;--vp-c-brand-lighter: #fff3e0;--vp-c-brand-dark: #cc8000;--vp-c-brand-darker: #996300}:root{--text-color-light: #333;--text-color-dark: #ccc}:root{--vp-button-brand-border: rgba(234, 155, 87, 1);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: rgba(234, 155, 87, 1);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-button-brand-bg)}.VPLocalSearchBox[data-v-43c4f204]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-43c4f204]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-43c4f204]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-43c4f204]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-43c4f204]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-43c4f204]{padding:0 8px}}.search-bar[data-v-43c4f204]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-43c4f204]{display:block;font-size:18px}.navigate-icon[data-v-43c4f204]{display:block;font-size:14px}.search-icon[data-v-43c4f204]{margin:8px}@media (max-width: 767px){.search-icon[data-v-43c4f204]{display:none}}.search-input[data-v-43c4f204]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-43c4f204]{padding:6px 4px}}.search-actions[data-v-43c4f204]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-43c4f204]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-43c4f204]{display:none}}.search-actions button[data-v-43c4f204]{padding:8px}.search-actions button[data-v-43c4f204]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-43c4f204]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-43c4f204]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-43c4f204]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-43c4f204]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-43c4f204]{display:none}}.search-keyboard-shortcuts kbd[data-v-43c4f204]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-43c4f204]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-43c4f204]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-43c4f204]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-43c4f204]{margin:8px}}.titles[data-v-43c4f204]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-43c4f204]{display:flex;align-items:center;gap:4px}.title.main[data-v-43c4f204]{font-weight:500}.title-icon[data-v-43c4f204]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-43c4f204]{opacity:.5}.result.selected[data-v-43c4f204]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-43c4f204]{position:relative}.excerpt[data-v-43c4f204]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-43c4f204]{opacity:1}.excerpt[data-v-43c4f204] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-43c4f204] mark,.excerpt[data-v-43c4f204] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-43c4f204] .vp-code-group .tabs{display:none}.excerpt[data-v-43c4f204] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-43c4f204]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-43c4f204]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-43c4f204],.result.selected .title-icon[data-v-43c4f204]{color:var(--vp-c-brand-1)!important}.no-results[data-v-43c4f204]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-43c4f204]{flex:none} diff --git a/assets/style.BpFbcDlw.css b/assets/style.BpFbcDlw.css new file mode 100644 index 0000000..e768fc3 --- /dev/null +++ b/assets/style.BpFbcDlw.css @@ -0,0 +1 @@ +@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/docs/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(/docs/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(/docs/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(/docs/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(/docs/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(/docs/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(/docs/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(/docs/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(/docs/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(/docs/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(/docs/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(/docs/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(/docs/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(/docs/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:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}: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: "Chinese Quotes", Inter, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}: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{display:inline-block;margin:auto 2px -2px}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 .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}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);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{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-c79a1216]{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-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}.NotFound[data-v-f87ff6e4]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-f87ff6e4]{padding:96px 32px 168px}}.code[data-v-f87ff6e4]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-f87ff6e4]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-f87ff6e4]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-f87ff6e4]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-f87ff6e4]{padding-top:20px}.link[data-v-f87ff6e4]{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-f87ff6e4]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-b933a997]{position:relative;z-index:1}.nested[data-v-b933a997]{padding-right:16px;padding-left:16px}.outline-link[data-v-b933a997]{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-b933a997]:hover,.outline-link.active[data-v-b933a997]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-b933a997]{padding-left:13px}.VPDocAsideOutline[data-v-935f8a84]{display:none}.VPDocAsideOutline.has-outline[data-v-935f8a84]{display:block}.content[data-v-935f8a84]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-935f8a84]{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-935f8a84]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-3f215769]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-3f215769]{flex-grow:1}.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-3f215769] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-3f215769] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-7e05ebdb]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-7e05ebdb]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-09de1c0f]{margin-top:64px}.edit-info[data-v-09de1c0f]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-09de1c0f]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-09de1c0f]{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-09de1c0f]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-09de1c0f]{margin-right:8px}.prev-next[data-v-09de1c0f]{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-09de1c0f]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-09de1c0f]{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-09de1c0f]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-09de1c0f]{margin-left:auto;text-align:right}.desc[data-v-09de1c0f]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-09de1c0f]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-39a288b8]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-39a288b8]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-39a288b8]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-39a288b8]{display:flex;justify-content:center}.VPDoc .aside[data-v-39a288b8]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-39a288b8]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-39a288b8]{max-width:1104px}}.container[data-v-39a288b8]{margin:0 auto;width:100%}.aside[data-v-39a288b8]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-39a288b8]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-39a288b8]{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-39a288b8]::-webkit-scrollbar{display:none}.aside-curtain[data-v-39a288b8]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-39a288b8]{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-39a288b8]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-39a288b8]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-39a288b8]{order:1;margin:0;min-width:640px}}.content-container[data-v-39a288b8]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-39a288b8]{max-width:688px}.VPButton[data-v-cad61b99]{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-cad61b99]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-cad61b99]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-cad61b99]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-cad61b99]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-cad61b99]: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-cad61b99]: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-cad61b99]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-cad61b99]: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-cad61b99]: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-cad61b99]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-cad61b99]: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-cad61b99]: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-8426fc1a]{display:none}.dark .VPImage.light[data-v-8426fc1a]{display:none}.VPHero[data-v-303bb580]{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-303bb580]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-303bb580]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-303bb580]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-303bb580]{flex-direction:row}}.main[data-v-303bb580]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-303bb580]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-303bb580]{text-align:left}}@media (min-width: 960px){.main[data-v-303bb580]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-303bb580]{max-width:592px}}.name[data-v-303bb580],.text[data-v-303bb580]{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-303bb580],.VPHero.has-image .text[data-v-303bb580]{margin:0 auto}.name[data-v-303bb580]{color:var(--vp-home-hero-name-color)}.clip[data-v-303bb580]{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-303bb580],.text[data-v-303bb580]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-303bb580],.text[data-v-303bb580]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-303bb580],.VPHero.has-image .text[data-v-303bb580]{margin:0}}.tagline[data-v-303bb580]{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-303bb580]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-303bb580]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-303bb580]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-303bb580]{margin:0}}.actions[data-v-303bb580]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-303bb580]{justify-content:center}@media (min-width: 640px){.actions[data-v-303bb580]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-303bb580]{justify-content:flex-start}}.action[data-v-303bb580]{flex-shrink:0;padding:6px}.image[data-v-303bb580]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-303bb580]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-303bb580]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-303bb580]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-303bb580]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-303bb580]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-303bb580]{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-303bb580]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-303bb580]{width:320px;height:320px}}[data-v-303bb580] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-303bb580] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-303bb580] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-a3976bdc]{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-a3976bdc]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-a3976bdc]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-a3976bdc]>.VPImage{margin-bottom:20px}.icon[data-v-a3976bdc]{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-a3976bdc]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-a3976bdc]{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-a3976bdc]{padding-top:8px}.link-text-value[data-v-a3976bdc]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-a3976bdc]{margin-left:6px}.VPFeatures[data-v-a6181336]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-a6181336]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-a6181336]{padding:0 64px}}.container[data-v-a6181336]{margin:0 auto;max-width:1152px}.items[data-v-a6181336]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-a6181336]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-a6181336],.item.grid-4[data-v-a6181336]{width:50%}.item.grid-3[data-v-a6181336],.item.grid-6[data-v-a6181336]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-a6181336]{width:25%}}.container[data-v-82d4af08]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-82d4af08]{padding:0 48px}}@media (min-width: 960px){.container[data-v-82d4af08]{width:100%;padding:0 64px}}.vp-doc[data-v-82d4af08] .VPHomeSponsors,.vp-doc[data-v-82d4af08] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-82d4af08] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-82d4af08] .VPHomeSponsors a,.vp-doc[data-v-82d4af08] .VPTeamPage a{text-decoration:none}.VPHome[data-v-686f80a6]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-686f80a6]{margin-bottom:128px}}.VPContent[data-v-1428d186]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-1428d186]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-1428d186]{margin:0}@media (min-width: 960px){.VPContent[data-v-1428d186]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-1428d186]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-1428d186]{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-e315a0ad]{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-e315a0ad]{display:none}.VPFooter[data-v-e315a0ad] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-e315a0ad] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-e315a0ad]{padding:32px}}.container[data-v-e315a0ad]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e315a0ad],.copyright[data-v-e315a0ad]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-267dd0ed]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-267dd0ed]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-267dd0ed]{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-267dd0ed]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-267dd0ed]{color:var(--vp-c-text-1)}.icon[data-v-267dd0ed]{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-267dd0ed]{font-size:14px}.icon[data-v-267dd0ed]{font-size:16px}}.open>.icon[data-v-267dd0ed]{transform:rotate(90deg)}.items[data-v-267dd0ed]{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-267dd0ed]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-267dd0ed]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-267dd0ed]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-267dd0ed]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-267dd0ed]{transition:all .2s ease-out}.flyout-leave-active[data-v-267dd0ed]{transition:all .15s ease-in}.flyout-enter-from[data-v-267dd0ed],.flyout-leave-to[data-v-267dd0ed]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-a6f0e41e]{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-a6f0e41e]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-a6f0e41e]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-a6f0e41e]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-a6f0e41e]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-a6f0e41e]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-a6f0e41e]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-a6f0e41e]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-a6f0e41e]{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-a6f0e41e]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-a6f0e41e]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-a6f0e41e]{display:none}}.menu-icon[data-v-a6f0e41e]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-a6f0e41e]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-a6f0e41e]{padding:12px 32px 11px}}.VPSwitch[data-v-1d5665e3]{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-1d5665e3]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-1d5665e3]{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-1d5665e3]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-1d5665e3] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-1d5665e3] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-d1f28634]{opacity:1}.moon[data-v-d1f28634],.dark .sun[data-v-d1f28634]{opacity:0}.dark .moon[data-v-d1f28634]{opacity:1}.dark .VPSwitchAppearance[data-v-d1f28634] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-e6aabb21]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-e6aabb21]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-43f1e123]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-43f1e123]{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-43f1e123]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-43f1e123]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-69e747b5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-69e747b5]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-69e747b5]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-69e747b5]{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-e7ea1737]{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-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .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-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-b6c34ac9]{position:relative}.VPFlyout[data-v-b6c34ac9]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-b6c34ac9]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-b6c34ac9]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-b6c34ac9]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-b6c34ac9]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-b6c34ac9],.button[aria-expanded=true]+.menu[data-v-b6c34ac9]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-b6c34ac9]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-b6c34ac9]{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-b6c34ac9]{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-b6c34ac9]{margin-right:0;font-size:16px}.text-icon[data-v-b6c34ac9]{margin-left:4px;font-size:14px}.icon[data-v-b6c34ac9]{font-size:20px;transition:fill .25s}.menu[data-v-b6c34ac9]{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-eee4e7cb]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-eee4e7cb]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-eee4e7cb]>svg,.VPSocialLink[data-v-eee4e7cb]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-7bc22406]{display:flex;justify-content:center}.VPNavBarExtra[data-v-d0bd9dde]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-d0bd9dde]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-d0bd9dde]{display:none}}.trans-title[data-v-d0bd9dde]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-d0bd9dde],.item.social-links[data-v-d0bd9dde]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-d0bd9dde]{min-width:176px}.appearance-action[data-v-d0bd9dde]{margin-right:-2px}.social-links-list[data-v-d0bd9dde]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-9c663999]{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-9c663999],.VPNavBarMenuLink[data-v-9c663999]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-7f418b0f]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7f418b0f]{display:flex}}/*! @docsearch/css 3.6.0 | 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: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-0394ad82]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-0394ad82]{display:flex;align-items:center}}.title[data-v-ab179fa1]{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-ab179fa1]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-ab179fa1]{border-bottom-color:var(--vp-c-divider)}}[data-v-ab179fa1] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-88af2de4]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-88af2de4]{display:flex;align-items:center}}.title[data-v-88af2de4]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-ccf7ddec]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .5s}.VPNavBar[data-v-ccf7ddec]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-ccf7ddec]:not(.home){background-color:transparent}.VPNavBar[data-v-ccf7ddec]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-ccf7ddec]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-ccf7ddec]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-ccf7ddec]{padding:0}}.container[data-v-ccf7ddec]{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-ccf7ddec],.container>.content[data-v-ccf7ddec]{pointer-events:none}.container[data-v-ccf7ddec] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-ccf7ddec]{max-width:100%}}.title[data-v-ccf7ddec]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-ccf7ddec]{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-ccf7ddec]{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-ccf7ddec]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-ccf7ddec]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-ccf7ddec]{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-ccf7ddec]{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-ccf7ddec]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-ccf7ddec]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-ccf7ddec]{column-gap:.5rem}}.menu+.translations[data-v-ccf7ddec]:before,.menu+.appearance[data-v-ccf7ddec]:before,.menu+.social-links[data-v-ccf7ddec]:before,.translations+.appearance[data-v-ccf7ddec]:before,.appearance+.social-links[data-v-ccf7ddec]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-ccf7ddec]:before,.translations+.appearance[data-v-ccf7ddec]:before{margin-right:16px}.appearance+.social-links[data-v-ccf7ddec]:before{margin-left:16px}.social-links[data-v-ccf7ddec]{margin-right:-8px}.divider[data-v-ccf7ddec]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-ccf7ddec]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-ccf7ddec]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-ccf7ddec]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-ccf7ddec]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-ccf7ddec]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-ccf7ddec]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-2d7af913]{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-2d7af913]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-7f31e1f6]{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-7f31e1f6]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-19976ae1]{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-19976ae1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-8133b170]{display:block}.title[data-v-8133b170]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-ff6087d4]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-ff6087d4]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-ff6087d4]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-ff6087d4]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-ff6087d4]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-ff6087d4]{transform:rotate(45deg)}.button[data-v-ff6087d4]{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-ff6087d4]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-ff6087d4]{transition:transform .25s}.group[data-v-ff6087d4]:first-child{padding-top:0}.group+.group[data-v-ff6087d4],.group+.item[data-v-ff6087d4]{padding-top:4px}.VPNavScreenTranslations[data-v-858fe1a4]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-858fe1a4]{height:auto}.title[data-v-858fe1a4]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-858fe1a4]{font-size:16px}.icon.lang[data-v-858fe1a4]{margin-right:8px}.icon.chevron[data-v-858fe1a4]{margin-left:4px}.list[data-v-858fe1a4]{padding:4px 0 0 24px}.link[data-v-858fe1a4]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-cc5739dd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);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 .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-cc5739dd],.VPNavScreen.fade-leave-active[data-v-cc5739dd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-cc5739dd],.VPNavScreen.fade-leave-active .container[data-v-cc5739dd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-cc5739dd],.VPNavScreen.fade-leave-to[data-v-cc5739dd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-cc5739dd],.VPNavScreen.fade-leave-to .container[data-v-cc5739dd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-cc5739dd]{display:none}}.container[data-v-cc5739dd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-cc5739dd],.menu+.appearance[data-v-cc5739dd],.translations+.appearance[data-v-cc5739dd]{margin-top:24px}.menu+.social-links[data-v-cc5739dd]{margin-top:16px}.appearance+.social-links[data-v-cc5739dd]{margin-top:16px}.VPNav[data-v-ae24b3ad]{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-ae24b3ad]{position:fixed}}.VPSidebarItem.level-0[data-v-b8d55f3b]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-b8d55f3b]{padding-bottom:10px}.item[data-v-b8d55f3b]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-b8d55f3b]{cursor:pointer}.indicator[data-v-b8d55f3b]{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-b8d55f3b],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-b8d55f3b],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-b8d55f3b],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-b8d55f3b]{background-color:var(--vp-c-brand-1)}.link[data-v-b8d55f3b]{display:flex;align-items:center;flex-grow:1}.text[data-v-b8d55f3b]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-b8d55f3b]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-b8d55f3b],.VPSidebarItem.level-2 .text[data-v-b8d55f3b],.VPSidebarItem.level-3 .text[data-v-b8d55f3b],.VPSidebarItem.level-4 .text[data-v-b8d55f3b],.VPSidebarItem.level-5 .text[data-v-b8d55f3b]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-b8d55f3b],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-b8d55f3b],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-b8d55f3b],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-b8d55f3b],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-b8d55f3b],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-b8d55f3b]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-1.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-2.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-3.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-4.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-5.has-active>.item>.text[data-v-b8d55f3b],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-b8d55f3b],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-b8d55f3b],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-b8d55f3b],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-b8d55f3b],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-b8d55f3b],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-b8d55f3b]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-b8d55f3b],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-b8d55f3b],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-b8d55f3b],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-b8d55f3b],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-b8d55f3b],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-b8d55f3b]{color:var(--vp-c-brand-1)}.caret[data-v-b8d55f3b]{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-b8d55f3b]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-b8d55f3b]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-b8d55f3b]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-b8d55f3b]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-b8d55f3b],.VPSidebarItem.level-2 .items[data-v-b8d55f3b],.VPSidebarItem.level-3 .items[data-v-b8d55f3b],.VPSidebarItem.level-4 .items[data-v-b8d55f3b],.VPSidebarItem.level-5 .items[data-v-b8d55f3b]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-b8d55f3b]{display:none}.VPSidebar[data-v-575e6a36]{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-575e6a36]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-575e6a36]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-575e6a36]{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-575e6a36]{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-575e6a36]{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-575e6a36]{outline:0}.group+.group[data-v-575e6a36]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-575e6a36]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-0f60ec36]{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-0f60ec36]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-0f60ec36]{top:14px;left:16px}}.Layout[data-v-5d98c3a5]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-3d121b4a]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-3d121b4a]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-3d121b4a]{margin:128px 0}}.VPHomeSponsors[data-v-3d121b4a]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-3d121b4a]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-3d121b4a]{padding:0 64px}}.container[data-v-3d121b4a]{margin:0 auto;max-width:1152px}.love[data-v-3d121b4a]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-3d121b4a]{display:inline-block}.message[data-v-3d121b4a]{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-3d121b4a]{padding-top:32px}.action[data-v-3d121b4a]{padding-top:40px;text-align:center}.VPTeamPage[data-v-7c57f839]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-7c57f839]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-7c57f839-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-7c57f839-s],.VPTeamMembers+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-7c57f839-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-7c57f839-s],.VPTeamMembers+.VPTeamPageSection[data-v-7c57f839-s]{margin-top:96px}}.VPTeamMembers[data-v-7c57f839-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-7c57f839-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-7c57f839-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{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-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{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-b1a88750]{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-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-f3fa364a]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-f3fa364a]{padding:32px}.VPTeamMembersItem.small .data[data-v-f3fa364a]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-f3fa364a]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-f3fa364a]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-f3fa364a]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-f3fa364a]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-f3fa364a]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-f3fa364a]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-f3fa364a]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-f3fa364a]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-f3fa364a]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-f3fa364a]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-f3fa364a]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-f3fa364a]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-f3fa364a]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-f3fa364a]{text-align:center}.avatar[data-v-f3fa364a]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-f3fa364a]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-f3fa364a]{margin:0;font-weight:600}.affiliation[data-v-f3fa364a]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-f3fa364a]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-f3fa364a]:hover{color:var(--vp-c-brand-1)}.desc[data-v-f3fa364a]{margin:0 auto}.desc[data-v-f3fa364a] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-f3fa364a]{display:flex;justify-content:center;height:56px}.sp-link[data-v-f3fa364a]{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-f3fa364a]:hover,.sp .sp-link.link[data-v-f3fa364a]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-f3fa364a]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6cb0dbc4]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6cb0dbc4]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6cb0dbc4]{max-width:876px}.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6cb0dbc4]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6cb0dbc4]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6cb0dbc4]{max-width:760px}.container[data-v-6cb0dbc4]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-grad-1: linear-gradient(83.18deg, #EA9B57 0%, #CB513F 100%);--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, .08);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .08)}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient(89.6222deg, rgb(240, 151, 39) .520833%, rgb(221, 80, 34) 100%);--vp-home-hero-image-filter: blur(40px)}: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: rgba(82, 82, 89, .32);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: rgba(37, 37, 41, 1);--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-custom-block-tip-border: var(--vp-c-warning-soft);--vp-custom-block-tip-text: var(--vp-c-brand-darker);--vp-custom-block-tip-bg: rgba(100, 108, 255, .08);--vp-custom-block-danger-border: var(--vp-c-danger-soft);--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-border: var(--vp-c-warning-soft);--vp-custom-block-info-border: var(--vp-c-note-1);--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-note-1);--tab-text-color: #000}.dark{--vp-custom-block-tip-text: var(--vp-c-brand-lightest);--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);--vp-custom-block-danger-border: var(--vp-c-danger-soft);--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--tab-text-color: #fff}:root{--vp-c-brand-dimm: rgba(240, 151, 39, .08)}:root{--vp-c-brand: #ffaa00d5;--vp-c-brand-light: #ffd966bb;--vp-c-brand-lighter: #fff3e0;--vp-c-brand-dark: #cc8000;--vp-c-brand-darker: #996300}:root{--text-color-light: #333;--text-color-dark: #ccc}:root{--vp-button-brand-border: rgba(234, 155, 87, 1);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: rgba(234, 155, 87, 1);--vp-button-brand-hover-border: var(--vp-c-brand-light);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-light);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-button-brand-bg)}.VPLocalSearchBox[data-v-43c4f204]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-43c4f204]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-43c4f204]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-43c4f204]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-43c4f204]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-43c4f204]{padding:0 8px}}.search-bar[data-v-43c4f204]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-43c4f204]{display:block;font-size:18px}.navigate-icon[data-v-43c4f204]{display:block;font-size:14px}.search-icon[data-v-43c4f204]{margin:8px}@media (max-width: 767px){.search-icon[data-v-43c4f204]{display:none}}.search-input[data-v-43c4f204]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-43c4f204]{padding:6px 4px}}.search-actions[data-v-43c4f204]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-43c4f204]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-43c4f204]{display:none}}.search-actions button[data-v-43c4f204]{padding:8px}.search-actions button[data-v-43c4f204]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-43c4f204]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-43c4f204]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-43c4f204]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-43c4f204]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-43c4f204]{display:none}}.search-keyboard-shortcuts kbd[data-v-43c4f204]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-43c4f204]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-43c4f204]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-43c4f204]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-43c4f204]{margin:8px}}.titles[data-v-43c4f204]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-43c4f204]{display:flex;align-items:center;gap:4px}.title.main[data-v-43c4f204]{font-weight:500}.title-icon[data-v-43c4f204]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-43c4f204]{opacity:.5}.result.selected[data-v-43c4f204]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-43c4f204]{position:relative}.excerpt[data-v-43c4f204]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-43c4f204]{opacity:1}.excerpt[data-v-43c4f204] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-43c4f204] mark,.excerpt[data-v-43c4f204] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-43c4f204] .vp-code-group .tabs{display:none}.excerpt[data-v-43c4f204] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-43c4f204]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-43c4f204]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-43c4f204],.result.selected .title-icon[data-v-43c4f204]{color:var(--vp-c-brand-1)!important}.no-results[data-v-43c4f204]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-43c4f204]{flex:none} diff --git a/astria-evm/overview.html b/astria-evm/overview.html index a663c8e..2191b4f 100644 --- a/astria-evm/overview.html +++ b/astria-evm/overview.html @@ -6,19 +6,19 @@ Astria EVM | Astria - + - - - - - + + + + + -
Skip to content

Astria EVM

Network Information

PropertyValue
Network Namedusk-3
RPC URLhttps://rpc.evm.dusk-3.devnet.astria.org
Chain ID912559
Currency SymbolRIA
Dorahttps://www.ondora.xyz/network/astria-devnet
Faucethttps://faucet.evm.dusk-3.devnet.astria.org
Block Scouthttps://explorer.evm.dusk-3.devnet.astria.org/

Adding to Metamask

Follow Metamask's official documentation to manually add a custom network.

Your settings should look like the image below

Metamask

Using Cast

Set your ETH_RPC_URL:

bash
export ETH_RPC_URL=https://rpc-archive.evm.dusk-3.devnet.astria.org/
bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key <PRIVATE-KEY>
bash
cast balance $REC_ADDR
- +
Skip to content

Astria EVM

Network Information

PropertyValue
Network Namedusk-3
RPC URLhttps://rpc.evm.dusk-3.devnet.astria.org
Chain ID912559
Currency SymbolRIA
Dorahttps://www.ondora.xyz/network/astria-devnet
Faucethttps://faucet.evm.dusk-3.devnet.astria.org
Block Scouthttps://explorer.evm.dusk-3.devnet.astria.org/

Adding to Metamask

Follow Metamask's official documentation to manually add a custom network.

Your settings should look like the image below

Metamask

Using Cast

Set your ETH_RPC_URL:

bash
export ETH_RPC_URL=https://rpc-archive.evm.dusk-3.devnet.astria.org/
bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key <PRIVATE-KEY>
bash
cast balance $REC_ADDR
+ \ No newline at end of file diff --git a/cloud-rollup/digital-ocean.html b/cloud-rollup/digital-ocean.html index c076527..7267835 100644 --- a/cloud-rollup/digital-ocean.html +++ b/cloud-rollup/digital-ocean.html @@ -6,26 +6,26 @@ Digital Ocean | Astria - + - - - - - + + + + + -
Skip to content

Digital Ocean

This guide will walk you through deploying a rollup full node on a Kubernetes cluster on Digital Ocean which uses the Astria shared sequencer network.

Local Dependencies

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+    
Skip to content

Digital Ocean

This guide will walk you through deploying a rollup full node on a Kubernetes cluster on Digital Ocean which uses the Astria shared sequencer network.

Local Dependencies

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-unknown-linux-gnu.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
-mv astria-cli /usr/local/bin/
bash
cargo install astria-cli --git=https://github.com/astriaorg/astria --tag=cli-v0.3.1 --locked

You'll also need to install the following tools:

WARNING

There is a bug in the latest Docker desktop release for MacOS
Please install the following release: https://docs.docker.com/desktop/release-notes/#4252
For more details see here

Dusknet Endpoints

The endpoints for the remote shared sequencer are:

NAMEHOSTSADDRESS
Sequencer RPCrpc.sequencer.dusk-3.devnet.astria.org34.111.73.187
Sequencer Faucetfaucet.sequencer.dusk-3.devnet.astria.org34.36.8.102

Create a New Cluster

This guide assumes you're using Digital Ocean's Kubernetes (K8s) service.

Install and configure doctl: https://docs.digitalocean.com/reference/doctl/how-to/install/

Follow the instructions in Digital Ocean's Quick Start Guide to create a new cluster in the region of your choosing.

TIP

The celestia pod has a minimum requirement of 1vCPU and 4GB RAM and will not start if the cluster has no nodes that meet those requirements. You will need a node with >1vCPU and >4GB RAM.

Configure kubectl with doctl

Once your k8s cluster is created configure kubectl.

doctl screenshot

Deploy Ingress Nginx Controller

We use the Nginx Ingress Controller, documentation can be found here

To install it run:

bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/do/deploy.yaml

This will create several Kubernetes (k8s) resources and a Digital Ocean loadbalancer.

Verify Loadbalancer with external IP

You should see a new loadbalancer being created in the Digital Ocean console: https://cloud.digitalocean.com/networking/load_balancers

You can also check that your Digital Ocean load balancer was created with:

bash
kubectl get svc -n ingress-nginx

It may take a few minutes for the EXTERNAL-IP field to be populated, you should eventually see something like this:

bash
NAME                                 TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                      AGE
+mv astria-cli /usr/local/bin/
bash
cargo install astria-cli --git=https://github.com/astriaorg/astria --tag=cli-v0.3.1 --locked

You'll also need to install the following tools:

WARNING

There is a bug in the latest Docker desktop release for MacOS
Please install the following release: https://docs.docker.com/desktop/release-notes/#4252
For more details see here

Dusknet Endpoints

The endpoints for the remote shared sequencer are:

NAMEHOSTSADDRESS
Sequencer RPCrpc.sequencer.dusk-3.devnet.astria.org34.111.73.187
Sequencer Faucetfaucet.sequencer.dusk-3.devnet.astria.org34.36.8.102

Create a New Cluster

This guide assumes you're using Digital Ocean's Kubernetes (K8s) service.

Install and configure doctl: https://docs.digitalocean.com/reference/doctl/how-to/install/

Follow the instructions in Digital Ocean's Quick Start Guide to create a new cluster in the region of your choosing.

TIP

The celestia pod has a minimum requirement of 1vCPU and 4GB RAM and will not start if the cluster has no nodes that meet those requirements. You will need a node with >1vCPU and >4GB RAM.

Configure kubectl with doctl

Once your k8s cluster is created configure kubectl.

doctl screenshot

Deploy Ingress Nginx Controller

We use the Nginx Ingress Controller, documentation can be found here

To install it run:

bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.2/deploy/static/provider/do/deploy.yaml

This will create several Kubernetes (k8s) resources and a Digital Ocean loadbalancer.

Verify Loadbalancer with external IP

You should see a new loadbalancer being created in the Digital Ocean console: https://cloud.digitalocean.com/networking/load_balancers

You can also check that your Digital Ocean load balancer was created with:

bash
kubectl get svc -n ingress-nginx

It may take a few minutes for the EXTERNAL-IP field to be populated, you should eventually see something like this:

bash
NAME                                 TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                      AGE
 ingress-nginx-controller             LoadBalancer   10.245.63.28    161.35.240.50   80:32656/TCP,443:30158/TCP   44h
-ingress-nginx-controller-admission   ClusterIP      10.245.106.99   <none>          443/TCP                      44h

Create an A Record

TIP

You must configure a DNS record because our ingress configuration uses name based virtual routing.

More info can be found here

How you create an A record will depend on where you manage your domain.

An example for Google domains can be seen here: https://support.google.com/a/answer/2579934?hl=en

Create a wildcard record * pointing to the EXTERNAL-IP of your ingress-nginx-controller:

a record screenshot

Create your Rollup Genesis Account(s)

DANGER

NEVER use a private key you use on a live network.

Specify the accounts which will be funded at the genesis block of your EVM rollup.

You can create an account using:

bash
cast w new
bash
Successfully created new keypair.
+ingress-nginx-controller-admission   ClusterIP      10.245.106.99   <none>          443/TCP                      44h

Create an A Record

TIP

You must configure a DNS record because our ingress configuration uses name based virtual routing.

More info can be found here

How you create an A record will depend on where you manage your domain.

An example for Google domains can be seen here: https://support.google.com/a/answer/2579934?hl=en

Create a wildcard record * pointing to the EXTERNAL-IP of your ingress-nginx-controller:

a record screenshot

Create your Rollup Genesis Account(s)

DANGER

NEVER use a private key you use on a live network.

Specify the accounts which will be funded at the genesis block of your EVM rollup.

You can create an account using:

bash
cast w new
bash
Successfully created new keypair.
 Address:     0xfFe9...5f8b # <GENESIS_ADDRESS>
 Private key: 0x332e...a8fb # <GENESIS_PRIVATE_KEY>

Export the genesis private key, this will be used by the faucet included with the rollup:

bash
export ROLLUP_FAUCET_PRIV_KEY=<GENESIS_PRIVATE_KEY>

Export the genesis address alongside with your desired initial balance in Wei.
We recommend using a value of 100000000000000000000 or larger:

bash
export ROLLUP_GENESIS_ACCOUNTS=<GENESIS_ADDRESS>:<BALANCE>

You can specify multiple accounts to be funded at genesis as comma deliminated tuples of <ADDRESS>:<BALANCE>

bash
export ROLLUP_GENESIS_ACCOUNTS=<ADDRESS_1>:<BALANCE_1>,<ADDRESS_2>:<BALANCE_2>

Create Rollup Config

Create the configuration manifest for your rollup.

Replace the tags in the commands and env vars below, as follows:

Var NameVar TypeDescription
<YOUR_ROLLUP_NAME>StringThe name of your rollup. This must be alphanumeric, - is allowed, this will be included in URLs. Must not be more than 21 characters.
<YOUR_NETWORK_ID>u64The id of your network. Pick a > 6 digit number (eg. 123456)
<YOUR_HOSTNAME>StringThe chosen hostname for your network (eg. astria.org)

You can use environment variables to set the configuration for the rollup config creation. Replace all the <> tags with their corresponding values.

bash
export ROLLUP_NAME=<YOUR_ROLLUP_NAME>
 export ROLLUP_NETWORK_ID=<YOUR_NETWORK_ID>
@@ -54,15 +54,15 @@
 Private Key: "5562...1622" # <SEQUENCER_ACCOUNT_PRIV_KEY>
 Public Key:  "ec20...f613" # 
 Address:     "8a2f...5f68" # <SEQUENCER_ACCOUNT_ADDRESS>

Export your sequencer private key and address as environment variables:

bash
export SEQUENCER_PRIV_KEY=5562...1622
-export SEQUENCER_ACCOUNT_ADDRESS=8a2f...5f68

Fund your Sequencer Account

Navigate to https://faucet.sequencer.dusk-3.devnet.astria.org/ to view the sequencer faucet.

Enter your <SEQUENCER_ACCOUNT_ADDRESS> into the text box to send funds to your account:

Sequencer Faucet

Verify your account received the funds

bash
astria-cli sequencer account balance $SEQUENCER_ACCOUNT_ADDRESS

Deploy the Rollup Node

Use the astria-cli to deploy the rollup node

bash
astria-cli rollup deployment create \
+export SEQUENCER_ACCOUNT_ADDRESS=8a2f...5f68

Fund your Sequencer Account

Navigate to https://faucet.sequencer.dusk-3.devnet.astria.org/ to view the sequencer faucet.

Enter your <SEQUENCER_ACCOUNT_ADDRESS> into the text box to send funds to your account:

Sequencer Faucet

Verify your account received the funds

bash
astria-cli sequencer account balance $SEQUENCER_ACCOUNT_ADDRESS

Deploy the Rollup Node

Use the astria-cli to deploy the rollup node

bash
astria-cli rollup deployment create \
   --config $ROLLUP_CONF_FILE \
   --faucet-private-key $ROLLUP_FAUCET_PRIV_KEY \
   --sequencer-private-key $SEQUENCER_PRIV_KEY

Watch for rollup startup

You can watch for the Kubernetes pods of the rollup to start with:

bash
kubectl get pods -n astria-dev-cluster -w
bash
NAME                                               READY   STATUS    RESTARTS      AGE
 <YOUR_ROLLUP_NAME>-blockscout-647745c66d-vz4ks     6/6     Running   1 (56s ago)   72s
 <YOUR_ROLLUP_NAME>-celestia-node-light-mocha-4-0   2/2     Running   1 (56s ago)   72s
 <YOUR_ROLLUP_NAME>-faucet-68667bd895-pwqmz         1/1     Running   0             72s
-<YOUR_ROLLUP_NAME>-geth-755cb8dd97-k5xp8           3/3     Running   0             72s

Your Rollup Endpoints

Your rollup will automatically be configured with several public endpoints using the DNS you configured:

UtilityURL
Block Explorerhttp://blockscout.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/
Faucethttp://faucet.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/
RPChttp://executor.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/

Interact with your Rollup

bash
export ETH_RPC_URL=http://executor.$ROLLUP_NAME.$ROLLUP_HOSTNAME/
bash
cast block 0

Use an address of your choice.

bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key $ROLLUP_FAUCET_PRIV_KEY
bash
cast balance $REC_ADDR
- +<YOUR_ROLLUP_NAME>-geth-755cb8dd97-k5xp8 3/3 Running 0 72s

Your Rollup Endpoints

Your rollup will automatically be configured with several public endpoints using the DNS you configured:

UtilityURL
Block Explorerhttp://blockscout.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/
Faucethttp://faucet.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/
RPChttp://executor.<YOUR_ROLLUP_NAME>.<YOUR_HOSTNAME>/

Interact with your Rollup

bash
export ETH_RPC_URL=http://executor.$ROLLUP_NAME.$ROLLUP_HOSTNAME/
bash
cast block 0

Use an address of your choice.

bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key $ROLLUP_FAUCET_PRIV_KEY
bash
cast balance $REC_ADDR
+ \ No newline at end of file diff --git a/community/1-overview.html b/community/1-overview.html index 56a819c..617f6f5 100644 --- a/community/1-overview.html +++ b/community/1-overview.html @@ -6,19 +6,19 @@ Community overview | Astria - + - - - - - + + + + + -
Skip to content

Community overview

This section will highlight all the different resources and activities for the Astria community.

- +
Skip to content

Community overview

This section will highlight all the different resources and activities for the Astria community.

+ \ No newline at end of file diff --git a/components/_astria-cli-install.html b/components/_astria-cli-install.html index f26e312..fc05c14 100644 --- a/components/_astria-cli-install.html +++ b/components/_astria-cli-install.html @@ -6,25 +6,25 @@ Astria - + - - - - - + + + + + -
Skip to content

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+    
Skip to content

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-unknown-linux-gnu.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
-mv astria-cli /usr/local/bin/
bash
cargo install astria-cli --git=https://github.com/astriaorg/astria --tag=cli-v0.3.1 --locked

You'll also need to install the following tools:

WARNING

There is a bug in the latest Docker desktop release for MacOS
Please install the following release: https://docs.docker.com/desktop/release-notes/#4252
For more details see here

- +mv astria-cli /usr/local/bin/
bash
cargo install astria-cli --git=https://github.com/astriaorg/astria --tag=cli-v0.3.1 --locked

You'll also need to install the following tools:

WARNING

There is a bug in the latest Docker desktop release for MacOS
Please install the following release: https://docs.docker.com/desktop/release-notes/#4252
For more details see here

+ \ No newline at end of file diff --git a/components/_cli-cloud.html b/components/_cli-cloud.html index 6045699..000c0f9 100644 --- a/components/_cli-cloud.html +++ b/components/_cli-cloud.html @@ -6,25 +6,25 @@ Astria - + - - - - - + + + + + -
Skip to content

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+    
Skip to content

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-unknown-linux-gnu.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
-mv astria-cli /usr/local/bin/
bash
cargo install astria-cli --git=https://github.com/astriaorg/astria --tag=cli-v0.3.1 --locked

You'll also need to install the following tools:

WARNING

There is a bug in the latest Docker desktop release for MacOS
Please install the following release: https://docs.docker.com/desktop/release-notes/#4252
For more details see here

- +mv astria-cli /usr/local/bin/
bash
cargo install astria-cli --git=https://github.com/astriaorg/astria --tag=cli-v0.3.1 --locked

You'll also need to install the following tools:

WARNING

There is a bug in the latest Docker desktop release for MacOS
Please install the following release: https://docs.docker.com/desktop/release-notes/#4252
For more details see here

+ \ No newline at end of file diff --git a/components/_cli-local.html b/components/_cli-local.html index f355aa3..1e30c8a 100644 --- a/components/_cli-local.html +++ b/components/_cli-local.html @@ -6,25 +6,25 @@ Astria - + - - - - - + + + + + -
Skip to content

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+    
Skip to content

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-unknown-linux-gnu.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
-mv astria-cli /usr/local/bin/
bash
cargo install astria-cli --git=https://github.com/astriaorg/astria --tag=cli-v0.3.1 --locked

You'll also need to install the following tools:

WARNING

There is a bug in the latest Docker desktop release for MacOS
Please install the following release: https://docs.docker.com/desktop/release-notes/#4252
For more details see here

- +mv astria-cli /usr/local/bin/
bash
cargo install astria-cli --git=https://github.com/astriaorg/astria --tag=cli-v0.3.1 --locked

You'll also need to install the following tools:

WARNING

There is a bug in the latest Docker desktop release for MacOS
Please install the following release: https://docs.docker.com/desktop/release-notes/#4252
For more details see here

+ \ No newline at end of file diff --git a/components/_deployment-instructions-redirect.html b/components/_deployment-instructions-redirect.html index 3bd4a2b..a14455f 100644 --- a/components/_deployment-instructions-redirect.html +++ b/components/_deployment-instructions-redirect.html @@ -6,19 +6,19 @@ Astria - + - - - - - + + + + + -
Skip to content

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

- +
Skip to content

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

+ \ No newline at end of file diff --git a/components/_remote-endpoints.html b/components/_remote-endpoints.html index 2011c5a..1032757 100644 --- a/components/_remote-endpoints.html +++ b/components/_remote-endpoints.html @@ -6,19 +6,19 @@ Astria - + - - - - - + + + + + -
Skip to content

The endpoints for the remote shared sequencer are:

NAMEHOSTSADDRESS
Sequencer RPCrpc.sequencer.dusk-3.devnet.astria.org34.111.73.187
Sequencer Faucetfaucet.sequencer.dusk-3.devnet.astria.org34.36.8.102
- +
Skip to content

The endpoints for the remote shared sequencer are:

NAMEHOSTSADDRESS
Sequencer RPCrpc.sequencer.dusk-3.devnet.astria.org34.111.73.187
Sequencer Faucetfaucet.sequencer.dusk-3.devnet.astria.org34.36.8.102
+ \ No newline at end of file diff --git a/developer/tutorials/1-using-astria-go-cli.html b/developer/tutorials/1-using-astria-go-cli.html index 49ef429..b120b15 100644 --- a/developer/tutorials/1-using-astria-go-cli.html +++ b/developer/tutorials/1-using-astria-go-cli.html @@ -6,18 +6,18 @@ Overview | Astria - + - - - - - + + + + + -
Skip to content

Overview

This guide will walk you through deploying a rollup full node locally against both local and remote sequencer with the Astria stack using the Astria CLI.

Download the CLI

Using curl

bash
# download the binary for your platform, e.g. macOS silicon
+    
Skip to content

Overview

This guide will walk you through deploying a rollup full node locally against both local and remote sequencer with the Astria stack using the Astria CLI.

Download the CLI

Using curl

bash
# download the binary for your platform, e.g. macOS silicon
 curl -L https://github.com/astriaorg/astria-cli-go/releases/download/v0.4.0/astria-cli-v0.3.0-darwin-arm64.tar.gz \
   --output astria-go.tar.gz
 # extract the binary
@@ -59,8 +59,8 @@
 cd packages/evm-test-data/
 forge install
 cp .env.example .env

Open the .env and update the chain id:

rust
# this value should be the same as what you used for configuring Geth above
-CHAIN_ID=<6 digit number>

Save the file and then run:

rust
just generate-transactions

If everything worked correctly you see the transactions going through in both the forge script and in the conductor and composer windows in the go cli.

- +CHAIN_ID=<6 digit number>

Save the file and then run:

rust
just generate-transactions

If everything worked correctly you see the transactions going through in both the forge script and in the conductor and composer windows in the go cli.

+ \ No newline at end of file diff --git a/dusk-faq/1-information.html b/dusk-faq/1-information.html index 28350e3..3f95a87 100644 --- a/dusk-faq/1-information.html +++ b/dusk-faq/1-information.html @@ -6,18 +6,18 @@ FAQ and Debugging | Astria - + - - - - - + + + + + -
Skip to content

FAQ and Debugging

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Endpoints

Endpoints for the remote cluster are the following:

NAMEHOSTSADDRESS
EVM JSON RPCrpc.evm.dusk-3.devnet.astria.org34.160.214.22
EVM Block Explorerexplorer.evm.dusk-3.devnet.astria.org34.111.167.16
EVM Faucetfaucet.evm.dusk-3.devnet.astria.org130.211.4.120
Sequencer RPCrpc.sequencer.dusk-3.devnet.astria.org34.111.73.187
Sequencer Faucetfaucet.sequencer.dusk-3.devnet.astria.org34.36.8.102

Software Versions

The latest Devnet (dusk-3) runs the following software versions:

Install the latest Astria cli

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+    
Skip to content

FAQ and Debugging

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Endpoints

Endpoints for the remote cluster are the following:

NAMEHOSTSADDRESS
EVM JSON RPCrpc.evm.dusk-3.devnet.astria.org34.160.214.22
EVM Block Explorerexplorer.evm.dusk-3.devnet.astria.org34.111.167.16
EVM Faucetfaucet.evm.dusk-3.devnet.astria.org130.211.4.120
Sequencer RPCrpc.sequencer.dusk-3.devnet.astria.org34.111.73.187
Sequencer Faucetfaucet.sequencer.dusk-3.devnet.astria.org34.36.8.102

Software Versions

The latest Devnet (dusk-3) runs the following software versions:

Install the latest Astria cli

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
@@ -32,8 +32,8 @@
 <center><h1>404 Not Found</h1></center>
 <hr><center>nginx</center>
 </body>
-</html>

Ingress Information

You can check the kubernetes ingress resource for your rollup with:

bash
kubectl get ingress -n astria-dev-cluster
- +</html>

Ingress Information

You can check the kubernetes ingress resource for your rollup with:

bash
kubectl get ingress -n astria-dev-cluster
+ \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index e672e14..6b37612 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"overview_architecture_7-conductor.md":"CYOIrlzR","components__astria-cli-install.md":"B_6z2ycW","components__cli-cloud.md":"B0UnGhFQ","local-rollup_2-astria-cli-go.md":"Du8j9GvY","overview_1-introduction.md":"B4TX2rRf","index.md":"tCi_VC0T","markdown-examples.md":"v0GVNMt7","community_1-overview.md":"DuxpgaeN","overview_architecture_3-rollup.md":"DskKYH_G","overview_architecture_6-relayer.md":"yaAwwm_B","astria-evm_overview.md":"B4T-8HL6","overview_architecture_4-composer.md":"BFdpt6Di","components__deployment-instructions-redirect.md":"eUgwKcxm","components__cli-local.md":"QZSWLQ6b","overview_architecture_8-data-availability-layer.md":"CUDK1MsV","dusk-faq_1-information.md":"BTtO3i50","components__remote-endpoints.md":"DTwsMlpQ","overview_architecture_2-transaction-flow.md":"DqMz0vgK","overview_architecture_5-the-astria-sequencer.md":"CF9nAJ5G","overview_2-why-decentralized-sequencers.md":"-Sm2jRo9","overview_architecture_1-overview.md":"NdI9aXbX","overview_3-cross-rollup-composability.md":"CQZSW3sO","developer_tutorials_1-using-astria-go-cli.md":"BgCvEMYa","cloud-rollup_digital-ocean.md":"CT1o5K27","local-rollup_1-introduction.md":"BFVi5LaF"} +{"components__cli-local.md":"Cax1wesZ","overview_architecture_1-overview.md":"BkM5J_5h","overview_2-why-decentralized-sequencers.md":"lbvD_B3b","overview_architecture_7-conductor.md":"BvhJT_3q","local-rollup_1-introduction.md":"D103LahM","local-rollup_2-astria-cli-go.md":"Z-ELQLtc","developer_tutorials_1-using-astria-go-cli.md":"BRFsgd6A","astria-evm_overview.md":"N33DqnZw","index.md":"BopZznMh","components__deployment-instructions-redirect.md":"D9hAKJk8","components__cli-cloud.md":"CaTwTJOj","overview_architecture_2-transaction-flow.md":"Bhe0gp93","overview_architecture_6-relayer.md":"C21oyeqO","cloud-rollup_digital-ocean.md":"B5WR59Xl","markdown-examples.md":"yRETD5Nd","components__astria-cli-install.md":"BXNndlSR","community_1-overview.md":"DasLXO1A","components__remote-endpoints.md":"BV3QqGJA","dusk-faq_1-information.md":"BG9W6vCf","overview_architecture_3-rollup.md":"KtNjvcBo","overview_1-introduction.md":"C2unZ-yA","overview_architecture_4-composer.md":"ZUYOCZjU","overview_architecture_8-data-availability-layer.md":"CZsy3pe7","overview_3-cross-rollup-composability.md":"BbsN2vE1","overview_architecture_5-the-astria-sequencer.md":"DQAesWz8"} diff --git a/index.html b/index.html index 4546689..9622607 100644 --- a/index.html +++ b/index.html @@ -6,19 +6,19 @@ Astria - + - - - - - + + + + + - - + + \ No newline at end of file diff --git a/local-rollup/1-introduction.html b/local-rollup/1-introduction.html index 586e412..2d73bb4 100644 --- a/local-rollup/1-introduction.html +++ b/local-rollup/1-introduction.html @@ -6,18 +6,18 @@ Overview | Astria - + - - - - - + + + + + -
Skip to content

Overview

This guide will walk you through deploying a rollup full node on a local Kubernetes cluster which uses the Astria shared sequencer network.

TIP

If you would like to deploy a rollup on a remote Kubernetes cluster, please see the remote deployment guide here.

Local Dependencies

INFO

This guide has been tested on MacOS and Linux but not Windows

Clone the Astria dev-cluster

bash
git clone --branch dusk-3 https://github.com/astriaorg/dev-cluster.git

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
+    
Skip to content

Overview

This guide will walk you through deploying a rollup full node on a local Kubernetes cluster which uses the Astria shared sequencer network.

TIP

If you would like to deploy a rollup on a remote Kubernetes cluster, please see the remote deployment guide here.

Local Dependencies

INFO

This guide has been tested on MacOS and Linux but not Windows

Clone the Astria dev-cluster

bash
git clone --branch dusk-3 https://github.com/astriaorg/dev-cluster.git

Install the latest astria cli

bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-aarch64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
 mv astria-cli /usr/local/bin/
bash
curl -L https://github.com/astriaorg/astria/releases/download/cli-v0.3.1/astria-cli-x86_64-apple-darwin.tar.gz > astria-cli.tar.gz
 tar -xvzf astria-cli.tar.gz
@@ -52,15 +52,15 @@
 Private Key: "5562...1622" # <SEQUENCER_ACCOUNT_PRIV_KEY>
 Public Key:  "ec20...f613" # 
 Address:     "8a2f...5f68" # <SEQUENCER_ACCOUNT_ADDRESS>

Export your sequencer private key and address as environment variables:

bash
export SEQUENCER_PRIV_KEY=5562...1622
-export SEQUENCER_ACCOUNT_ADDRESS=8a2f...5f68

Fund your Sequencer Account

Navigate to < https://faucet.sequencer.dusk-3.devnet.astria.org/ > to view the sequencer faucet.

Enter your <SEQUENCER_ACCOUNT_ADDRESS> into the text box to send funds to your account:

Sequencer Faucet

Verify your account received the funds

bash
astria-cli sequencer account balance $SEQUENCER_ACCOUNT_ADDRESS

Deploy the Rollup Node

Use the astria-cli to deploy the rollup node

bash
astria-cli rollup deployment create \
+export SEQUENCER_ACCOUNT_ADDRESS=8a2f...5f68

Fund your Sequencer Account

Navigate to < https://faucet.sequencer.dusk-3.devnet.astria.org/ > to view the sequencer faucet.

Enter your <SEQUENCER_ACCOUNT_ADDRESS> into the text box to send funds to your account:

Sequencer Faucet

Verify your account received the funds

bash
astria-cli sequencer account balance $SEQUENCER_ACCOUNT_ADDRESS

Deploy the Rollup Node

Use the astria-cli to deploy the rollup node

bash
astria-cli rollup deployment create \
   --config $ROLLUP_CONF_FILE \
   --faucet-private-key $ROLLUP_FAUCET_PRIV_KEY \
   --sequencer-private-key $SEQUENCER_PRIV_KEY

Watch for rollup startup

You can watch for the Kubernetes pods of the rollup to start with:

bash
kubectl get pods -n astria-dev-cluster -w
bash
NAME                                             READY   STATUS    RESTARTS      AGE
 <YOUR_ROLLUP_NAME>-blockscout-647745c66d-vz4ks     6/6     Running   1 (56s ago)   72s
 <YOUR_ROLLUP_NAME>-celestia-node-light-mocha-4-0   2/2     Running   1 (56s ago)   72s
 <YOUR_ROLLUP_NAME>-faucet-68667bd895-pwqmz         1/1     Running   0             72s
-<YOUR_ROLLUP_NAME>-geth-755cb8dd97-k5xp8           3/3     Running   0             72s

Your Rollup Endpoints

Your rollup will automatically be configured with the several locally accessible endpoints:

UtilityURL
Block Explorerhttp://blockscout.<YOUR_ROLLUP_NAME>.localdev.me/
Faucethttp://faucet.<YOUR_ROLLUP_NAME>.localdev.me/
RPChttp://executor.<YOUR_ROLLUP_NAME>.localdev.me/

Interact with your Rollup

bash
export ETH_RPC_URL=http://executor.$ROLLUP_NAME.localdev.me/
bash
cast block 0

Use an address of your choice.

bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key $ROLLUP_FAUCET_PRIV_KEY
bash
cast balance $REC_ADDR
- +<YOUR_ROLLUP_NAME>-geth-755cb8dd97-k5xp8 3/3 Running 0 72s

Your Rollup Endpoints

Your rollup will automatically be configured with the several locally accessible endpoints:

UtilityURL
Block Explorerhttp://blockscout.<YOUR_ROLLUP_NAME>.localdev.me/
Faucethttp://faucet.<YOUR_ROLLUP_NAME>.localdev.me/
RPChttp://executor.<YOUR_ROLLUP_NAME>.localdev.me/

Interact with your Rollup

bash
export ETH_RPC_URL=http://executor.$ROLLUP_NAME.localdev.me/
bash
cast block 0

Use an address of your choice.

bash
export REC_ADDR=<SOME_ADDRESS>
bash
cast balance $REC_ADDR
bash
cast send $REC_ADDR --value 10000000000000000000 --private-key $ROLLUP_FAUCET_PRIV_KEY
bash
cast balance $REC_ADDR
+ \ No newline at end of file diff --git a/local-rollup/2-astria-cli-go.html b/local-rollup/2-astria-cli-go.html index 50784c7..c32e5bb 100644 --- a/local-rollup/2-astria-cli-go.html +++ b/local-rollup/2-astria-cli-go.html @@ -6,18 +6,18 @@ The Astria CLI | Astria - + - - - - - + + + + + -
Skip to content

The Astria CLI

The astria-go cli is a tool designed to make local rollup development as simple and dependency free as possible. It provides functionality to easily run the Astria stack and interact with the Sequencer.

Install and Run CLI from GitHub release

The CLI binaries are available for download from the releases page. There are binaries available for macOS and Linux, for both x86_64 and arm64 architectures.

bash
# download the binary for your platform, e.g. macOS silicon
+    
Skip to content

The Astria CLI

The astria-go cli is a tool designed to make local rollup development as simple and dependency free as possible. It provides functionality to easily run the Astria stack and interact with the Sequencer.

Install and Run CLI from GitHub release

The CLI binaries are available for download from the releases page. There are binaries available for macOS and Linux, for both x86_64 and arm64 architectures.

bash
# download the binary for your platform, e.g. macOS silicon
 curl -L https://github.com/astriaorg/astria-cli-go/releases/download/v0.3.0/astria-cli-v0.3.0-darwin-arm64.tar.gz \
   --output astria-go.tar.gz
 # extract the binary
@@ -37,8 +37,8 @@
 }

The cli is built using Cobra. Once you've pulled the repo you can install the cobra-cli as follows to add new commands for development:

bash
# install cobra-cli
 go install github.com/spf13/cobra-cli@latest
 # add new command, e.g. `run`
-cobra-cli add <new-command>

Available Commands

CommandDescription
versionPrints the cli version.
helpShow help.
devRoot command for cli development functionality.
dev initDownloads binaries and initializes the local environment.
dev runRuns a minimal, local Astria stack.
dev cleanDeletes the local data for the Astria stack.
dev clean allDeletes the local data, downloaded binaries, and config files for the Astria stack.
sequencer create-accountGenerate an account for the Sequencer.
sequencer get-balanceGet the balance of an account on the Sequencer.
- +cobra-cli add <new-command>

Available Commands

CommandDescription
versionPrints the cli version.
helpShow help.
devRoot command for cli development functionality.
dev initDownloads binaries and initializes the local environment.
dev runRuns a minimal, local Astria stack.
dev cleanDeletes the local data for the Astria stack.
dev clean allDeletes the local data, downloaded binaries, and config files for the Astria stack.
sequencer create-accountGenerate an account for the Sequencer.
sequencer get-balanceGet the balance of an account on the Sequencer.
+ \ No newline at end of file diff --git a/markdown-examples.html b/markdown-examples.html index 7c3240b..043ef69 100644 --- a/markdown-examples.html +++ b/markdown-examples.html @@ -6,18 +6,18 @@ Markdown Extension Examples | Astria - + - - - - - + + + + + -
Skip to content

Markdown Extension Examples

This page demonstrates some of the built-in markdown extensions provided by VitePress.

Syntax Highlighting

VitePress provides Syntax Highlighting powered by Shiki, with additional features like line-highlighting:

Input

md
```js{4}
+    
Skip to content

Markdown Extension Examples

This page demonstrates some of the built-in markdown extensions provided by VitePress.

Syntax Highlighting

VitePress provides Syntax Highlighting powered by Shiki, with additional features like line-highlighting:

Input

md
```js{4}
 export default {
   data () {
     return {
@@ -49,8 +49,8 @@
 
 ::: details
 This is a details block.
-:::

Output

INFO

This is an info box.

TIP

This is a tip.

WARNING

This is a warning.

DANGER

This is a dangerous warning.

Details

This is a details block.

More

Check out the documentation for the full list of markdown extensions.

- +:::

Output

INFO

This is an info box.

TIP

This is a tip.

WARNING

This is a warning.

DANGER

This is a dangerous warning.

Details

This is a details block.

More

Check out the documentation for the full list of markdown extensions.

+ \ No newline at end of file diff --git a/overview/1-introduction.html b/overview/1-introduction.html index 90ebb76..b5706df 100644 --- a/overview/1-introduction.html +++ b/overview/1-introduction.html @@ -6,19 +6,19 @@ Introduction | Astria - + - - - - - + + + + + -
Skip to content

Introduction

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Astria is a shared sequencing network that allows many rollups to share a single decentralized network of sequencers. These sequencers are simple and permissionless to join, completely replacing centralized sequencers.

This shared sequencer network provides out-of-the-box censorship resistance, fast block confirmations, and atomic cross-rollup composability – all while retaining each rollup’s sovereignty. Astria envisions a future where thousands of decentralized rollups flourish, each one tailored to meet the unique requirements of different industries, applications, and use cases.

To achieve this vision, we believe that deploying an economically secure, decentralized, and censorship-resistant rollup should be as easy as deploying a smart contract.

What should I read?

Want to learn more about the sequencer? check out the Astria overview section If you're a developer eager to get started, you should go straight to our Quick Start guide, which will walk you through deploying a rollup full node on a local Kubernetes cluster which uses the Astria shared sequencer network. Once you've gone through the Quick Start, you can move on to running on cloud. You can find our endpoints and FAQ here

What If I Need More Help?

While this documentation should include everything you need, if you can't find what you're looking for, please reach out to us on Twitter or check the Astria repository.

- +
Skip to content

Introduction

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Astria is a shared sequencing network that allows many rollups to share a single decentralized network of sequencers. These sequencers are simple and permissionless to join, completely replacing centralized sequencers.

This shared sequencer network provides out-of-the-box censorship resistance, fast block confirmations, and atomic cross-rollup composability – all while retaining each rollup’s sovereignty. Astria envisions a future where thousands of decentralized rollups flourish, each one tailored to meet the unique requirements of different industries, applications, and use cases.

To achieve this vision, we believe that deploying an economically secure, decentralized, and censorship-resistant rollup should be as easy as deploying a smart contract.

What should I read?

Want to learn more about the sequencer? check out the Astria overview section If you're a developer eager to get started, you should go straight to our Quick Start guide, which will walk you through deploying a rollup full node on a local Kubernetes cluster which uses the Astria shared sequencer network. Once you've gone through the Quick Start, you can move on to running on cloud. You can find our endpoints and FAQ here

What If I Need More Help?

While this documentation should include everything you need, if you can't find what you're looking for, please reach out to us on Twitter or check the Astria repository.

+ \ No newline at end of file diff --git a/overview/2-why-decentralized-sequencers.html b/overview/2-why-decentralized-sequencers.html index 5b7f33c..50ab41a 100644 --- a/overview/2-why-decentralized-sequencers.html +++ b/overview/2-why-decentralized-sequencers.html @@ -6,19 +6,19 @@ Why Decentralized Sequencers? | Astria - + - - - - - + + + + + -
Skip to content

Why Decentralized Sequencers?

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Centralization is antithetical to crypto. And yet, today’s rollups almost universally depend on a single sequencer. Centralized sequencers provide fast transaction confirmations and reduce costs by batching and compressing transactions. However, these benefits come at the cost of relying on a single trusted actor for liveness and censorship resistance.

Sacrificing decentralization for an improved user experience is an unacceptable Faustian bargain.

Astria tackles centralization head-on, providing rollups with a decentralized sequencer and even better UX. Astria’s shared sequencer network is a middleware blockchain with its own decentralized sequencer set which accepts transactions from multiple rollups. These transactions are ordered into a single block and written to the base layer without executing them.

Shared Sequencers

- +
Skip to content

Why Decentralized Sequencers?

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Centralization is antithetical to crypto. And yet, today’s rollups almost universally depend on a single sequencer. Centralized sequencers provide fast transaction confirmations and reduce costs by batching and compressing transactions. However, these benefits come at the cost of relying on a single trusted actor for liveness and censorship resistance.

Sacrificing decentralization for an improved user experience is an unacceptable Faustian bargain.

Astria tackles centralization head-on, providing rollups with a decentralized sequencer and even better UX. Astria’s shared sequencer network is a middleware blockchain with its own decentralized sequencer set which accepts transactions from multiple rollups. These transactions are ordered into a single block and written to the base layer without executing them.

Shared Sequencers

+ \ No newline at end of file diff --git a/overview/3-cross-rollup-composability.html b/overview/3-cross-rollup-composability.html index 4cd0a99..149b578 100644 --- a/overview/3-cross-rollup-composability.html +++ b/overview/3-cross-rollup-composability.html @@ -6,19 +6,19 @@ Cross-Rollup Composability | Astria - + - - - - - + + + + + -
Skip to content

Cross-Rollup Composability

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Because Astria handles the transaction ordering for multiple rollups, it’s able to provide guarantees that transactions are only included as part of an atomic bundle. This allows users to specify that a transaction on Rollup A can be included in a block if and only if a different transaction on Rollup B is also included in the same block. By enabling such conditional transaction inclusion, Astria unlocks exciting possibilities such as atomic cross-rollup arbitrage.

- +
Skip to content

Cross-Rollup Composability

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Because Astria handles the transaction ordering for multiple rollups, it’s able to provide guarantees that transactions are only included as part of an atomic bundle. This allows users to specify that a transaction on Rollup A can be included in a block if and only if a different transaction on Rollup B is also included in the same block. By enabling such conditional transaction inclusion, Astria unlocks exciting possibilities such as atomic cross-rollup arbitrage.

+ \ No newline at end of file diff --git a/overview/architecture/1-overview.html b/overview/architecture/1-overview.html index 68055b1..d20f3f0 100644 --- a/overview/architecture/1-overview.html +++ b/overview/architecture/1-overview.html @@ -6,19 +6,19 @@ Architecture Overview | Astria - + - - - - - + + + + + -
Skip to content

Architecture Overview

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

At a high level, Astria breaks out all of the components that are historically combined together in monolithic blockchains into individual components. This results in a modular ecosystem that allows users to swap out components to fit their specific needs.

Astria Architecture

Given this architecture, rollups can retrieve blocks from Astria immediately after they’re created, without waiting for the base layer to include them. The economic weight of Astria’s decentralized sequencer set provides confidence that this transaction order is final. This “soft commitment” allows rollups to provide their end users with fast block confirmations. Alternatively, rollups can wait for blocks to be included by the base layer, giving them the strongest finality. All transactions still get this “firm commitment” at the speed of the base layer, fast pre-confirmations are just an additional feature that Astria provides to rollups if they choose to use it.

To generate a new state root, a rollup’s full nodes retrieve a block from either Astria or the base layer, check it against Astria’s fork choice rule, filter out transactions from other rollups, and apply the resultant subset of transactions to their previous state. Headers can then be generated from this state root and gossiped to light clients. Rollups of this style are termed ‘Lazy Rollups’, a nod to the Lazy Evaluation principle found in programming language theory.

See the Astria repo here.

- +
Skip to content

Architecture Overview

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

At a high level, Astria breaks out all of the components that are historically combined together in monolithic blockchains into individual components. This results in a modular ecosystem that allows users to swap out components to fit their specific needs.

Astria Architecture

Given this architecture, rollups can retrieve blocks from Astria immediately after they’re created, without waiting for the base layer to include them. The economic weight of Astria’s decentralized sequencer set provides confidence that this transaction order is final. This “soft commitment” allows rollups to provide their end users with fast block confirmations. Alternatively, rollups can wait for blocks to be included by the base layer, giving them the strongest finality. All transactions still get this “firm commitment” at the speed of the base layer, fast pre-confirmations are just an additional feature that Astria provides to rollups if they choose to use it.

To generate a new state root, a rollup’s full nodes retrieve a block from either Astria or the base layer, check it against Astria’s fork choice rule, filter out transactions from other rollups, and apply the resultant subset of transactions to their previous state. Headers can then be generated from this state root and gossiped to light clients. Rollups of this style are termed ‘Lazy Rollups’, a nod to the Lazy Evaluation principle found in programming language theory.

See the Astria repo here.

+ \ No newline at end of file diff --git a/overview/architecture/2-transaction-flow.html b/overview/architecture/2-transaction-flow.html index b45e385..48c0aa4 100644 --- a/overview/architecture/2-transaction-flow.html +++ b/overview/architecture/2-transaction-flow.html @@ -6,19 +6,19 @@ Transaction Flow | Astria - + - - - - - + + + + + -
Skip to content

Transaction Flow

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

The full transaction flow through the Astria stack is as follows:

Astria Transaction Flow

- +
Skip to content

Transaction Flow

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

The full transaction flow through the Astria stack is as follows:

Astria Transaction Flow

+ \ No newline at end of file diff --git a/overview/architecture/3-rollup.html b/overview/architecture/3-rollup.html index 1306bbc..716a91c 100644 --- a/overview/architecture/3-rollup.html +++ b/overview/architecture/3-rollup.html @@ -6,19 +6,19 @@ Rollups | Astria - + - - - - - + + + + + -
Skip to content

Rollups

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Astria is designed for permissionless rollup integration and takes advantage of lazy shared sequencing. This means that rollup developers have total sovereignty over their own execution state and can swap out sequencing layers without fear of being locked in. You do not need to ask for permission or go through a governance process to gain access. A rollup simply needs to satisfy the following interfaces:

Write Interface (Rollup to Composer):

  • For transaction submissions.

Read Interface (Rollup to Conductor):

  • For receiving blocks from the shared sequencer network.

Single Rollup

The Composer and Conductor are explained in more detail in future sections.

Both composer and conductor expose gRPC interfaces. See the astria-protos repo for specific implementation details.

Astria currently deploys a fork of Geth as an EVM rollup.

- +
Skip to content

Rollups

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Astria is designed for permissionless rollup integration and takes advantage of lazy shared sequencing. This means that rollup developers have total sovereignty over their own execution state and can swap out sequencing layers without fear of being locked in. You do not need to ask for permission or go through a governance process to gain access. A rollup simply needs to satisfy the following interfaces:

Write Interface (Rollup to Composer):

  • For transaction submissions.

Read Interface (Rollup to Conductor):

  • For receiving blocks from the shared sequencer network.

Single Rollup

The Composer and Conductor are explained in more detail in future sections.

Both composer and conductor expose gRPC interfaces. See the astria-protos repo for specific implementation details.

Astria currently deploys a fork of Geth as an EVM rollup.

+ \ No newline at end of file diff --git a/overview/architecture/4-composer.html b/overview/architecture/4-composer.html index 9f824c7..d22dc4a 100644 --- a/overview/architecture/4-composer.html +++ b/overview/architecture/4-composer.html @@ -6,19 +6,19 @@ Composer | Astria - + - - - - - + + + + + -
Skip to content

Composer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

The Composer is an in-house abstraction over the potential actors in Astria's MEV supply chain. It currently contains a naive implementations of the role a searcher will fulfill, with the intention of having working examples that economically incentivized third parties can use as a starting point for their own implementations. As we progress from design to implementation of Astria's proposer-builder separation it will also include an example implementation of a naive builder. The abstractions serves the goal of acting as a forcing function on our architecture design by stubbing out the roles and requiring other components to interact with them through an interface.

While a real searcher implementation would create profit-generating bundles of rollup transactions and submit them to a builder, the Composer implementation simply bundles every rollup transaction it receives into a sequencer transaction and submits it to the sequencer. As our approach to proposer-builder separation is still in its design phase, there is currently no explicit builder role in the MEV supply chain and transactions are submitted directly to validator nodes' CometBFT mempool.

Once Astria's block builder design moves to its implementation phase, the Composer will include a reference builder implementation as well. Similarly to the searcher, while a real builder implementation would run a profit-generating auction, the composer implementation will simply run a FIFO queue that will add all the sequencer transactions it receives and submits a block to the sequencer's proposer.

See the Conductor code here.

- +
Skip to content

Composer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

The Composer is an in-house abstraction over the potential actors in Astria's MEV supply chain. It currently contains a naive implementations of the role a searcher will fulfill, with the intention of having working examples that economically incentivized third parties can use as a starting point for their own implementations. As we progress from design to implementation of Astria's proposer-builder separation it will also include an example implementation of a naive builder. The abstractions serves the goal of acting as a forcing function on our architecture design by stubbing out the roles and requiring other components to interact with them through an interface.

While a real searcher implementation would create profit-generating bundles of rollup transactions and submit them to a builder, the Composer implementation simply bundles every rollup transaction it receives into a sequencer transaction and submits it to the sequencer. As our approach to proposer-builder separation is still in its design phase, there is currently no explicit builder role in the MEV supply chain and transactions are submitted directly to validator nodes' CometBFT mempool.

Once Astria's block builder design moves to its implementation phase, the Composer will include a reference builder implementation as well. Similarly to the searcher, while a real builder implementation would run a profit-generating auction, the composer implementation will simply run a FIFO queue that will add all the sequencer transactions it receives and submits a block to the sequencer's proposer.

See the Conductor code here.

+ \ No newline at end of file diff --git a/overview/architecture/5-the-astria-sequencer.html b/overview/architecture/5-the-astria-sequencer.html index 3fefee9..e605fe0 100644 --- a/overview/architecture/5-the-astria-sequencer.html +++ b/overview/architecture/5-the-astria-sequencer.html @@ -6,19 +6,19 @@ The Astria Sequencer | Astria - + - - - - - + + + + + -
Skip to content

The Astria Sequencer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

The Astria Shared Sequencer is a decentralized network of nodes utilizing CometBFT that come to consensus on an ordered set of transactions (ie. it is a blockchain). The unique feature of the sequencer is that the transactions it includes are not executed (lazy sequencing), and are destined for another execution engine (ie. a rollup). This excludes “sequencer native” transactions, such as transfers of tokens within the sequencer chain. Transactions from any given rollup are only ordered on the sequencer, not executed.

The sequencer can optionally act as a “validator”, meaning it actively participates in the production and finalization of new blocks.

Astria Shared Sequencer

Components of note that are not shown in the above diagram are the Composer, Relayer, and Conductor.

These components facilitate the delivery transactions, batches, and different commits shown above, back to the users.

See the Sequencer code here.

- +
Skip to content

The Astria Sequencer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

The Astria Shared Sequencer is a decentralized network of nodes utilizing CometBFT that come to consensus on an ordered set of transactions (ie. it is a blockchain). The unique feature of the sequencer is that the transactions it includes are not executed (lazy sequencing), and are destined for another execution engine (ie. a rollup). This excludes “sequencer native” transactions, such as transfers of tokens within the sequencer chain. Transactions from any given rollup are only ordered on the sequencer, not executed.

The sequencer can optionally act as a “validator”, meaning it actively participates in the production and finalization of new blocks.

Astria Shared Sequencer

Components of note that are not shown in the above diagram are the Composer, Relayer, and Conductor.

These components facilitate the delivery transactions, batches, and different commits shown above, back to the users.

See the Sequencer code here.

+ \ No newline at end of file diff --git a/overview/architecture/6-relayer.html b/overview/architecture/6-relayer.html index 8a361a7..65ee8ba 100644 --- a/overview/architecture/6-relayer.html +++ b/overview/architecture/6-relayer.html @@ -6,19 +6,19 @@ Relayer | Astria - + - - - - - + + + + + -
Skip to content

Relayer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

The Relayer's responsibility is to take validated blocks from the sequencer and pass them along to both the Conductor and the DA layer. Because the sequencer's block times are much faster than those of the DA, the relayer also collects a queue of ordered sequencer blocks before wrapping them for submission to DA.

The individual sequencer blocks are sent immediately to the Conductor to enable fast finality for an improved UX and also act as soft commits for the execution layer. The collections of blocks sent to the DA layer are used as a source of truth and are ultimately pulled from the DA to be used as firm commits for finality in the rolllups.

See the Relayer code here.

- +
Skip to content

Relayer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

The Relayer's responsibility is to take validated blocks from the sequencer and pass them along to both the Conductor and the DA layer. Because the sequencer's block times are much faster than those of the DA, the relayer also collects a queue of ordered sequencer blocks before wrapping them for submission to DA.

The individual sequencer blocks are sent immediately to the Conductor to enable fast finality for an improved UX and also act as soft commits for the execution layer. The collections of blocks sent to the DA layer are used as a source of truth and are ultimately pulled from the DA to be used as firm commits for finality in the rolllups.

See the Relayer code here.

+ \ No newline at end of file diff --git a/overview/architecture/7-conductor.html b/overview/architecture/7-conductor.html index 1d4f16f..cb3fe67 100644 --- a/overview/architecture/7-conductor.html +++ b/overview/architecture/7-conductor.html @@ -6,19 +6,19 @@ Conductor | Astria - + - - - - - + + + + + -
Skip to content

Conductor

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Conductor's role is to drive the deterministic execution of sequencer blocks to rollups.

It abstracts away the logic required to read data from the DA and the Sequencer, tracking firm and soft commitments, block and header shapes, as well as verification of the data. The rollup implements the Execution API server, and runs the Conductor alongside to drive deterministic execution. The Conductor is effectively stateless but does ephemerally store some information about the blocks it has seen and passed on to be executed.

It filters the transactions that are relevant to the given rollup it is running along side, out of the sequencer blocks for execution. The data that it does store is for sending commitment updates to the rollup.

As mentioned in the Relayer section, any data received by the Conductor directly from the Relayer is considered a soft commit. This data is filtered using the rollup's namespace and only transactions that are relevant to the rollup are passed on as blocks for execution. These blocks are also marked as "safe" withing the rollup. The Conductor regularly polls Celestia for new data and when it sees the same blocks in Celestia that it has already seen from the Relayer, it sends a firm commit message to the rollup to update that block to "finalized."

See the Conductor code here.

- +
Skip to content

Conductor

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

Conductor's role is to drive the deterministic execution of sequencer blocks to rollups.

It abstracts away the logic required to read data from the DA and the Sequencer, tracking firm and soft commitments, block and header shapes, as well as verification of the data. The rollup implements the Execution API server, and runs the Conductor alongside to drive deterministic execution. The Conductor is effectively stateless but does ephemerally store some information about the blocks it has seen and passed on to be executed.

It filters the transactions that are relevant to the given rollup it is running along side, out of the sequencer blocks for execution. The data that it does store is for sending commitment updates to the rollup.

As mentioned in the Relayer section, any data received by the Conductor directly from the Relayer is considered a soft commit. This data is filtered using the rollup's namespace and only transactions that are relevant to the rollup are passed on as blocks for execution. These blocks are also marked as "safe" withing the rollup. The Conductor regularly polls Celestia for new data and when it sees the same blocks in Celestia that it has already seen from the Relayer, it sends a firm commit message to the rollup to update that block to "finalized."

See the Conductor code here.

+ \ No newline at end of file diff --git a/overview/architecture/8-data-availability-layer.html b/overview/architecture/8-data-availability-layer.html index d8e4f98..4a37c3c 100644 --- a/overview/architecture/8-data-availability-layer.html +++ b/overview/architecture/8-data-availability-layer.html @@ -6,19 +6,19 @@ Data Availability Layer | Astria - + - - - - - + + + + + -
Skip to content

Data Availability Layer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

The dev-cluster uses Celestia as the data availability layer and is the ultimate destination of all data that has been ordered by the sequencer network. Once written to Celestia, the transaction order is considered final and it is where all data will be pulled from when a new rollup node is spun up.

See the Celestia website for a more in depth introduction.

- +
Skip to content

Data Availability Layer

TIP

To deploy your own rollup on the Astria Devnet on your local machine, check out the instructions here!

To deploy your own rollup on the Astria Devnet using Digital Ocean, check out the instructions here!

The dev-cluster uses Celestia as the data availability layer and is the ultimate destination of all data that has been ordered by the sequencer network. Once written to Celestia, the transaction order is considered final and it is where all data will be pulled from when a new rollup node is spun up.

See the Celestia website for a more in depth introduction.

+ \ No newline at end of file