From e9edf888533aa5be15636e2e1514e50ddd36e348 Mon Sep 17 00:00:00 2001 From: COOL Date: Tue, 16 Jul 2024 17:27:15 +0800 Subject: [PATCH] 111 --- .vitepress/dist/404.html | 6 +- .vitepress/dist/README.html | 14 ++-- ...E.md.CH6W0xY-.js => README.md.21sdoxr8.js} | 2 +- ...xY-.lean.js => README.md.21sdoxr8.lean.js} | 2 +- .../{app.FDx_p2g5.js => app.C4vF_6Mf.js} | 2 +- .../chunks/@localSearchIndexroot.D5Sydc4b.js | 1 + .../chunks/@localSearchIndexroot.DenxaxWg.js | 1 - ...xu1EgN.js => VPLocalSearchBox.DBG8xJHY.js} | 4 +- ...work.DkvLLw5I.js => framework.C_oE5szm.js} | 2 +- .../dist/assets/chunks/theme.BGRQRpgk.js | 4 ++ .../dist/assets/chunks/theme.RzTZTo5D.js | 4 -- ...ex.md.Cgb96qqp.js => index.md.IDM-wWfu.js} | 2 +- ...6qqp.lean.js => index.md.IDM-wWfu.lean.js} | 2 +- ...vKL8.js => src_about_index.md.u0DlwXFy.js} | 2 +- ...js => src_about_index.md.u0DlwXFy.lean.js} | 2 +- ...Qr0rH-R.js => src_guide_ai.md.PrgLyacX.js} | 2 +- ...an.js => src_guide_ai.md.PrgLyacX.lean.js} | 2 +- ...ncvK.js => src_guide_cache.md.TbXSwkcj.js} | 2 +- ...js => src_guide_cache.md.TbXSwkcj.lean.js} | 2 +- ...js => src_guide_controller.md.DCo4_59t.js} | 2 +- ... src_guide_controller.md.DCo4_59t.lean.js} | 2 +- ...W_Li52O.js => src_guide_db.md.Duwyo5Xx.js} | 2 +- ...an.js => src_guide_db.md.Duwyo5Xx.lean.js} | 2 +- ...lOgpNe.js => src_guide_dev.md.Dkd1jFPN.js} | 2 +- ...n.js => src_guide_dev.md.Dkd1jFPN.lean.js} | 2 +- ...-Ujx3e.js => src_guide_dir.md.RpZMF5oN.js} | 2 +- ...n.js => src_guide_dir.md.RpZMF5oN.lean.js} | 2 +- ....js => src_guide_exception.md.B8TYnOY4.js} | 2 +- ...> src_guide_exception.md.B8TYnOY4.lean.js} | 2 +- ...rwMWD.js => src_guide_flow.md.Bg5zEnLF.js} | 2 +- ....js => src_guide_flow.md.Bg5zEnLF.lean.js} | 2 +- ...s.js => src_guide_initData.md.CWyYHbHt.js} | 2 +- ...=> src_guide_initData.md.CWyYHbHt.lean.js} | 2 +- ...MhP.js => src_guide_plugin.md.Har19Yp0.js} | 2 +- ...s => src_guide_plugin.md.Har19Yp0.lean.js} | 2 +- ...Y-B1.js => src_guide_quick.md.B3Pgf-em.js} | 2 +- ...js => src_guide_quick.md.B3Pgf-em.lean.js} | 2 +- ...r.js => src_guide_security.md.D2ao104D.js} | 2 +- ...=> src_guide_security.md.D2ao104D.lean.js} | 2 +- ...AS.js => src_guide_service.md.DFVHuVBZ.js} | 2 +- ... => src_guide_service.md.DFVHuVBZ.lean.js} | 2 +- ...Iq.js => src_guide_swagger.md.Cb0cwFc8.js} | 2 +- ... => src_guide_swagger.md.Cb0cwFc8.lean.js} | 2 +- ...RGJ.js => src_guide_upload.md.CxcWqhw1.js} | 2 +- ...s => src_guide_upload.md.CxcWqhw1.lean.js} | 2 +- ....js => src_introduce_index.md.DA1PheMx.js} | 2 +- ...> src_introduce_index.md.DA1PheMx.lean.js} | 2 +- ...V.js => src_introduce_show.md.D0p_OwAi.js} | 2 +- ...=> src_introduce_show.md.D0p_OwAi.lean.js} | 2 +- ...eX.js => src_introduce_src.md.B9s21jCc.js} | 2 +- ... => src_introduce_src.md.B9s21jCc.lean.js} | 2 +- ....js => src_question_common.md.DOoSuwHd.js} | 2 +- ...> src_question_common.md.DOoSuwHd.lean.js} | 2 +- ...PQzB0x.js => src_todo_plan.md.OECDxoZt.js} | 2 +- ...n.js => src_todo_plan.md.OECDxoZt.lean.js} | 2 +- ...oiBw.js => src_todo_update.md.y1o13J5g.js} | 2 +- ...js => src_todo_update.md.y1o13J5g.lean.js} | 2 +- .vitepress/dist/assets/style.CoKMOhgV.css | 1 - .vitepress/dist/assets/style.sNAlF7rx.css | 1 + .vitepress/dist/hashmap.json | 2 +- .vitepress/dist/index.html | 14 ++-- .vitepress/dist/src/about/index.html | 14 ++-- .vitepress/dist/src/guide/ai.html | 14 ++-- .vitepress/dist/src/guide/cache.html | 14 ++-- .vitepress/dist/src/guide/controller.html | 14 ++-- .vitepress/dist/src/guide/db.html | 14 ++-- .vitepress/dist/src/guide/dev.html | 14 ++-- .vitepress/dist/src/guide/dir.html | 14 ++-- .vitepress/dist/src/guide/exception.html | 14 ++-- .vitepress/dist/src/guide/flow.html | 14 ++-- .vitepress/dist/src/guide/initData.html | 14 ++-- .vitepress/dist/src/guide/plugin.html | 14 ++-- .vitepress/dist/src/guide/quick.html | 14 ++-- .vitepress/dist/src/guide/security.html | 14 ++-- .vitepress/dist/src/guide/service.html | 14 ++-- .vitepress/dist/src/guide/swagger.html | 14 ++-- .vitepress/dist/src/guide/upload.html | 14 ++-- .vitepress/dist/src/introduce/index.html | 14 ++-- .vitepress/dist/src/introduce/show.html | 14 ++-- .vitepress/dist/src/introduce/src.html | 14 ++-- .vitepress/dist/src/question/common.html | 14 ++-- .vitepress/dist/src/todo/plan.html | 14 ++-- .vitepress/dist/src/todo/update.html | 14 ++-- .vitepress/theme/index.js | 42 ++++++------ .vitepress/theme/layout.vue | 64 +++++++++++++++++++ 85 files changed, 315 insertions(+), 251 deletions(-) rename .vitepress/dist/assets/{README.md.CH6W0xY-.js => README.md.21sdoxr8.js} (89%) rename .vitepress/dist/assets/{README.md.CH6W0xY-.lean.js => README.md.21sdoxr8.lean.js} (67%) rename .vitepress/dist/assets/{app.FDx_p2g5.js => app.C4vF_6Mf.js} (81%) create mode 100644 .vitepress/dist/assets/chunks/@localSearchIndexroot.D5Sydc4b.js delete mode 100644 .vitepress/dist/assets/chunks/@localSearchIndexroot.DenxaxWg.js rename .vitepress/dist/assets/chunks/{VPLocalSearchBox.Lzxu1EgN.js => VPLocalSearchBox.DBG8xJHY.js} (96%) rename .vitepress/dist/assets/chunks/{framework.DkvLLw5I.js => framework.C_oE5szm.js} (99%) create mode 100644 .vitepress/dist/assets/chunks/theme.BGRQRpgk.js delete mode 100644 .vitepress/dist/assets/chunks/theme.RzTZTo5D.js rename .vitepress/dist/assets/{index.md.Cgb96qqp.js => index.md.IDM-wWfu.js} (99%) rename .vitepress/dist/assets/{index.md.Cgb96qqp.lean.js => index.md.IDM-wWfu.lean.js} (99%) rename .vitepress/dist/assets/{src_about_index.md.D5pLvKL8.js => src_about_index.md.u0DlwXFy.js} (93%) rename .vitepress/dist/assets/{src_about_index.md.D5pLvKL8.lean.js => src_about_index.md.u0DlwXFy.lean.js} (71%) rename .vitepress/dist/assets/{src_guide_ai.md.CQr0rH-R.js => src_guide_ai.md.PrgLyacX.js} (85%) rename .vitepress/dist/assets/{src_guide_ai.md.CQr0rH-R.lean.js => src_guide_ai.md.PrgLyacX.lean.js} (85%) rename .vitepress/dist/assets/{src_guide_cache.md.sFO9ncvK.js => src_guide_cache.md.TbXSwkcj.js} (98%) rename .vitepress/dist/assets/{src_guide_cache.md.sFO9ncvK.lean.js => src_guide_cache.md.TbXSwkcj.lean.js} (69%) rename .vitepress/dist/assets/{src_guide_controller.md.CKU6QhGJ.js => src_guide_controller.md.DCo4_59t.js} (99%) rename .vitepress/dist/assets/{src_guide_controller.md.CKU6QhGJ.lean.js => src_guide_controller.md.DCo4_59t.lean.js} (70%) rename .vitepress/dist/assets/{src_guide_db.md.CW_Li52O.js => src_guide_db.md.Duwyo5Xx.js} (98%) rename .vitepress/dist/assets/{src_guide_db.md.CW_Li52O.lean.js => src_guide_db.md.Duwyo5Xx.lean.js} (69%) rename .vitepress/dist/assets/{src_guide_dev.md.BolOgpNe.js => src_guide_dev.md.Dkd1jFPN.js} (98%) rename .vitepress/dist/assets/{src_guide_dev.md.BolOgpNe.lean.js => src_guide_dev.md.Dkd1jFPN.lean.js} (70%) rename .vitepress/dist/assets/{src_guide_dir.md.yr-Ujx3e.js => src_guide_dir.md.RpZMF5oN.js} (96%) rename .vitepress/dist/assets/{src_guide_dir.md.yr-Ujx3e.lean.js => src_guide_dir.md.RpZMF5oN.lean.js} (69%) rename .vitepress/dist/assets/{src_guide_exception.md.BnNhx80g.js => src_guide_exception.md.B8TYnOY4.js} (99%) rename .vitepress/dist/assets/{src_guide_exception.md.BnNhx80g.lean.js => src_guide_exception.md.B8TYnOY4.lean.js} (71%) rename .vitepress/dist/assets/{src_guide_flow.md.DW-rwMWD.js => src_guide_flow.md.Bg5zEnLF.js} (91%) rename .vitepress/dist/assets/{src_guide_flow.md.DW-rwMWD.lean.js => src_guide_flow.md.Bg5zEnLF.lean.js} (70%) rename .vitepress/dist/assets/{src_guide_initData.md.xxcXuYBs.js => src_guide_initData.md.CWyYHbHt.js} (98%) rename .vitepress/dist/assets/{src_guide_initData.md.xxcXuYBs.lean.js => src_guide_initData.md.CWyYHbHt.lean.js} (70%) rename .vitepress/dist/assets/{src_guide_plugin.md.D3cyKMhP.js => src_guide_plugin.md.Har19Yp0.js} (99%) rename .vitepress/dist/assets/{src_guide_plugin.md.D3cyKMhP.lean.js => src_guide_plugin.md.Har19Yp0.lean.js} (70%) rename .vitepress/dist/assets/{src_guide_quick.md.BnN2Y-B1.js => src_guide_quick.md.B3Pgf-em.js} (98%) rename .vitepress/dist/assets/{src_guide_quick.md.BnN2Y-B1.lean.js => src_guide_quick.md.B3Pgf-em.lean.js} (71%) rename .vitepress/dist/assets/{src_guide_security.md.DhNBVqnr.js => src_guide_security.md.D2ao104D.js} (99%) rename .vitepress/dist/assets/{src_guide_security.md.DhNBVqnr.lean.js => src_guide_security.md.D2ao104D.lean.js} (70%) rename .vitepress/dist/assets/{src_guide_service.md.NY_1YFAS.js => src_guide_service.md.DFVHuVBZ.js} (97%) rename .vitepress/dist/assets/{src_guide_service.md.NY_1YFAS.lean.js => src_guide_service.md.DFVHuVBZ.lean.js} (70%) rename .vitepress/dist/assets/{src_guide_swagger.md.C8SICQIq.js => src_guide_swagger.md.Cb0cwFc8.js} (97%) rename .vitepress/dist/assets/{src_guide_swagger.md.C8SICQIq.lean.js => src_guide_swagger.md.Cb0cwFc8.lean.js} (70%) rename .vitepress/dist/assets/{src_guide_upload.md.B0f_XRGJ.js => src_guide_upload.md.CxcWqhw1.js} (98%) rename .vitepress/dist/assets/{src_guide_upload.md.B0f_XRGJ.lean.js => src_guide_upload.md.CxcWqhw1.lean.js} (70%) rename .vitepress/dist/assets/{src_introduce_index.md.BzftqBMQ.js => src_introduce_index.md.DA1PheMx.js} (96%) rename .vitepress/dist/assets/{src_introduce_index.md.BzftqBMQ.lean.js => src_introduce_index.md.DA1PheMx.lean.js} (71%) rename .vitepress/dist/assets/{src_introduce_show.md.y18FuumV.js => src_introduce_show.md.D0p_OwAi.js} (85%) rename .vitepress/dist/assets/{src_introduce_show.md.y18FuumV.lean.js => src_introduce_show.md.D0p_OwAi.lean.js} (70%) rename .vitepress/dist/assets/{src_introduce_src.md.DQBTxkeX.js => src_introduce_src.md.B9s21jCc.js} (94%) rename .vitepress/dist/assets/{src_introduce_src.md.DQBTxkeX.lean.js => src_introduce_src.md.B9s21jCc.lean.js} (69%) rename .vitepress/dist/assets/{src_question_common.md.DWynvsYj.js => src_question_common.md.DOoSuwHd.js} (91%) rename .vitepress/dist/assets/{src_question_common.md.DWynvsYj.lean.js => src_question_common.md.DOoSuwHd.lean.js} (70%) rename .vitepress/dist/assets/{src_todo_plan.md.DMPQzB0x.js => src_todo_plan.md.OECDxoZt.js} (86%) rename .vitepress/dist/assets/{src_todo_plan.md.DMPQzB0x.lean.js => src_todo_plan.md.OECDxoZt.lean.js} (69%) rename .vitepress/dist/assets/{src_todo_update.md.D6XioiBw.js => src_todo_update.md.y1o13J5g.js} (91%) rename .vitepress/dist/assets/{src_todo_update.md.D6XioiBw.lean.js => src_todo_update.md.y1o13J5g.lean.js} (69%) delete mode 100644 .vitepress/dist/assets/style.CoKMOhgV.css create mode 100644 .vitepress/dist/assets/style.sNAlF7rx.css create mode 100644 .vitepress/theme/layout.vue diff --git a/.vitepress/dist/404.html b/.vitepress/dist/404.html index fcca4f1..ea678fa 100644 --- a/.vitepress/dist/404.html +++ b/.vitepress/dist/404.html @@ -6,16 +6,16 @@ 404 | Cool Admin - + - +
- + \ No newline at end of file diff --git a/.vitepress/dist/README.html b/.vitepress/dist/README.html index de07c41..725cfc7 100644 --- a/.vitepress/dist/README.html +++ b/.vitepress/dist/README.html @@ -6,19 +6,19 @@ 介绍 | Cool Admin - + - + - - - + + + -
Skip to content

介绍 ​

这是 Cool Admin(Java 版)的在线文档仓库,我们会尽力完善文档。也希望广大开发者粉丝帮助完善文档,积极提交Pull requests,共同参与开源,你的贡献可能给其他人代码巨大的帮助

地址 ​

- +
Skip to content

介绍 ​

这是 Cool Admin(Java 版)的在线文档仓库,我们会尽力完善文档。也希望广大开发者粉丝帮助完善文档,积极提交Pull requests,共同参与开源,你的贡献可能给其他人代码巨大的帮助

地址 ​

+ \ No newline at end of file diff --git a/.vitepress/dist/assets/README.md.CH6W0xY-.js b/.vitepress/dist/assets/README.md.21sdoxr8.js similarity index 89% rename from .vitepress/dist/assets/README.md.CH6W0xY-.js rename to .vitepress/dist/assets/README.md.21sdoxr8.js index ed2e996..471d793 100644 --- a/.vitepress/dist/assets/README.md.CH6W0xY-.js +++ b/.vitepress/dist/assets/README.md.21sdoxr8.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.DkvLLw5I.js";const f=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1720848653000}'),r={name:"README.md"},l=o('

介绍 ​

这是 Cool Admin(Java 版)的在线文档仓库,我们会尽力完善文档。也希望广大开发者粉丝帮助完善文档,积极提交Pull requests,共同参与开源,你的贡献可能给其他人代码巨大的帮助

地址 ​

',4),c=[l];function n(s,i,_,d,h,p){return t(),e("div",null,c)}const u=a(r,[["render",n]]);export{f as __pageData,u as default}; +import{_ as a,c as e,o as t,a5 as o}from"./chunks/framework.C_oE5szm.js";const f=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1720848653000}'),r={name:"README.md"},l=o('

介绍 ​

这是 Cool Admin(Java 版)的在线文档仓库,我们会尽力完善文档。也希望广大开发者粉丝帮助完善文档,积极提交Pull requests,共同参与开源,你的贡献可能给其他人代码巨大的帮助

地址 ​

',4),c=[l];function n(s,i,_,d,h,p){return t(),e("div",null,c)}const u=a(r,[["render",n]]);export{f as __pageData,u as default}; diff --git a/.vitepress/dist/assets/README.md.CH6W0xY-.lean.js b/.vitepress/dist/assets/README.md.21sdoxr8.lean.js similarity index 67% rename from .vitepress/dist/assets/README.md.CH6W0xY-.lean.js rename to .vitepress/dist/assets/README.md.21sdoxr8.lean.js index 2cb9eb8..7249491 100644 --- a/.vitepress/dist/assets/README.md.CH6W0xY-.lean.js +++ b/.vitepress/dist/assets/README.md.21sdoxr8.lean.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.DkvLLw5I.js";const f=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1720848653000}'),r={name:"README.md"},l=o("",4),c=[l];function n(s,i,_,d,h,p){return t(),e("div",null,c)}const u=a(r,[["render",n]]);export{f as __pageData,u as default}; +import{_ as a,c as e,o as t,a5 as o}from"./chunks/framework.C_oE5szm.js";const f=JSON.parse('{"title":"介绍","description":"","frontmatter":{},"headers":[],"relativePath":"README.md","filePath":"README.md","lastUpdated":1720848653000}'),r={name:"README.md"},l=o("",4),c=[l];function n(s,i,_,d,h,p){return t(),e("div",null,c)}const u=a(r,[["render",n]]);export{f as __pageData,u as default}; diff --git a/.vitepress/dist/assets/app.FDx_p2g5.js b/.vitepress/dist/assets/app.C4vF_6Mf.js similarity index 81% rename from .vitepress/dist/assets/app.FDx_p2g5.js rename to .vitepress/dist/assets/app.C4vF_6Mf.js index c9b69fc..061dcf5 100644 --- a/.vitepress/dist/assets/app.FDx_p2g5.js +++ b/.vitepress/dist/assets/app.C4vF_6Mf.js @@ -1 +1 @@ -import{U as o,ae as p,af as u,ag as l,ah as c,ai as f,aj as d,ak as m,al as h,am as g,an as A,d as P,u as v,y,x as w,ao as C,ap as R,aq as b,ar as E}from"./chunks/framework.DkvLLw5I.js";import{R as S}from"./chunks/theme.RzTZTo5D.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(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();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 j(){return h(T)}function x(){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=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp}; +import{U as o,af as p,ag as u,ah as l,ai as c,aj as f,ak as d,al as m,am as h,an as g,ao as A,d as P,u as v,y,x as w,ap as C,aq as R,ar as b,as as E}from"./chunks/framework.C_oE5szm.js";import{R as S}from"./chunks/theme.BGRQRpgk.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(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();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 j(){return h(T)}function x(){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=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp}; diff --git a/.vitepress/dist/assets/chunks/@localSearchIndexroot.D5Sydc4b.js b/.vitepress/dist/assets/chunks/@localSearchIndexroot.D5Sydc4b.js new file mode 100644 index 0000000..73b6899 --- /dev/null +++ b/.vitepress/dist/assets/chunks/@localSearchIndexroot.D5Sydc4b.js @@ -0,0 +1 @@ +const e='{"documentCount":82,"nextId":82,"documentIds":{"0":"/README.html#介绍","1":"/README.html#地址","2":"/src/about/#交流合作","3":"/src/about/#微信","4":"/src/about/#抖音","5":"/src/about/#b-站","6":"/src/about/#公众号","7":"/src/guide/ai.html#ai-编码","8":"/src/guide/controller.html#控制器","9":"/src/guide/controller.html#示例","10":"/src/guide/controller.html#查询配置","11":"/src/guide/controller.html#请求参数","12":"/src/guide/controller.html#重写实现","13":"/src/guide/controller.html#原理","14":"/src/guide/controller.html#接口路由规则","15":"/src/guide/controller.html#自定义路由注解","16":"/src/guide/controller.html#重写-getmappingformethod","17":"/src/guide/cache.html#缓存","18":"/src/guide/cache.html#使用","19":"/src/guide/db.html#数据库","20":"/src/guide/db.html#功能对比","21":"/src/guide/db.html#支持数据库","22":"/src/guide/db.html#自动建表","23":"/src/guide/dev.html#开发方式","24":"/src/guide/dev.html#ai-全自动","25":"/src/guide/dev.html#半自动","26":"/src/guide/dir.html#目录结构","27":"/src/guide/dir.html#结构","28":"/src/guide/exception.html#统一异常处理","29":"/src/guide/exception.html#异常统一捕获","30":"/src/guide/flow.html#ai-流程编排","31":"/src/guide/initData.html#数据初始化","32":"/src/guide/plugin.html#扩展插件","33":"/src/guide/plugin.html#使用插件","34":"/src/guide/plugin.html#_1、安装","35":"/src/guide/plugin.html#_2、调用","36":"/src/guide/plugin.html#_3、配置","37":"/src/guide/plugin.html#开发插件","38":"/src/guide/plugin.html#_1、脚手架","39":"/src/guide/plugin.html#_2、目录结构","40":"/src/guide/plugin.html#_3、开发过程","41":"/src/guide/plugin.html#_4、字段解释","42":"/src/guide/plugin.html#插件详解","43":"/src/guide/plugin.html#打包","44":"/src/guide/plugin.html#安装插件","45":"/src/guide/plugin.html#实现原理","46":"/src/guide/quick.html#快速开始","47":"/src/guide/quick.html#环境准备","48":"/src/guide/quick.html#运行系统","49":"/src/guide/quick.html#_1、拉取源码","50":"/src/guide/quick.html#_2、配置数据库","51":"/src/guide/quick.html#_3、启动后端服务","52":"/src/guide/quick.html#_4、启动前端服务","53":"/src/guide/security.html#权限校验","54":"/src/guide/security.html#配置","55":"/src/guide/security.html#原理","56":"/src/guide/security.html#当前用户","57":"/src/guide/service.html#服务","58":"/src/guide/service.html#crud","59":"/src/guide/service.html#修改前后","60":"/src/guide/swagger.html#swagger-文档","61":"/src/guide/upload.html#文件上传","62":"/src/guide/upload.html#使用","63":"/src/introduce/#简介","64":"/src/introduce/#技术选型","65":"/src/introduce/#一、环境要求","66":"/src/introduce/#二、后端框架","67":"/src/introduce/#三、前端框架","68":"/src/introduce/#为什么选择-cool-admin","69":"/src/introduce/#内置功能","70":"/src/introduce/show.html#演示","71":"/src/introduce/src.html#源码","72":"/src/introduce/src.html#后端-点个-star-哦","73":"/src/introduce/src.html#前端-点个-star-哦","74":"/src/introduce/src.html#文档-star-哦","75":"/src/question/common.html#常见问题","76":"/src/question/common.html#_1、找不到类似xxxtabledef文件","77":"/src/todo/plan.html#计划","78":"/src/todo/plan.html#完善插件","79":"/src/todo/update.html#更新","80":"/src/todo/update.html#v7-1-1-2024-07-15","81":"/src/todo/update.html#v7-1-0-2024-06-27"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,13],"1":[1,1,8],"2":[1,1,4],"3":[1,1,2],"4":[1,1,11],"5":[2,1,3],"6":[1,1,6],"7":[2,1,7],"8":[1,1,15],"9":[1,1,48],"10":[1,1,64],"11":[1,1,57],"12":[1,1,63],"13":[1,1,1],"14":[1,1,24],"15":[1,1,14],"16":[2,1,43],"17":[1,1,35],"18":[1,1,40],"19":[1,1,41],"20":[1,1,79],"21":[1,1,112],"22":[1,1,21],"23":[1,1,7],"24":[2,1,12],"25":[1,1,51],"26":[1,1,4],"27":[1,1,58],"28":[1,1,8],"29":[1,1,78],"30":[2,1,28],"31":[1,1,76],"32":[1,1,9],"33":[1,1,1],"34":[2,2,9],"35":[2,2,204],"36":[2,2,18],"37":[1,1,1],"38":[2,2,16],"39":[2,2,25],"40":[2,2,31],"41":[2,2,27],"42":[1,1,185],"43":[1,1,31],"44":[1,1,5],"45":[1,1,66],"46":[1,1,4],"47":[1,1,19],"48":[1,1,1],"49":[2,2,4],"50":[2,2,45],"51":[2,2,59],"52":[2,2,24],"53":[1,1,7],"54":[1,1,14],"55":[1,1,243],"56":[1,1,30],"57":[1,1,2],"58":[1,1,5],"59":[1,1,21],"60":[2,1,48],"61":[1,1,17],"62":[1,1,78],"63":[1,1,1],"64":[1,1,4],"65":[2,2,14],"66":[2,2,10],"67":[2,2,5],"68":[4,1,26],"69":[1,1,38],"70":[1,1,11],"71":[1,1,7],"72":[5,1,11],"73":[5,1,11],"74":[4,1,15],"75":[1,1,2],"76":[2,1,29],"77":[1,1,4],"78":[1,1,9],"79":[1,1,8],"80":[6,1,9],"81":[7,1,8]},"averageFieldLength":[1.5609756097560976,1.1707317073170738,30.536585365853647],"storedFields":{"0":{"title":"介绍","titles":[]},"1":{"title":"地址","titles":[]},"2":{"title":"交流合作","titles":[]},"3":{"title":"微信","titles":["交流合作"]},"4":{"title":"抖音","titles":["交流合作"]},"5":{"title":"B 站","titles":["交流合作"]},"6":{"title":"公众号","titles":["交流合作"]},"7":{"title":"Ai 编码","titles":[]},"8":{"title":"控制器","titles":[]},"9":{"title":"示例","titles":["控制器"]},"10":{"title":"查询配置","titles":["控制器"]},"11":{"title":"请求参数","titles":["控制器"]},"12":{"title":"重写实现","titles":["控制器"]},"13":{"title":"原理","titles":[]},"14":{"title":"接口路由规则","titles":["原理"]},"15":{"title":"自定义路由注解","titles":["原理"]},"16":{"title":"重写 getMappingForMethod","titles":["原理"]},"17":{"title":"缓存","titles":[]},"18":{"title":"使用","titles":[]},"19":{"title":"数据库","titles":[]},"20":{"title":"功能对比","titles":["数据库"]},"21":{"title":"支持数据库","titles":["数据库"]},"22":{"title":"自动建表","titles":["数据库"]},"23":{"title":"开发方式","titles":[]},"24":{"title":"Ai 全自动","titles":["开发方式"]},"25":{"title":"半自动","titles":["开发方式"]},"26":{"title":"目录结构","titles":[]},"27":{"title":"结构","titles":["目录结构"]},"28":{"title":"统一异常处理","titles":[]},"29":{"title":"异常统一捕获","titles":["统一异常处理"]},"30":{"title":"Ai 流程编排","titles":[]},"31":{"title":"数据初始化","titles":[]},"32":{"title":"扩展插件","titles":[]},"33":{"title":"使用插件","titles":["扩展插件"]},"34":{"title":"1、安装","titles":["扩展插件","使用插件"]},"35":{"title":"2、调用","titles":["扩展插件","使用插件"]},"36":{"title":"3、配置","titles":["扩展插件","使用插件"]},"37":{"title":"开发插件","titles":["扩展插件"]},"38":{"title":"1、脚手架","titles":["扩展插件","开发插件"]},"39":{"title":"2、目录结构","titles":["扩展插件","开发插件"]},"40":{"title":"3、开发过程","titles":["扩展插件","开发插件"]},"41":{"title":"4、字段解释","titles":["扩展插件","开发插件"]},"42":{"title":"插件详解","titles":["扩展插件"]},"43":{"title":"打包","titles":["扩展插件"]},"44":{"title":"安装插件","titles":["扩展插件"]},"45":{"title":"实现原理","titles":["扩展插件"]},"46":{"title":"快速开始","titles":[]},"47":{"title":"环境准备","titles":["快速开始"]},"48":{"title":"运行系统","titles":["快速开始"]},"49":{"title":"1、拉取源码","titles":["快速开始","运行系统"]},"50":{"title":"2、配置数据库","titles":["快速开始","运行系统"]},"51":{"title":"3、启动后端服务","titles":["快速开始","运行系统"]},"52":{"title":"4、启动前端服务","titles":["快速开始","运行系统"]},"53":{"title":"权限校验","titles":[]},"54":{"title":"配置","titles":["权限校验"]},"55":{"title":"原理","titles":["权限校验"]},"56":{"title":"当前用户","titles":["权限校验"]},"57":{"title":"服务","titles":[]},"58":{"title":"Crud","titles":["服务"]},"59":{"title":"修改前后","titles":["服务"]},"60":{"title":"swagger 文档","titles":[]},"61":{"title":"文件上传","titles":[]},"62":{"title":"使用","titles":[]},"63":{"title":"简介","titles":[]},"64":{"title":"技术选型","titles":["简介"]},"65":{"title":"一、环境要求","titles":["简介","技术选型"]},"66":{"title":"二、后端框架","titles":["简介","技术选型"]},"67":{"title":"三、前端框架","titles":["简介","技术选型"]},"68":{"title":"为什么选择 Cool Admin?","titles":["简介"]},"69":{"title":"内置功能","titles":["简介"]},"70":{"title":"演示","titles":[]},"71":{"title":"源码","titles":[]},"72":{"title":"后端(点个 Star 哦)","titles":["源码"]},"73":{"title":"前端(点个 Star 哦)","titles":["源码"]},"74":{"title":"文档 (Star 哦)","titles":["源码"]},"75":{"title":"常见问题","titles":[]},"76":{"title":"1、找不到类似xxxTableDef文件","titles":["常见问题"]},"77":{"title":"计划","titles":[]},"78":{"title":"完善插件","titles":["计划"]},"79":{"title":"更新","titles":[]},"80":{"title":"## v7.1.1(2024-07-15)","titles":["更新"]},"81":{"title":"v7.1.0(2024-06-27)","titles":["更新"]}},"dirtCount":0,"index":[["升级所有相关依赖到最新",{"2":{"81":1}}],["升级到",{"2":{"81":1}}],["简单功能零代码实现",{"2":{"80":1}}],["简介",{"0":{"63":1},"1":{"64":1,"65":1,"66":1,"67":1,"68":1,"69":1}}],["支付",{"2":{"80":1}}],["支付插件",{"2":{"78":1}}],["支持动态安装",{"2":{"69":1}}],["支持回滚操作",{"2":{"69":1}}],["支持静态资源文件上传云端进行云管理",{"2":{"69":1}}],["支持很多数据库",{"2":{"21":1}}],["支持的数据库类型",{"2":{"21":1}}],["支持数据库",{"0":{"21":1}}],["支持多主键",{"2":{"20":1}}],["支持关联查询",{"2":{"19":1}}],["短信等功能可以通过安装插件的方式添加",{"2":{"80":1}}],["短信插件",{"2":{"78":1}}],["短信这类功能的插件可以通过后台动态安装卸载",{"2":{"68":1}}],["完善插件",{"0":{"78":1}}],["计划",{"0":{"77":1},"1":{"78":1}}],["找不到类似xxxtabledef文件",{"0":{"76":1}}],["常见问题",{"0":{"75":1},"1":{"76":1}}],["常用的技术进行选择",{"2":{"64":1}}],["您的贡献可能会给其他人来带巨大的帮助",{"2":{"74":1}}],["哦",{"0":{"72":1,"73":1,"74":1}}],["点个",{"0":{"72":1,"73":1}}],["点击+按钮",{"2":{"34":1}}],["点击左侧菜单扩展管理",{"2":{"34":1}}],["点击前往插件市场",{"2":{"32":1}}],["源码",{"0":{"71":1},"1":{"72":1,"73":1,"74":1}}],["源码仓库",{"2":{"49":1}}],["演示",{"0":{"70":1}}],["卸载插件",{"2":{"69":1}}],["卸载和替换",{"2":{"45":2}}],["前后端插件",{"2":{"69":1}}],["前端",{"0":{"73":1}}],["前端框架",{"0":{"67":1}}],["前端会根据后端返回的上传模式进行本地上传或者云存储签名直传",{"2":{"61":1}}],["前端接口",{"2":{"14":1}}],["天的保留",{"2":{"69":1}}],["任务调度包含执行结果日志",{"2":{"69":1}}],["添加",{"2":{"69":1}}],["定时任务",{"2":{"69":1}}],["定时任务模块",{"2":{"27":1}}],["便于问题排查",{"2":{"69":1}}],["设置角色按机构进行数据范围权限划分",{"2":{"69":1}}],["呈现公司组织部门树形结构",{"2":{"69":1}}],["内置功能",{"0":{"69":1}}],["代码简洁",{"2":{"68":1}}],["灵活又不臃肿",{"2":{"68":1}}],["灵活性",{"2":{"45":1}}],["灵活性高",{"2":{"45":1}}],["专门为",{"2":{"68":1}}],["部分功能实现零代码",{"2":{"68":1}}],["从页面到后端代码",{"2":{"68":1}}],["特别是最近",{"2":{"68":1}}],["特别是跟",{"2":{"4":1}}],["三",{"0":{"67":1}}],["二",{"0":{"66":1}}],["环境要求",{"0":{"65":1}}],["环境准备",{"0":{"47":1}}],["减少技术栈的复杂度",{"2":{"64":1}}],["技术选型",{"0":{"64":1},"1":{"65":1,"66":1,"67":1}}],["技术分享",{"2":{"4":1,"6":1}}],["方便一张图片使用在多种场景",{"2":{"62":1}}],["方法去调用主应用的一些对象方法",{"2":{"35":1}}],["方法第一个参数如果为",{"2":{"29":1}}],["方法",{"2":{"16":1,"35":5}}],["水印等处理",{"2":{"62":1}}],["裁剪",{"2":{"62":1}}],["还可以对图片进行各种如压缩",{"2":{"62":1}}],["还可以了解到一些前沿的技术",{"2":{"4":1}}],["条件允许的话尽量选择云存储上传",{"2":{"62":1}}],["防止上传恶意文件等",{"2":{"62":1}}],["动静分离有许多好处",{"2":{"62":1}}],["动态加载使得应用程序能够在不停机的情况下进行热更新",{"2":{"45":1}}],["动态加载允许应用程序在运行时根据需求加载",{"2":{"45":1}}],["动态加载",{"2":{"45":2}}],["动态",{"2":{"20":1}}],["动态表名",{"2":{"20":1}}],["线上环境请用nginx等静态服务器代理",{"2":{"62":1}}],["$",{"2":{"62":1}}],["七牛云等",{"2":{"61":1}}],["腾讯云",{"2":{"61":1}}],["云存储上传服务端值提供签名供前端直传到对应的云存储",{"2":{"61":1}}],["云存储",{"2":{"61":1}}],["本地上传配置",{"2":{"62":1}}],["本地上传",{"2":{"61":1}}],["本身",{"2":{"19":1}}],["直接上传到对应的云存储",{"2":{"61":1}}],["操作日志",{"2":{"69":1}}],["操作权限标识等",{"2":{"69":1}}],["操作",{"2":{"58":1}}],["处理业务逻辑的代码应该被封装在服务中",{"2":{"57":1}}],["处理逻辑在以下方法",{"2":{"31":1}}],["服务",{"0":{"57":1},"1":{"58":1,"59":1}}],["服务启动成功",{"2":{"51":1}}],["类型",{"2":{"56":1}}],["类必须继承",{"2":{"35":1,"42":2}}],["类必须要有",{"2":{"35":1,"42":2}}],["当前用户",{"0":{"56":1}}],["允许网页iframe",{"2":{"55":1}}],["忽略权限控制的地址",{"2":{"55":1}}],["鉴权拦截配置",{"2":{"55":1}}],["监控用户行为",{"2":{"55":1}}],["监听",{"2":{"20":1}}],["权限管理拦截器",{"2":{"55":1}}],["权限校验",{"0":{"53":1},"1":{"54":1,"55":1,"56":1}}],["每次调用接口的时候spring",{"2":{"55":1}}],["每个插件的配置各不相同",{"2":{"41":1}}],["每个对象中的",{"2":{"31":1}}],["每个模块都有其特有的功能",{"2":{"26":1}}],["则返回给decide方法",{"2":{"55":1}}],["判定用户请求的url是否在权限表中",{"2":{"55":1}}],["判断",{"2":{"29":1}}],["刷新token过期时间",{"2":{"54":1}}],["半小时",{"2":{"54":1}}],["半自动",{"0":{"25":1}}],["秒",{"2":{"54":2}}],["单位",{"2":{"54":2}}],["单主键配置",{"2":{"20":1}}],["过期时间",{"2":{"54":1}}],["作为文档",{"2":{"60":1}}],["作为myaccessdecisionmanager类的decide的第三个参数",{"2":{"55":1}}],["作为框架安全与权限校验",{"2":{"53":1}}],["作者",{"2":{"40":1,"41":1}}],["采用",{"2":{"53":1}}],["密码版本号",{"2":{"56":1}}],["密码",{"2":{"52":1,"70":1}}],["账户",{"2":{"52":1,"70":1}}],["账户密码不正确",{"2":{"29":1}}],["默认集成springdoc",{"2":{"60":1}}],["默认账户密码",{"2":{"52":1}}],["默认实现了两种缓存",{"2":{"17":1}}],["默认实现了通用的六个接口方法",{"2":{"12":1}}],["执行",{"2":{"76":1}}],["执行命令",{"2":{"52":1}}],["执行的过程中",{"2":{"19":1}}],["同级",{"2":{"52":1}}],["同样也可以对",{"2":{"12":1}}],["跟进nodejs",{"2":{"81":1}}],["跟",{"2":{"52":1}}],["跟分页查询一样",{"2":{"10":1}}],["访问http",{"2":{"52":1}}],["访问",{"2":{"51":1}}],["端口",{"2":{"51":1}}],["构建eps信息",{"2":{"51":1}}],["没有可初始化的插件",{"2":{"51":1}}],["没有任何的",{"2":{"19":1}}],["没有任何",{"2":{"19":1}}],["控制台打印出下面信息",{"2":{"51":1}}],["控制器",{"0":{"8":1},"1":{"9":1,"10":1,"11":1,"12":1}}],["启动",{"2":{"52":1}}],["启动前端服务",{"0":{"52":1}}],["启动文件",{"2":{"51":1}}],["启动后端服务",{"0":{"51":1}}],["驱动已经内置",{"2":{"50":1}}],["首次启动会自动初始化并导入数据",{"2":{"50":1}}],["首先下载插件包",{"2":{"34":1}}],["建议",{"2":{"50":1}}],["建议尺寸",{"2":{"41":1}}],["yamlcool",{"2":{"54":1,"62":1}}],["yaml",{"2":{"50":1}}],["yamlspring",{"2":{"17":1}}],["yml",{"2":{"50":1,"62":1}}],["拉取源码",{"0":{"49":1}}],["9000",{"2":{"52":1}}],["941+08",{"2":{"51":1}}],["9",{"2":{"47":1}}],["推荐",{"2":{"47":2,"76":1}}],["推荐两种快速开发方式",{"2":{"23":1}}],["7天",{"2":{"54":1}}],["7版本",{"2":{"50":1}}],["7",{"2":{"47":1,"65":1}}],["选择",{"2":{"47":1,"65":1}}],["选择插件包进行安装",{"2":{"34":1}}],["开启",{"2":{"76":1}}],["开始使用",{"2":{"46":1}}],["开发几乎不用写代码",{"2":{"68":1}}],["开发设计的",{"2":{"68":1}}],["开发过程",{"0":{"40":1}}],["开发过程只需点一点",{"2":{"24":1}}],["开发插件",{"0":{"37":1},"1":{"38":1,"39":1,"40":1,"41":1}}],["开发的时候无法调试",{"2":{"35":1}}],["开发的时候只是模拟",{"2":{"35":1}}],["开发的一个",{"2":{"17":1}}],["开发",{"2":{"30":1}}],["开发方式",{"0":{"23":1},"1":{"24":1,"25":1}}],["开发者可以从中方便的获取各种参数",{"2":{"11":1}}],["快速开始",{"0":{"46":1},"1":{"47":1,"48":1,"49":1,"50":1,"51":1,"52":1}}],["扩展性",{"2":{"45":1}}],["扩展插件",{"0":{"32":1},"1":{"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1},"2":{"68":1}}],["大大提高了系统的可用性和稳定性",{"2":{"45":1}}],["热更新",{"2":{"45":1}}],["优化若干问题",{"2":{"81":1}}],["优势",{"2":{"45":1}}],["优炫数据库",{"2":{"21":1}}],["远程服务器和",{"2":{"45":1}}],["它可以加载指定的",{"2":{"45":1}}],["标准库中提供的一个类加载器",{"2":{"45":1}}],["最终打出的包为",{"2":{"43":1}}],["里指定",{"2":{"43":1}}],["里面是个数组",{"2":{"31":1}}],["就是我们的插件包",{"2":{"43":1}}],["就可以在代码中调用插件的方法了",{"2":{"35":1}}],["后端",{"0":{"72":1}}],["后端框架",{"0":{"66":1}}],["后端修改数据库配置",{"2":{"50":1}}],["后端接口",{"2":{"14":1}}],["后缀的文件",{"2":{"43":1}}],["打包结果",{"2":{"43":1}}],["打包命令",{"2":{"43":1}}],["打包",{"0":{"43":1}}],["打包时可以排除",{"2":{"42":1}}],["打开后台管理系统",{"2":{"34":1}}],["避免打包结果过大",{"2":{"42":1}}],["避免插件过大不会在打入jar包中",{"2":{"42":1}}],["主应用以有这些依赖",{"2":{"42":1}}],["主应用项目已经有的依赖给排除掉",{"2":{"42":1}}],["主应用没有这些依赖",{"2":{"42":1}}],["主要特点",{"2":{"19":1,"68":1}}],["主要是做一些技术教程",{"2":{"4":1}}],["以下是我们的一些计划",{"2":{"77":1}}],["以下包会打入jar",{"2":{"42":1}}],["以往的框架已经越来越不能满足现代化的开发需求",{"2":{"68":1}}],["以",{"2":{"50":1}}],["以上包在主应用已经引入",{"2":{"42":1}}],["以上内容来自第三方相关产品的官方文档或第三方平台",{"2":{"20":1}}],["中实现动态加载",{"2":{"45":1}}],["中的",{"2":{"43":1}}],["中排除掉不打入jar",{"2":{"42":2}}],["中重写方法",{"2":{"12":1}}],["引入依赖",{"2":{"42":1}}],["可商用",{"2":{"71":1}}],["可插拔",{"2":{"68":1}}],["可选",{"2":{"62":1}}],["可维护性",{"2":{"45":1}}],["可控性强",{"2":{"45":1}}],["可在",{"2":{"43":1}}],["可使用",{"2":{"42":1}}],["可以重写modifybefore和modifyafter方法",{"2":{"59":1}}],["可以参考baseservice的实现",{"2":{"58":1}}],["可以轻松地添加新的功能模块或服务",{"2":{"45":1}}],["可以将应用程序的核心逻辑和配置分离",{"2":{"45":1}}],["可以通过代码控制加载",{"2":{"45":1}}],["可以通过插件的方式来扩展系统功能",{"2":{"32":1}}],["可以动态指定",{"2":{"45":1}}],["可以快速开发我们的插件",{"2":{"38":1}}],["可以大大节省开发时间",{"2":{"23":1}}],["可以大大简化代码",{"2":{"8":1}}],["可以自动创建表",{"2":{"22":1}}],["可以选择你想使用的缓存",{"2":{"17":1}}],["可以在打包日志中查看我们排除和引入了哪些包",{"2":{"42":1}}],["可以在",{"2":{"31":1}}],["可以在对应的",{"2":{"12":1}}],["可以在这边实现一下列表数据排序规则",{"2":{"9":1,"11":1,"12":1,"60":1}}],["满足以上条件",{"2":{"42":1}}],["拼音",{"2":{"42":1}}],["汉字",{"2":{"42":1}}],["汉字字符",{"2":{"42":1}}],["会持续不断地更新",{"2":{"79":1}}],["会展示在插件的详情中",{"2":{"41":1}}],["会更加简洁",{"2":{"29":1}}],["说明后端服务启动成功",{"2":{"51":1}}],["说明",{"2":{"41":1,"56":1}}],["403",{"2":{"55":1}}],["401",{"2":{"55":1}}],["46",{"2":{"51":1}}],["45",{"2":{"51":3}}],["4b57",{"2":{"42":1}}],["47ac",{"2":{"42":1}}],["4fd03504",{"2":{"42":1}}],["4",{"0":{"41":1,"52":1},"2":{"42":2,"45":1,"55":1}}],["上传模式",{"2":{"62":1}}],["上面只是个例子",{"2":{"40":1}}],["上加了这个注解后",{"2":{"16":1}}],["测试",{"2":{"40":1}}],["测试curd",{"2":{"9":2,"10":2,"11":2,"12":2,"25":1,"60":2}}],["加载权限表中所有操作请求权限",{"2":{"55":1}}],["加载成功后文件名称将被当作唯一键标识",{"2":{"31":1}}],["加上",{"2":{"39":1}}],["或",{"2":{"38":1,"72":1,"73":1,"74":1}}],["脚手架源码仓库",{"2":{"38":1}}],["脚手架",{"0":{"38":1}}],["下",{"2":{"36":1}}],["下的",{"2":{"31":1}}],["范围在",{"2":{"36":1}}],["路径可以自己指定",{"2":{"36":1}}],["例如原本的配置文件是这样的",{"2":{"36":1}}],["31908",{"2":{"51":4}}],["383+08",{"2":{"51":1}}],["382+08",{"2":{"51":1}}],["38",{"2":{"51":4}}],["3306",{"2":{"50":1}}],["32",{"2":{"42":1}}],["32615",{"2":{"35":8}}],["3c64059230d0",{"2":{"42":1}}],["3",{"0":{"36":1,"40":1,"51":1},"2":{"42":1,"45":1,"47":2,"51":1,"55":1,"65":1,"66":1}}],["其他数据库适配中",{"2":{"50":1}}],["其他查询方式",{"2":{"10":1}}],["其中对应的包名称",{"2":{"43":1}}],["其中",{"2":{"36":1}}],["其中我们可以在插件包里通过",{"2":{"35":1}}],["获得用户名",{"2":{"56":1}}],["获得用户信息",{"2":{"55":1,"56":1}}],["获得其他插件",{"2":{"35":1}}],["获取启用的权限操作请求",{"2":{"55":1}}],["获取主应用resources下的",{"2":{"35":1}}],["获取主应用resources目录下的资源文件",{"2":{"35":1}}],["只需极少编码即可实现大部分需求",{"2":{"68":1}}],["只需拖一拖即可",{"2":{"68":1}}],["只需三步",{"2":{"25":1}}],["只有安装到cool",{"2":{"35":1}}],["注解",{"2":{"35":2,"42":4}}],["注意",{"2":{"20":1,"21":1,"22":1,"30":1,"31":1,"47":1}}],["||",{"2":{"35":7}}],["|",{"2":{"35":67}}],["一",{"0":{"65":1}}],["一个插件",{"2":{"42":1}}],["一个插件jar有且只能有一个类被",{"2":{"35":1,"42":1}}],["一个项目用cool就够了",{"2":{"35":2}}],["一般抛异常写法",{"2":{"29":1}}],["`",{"2":{"35":10}}],["`update",{"2":{"35":1}}],["`create",{"2":{"35":1}}],["`params`",{"2":{"35":1}}],["`ip`",{"2":{"35":1}}],["`action`",{"2":{"35":1}}],["`base",{"2":{"35":1}}],["参数管理",{"2":{"69":1}}],["参数",{"2":{"35":1}}],["564+08",{"2":{"35":1}}],["556",{"2":{"51":1}}],["559+08",{"2":{"35":1}}],["558+08",{"2":{"35":1}}],["557+08",{"2":{"35":1}}],["554+08",{"2":{"35":1}}],["544+08",{"2":{"35":1}}],["543+08",{"2":{"35":2}}],["5",{"2":{"35":8,"42":6,"47":1,"65":1}}],["8",{"2":{"35":1,"42":3,"47":1,"50":2}}],["8001",{"2":{"35":5,"51":2,"60":1}}],["8s",{"2":{"21":2}}],["运行系统",{"0":{"48":1},"1":{"49":1,"50":1,"51":1,"52":1}}],["运行结果",{"2":{"35":1}}],["运行代码生成器",{"2":{"25":1}}],["without",{"2":{"42":1}}],["web",{"2":{"35":4}}],["wrappers",{"2":{"29":2,"55":1}}],["调用其他插件",{"2":{"35":1}}],["调用其他插件aliyun",{"2":{"35":1}}],["调用主应用获取缓存",{"2":{"35":1}}],["调用主应用设置缓存",{"2":{"35":1}}],["调用主应用",{"2":{"35":3}}],["调用插件类",{"2":{"35":1}}],["调用",{"0":{"35":1}}],["调一调",{"2":{"24":1}}],["27",{"0":{"81":1}}],["2b8",{"2":{"50":1}}],["26",{"2":{"42":3}}],["256x256",{"2":{"41":1}}],["2024",{"0":{"80":1,"81":1},"2":{"35":8,"51":4}}],["2",{"0":{"35":1,"39":1,"50":1},"2":{"42":5,"45":2,"55":1}}],["然后在系统中安装插件包",{"2":{"34":1}}],["安装云存储插件",{"2":{"61":1}}],["安装依赖",{"2":{"52":1}}],["安装插件将打包好的",{"2":{"44":1}}],["安装插件",{"0":{"44":1}}],["安装插件之后",{"2":{"35":1}}],["安装",{"0":{"34":1}}],["也可以使用别人开发的插件",{"2":{"32":1}}],["也希望广大开发者粉丝帮助完善文档",{"2":{"0":1}}],["导致系统臃肿",{"2":{"32":1}}],["要新增一个",{"2":{"31":1}}],["初始化eps完成",{"2":{"51":1}}],["初始化菜单数据",{"2":{"31":1}}],["初始化自定义的数据",{"2":{"31":1}}],["初始化数据json文件",{"2":{"27":1}}],["创建",{"2":{"31":1}}],["创建实体类生成表",{"2":{"25":1}}],["富文本参数",{"2":{"31":1}}],["规范",{"2":{"31":1}}],["规则为",{"2":{"14":1}}],["数组里可以包含多个对象",{"2":{"31":1}}],["数据有",{"2":{"69":1}}],["数据回收站",{"2":{"69":1}}],["数据回收站模块",{"2":{"27":1}}],["数据初始化完成",{"2":{"31":1}}],["数据初始化",{"0":{"31":1}}],["数据脱敏",{"2":{"20":1}}],["数据脱敏等等",{"2":{"19":1}}],["数据填充",{"2":{"19":1,"20":1}}],["数据库初始数据初始化",{"2":{"31":1}}],["数据库",{"0":{"19":1},"1":{"20":1,"21":1,"22":1},"2":{"21":32}}],["格式如下",{"2":{"31":1}}],["目录下",{"2":{"43":1}}],["目录下创建",{"2":{"31":1}}],["目录创建",{"2":{"31":1}}],["目录结构",{"0":{"26":1,"39":1},"1":{"27":1}}],["相关配置",{"2":{"54":1}}],["相关应用",{"2":{"30":1}}],["相关的技术发展",{"2":{"68":1}}],["相关的",{"2":{"4":1}}],["很容易就能完成一个",{"2":{"30":1}}],["很多应用希望接入",{"2":{"30":1}}],["结尾",{"2":{"31":1}}],["结合知识库",{"2":{"30":1}}],["结构",{"0":{"27":1}}],["做为后来者有后发优势",{"2":{"68":1}}],["做了一个",{"2":{"30":1}}],["做解析",{"2":{"16":1}}],["于是我们面向开发者和软件开发公司",{"2":{"30":1}}],["容易把我们累死",{"2":{"30":1}}],["随着技术不断地发展",{"2":{"68":1}}],["随着",{"2":{"30":1}}],["应用必备",{"2":{"30":1}}],["视频演示",{"2":{"30":1}}],["流程编排插件",{"2":{"78":1}}],["流程编排+知识库届时会上架到插件市场",{"2":{"30":1}}],["流程编排功能",{"2":{"30":1}}],["流程编排",{"0":{"30":1},"2":{"68":1}}],["异常信息为",{"2":{"29":1}}],["异常统一捕获",{"0":{"29":1}}],["即抛异常",{"2":{"29":1}}],["手动抛异常",{"2":{"29":1}}],["业务校验的工具",{"2":{"29":1}}],["业务代码放在这边",{"2":{"27":1}}],["系统异常信息日志记录和查询",{"2":{"69":1}}],["系统正常操作日志记录和查询",{"2":{"69":1}}],["系统通用",{"2":{"62":2}}],["系统的文件上传就会自动替换成云存储上传的方式",{"2":{"61":1}}],["系统启动完成访问",{"2":{"60":1}}],["系统启动的时候",{"2":{"55":1}}],["系统会查询并向spring",{"2":{"55":1}}],["系统提供了",{"2":{"29":1}}],["系统用户",{"2":{"27":1}}],["请求日志",{"2":{"69":1}}],["请求过程中会解析",{"2":{"56":1}}],["请求参数",{"0":{"11":1},"2":{"59":2}}],["请区分post",{"2":{"29":1}}],["不要吝啬你们免费的star哦",{"2":{"71":1}}],["不像一般代码生成器生成一堆冗余代码",{"2":{"68":1}}],["不经过服务器",{"2":{"61":1}}],["不然调用时会报错",{"2":{"42":1}}],["不带声调",{"2":{"42":1}}],["不同的插件有不同的配置",{"2":{"40":1}}],["不会重复初始化",{"2":{"31":1}}],["不支持该请求方式",{"2":{"29":1}}],["不用写一行代码",{"2":{"24":1}}],["已存在该记录",{"2":{"29":1}}],["统一异常处理",{"0":{"28":1},"1":{"29":1}}],["包或其内部的类和资源",{"2":{"45":1}}],["包或类",{"2":{"45":1}}],["包具有以下几个显著的优势",{"2":{"45":1}}],["包的位置和版本",{"2":{"45":1}}],["包括本地文件系统",{"2":{"45":1}}],["包括一些核心的组件工具",{"2":{"27":1}}],["包时会想该插件注入",{"2":{"35":1}}],["包下创建",{"2":{"27":1}}],["包",{"2":{"27":1,"45":3}}],["按照简单",{"2":{"64":1}}],["按上面的包结构新增即可",{"2":{"27":1}}],["按规则组装",{"2":{"16":1}}],["为什么选择",{"0":{"68":1}}],["为例",{"2":{"50":1}}],["为排除引入",{"2":{"42":1}}],["为引入",{"2":{"42":1}}],["为主应用",{"2":{"36":1}}],["为插件key",{"2":{"35":1}}],["为对应的值",{"2":{"31":1}}],["为表的字段",{"2":{"31":1}}],["为表的名称",{"2":{"31":1}}],["为业务模块",{"2":{"27":1}}],["为核心模块",{"2":{"27":1}}],["为了使项目能够持续",{"2":{"71":1}}],["为了开发插件如果引入了主应用已经有的maven依赖可以在下面的",{"2":{"42":2}}],["为了方便开发插件和统一插件开发规范",{"2":{"38":1}}],["为了方便获取参数",{"2":{"11":1}}],["为了丰富系统功能",{"2":{"32":1}}],["为了不过多依赖环境",{"2":{"17":1}}],["用来判定用户是否有此权限",{"2":{"55":1}}],["用configattribute的集合作为value",{"2":{"55":1}}],["用权限的path作为map的key",{"2":{"55":1}}],["用户是系统操作者",{"2":{"69":1}}],["用户管理",{"2":{"69":1}}],["用户管理模块",{"2":{"27":1}}],["用户",{"2":{"56":1}}],["用户详情",{"2":{"55":1}}],["用户名",{"2":{"56":1}}],["用户名不存在",{"2":{"55":1}}],["用户名已存在",{"2":{"28":1,"29":3}}],["用户登录",{"2":{"55":1}}],["用过",{"2":{"22":1}}],["插件可以在打包的时候将在我们",{"2":{"42":1}}],["插件详解",{"0":{"42":1}}],["插件配置",{"2":{"41":1}}],["插件介绍",{"2":{"41":1}}],["插件",{"2":{"41":1,"78":1}}],["插件钩子",{"2":{"41":1}}],["插件唯一标识",{"2":{"41":1}}],["插件描述",{"2":{"40":1,"41":1}}],["插件运行测试类",{"2":{"39":1}}],["插件信息配置文件",{"2":{"39":1}}],["插件类放在这个包下",{"2":{"39":1}}],["插件包",{"2":{"39":1}}],["插件包可以通过官网下载插件",{"2":{"34":1}}],["插件方法",{"2":{"35":1,"42":1}}],["插件管理",{"2":{"34":1}}],["插件模块",{"2":{"27":1}}],["插件分享等",{"2":{"6":1}}],["插件分享等内容",{"2":{"4":1}}],["角色菜单权限分配",{"2":{"69":1}}],["角色管理",{"2":{"69":1}}],["角色数组",{"2":{"41":1,"56":1}}],["角色",{"2":{"27":1}}],["资源目录下的文件",{"2":{"36":1}}],["资源文件",{"2":{"27":1}}],["资源",{"2":{"27":1,"45":1}}],["菜单管理",{"2":{"69":1}}],["菜单",{"2":{"27":1}}],["基础模块",{"2":{"27":1}}],["└─",{"2":{"27":8,"39":7}}],["└──",{"2":{"14":6}}],["核心包",{"2":{"27":1,"39":1}}],["├─core",{"2":{"39":1}}],["├─",{"2":{"27":15,"39":3}}],["├──",{"2":{"14":1}}],["清晰明了便于管理",{"2":{"26":1}}],["组件会根据字段智能选择",{"2":{"25":1}}],["n",{"2":{"69":1}}],["npm",{"2":{"52":2}}],["net",{"2":{"42":4}}],["new",{"2":{"25":2,"29":2,"42":2,"45":4,"55":12}}],["now",{"2":{"35":2}}],["nodejs",{"2":{"30":1}}],["nio",{"2":{"35":5}}],["null",{"2":{"28":1,"29":2,"31":2,"35":1,"42":1,"55":3}}],["name>",{"2":{"43":1}}],["name>my",{"2":{"43":1}}],["name",{"2":{"9":1,"10":3,"11":1,"12":1,"15":1,"31":2,"40":1,"41":1,"50":1,"60":1,"62":1}}],["文件管理",{"2":{"69":1}}],["文件管理模块",{"2":{"27":1}}],["文件存放路径",{"2":{"62":1}}],["文件根地址",{"2":{"62":1}}],["文件等",{"2":{"45":1}}],["文件上传插件",{"2":{"78":1}}],["文件上传模式",{"2":{"62":1}}],["文件上传相关",{"2":{"62":1}}],["文件上传",{"0":{"61":1},"2":{"44":1,"62":1}}],["文件内容",{"2":{"35":1}}],["文件后",{"2":{"31":1}}],["文件",{"2":{"25":1,"27":1,"31":2,"62":1}}],["文档",{"0":{"60":1,"74":1},"2":{"1":1}}],["重启生成表",{"2":{"25":1}}],["重写",{"0":{"16":1}}],["重写逻辑",{"2":{"12":2}}],["重写实现",{"0":{"12":1}}],["编写实体类",{"2":{"25":1}}],["编码",{"0":{"7":1},"2":{"68":1}}],["零代码开发",{"2":{"24":1}}],["全自动",{"0":{"24":1}}],["提高了代码的可维护性",{"2":{"45":1}}],["提高开发效率",{"2":{"23":1}}],["提示",{"2":{"27":1}}],["提供了极大的灵活性",{"2":{"45":1}}],["提供了简化的业务异常抛出工具",{"2":{"28":1}}],["提供了非常灵活的",{"2":{"19":1}}],["提供了一种高效且可靠的解决方案",{"2":{"17":1}}],["降低开发成本",{"2":{"23":1}}],["因为有你们的支持",{"2":{"79":1}}],["因为这可能会造成数据丢失",{"2":{"22":1}}],["因此如果你需要开发",{"2":{"30":1}}],["因此会带来指数级的性能增长",{"2":{"19":1}}],["因此会带来更高的自主性",{"2":{"19":1}}],["切勿在生产环境开启自动建表功能",{"2":{"22":1}}],["并将用户信息存在整个请求过程中的",{"2":{"56":1}}],["并实现",{"2":{"35":1,"42":1}}],["并实现值的插入",{"2":{"31":1}}],["并定义表数据",{"2":{"31":1}}],["并且支持表字段的修改",{"2":{"22":1}}],["并重写了",{"2":{"16":1}}],["节省了大量手动工作",{"2":{"22":1}}],["尤其是开发过程中频繁的新增表及变更表结构",{"2":{"22":1}}],["列的配置",{"2":{"22":1}}],["列表查询",{"2":{"10":1}}],["而不用一味地堆功能",{"2":{"32":1}}],["而不需要关心数据库的表",{"2":{"22":1}}],["而是也非常不灵活",{"2":{"30":1}}],["而是对它做一层封装",{"2":{"16":1}}],["有且只能有一个类被",{"2":{"42":1}}],["有时候开发时的配置和生产环境的配置是不一样的",{"2":{"36":1}}],["有些功能模块上线时",{"2":{"31":1}}],["有一项重要的能力就是表结构自动维护",{"2":{"22":1}}],["有兴趣的可以关注我们",{"2":{"4":1}}],["实现功能可插拔",{"2":{"69":1}}],["实现应用程序的快速扩展和升级",{"2":{"45":1}}],["实现方法",{"2":{"45":1}}],["实现动态加载的技术方案",{"2":{"45":1}}],["实现原理",{"0":{"45":1}}],["实现简单功能从",{"2":{"7":1,"24":1}}],["实际开发中可以根据自己的需求来配置",{"2":{"40":1}}],["实体需以",{"2":{"31":1}}],["实体",{"2":{"22":1}}],["理论上你只需修改一些不兼容的代码就可以正常运行了",{"2":{"21":1}}],["那样工作量太大了",{"2":{"21":1}}],["是",{"2":{"45":1}}],["是插件的配置信息",{"2":{"40":1}}],["是具体的业务框架",{"2":{"21":1}}],["是否支持在微服务项目下进行",{"2":{"20":1}}],["但是每次都是用代码手搓",{"2":{"30":1}}],["但是它为我们提供了改造的可能",{"2":{"21":1}}],["但是",{"2":{"21":1}}],["虽然",{"2":{"21":1}}],["星瑞格数据库",{"2":{"21":1}}],["华为",{"2":{"21":1}}],["华库",{"2":{"21":1}}],["亚马逊",{"2":{"21":1}}],["行云数据库",{"2":{"21":1}}],["瀚高数据库",{"2":{"21":1}}],["神通数据库",{"2":{"21":1}}],["南大通用数据库",{"2":{"21":1}}],["南大通用",{"2":{"21":1}}],["gt",{"2":{"47":3,"50":1,"65":3,"76":3}}],["goal>",{"2":{"42":1}}],["goal>shade",{"2":{"42":1}}],["goals>",{"2":{"42":2}}],["goldilocks",{"2":{"21":2}}],["grantedauthority>",{"2":{"55":1}}],["graalvm",{"2":{"47":1,"65":1}}],["groupid>org",{"2":{"42":1}}],["groupid>com",{"2":{"42":1}}],["groupid>cn",{"2":{"42":1}}],["groupid>",{"2":{"42":3}}],["greenplum",{"2":{"21":2}}],["gitee",{"2":{"38":1,"72":1,"73":1,"74":1}}],["github",{"2":{"38":1,"72":1,"73":1,"74":1}}],["gbase",{"2":{"21":3}}],["gauss",{"2":{"21":2}}],["getbytes",{"2":{"55":2}}],["geturls",{"2":{"55":1}}],["getusername",{"2":{"29":4,"55":3}}],["getsecureobjectclass",{"2":{"55":1}}],["getstatus",{"2":{"55":2}}],["getstr",{"2":{"11":1}}],["getroles",{"2":{"55":1}}],["getresponse",{"2":{"55":1}}],["getresourceasstream",{"2":{"35":1}}],["getrequest",{"2":{"55":1}}],["getrequesturl",{"2":{"55":1}}],["getdepartmentidsbyroleids",{"2":{"55":1}}],["getperms",{"2":{"55":1}}],["getparent",{"2":{"35":1}}],["getparentresource",{"2":{"35":2}}],["getpasswordv",{"2":{"55":1}}],["getpassword",{"2":{"29":2,"55":1}}],["getauthenticationmanager",{"2":{"55":1}}],["getallconfigattributes",{"2":{"55":1}}],["getallperms",{"2":{"55":1}}],["getattributes",{"2":{"55":1}}],["getabsolutepath",{"2":{"45":1}}],["getannotationsbytype",{"2":{"16":1}}],["getchain",{"2":{"55":1}}],["getcontextclassloader",{"2":{"45":1}}],["getcode",{"2":{"29":1}}],["getclassloader",{"2":{"35":1}}],["getclass",{"2":{"35":1}}],["getinstance",{"2":{"35":1}}],["getid",{"2":{"29":2,"55":6}}],["getone",{"2":{"29":2,"55":1}}],["get等请求方式是否正确",{"2":{"29":1}}],["getmode",{"2":{"62":1}}],["getmapping",{"2":{"62":1}}],["getmappingformethod",{"0":{"16":1},"2":{"16":3}}],["getmessage",{"2":{"29":7}}],["get",{"2":{"9":1,"18":1,"35":2,"42":1,"55":1}}],["人大金仓数据库",{"2":{"21":1}}],["kyi=",{"2":{"35":1}}],["kingbasees",{"2":{"21":1}}],["keyname",{"2":{"31":2}}],["key",{"2":{"18":1,"31":1,"35":4,"40":1,"41":1}}],["keyword",{"2":{"10":1}}],["keywordlikefields",{"2":{"10":1}}],["虚谷数据库",{"2":{"21":1}}],["达梦数据库",{"2":{"21":1}}],["及以上数据库",{"2":{"21":1}}],["及以下数据库",{"2":{"21":1}}],["及更高性能",{"2":{"20":1}}],["描述",{"2":{"21":1}}],["持续添加更多的数据库支持",{"2":{"21":1}}],["如文件上传",{"2":{"80":1}}],["如支付",{"2":{"68":1}}],["如不占用主服务器带宽",{"2":{"62":1}}],["如",{"2":{"61":1,"62":1}}],["如阿里云",{"2":{"61":1}}],["如我们这边示例使用到了中文转拼音",{"2":{"42":1}}],["如下表格所示",{"2":{"21":1}}],["如果方便请点下",{"2":{"79":1}}],["如果你有更好的建议",{"2":{"77":1}}],["如果文档有缺失",{"2":{"74":1}}],["如果不在权限表中则放行",{"2":{"55":1}}],["如果不满足需求",{"2":{"12":1}}],["如果在权限表中",{"2":{"55":1}}],["如果在原文件直接修改将不生效",{"2":{"31":1}}],["如果同一张表历史已经有初始化过数据",{"2":{"31":1}}],["如果我们的项目对你有用",{"2":{"2":1}}],["欢迎联系我们",{"2":{"77":1}}],["欢迎提交pr",{"2":{"74":1}}],["欢迎纠正",{"2":{"20":1}}],["欢迎加入我们大家庭一起讨论",{"2":{"2":1}}],["若有错误",{"2":{"20":1}}],["项目中常见的问题",{"2":{"75":1}}],["项目是开源免费",{"2":{"71":1}}],["项目是前后端分离的",{"2":{"49":1}}],["项目按照模块化的方式组织",{"2":{"26":1}}],["项目",{"2":{"20":1}}],["非低代码",{"2":{"24":1}}],["非",{"2":{"20":1}}],["quot",{"2":{"20":2,"28":2,"29":2}}],["querywrapper",{"2":{"10":3,"12":3,"19":1,"20":1}}],["和",{"2":{"20":1}}],["和传统的",{"2":{"12":1}}],["比如替换系统的上传组件",{"2":{"41":1}}],["比如你有一个订单管理的模块",{"2":{"27":1}}],["比如",{"2":{"20":1,"31":1,"35":1}}],["借助其他框架或收费",{"2":{"20":1}}],["字典管理",{"2":{"69":1}}],["字典回写",{"2":{"20":1}}],["字段",{"2":{"41":1,"56":1}}],["字段解释",{"0":{"41":1}}],["字段模块",{"2":{"27":1}}],["字段加密",{"2":{"20":1}}],["字段权限",{"2":{"20":1}}],["字段的",{"2":{"20":1}}],["字段全匹配",{"2":{"10":1}}],["收费",{"2":{"20":4}}],["✔️",{"2":{"20":4}}],["审计",{"2":{"20":1}}],["乐观锁",{"2":{"20":1}}],["乐观锁更新",{"2":{"19":1}}],["未知",{"2":{"20":1}}],["传输",{"2":{"20":1}}],["无需授权的",{"2":{"71":1}}],["无需安装",{"2":{"50":1}}],["无需手动通过",{"2":{"29":1}}],["无需额外安装软件",{"2":{"17":1}}],["无法做到全部支持",{"2":{"21":1}}],["无其他第三方依赖",{"2":{"20":1}}],["配置完数据库直接启动",{"2":{"76":1}}],["配置系统菜单",{"2":{"69":1}}],["配置文件位于src",{"2":{"50":1}}],["配置数据库",{"0":{"50":1}}],["配置插件信息",{"2":{"40":1}}],["配置",{"0":{"36":1,"54":1},"2":{"20":1}}],["复合主键",{"2":{"20":1}}],["生成",{"2":{"25":1}}],["生成前端代码",{"2":{"25":1}}],["生成后端代码",{"2":{"25":1}}],["生成策略",{"2":{"20":1}}],["生成的路由前缀为",{"2":{"14":1}}],["loaduserbyusername",{"2":{"55":1}}],["loadresourcedefine",{"2":{"55":2}}],["local",{"2":{"50":1,"62":2}}],["lombok",{"2":{"35":2,"42":2}}],["long",{"2":{"29":2,"55":2,"56":2}}],["logo",{"2":{"40":2,"41":2}}],["log`",{"2":{"35":1}}],["log",{"2":{"29":5,"31":1}}],["lealone",{"2":{"21":2}}],["left",{"2":{"20":1}}],["list",{"2":{"8":1,"9":1,"10":1,"11":1,"12":1,"55":1,"60":1}}],["解析设计",{"2":{"20":1}}],["❌",{"2":{"20":30}}],["✅",{"2":{"20":51}}],["element",{"2":{"67":1}}],["else",{"2":{"35":1}}],["encodedpassword",{"2":{"55":2}}],["encode",{"2":{"55":1}}],["entrypointunauthorizedhandler",{"2":{"55":3}}],["entity",{"2":{"20":2,"27":2,"29":12,"31":1}}],["enablewebsecurity",{"2":{"55":1}}],["epsevent",{"2":{"51":1}}],["eps",{"2":{"51":2}}],["equals",{"2":{"55":1}}],["eq",{"2":{"29":2,"55":2}}],["error",{"2":{"29":10}}],["e",{"2":{"29":19,"42":2}}],["expire",{"2":{"54":1}}],["expression",{"2":{"42":2}}],["excluding",{"2":{"42":14}}],["exclude>cn",{"2":{"42":2}}],["exclude>jakarta",{"2":{"42":1}}],["exclude>io",{"2":{"42":4}}],["exclude>",{"2":{"42":16}}],["exclude>org",{"2":{"42":9}}],["excludes>",{"2":{"42":2}}],["exceptionhandling",{"2":{"55":1}}],["exceptionhandler",{"2":{"29":6}}],["exception",{"2":{"29":2,"42":1,"55":2}}],["execution",{"2":{"76":1}}],["execution>",{"2":{"42":2}}],["executions>",{"2":{"42":2}}],["exec",{"2":{"35":5}}],["extern",{"2":{"35":1}}],["extends",{"2":{"9":1,"10":1,"11":1,"12":2,"16":1,"35":1,"42":1,"55":1,"60":1}}],["extractedmenu",{"2":{"31":1}}],["extracteddb",{"2":{"31":1}}],["功能",{"2":{"76":1}}],["功能几乎跟nodejs",{"2":{"70":1}}],["功能或特点",{"2":{"20":1}}],["功能对比",{"0":{"20":1}}],["在线",{"2":{"69":1}}],["在修改数据之前或之后做一些处理",{"2":{"59":1}}],["在项目编译的时候会自动生成这些文件",{"2":{"76":1}}],["在项目根目录下",{"2":{"52":1}}],["在项目启动的时候会去加载该文件",{"2":{"31":1}}],["在后台插件管理页面",{"2":{"44":1}}],["在后台插件管理里可以动态修改",{"2":{"40":1}}],["在执行打包的过程",{"2":{"42":1}}],["在我们脚手架上你可以发现",{"2":{"42":1}}],["在开发过程中如果需要引入第三方类库",{"2":{"42":1}}],["在提供的插件脚手架中已经应用了常用的依赖如",{"2":{"42":1}}],["在插件导入时才能被识别到",{"2":{"42":1}}],["在打包的时候选择要打包的插件",{"2":{"39":1}}],["在加载",{"2":{"35":1}}],["在某个版本需要新增数据的话",{"2":{"31":1}}],["在新增功能模块时",{"2":{"27":1}}],["在",{"2":{"19":1,"27":2,"29":1,"31":1,"43":1,"45":1}}],["在任何一个系统中",{"2":{"19":1}}],["拦截器",{"2":{"19":1}}],["通过动态加载",{"2":{"45":2}}],["通过反射实现",{"2":{"35":1}}],["通过拖动配置",{"2":{"30":1}}],["通过",{"2":{"29":1,"45":1}}],["通过管理后台菜单管理的快速创建即可生成",{"2":{"25":1}}],["通过独特的架构",{"2":{"19":1}}],["通过微调大模型学习框架特有写法",{"2":{"7":1,"24":1}}],["高性能",{"2":{"19":1}}],["高效的缓存解决方案",{"2":{"17":1}}],["逻辑删除",{"2":{"19":1,"20":1}}],["多租户",{"2":{"20":1}}],["多数据源是否支持",{"2":{"20":2}}],["多数据源支持",{"2":{"20":1}}],["多种",{"2":{"20":1}}],["多张表",{"2":{"20":1}}],["多主键",{"2":{"19":1}}],["多表查询",{"2":{"19":1,"20":3}}],["稳定性越差",{"2":{"19":1}}],["依赖越多",{"2":{"19":1}}],["把控性和稳定性",{"2":{"19":1}}],["再无任何第三方依赖",{"2":{"19":1}}],["除了",{"2":{"19":1,"20":1,"21":1}}],["更新",{"0":{"79":1},"1":{"80":1,"81":1}}],["更灵活",{"2":{"19":1}}],["更轻量",{"2":{"19":1,"20":2}}],["更加强大的",{"2":{"19":1}}],["更加简洁",{"2":{"8":1}}],["详细用法请查看",{"2":{"19":1}}],["集成了比",{"2":{"19":1}}],["我是插件",{"2":{"42":1}}],["我被缓存了",{"2":{"18":1}}],["我被调用了",{"2":{"18":1}}],["我们可以在运行时动态地加载外部的",{"2":{"45":1}}],["我们可以通过配置文件来实现",{"2":{"36":1}}],["我们还引入了其他包",{"2":{"42":1}}],["我们还可以通过自定义方言的方式",{"2":{"21":1}}],["我们提供了插件脚手架",{"2":{"38":1}}],["我们提供了插件系统",{"2":{"32":1}}],["我们正在适配",{"2":{"21":1}}],["我们不直接使用",{"2":{"16":1}}],["我们会尽力完善文档",{"2":{"0":1}}],["+",{"2":{"18":2,"20":1,"35":2,"42":3,"45":2,"55":5}}],["原生",{"2":{"18":1}}],["原理",{"0":{"13":1,"55":1},"1":{"14":1,"15":1,"16":1}}],["使用cool",{"2":{"35":1}}],["使用缓存",{"2":{"35":1}}],["使用插件",{"0":{"33":1},"1":{"34":1,"35":1,"36":1}}],["使用",{"0":{"18":1,"62":1}}],["使得代码更加清晰",{"2":{"45":1}}],["使得可以在插件中获取主应用中的",{"2":{"35":1}}],["使得",{"2":{"8":1}}],["性能要求比较高或有分布式部署需求的建议配置成",{"2":{"17":1}}],["15",{"0":{"80":1}}],["15t14",{"2":{"51":4}}],["101+08",{"2":{"51":1}}],["17",{"2":{"47":1,"65":1}}],["13",{"2":{"42":1}}],["13t20",{"2":{"35":8}}],["123456",{"2":{"50":1,"52":1,"70":1}}],["12",{"2":{"42":2}}],["127",{"2":{"17":1,"35":1,"50":1,"51":1,"52":1,"60":1,"62":1}}],["1800",{"2":{"54":1}}],["18",{"2":{"35":8,"42":1}}],["1",{"0":{"34":1,"38":1,"49":1,"76":1,"80":2,"81":1},"2":{"17":1,"18":1,"35":2,"40":1,"42":11,"43":1,"45":2,"50":1,"51":3,"52":1,"55":3,"60":1,"62":1}}],["06",{"0":{"81":1}}],["00",{"2":{"35":8,"51":4}}],["01",{"2":{"35":8}}],["07",{"0":{"80":1},"2":{"35":8,"51":4}}],["0",{"0":{"81":1},"2":{"17":3,"35":2,"40":2,"42":4,"43":1,"47":1,"50":3,"51":2,"52":2,"55":1,"60":2,"62":2}}],["daoauthenticationprovider",{"2":{"55":2}}],["datasource",{"2":{"50":1}}],["database",{"2":{"17":1}}],["data",{"2":{"17":1,"27":1,"31":2,"62":1}}],["docs",{"2":{"74":2}}],["dofilter",{"2":{"55":2}}],["doris",{"2":{"21":2}}],["duration",{"2":{"51":1}}],["duplicatekeyexception",{"2":{"29":2}}],["driver",{"2":{"50":2}}],["dynamicjarclassloader",{"2":{"45":3}}],["digestutils",{"2":{"55":2}}],["digesthex",{"2":{"29":2}}],["disable",{"2":{"55":2}}],["dict",{"2":{"27":1}}],["dm",{"2":{"21":1}}],["dbfromjsoninit",{"2":{"31":1}}],["db2",{"2":{"21":2}}],["db",{"2":{"20":1,"27":1,"31":2}}],["destroy",{"2":{"55":1}}],["description",{"2":{"9":1,"10":1,"11":1,"12":1,"40":1,"41":1,"60":1,"62":2}}],["deployment",{"2":{"76":1}}],["department",{"2":{"55":1}}],["departmentids",{"2":{"55":2}}],["dependency>",{"2":{"42":4}}],["dev",{"2":{"52":1}}],["debug",{"2":{"35":3}}],["derby",{"2":{"21":2}}],["default",{"2":{"15":3,"42":1}}],["democoolplugin",{"2":{"42":1}}],["democacheservice",{"2":{"18":2}}],["democacheserviceimpl",{"2":{"18":2}}],["demov2",{"2":{"31":1}}],["demoentity",{"2":{"25":1}}],["demoentity>",{"2":{"9":1,"10":1,"11":1,"12":5,"60":1}}],["demo",{"2":{"14":3,"25":1,"31":4,"40":1}}],["demomapper",{"2":{"12":1}}],["demoserviceimpl",{"2":{"12":1}}],["demoservice",{"2":{"9":1,"10":1,"11":1,"12":2,"60":1}}],["delete",{"2":{"8":1,"9":1,"10":1,"11":1,"12":1,"60":1}}],["能够显著提升应用程序的性能和响应速度",{"2":{"17":1}}],["需要分别拉取前后端代码到本地",{"2":{"49":1}}],["需要初始化一些数据",{"2":{"31":1}}],["需要模糊查询的字段",{"2":{"10":1}}],["需安装",{"2":{"17":1}}],["旨在提供高性能",{"2":{"17":1}}],["由该类统一执行初始化",{"2":{"31":1}}],["由",{"2":{"17":1}}],["缓存对象",{"2":{"35":1}}],["缓存结果",{"2":{"35":2}}],["缓存库",{"2":{"17":1}}],["缓存",{"0":{"17":1},"2":{"17":2}}],["headersconfigurer",{"2":{"55":1}}],["headers",{"2":{"55":1}}],["hello",{"2":{"35":4,"42":1}}],["hashmap",{"2":{"55":1}}],["hanyupinyintonetype",{"2":{"42":2}}],["hanyupinyinoutputformat",{"2":{"42":3}}],["hangzhou",{"2":{"35":1}}],["handleexception",{"2":{"29":1}}],["handleillegalargumentexception",{"2":{"29":1}}],["handlehttprequestmethodnotsupportedexception",{"2":{"29":1}}],["handlebadcredentialsexception",{"2":{"29":1}}],["handleduplicatekeyexception",{"2":{"29":1}}],["handlerrexception",{"2":{"29":1}}],["handlertype",{"2":{"16":3}}],["hana",{"2":{"21":2}}],["hook",{"2":{"40":1,"41":1}}],["host=https",{"2":{"35":1}}],["host",{"2":{"17":1}}],["hutool",{"2":{"35":3,"42":11,"66":1}}],["hive",{"2":{"21":2}}],["highgo",{"2":{"21":1}}],["hbase",{"2":{"21":1}}],["hsql",{"2":{"21":2}}],["h2",{"2":{"21":2}}],["html",{"2":{"60":1}}],["html文档",{"2":{"10":1}}],["http",{"2":{"51":1,"60":1,"62":1}}],["httprequestmethodnotsupportedexception",{"2":{"29":2}}],["httpsecurity",{"2":{"55":3}}],["httpservletrequest",{"2":{"9":1,"10":1,"11":1,"12":1,"60":1,"62":1}}],["https",{"2":{"1":2,"10":1,"35":1,"38":2,"70":1,"72":2,"73":2,"74":2}}],[">",{"2":{"16":1,"42":5,"55":10}}],["根据",{"2":{"22":1}}],["根据一定规则生成",{"2":{"16":1}}],["根据列表查询单个信息",{"2":{"9":1}}],["该功能主要完成系统用户配置",{"2":{"69":1}}],["该类继承了",{"2":{"16":1}}],["该父类已经实现了以下六个基础方法",{"2":{"8":1}}],["自动编码功能",{"2":{"80":1}}],["自动生成前端页面",{"2":{"25":1}}],["自动映射成数据库的表结构",{"2":{"22":1}}],["自动建表",{"0":{"22":1}}],["自带的注解",{"2":{"16":1}}],["自定义路由注解",{"0":{"15":1}}],["转成小写替换掉",{"2":{"14":1}}],["与前端紧密结合",{"2":{"61":1}}],["与",{"2":{"14":1,"53":1}}],["x26",{"2":{"50":2}}],["x",{"2":{"35":1,"66":1,"81":1}}],["xml",{"2":{"27":1,"42":2,"43":2}}],["xcloud",{"2":{"21":1}}],["xugu",{"2":{"21":1}}],["xxxxx",{"2":{"36":2}}],["xxx",{"2":{"14":2,"35":2,"40":2}}],["x3c",{"2":{"9":1,"10":1,"11":1,"12":5,"16":1,"29":2,"35":1,"42":81,"43":4,"55":13,"60":1}}],["模块化",{"2":{"45":1}}],["模块包",{"2":{"27":1}}],["模块名和",{"2":{"14":1}}],["模块名",{"2":{"14":2}}],["模块目录",{"2":{"14":1}}],["│─",{"2":{"39":1}}],["│",{"2":{"14":17,"27":36,"39":12}}],["multipartfile",{"2":{"62":1}}],["multipart",{"2":{"62":1}}],["mutate",{"2":{"16":1}}],["mode",{"2":{"62":1}}],["modifyafter",{"2":{"59":1}}],["modifyenum",{"2":{"59":2}}],["modifybefore",{"2":{"59":1}}],["modules",{"2":{"14":1,"27":3}}],["ms",{"2":{"51":1}}],["mvn",{"2":{"43":1}}],["micrometer",{"2":{"42":12}}],["md",{"2":{"40":1}}],["md5digestashex",{"2":{"55":2}}],["md5",{"2":{"29":2}}],["m",{"2":{"35":6}}],["mediatype",{"2":{"62":2}}],["message",{"2":{"29":1}}],["methodname",{"2":{"18":1,"35":3}}],["method",{"2":{"16":3}}],["matches",{"2":{"55":1}}],["map",{"2":{"55":6}}],["mapper",{"2":{"25":1,"27":4}}],["maven",{"2":{"42":7,"47":1,"65":1,"76":1}}],["main",{"2":{"25":1,"27":1,"39":1,"51":3}}],["mariadb",{"2":{"21":2}}],["manes",{"2":{"17":1}}],["myaccessdecisionmanager",{"2":{"55":3}}],["myfiltersecurityinterceptor",{"2":{"55":1}}],["mysecuritymetadatasource",{"2":{"55":1}}],["mysql",{"2":{"21":3,"47":1,"50":5,"65":1}}],["my",{"2":{"43":1}}],["mycoolplugintest",{"2":{"39":1}}],["mycoolplugin",{"2":{"35":1,"39":1}}],["mybatis",{"2":{"10":1,"19":5,"20":4,"21":2,"66":1}}],["接口的请求入参日志",{"2":{"69":1}}],["接口",{"2":{"14":1}}],["接口路由规则",{"0":{"14":1}}],["接口到前端页面的一键生成",{"2":{"7":1,"24":1}}],["接下来我们看看实现的原理",{"2":{"12":1}}],["对系统中经常使用的一些较为固定的数据进行维护",{"2":{"69":1}}],["对系统动态配置常用参数",{"2":{"69":1}}],["对应实体",{"2":{"59":2}}],["对应插件内的方法",{"2":{"35":1}}],["对应请求参数中的",{"2":{"10":1}}],["对应请求参数中同名参数",{"2":{"10":1}}],["对",{"2":{"20":1}}],["对比一下是简化了不少",{"2":{"12":1}}],["ignoredurlsproperties",{"2":{"55":3}}],["is",{"2":{"51":1}}],["isempty",{"2":{"35":1,"55":1}}],["img",{"2":{"42":1}}],["import",{"2":{"35":14,"42":6}}],["impala",{"2":{"21":2}}],["implements",{"2":{"12":1,"18":2,"31":1,"55":3}}],["ioexception",{"2":{"55":2}}],["ioutil",{"2":{"35":2}}],["io",{"2":{"35":2,"42":2}}],["if",{"2":{"29":2,"35":1,"55":2}}],["illegalargumentexception",{"2":{"29":2,"55":2}}],["idea",{"2":{"76":1}}],["id",{"2":{"18":2,"20":1,"56":1}}],["index",{"2":{"60":1}}],["install",{"2":{"52":1}}],["insert",{"2":{"35":4}}],["in",{"2":{"42":1}}],["including",{"2":{"42":2}}],["inputstream",{"2":{"35":4}}],["into",{"2":{"35":1}}],["interceptorstatustoken",{"2":{"55":1}}],["interface",{"2":{"15":1}}],["integer",{"2":{"18":1,"56":1}}],["invoke",{"2":{"55":2}}],["invokeotherplugin",{"2":{"35":1}}],["invokemain",{"2":{"35":3,"42":1}}],["invokemethod",{"2":{"35":4}}],["invokeplugin",{"2":{"35":11,"42":2}}],["inner",{"2":{"20":1}}],["init",{"2":{"9":1,"10":1,"11":1,"12":1,"25":1,"51":1,"55":1,"60":1}}],["informix",{"2":{"21":2}}],["info",{"2":{"8":1,"9":1,"10":1,"11":1,"12":1,"14":2,"16":5,"31":1,"35":5,"42":15,"51":4,"60":1}}],["进行重写",{"2":{"12":1}}],["o",{"2":{"51":1,"55":3}}],["obtainsecuritymetadatasource",{"2":{"55":1}}],["observation",{"2":{"42":3}}],["objutil",{"2":{"35":2}}],["objectutil",{"2":{"55":1}}],["object中包含用户请求request",{"2":{"55":1}}],["object",{"2":{"12":1,"18":2,"35":4,"42":2,"55":1}}],["official",{"2":{"38":2,"72":2,"73":2,"74":2}}],["ossaccesskeyid=ltai5t8xtpd99yzsjqcc",{"2":{"35":1}}],["oss",{"2":{"35":3,"61":1,"62":1}}],["oscar",{"2":{"21":1}}],["org",{"2":{"35":5,"42":8}}],["order",{"2":{"27":2}}],["oracle12c",{"2":{"21":2}}],["oracle11g",{"2":{"21":1}}],["oracle",{"2":{"21":1}}],["operation",{"2":{"62":2}}],["openapi",{"2":{"51":1}}],["opengauss",{"2":{"21":2}}],["option",{"2":{"12":2}}],["oceanbase",{"2":{"21":2}}],["ok",{"2":{"11":1,"62":2}}],["out",{"2":{"11":1,"18":1,"35":5,"42":1}}],["override",{"2":{"9":1,"10":1,"11":1,"12":3,"16":1,"18":2,"31":1,"35":1,"42":1,"55":11,"59":2,"60":1}}],["rawpassword",{"2":{"55":4}}],["roleids",{"2":{"55":3,"56":1}}],["root",{"2":{"50":1}}],["row",{"2":{"20":1}}],["runtimeexception",{"2":{"42":1}}],["run",{"2":{"31":1,"52":1}}],["rich",{"2":{"31":1}}],["rpc",{"2":{"20":1}}],["replace",{"2":{"55":1}}],["replaceall",{"2":{"55":1}}],["refreshexpire",{"2":{"54":1}}],["readme",{"2":{"40":2,"41":1}}],["readbytes",{"2":{"35":1}}],["required",{"2":{"62":1}}],["requiredargsconstructor",{"2":{"31":1,"35":2,"62":1}}],["requestpart",{"2":{"62":1}}],["requestparam",{"2":{"35":3}}],["requestparams",{"2":{"9":1,"10":1,"11":4,"12":5,"29":4,"56":2,"59":4,"60":1}}],["requestmatchers",{"2":{"55":1}}],["requestmappinginfo",{"2":{"16":2}}],["requestmappinghandlermapping",{"2":{"16":2}}],["requestmapping",{"2":{"15":2,"35":1}}],["requestattribute",{"2":{"11":1}}],["request",{"2":{"9":1,"10":1,"11":1,"12":1,"55":2,"60":1,"62":2}}],["requests",{"2":{"0":1}}],["remark",{"2":{"31":2}}],["restaccessdeniedhandler",{"2":{"55":3}}],["restcontrolleradvice",{"2":{"29":1}}],["response",{"2":{"55":2}}],["responsebody",{"2":{"35":2}}],["result",{"2":{"35":8}}],["resources",{"2":{"27":1,"31":1,"36":2,"39":1,"50":1}}],["resource",{"2":{"18":1,"55":10,"56":2}}],["recycle",{"2":{"27":1}}],["redshift",{"2":{"21":2}}],["redis",{"2":{"17":6}}],["return",{"2":{"11":1,"12":2,"16":1,"18":2,"29":8,"35":2,"42":1,"55":13,"62":2}}],["r",{"2":{"11":2,"12":1,"29":17,"62":4}}],["tip",{"2":{"61":1}}],["time`",{"2":{"35":2}}],["t",{"2":{"59":6}}],["this",{"2":{"55":1}}],["thread",{"2":{"45":1,"51":1}}],["throws",{"2":{"55":8}}],["throw",{"2":{"29":1,"42":1,"55":1}}],["the",{"2":{"42":14}}],["toarray",{"2":{"55":1}}],["token",{"2":{"54":2,"55":2,"56":1}}],["tohanyupinyinstring",{"2":{"42":1}}],["tone",{"2":{"42":1}}],["team",{"2":{"38":2,"72":2,"73":2,"74":2}}],["testplugin",{"2":{"35":2}}],["test",{"2":{"11":2,"18":2,"25":1,"35":2,"39":1}}],["txt",{"2":{"35":2,"36":2}}],["try",{"2":{"42":1,"55":1}}],["true",{"2":{"29":1,"55":1}}],["transactiontemplate",{"2":{"20":1}}],["transactional",{"2":{"20":1}}],["tdengine",{"2":{"21":2}}],["target",{"2":{"43":2}}],["targetclass",{"2":{"18":1}}],["task",{"2":{"27":1,"35":3,"51":1}}],["table",{"2":{"22":1,"66":1}}],["tag",{"2":{"9":1,"10":1,"11":1,"12":1,"60":1,"62":1}}],["typescript",{"2":{"67":1}}],["typehandler",{"2":{"20":1}}],["type",{"2":{"17":2,"59":4}}],["表单",{"2":{"11":1}}],["uploadmode",{"2":{"62":2}}],["upload",{"2":{"41":1,"62":3}}],["updates",{"2":{"35":1}}],["update",{"2":{"8":1,"9":1,"10":1,"11":1,"12":1,"60":1}}],["utf",{"2":{"35":1}}],["util",{"2":{"35":4}}],["useunicode=true",{"2":{"50":1}}],["useplugin",{"2":{"35":2}}],["usecache",{"2":{"35":2}}],["userid",{"2":{"56":1}}],["userinfo",{"2":{"55":1,"56":3}}],["userdetails",{"2":{"55":2}}],["userdetailsservice",{"2":{"55":4}}],["usernamepasswordauthenticationfilter",{"2":{"55":1}}],["usernamenotfoundexception",{"2":{"55":2}}],["username",{"2":{"50":1,"55":2,"56":3}}],["user",{"2":{"11":2,"27":1}}],["ui",{"2":{"25":1,"60":1,"67":1}}],["uxdb",{"2":{"21":1}}],["union",{"2":{"20":2}}],["urlclassloader",{"2":{"45":2}}],["url",{"2":{"11":1,"45":3,"50":1,"55":2,"62":1}}],["将由以下这个类实现自动配置模块路由",{"2":{"16":1}}],["将",{"2":{"11":1}}],["框架用到了mybatis",{"2":{"76":1}}],["框架自带两种文件上传方式本地上传与云存储",{"2":{"61":1}}],["框架自带基于",{"2":{"17":1}}],["框架集成了auto",{"2":{"22":1}}],["框架特有的通用工具类",{"2":{"18":1}}],["框架封装了一个请求属性",{"2":{"11":1}}],["框架更新",{"2":{"4":1,"6":1}}],["zh",{"2":{"10":1}}],["false",{"2":{"62":1}}],["frameoptionsconfig",{"2":{"55":1}}],["frameoptions",{"2":{"55":1}}],["from",{"2":{"20":1,"42":13}}],["form",{"2":{"62":1}}],["format",{"2":{"42":7}}],["for",{"2":{"51":1,"55":2}}],["fluent",{"2":{"20":1}}],["flex",{"2":{"10":1,"19":2,"20":1,"21":2,"66":1,"76":1}}],["final",{"2":{"62":1}}],["finally",{"2":{"55":1}}],["fi",{"2":{"55":7}}],["filterchain",{"2":{"55":1}}],["filterconfig",{"2":{"55":2}}],["filter",{"2":{"55":1}}],["filterinvocation",{"2":{"55":5}}],["filterinvocationsecuritymetadatasource",{"2":{"55":2}}],["files",{"2":{"62":2}}],["fileuploadstrategyfactory",{"2":{"62":4}}],["filepath",{"2":{"36":1,"62":1}}],["file",{"2":{"17":1,"45":2,"62":2}}],["firebird",{"2":{"21":2}}],["fieldeq",{"2":{"10":1}}],["具体看",{"2":{"10":1}}],["返回给",{"2":{"16":1}}],["返回字段",{"2":{"10":1}}],["返回哪些字段等",{"2":{"9":1,"11":1,"12":1,"60":1}}],["sdk",{"2":{"78":1}}],["swagger",{"0":{"60":1},"2":{"60":1}}],["show",{"2":{"70":1}}],["shell",{"2":{"52":1}}],["shaded",{"2":{"42":14}}],["shade",{"2":{"42":6}}],["snapshot",{"2":{"43":1}}],["s",{"2":{"42":1}}],["sourceforge",{"2":{"42":4}}],["soon",{"2":{"30":1}}],["summary",{"2":{"62":2}}],["supports",{"2":{"55":1}}],["super",{"2":{"12":2,"16":1,"29":2,"55":3}}],["success",{"2":{"35":1}}],["simplegrantedauthority",{"2":{"55":1}}],["signature=krlj0uv96tbliagpji",{"2":{"35":1}}],["sinodb",{"2":{"21":1}}],["slf4j",{"2":{"29":1,"31":1,"35":3,"42":4,"55":2}}],["split",{"2":{"55":1}}],["space",{"2":{"27":1}}],["springdoc",{"2":{"51":2}}],["springboot3",{"2":{"81":1}}],["springboot",{"2":{"45":1}}],["springframework",{"2":{"35":5,"42":14}}],["spring方式",{"2":{"18":1}}],["springcache",{"2":{"17":1}}],["spring",{"2":{"16":3,"20":2,"42":13,"50":1,"53":1,"66":1}}],["src",{"2":{"25":1,"51":1}}],["sap",{"2":{"21":1}}],["sysuserentity",{"2":{"55":14}}],["sys",{"2":{"35":4}}],["system",{"2":{"11":1,"18":1,"35":5,"42":1}}],["sybase",{"2":{"21":2}}],["schema",{"2":{"20":1}}],["sqlserver",{"2":{"21":2}}],["sqlserver2005",{"2":{"21":2}}],["sqlite",{"2":{"21":3}}],["sql",{"2":{"19":2,"20":2,"21":1}}],["star",{"0":{"72":1,"73":1,"74":1},"2":{"79":1}}],["stateless",{"2":{"55":1}}],["static",{"2":{"25":1}}],["status=200",{"2":{"35":1}}],["status",{"2":{"10":1}}],["stream",{"2":{"55":1}}],["str",{"2":{"35":1}}],["strutil",{"2":{"35":2}}],["string",{"2":{"11":1,"15":3,"18":2,"25":1,"35":7,"42":4,"55":12,"56":2}}],["stereotype",{"2":{"35":1}}],["sessioncreationpolicy",{"2":{"55":2}}],["sessionmanagement",{"2":{"55":1}}],["securityfilterchain",{"2":{"55":2}}],["securitymetadatasource",{"2":{"55":3}}],["security权限拦截器校验当前用户权限",{"2":{"55":1}}],["securityconfig",{"2":{"55":1}}],["security加载所有设置的权限",{"2":{"55":1}}],["security",{"2":{"53":1}}],["server",{"2":{"62":1}}],["servertimezone=gmt",{"2":{"50":1}}],["servletresponse",{"2":{"55":1}}],["servletrequest",{"2":{"55":1}}],["servletexception",{"2":{"55":3}}],["service",{"2":{"12":3,"18":2,"25":2,"27":2,"51":1}}],["setuserdetailsservice",{"2":{"55":1}}],["setaccessdecisionmanager",{"2":{"55":1}}],["setmyaccessdecisionmanager",{"2":{"55":1}}],["setmodule",{"2":{"25":1}}],["settings",{"2":{"76":1}}],["settonetype",{"2":{"42":1}}],["settype",{"2":{"25":1}}],["setpasswordencoder",{"2":{"55":1}}],["setpassword",{"2":{"29":2}}],["setpageoption",{"2":{"10":1}}],["setentity",{"2":{"25":1}}],["setname",{"2":{"25":1}}],["set",{"2":{"18":1,"35":2,"55":5}}],["setlistoption",{"2":{"10":1}}],["select",{"2":{"10":1}}],["个接口",{"2":{"9":1}}],["604800",{"2":{"54":1}}],["6379",{"2":{"17":1}}],["6",{"2":{"9":1,"42":12,"47":1,"65":1}}],["等包",{"2":{"27":1}}],["等等",{"2":{"20":1}}],["等参数封装在了一个",{"2":{"11":1}}],["等",{"2":{"9":1,"20":1,"25":1,"42":2}}],["查询该用户所具有的权限并缓存",{"2":{"55":1}}],["查询配置",{"0":{"10":1}}],["查询列表",{"2":{"9":1}}],["查询条件过滤",{"2":{"9":1,"11":1,"12":1,"60":1}}],["分页查询无",{"2":{"20":1}}],["分页查询之总量缓存",{"2":{"20":1}}],["分页查询配置",{"2":{"10":1}}],["分页查询",{"2":{"9":1,"20":1}}],["修改之后",{"2":{"59":2}}],["修改之前",{"2":{"59":2}}],["修改类型",{"2":{"59":2}}],["修改前后",{"0":{"59":1}}],["修改",{"2":{"9":1,"69":1}}],["删除",{"2":{"9":1,"69":1}}],["新增后台扩展插件",{"2":{"80":1}}],["新增一个",{"2":{"27":1}}],["新增",{"2":{"9":1,"80":1}}],["这将会给我们带来更多的动力",{"2":{"79":1}}],["这些方式都可以解决这个问题",{"2":{"76":1}}],["这边使用到了",{"2":{"42":1}}],["这会使得打包结果很臃肿",{"2":{"42":1}}],["这个可能会给你带来巨大的帮助",{"2":{"30":1}}],["这让我们可以可以专注于业务逻辑和实体",{"2":{"22":1}}],["这样就默认实现了以下六个接口",{"2":{"9":1}}],["这是",{"2":{"0":1}}],["jtw",{"2":{"55":1}}],["jwtauthenticationtokenfilter",{"2":{"55":3}}],["jwtsecurityconfig",{"2":{"55":1}}],["jwtuser",{"2":{"55":6}}],["jwtuserdetailsserviceimpl",{"2":{"55":1}}],["jwt",{"2":{"53":1}}],["jdbc",{"2":{"50":2}}],["jdk",{"2":{"47":1,"65":1}}],["jcl",{"2":{"42":2}}],["jakarta",{"2":{"42":3}}],["jarfilepath",{"2":{"45":1}}],["jarurl",{"2":{"45":2}}],["jar",{"2":{"35":1,"42":31,"45":9}}],["javaurl",{"2":{"45":1}}],["javapackage",{"2":{"31":1,"35":2,"42":1}}],["javapublic",{"2":{"15":1,"16":1,"25":1,"29":2}}],["java",{"2":{"0":1,"1":1,"9":1,"10":1,"11":1,"12":2,"14":2,"17":1,"18":2,"22":1,"25":2,"27":1,"29":1,"35":10,"38":2,"39":2,"42":2,"43":1,"45":1,"47":1,"51":6,"55":4,"56":2,"59":2,"60":1,"62":1,"65":1,"72":2,"74":2}}],["json文件",{"2":{"31":1}}],["json参数",{"2":{"31":1}}],["json",{"2":{"31":7,"36":1,"39":1,"40":2,"42":2,"52":1}}],["jsonobject",{"2":{"9":1,"10":1,"11":3,"12":3,"29":2,"56":1,"59":2,"60":1}}],["jpa",{"2":{"22":2}}],["join",{"2":{"20":2}}],["vue",{"2":{"73":2}}],["vue3",{"2":{"67":1}}],["verify",{"2":{"42":1}}],["version>3",{"2":{"42":1}}],["version>2",{"2":{"42":1}}],["version>",{"2":{"42":3}}],["version>5",{"2":{"42":1}}],["version",{"2":{"40":1,"41":1}}],["vertica",{"2":{"21":2}}],["v7",{"0":{"80":1,"81":1},"2":{"35":1}}],["void",{"2":{"9":1,"10":1,"11":1,"12":1,"25":1,"31":1,"35":3,"55":6,"59":2,"60":1}}],["values",{"2":{"35":1}}],["value",{"2":{"9":1,"10":1,"11":1,"12":1,"15":1,"31":1,"60":1,"62":4}}],["csrf",{"2":{"55":1}}],["csiidb",{"2":{"21":2}}],["cfg",{"2":{"55":3}}],["cj",{"2":{"50":1}}],["currentthread",{"2":{"45":1}}],["cubrid",{"2":{"21":2}}],["charsequence",{"2":{"55":2}}],["characterencoding=utf",{"2":{"50":1}}],["chain",{"2":{"55":2}}],["chinesechar",{"2":{"42":4}}],["check",{"2":{"28":2,"29":6}}],["c",{"2":{"35":6,"51":3}}],["cn",{"2":{"35":4,"42":2}}],["c端用户",{"2":{"27":1}}],["clean",{"2":{"43":1}}],["clickhouse",{"2":{"21":2}}],["classloader",{"2":{"35":4}}],["classpath",{"2":{"31":1}}],["class",{"2":{"9":1,"10":1,"11":1,"12":2,"15":2,"16":3,"18":3,"25":2,"29":7,"31":1,"35":2,"42":1,"50":1,"55":8,"60":1,"62":1}}],["catch",{"2":{"42":1}}],["cacheable",{"2":{"18":1}}],["cachenames",{"2":{"18":1}}],["cacheconfig",{"2":{"18":1}}],["cache",{"2":{"17":3,"35":2,"42":1}}],["caffeine",{"2":{"17":3}}],["crud",{"0":{"58":1},"2":{"58":1}}],["crudoption",{"2":{"12":1}}],["create",{"2":{"10":1,"29":2}}],["createop",{"2":{"10":2}}],["collection",{"2":{"55":4}}],["consumes",{"2":{"62":1}}],["conf",{"2":{"55":4}}],["configuration",{"2":{"55":1}}],["configuration>",{"2":{"42":2}}],["configattribute",{"2":{"55":1}}],["configattributes",{"2":{"55":4}}],["configattribute>",{"2":{"55":3}}],["configattribute>>",{"2":{"55":1}}],["config",{"2":{"40":2,"41":1,"55":7}}],["context",{"2":{"42":2}}],["controller",{"2":{"8":2,"12":1,"14":2,"16":1,"25":2,"27":2,"35":3}}],["core",{"2":{"27":2,"31":1,"35":12,"42":6,"51":2}}],["code",{"2":{"29":1}}],["codetypeenum",{"2":{"25":1}}],["codemodel",{"2":{"25":10}}],["codegenerator",{"2":{"25":7}}],["compiler",{"2":{"76":1}}],["compile命令",{"2":{"76":1}}],["component",{"2":{"55":3}}],["coming",{"2":{"30":1}}],["commons",{"2":{"42":3}}],["commoncontroller",{"2":{"35":1}}],["comm",{"2":{"18":1}}],["combine",{"2":{"16":1}}],["com",{"2":{"1":2,"10":1,"25":1,"27":1,"31":1,"35":12,"38":2,"39":2,"42":4,"50":1,"51":3,"70":1,"72":2,"73":2,"74":2}}],["coolsecurityutil",{"2":{"56":6}}],["cooleps",{"2":{"51":1}}],["coolexception",{"2":{"29":3}}],["coolexceptionhandler",{"2":{"29":1}}],["coolplugin注解",{"2":{"39":1}}],["coolplugin",{"2":{"35":4,"42":6}}],["coolpluginservice",{"2":{"35":1,"51":1}}],["coolplugininvokers",{"2":{"35":4}}],["coolpreconditions",{"2":{"28":1,"29":2}}],["coolapplication",{"2":{"27":1,"51":1}}],["cooladminjavaapplicationtests",{"2":{"25":1}}],["coolcodegeneratortest",{"2":{"25":1}}],["coolcache",{"2":{"18":5,"35":5,"42":1,"55":7}}],["coolrestcontroller",{"2":{"9":1,"10":1,"11":1,"12":1,"15":1,"16":2,"60":1,"62":1}}],["cool",{"0":{"68":1},"2":{"0":1,"1":2,"5":1,"6":1,"9":1,"10":1,"11":1,"12":1,"19":1,"21":1,"23":1,"25":1,"27":2,"31":3,"35":19,"38":4,"39":2,"42":5,"43":8,"44":1,"46":1,"50":1,"51":7,"60":1,"68":2,"70":1,"72":4,"73":4,"74":4,"79":1}}],["permitall",{"2":{"55":1}}],["perm",{"2":{"55":5}}],["perms",{"2":{"55":4}}],["phase>",{"2":{"42":1}}],["phase>package",{"2":{"42":1}}],["phoenix",{"2":{"21":2}}],["phone",{"2":{"10":2}}],["pinyin",{"2":{"42":3}}],["pinyinhelper",{"2":{"42":2}}],["pinyin4j",{"2":{"42":5}}],["png",{"2":{"40":1}}],["put",{"2":{"29":2,"55":1}}],["public",{"2":{"9":1,"10":1,"11":2,"12":3,"18":4,"25":1,"29":7,"31":2,"35":4,"42":2,"55":22,"59":2,"60":1,"62":3}}],["plugins",{"2":{"42":1}}],["plugins>",{"2":{"42":2}}],["plugin>",{"2":{"42":2}}],["plugin",{"2":{"27":1,"35":6,"38":2,"39":3,"40":2,"42":8,"43":5,"51":1}}],["plus",{"2":{"19":1,"20":1}}],["p0",{"2":{"18":1}}],["pool",{"2":{"51":1}}],["pom",{"2":{"43":1}}],["policy=eyjlehb0wny0xm1qxmjowmto0oc41njvaiiwiy29uzgl0aw9ucyi6w1siy29udgvudc1szw5ndggtcmfuz2uildasnti0mjg4mdbdxx0=",{"2":{"35":1}}],["port",{"2":{"17":1,"62":1}}],["postgresql",{"2":{"21":3}}],["postmapping",{"2":{"11":1,"12":1,"35":2,"62":1}}],["post",{"2":{"9":5}}],["package",{"2":{"43":1,"52":1}}],["parentclassloader",{"2":{"35":2}}],["parameter",{"2":{"62":1}}],["parameters",{"2":{"35":1}}],["param",{"2":{"55":1,"59":6}}],["params",{"2":{"35":1,"42":2}}],["parse",{"2":{"19":1}}],["passwordencoder",{"2":{"55":4}}],["passwordversion",{"2":{"55":1,"56":1}}],["password",{"2":{"17":1,"50":1}}],["paths",{"2":{"16":1}}],["path",{"2":{"16":3}}],["page",{"2":{"8":1,"9":1,"10":1,"11":1,"12":9,"60":1}}],["project",{"2":{"76":2}}],["projectlombok",{"2":{"42":2}}],["properties>",{"2":{"43":2}}],["properties",{"2":{"43":1}}],["protected",{"2":{"9":1,"10":1,"11":1,"12":2,"16":1,"60":1}}],["private",{"2":{"35":3,"55":11,"56":2,"62":1}}],["println",{"2":{"11":1,"18":1,"35":5,"42":1}}],["preparing",{"2":{"35":1}}],["=5",{"2":{"50":1}}],["==",{"2":{"35":1,"55":2}}],["==>",{"2":{"35":2}}],["=",{"2":{"9":4,"10":4,"11":4,"12":4,"15":2,"16":3,"18":2,"25":2,"28":1,"29":5,"35":8,"42":5,"45":2,"47":3,"55":15,"56":2,"60":4,"62":9,"65":3}}],["示例",{"0":{"9":1}}],["都继承自",{"2":{"8":1}}],["所有的",{"2":{"8":1}}],["的build",{"2":{"76":1}}],["的mvn",{"2":{"76":1}}],["的核心流程",{"2":{"30":1}}],["的能力",{"2":{"30":1}}],["的火热",{"2":{"30":1}}],["的都知道",{"2":{"22":1}}],["的事务管理",{"2":{"20":1}}],["的基本增删改查",{"2":{"20":1}}],["的",{"2":{"16":1,"76":1}}],["的一些最新资讯",{"2":{"6":1}}],["的在线文档仓库",{"2":{"0":1}}],["公众号",{"0":{"6":1}}],["团队哔哩哔哩官方账户",{"2":{"5":1}}],["站视频教程",{"2":{"7":1,"24":1}}],["站",{"0":{"5":1}}],["boot",{"2":{"66":1}}],["boolean",{"2":{"55":2}}],["body",{"2":{"11":1}}],["b8e4",{"2":{"42":1}}],["bbb",{"2":{"40":1}}],["beforeinvocation",{"2":{"55":1}}],["belerweb",{"2":{"42":2}}],["beans",{"2":{"42":3}}],["bean",{"2":{"35":1,"55":4}}],["ben",{"2":{"17":1}}],["bind",{"2":{"35":4}}],["badhanyupinyinoutputformatcombination",{"2":{"42":2}}],["badcredentialsexception",{"2":{"29":2}}],["banner",{"2":{"35":2,"36":2}}],["basecoolplugin",{"2":{"35":7,"42":4}}],["basecontroller",{"2":{"8":1,"9":1,"10":1,"11":1,"12":1,"60":1}}],["baseservice中集成了常用的",{"2":{"58":1}}],["baseserviceimpl",{"2":{"12":1}}],["basesysuserservice",{"2":{"55":3}}],["basesysuserentity>lambdaquery",{"2":{"29":2,"55":1}}],["basesysuserentity",{"2":{"29":6,"55":3}}],["basesyspermsservice",{"2":{"55":8}}],["basesyslogmapper",{"2":{"35":3}}],["base",{"2":{"10":1,"27":1,"35":1,"62":1}}],["build>",{"2":{"42":2}}],["build",{"2":{"16":1,"55":1,"76":3}}],["b",{"0":{"5":1},"2":{"7":1,"24":1,"35":3}}],["anyrequest",{"2":{"55":1}}],["annotations",{"2":{"16":1}}],["annotation",{"2":{"15":2,"27":1,"35":5,"39":1,"42":5}}],["afterinvocation",{"2":{"55":1}}],["abstracthttpconfigurer",{"2":{"55":1}}],["abstractsecurityinterceptor",{"2":{"55":1}}],["abstractopenapiresource",{"2":{"51":1}}],["accessdeniedhandler",{"2":{"55":1}}],["aclass",{"2":{"55":1}}],["action",{"2":{"35":1}}],["aop",{"2":{"42":2}}],["arraylist",{"2":{"55":3}}],["artifactset>",{"2":{"42":2}}],["artifactid>maven",{"2":{"42":1}}],["artifactid>pinyin4j",{"2":{"42":1}}],["artifactid>",{"2":{"42":3}}],["artifactid>hutool",{"2":{"42":1}}],["args",{"2":{"25":1,"31":1}}],["aaa",{"2":{"40":1}}],["assets",{"2":{"40":2}}],["ase",{"2":{"21":1}}],["authprovider",{"2":{"55":4}}],["authenticationconfiguration",{"2":{"55":1}}],["authenticationmanager",{"2":{"55":2}}],["authenticationprovider",{"2":{"55":2}}],["authenticationentrypoint",{"2":{"55":1}}],["authenticated",{"2":{"55":1}}],["authorizehttprequests",{"2":{"55":1}}],["authority",{"2":{"55":3}}],["author",{"2":{"40":1,"41":1}}],["automatically",{"2":{"76":1}}],["automatically自动编译功能",{"2":{"76":1}}],["auto",{"2":{"66":1}}],["autowired",{"2":{"55":1}}],["autoprefixurlmapping",{"2":{"16":1}}],["aliyun",{"2":{"35":1}}],["aliyuncs",{"2":{"35":1}}],["aliasfor",{"2":{"15":2}}],["all",{"2":{"20":1,"42":1,"62":1}}],["a",{"2":{"18":2,"35":2}}],["apt",{"2":{"76":1}}],["apache",{"2":{"42":1}}],["appsecret",{"2":{"36":1}}],["appid",{"2":{"36":1}}],["application",{"2":{"50":1,"62":1}}],["applicationcontext",{"2":{"35":1}}],["applicationarguments",{"2":{"31":1}}],["applicationrunner",{"2":{"31":1}}],["appdemoinfocontroller",{"2":{"14":1}}],["app",{"2":{"14":4}}],["api",{"2":{"7":1,"9":1,"10":1,"11":1,"12":1,"15":1,"24":1,"42":4,"51":1,"60":1}}],["age",{"2":{"10":1}}],["addfilterbefore",{"2":{"55":1}}],["add",{"2":{"8":1,"9":1,"10":1,"11":1,"12":1,"29":4,"55":2,"60":1}}],["adminbasecommcontroller",{"2":{"62":1}}],["admin中才能调试",{"2":{"35":1}}],["admin的缓存",{"2":{"35":1}}],["admindemoinfocontroller",{"2":{"9":1,"10":1,"11":1,"12":1,"14":2,"60":1}}],["admin",{"0":{"68":1},"2":{"0":1,"1":2,"14":4,"19":1,"21":1,"23":1,"25":1,"35":9,"38":2,"42":2,"43":1,"46":1,"51":4,"52":1,"55":6,"68":1,"70":2,"72":2,"73":2,"74":2,"79":1}}],["ai",{"0":{"7":1,"24":1,"30":1},"2":{"4":1,"30":7,"68":5,"78":1,"80":1}}],["你的项目",{"2":{"76":1}}],["你的star是我们最大的动力",{"2":{"71":1}}],["你的贡献可能给其他人代码巨大的帮助",{"2":{"0":1}}],["你将会看到后端的欢迎页面",{"2":{"51":1}}],["你可以这样做",{"2":{"76":1}}],["你可以自己开发插件",{"2":{"32":1}}],["你可以在这边了解到一些关于我们框架的最新动态",{"2":{"4":1}}],["抖音",{"0":{"4":1}}],["扫一扫加入微信开发交流群",{"2":{"3":1}}],["微信",{"0":{"3":1},"2":{"78":1}}],["共创一些美好的事情",{"2":{"2":1}}],["共同参与开源",{"2":{"0":1}}],["交流合作",{"0":{"2":1},"1":{"3":1,"4":1,"5":1,"6":1}}],["官网文档",{"2":{"19":1}}],["官网",{"2":{"1":1}}],["地址",{"0":{"1":1}}],["积极提交pull",{"2":{"0":1}}],["版相关功能",{"2":{"81":1}}],["版本一致",{"2":{"70":1}}],["版本号",{"2":{"41":1}}],["版本",{"2":{"30":1}}],["版",{"2":{"0":1}}],["介绍",{"0":{"0":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/.vitepress/dist/assets/chunks/@localSearchIndexroot.DenxaxWg.js b/.vitepress/dist/assets/chunks/@localSearchIndexroot.DenxaxWg.js deleted file mode 100644 index 6aa018b..0000000 --- a/.vitepress/dist/assets/chunks/@localSearchIndexroot.DenxaxWg.js +++ /dev/null @@ -1 +0,0 @@ -const e='{"documentCount":82,"nextId":82,"documentIds":{"0":"/README.html#介绍","1":"/README.html#地址","2":"/src/about/#交流合作","3":"/src/about/#微信","4":"/src/about/#抖音","5":"/src/about/#b-站","6":"/src/about/#公众号","7":"/src/guide/ai.html#ai-编码","8":"/src/guide/cache.html#缓存","9":"/src/guide/cache.html#使用","10":"/src/guide/controller.html#控制器","11":"/src/guide/controller.html#示例","12":"/src/guide/controller.html#查询配置","13":"/src/guide/controller.html#请求参数","14":"/src/guide/controller.html#重写实现","15":"/src/guide/controller.html#原理","16":"/src/guide/controller.html#接口路由规则","17":"/src/guide/controller.html#自定义路由注解","18":"/src/guide/controller.html#重写-getmappingformethod","19":"/src/guide/db.html#数据库","20":"/src/guide/db.html#功能对比","21":"/src/guide/db.html#支持数据库","22":"/src/guide/db.html#自动建表","23":"/src/guide/dev.html#开发方式","24":"/src/guide/dev.html#ai-全自动","25":"/src/guide/dev.html#半自动","26":"/src/guide/dir.html#目录结构","27":"/src/guide/dir.html#结构","28":"/src/guide/exception.html#统一异常处理","29":"/src/guide/exception.html#异常统一捕获","30":"/src/guide/flow.html#ai-流程编排","31":"/src/guide/initData.html#数据初始化","32":"/src/guide/plugin.html#扩展插件","33":"/src/guide/plugin.html#使用插件","34":"/src/guide/plugin.html#_1、安装","35":"/src/guide/plugin.html#_2、调用","36":"/src/guide/plugin.html#_3、配置","37":"/src/guide/plugin.html#开发插件","38":"/src/guide/plugin.html#_1、脚手架","39":"/src/guide/plugin.html#_2、目录结构","40":"/src/guide/plugin.html#_3、开发过程","41":"/src/guide/plugin.html#_4、字段解释","42":"/src/guide/plugin.html#插件详解","43":"/src/guide/plugin.html#打包","44":"/src/guide/plugin.html#安装插件","45":"/src/guide/plugin.html#实现原理","46":"/src/guide/quick.html#快速开始","47":"/src/guide/quick.html#环境准备","48":"/src/guide/quick.html#运行系统","49":"/src/guide/quick.html#_1、拉取源码","50":"/src/guide/quick.html#_2、配置数据库","51":"/src/guide/quick.html#_3、启动后端服务","52":"/src/guide/quick.html#_4、启动前端服务","53":"/src/guide/security.html#权限校验","54":"/src/guide/security.html#配置","55":"/src/guide/security.html#原理","56":"/src/guide/security.html#当前用户","57":"/src/guide/service.html#服务","58":"/src/guide/service.html#crud","59":"/src/guide/service.html#修改前后","60":"/src/guide/swagger.html#swagger-文档","61":"/src/guide/upload.html#文件上传","62":"/src/guide/upload.html#使用","63":"/src/introduce/#简介","64":"/src/introduce/#技术选型","65":"/src/introduce/#一、环境要求","66":"/src/introduce/#二、后端框架","67":"/src/introduce/#三、前端框架","68":"/src/introduce/#为什么选择-cool-admin","69":"/src/introduce/#内置功能","70":"/src/introduce/show.html#演示","71":"/src/introduce/src.html#源码","72":"/src/introduce/src.html#后端-点个-star-哦","73":"/src/introduce/src.html#前端-点个-star-哦","74":"/src/introduce/src.html#文档-star-哦","75":"/src/question/common.html#常见问题","76":"/src/question/common.html#_1、找不到类似xxxtabledef文件","77":"/src/todo/plan.html#计划","78":"/src/todo/plan.html#完善插件","79":"/src/todo/update.html#更新","80":"/src/todo/update.html#v7-1-1-2024-07-15","81":"/src/todo/update.html#v7-1-0-2024-06-27"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[1,1,13],"1":[1,1,8],"2":[1,1,4],"3":[1,1,2],"4":[1,1,11],"5":[2,1,3],"6":[1,1,6],"7":[2,1,7],"8":[1,1,35],"9":[1,1,40],"10":[1,1,15],"11":[1,1,48],"12":[1,1,64],"13":[1,1,57],"14":[1,1,63],"15":[1,1,1],"16":[1,1,24],"17":[1,1,14],"18":[2,1,43],"19":[1,1,41],"20":[1,1,79],"21":[1,1,112],"22":[1,1,21],"23":[1,1,7],"24":[2,1,12],"25":[1,1,51],"26":[1,1,4],"27":[1,1,58],"28":[1,1,8],"29":[1,1,78],"30":[2,1,28],"31":[1,1,76],"32":[1,1,9],"33":[1,1,1],"34":[2,2,9],"35":[2,2,204],"36":[2,2,18],"37":[1,1,1],"38":[2,2,16],"39":[2,2,25],"40":[2,2,31],"41":[2,2,27],"42":[1,1,185],"43":[1,1,31],"44":[1,1,5],"45":[1,1,66],"46":[1,1,4],"47":[1,1,19],"48":[1,1,1],"49":[2,2,4],"50":[2,2,45],"51":[2,2,59],"52":[2,2,24],"53":[1,1,7],"54":[1,1,14],"55":[1,1,243],"56":[1,1,30],"57":[1,1,2],"58":[1,1,5],"59":[1,1,21],"60":[2,1,48],"61":[1,1,17],"62":[1,1,78],"63":[1,1,1],"64":[1,1,4],"65":[2,2,14],"66":[2,2,10],"67":[2,2,5],"68":[4,1,26],"69":[1,1,38],"70":[1,1,11],"71":[1,1,7],"72":[5,1,11],"73":[5,1,11],"74":[4,1,15],"75":[1,1,2],"76":[2,1,29],"77":[1,1,4],"78":[1,1,9],"79":[1,1,8],"80":[6,1,9],"81":[7,1,8]},"averageFieldLength":[1.5609756097560976,1.1707317073170738,30.536585365853647],"storedFields":{"0":{"title":"介绍","titles":[]},"1":{"title":"地址","titles":[]},"2":{"title":"交流合作","titles":[]},"3":{"title":"微信","titles":["交流合作"]},"4":{"title":"抖音","titles":["交流合作"]},"5":{"title":"B 站","titles":["交流合作"]},"6":{"title":"公众号","titles":["交流合作"]},"7":{"title":"Ai 编码","titles":[]},"8":{"title":"缓存","titles":[]},"9":{"title":"使用","titles":[]},"10":{"title":"控制器","titles":[]},"11":{"title":"示例","titles":["控制器"]},"12":{"title":"查询配置","titles":["控制器"]},"13":{"title":"请求参数","titles":["控制器"]},"14":{"title":"重写实现","titles":["控制器"]},"15":{"title":"原理","titles":[]},"16":{"title":"接口路由规则","titles":["原理"]},"17":{"title":"自定义路由注解","titles":["原理"]},"18":{"title":"重写 getMappingForMethod","titles":["原理"]},"19":{"title":"数据库","titles":[]},"20":{"title":"功能对比","titles":["数据库"]},"21":{"title":"支持数据库","titles":["数据库"]},"22":{"title":"自动建表","titles":["数据库"]},"23":{"title":"开发方式","titles":[]},"24":{"title":"Ai 全自动","titles":["开发方式"]},"25":{"title":"半自动","titles":["开发方式"]},"26":{"title":"目录结构","titles":[]},"27":{"title":"结构","titles":["目录结构"]},"28":{"title":"统一异常处理","titles":[]},"29":{"title":"异常统一捕获","titles":["统一异常处理"]},"30":{"title":"Ai 流程编排","titles":[]},"31":{"title":"数据初始化","titles":[]},"32":{"title":"扩展插件","titles":[]},"33":{"title":"使用插件","titles":["扩展插件"]},"34":{"title":"1、安装","titles":["扩展插件","使用插件"]},"35":{"title":"2、调用","titles":["扩展插件","使用插件"]},"36":{"title":"3、配置","titles":["扩展插件","使用插件"]},"37":{"title":"开发插件","titles":["扩展插件"]},"38":{"title":"1、脚手架","titles":["扩展插件","开发插件"]},"39":{"title":"2、目录结构","titles":["扩展插件","开发插件"]},"40":{"title":"3、开发过程","titles":["扩展插件","开发插件"]},"41":{"title":"4、字段解释","titles":["扩展插件","开发插件"]},"42":{"title":"插件详解","titles":["扩展插件"]},"43":{"title":"打包","titles":["扩展插件"]},"44":{"title":"安装插件","titles":["扩展插件"]},"45":{"title":"实现原理","titles":["扩展插件"]},"46":{"title":"快速开始","titles":[]},"47":{"title":"环境准备","titles":["快速开始"]},"48":{"title":"运行系统","titles":["快速开始"]},"49":{"title":"1、拉取源码","titles":["快速开始","运行系统"]},"50":{"title":"2、配置数据库","titles":["快速开始","运行系统"]},"51":{"title":"3、启动后端服务","titles":["快速开始","运行系统"]},"52":{"title":"4、启动前端服务","titles":["快速开始","运行系统"]},"53":{"title":"权限校验","titles":[]},"54":{"title":"配置","titles":["权限校验"]},"55":{"title":"原理","titles":["权限校验"]},"56":{"title":"当前用户","titles":["权限校验"]},"57":{"title":"服务","titles":[]},"58":{"title":"Crud","titles":["服务"]},"59":{"title":"修改前后","titles":["服务"]},"60":{"title":"swagger 文档","titles":[]},"61":{"title":"文件上传","titles":[]},"62":{"title":"使用","titles":[]},"63":{"title":"简介","titles":[]},"64":{"title":"技术选型","titles":["简介"]},"65":{"title":"一、环境要求","titles":["简介","技术选型"]},"66":{"title":"二、后端框架","titles":["简介","技术选型"]},"67":{"title":"三、前端框架","titles":["简介","技术选型"]},"68":{"title":"为什么选择 Cool Admin?","titles":["简介"]},"69":{"title":"内置功能","titles":["简介"]},"70":{"title":"演示","titles":[]},"71":{"title":"源码","titles":[]},"72":{"title":"后端(点个 Star 哦)","titles":["源码"]},"73":{"title":"前端(点个 Star 哦)","titles":["源码"]},"74":{"title":"文档 (Star 哦)","titles":["源码"]},"75":{"title":"常见问题","titles":[]},"76":{"title":"1、找不到类似xxxTableDef文件","titles":["常见问题"]},"77":{"title":"计划","titles":[]},"78":{"title":"完善插件","titles":["计划"]},"79":{"title":"更新","titles":[]},"80":{"title":"## v7.1.1(2024-07-15)","titles":["更新"]},"81":{"title":"v7.1.0(2024-06-27)","titles":["更新"]}},"dirtCount":0,"index":[["升级所有相关依赖到最新",{"2":{"81":1}}],["升级到",{"2":{"81":1}}],["简单功能零代码实现",{"2":{"80":1}}],["简介",{"0":{"63":1},"1":{"64":1,"65":1,"66":1,"67":1,"68":1,"69":1}}],["支付",{"2":{"80":1}}],["支付插件",{"2":{"78":1}}],["支持动态安装",{"2":{"69":1}}],["支持回滚操作",{"2":{"69":1}}],["支持静态资源文件上传云端进行云管理",{"2":{"69":1}}],["支持很多数据库",{"2":{"21":1}}],["支持的数据库类型",{"2":{"21":1}}],["支持数据库",{"0":{"21":1}}],["支持多主键",{"2":{"20":1}}],["支持关联查询",{"2":{"19":1}}],["短信等功能可以通过安装插件的方式添加",{"2":{"80":1}}],["短信插件",{"2":{"78":1}}],["短信这类功能的插件可以通过后台动态安装卸载",{"2":{"68":1}}],["完善插件",{"0":{"78":1}}],["计划",{"0":{"77":1},"1":{"78":1}}],["找不到类似xxxtabledef文件",{"0":{"76":1}}],["常见问题",{"0":{"75":1},"1":{"76":1}}],["常用的技术进行选择",{"2":{"64":1}}],["您的贡献可能会给其他人来带巨大的帮助",{"2":{"74":1}}],["哦",{"0":{"72":1,"73":1,"74":1}}],["点个",{"0":{"72":1,"73":1}}],["点击+按钮",{"2":{"34":1}}],["点击左侧菜单扩展管理",{"2":{"34":1}}],["点击前往插件市场",{"2":{"32":1}}],["源码",{"0":{"71":1},"1":{"72":1,"73":1,"74":1}}],["源码仓库",{"2":{"49":1}}],["演示",{"0":{"70":1}}],["卸载插件",{"2":{"69":1}}],["卸载和替换",{"2":{"45":2}}],["前后端插件",{"2":{"69":1}}],["前端",{"0":{"73":1}}],["前端框架",{"0":{"67":1}}],["前端会根据后端返回的上传模式进行本地上传或者云存储签名直传",{"2":{"61":1}}],["前端接口",{"2":{"16":1}}],["天的保留",{"2":{"69":1}}],["任务调度包含执行结果日志",{"2":{"69":1}}],["添加",{"2":{"69":1}}],["定时任务",{"2":{"69":1}}],["定时任务模块",{"2":{"27":1}}],["便于问题排查",{"2":{"69":1}}],["设置角色按机构进行数据范围权限划分",{"2":{"69":1}}],["呈现公司组织部门树形结构",{"2":{"69":1}}],["内置功能",{"0":{"69":1}}],["代码简洁",{"2":{"68":1}}],["灵活又不臃肿",{"2":{"68":1}}],["灵活性",{"2":{"45":1}}],["灵活性高",{"2":{"45":1}}],["专门为",{"2":{"68":1}}],["部分功能实现零代码",{"2":{"68":1}}],["从页面到后端代码",{"2":{"68":1}}],["特别是最近",{"2":{"68":1}}],["特别是跟",{"2":{"4":1}}],["三",{"0":{"67":1}}],["二",{"0":{"66":1}}],["环境要求",{"0":{"65":1}}],["环境准备",{"0":{"47":1}}],["减少技术栈的复杂度",{"2":{"64":1}}],["技术选型",{"0":{"64":1},"1":{"65":1,"66":1,"67":1}}],["技术分享",{"2":{"4":1,"6":1}}],["方便一张图片使用在多种场景",{"2":{"62":1}}],["方法去调用主应用的一些对象方法",{"2":{"35":1}}],["方法第一个参数如果为",{"2":{"29":1}}],["方法",{"2":{"18":1,"35":5}}],["水印等处理",{"2":{"62":1}}],["裁剪",{"2":{"62":1}}],["还可以对图片进行各种如压缩",{"2":{"62":1}}],["还可以了解到一些前沿的技术",{"2":{"4":1}}],["条件允许的话尽量选择云存储上传",{"2":{"62":1}}],["防止上传恶意文件等",{"2":{"62":1}}],["动静分离有许多好处",{"2":{"62":1}}],["动态加载使得应用程序能够在不停机的情况下进行热更新",{"2":{"45":1}}],["动态加载允许应用程序在运行时根据需求加载",{"2":{"45":1}}],["动态加载",{"2":{"45":2}}],["动态",{"2":{"20":1}}],["动态表名",{"2":{"20":1}}],["线上环境请用nginx等静态服务器代理",{"2":{"62":1}}],["$",{"2":{"62":1}}],["七牛云等",{"2":{"61":1}}],["腾讯云",{"2":{"61":1}}],["云存储上传服务端值提供签名供前端直传到对应的云存储",{"2":{"61":1}}],["云存储",{"2":{"61":1}}],["本地上传配置",{"2":{"62":1}}],["本地上传",{"2":{"61":1}}],["本身",{"2":{"19":1}}],["直接上传到对应的云存储",{"2":{"61":1}}],["操作日志",{"2":{"69":1}}],["操作权限标识等",{"2":{"69":1}}],["操作",{"2":{"58":1}}],["处理业务逻辑的代码应该被封装在服务中",{"2":{"57":1}}],["处理逻辑在以下方法",{"2":{"31":1}}],["服务",{"0":{"57":1},"1":{"58":1,"59":1}}],["服务启动成功",{"2":{"51":1}}],["类型",{"2":{"56":1}}],["类必须继承",{"2":{"35":1,"42":2}}],["类必须要有",{"2":{"35":1,"42":2}}],["当前用户",{"0":{"56":1}}],["允许网页iframe",{"2":{"55":1}}],["忽略权限控制的地址",{"2":{"55":1}}],["鉴权拦截配置",{"2":{"55":1}}],["监控用户行为",{"2":{"55":1}}],["监听",{"2":{"20":1}}],["权限管理拦截器",{"2":{"55":1}}],["权限校验",{"0":{"53":1},"1":{"54":1,"55":1,"56":1}}],["每次调用接口的时候spring",{"2":{"55":1}}],["每个插件的配置各不相同",{"2":{"41":1}}],["每个对象中的",{"2":{"31":1}}],["每个模块都有其特有的功能",{"2":{"26":1}}],["则返回给decide方法",{"2":{"55":1}}],["判定用户请求的url是否在权限表中",{"2":{"55":1}}],["判断",{"2":{"29":1}}],["刷新token过期时间",{"2":{"54":1}}],["半小时",{"2":{"54":1}}],["半自动",{"0":{"25":1}}],["秒",{"2":{"54":2}}],["单位",{"2":{"54":2}}],["单主键配置",{"2":{"20":1}}],["过期时间",{"2":{"54":1}}],["作为文档",{"2":{"60":1}}],["作为myaccessdecisionmanager类的decide的第三个参数",{"2":{"55":1}}],["作为框架安全与权限校验",{"2":{"53":1}}],["作者",{"2":{"40":1,"41":1}}],["采用",{"2":{"53":1}}],["密码版本号",{"2":{"56":1}}],["密码",{"2":{"52":1,"70":1}}],["账户",{"2":{"52":1,"70":1}}],["账户密码不正确",{"2":{"29":1}}],["默认集成springdoc",{"2":{"60":1}}],["默认账户密码",{"2":{"52":1}}],["默认实现了通用的六个接口方法",{"2":{"14":1}}],["默认实现了两种缓存",{"2":{"8":1}}],["执行",{"2":{"76":1}}],["执行命令",{"2":{"52":1}}],["执行的过程中",{"2":{"19":1}}],["同级",{"2":{"52":1}}],["同样也可以对",{"2":{"14":1}}],["跟进nodejs",{"2":{"81":1}}],["跟",{"2":{"52":1}}],["跟分页查询一样",{"2":{"12":1}}],["访问http",{"2":{"52":1}}],["访问",{"2":{"51":1}}],["端口",{"2":{"51":1}}],["构建eps信息",{"2":{"51":1}}],["没有可初始化的插件",{"2":{"51":1}}],["没有任何的",{"2":{"19":1}}],["没有任何",{"2":{"19":1}}],["控制台打印出下面信息",{"2":{"51":1}}],["控制器",{"0":{"10":1},"1":{"11":1,"12":1,"13":1,"14":1}}],["启动",{"2":{"52":1}}],["启动前端服务",{"0":{"52":1}}],["启动文件",{"2":{"51":1}}],["启动后端服务",{"0":{"51":1}}],["驱动已经内置",{"2":{"50":1}}],["首次启动会自动初始化并导入数据",{"2":{"50":1}}],["首先下载插件包",{"2":{"34":1}}],["建议",{"2":{"50":1}}],["建议尺寸",{"2":{"41":1}}],["yamlcool",{"2":{"54":1,"62":1}}],["yaml",{"2":{"50":1}}],["yamlspring",{"2":{"8":1}}],["yml",{"2":{"50":1,"62":1}}],["拉取源码",{"0":{"49":1}}],["9000",{"2":{"52":1}}],["941+08",{"2":{"51":1}}],["9",{"2":{"47":1}}],["推荐",{"2":{"47":2,"76":1}}],["推荐两种快速开发方式",{"2":{"23":1}}],["7天",{"2":{"54":1}}],["7版本",{"2":{"50":1}}],["7",{"2":{"47":1,"65":1}}],["选择",{"2":{"47":1,"65":1}}],["选择插件包进行安装",{"2":{"34":1}}],["开启",{"2":{"76":1}}],["开始使用",{"2":{"46":1}}],["开发几乎不用写代码",{"2":{"68":1}}],["开发设计的",{"2":{"68":1}}],["开发过程",{"0":{"40":1}}],["开发过程只需点一点",{"2":{"24":1}}],["开发插件",{"0":{"37":1},"1":{"38":1,"39":1,"40":1,"41":1}}],["开发的时候无法调试",{"2":{"35":1}}],["开发的时候只是模拟",{"2":{"35":1}}],["开发的一个",{"2":{"8":1}}],["开发",{"2":{"30":1}}],["开发方式",{"0":{"23":1},"1":{"24":1,"25":1}}],["开发者可以从中方便的获取各种参数",{"2":{"13":1}}],["快速开始",{"0":{"46":1},"1":{"47":1,"48":1,"49":1,"50":1,"51":1,"52":1}}],["扩展性",{"2":{"45":1}}],["扩展插件",{"0":{"32":1},"1":{"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1},"2":{"68":1}}],["大大提高了系统的可用性和稳定性",{"2":{"45":1}}],["热更新",{"2":{"45":1}}],["优化若干问题",{"2":{"81":1}}],["优势",{"2":{"45":1}}],["优炫数据库",{"2":{"21":1}}],["远程服务器和",{"2":{"45":1}}],["它可以加载指定的",{"2":{"45":1}}],["标准库中提供的一个类加载器",{"2":{"45":1}}],["最终打出的包为",{"2":{"43":1}}],["里指定",{"2":{"43":1}}],["里面是个数组",{"2":{"31":1}}],["就是我们的插件包",{"2":{"43":1}}],["就可以在代码中调用插件的方法了",{"2":{"35":1}}],["后端",{"0":{"72":1}}],["后端框架",{"0":{"66":1}}],["后端修改数据库配置",{"2":{"50":1}}],["后端接口",{"2":{"16":1}}],["后缀的文件",{"2":{"43":1}}],["打包结果",{"2":{"43":1}}],["打包命令",{"2":{"43":1}}],["打包",{"0":{"43":1}}],["打包时可以排除",{"2":{"42":1}}],["打开后台管理系统",{"2":{"34":1}}],["避免打包结果过大",{"2":{"42":1}}],["避免插件过大不会在打入jar包中",{"2":{"42":1}}],["主应用以有这些依赖",{"2":{"42":1}}],["主应用项目已经有的依赖给排除掉",{"2":{"42":1}}],["主应用没有这些依赖",{"2":{"42":1}}],["主要特点",{"2":{"19":1,"68":1}}],["主要是做一些技术教程",{"2":{"4":1}}],["以下是我们的一些计划",{"2":{"77":1}}],["以下包会打入jar",{"2":{"42":1}}],["以往的框架已经越来越不能满足现代化的开发需求",{"2":{"68":1}}],["以",{"2":{"50":1}}],["以上包在主应用已经引入",{"2":{"42":1}}],["以上内容来自第三方相关产品的官方文档或第三方平台",{"2":{"20":1}}],["中实现动态加载",{"2":{"45":1}}],["中的",{"2":{"43":1}}],["中排除掉不打入jar",{"2":{"42":2}}],["中重写方法",{"2":{"14":1}}],["引入依赖",{"2":{"42":1}}],["可商用",{"2":{"71":1}}],["可插拔",{"2":{"68":1}}],["可选",{"2":{"62":1}}],["可维护性",{"2":{"45":1}}],["可控性强",{"2":{"45":1}}],["可在",{"2":{"43":1}}],["可使用",{"2":{"42":1}}],["可以重写modifybefore和modifyafter方法",{"2":{"59":1}}],["可以参考baseservice的实现",{"2":{"58":1}}],["可以轻松地添加新的功能模块或服务",{"2":{"45":1}}],["可以将应用程序的核心逻辑和配置分离",{"2":{"45":1}}],["可以通过代码控制加载",{"2":{"45":1}}],["可以通过插件的方式来扩展系统功能",{"2":{"32":1}}],["可以动态指定",{"2":{"45":1}}],["可以快速开发我们的插件",{"2":{"38":1}}],["可以大大节省开发时间",{"2":{"23":1}}],["可以大大简化代码",{"2":{"10":1}}],["可以自动创建表",{"2":{"22":1}}],["可以在打包日志中查看我们排除和引入了哪些包",{"2":{"42":1}}],["可以在",{"2":{"31":1}}],["可以在对应的",{"2":{"14":1}}],["可以在这边实现一下列表数据排序规则",{"2":{"11":1,"13":1,"14":1,"60":1}}],["可以选择你想使用的缓存",{"2":{"8":1}}],["满足以上条件",{"2":{"42":1}}],["拼音",{"2":{"42":1}}],["汉字",{"2":{"42":1}}],["汉字字符",{"2":{"42":1}}],["会持续不断地更新",{"2":{"79":1}}],["会展示在插件的详情中",{"2":{"41":1}}],["会更加简洁",{"2":{"29":1}}],["说明后端服务启动成功",{"2":{"51":1}}],["说明",{"2":{"41":1,"56":1}}],["403",{"2":{"55":1}}],["401",{"2":{"55":1}}],["46",{"2":{"51":1}}],["45",{"2":{"51":3}}],["4b57",{"2":{"42":1}}],["47ac",{"2":{"42":1}}],["4fd03504",{"2":{"42":1}}],["4",{"0":{"41":1,"52":1},"2":{"42":2,"45":1,"55":1}}],["上传模式",{"2":{"62":1}}],["上面只是个例子",{"2":{"40":1}}],["上加了这个注解后",{"2":{"18":1}}],["测试",{"2":{"40":1}}],["测试curd",{"2":{"11":2,"12":2,"13":2,"14":2,"25":1,"60":2}}],["加载权限表中所有操作请求权限",{"2":{"55":1}}],["加载成功后文件名称将被当作唯一键标识",{"2":{"31":1}}],["加上",{"2":{"39":1}}],["或",{"2":{"38":1,"72":1,"73":1,"74":1}}],["脚手架源码仓库",{"2":{"38":1}}],["脚手架",{"0":{"38":1}}],["下",{"2":{"36":1}}],["下的",{"2":{"31":1}}],["范围在",{"2":{"36":1}}],["路径可以自己指定",{"2":{"36":1}}],["例如原本的配置文件是这样的",{"2":{"36":1}}],["31908",{"2":{"51":4}}],["383+08",{"2":{"51":1}}],["382+08",{"2":{"51":1}}],["38",{"2":{"51":4}}],["3306",{"2":{"50":1}}],["32",{"2":{"42":1}}],["32615",{"2":{"35":8}}],["3c64059230d0",{"2":{"42":1}}],["3",{"0":{"36":1,"40":1,"51":1},"2":{"42":1,"45":1,"47":2,"51":1,"55":1,"65":1,"66":1}}],["其他数据库适配中",{"2":{"50":1}}],["其他查询方式",{"2":{"12":1}}],["其中对应的包名称",{"2":{"43":1}}],["其中",{"2":{"36":1}}],["其中我们可以在插件包里通过",{"2":{"35":1}}],["获得用户名",{"2":{"56":1}}],["获得用户信息",{"2":{"55":1,"56":1}}],["获得其他插件",{"2":{"35":1}}],["获取启用的权限操作请求",{"2":{"55":1}}],["获取主应用resources下的",{"2":{"35":1}}],["获取主应用resources目录下的资源文件",{"2":{"35":1}}],["只需极少编码即可实现大部分需求",{"2":{"68":1}}],["只需拖一拖即可",{"2":{"68":1}}],["只需三步",{"2":{"25":1}}],["只有安装到cool",{"2":{"35":1}}],["注解",{"2":{"35":2,"42":4}}],["注意",{"2":{"20":1,"21":1,"22":1,"30":1,"31":1,"47":1}}],["||",{"2":{"35":7}}],["|",{"2":{"35":67}}],["一",{"0":{"65":1}}],["一个插件",{"2":{"42":1}}],["一个插件jar有且只能有一个类被",{"2":{"35":1,"42":1}}],["一个项目用cool就够了",{"2":{"35":2}}],["一般抛异常写法",{"2":{"29":1}}],["`",{"2":{"35":10}}],["`update",{"2":{"35":1}}],["`create",{"2":{"35":1}}],["`params`",{"2":{"35":1}}],["`ip`",{"2":{"35":1}}],["`action`",{"2":{"35":1}}],["`base",{"2":{"35":1}}],["参数管理",{"2":{"69":1}}],["参数",{"2":{"35":1}}],["564+08",{"2":{"35":1}}],["556",{"2":{"51":1}}],["559+08",{"2":{"35":1}}],["558+08",{"2":{"35":1}}],["557+08",{"2":{"35":1}}],["554+08",{"2":{"35":1}}],["544+08",{"2":{"35":1}}],["543+08",{"2":{"35":2}}],["5",{"2":{"35":8,"42":6,"47":1,"65":1}}],["8",{"2":{"35":1,"42":3,"47":1,"50":2}}],["8001",{"2":{"35":5,"51":2,"60":1}}],["8s",{"2":{"21":2}}],["运行系统",{"0":{"48":1},"1":{"49":1,"50":1,"51":1,"52":1}}],["运行结果",{"2":{"35":1}}],["运行代码生成器",{"2":{"25":1}}],["without",{"2":{"42":1}}],["web",{"2":{"35":4}}],["wrappers",{"2":{"29":2,"55":1}}],["调用其他插件",{"2":{"35":1}}],["调用其他插件aliyun",{"2":{"35":1}}],["调用主应用获取缓存",{"2":{"35":1}}],["调用主应用设置缓存",{"2":{"35":1}}],["调用主应用",{"2":{"35":3}}],["调用插件类",{"2":{"35":1}}],["调用",{"0":{"35":1}}],["调一调",{"2":{"24":1}}],["27",{"0":{"81":1}}],["2b8",{"2":{"50":1}}],["26",{"2":{"42":3}}],["256x256",{"2":{"41":1}}],["2024",{"0":{"80":1,"81":1},"2":{"35":8,"51":4}}],["2",{"0":{"35":1,"39":1,"50":1},"2":{"42":5,"45":2,"55":1}}],["然后在系统中安装插件包",{"2":{"34":1}}],["安装云存储插件",{"2":{"61":1}}],["安装依赖",{"2":{"52":1}}],["安装插件将打包好的",{"2":{"44":1}}],["安装插件",{"0":{"44":1}}],["安装插件之后",{"2":{"35":1}}],["安装",{"0":{"34":1}}],["也可以使用别人开发的插件",{"2":{"32":1}}],["也希望广大开发者粉丝帮助完善文档",{"2":{"0":1}}],["导致系统臃肿",{"2":{"32":1}}],["要新增一个",{"2":{"31":1}}],["初始化eps完成",{"2":{"51":1}}],["初始化菜单数据",{"2":{"31":1}}],["初始化自定义的数据",{"2":{"31":1}}],["初始化数据json文件",{"2":{"27":1}}],["创建",{"2":{"31":1}}],["创建实体类生成表",{"2":{"25":1}}],["富文本参数",{"2":{"31":1}}],["规范",{"2":{"31":1}}],["规则为",{"2":{"16":1}}],["数组里可以包含多个对象",{"2":{"31":1}}],["数据有",{"2":{"69":1}}],["数据回收站",{"2":{"69":1}}],["数据回收站模块",{"2":{"27":1}}],["数据初始化完成",{"2":{"31":1}}],["数据初始化",{"0":{"31":1}}],["数据脱敏",{"2":{"20":1}}],["数据脱敏等等",{"2":{"19":1}}],["数据填充",{"2":{"19":1,"20":1}}],["数据库初始数据初始化",{"2":{"31":1}}],["数据库",{"0":{"19":1},"1":{"20":1,"21":1,"22":1},"2":{"21":32}}],["格式如下",{"2":{"31":1}}],["目录下",{"2":{"43":1}}],["目录下创建",{"2":{"31":1}}],["目录创建",{"2":{"31":1}}],["目录结构",{"0":{"26":1,"39":1},"1":{"27":1}}],["相关配置",{"2":{"54":1}}],["相关应用",{"2":{"30":1}}],["相关的技术发展",{"2":{"68":1}}],["相关的",{"2":{"4":1}}],["很容易就能完成一个",{"2":{"30":1}}],["很多应用希望接入",{"2":{"30":1}}],["结尾",{"2":{"31":1}}],["结合知识库",{"2":{"30":1}}],["结构",{"0":{"27":1}}],["做为后来者有后发优势",{"2":{"68":1}}],["做了一个",{"2":{"30":1}}],["做解析",{"2":{"18":1}}],["于是我们面向开发者和软件开发公司",{"2":{"30":1}}],["容易把我们累死",{"2":{"30":1}}],["随着技术不断地发展",{"2":{"68":1}}],["随着",{"2":{"30":1}}],["应用必备",{"2":{"30":1}}],["视频演示",{"2":{"30":1}}],["流程编排插件",{"2":{"78":1}}],["流程编排+知识库届时会上架到插件市场",{"2":{"30":1}}],["流程编排功能",{"2":{"30":1}}],["流程编排",{"0":{"30":1},"2":{"68":1}}],["异常信息为",{"2":{"29":1}}],["异常统一捕获",{"0":{"29":1}}],["即抛异常",{"2":{"29":1}}],["手动抛异常",{"2":{"29":1}}],["业务校验的工具",{"2":{"29":1}}],["业务代码放在这边",{"2":{"27":1}}],["系统异常信息日志记录和查询",{"2":{"69":1}}],["系统正常操作日志记录和查询",{"2":{"69":1}}],["系统通用",{"2":{"62":2}}],["系统的文件上传就会自动替换成云存储上传的方式",{"2":{"61":1}}],["系统启动完成访问",{"2":{"60":1}}],["系统启动的时候",{"2":{"55":1}}],["系统会查询并向spring",{"2":{"55":1}}],["系统提供了",{"2":{"29":1}}],["系统用户",{"2":{"27":1}}],["请求日志",{"2":{"69":1}}],["请求过程中会解析",{"2":{"56":1}}],["请求参数",{"0":{"13":1},"2":{"59":2}}],["请区分post",{"2":{"29":1}}],["不要吝啬你们免费的star哦",{"2":{"71":1}}],["不像一般代码生成器生成一堆冗余代码",{"2":{"68":1}}],["不经过服务器",{"2":{"61":1}}],["不然调用时会报错",{"2":{"42":1}}],["不带声调",{"2":{"42":1}}],["不同的插件有不同的配置",{"2":{"40":1}}],["不会重复初始化",{"2":{"31":1}}],["不支持该请求方式",{"2":{"29":1}}],["不用写一行代码",{"2":{"24":1}}],["已存在该记录",{"2":{"29":1}}],["统一异常处理",{"0":{"28":1},"1":{"29":1}}],["包或其内部的类和资源",{"2":{"45":1}}],["包或类",{"2":{"45":1}}],["包具有以下几个显著的优势",{"2":{"45":1}}],["包的位置和版本",{"2":{"45":1}}],["包括本地文件系统",{"2":{"45":1}}],["包括一些核心的组件工具",{"2":{"27":1}}],["包时会想该插件注入",{"2":{"35":1}}],["包下创建",{"2":{"27":1}}],["包",{"2":{"27":1,"45":3}}],["按照简单",{"2":{"64":1}}],["按上面的包结构新增即可",{"2":{"27":1}}],["按规则组装",{"2":{"18":1}}],["为什么选择",{"0":{"68":1}}],["为例",{"2":{"50":1}}],["为排除引入",{"2":{"42":1}}],["为引入",{"2":{"42":1}}],["为主应用",{"2":{"36":1}}],["为插件key",{"2":{"35":1}}],["为对应的值",{"2":{"31":1}}],["为表的字段",{"2":{"31":1}}],["为表的名称",{"2":{"31":1}}],["为业务模块",{"2":{"27":1}}],["为核心模块",{"2":{"27":1}}],["为了使项目能够持续",{"2":{"71":1}}],["为了开发插件如果引入了主应用已经有的maven依赖可以在下面的",{"2":{"42":2}}],["为了方便开发插件和统一插件开发规范",{"2":{"38":1}}],["为了方便获取参数",{"2":{"13":1}}],["为了丰富系统功能",{"2":{"32":1}}],["为了不过多依赖环境",{"2":{"8":1}}],["用来判定用户是否有此权限",{"2":{"55":1}}],["用configattribute的集合作为value",{"2":{"55":1}}],["用权限的path作为map的key",{"2":{"55":1}}],["用户是系统操作者",{"2":{"69":1}}],["用户管理",{"2":{"69":1}}],["用户管理模块",{"2":{"27":1}}],["用户",{"2":{"56":1}}],["用户详情",{"2":{"55":1}}],["用户名",{"2":{"56":1}}],["用户名不存在",{"2":{"55":1}}],["用户名已存在",{"2":{"28":1,"29":3}}],["用户登录",{"2":{"55":1}}],["用过",{"2":{"22":1}}],["插件可以在打包的时候将在我们",{"2":{"42":1}}],["插件详解",{"0":{"42":1}}],["插件配置",{"2":{"41":1}}],["插件介绍",{"2":{"41":1}}],["插件",{"2":{"41":1,"78":1}}],["插件钩子",{"2":{"41":1}}],["插件唯一标识",{"2":{"41":1}}],["插件描述",{"2":{"40":1,"41":1}}],["插件运行测试类",{"2":{"39":1}}],["插件信息配置文件",{"2":{"39":1}}],["插件类放在这个包下",{"2":{"39":1}}],["插件包",{"2":{"39":1}}],["插件包可以通过官网下载插件",{"2":{"34":1}}],["插件方法",{"2":{"35":1,"42":1}}],["插件管理",{"2":{"34":1}}],["插件模块",{"2":{"27":1}}],["插件分享等",{"2":{"6":1}}],["插件分享等内容",{"2":{"4":1}}],["角色菜单权限分配",{"2":{"69":1}}],["角色管理",{"2":{"69":1}}],["角色数组",{"2":{"41":1,"56":1}}],["角色",{"2":{"27":1}}],["资源目录下的文件",{"2":{"36":1}}],["资源文件",{"2":{"27":1}}],["资源",{"2":{"27":1,"45":1}}],["菜单管理",{"2":{"69":1}}],["菜单",{"2":{"27":1}}],["基础模块",{"2":{"27":1}}],["└─",{"2":{"27":8,"39":7}}],["└──",{"2":{"16":6}}],["核心包",{"2":{"27":1,"39":1}}],["├─core",{"2":{"39":1}}],["├─",{"2":{"27":15,"39":3}}],["├──",{"2":{"16":1}}],["清晰明了便于管理",{"2":{"26":1}}],["组件会根据字段智能选择",{"2":{"25":1}}],["n",{"2":{"69":1}}],["npm",{"2":{"52":2}}],["net",{"2":{"42":4}}],["new",{"2":{"25":2,"29":2,"42":2,"45":4,"55":12}}],["now",{"2":{"35":2}}],["nodejs",{"2":{"30":1}}],["nio",{"2":{"35":5}}],["null",{"2":{"28":1,"29":2,"31":2,"35":1,"42":1,"55":3}}],["name>",{"2":{"43":1}}],["name>my",{"2":{"43":1}}],["name",{"2":{"11":1,"12":3,"13":1,"14":1,"17":1,"31":2,"40":1,"41":1,"50":1,"60":1,"62":1}}],["文件管理",{"2":{"69":1}}],["文件管理模块",{"2":{"27":1}}],["文件存放路径",{"2":{"62":1}}],["文件根地址",{"2":{"62":1}}],["文件等",{"2":{"45":1}}],["文件上传插件",{"2":{"78":1}}],["文件上传模式",{"2":{"62":1}}],["文件上传相关",{"2":{"62":1}}],["文件上传",{"0":{"61":1},"2":{"44":1,"62":1}}],["文件内容",{"2":{"35":1}}],["文件后",{"2":{"31":1}}],["文件",{"2":{"25":1,"27":1,"31":2,"62":1}}],["文档",{"0":{"60":1,"74":1},"2":{"1":1}}],["重启生成表",{"2":{"25":1}}],["重写",{"0":{"18":1}}],["重写逻辑",{"2":{"14":2}}],["重写实现",{"0":{"14":1}}],["编写实体类",{"2":{"25":1}}],["编码",{"0":{"7":1},"2":{"68":1}}],["零代码开发",{"2":{"24":1}}],["全自动",{"0":{"24":1}}],["提高了代码的可维护性",{"2":{"45":1}}],["提高开发效率",{"2":{"23":1}}],["提示",{"2":{"27":1}}],["提供了极大的灵活性",{"2":{"45":1}}],["提供了简化的业务异常抛出工具",{"2":{"28":1}}],["提供了非常灵活的",{"2":{"19":1}}],["提供了一种高效且可靠的解决方案",{"2":{"8":1}}],["降低开发成本",{"2":{"23":1}}],["因为有你们的支持",{"2":{"79":1}}],["因为这可能会造成数据丢失",{"2":{"22":1}}],["因此如果你需要开发",{"2":{"30":1}}],["因此会带来指数级的性能增长",{"2":{"19":1}}],["因此会带来更高的自主性",{"2":{"19":1}}],["切勿在生产环境开启自动建表功能",{"2":{"22":1}}],["并将用户信息存在整个请求过程中的",{"2":{"56":1}}],["并实现",{"2":{"35":1,"42":1}}],["并实现值的插入",{"2":{"31":1}}],["并定义表数据",{"2":{"31":1}}],["并且支持表字段的修改",{"2":{"22":1}}],["并重写了",{"2":{"18":1}}],["节省了大量手动工作",{"2":{"22":1}}],["尤其是开发过程中频繁的新增表及变更表结构",{"2":{"22":1}}],["列的配置",{"2":{"22":1}}],["列表查询",{"2":{"12":1}}],["而不用一味地堆功能",{"2":{"32":1}}],["而不需要关心数据库的表",{"2":{"22":1}}],["而是也非常不灵活",{"2":{"30":1}}],["而是对它做一层封装",{"2":{"18":1}}],["有且只能有一个类被",{"2":{"42":1}}],["有时候开发时的配置和生产环境的配置是不一样的",{"2":{"36":1}}],["有些功能模块上线时",{"2":{"31":1}}],["有一项重要的能力就是表结构自动维护",{"2":{"22":1}}],["有兴趣的可以关注我们",{"2":{"4":1}}],["实现功能可插拔",{"2":{"69":1}}],["实现应用程序的快速扩展和升级",{"2":{"45":1}}],["实现方法",{"2":{"45":1}}],["实现动态加载的技术方案",{"2":{"45":1}}],["实现原理",{"0":{"45":1}}],["实现简单功能从",{"2":{"7":1,"24":1}}],["实际开发中可以根据自己的需求来配置",{"2":{"40":1}}],["实体需以",{"2":{"31":1}}],["实体",{"2":{"22":1}}],["理论上你只需修改一些不兼容的代码就可以正常运行了",{"2":{"21":1}}],["那样工作量太大了",{"2":{"21":1}}],["是",{"2":{"45":1}}],["是插件的配置信息",{"2":{"40":1}}],["是具体的业务框架",{"2":{"21":1}}],["是否支持在微服务项目下进行",{"2":{"20":1}}],["但是每次都是用代码手搓",{"2":{"30":1}}],["但是它为我们提供了改造的可能",{"2":{"21":1}}],["但是",{"2":{"21":1}}],["虽然",{"2":{"21":1}}],["星瑞格数据库",{"2":{"21":1}}],["华为",{"2":{"21":1}}],["华库",{"2":{"21":1}}],["亚马逊",{"2":{"21":1}}],["行云数据库",{"2":{"21":1}}],["瀚高数据库",{"2":{"21":1}}],["神通数据库",{"2":{"21":1}}],["南大通用数据库",{"2":{"21":1}}],["南大通用",{"2":{"21":1}}],["gt",{"2":{"47":3,"50":1,"65":3,"76":3}}],["goal>",{"2":{"42":1}}],["goal>shade",{"2":{"42":1}}],["goals>",{"2":{"42":2}}],["goldilocks",{"2":{"21":2}}],["grantedauthority>",{"2":{"55":1}}],["graalvm",{"2":{"47":1,"65":1}}],["groupid>org",{"2":{"42":1}}],["groupid>com",{"2":{"42":1}}],["groupid>cn",{"2":{"42":1}}],["groupid>",{"2":{"42":3}}],["greenplum",{"2":{"21":2}}],["gitee",{"2":{"38":1,"72":1,"73":1,"74":1}}],["github",{"2":{"38":1,"72":1,"73":1,"74":1}}],["gbase",{"2":{"21":3}}],["gauss",{"2":{"21":2}}],["getbytes",{"2":{"55":2}}],["geturls",{"2":{"55":1}}],["getusername",{"2":{"29":4,"55":3}}],["getsecureobjectclass",{"2":{"55":1}}],["getstatus",{"2":{"55":2}}],["getstr",{"2":{"13":1}}],["getroles",{"2":{"55":1}}],["getresponse",{"2":{"55":1}}],["getresourceasstream",{"2":{"35":1}}],["getrequest",{"2":{"55":1}}],["getrequesturl",{"2":{"55":1}}],["getdepartmentidsbyroleids",{"2":{"55":1}}],["getperms",{"2":{"55":1}}],["getparent",{"2":{"35":1}}],["getparentresource",{"2":{"35":2}}],["getpasswordv",{"2":{"55":1}}],["getpassword",{"2":{"29":2,"55":1}}],["getauthenticationmanager",{"2":{"55":1}}],["getallconfigattributes",{"2":{"55":1}}],["getallperms",{"2":{"55":1}}],["getattributes",{"2":{"55":1}}],["getabsolutepath",{"2":{"45":1}}],["getannotationsbytype",{"2":{"18":1}}],["getchain",{"2":{"55":1}}],["getcontextclassloader",{"2":{"45":1}}],["getcode",{"2":{"29":1}}],["getclassloader",{"2":{"35":1}}],["getclass",{"2":{"35":1}}],["getinstance",{"2":{"35":1}}],["getid",{"2":{"29":2,"55":6}}],["getone",{"2":{"29":2,"55":1}}],["get等请求方式是否正确",{"2":{"29":1}}],["getmode",{"2":{"62":1}}],["getmapping",{"2":{"62":1}}],["getmappingformethod",{"0":{"18":1},"2":{"18":3}}],["getmessage",{"2":{"29":7}}],["get",{"2":{"9":1,"11":1,"35":2,"42":1,"55":1}}],["人大金仓数据库",{"2":{"21":1}}],["kyi=",{"2":{"35":1}}],["kingbasees",{"2":{"21":1}}],["keyname",{"2":{"31":2}}],["keyword",{"2":{"12":1}}],["keywordlikefields",{"2":{"12":1}}],["key",{"2":{"9":1,"31":1,"35":4,"40":1,"41":1}}],["虚谷数据库",{"2":{"21":1}}],["达梦数据库",{"2":{"21":1}}],["及以上数据库",{"2":{"21":1}}],["及以下数据库",{"2":{"21":1}}],["及更高性能",{"2":{"20":1}}],["描述",{"2":{"21":1}}],["持续添加更多的数据库支持",{"2":{"21":1}}],["如文件上传",{"2":{"80":1}}],["如支付",{"2":{"68":1}}],["如不占用主服务器带宽",{"2":{"62":1}}],["如",{"2":{"61":1,"62":1}}],["如阿里云",{"2":{"61":1}}],["如我们这边示例使用到了中文转拼音",{"2":{"42":1}}],["如下表格所示",{"2":{"21":1}}],["如果方便请点下",{"2":{"79":1}}],["如果你有更好的建议",{"2":{"77":1}}],["如果文档有缺失",{"2":{"74":1}}],["如果不在权限表中则放行",{"2":{"55":1}}],["如果不满足需求",{"2":{"14":1}}],["如果在权限表中",{"2":{"55":1}}],["如果在原文件直接修改将不生效",{"2":{"31":1}}],["如果同一张表历史已经有初始化过数据",{"2":{"31":1}}],["如果我们的项目对你有用",{"2":{"2":1}}],["欢迎联系我们",{"2":{"77":1}}],["欢迎提交pr",{"2":{"74":1}}],["欢迎纠正",{"2":{"20":1}}],["欢迎加入我们大家庭一起讨论",{"2":{"2":1}}],["若有错误",{"2":{"20":1}}],["项目中常见的问题",{"2":{"75":1}}],["项目是开源免费",{"2":{"71":1}}],["项目是前后端分离的",{"2":{"49":1}}],["项目按照模块化的方式组织",{"2":{"26":1}}],["项目",{"2":{"20":1}}],["非低代码",{"2":{"24":1}}],["非",{"2":{"20":1}}],["quot",{"2":{"20":2,"28":2,"29":2}}],["querywrapper",{"2":{"12":3,"14":3,"19":1,"20":1}}],["和",{"2":{"20":1}}],["和传统的",{"2":{"14":1}}],["比如替换系统的上传组件",{"2":{"41":1}}],["比如你有一个订单管理的模块",{"2":{"27":1}}],["比如",{"2":{"20":1,"31":1,"35":1}}],["借助其他框架或收费",{"2":{"20":1}}],["字典管理",{"2":{"69":1}}],["字典回写",{"2":{"20":1}}],["字段",{"2":{"41":1,"56":1}}],["字段解释",{"0":{"41":1}}],["字段模块",{"2":{"27":1}}],["字段加密",{"2":{"20":1}}],["字段权限",{"2":{"20":1}}],["字段的",{"2":{"20":1}}],["字段全匹配",{"2":{"12":1}}],["收费",{"2":{"20":4}}],["✔️",{"2":{"20":4}}],["审计",{"2":{"20":1}}],["乐观锁",{"2":{"20":1}}],["乐观锁更新",{"2":{"19":1}}],["未知",{"2":{"20":1}}],["传输",{"2":{"20":1}}],["无需授权的",{"2":{"71":1}}],["无需安装",{"2":{"50":1}}],["无需手动通过",{"2":{"29":1}}],["无需额外安装软件",{"2":{"8":1}}],["无法做到全部支持",{"2":{"21":1}}],["无其他第三方依赖",{"2":{"20":1}}],["配置完数据库直接启动",{"2":{"76":1}}],["配置系统菜单",{"2":{"69":1}}],["配置文件位于src",{"2":{"50":1}}],["配置数据库",{"0":{"50":1}}],["配置插件信息",{"2":{"40":1}}],["配置",{"0":{"36":1,"54":1},"2":{"20":1}}],["复合主键",{"2":{"20":1}}],["生成",{"2":{"25":1}}],["生成前端代码",{"2":{"25":1}}],["生成后端代码",{"2":{"25":1}}],["生成策略",{"2":{"20":1}}],["生成的路由前缀为",{"2":{"16":1}}],["loaduserbyusername",{"2":{"55":1}}],["loadresourcedefine",{"2":{"55":2}}],["local",{"2":{"50":1,"62":2}}],["lombok",{"2":{"35":2,"42":2}}],["long",{"2":{"29":2,"55":2,"56":2}}],["logo",{"2":{"40":2,"41":2}}],["log`",{"2":{"35":1}}],["log",{"2":{"29":5,"31":1}}],["lealone",{"2":{"21":2}}],["left",{"2":{"20":1}}],["list",{"2":{"10":1,"11":1,"12":1,"13":1,"14":1,"55":1,"60":1}}],["解析设计",{"2":{"20":1}}],["❌",{"2":{"20":30}}],["✅",{"2":{"20":51}}],["element",{"2":{"67":1}}],["else",{"2":{"35":1}}],["encodedpassword",{"2":{"55":2}}],["encode",{"2":{"55":1}}],["entrypointunauthorizedhandler",{"2":{"55":3}}],["entity",{"2":{"20":2,"27":2,"29":12,"31":1}}],["enablewebsecurity",{"2":{"55":1}}],["epsevent",{"2":{"51":1}}],["eps",{"2":{"51":2}}],["equals",{"2":{"55":1}}],["eq",{"2":{"29":2,"55":2}}],["error",{"2":{"29":10}}],["e",{"2":{"29":19,"42":2}}],["expire",{"2":{"54":1}}],["expression",{"2":{"42":2}}],["excluding",{"2":{"42":14}}],["exclude>cn",{"2":{"42":2}}],["exclude>jakarta",{"2":{"42":1}}],["exclude>io",{"2":{"42":4}}],["exclude>",{"2":{"42":16}}],["exclude>org",{"2":{"42":9}}],["excludes>",{"2":{"42":2}}],["exceptionhandling",{"2":{"55":1}}],["exceptionhandler",{"2":{"29":6}}],["exception",{"2":{"29":2,"42":1,"55":2}}],["execution",{"2":{"76":1}}],["execution>",{"2":{"42":2}}],["executions>",{"2":{"42":2}}],["exec",{"2":{"35":5}}],["extern",{"2":{"35":1}}],["extends",{"2":{"11":1,"12":1,"13":1,"14":2,"18":1,"35":1,"42":1,"55":1,"60":1}}],["extractedmenu",{"2":{"31":1}}],["extracteddb",{"2":{"31":1}}],["功能",{"2":{"76":1}}],["功能几乎跟nodejs",{"2":{"70":1}}],["功能或特点",{"2":{"20":1}}],["功能对比",{"0":{"20":1}}],["在线",{"2":{"69":1}}],["在修改数据之前或之后做一些处理",{"2":{"59":1}}],["在项目编译的时候会自动生成这些文件",{"2":{"76":1}}],["在项目根目录下",{"2":{"52":1}}],["在项目启动的时候会去加载该文件",{"2":{"31":1}}],["在后台插件管理页面",{"2":{"44":1}}],["在后台插件管理里可以动态修改",{"2":{"40":1}}],["在执行打包的过程",{"2":{"42":1}}],["在我们脚手架上你可以发现",{"2":{"42":1}}],["在开发过程中如果需要引入第三方类库",{"2":{"42":1}}],["在提供的插件脚手架中已经应用了常用的依赖如",{"2":{"42":1}}],["在插件导入时才能被识别到",{"2":{"42":1}}],["在打包的时候选择要打包的插件",{"2":{"39":1}}],["在加载",{"2":{"35":1}}],["在某个版本需要新增数据的话",{"2":{"31":1}}],["在新增功能模块时",{"2":{"27":1}}],["在",{"2":{"19":1,"27":2,"29":1,"31":1,"43":1,"45":1}}],["在任何一个系统中",{"2":{"19":1}}],["拦截器",{"2":{"19":1}}],["通过动态加载",{"2":{"45":2}}],["通过反射实现",{"2":{"35":1}}],["通过拖动配置",{"2":{"30":1}}],["通过",{"2":{"29":1,"45":1}}],["通过管理后台菜单管理的快速创建即可生成",{"2":{"25":1}}],["通过独特的架构",{"2":{"19":1}}],["通过微调大模型学习框架特有写法",{"2":{"7":1,"24":1}}],["高性能",{"2":{"19":1}}],["高效的缓存解决方案",{"2":{"8":1}}],["逻辑删除",{"2":{"19":1,"20":1}}],["多租户",{"2":{"20":1}}],["多数据源是否支持",{"2":{"20":2}}],["多数据源支持",{"2":{"20":1}}],["多种",{"2":{"20":1}}],["多张表",{"2":{"20":1}}],["多主键",{"2":{"19":1}}],["多表查询",{"2":{"19":1,"20":3}}],["稳定性越差",{"2":{"19":1}}],["依赖越多",{"2":{"19":1}}],["把控性和稳定性",{"2":{"19":1}}],["再无任何第三方依赖",{"2":{"19":1}}],["除了",{"2":{"19":1,"20":1,"21":1}}],["更新",{"0":{"79":1},"1":{"80":1,"81":1}}],["更灵活",{"2":{"19":1}}],["更轻量",{"2":{"19":1,"20":2}}],["更加强大的",{"2":{"19":1}}],["更加简洁",{"2":{"10":1}}],["详细用法请查看",{"2":{"19":1}}],["集成了比",{"2":{"19":1}}],[">",{"2":{"18":1,"42":5,"55":10}}],["根据",{"2":{"22":1}}],["根据一定规则生成",{"2":{"18":1}}],["根据列表查询单个信息",{"2":{"11":1}}],["该功能主要完成系统用户配置",{"2":{"69":1}}],["该类继承了",{"2":{"18":1}}],["该父类已经实现了以下六个基础方法",{"2":{"10":1}}],["自动编码功能",{"2":{"80":1}}],["自动生成前端页面",{"2":{"25":1}}],["自动映射成数据库的表结构",{"2":{"22":1}}],["自动建表",{"0":{"22":1}}],["自带的注解",{"2":{"18":1}}],["自定义路由注解",{"0":{"17":1}}],["转成小写替换掉",{"2":{"16":1}}],["与前端紧密结合",{"2":{"61":1}}],["与",{"2":{"16":1,"53":1}}],["x26",{"2":{"50":2}}],["x",{"2":{"35":1,"66":1,"81":1}}],["xml",{"2":{"27":1,"42":2,"43":2}}],["xcloud",{"2":{"21":1}}],["xugu",{"2":{"21":1}}],["xxxxx",{"2":{"36":2}}],["xxx",{"2":{"16":2,"35":2,"40":2}}],["x3c",{"2":{"11":1,"12":1,"13":1,"14":5,"18":1,"29":2,"35":1,"42":81,"43":4,"55":13,"60":1}}],["模块化",{"2":{"45":1}}],["模块包",{"2":{"27":1}}],["模块名和",{"2":{"16":1}}],["模块名",{"2":{"16":2}}],["模块目录",{"2":{"16":1}}],["│─",{"2":{"39":1}}],["│",{"2":{"16":17,"27":36,"39":12}}],["原理",{"0":{"15":1,"55":1},"1":{"16":1,"17":1,"18":1}}],["原生",{"2":{"9":1}}],["接口的请求入参日志",{"2":{"69":1}}],["接口",{"2":{"16":1}}],["接口路由规则",{"0":{"16":1}}],["接口到前端页面的一键生成",{"2":{"7":1,"24":1}}],["接下来我们看看实现的原理",{"2":{"14":1}}],["对系统中经常使用的一些较为固定的数据进行维护",{"2":{"69":1}}],["对系统动态配置常用参数",{"2":{"69":1}}],["对应实体",{"2":{"59":2}}],["对应插件内的方法",{"2":{"35":1}}],["对应请求参数中的",{"2":{"12":1}}],["对应请求参数中同名参数",{"2":{"12":1}}],["对",{"2":{"20":1}}],["对比一下是简化了不少",{"2":{"14":1}}],["进行重写",{"2":{"14":1}}],["rawpassword",{"2":{"55":4}}],["roleids",{"2":{"55":3,"56":1}}],["root",{"2":{"50":1}}],["row",{"2":{"20":1}}],["runtimeexception",{"2":{"42":1}}],["run",{"2":{"31":1,"52":1}}],["rich",{"2":{"31":1}}],["rpc",{"2":{"20":1}}],["r",{"2":{"13":2,"14":1,"29":17,"62":4}}],["replace",{"2":{"55":1}}],["replaceall",{"2":{"55":1}}],["refreshexpire",{"2":{"54":1}}],["readme",{"2":{"40":2,"41":1}}],["readbytes",{"2":{"35":1}}],["required",{"2":{"62":1}}],["requiredargsconstructor",{"2":{"31":1,"35":2,"62":1}}],["requestpart",{"2":{"62":1}}],["requestparam",{"2":{"35":3}}],["requestparams",{"2":{"11":1,"12":1,"13":4,"14":5,"29":4,"56":2,"59":4,"60":1}}],["requestmatchers",{"2":{"55":1}}],["requestmappinginfo",{"2":{"18":2}}],["requestmappinghandlermapping",{"2":{"18":2}}],["requestmapping",{"2":{"17":2,"35":1}}],["requestattribute",{"2":{"13":1}}],["request",{"2":{"11":1,"12":1,"13":1,"14":1,"55":2,"60":1,"62":2}}],["requests",{"2":{"0":1}}],["remark",{"2":{"31":2}}],["restaccessdeniedhandler",{"2":{"55":3}}],["restcontrolleradvice",{"2":{"29":1}}],["response",{"2":{"55":2}}],["responsebody",{"2":{"35":2}}],["result",{"2":{"35":8}}],["resources",{"2":{"27":1,"31":1,"36":2,"39":1,"50":1}}],["resource",{"2":{"9":1,"55":10,"56":2}}],["recycle",{"2":{"27":1}}],["redshift",{"2":{"21":2}}],["redis",{"2":{"8":6}}],["return",{"2":{"9":2,"13":1,"14":2,"18":1,"29":8,"35":2,"42":1,"55":13,"62":2}}],["表单",{"2":{"13":1}}],["uploadmode",{"2":{"62":2}}],["upload",{"2":{"41":1,"62":3}}],["updates",{"2":{"35":1}}],["update",{"2":{"10":1,"11":1,"12":1,"13":1,"14":1,"60":1}}],["utf",{"2":{"35":1}}],["util",{"2":{"35":4}}],["useunicode=true",{"2":{"50":1}}],["useplugin",{"2":{"35":2}}],["usecache",{"2":{"35":2}}],["userid",{"2":{"56":1}}],["userinfo",{"2":{"55":1,"56":3}}],["userdetails",{"2":{"55":2}}],["userdetailsservice",{"2":{"55":4}}],["usernamepasswordauthenticationfilter",{"2":{"55":1}}],["usernamenotfoundexception",{"2":{"55":2}}],["username",{"2":{"50":1,"55":2,"56":3}}],["user",{"2":{"13":2,"27":1}}],["ui",{"2":{"25":1,"60":1,"67":1}}],["uxdb",{"2":{"21":1}}],["union",{"2":{"20":2}}],["urlclassloader",{"2":{"45":2}}],["url",{"2":{"13":1,"45":3,"50":1,"55":2,"62":1}}],["将由以下这个类实现自动配置模块路由",{"2":{"18":1}}],["将",{"2":{"13":1}}],["zh",{"2":{"12":1}}],["false",{"2":{"62":1}}],["frameoptionsconfig",{"2":{"55":1}}],["frameoptions",{"2":{"55":1}}],["from",{"2":{"20":1,"42":13}}],["form",{"2":{"62":1}}],["format",{"2":{"42":7}}],["for",{"2":{"51":1,"55":2}}],["fluent",{"2":{"20":1}}],["flex",{"2":{"12":1,"19":2,"20":1,"21":2,"66":1,"76":1}}],["final",{"2":{"62":1}}],["finally",{"2":{"55":1}}],["fi",{"2":{"55":7}}],["filterchain",{"2":{"55":1}}],["filterconfig",{"2":{"55":2}}],["filter",{"2":{"55":1}}],["filterinvocation",{"2":{"55":5}}],["filterinvocationsecuritymetadatasource",{"2":{"55":2}}],["files",{"2":{"62":2}}],["fileuploadstrategyfactory",{"2":{"62":4}}],["filepath",{"2":{"36":1,"62":1}}],["file",{"2":{"8":1,"45":2,"62":2}}],["firebird",{"2":{"21":2}}],["fieldeq",{"2":{"12":1}}],["具体看",{"2":{"12":1}}],["返回给",{"2":{"18":1}}],["返回字段",{"2":{"12":1}}],["返回哪些字段等",{"2":{"11":1,"13":1,"14":1,"60":1}}],["需要分别拉取前后端代码到本地",{"2":{"49":1}}],["需要初始化一些数据",{"2":{"31":1}}],["需要模糊查询的字段",{"2":{"12":1}}],["需安装",{"2":{"8":1}}],["个接口",{"2":{"11":1}}],["604800",{"2":{"54":1}}],["6",{"2":{"11":1,"42":12,"47":1,"65":1}}],["6379",{"2":{"8":1}}],["等包",{"2":{"27":1}}],["等等",{"2":{"20":1}}],["等参数封装在了一个",{"2":{"13":1}}],["等",{"2":{"11":1,"20":1,"25":1,"42":2}}],["查询该用户所具有的权限并缓存",{"2":{"55":1}}],["查询配置",{"0":{"12":1}}],["查询列表",{"2":{"11":1}}],["查询条件过滤",{"2":{"11":1,"13":1,"14":1,"60":1}}],["分页查询无",{"2":{"20":1}}],["分页查询之总量缓存",{"2":{"20":1}}],["分页查询配置",{"2":{"12":1}}],["分页查询",{"2":{"11":1,"20":1}}],["修改之后",{"2":{"59":2}}],["修改之前",{"2":{"59":2}}],["修改类型",{"2":{"59":2}}],["修改前后",{"0":{"59":1}}],["修改",{"2":{"11":1,"69":1}}],["删除",{"2":{"11":1,"69":1}}],["新增后台扩展插件",{"2":{"80":1}}],["新增一个",{"2":{"27":1}}],["新增",{"2":{"11":1,"80":1}}],["这将会给我们带来更多的动力",{"2":{"79":1}}],["这些方式都可以解决这个问题",{"2":{"76":1}}],["这边使用到了",{"2":{"42":1}}],["这会使得打包结果很臃肿",{"2":{"42":1}}],["这个可能会给你带来巨大的帮助",{"2":{"30":1}}],["这让我们可以可以专注于业务逻辑和实体",{"2":{"22":1}}],["这样就默认实现了以下六个接口",{"2":{"11":1}}],["这是",{"2":{"0":1}}],["jtw",{"2":{"55":1}}],["jwtauthenticationtokenfilter",{"2":{"55":3}}],["jwtsecurityconfig",{"2":{"55":1}}],["jwtuser",{"2":{"55":6}}],["jwtuserdetailsserviceimpl",{"2":{"55":1}}],["jwt",{"2":{"53":1}}],["jdbc",{"2":{"50":2}}],["jdk",{"2":{"47":1,"65":1}}],["jcl",{"2":{"42":2}}],["jakarta",{"2":{"42":3}}],["jarfilepath",{"2":{"45":1}}],["jarurl",{"2":{"45":2}}],["jar",{"2":{"35":1,"42":31,"45":9}}],["javaurl",{"2":{"45":1}}],["javapackage",{"2":{"31":1,"35":2,"42":1}}],["javapublic",{"2":{"17":1,"18":1,"25":1,"29":2}}],["java",{"2":{"0":1,"1":1,"8":1,"9":2,"11":1,"12":1,"13":1,"14":2,"16":2,"22":1,"25":2,"27":1,"29":1,"35":10,"38":2,"39":2,"42":2,"43":1,"45":1,"47":1,"51":6,"55":4,"56":2,"59":2,"60":1,"62":1,"65":1,"72":2,"74":2}}],["json文件",{"2":{"31":1}}],["json参数",{"2":{"31":1}}],["json",{"2":{"31":7,"36":1,"39":1,"40":2,"42":2,"52":1}}],["jsonobject",{"2":{"11":1,"12":1,"13":3,"14":3,"29":2,"56":1,"59":2,"60":1}}],["jpa",{"2":{"22":2}}],["join",{"2":{"20":2}}],["vue",{"2":{"73":2}}],["vue3",{"2":{"67":1}}],["verify",{"2":{"42":1}}],["version>3",{"2":{"42":1}}],["version>2",{"2":{"42":1}}],["version>",{"2":{"42":3}}],["version>5",{"2":{"42":1}}],["version",{"2":{"40":1,"41":1}}],["vertica",{"2":{"21":2}}],["v7",{"0":{"80":1,"81":1},"2":{"35":1}}],["void",{"2":{"11":1,"12":1,"13":1,"14":1,"25":1,"31":1,"35":3,"55":6,"59":2,"60":1}}],["values",{"2":{"35":1}}],["value",{"2":{"11":1,"12":1,"13":1,"14":1,"17":1,"31":1,"60":1,"62":4}}],["示例",{"0":{"11":1}}],["使得代码更加清晰",{"2":{"45":1}}],["使得可以在插件中获取主应用中的",{"2":{"35":1}}],["使得",{"2":{"10":1}}],["使用cool",{"2":{"35":1}}],["使用缓存",{"2":{"35":1}}],["使用插件",{"0":{"33":1},"1":{"34":1,"35":1,"36":1}}],["使用",{"0":{"9":1,"62":1}}],["都继承自",{"2":{"10":1}}],["所有的",{"2":{"10":1}}],["我是插件",{"2":{"42":1}}],["我们可以在运行时动态地加载外部的",{"2":{"45":1}}],["我们可以通过配置文件来实现",{"2":{"36":1}}],["我们还引入了其他包",{"2":{"42":1}}],["我们还可以通过自定义方言的方式",{"2":{"21":1}}],["我们提供了插件脚手架",{"2":{"38":1}}],["我们提供了插件系统",{"2":{"32":1}}],["我们正在适配",{"2":{"21":1}}],["我们不直接使用",{"2":{"18":1}}],["我们会尽力完善文档",{"2":{"0":1}}],["我被缓存了",{"2":{"9":1}}],["我被调用了",{"2":{"9":1}}],["ignoredurlsproperties",{"2":{"55":3}}],["is",{"2":{"51":1}}],["isempty",{"2":{"35":1,"55":1}}],["img",{"2":{"42":1}}],["import",{"2":{"35":14,"42":6}}],["impala",{"2":{"21":2}}],["implements",{"2":{"9":2,"14":1,"31":1,"55":3}}],["ioexception",{"2":{"55":2}}],["ioutil",{"2":{"35":2}}],["io",{"2":{"35":2,"42":2}}],["if",{"2":{"29":2,"35":1,"55":2}}],["illegalargumentexception",{"2":{"29":2,"55":2}}],["index",{"2":{"60":1}}],["install",{"2":{"52":1}}],["insert",{"2":{"35":4}}],["in",{"2":{"42":1}}],["including",{"2":{"42":2}}],["inputstream",{"2":{"35":4}}],["into",{"2":{"35":1}}],["interceptorstatustoken",{"2":{"55":1}}],["interface",{"2":{"17":1}}],["integer",{"2":{"9":1,"56":1}}],["invoke",{"2":{"55":2}}],["invokeotherplugin",{"2":{"35":1}}],["invokemain",{"2":{"35":3,"42":1}}],["invokemethod",{"2":{"35":4}}],["invokeplugin",{"2":{"35":11,"42":2}}],["inner",{"2":{"20":1}}],["init",{"2":{"11":1,"12":1,"13":1,"14":1,"25":1,"51":1,"55":1,"60":1}}],["informix",{"2":{"21":2}}],["info",{"2":{"10":1,"11":1,"12":1,"13":1,"14":1,"16":2,"18":5,"31":1,"35":5,"42":15,"51":4,"60":1}}],["idea",{"2":{"76":1}}],["id",{"2":{"9":2,"20":1,"56":1}}],["o",{"2":{"51":1,"55":3}}],["obtainsecuritymetadatasource",{"2":{"55":1}}],["observation",{"2":{"42":3}}],["objutil",{"2":{"35":2}}],["objectutil",{"2":{"55":1}}],["object中包含用户请求request",{"2":{"55":1}}],["object",{"2":{"9":2,"14":1,"35":4,"42":2,"55":1}}],["official",{"2":{"38":2,"72":2,"73":2,"74":2}}],["ossaccesskeyid=ltai5t8xtpd99yzsjqcc",{"2":{"35":1}}],["oss",{"2":{"35":3,"61":1,"62":1}}],["oscar",{"2":{"21":1}}],["org",{"2":{"35":5,"42":8}}],["order",{"2":{"27":2}}],["oracle12c",{"2":{"21":2}}],["oracle11g",{"2":{"21":1}}],["oracle",{"2":{"21":1}}],["operation",{"2":{"62":2}}],["openapi",{"2":{"51":1}}],["opengauss",{"2":{"21":2}}],["option",{"2":{"14":2}}],["oceanbase",{"2":{"21":2}}],["ok",{"2":{"13":1,"62":2}}],["out",{"2":{"9":1,"13":1,"35":5,"42":1}}],["override",{"2":{"9":2,"11":1,"12":1,"13":1,"14":3,"18":1,"31":1,"35":1,"42":1,"55":11,"59":2,"60":1}}],["multipartfile",{"2":{"62":1}}],["multipart",{"2":{"62":1}}],["mutate",{"2":{"18":1}}],["mode",{"2":{"62":1}}],["modifyafter",{"2":{"59":1}}],["modifyenum",{"2":{"59":2}}],["modifybefore",{"2":{"59":1}}],["modules",{"2":{"16":1,"27":3}}],["ms",{"2":{"51":1}}],["mvn",{"2":{"43":1}}],["micrometer",{"2":{"42":12}}],["md",{"2":{"40":1}}],["md5digestashex",{"2":{"55":2}}],["md5",{"2":{"29":2}}],["m",{"2":{"35":6}}],["mediatype",{"2":{"62":2}}],["message",{"2":{"29":1}}],["method",{"2":{"18":3}}],["methodname",{"2":{"9":1,"35":3}}],["matches",{"2":{"55":1}}],["map",{"2":{"55":6}}],["mapper",{"2":{"25":1,"27":4}}],["maven",{"2":{"42":7,"47":1,"65":1,"76":1}}],["main",{"2":{"25":1,"27":1,"39":1,"51":3}}],["mariadb",{"2":{"21":2}}],["manes",{"2":{"8":1}}],["myaccessdecisionmanager",{"2":{"55":3}}],["myfiltersecurityinterceptor",{"2":{"55":1}}],["mysecuritymetadatasource",{"2":{"55":1}}],["mysql",{"2":{"21":3,"47":1,"50":5,"65":1}}],["my",{"2":{"43":1}}],["mycoolplugintest",{"2":{"39":1}}],["mycoolplugin",{"2":{"35":1,"39":1}}],["mybatis",{"2":{"12":1,"19":5,"20":4,"21":2,"66":1}}],["+",{"2":{"9":2,"20":1,"35":2,"42":3,"45":2,"55":5}}],["tip",{"2":{"61":1}}],["time`",{"2":{"35":2}}],["t",{"2":{"59":6}}],["this",{"2":{"55":1}}],["thread",{"2":{"45":1,"51":1}}],["throws",{"2":{"55":8}}],["throw",{"2":{"29":1,"42":1,"55":1}}],["the",{"2":{"42":14}}],["toarray",{"2":{"55":1}}],["token",{"2":{"54":2,"55":2,"56":1}}],["tohanyupinyinstring",{"2":{"42":1}}],["tone",{"2":{"42":1}}],["team",{"2":{"38":2,"72":2,"73":2,"74":2}}],["testplugin",{"2":{"35":2}}],["test",{"2":{"9":2,"13":2,"25":1,"35":2,"39":1}}],["txt",{"2":{"35":2,"36":2}}],["try",{"2":{"42":1,"55":1}}],["true",{"2":{"29":1,"55":1}}],["transactiontemplate",{"2":{"20":1}}],["transactional",{"2":{"20":1}}],["tdengine",{"2":{"21":2}}],["target",{"2":{"43":2}}],["targetclass",{"2":{"9":1}}],["task",{"2":{"27":1,"35":3,"51":1}}],["table",{"2":{"22":1,"66":1}}],["tag",{"2":{"11":1,"12":1,"13":1,"14":1,"60":1,"62":1}}],["typescript",{"2":{"67":1}}],["typehandler",{"2":{"20":1}}],["type",{"2":{"8":2,"59":4}}],["daoauthenticationprovider",{"2":{"55":2}}],["datasource",{"2":{"50":1}}],["database",{"2":{"8":1}}],["data",{"2":{"8":1,"27":1,"31":2,"62":1}}],["docs",{"2":{"74":2}}],["dofilter",{"2":{"55":2}}],["doris",{"2":{"21":2}}],["duration",{"2":{"51":1}}],["duplicatekeyexception",{"2":{"29":2}}],["driver",{"2":{"50":2}}],["dynamicjarclassloader",{"2":{"45":3}}],["digestutils",{"2":{"55":2}}],["digesthex",{"2":{"29":2}}],["disable",{"2":{"55":2}}],["dict",{"2":{"27":1}}],["dm",{"2":{"21":1}}],["dbfromjsoninit",{"2":{"31":1}}],["db2",{"2":{"21":2}}],["db",{"2":{"20":1,"27":1,"31":2}}],["destroy",{"2":{"55":1}}],["description",{"2":{"11":1,"12":1,"13":1,"14":1,"40":1,"41":1,"60":1,"62":2}}],["deployment",{"2":{"76":1}}],["department",{"2":{"55":1}}],["departmentids",{"2":{"55":2}}],["dependency>",{"2":{"42":4}}],["dev",{"2":{"52":1}}],["debug",{"2":{"35":3}}],["derby",{"2":{"21":2}}],["default",{"2":{"17":3,"42":1}}],["democoolplugin",{"2":{"42":1}}],["democacheservice",{"2":{"9":2}}],["democacheserviceimpl",{"2":{"9":2}}],["demov2",{"2":{"31":1}}],["demoentity",{"2":{"25":1}}],["demoentity>",{"2":{"11":1,"12":1,"13":1,"14":5,"60":1}}],["demo",{"2":{"16":3,"25":1,"31":4,"40":1}}],["demomapper",{"2":{"14":1}}],["demoserviceimpl",{"2":{"14":1}}],["demoservice",{"2":{"11":1,"12":1,"13":1,"14":2,"60":1}}],["delete",{"2":{"10":1,"11":1,"12":1,"13":1,"14":1,"60":1}}],["sdk",{"2":{"78":1}}],["swagger",{"0":{"60":1},"2":{"60":1}}],["show",{"2":{"70":1}}],["shell",{"2":{"52":1}}],["shaded",{"2":{"42":14}}],["shade",{"2":{"42":6}}],["snapshot",{"2":{"43":1}}],["s",{"2":{"42":1}}],["sourceforge",{"2":{"42":4}}],["soon",{"2":{"30":1}}],["summary",{"2":{"62":2}}],["supports",{"2":{"55":1}}],["super",{"2":{"14":2,"18":1,"29":2,"55":3}}],["success",{"2":{"35":1}}],["simplegrantedauthority",{"2":{"55":1}}],["signature=krlj0uv96tbliagpji",{"2":{"35":1}}],["sinodb",{"2":{"21":1}}],["slf4j",{"2":{"29":1,"31":1,"35":3,"42":4,"55":2}}],["split",{"2":{"55":1}}],["space",{"2":{"27":1}}],["springdoc",{"2":{"51":2}}],["springboot3",{"2":{"81":1}}],["springboot",{"2":{"45":1}}],["springframework",{"2":{"35":5,"42":14}}],["spring",{"2":{"18":3,"20":2,"42":13,"50":1,"53":1,"66":1}}],["spring方式",{"2":{"9":1}}],["springcache",{"2":{"8":1}}],["src",{"2":{"25":1,"51":1}}],["sap",{"2":{"21":1}}],["sysuserentity",{"2":{"55":14}}],["sys",{"2":{"35":4}}],["system",{"2":{"9":1,"13":1,"35":5,"42":1}}],["sybase",{"2":{"21":2}}],["schema",{"2":{"20":1}}],["sqlserver",{"2":{"21":2}}],["sqlserver2005",{"2":{"21":2}}],["sqlite",{"2":{"21":3}}],["sql",{"2":{"19":2,"20":2,"21":1}}],["star",{"0":{"72":1,"73":1,"74":1},"2":{"79":1}}],["stateless",{"2":{"55":1}}],["static",{"2":{"25":1}}],["status=200",{"2":{"35":1}}],["status",{"2":{"12":1}}],["stream",{"2":{"55":1}}],["str",{"2":{"35":1}}],["strutil",{"2":{"35":2}}],["string",{"2":{"9":2,"13":1,"17":3,"25":1,"35":7,"42":4,"55":12,"56":2}}],["stereotype",{"2":{"35":1}}],["sessioncreationpolicy",{"2":{"55":2}}],["sessionmanagement",{"2":{"55":1}}],["securityfilterchain",{"2":{"55":2}}],["securitymetadatasource",{"2":{"55":3}}],["security权限拦截器校验当前用户权限",{"2":{"55":1}}],["securityconfig",{"2":{"55":1}}],["security加载所有设置的权限",{"2":{"55":1}}],["security",{"2":{"53":1}}],["server",{"2":{"62":1}}],["servertimezone=gmt",{"2":{"50":1}}],["servletresponse",{"2":{"55":1}}],["servletrequest",{"2":{"55":1}}],["servletexception",{"2":{"55":3}}],["service",{"2":{"9":2,"14":3,"25":2,"27":2,"51":1}}],["select",{"2":{"12":1}}],["setuserdetailsservice",{"2":{"55":1}}],["setaccessdecisionmanager",{"2":{"55":1}}],["setmyaccessdecisionmanager",{"2":{"55":1}}],["setmodule",{"2":{"25":1}}],["settings",{"2":{"76":1}}],["settonetype",{"2":{"42":1}}],["settype",{"2":{"25":1}}],["setpasswordencoder",{"2":{"55":1}}],["setpassword",{"2":{"29":2}}],["setpageoption",{"2":{"12":1}}],["setentity",{"2":{"25":1}}],["setname",{"2":{"25":1}}],["setlistoption",{"2":{"12":1}}],["set",{"2":{"9":1,"35":2,"55":5}}],["=5",{"2":{"50":1}}],["==",{"2":{"35":1,"55":2}}],["==>",{"2":{"35":2}}],["=",{"2":{"9":2,"11":4,"12":4,"13":4,"14":4,"17":2,"18":3,"25":2,"28":1,"29":5,"35":8,"42":5,"45":2,"47":3,"55":15,"56":2,"60":4,"62":9,"65":3}}],["性能要求比较高或有分布式部署需求的建议配置成",{"2":{"8":1}}],["permitall",{"2":{"55":1}}],["perm",{"2":{"55":5}}],["perms",{"2":{"55":4}}],["phase>",{"2":{"42":1}}],["phase>package",{"2":{"42":1}}],["phoenix",{"2":{"21":2}}],["phone",{"2":{"12":2}}],["pinyin",{"2":{"42":3}}],["pinyinhelper",{"2":{"42":2}}],["pinyin4j",{"2":{"42":5}}],["png",{"2":{"40":1}}],["put",{"2":{"29":2,"55":1}}],["public",{"2":{"9":4,"11":1,"12":1,"13":2,"14":3,"25":1,"29":7,"31":2,"35":4,"42":2,"55":22,"59":2,"60":1,"62":3}}],["plugins",{"2":{"42":1}}],["plugins>",{"2":{"42":2}}],["plugin>",{"2":{"42":2}}],["plugin",{"2":{"27":1,"35":6,"38":2,"39":3,"40":2,"42":8,"43":5,"51":1}}],["plus",{"2":{"19":1,"20":1}}],["pool",{"2":{"51":1}}],["pom",{"2":{"43":1}}],["policy=eyjlehb0wny0xm1qxmjowmto0oc41njvaiiwiy29uzgl0aw9ucyi6w1siy29udgvudc1szw5ndggtcmfuz2uildasnti0mjg4mdbdxx0=",{"2":{"35":1}}],["postgresql",{"2":{"21":3}}],["postmapping",{"2":{"13":1,"14":1,"35":2,"62":1}}],["post",{"2":{"11":5}}],["port",{"2":{"8":1,"62":1}}],["project",{"2":{"76":2}}],["projectlombok",{"2":{"42":2}}],["properties>",{"2":{"43":2}}],["properties",{"2":{"43":1}}],["protected",{"2":{"11":1,"12":1,"13":1,"14":2,"18":1,"60":1}}],["private",{"2":{"35":3,"55":11,"56":2,"62":1}}],["println",{"2":{"9":1,"13":1,"35":5,"42":1}}],["preparing",{"2":{"35":1}}],["package",{"2":{"43":1,"52":1}}],["parentclassloader",{"2":{"35":2}}],["parameter",{"2":{"62":1}}],["parameters",{"2":{"35":1}}],["param",{"2":{"55":1,"59":6}}],["params",{"2":{"35":1,"42":2}}],["parse",{"2":{"19":1}}],["paths",{"2":{"18":1}}],["path",{"2":{"18":3}}],["page",{"2":{"10":1,"11":1,"12":1,"13":1,"14":9,"60":1}}],["passwordencoder",{"2":{"55":4}}],["passwordversion",{"2":{"55":1,"56":1}}],["password",{"2":{"8":1,"50":1}}],["p0",{"2":{"9":1}}],["15",{"0":{"80":1}}],["15t14",{"2":{"51":4}}],["101+08",{"2":{"51":1}}],["17",{"2":{"47":1,"65":1}}],["13",{"2":{"42":1}}],["13t20",{"2":{"35":8}}],["123456",{"2":{"50":1,"52":1,"70":1}}],["12",{"2":{"42":2}}],["127",{"2":{"8":1,"35":1,"50":1,"51":1,"52":1,"60":1,"62":1}}],["1800",{"2":{"54":1}}],["18",{"2":{"35":8,"42":1}}],["1",{"0":{"34":1,"38":1,"49":1,"76":1,"80":2,"81":1},"2":{"8":1,"9":1,"35":2,"40":1,"42":11,"43":1,"45":2,"50":1,"51":3,"52":1,"55":3,"60":1,"62":1}}],["06",{"0":{"81":1}}],["00",{"2":{"35":8,"51":4}}],["01",{"2":{"35":8}}],["07",{"0":{"80":1},"2":{"35":8,"51":4}}],["0",{"0":{"81":1},"2":{"8":3,"35":2,"40":2,"42":4,"43":1,"47":1,"50":3,"51":2,"52":2,"55":1,"60":2,"62":2}}],["headersconfigurer",{"2":{"55":1}}],["headers",{"2":{"55":1}}],["hello",{"2":{"35":4,"42":1}}],["hashmap",{"2":{"55":1}}],["hanyupinyintonetype",{"2":{"42":2}}],["hanyupinyinoutputformat",{"2":{"42":3}}],["hangzhou",{"2":{"35":1}}],["handleexception",{"2":{"29":1}}],["handleillegalargumentexception",{"2":{"29":1}}],["handlehttprequestmethodnotsupportedexception",{"2":{"29":1}}],["handlebadcredentialsexception",{"2":{"29":1}}],["handleduplicatekeyexception",{"2":{"29":1}}],["handlerrexception",{"2":{"29":1}}],["handlertype",{"2":{"18":3}}],["hana",{"2":{"21":2}}],["hook",{"2":{"40":1,"41":1}}],["host=https",{"2":{"35":1}}],["host",{"2":{"8":1}}],["hutool",{"2":{"35":3,"42":11,"66":1}}],["hive",{"2":{"21":2}}],["highgo",{"2":{"21":1}}],["hbase",{"2":{"21":1}}],["hsql",{"2":{"21":2}}],["h2",{"2":{"21":2}}],["html",{"2":{"60":1}}],["html文档",{"2":{"12":1}}],["http",{"2":{"51":1,"60":1,"62":1}}],["httprequestmethodnotsupportedexception",{"2":{"29":2}}],["httpsecurity",{"2":{"55":3}}],["httpservletrequest",{"2":{"11":1,"12":1,"13":1,"14":1,"60":1,"62":1}}],["https",{"2":{"1":2,"12":1,"35":1,"38":2,"70":1,"72":2,"73":2,"74":2}}],["能够显著提升应用程序的性能和响应速度",{"2":{"8":1}}],["旨在提供高性能",{"2":{"8":1}}],["由该类统一执行初始化",{"2":{"31":1}}],["由",{"2":{"8":1}}],["csrf",{"2":{"55":1}}],["csiidb",{"2":{"21":2}}],["cfg",{"2":{"55":3}}],["cj",{"2":{"50":1}}],["currentthread",{"2":{"45":1}}],["cubrid",{"2":{"21":2}}],["charsequence",{"2":{"55":2}}],["characterencoding=utf",{"2":{"50":1}}],["chain",{"2":{"55":2}}],["chinesechar",{"2":{"42":4}}],["check",{"2":{"28":2,"29":6}}],["c",{"2":{"35":6,"51":3}}],["cn",{"2":{"35":4,"42":2}}],["c端用户",{"2":{"27":1}}],["clean",{"2":{"43":1}}],["clickhouse",{"2":{"21":2}}],["classloader",{"2":{"35":4}}],["classpath",{"2":{"31":1}}],["class",{"2":{"9":3,"11":1,"12":1,"13":1,"14":2,"17":2,"18":3,"25":2,"29":7,"31":1,"35":2,"42":1,"50":1,"55":8,"60":1,"62":1}}],["crud",{"0":{"58":1},"2":{"58":1}}],["crudoption",{"2":{"14":1}}],["create",{"2":{"12":1,"29":2}}],["createop",{"2":{"12":2}}],["catch",{"2":{"42":1}}],["cacheable",{"2":{"9":1}}],["cachenames",{"2":{"9":1}}],["cacheconfig",{"2":{"9":1}}],["cache",{"2":{"8":3,"35":2,"42":1}}],["caffeine",{"2":{"8":3}}],["collection",{"2":{"55":4}}],["consumes",{"2":{"62":1}}],["conf",{"2":{"55":4}}],["configuration",{"2":{"55":1}}],["configuration>",{"2":{"42":2}}],["configattribute",{"2":{"55":1}}],["configattributes",{"2":{"55":4}}],["configattribute>",{"2":{"55":3}}],["configattribute>>",{"2":{"55":1}}],["config",{"2":{"40":2,"41":1,"55":7}}],["context",{"2":{"42":2}}],["controller",{"2":{"10":2,"14":1,"16":2,"18":1,"25":2,"27":2,"35":3}}],["core",{"2":{"27":2,"31":1,"35":12,"42":6,"51":2}}],["code",{"2":{"29":1}}],["codetypeenum",{"2":{"25":1}}],["codemodel",{"2":{"25":10}}],["codegenerator",{"2":{"25":7}}],["compiler",{"2":{"76":1}}],["compile命令",{"2":{"76":1}}],["component",{"2":{"55":3}}],["coming",{"2":{"30":1}}],["combine",{"2":{"18":1}}],["commons",{"2":{"42":3}}],["commoncontroller",{"2":{"35":1}}],["comm",{"2":{"9":1}}],["com",{"2":{"1":2,"12":1,"25":1,"27":1,"31":1,"35":12,"38":2,"39":2,"42":4,"50":1,"51":3,"70":1,"72":2,"73":2,"74":2}}],["coolsecurityutil",{"2":{"56":6}}],["cooleps",{"2":{"51":1}}],["coolexception",{"2":{"29":3}}],["coolexceptionhandler",{"2":{"29":1}}],["coolplugin注解",{"2":{"39":1}}],["coolplugin",{"2":{"35":4,"42":6}}],["coolpluginservice",{"2":{"35":1,"51":1}}],["coolplugininvokers",{"2":{"35":4}}],["coolpreconditions",{"2":{"28":1,"29":2}}],["coolapplication",{"2":{"27":1,"51":1}}],["cooladminjavaapplicationtests",{"2":{"25":1}}],["coolcodegeneratortest",{"2":{"25":1}}],["coolcache",{"2":{"9":5,"35":5,"42":1,"55":7}}],["coolrestcontroller",{"2":{"11":1,"12":1,"13":1,"14":1,"17":1,"18":2,"60":1,"62":1}}],["cool",{"0":{"68":1},"2":{"0":1,"1":2,"5":1,"6":1,"11":1,"12":1,"13":1,"14":1,"19":1,"21":1,"23":1,"25":1,"27":2,"31":3,"35":19,"38":4,"39":2,"42":5,"43":8,"44":1,"46":1,"50":1,"51":7,"60":1,"68":2,"70":1,"72":4,"73":4,"74":4,"79":1}}],["框架用到了mybatis",{"2":{"76":1}}],["框架自带两种文件上传方式本地上传与云存储",{"2":{"61":1}}],["框架自带基于",{"2":{"8":1}}],["框架集成了auto",{"2":{"22":1}}],["框架封装了一个请求属性",{"2":{"13":1}}],["框架特有的通用工具类",{"2":{"9":1}}],["框架更新",{"2":{"4":1,"6":1}}],["缓存对象",{"2":{"35":1}}],["缓存结果",{"2":{"35":2}}],["缓存库",{"2":{"8":1}}],["缓存",{"0":{"8":1},"2":{"8":2}}],["的build",{"2":{"76":1}}],["的mvn",{"2":{"76":1}}],["的核心流程",{"2":{"30":1}}],["的能力",{"2":{"30":1}}],["的火热",{"2":{"30":1}}],["的都知道",{"2":{"22":1}}],["的事务管理",{"2":{"20":1}}],["的基本增删改查",{"2":{"20":1}}],["的",{"2":{"18":1,"76":1}}],["的一些最新资讯",{"2":{"6":1}}],["的在线文档仓库",{"2":{"0":1}}],["公众号",{"0":{"6":1}}],["团队哔哩哔哩官方账户",{"2":{"5":1}}],["站视频教程",{"2":{"7":1,"24":1}}],["站",{"0":{"5":1}}],["boot",{"2":{"66":1}}],["boolean",{"2":{"55":2}}],["body",{"2":{"13":1}}],["b8e4",{"2":{"42":1}}],["bbb",{"2":{"40":1}}],["beforeinvocation",{"2":{"55":1}}],["belerweb",{"2":{"42":2}}],["beans",{"2":{"42":3}}],["bean",{"2":{"35":1,"55":4}}],["ben",{"2":{"8":1}}],["bind",{"2":{"35":4}}],["badhanyupinyinoutputformatcombination",{"2":{"42":2}}],["badcredentialsexception",{"2":{"29":2}}],["banner",{"2":{"35":2,"36":2}}],["basecoolplugin",{"2":{"35":7,"42":4}}],["basecontroller",{"2":{"10":1,"11":1,"12":1,"13":1,"14":1,"60":1}}],["baseservice中集成了常用的",{"2":{"58":1}}],["baseserviceimpl",{"2":{"14":1}}],["basesysuserservice",{"2":{"55":3}}],["basesysuserentity>lambdaquery",{"2":{"29":2,"55":1}}],["basesysuserentity",{"2":{"29":6,"55":3}}],["basesyspermsservice",{"2":{"55":8}}],["basesyslogmapper",{"2":{"35":3}}],["base",{"2":{"12":1,"27":1,"35":1,"62":1}}],["build>",{"2":{"42":2}}],["build",{"2":{"18":1,"55":1,"76":3}}],["b",{"0":{"5":1},"2":{"7":1,"24":1,"35":3}}],["anyrequest",{"2":{"55":1}}],["annotations",{"2":{"18":1}}],["annotation",{"2":{"17":2,"27":1,"35":5,"39":1,"42":5}}],["afterinvocation",{"2":{"55":1}}],["abstracthttpconfigurer",{"2":{"55":1}}],["abstractsecurityinterceptor",{"2":{"55":1}}],["abstractopenapiresource",{"2":{"51":1}}],["accessdeniedhandler",{"2":{"55":1}}],["aclass",{"2":{"55":1}}],["action",{"2":{"35":1}}],["aop",{"2":{"42":2}}],["arraylist",{"2":{"55":3}}],["artifactset>",{"2":{"42":2}}],["artifactid>maven",{"2":{"42":1}}],["artifactid>pinyin4j",{"2":{"42":1}}],["artifactid>",{"2":{"42":3}}],["artifactid>hutool",{"2":{"42":1}}],["args",{"2":{"25":1,"31":1}}],["aaa",{"2":{"40":1}}],["assets",{"2":{"40":2}}],["ase",{"2":{"21":1}}],["authprovider",{"2":{"55":4}}],["authenticationconfiguration",{"2":{"55":1}}],["authenticationmanager",{"2":{"55":2}}],["authenticationprovider",{"2":{"55":2}}],["authenticationentrypoint",{"2":{"55":1}}],["authenticated",{"2":{"55":1}}],["authorizehttprequests",{"2":{"55":1}}],["authority",{"2":{"55":3}}],["author",{"2":{"40":1,"41":1}}],["automatically",{"2":{"76":1}}],["automatically自动编译功能",{"2":{"76":1}}],["auto",{"2":{"66":1}}],["autowired",{"2":{"55":1}}],["autoprefixurlmapping",{"2":{"18":1}}],["aliyun",{"2":{"35":1}}],["aliyuncs",{"2":{"35":1}}],["aliasfor",{"2":{"17":2}}],["all",{"2":{"20":1,"42":1,"62":1}}],["apt",{"2":{"76":1}}],["apache",{"2":{"42":1}}],["appsecret",{"2":{"36":1}}],["appid",{"2":{"36":1}}],["application",{"2":{"50":1,"62":1}}],["applicationcontext",{"2":{"35":1}}],["applicationarguments",{"2":{"31":1}}],["applicationrunner",{"2":{"31":1}}],["appdemoinfocontroller",{"2":{"16":1}}],["app",{"2":{"16":4}}],["api",{"2":{"7":1,"11":1,"12":1,"13":1,"14":1,"17":1,"24":1,"42":4,"51":1,"60":1}}],["age",{"2":{"12":1}}],["addfilterbefore",{"2":{"55":1}}],["add",{"2":{"10":1,"11":1,"12":1,"13":1,"14":1,"29":4,"55":2,"60":1}}],["adminbasecommcontroller",{"2":{"62":1}}],["admin中才能调试",{"2":{"35":1}}],["admin的缓存",{"2":{"35":1}}],["admindemoinfocontroller",{"2":{"11":1,"12":1,"13":1,"14":1,"16":2,"60":1}}],["admin",{"0":{"68":1},"2":{"0":1,"1":2,"16":4,"19":1,"21":1,"23":1,"25":1,"35":9,"38":2,"42":2,"43":1,"46":1,"51":4,"52":1,"55":6,"68":1,"70":2,"72":2,"73":2,"74":2,"79":1}}],["a",{"2":{"9":2,"35":2}}],["ai",{"0":{"7":1,"24":1,"30":1},"2":{"4":1,"30":7,"68":5,"78":1,"80":1}}],["你的项目",{"2":{"76":1}}],["你的star是我们最大的动力",{"2":{"71":1}}],["你的贡献可能给其他人代码巨大的帮助",{"2":{"0":1}}],["你将会看到后端的欢迎页面",{"2":{"51":1}}],["你可以这样做",{"2":{"76":1}}],["你可以自己开发插件",{"2":{"32":1}}],["你可以在这边了解到一些关于我们框架的最新动态",{"2":{"4":1}}],["抖音",{"0":{"4":1}}],["扫一扫加入微信开发交流群",{"2":{"3":1}}],["微信",{"0":{"3":1},"2":{"78":1}}],["共创一些美好的事情",{"2":{"2":1}}],["共同参与开源",{"2":{"0":1}}],["交流合作",{"0":{"2":1},"1":{"3":1,"4":1,"5":1,"6":1}}],["官网文档",{"2":{"19":1}}],["官网",{"2":{"1":1}}],["地址",{"0":{"1":1}}],["积极提交pull",{"2":{"0":1}}],["版相关功能",{"2":{"81":1}}],["版本一致",{"2":{"70":1}}],["版本号",{"2":{"41":1}}],["版本",{"2":{"30":1}}],["版",{"2":{"0":1}}],["介绍",{"0":{"0":1}}]],"serializationVersion":2}';export{e as default}; diff --git a/.vitepress/dist/assets/chunks/VPLocalSearchBox.Lzxu1EgN.js b/.vitepress/dist/assets/chunks/VPLocalSearchBox.DBG8xJHY.js similarity index 96% rename from .vitepress/dist/assets/chunks/VPLocalSearchBox.Lzxu1EgN.js rename to .vitepress/dist/assets/chunks/VPLocalSearchBox.DBG8xJHY.js index 2767334..100c5fc 100644 --- a/.vitepress/dist/assets/chunks/VPLocalSearchBox.Lzxu1EgN.js +++ b/.vitepress/dist/assets/chunks/VPLocalSearchBox.DBG8xJHY.js @@ -1,7 +1,7 @@ -var Nt=Object.defineProperty;var It=(o,e,t)=>e in o?Nt(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>It(o,typeof e!="symbol"?e+"":e,t);import{X as Dt,s as oe,v as $e,as as kt,at as Ot,d as Rt,G as xe,au as tt,h as Fe,av as _t,aw as Mt,x as Lt,ax as zt,y as Re,R as de,Q as Ee,ay as Pt,az as Bt,Y as Vt,U as $t,a1 as Wt,o as ee,b as Kt,j as k,a2 as Jt,k as j,aA as Ut,aB as jt,aC as Gt,c as re,n as rt,e as Se,E as at,F as nt,a as ve,t as pe,aD as Qt,p as Ht,l as qt,aE as it,aF as Yt,ah as Zt,an as Xt,aG as er,_ as tr}from"./framework.DkvLLw5I.js";import{u as rr,c as ar}from"./theme.RzTZTo5D.js";const nr={root:()=>Dt(()=>import("./@localSearchIndexroot.DenxaxWg.js"),[])};/*! +var Nt=Object.defineProperty;var It=(o,e,t)=>e in o?Nt(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oe=(o,e,t)=>It(o,typeof e!="symbol"?e+"":e,t);import{X as Dt,s as oe,v as $e,at as kt,au as Ot,d as Rt,G as xe,av as tt,h as Fe,aw as _t,ax as Mt,x as Lt,ay as zt,y as Re,R as de,Q as Ee,az as Pt,aA as Bt,Y as Vt,U as $t,a1 as Wt,o as ee,b as Kt,j as k,a2 as Jt,k as j,aB as Ut,aC as jt,aD as Gt,c as re,n as rt,e as Se,E as at,F as nt,a as ve,t as pe,aE as Ht,p as Qt,l as qt,aF as it,aG as Yt,ai as Zt,ao as Xt,aH as er,_ as tr}from"./framework.C_oE5szm.js";import{u as rr,c as ar}from"./theme.BGRQRpgk.js";const nr={root:()=>Dt(()=>import("./@localSearchIndexroot.D5Sydc4b.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var yt=["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])"],Ce=yt.join(","),mt=typeof Element>"u",ue=mt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Ne=!mt&&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"},gt=function(e,t,r){if(Ie(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ce));return t&&ue.call(e,Ce)&&n.unshift(e),n=n.filter(r),n},bt=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,Ce);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},wt=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))&&!wt(e)?0:e.tabIndex},or=function(e,t){var r=se(e);return r<0&&t&&!wt(e)?0:r},sr=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},xt=function(e){return e.tagName==="INPUT"},ur=function(e){return xt(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=Ne(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=bt([e],t.includeContainer,{filter:We.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:mr}):r=gt(e,t.includeContainer,We.bind(null,t)),gr(r)},wr=function(e,t){t=t||{};var r;return t.getShadowRoot?r=bt([e],t.includeContainer,{filter:De.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):r=gt(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,Ce)===!1?!1:We(t,e)},xr=yt.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)};/*! * focus-trap 7.5.4 * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE -*/function st(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function ut(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Ar=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Tr=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Cr=function(e){return ge(e)&&!e.shiftKey},Nr=function(e){return ge(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ft=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},ye=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?p-1:0),I=1;I=0)c=r.activeElement;else{var f=i.tabbableGroups[0],p=f&&f.firstTabbableNode;c=p||h("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var f=br(c,a.tabbableOptions),p=wr(c,a.tabbableOptions),N=f.length>0?f[0]:void 0,I=f.length>0?f[f.length-1]:void 0,M=p.find(function(m){return le(m)}),z=p.slice().reverse().find(function(m){return le(m)}),P=!!f.find(function(m){return se(m)>0});return{container:c,tabbableNodes:f,focusableNodes:p,posTabIndexesFound:P,firstTabbableNode:N,lastTabbableNode:I,firstDomTabbableNode:M,lastDomTabbableNode:z,nextTabbableNode:function(x){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,K=f.indexOf(x);return K<0?$?p.slice(p.indexOf(x)+1).find(function(Q){return le(Q)}):p.slice(0,p.indexOf(x)).reverse().find(function(Q){return le(Q)}):f[K+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(c){return c.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function w(c){var f=c.activeElement;if(f)return f.shadowRoot&&f.shadowRoot.activeElement!==null?w(f.shadowRoot):f},b=function w(c){if(c!==!1&&c!==y(document)){if(!c||!c.focus){w(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,Ar(c)&&c.select()}},E=function(c){var f=h("setReturnFocus",c);return f||(f===!1?!1:c)},g=function(c){var f=c.target,p=c.event,N=c.isBackward,I=N===void 0?!1:N;f=f||Ae(p),v();var M=null;if(i.tabbableGroups.length>0){var z=l(f,p),P=z>=0?i.containerGroups[z]:void 0;if(z<0)I?M=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:M=i.tabbableGroups[0].firstTabbableNode;else if(I){var m=ft(i.tabbableGroups,function(B){var U=B.firstTabbableNode;return f===U});if(m<0&&(P.container===f||_e(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f,!1))&&(m=z),m>=0){var x=m===0?i.tabbableGroups.length-1:m-1,$=i.tabbableGroups[x];M=se(f)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f,!1))}else{var K=ft(i.tabbableGroups,function(B){var U=B.lastTabbableNode;return f===U});if(K<0&&(P.container===f||_e(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f))&&(K=z),K>=0){var Q=K===i.tabbableGroups.length-1?0:K+1,H=i.tabbableGroups[Q];M=se(f)>=0?H.firstTabbableNode:H.firstDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f))}}else M=h("fallbackFocus");return M},S=function(c){var f=Ae(c);if(!(l(f,c)>=0)){if(ye(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}ye(a.allowOutsideClick,c)||c.preventDefault()}},T=function(c){var f=Ae(c),p=l(f,c)>=0;if(p||f instanceof Document)p&&(i.mostRecentlyFocusedNode=f);else{c.stopImmediatePropagation();var N,I=!0;if(i.mostRecentlyFocusedNode)if(se(i.mostRecentlyFocusedNode)>0){var M=l(i.mostRecentlyFocusedNode),z=i.containerGroups[M].tabbableNodes;if(z.length>0){var P=z.findIndex(function(m){return m===i.mostRecentlyFocusedNode});P>=0&&(a.isKeyForward(i.recentNavEvent)?P+1=0&&(N=z[P-1],I=!1))}}else i.containerGroups.some(function(m){return m.tabbableNodes.some(function(x){return se(x)>0})})||(I=!1);else I=!1;I&&(N=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),b(N||i.mostRecentlyFocusedNode||d())}i.recentNavEvent=void 0},F=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=c;var p=g({event:c,isBackward:f});p&&(ge(c)&&c.preventDefault(),b(p))},L=function(c){if(Tr(c)&&ye(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&F(c,a.isKeyBackward(c))},_=function(c){var f=Ae(c);l(f,c)>=0||ye(a.clickOutsideDeactivates,c)||ye(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},V=function(){if(i.active)return lt.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ct(function(){b(d())}):b(d()),r.addEventListener("focusin",T,!0),r.addEventListener("mousedown",S,{capture:!0,passive:!1}),r.addEventListener("touchstart",S,{capture:!0,passive:!1}),r.addEventListener("click",_,{capture:!0,passive:!1}),r.addEventListener("keydown",L,{capture:!0,passive:!1}),s},C=function(){if(i.active)return r.removeEventListener("focusin",T,!0),r.removeEventListener("mousedown",S,!0),r.removeEventListener("touchstart",S,!0),r.removeEventListener("click",_,!0),r.removeEventListener("keydown",L,!0),s},R=function(c){var f=c.some(function(p){var N=Array.from(p.removedNodes);return N.some(function(I){return I===i.mostRecentlyFocusedNode})});f&&b(d())},A=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(R):void 0,O=function(){A&&(A.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){A.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var f=u(c,"onActivate"),p=u(c,"onPostActivate"),N=u(c,"checkCanFocusTrap");N||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,f==null||f();var I=function(){N&&v(),V(),O(),p==null||p()};return N?(N(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(c){if(!i.active)return this;var f=ut({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,C(),i.active=!1,i.paused=!1,O(),lt.deactivateTrap(n,s);var p=u(f,"onDeactivate"),N=u(f,"onPostDeactivate"),I=u(f,"checkCanReturnFocus"),M=u(f,"returnFocus","returnFocusOnDeactivate");p==null||p();var z=function(){ct(function(){M&&b(E(i.nodeFocusedBeforeActivation)),N==null||N()})};return M&&I?(I(E(i.nodeFocusedBeforeActivation)).then(z,z),this):(z(),this)},pause:function(c){if(i.paused||!i.active)return this;var f=u(c,"onPause"),p=u(c,"onPostPause");return i.paused=!0,f==null||f(),C(),O(),p==null||p(),this},unpause:function(c){if(!i.paused||!i.active)return this;var f=u(c,"onUnpause"),p=u(c,"onPostUnpause");return i.paused=!1,f==null||f(),v(),V(),O(),p==null||p(),this},updateContainerElements:function(c){var f=[].concat(c).filter(Boolean);return i.containers=f.map(function(p){return typeof p=="string"?r.querySelector(p):p}),i.active&&v(),O(),this}},s.updateContainerElements(e),s};function kr(o,e={}){let t;const{immediate:r,...n}=e,a=oe(!1),i=oe(!1),s=d=>t&&t.activate(d),u=d=>t&&t.deactivate(d),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return $e(()=>kt(o),d=>{d&&(t=Dr(d,{...n,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),r&&s())},{flush:"post"}),Ot(()=>u()),{hasFocus:a,isPaused:i,activate:s,deactivate:u,pause:l,unpause:h}}class fe{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{fe.matches(l,this.exclude)?u():this.onIframeReady(l,h=>{t(l)&&(s++,r(h)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new fe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,h,d=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,y=>u.push(y),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let Or=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new fe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return fe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=d+v,e.nodes.forEach((y,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=h),e.nodes[b].end-=h)}),r-=h,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let h=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:h,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,h,v=>t(v,s,a.value.substring(l,h),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let h=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,y)=>this.opt.filter(y,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=fe.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Rr(o){const e=new Or(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var W=function(){return W=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function J(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Ft="KEYS",Et="VALUES",G="",Me=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ce(this._path),t=e.node,r=e.keys;if(ce(r)===G)return{done:!1,value:this.result()};var n=t.get(ce(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ce(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ce(t)}).filter(function(e){return e!==G}).join("")},o.prototype.value=function(){return ce(this._path).node.get(G)},o.prototype.result=function(){switch(this._type){case Et:return this.value();case Ft:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ce=function(o){return o[o.length-1]},zr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}St(o.get(y),e,t,r,n,E,i,s+y)}}}catch(f){u={error:f}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},Le=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=J(ke(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=J(je(i),2),u=s[0],l=s[1];try{for(var h=D(u.keys()),d=h.next();!d.done;d=h.next()){var v=d.value;if(v!==G&&v.startsWith(l)){var y=new Map;return y.set(v.slice(l.length),u.get(v)),new o(y,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,Pr(this._tree,e)},o.prototype.entries=function(){return new Me(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=D(this),a=n.next();!a.done;a=n.next()){var i=J(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return zr(this._tree,e,t)},o.prototype.get=function(e){var t=Ke(this._tree,e);return t!==void 0?t.get(G):void 0},o.prototype.has=function(e){var t=Ke(this._tree,e);return t!==void 0&&t.has(G)},o.prototype.keys=function(){return new Me(this,Ft)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t(r.get(G))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e),n=r.get(G);return n===void 0&&r.set(G,n=t()),n},o.prototype.values=function(){return new Me(this,Et)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=J(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(h){t={error:h}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),ke=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=D(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==G&&e.startsWith(s))return t.push([o,s]),ke(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),ke(void 0,"",t)},Ke=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=D(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==G&&e.startsWith(i))return Ke(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},ze=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Le,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=Ue,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return _r(this,void 0,void 0,function(){var r,n,a,i,s,u,l,h,d,v,y,b,E,g,S,T,F,L,_,V,C,R,A,O,w;return Mr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||Je.batchSize,a=e.batchWait||Je.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=D(this._index),u=s.next(),c.label=2;case 2:if(u.done)return[3,6];l=J(u.value,2),h=l[0],d=l[1];try{for(v=(R=void 0,D(d)),y=v.next();!y.done;y=v.next()){b=J(y.value,2),E=b[0],g=b[1];try{for(S=(O=void 0,D(g)),T=S.next();!T.done;T=S.next())F=J(T.value,1),L=F[0],!this._documentIds.has(L)&&(g.size<=1?d.delete(E):g.delete(L))}catch(f){O={error:f}}finally{try{T&&!T.done&&(w=S.return)&&w.call(S)}finally{if(O)throw O.error}}}}catch(f){R={error:f}}finally{try{y&&!y.done&&(A=v.return)&&A.call(v)}finally{if(R)throw R.error}}return this._index.get(h).size===0&&this._index.delete(h),i%n!==0?[3,4]:[4,new Promise(function(f){return setTimeout(f,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return _=c.sent(),V={error:_},[3,9];case 8:try{u&&!u.done&&(C=s.return)&&C.call(s)}finally{if(V)throw V.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Ve.minDirtCount,r=r||Ve.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=D(a),u=s.next();!u.done;u=s.next()){var l=J(u.value,2),h=l[0],d=l[1],v=d.score,y=d.terms,b=d.match,E=y.length||1,g={id:this._documentIds.get(h),score:v*E,terms:Object.keys(b),queryTerms:y,match:b};Object.assign(g,this._storedFields.get(h)),(t.filter==null||t.filter(g))&&i.push(g)}}catch(S){r={error:S}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return e===o.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||i.sort(vt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=W(W({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=D(this.search(e,t)),l=u.next();!l.done;l=u.next()){var h=l.value,d=h.score,v=h.terms,y=v.join(" "),b=s.get(y);b!=null?(b.score+=d,b.count+=1):s.set(y,{score:d,terms:v,count:1})}}catch(_){r={error:_}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var E=[];try{for(var g=D(s),S=g.next();!S.done;S=g.next()){var T=J(S.value,2),b=T[0],F=T[1],d=F.score,v=F.terms,L=F.count;E.push({suggestion:b,terms:v,score:d/L})}}catch(_){a={error:_}}finally{try{S&&!S.done&&(i=g.return)&&i.call(g)}finally{if(a)throw a.error}}return E.sort(vt),E},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Be.hasOwnProperty(e))return Pe(Be,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,h=e.documentCount,d=e.nextId,v=e.documentIds,y=e.fieldIds,b=e.fieldLength,E=e.averageFieldLength,g=e.storedFields,S=e.dirtCount,T=e.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var F=new o(t);F._documentCount=h,F._nextId=d,F._documentIds=Te(v),F._idToShortId=new Map,F._fieldIds=y,F._fieldLength=Te(b),F._avgFieldLength=E,F._storedFields=Te(g),F._dirtCount=S||0,F._index=new Le;try{for(var L=D(F._documentIds),_=L.next();!_.done;_=L.next()){var V=J(_.value,2),C=V[0],R=V[1];F._idToShortId.set(R,C)}}catch(P){r={error:P}}finally{try{_&&!_.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}try{for(var A=D(l),O=A.next();!O.done;O=A.next()){var w=J(O.value,2),c=w[0],f=w[1],p=new Map;try{for(var N=(s=void 0,D(Object.keys(f))),I=N.next();!I.done;I=N.next()){var M=I.value,z=f[M];T===1&&(z=z.ds),p.set(parseInt(M,10),Te(z))}}catch(P){s={error:P}}finally{try{I&&!I.done&&(u=N.return)&&u.call(N)}finally{if(s)throw s.error}}F._index.set(c,p)}}catch(P){a={error:P}}finally{try{O&&!O.done&&(i=A.return)&&i.call(A)}finally{if(a)throw a.error}}return F},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),e===o.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var n=W(W(W({},t),e),{queries:void 0}),a=e.queries.map(function(g){return r.executeQuery(g,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,h=W(W({tokenize:s,processTerm:u},l),t),d=h.tokenize,v=h.processTerm,y=d(e).flatMap(function(g){return v(g)}).filter(function(g){return!!g}),b=y.map(Jr(h)),E=b.map(function(g){return r.executeQuerySpec(g,h)});return this.combineResults(E,h.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=W(W({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(M,z){var P;return W(W({},M),(P={},P[z]=Pe(s.boost,z)||1,P))},{}),l=s.boostDocument,h=s.weights,d=s.maxFuzzy,v=s.bm25,y=W(W({},ht.weights),h),b=y.fuzzy,E=y.prefix,g=this._index.get(e.term),S=this.termResults(e.term,e.term,1,g,u,l,v),T,F;if(e.prefix&&(T=this._index.atPrefix(e.term)),e.fuzzy){var L=e.fuzzy===!0?.2:e.fuzzy,_=L<1?Math.min(d,Math.round(e.term.length*L)):L;_&&(F=this._index.fuzzyGet(e.term,_))}if(T)try{for(var V=D(T),C=V.next();!C.done;C=V.next()){var R=J(C.value,2),A=R[0],O=R[1],w=A.length-e.term.length;if(w){F==null||F.delete(A);var c=E*A.length/(A.length+.3*w);this.termResults(e.term,A,c,O,u,l,v,S)}}}catch(M){r={error:M}}finally{try{C&&!C.done&&(n=V.return)&&n.call(V)}finally{if(r)throw r.error}}if(F)try{for(var f=D(F.keys()),p=f.next();!p.done;p=f.next()){var A=p.value,N=J(F.get(A),2),I=N[0],w=N[1];if(w){var c=b*A.length/(A.length+w);this.termResults(e.term,A,c,I,u,l,v,S)}}}catch(M){a={error:M}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(a)throw a.error}}return S},o.prototype.executeWildcardQuery=function(e){var t,r,n=new Map,a=W(W({},this._options.searchOptions),e);try{for(var i=D(this._documentIds),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d=a.boostDocument?a.boostDocument(h,"",this._storedFields.get(l)):1;n.set(l,{score:d,terms:[],match:{}})}}catch(v){t={error:v}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=Ge),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce($r[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=D(this._index),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d={};try{for(var v=(r=void 0,D(h)),y=v.next();!y.done;y=v.next()){var b=J(y.value,2),E=b[0],g=b[1];d[E]=Object.fromEntries(g)}}catch(S){r={error:S}}finally{try{y&&!y.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(S){e={error:S}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,h,d,v,y;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=D(Object.keys(a)),E=b.next();!E.done;E=b.next()){var g=E.value,S=a[g],T=this._fieldIds[g],F=n.get(T);if(F!=null){var L=F.size,_=this._avgFieldLength[T];try{for(var V=(d=void 0,D(F.keys())),C=V.next();!C.done;C=V.next()){var R=C.value;if(!this._documentIds.has(R)){this.removeTerm(T,R,t),L-=1;continue}var A=i?i(this._documentIds.get(R),t,this._storedFields.get(R)):1;if(A){var O=F.get(R),w=this._fieldLength.get(R)[T],c=Kr(O,L,this._documentCount,w,_,s),f=r*S*A*c,p=u.get(R);if(p){p.score+=f,jr(p.terms,e);var N=Pe(p.match,t);N?N.push(g):p.match[t]=[g]}else u.set(R,{score:f,terms:[e],match:(y={},y[t]=[g],y)})}}}catch(I){d={error:I}}finally{try{C&&!C.done&&(v=V.return)&&v.call(V)}finally{if(d)throw d.error}}}}}catch(I){l={error:I}}finally{try{E&&!E.done&&(h=b.return)&&h.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,pt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,pt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=D(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(Ht("data-v-b3bd7ef0"),o=o(),qt(),o),Hr=["aria-owns"],qr={class:"shell"},Yr=["title"],Zr=Y(()=>k("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=Y(()=>k("span",{class:"vpi-arrow-left local-search-icon"},null,-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=Y(()=>k("span",{class:"vpi-layout-list local-search-icon"},null,-1)),ua=[sa],la=["disabled","title"],ca=Y(()=>k("span",{class:"vpi-delete local-search-icon"},null,-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ya=Y(()=>k("span",{class:"title-icon"},"#",-1)),ma=["innerHTML"],ga=Y(()=>k("span",{class:"vpi-chevron-right local-search-icon"},null,-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=Y(()=>k("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=Y(()=>k("div",{class:"excerpt-gradient-top"},null,-1)),Ta={key:0,class:"no-results"},Ca={class:"search-keyboard-shortcuts"},Na=["aria-label"],Ia=Y(()=>k("span",{class:"vpi-arrow-up navigate-icon"},null,-1)),Da=[Ia],ka=["aria-label"],Oa=Y(()=>k("span",{class:"vpi-arrow-down navigate-icon"},null,-1)),Ra=[Oa],_a=["aria-label"],Ma=Y(()=>k("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)),La=[Ma],za=["aria-label"],Pa=Rt({__name:"VPLocalSearchBox",emits:["close"],setup(o,{emit:e}){var z,P;const t=e,r=xe(),n=xe(),a=xe(nr),i=rr(),{activate:s}=kr(r,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,h=tt(async()=>{var m,x,$,K,Q,H,B,U,Z;return it(Vr.loadJSON(($=await((x=(m=a.value)[u.value])==null?void 0:x.call(m)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((K=l.value.search)==null?void 0:K.provider)==="local"&&((H=(Q=l.value.search.options)==null?void 0:Q.miniSearch)==null?void 0:H.searchOptions)},...((B=l.value.search)==null?void 0:B.provider)==="local"&&((Z=(U=l.value.search.options)==null?void 0:U.miniSearch)==null?void 0:Z.options)}))}),v=Fe(()=>{var m,x;return((m=l.value.search)==null?void 0:m.provider)==="local"&&((x=l.value.search.options)==null?void 0:x.disableQueryPersistence)===!0}).value?oe(""):_t("vitepress:local-search-filter",""),y=Mt("vitepress:local-search-detailed-list",((z=l.value.search)==null?void 0:z.provider)==="local"&&((P=l.value.search.options)==null?void 0:P.detailedView)===!0),b=Fe(()=>{var m,x,$;return((m=l.value.search)==null?void 0:m.provider)==="local"&&(((x=l.value.search.options)==null?void 0:x.disableDetailedView)===!0||(($=l.value.search.options)==null?void 0:$.detailedView)===!1)}),E=Fe(()=>{var x,$,K,Q,H,B,U;const m=((x=l.value.search)==null?void 0:x.options)??l.value.algolia;return((H=(Q=(K=($=m==null?void 0:m.locales)==null?void 0:$[u.value])==null?void 0:K.translations)==null?void 0:Q.button)==null?void 0:H.buttonText)||((U=(B=m==null?void 0:m.translations)==null?void 0:B.button)==null?void 0:U.buttonText)||"Search"});Lt(()=>{b.value&&(y.value=!1)});const g=xe([]),S=oe(!1);$e(v,()=>{S.value=!1});const T=tt(async()=>{if(n.value)return it(new Rr(n.value))},null),F=new Qr(16);zt(()=>[h.value,v.value,y.value],async([m,x,$],K,Q)=>{var be,Qe,He,qe;(K==null?void 0:K[0])!==m&&F.clear();let H=!1;if(Q(()=>{H=!0}),!m)return;g.value=m.search(x).slice(0,16),S.value=!0;const B=$?await Promise.all(g.value.map(q=>L(q.id))):[];if(H)return;for(const{id:q,mod:ae}of B){const ne=q.slice(0,q.indexOf("#"));let te=F.get(ne);if(te)continue;te=new Map,F.set(ne,te);const X=ae.default??ae;if(X!=null&&X.render||X!=null&&X.setup){const ie=Yt(X);ie.config.warnHandler=()=>{},ie.provide(Zt,i),Object.defineProperties(ie.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ye=document.createElement("div");ie.mount(Ye),Ye.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(he=>{var et;const we=(et=he.querySelector("a"))==null?void 0:et.getAttribute("href"),Ze=(we==null?void 0:we.startsWith("#"))&&we.slice(1);if(!Ze)return;let Xe="";for(;(he=he.nextElementSibling)&&!/^h[1-6]$/i.test(he.tagName);)Xe+=he.outerHTML;te.set(Ze,Xe)}),ie.unmount()}if(H)return}const U=new Set;if(g.value=g.value.map(q=>{const[ae,ne]=q.id.split("#"),te=F.get(ae),X=(te==null?void 0:te.get(ne))??"";for(const ie in q.match)U.add(ie);return{...q,text:X}}),await de(),H)return;await new Promise(q=>{var ae;(ae=T.value)==null||ae.unmark({done:()=>{var ne;(ne=T.value)==null||ne.markRegExp(M(U),{done:q})}})});const Z=((be=r.value)==null?void 0:be.querySelectorAll(".result .excerpt"))??[];for(const q of Z)(Qe=q.querySelector('mark[data-markjs="true"]'))==null||Qe.scrollIntoView({block:"center"});(qe=(He=n.value)==null?void 0:He.firstElementChild)==null||qe.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function L(m){const x=Xt(m.slice(0,m.indexOf("#")));try{if(!x)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await import(x)}}catch($){return console.error($),{id:m,mod:{}}}}const _=oe(),V=Fe(()=>{var m;return((m=v.value)==null?void 0:m.length)<=0});function C(m=!0){var x,$;(x=_.value)==null||x.focus(),m&&(($=_.value)==null||$.select())}Re(()=>{C()});function R(m){m.pointerType==="mouse"&&C()}const A=oe(-1),O=oe(!1);$e(g,m=>{A.value=m.length?0:-1,w()});function w(){de(()=>{const m=document.querySelector(".result.selected");m==null||m.scrollIntoView({block:"nearest"})})}Ee("ArrowUp",m=>{m.preventDefault(),A.value--,A.value<0&&(A.value=g.value.length-1),O.value=!0,w()}),Ee("ArrowDown",m=>{m.preventDefault(),A.value++,A.value>=g.value.length&&(A.value=0),O.value=!0,w()});const c=Pt();Ee("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const x=g.value[A.value];if(m.target instanceof HTMLInputElement&&!x){m.preventDefault();return}x&&(c.go(x.id),t("close"))}),Ee("Escape",()=>{t("close")});const p=ar({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Re(()=>{window.history.pushState(null,"",null)}),Bt("popstate",m=>{m.preventDefault(),t("close")});const N=Vt($t?document.body:null);Re(()=>{de(()=>{N.value=!0,de().then(()=>s())})}),Wt(()=>{N.value=!1});function I(){v.value="",de().then(()=>C(!1))}function M(m){return new RegExp([...m].sort((x,$)=>$.length-x.length).map(x=>`(${er(x)})`).join("|"),"gi")}return(m,x)=>{var $,K,Q,H;return ee(),Kt(Qt,{to:"body"},[k("div",{ref_key:"el",ref:r,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[k("div",{class:"backdrop",onClick:x[0]||(x[0]=B=>m.$emit("close"))}),k("div",qr,[k("form",{class:"search-bar",onPointerup:x[4]||(x[4]=B=>R(B)),onSubmit:x[5]||(x[5]=Jt(()=>{},["prevent"]))},[k("label",{title:E.value,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),k("div",ea,[k("button",{class:"back-button",title:j(p)("modal.backButtonTitle"),onClick:x[1]||(x[1]=B=>m.$emit("close"))},aa,8,ta)]),Ut(k("input",{ref_key:"searchInput",ref:_,"onUpdate:modelValue":x[2]||(x[2]=B=>Gt(v)?v.value=B:null),placeholder:E.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[jt,j(v)]]),k("div",ia,[b.value?Se("",!0):(ee(),re("button",{key:0,class:rt(["toggle-layout-button",{"detailed-list":j(y)}]),type:"button",title:j(p)("modal.displayDetails"),onClick:x[3]||(x[3]=B=>A.value>-1&&(y.value=!j(y)))},ua,10,oa)),k("button",{class:"clear-button",type:"reset",disabled:V.value,title:j(p)("modal.resetButtonTitle"),onClick:I},fa,8,la)])],32),k("ul",{ref_key:"resultsEl",ref:n,id:(K=g.value)!=null&&K.length?"localsearch-list":void 0,role:(Q=g.value)!=null&&Q.length?"listbox":void 0,"aria-labelledby":(H=g.value)!=null&&H.length?"localsearch-label":void 0,class:"results",onMousemove:x[7]||(x[7]=B=>O.value=!1)},[(ee(!0),re(nt,null,at(g.value,(B,U)=>(ee(),re("li",{key:B.id,role:"option","aria-selected":A.value===U?"true":"false"},[k("a",{href:B.id,class:rt(["result",{selected:A.value===U}]),"aria-label":[...B.titles,B.title].join(" > "),onMouseenter:Z=>!O.value&&(A.value=U),onFocusin:Z=>A.value=U,onClick:x[6]||(x[6]=Z=>m.$emit("close"))},[k("div",null,[k("div",pa,[ya,(ee(!0),re(nt,null,at(B.titles,(Z,be)=>(ee(),re("span",{key:be,class:"title"},[k("span",{class:"text",innerHTML:Z},null,8,ma),ga]))),128)),k("span",ba,[k("span",{class:"text",innerHTML:B.title},null,8,wa)])]),j(y)?(ee(),re("div",xa,[B.text?(ee(),re("div",Fa,[k("div",{class:"vp-doc",innerHTML:B.text},null,8,Ea)])):Se("",!0),Sa,Aa])):Se("",!0)])],42,va)],8,da))),128)),j(v)&&!g.value.length&&S.value?(ee(),re("li",Ta,[ve(pe(j(p)("modal.noResultsText"))+' "',1),k("strong",null,pe(j(v)),1),ve('" ')])):Se("",!0)],40,ha),k("div",Ca,[k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.navigateUpKeyAriaLabel")},Da,8,Na),k("kbd",{"aria-label":j(p)("modal.footer.navigateDownKeyAriaLabel")},Ra,8,ka),ve(" "+pe(j(p)("modal.footer.navigateText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.selectKeyAriaLabel")},La,8,_a),ve(" "+pe(j(p)("modal.footer.selectText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.closeKeyAriaLabel")},"esc",8,za),ve(" "+pe(j(p)("modal.footer.closeText")),1)])])])],8,Hr)])}}}),Ja=tr(Pa,[["__scopeId","data-v-b3bd7ef0"]]);export{Ja as default}; +*/function st(o,e){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(o);e&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(o,n).enumerable})),t.push.apply(t,r)}return t}function ut(o){for(var e=1;e0){var r=e[e.length-1];r!==t&&r.pause()}var n=e.indexOf(t);n===-1||e.splice(n,1),e.push(t)},deactivateTrap:function(e,t){var r=e.indexOf(t);r!==-1&&e.splice(r,1),e.length>0&&e[e.length-1].unpause()}},Ar=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},Tr=function(e){return(e==null?void 0:e.key)==="Escape"||(e==null?void 0:e.key)==="Esc"||(e==null?void 0:e.keyCode)===27},ge=function(e){return(e==null?void 0:e.key)==="Tab"||(e==null?void 0:e.keyCode)===9},Cr=function(e){return ge(e)&&!e.shiftKey},Nr=function(e){return ge(e)&&e.shiftKey},ct=function(e){return setTimeout(e,0)},ft=function(e,t){var r=-1;return e.every(function(n,a){return t(n)?(r=a,!1):!0}),r},ye=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n1?p-1:0),I=1;I=0)c=r.activeElement;else{var f=i.tabbableGroups[0],p=f&&f.firstTabbableNode;c=p||h("fallbackFocus")}if(!c)throw new Error("Your focus-trap needs to have at least one focusable element");return c},v=function(){if(i.containerGroups=i.containers.map(function(c){var f=br(c,a.tabbableOptions),p=wr(c,a.tabbableOptions),N=f.length>0?f[0]:void 0,I=f.length>0?f[f.length-1]:void 0,M=p.find(function(m){return le(m)}),z=p.slice().reverse().find(function(m){return le(m)}),P=!!f.find(function(m){return se(m)>0});return{container:c,tabbableNodes:f,focusableNodes:p,posTabIndexesFound:P,firstTabbableNode:N,lastTabbableNode:I,firstDomTabbableNode:M,lastDomTabbableNode:z,nextTabbableNode:function(x){var $=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,K=f.indexOf(x);return K<0?$?p.slice(p.indexOf(x)+1).find(function(H){return le(H)}):p.slice(0,p.indexOf(x)).reverse().find(function(H){return le(H)}):f[K+($?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(c){return c.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(c){return c.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},y=function w(c){var f=c.activeElement;if(f)return f.shadowRoot&&f.shadowRoot.activeElement!==null?w(f.shadowRoot):f},b=function w(c){if(c!==!1&&c!==y(document)){if(!c||!c.focus){w(d());return}c.focus({preventScroll:!!a.preventScroll}),i.mostRecentlyFocusedNode=c,Ar(c)&&c.select()}},E=function(c){var f=h("setReturnFocus",c);return f||(f===!1?!1:c)},g=function(c){var f=c.target,p=c.event,N=c.isBackward,I=N===void 0?!1:N;f=f||Ae(p),v();var M=null;if(i.tabbableGroups.length>0){var z=l(f,p),P=z>=0?i.containerGroups[z]:void 0;if(z<0)I?M=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:M=i.tabbableGroups[0].firstTabbableNode;else if(I){var m=ft(i.tabbableGroups,function(B){var U=B.firstTabbableNode;return f===U});if(m<0&&(P.container===f||_e(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f,!1))&&(m=z),m>=0){var x=m===0?i.tabbableGroups.length-1:m-1,$=i.tabbableGroups[x];M=se(f)>=0?$.lastTabbableNode:$.lastDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f,!1))}else{var K=ft(i.tabbableGroups,function(B){var U=B.lastTabbableNode;return f===U});if(K<0&&(P.container===f||_e(f,a.tabbableOptions)&&!le(f,a.tabbableOptions)&&!P.nextTabbableNode(f))&&(K=z),K>=0){var H=K===i.tabbableGroups.length-1?0:K+1,Q=i.tabbableGroups[H];M=se(f)>=0?Q.firstTabbableNode:Q.firstDomTabbableNode}else ge(p)||(M=P.nextTabbableNode(f))}}else M=h("fallbackFocus");return M},S=function(c){var f=Ae(c);if(!(l(f,c)>=0)){if(ye(a.clickOutsideDeactivates,c)){s.deactivate({returnFocus:a.returnFocusOnDeactivate});return}ye(a.allowOutsideClick,c)||c.preventDefault()}},T=function(c){var f=Ae(c),p=l(f,c)>=0;if(p||f instanceof Document)p&&(i.mostRecentlyFocusedNode=f);else{c.stopImmediatePropagation();var N,I=!0;if(i.mostRecentlyFocusedNode)if(se(i.mostRecentlyFocusedNode)>0){var M=l(i.mostRecentlyFocusedNode),z=i.containerGroups[M].tabbableNodes;if(z.length>0){var P=z.findIndex(function(m){return m===i.mostRecentlyFocusedNode});P>=0&&(a.isKeyForward(i.recentNavEvent)?P+1=0&&(N=z[P-1],I=!1))}}else i.containerGroups.some(function(m){return m.tabbableNodes.some(function(x){return se(x)>0})})||(I=!1);else I=!1;I&&(N=g({target:i.mostRecentlyFocusedNode,isBackward:a.isKeyBackward(i.recentNavEvent)})),b(N||i.mostRecentlyFocusedNode||d())}i.recentNavEvent=void 0},F=function(c){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=c;var p=g({event:c,isBackward:f});p&&(ge(c)&&c.preventDefault(),b(p))},L=function(c){if(Tr(c)&&ye(a.escapeDeactivates,c)!==!1){c.preventDefault(),s.deactivate();return}(a.isKeyForward(c)||a.isKeyBackward(c))&&F(c,a.isKeyBackward(c))},_=function(c){var f=Ae(c);l(f,c)>=0||ye(a.clickOutsideDeactivates,c)||ye(a.allowOutsideClick,c)||(c.preventDefault(),c.stopImmediatePropagation())},V=function(){if(i.active)return lt.activateTrap(n,s),i.delayInitialFocusTimer=a.delayInitialFocus?ct(function(){b(d())}):b(d()),r.addEventListener("focusin",T,!0),r.addEventListener("mousedown",S,{capture:!0,passive:!1}),r.addEventListener("touchstart",S,{capture:!0,passive:!1}),r.addEventListener("click",_,{capture:!0,passive:!1}),r.addEventListener("keydown",L,{capture:!0,passive:!1}),s},C=function(){if(i.active)return r.removeEventListener("focusin",T,!0),r.removeEventListener("mousedown",S,!0),r.removeEventListener("touchstart",S,!0),r.removeEventListener("click",_,!0),r.removeEventListener("keydown",L,!0),s},R=function(c){var f=c.some(function(p){var N=Array.from(p.removedNodes);return N.some(function(I){return I===i.mostRecentlyFocusedNode})});f&&b(d())},A=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(R):void 0,O=function(){A&&(A.disconnect(),i.active&&!i.paused&&i.containers.map(function(c){A.observe(c,{subtree:!0,childList:!0})}))};return s={get active(){return i.active},get paused(){return i.paused},activate:function(c){if(i.active)return this;var f=u(c,"onActivate"),p=u(c,"onPostActivate"),N=u(c,"checkCanFocusTrap");N||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=r.activeElement,f==null||f();var I=function(){N&&v(),V(),O(),p==null||p()};return N?(N(i.containers.concat()).then(I,I),this):(I(),this)},deactivate:function(c){if(!i.active)return this;var f=ut({onDeactivate:a.onDeactivate,onPostDeactivate:a.onPostDeactivate,checkCanReturnFocus:a.checkCanReturnFocus},c);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,C(),i.active=!1,i.paused=!1,O(),lt.deactivateTrap(n,s);var p=u(f,"onDeactivate"),N=u(f,"onPostDeactivate"),I=u(f,"checkCanReturnFocus"),M=u(f,"returnFocus","returnFocusOnDeactivate");p==null||p();var z=function(){ct(function(){M&&b(E(i.nodeFocusedBeforeActivation)),N==null||N()})};return M&&I?(I(E(i.nodeFocusedBeforeActivation)).then(z,z),this):(z(),this)},pause:function(c){if(i.paused||!i.active)return this;var f=u(c,"onPause"),p=u(c,"onPostPause");return i.paused=!0,f==null||f(),C(),O(),p==null||p(),this},unpause:function(c){if(!i.paused||!i.active)return this;var f=u(c,"onUnpause"),p=u(c,"onPostUnpause");return i.paused=!1,f==null||f(),v(),V(),O(),p==null||p(),this},updateContainerElements:function(c){var f=[].concat(c).filter(Boolean);return i.containers=f.map(function(p){return typeof p=="string"?r.querySelector(p):p}),i.active&&v(),O(),this}},s.updateContainerElements(e),s};function kr(o,e={}){let t;const{immediate:r,...n}=e,a=oe(!1),i=oe(!1),s=d=>t&&t.activate(d),u=d=>t&&t.deactivate(d),l=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return $e(()=>kt(o),d=>{d&&(t=Dr(d,{...n,onActivate(){a.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){a.value=!1,e.onDeactivate&&e.onDeactivate()}}),r&&s())},{flush:"post"}),Ot(()=>u()),{hasFocus:a,isPaused:i,activate:s,deactivate:u,pause:l,unpause:h}}class fe{constructor(e,t=!0,r=[],n=5e3){this.ctx=e,this.iframes=t,this.exclude=r,this.iframesTimeout=n}static matches(e,t){const r=typeof t=="string"?[t]:t,n=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(n){let a=!1;return r.every(i=>n.call(e,i)?(a=!0,!1):!0),a}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(r=>{const n=t.filter(a=>a.contains(r)).length>0;t.indexOf(r)===-1&&!n&&t.push(r)}),t}getIframeContents(e,t,r=()=>{}){let n;try{const a=e.contentWindow;if(n=a.document,!a||!n)throw new Error("iframe inaccessible")}catch{r()}n&&t(n)}isIframeBlank(e){const t="about:blank",r=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&r!==t&&r}observeIframeLoad(e,t,r){let n=!1,a=null;const i=()=>{if(!n){n=!0,clearTimeout(a);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,r))}catch{r()}}};e.addEventListener("load",i),a=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,r){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,r):this.getIframeContents(e,t,r):this.observeIframeLoad(e,t,r)}catch{r()}}waitForIframes(e,t){let r=0;this.forEachIframe(e,()=>!0,n=>{r++,this.waitForIframes(n.querySelector("html"),()=>{--r||t()})},n=>{n||t()})}forEachIframe(e,t,r,n=()=>{}){let a=e.querySelectorAll("iframe"),i=a.length,s=0;a=Array.prototype.slice.call(a);const u=()=>{--i<=0&&n(s)};i||u(),a.forEach(l=>{fe.matches(l,this.exclude)?u():this.onIframeReady(l,h=>{t(l)&&(s++,r(h)),u()},u)})}createIterator(e,t,r){return document.createNodeIterator(e,t,r,!1)}createInstanceOnIframe(e){return new fe(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,r){const n=e.compareDocumentPosition(r),a=Node.DOCUMENT_POSITION_PRECEDING;if(n&a)if(t!==null){const i=t.compareDocumentPosition(r),s=Node.DOCUMENT_POSITION_FOLLOWING;if(i&s)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let r;return t===null?r=e.nextNode():r=e.nextNode()&&e.nextNode(),{prevNode:t,node:r}}checkIframeFilter(e,t,r,n){let a=!1,i=!1;return n.forEach((s,u)=>{s.val===r&&(a=u,i=s.handled)}),this.compareNodeIframe(e,t,r)?(a===!1&&!i?n.push({val:r,handled:!0}):a!==!1&&!i&&(n[a].handled=!0),!0):(a===!1&&n.push({val:r,handled:!1}),!1)}handleOpenIframes(e,t,r,n){e.forEach(a=>{a.handled||this.getIframeContents(a.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,r,n)})})}iterateThroughNodes(e,t,r,n,a){const i=this.createIterator(t,e,n);let s=[],u=[],l,h,d=()=>({prevNode:h,node:l}=this.getIteratorNode(i),l);for(;d();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(l,h,v,s),v=>{this.createInstanceOnIframe(v).forEachNode(e,y=>u.push(y),n)}),u.push(l);u.forEach(v=>{r(v)}),this.iframes&&this.handleOpenIframes(s,e,r,n),a()}forEachNode(e,t,r,n=()=>{}){const a=this.getContexts();let i=a.length;i||n(),a.forEach(s=>{const u=()=>{this.iterateThroughNodes(e,s,t,r,()=>{--i<=0&&n()})};this.iframes?this.waitForIframes(s,u):u()})}}let Or=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new fe(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const r=this.opt.log;this.opt.debug&&typeof r=="object"&&typeof r[t]=="function"&&r[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,r=this.opt.caseSensitive?"":"i",n=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let a in t)if(t.hasOwnProperty(a)){const i=t[a],s=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(a):this.escapeStr(a),u=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);s!==""&&u!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(s)}|${this.escapeStr(u)})`,`gm${r}`),n+`(${this.processSynomyms(s)}|${this.processSynomyms(u)})`+n))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,r,n)=>{let a=n.charAt(r+1);return/[(|)\\]/.test(a)||a===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const r=this.opt.ignorePunctuation;return Array.isArray(r)&&r.length&&t.push(this.escapeStr(r.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",r=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let n=[];return e.split("").forEach(a=>{r.every(i=>{if(i.indexOf(a)!==-1){if(n.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),n.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let r=this.opt.accuracy,n=typeof r=="string"?r:r.value,a=typeof r=="string"?[]:r.limiters,i="";switch(a.forEach(s=>{i+=`|${this.escapeStr(s)}`}),n){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(r=>{this.opt.separateWordSearch?r.split(" ").forEach(n=>{n.trim()&&t.indexOf(n)===-1&&t.push(n)}):r.trim()&&t.indexOf(r)===-1&&t.push(r)}),{keywords:t.sort((r,n)=>n.length-r.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let r=0;return e.sort((n,a)=>n.start-a.start).forEach(n=>{let{start:a,end:i,valid:s}=this.callNoMatchOnInvalidRanges(n,r);s&&(n.start=a,n.length=i-a,t.push(n),r=i)}),t}callNoMatchOnInvalidRanges(e,t){let r,n,a=!1;return e&&typeof e.start<"u"?(r=parseInt(e.start,10),n=r+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&n-t>0&&n-r>0?a=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:r,end:n,valid:a}}checkWhitespaceRanges(e,t,r){let n,a=!0,i=r.length,s=t-i,u=parseInt(e.start,10)-s;return u=u>i?i:u,n=u+parseInt(e.length,10),n>i&&(n=i,this.log(`End range automatically set to the max value of ${i}`)),u<0||n-u<0||u>i||n>i?(a=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):r.substring(u,n).replace(/\s+/g,"")===""&&(a=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:u,end:n,valid:a}}getTextNodes(e){let t="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,n=>{r.push({start:t.length,end:(t+=n.textContent).length,node:n})},n=>this.matchesExclude(n.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:r})})}matchesExclude(e){return fe.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,r){const n=this.opt.element?this.opt.element:"mark",a=e.splitText(t),i=a.splitText(r-t);let s=document.createElement(n);return s.setAttribute("data-markjs","true"),this.opt.className&&s.setAttribute("class",this.opt.className),s.textContent=a.textContent,a.parentNode.replaceChild(s,a),i}wrapRangeInMappedTextNode(e,t,r,n,a){e.nodes.every((i,s)=>{const u=e.nodes[s+1];if(typeof u>"u"||u.start>t){if(!n(i.node))return!1;const l=t-i.start,h=(r>i.end?i.end:r)-i.start,d=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,l,h),e.value=d+v,e.nodes.forEach((y,b)=>{b>=s&&(e.nodes[b].start>0&&b!==s&&(e.nodes[b].start-=h),e.nodes[b].end-=h)}),r-=h,a(i.node.previousSibling,i.start),r>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,r,n,a){const i=t===0?0:t+1;this.getTextNodes(s=>{s.nodes.forEach(u=>{u=u.node;let l;for(;(l=e.exec(u.textContent))!==null&&l[i]!=="";){if(!r(l[i],u))continue;let h=l.index;if(i!==0)for(let d=1;d{let u;for(;(u=e.exec(s.value))!==null&&u[i]!=="";){let l=u.index;if(i!==0)for(let d=1;dr(u[i],d),(d,v)=>{e.lastIndex=v,n(d)})}a()})}wrapRangeFromIndex(e,t,r,n){this.getTextNodes(a=>{const i=a.value.length;e.forEach((s,u)=>{let{start:l,end:h,valid:d}=this.checkWhitespaceRanges(s,i,a.value);d&&this.wrapRangeInMappedTextNode(a,l,h,v=>t(v,s,a.value.substring(l,h),u),v=>{r(v,s)})}),n()})}unwrapMatches(e){const t=e.parentNode;let r=document.createDocumentFragment();for(;e.firstChild;)r.appendChild(e.removeChild(e.firstChild));t.replaceChild(r,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let r=0,n="wrapMatches";const a=i=>{r++,this.opt.each(i)};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),this[n](e,this.opt.ignoreGroups,(i,s)=>this.opt.filter(s,i,r),a,()=>{r===0&&this.opt.noMatch(e),this.opt.done(r)})}mark(e,t){this.opt=t;let r=0,n="wrapMatches";const{keywords:a,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),s=this.opt.caseSensitive?"":"i",u=l=>{let h=new RegExp(this.createRegExp(l),`gm${s}`),d=0;this.log(`Searching with expression "${h}"`),this[n](h,1,(v,y)=>this.opt.filter(y,l,r,d),v=>{d++,r++,this.opt.each(v)},()=>{d===0&&this.opt.noMatch(l),a[i-1]===l?this.opt.done(r):u(a[a.indexOf(l)+1])})};this.opt.acrossElements&&(n="wrapMatchesAcrossElements"),i===0?this.opt.done(r):u(a[0])}markRanges(e,t){this.opt=t;let r=0,n=this.checkRanges(e);n&&n.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(n)),this.wrapRangeFromIndex(n,(a,i,s,u)=>this.opt.filter(a,i,s,u),(a,i)=>{r++,this.opt.each(a,i)},()=>{this.opt.done(r)})):this.opt.done(r)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,r=>{this.unwrapMatches(r)},r=>{const n=fe.matches(r,t),a=this.matchesExclude(r);return!n||a?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Rr(o){const e=new Or(o);return this.mark=(t,r)=>(e.mark(t,r),this),this.markRegExp=(t,r)=>(e.markRegExp(t,r),this),this.markRanges=(t,r)=>(e.markRanges(t,r),this),this.unmark=t=>(e.unmark(t),this),this}var W=function(){return W=Object.assign||function(e){for(var t,r=1,n=arguments.length;r0&&a[a.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!a||l[1]>a[0]&&l[1]=o.length&&(o=void 0),{value:o&&o[r++],done:!o}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function J(o,e){var t=typeof Symbol=="function"&&o[Symbol.iterator];if(!t)return o;var r=t.call(o),n,a=[],i;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)a.push(n.value)}catch(s){i={error:s}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(i)throw i.error}}return a}var Lr="ENTRIES",Ft="KEYS",Et="VALUES",G="",Me=function(){function o(e,t){var r=e._tree,n=Array.from(r.keys());this.set=e,this._type=t,this._path=n.length>0?[{node:r,keys:n}]:[]}return o.prototype.next=function(){var e=this.dive();return this.backtrack(),e},o.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=ce(this._path),t=e.node,r=e.keys;if(ce(r)===G)return{done:!1,value:this.result()};var n=t.get(ce(r));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()},o.prototype.backtrack=function(){if(this._path.length!==0){var e=ce(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},o.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return ce(t)}).filter(function(e){return e!==G}).join("")},o.prototype.value=function(){return ce(this._path).node.get(G)},o.prototype.result=function(){switch(this._type){case Et:return this.value();case Ft:return this.key();default:return[this.key(),this.value()]}},o.prototype[Symbol.iterator]=function(){return this},o}(),ce=function(o){return o[o.length-1]},zr=function(o,e,t){var r=new Map;if(e===void 0)return r;for(var n=e.length+1,a=n+t,i=new Uint8Array(a*n).fill(t+1),s=0;st)continue e}St(o.get(y),e,t,r,n,E,i,s+y)}}}catch(f){u={error:f}}finally{try{v&&!v.done&&(l=d.return)&&l.call(d)}finally{if(u)throw u.error}}},Le=function(){function o(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return o.prototype.atPrefix=function(e){var t,r;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var n=J(ke(this._tree,e.slice(this._prefix.length)),2),a=n[0],i=n[1];if(a===void 0){var s=J(je(i),2),u=s[0],l=s[1];try{for(var h=D(u.keys()),d=h.next();!d.done;d=h.next()){var v=d.value;if(v!==G&&v.startsWith(l)){var y=new Map;return y.set(v.slice(l.length),u.get(v)),new o(y,e)}}}catch(b){t={error:b}}finally{try{d&&!d.done&&(r=h.return)&&r.call(h)}finally{if(t)throw t.error}}}return new o(a,e)},o.prototype.clear=function(){this._size=void 0,this._tree.clear()},o.prototype.delete=function(e){return this._size=void 0,Pr(this._tree,e)},o.prototype.entries=function(){return new Me(this,Lr)},o.prototype.forEach=function(e){var t,r;try{for(var n=D(this),a=n.next();!a.done;a=n.next()){var i=J(a.value,2),s=i[0],u=i[1];e(s,u,this)}}catch(l){t={error:l}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},o.prototype.fuzzyGet=function(e,t){return zr(this._tree,e,t)},o.prototype.get=function(e){var t=Ke(this._tree,e);return t!==void 0?t.get(G):void 0},o.prototype.has=function(e){var t=Ke(this._tree,e);return t!==void 0&&t.has(G)},o.prototype.keys=function(){return new Me(this,Ft)},o.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t),this},Object.defineProperty(o.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),o.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e);return r.set(G,t(r.get(G))),this},o.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var r=ze(this._tree,e),n=r.get(G);return n===void 0&&r.set(G,n=t()),n},o.prototype.values=function(){return new Me(this,Et)},o.prototype[Symbol.iterator]=function(){return this.entries()},o.from=function(e){var t,r,n=new o;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=J(i.value,2),u=s[0],l=s[1];n.set(u,l)}}catch(h){t={error:h}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}return n},o.fromObject=function(e){return o.from(Object.entries(e))},o}(),ke=function(o,e,t){var r,n;if(t===void 0&&(t=[]),e.length===0||o==null)return[o,t];try{for(var a=D(o.keys()),i=a.next();!i.done;i=a.next()){var s=i.value;if(s!==G&&e.startsWith(s))return t.push([o,s]),ke(o.get(s),e.slice(s.length),t)}}catch(u){r={error:u}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return t.push([o,e]),ke(void 0,"",t)},Ke=function(o,e){var t,r;if(e.length===0||o==null)return o;try{for(var n=D(o.keys()),a=n.next();!a.done;a=n.next()){var i=a.value;if(i!==G&&e.startsWith(i))return Ke(o.get(i),e.slice(i.length))}}catch(s){t={error:s}}finally{try{a&&!a.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},ze=function(o,e){var t,r,n=e.length;e:for(var a=0;o&&a0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Le,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},o.prototype.discard=function(e){var t=this,r=this._idToShortId.get(e);if(r==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(r),this._storedFields.delete(r),(this._fieldLength.get(r)||[]).forEach(function(n,a){t.removeFieldLength(r,a,t._documentCount,n)}),this._fieldLength.delete(r),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},o.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,r=e.minDirtCount,n=e.batchSize,a=e.batchWait;this.conditionalVacuum({batchSize:n,batchWait:a},{minDirtCount:r,minDirtFactor:t})}},o.prototype.discardAll=function(e){var t,r,n=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var a=D(e),i=a.next();!i.done;i=a.next()){var s=i.value;this.discard(s)}}catch(u){t={error:u}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=n}this.maybeAutoVacuum()},o.prototype.replace=function(e){var t=this._options,r=t.idField,n=t.extractField,a=n(e,r);this.discard(a),this.add(e)},o.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},o.prototype.conditionalVacuum=function(e,t){var r=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var n=r._enqueuedVacuumConditions;return r._enqueuedVacuumConditions=Ue,r.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},o.prototype.performVacuuming=function(e,t){return _r(this,void 0,void 0,function(){var r,n,a,i,s,u,l,h,d,v,y,b,E,g,S,T,F,L,_,V,C,R,A,O,w;return Mr(this,function(c){switch(c.label){case 0:if(r=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];n=e.batchSize||Je.batchSize,a=e.batchWait||Je.batchWait,i=1,c.label=1;case 1:c.trys.push([1,7,8,9]),s=D(this._index),u=s.next(),c.label=2;case 2:if(u.done)return[3,6];l=J(u.value,2),h=l[0],d=l[1];try{for(v=(R=void 0,D(d)),y=v.next();!y.done;y=v.next()){b=J(y.value,2),E=b[0],g=b[1];try{for(S=(O=void 0,D(g)),T=S.next();!T.done;T=S.next())F=J(T.value,1),L=F[0],!this._documentIds.has(L)&&(g.size<=1?d.delete(E):g.delete(L))}catch(f){O={error:f}}finally{try{T&&!T.done&&(w=S.return)&&w.call(S)}finally{if(O)throw O.error}}}}catch(f){R={error:f}}finally{try{y&&!y.done&&(A=v.return)&&A.call(v)}finally{if(R)throw R.error}}return this._index.get(h).size===0&&this._index.delete(h),i%n!==0?[3,4]:[4,new Promise(function(f){return setTimeout(f,a)})];case 3:c.sent(),c.label=4;case 4:i+=1,c.label=5;case 5:return u=s.next(),[3,2];case 6:return[3,9];case 7:return _=c.sent(),V={error:_},[3,9];case 8:try{u&&!u.done&&(C=s.return)&&C.call(s)}finally{if(V)throw V.error}return[7];case 9:this._dirtCount-=r,c.label=10;case 10:return[4,null];case 11:return c.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},o.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,r=e.minDirtFactor;return t=t||Ve.minDirtCount,r=r||Ve.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=r},Object.defineProperty(o.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),o.prototype.has=function(e){return this._idToShortId.has(e)},o.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},o.prototype.search=function(e,t){var r,n;t===void 0&&(t={});var a=this.executeQuery(e,t),i=[];try{for(var s=D(a),u=s.next();!u.done;u=s.next()){var l=J(u.value,2),h=l[0],d=l[1],v=d.score,y=d.terms,b=d.match,E=y.length||1,g={id:this._documentIds.get(h),score:v*E,terms:Object.keys(b),queryTerms:y,match:b};Object.assign(g,this._storedFields.get(h)),(t.filter==null||t.filter(g))&&i.push(g)}}catch(S){r={error:S}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}return e===o.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||i.sort(vt),i},o.prototype.autoSuggest=function(e,t){var r,n,a,i;t===void 0&&(t={}),t=W(W({},this._options.autoSuggestOptions),t);var s=new Map;try{for(var u=D(this.search(e,t)),l=u.next();!l.done;l=u.next()){var h=l.value,d=h.score,v=h.terms,y=v.join(" "),b=s.get(y);b!=null?(b.score+=d,b.count+=1):s.set(y,{score:d,terms:v,count:1})}}catch(_){r={error:_}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var E=[];try{for(var g=D(s),S=g.next();!S.done;S=g.next()){var T=J(S.value,2),b=T[0],F=T[1],d=F.score,v=F.terms,L=F.count;E.push({suggestion:b,terms:v,score:d/L})}}catch(_){a={error:_}}finally{try{S&&!S.done&&(i=g.return)&&i.call(g)}finally{if(a)throw a.error}}return E.sort(vt),E},Object.defineProperty(o.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(o.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),o.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},o.getDefault=function(e){if(Be.hasOwnProperty(e))return Pe(Be,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},o.loadJS=function(e,t){var r,n,a,i,s,u,l=e.index,h=e.documentCount,d=e.nextId,v=e.documentIds,y=e.fieldIds,b=e.fieldLength,E=e.averageFieldLength,g=e.storedFields,S=e.dirtCount,T=e.serializationVersion;if(T!==1&&T!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var F=new o(t);F._documentCount=h,F._nextId=d,F._documentIds=Te(v),F._idToShortId=new Map,F._fieldIds=y,F._fieldLength=Te(b),F._avgFieldLength=E,F._storedFields=Te(g),F._dirtCount=S||0,F._index=new Le;try{for(var L=D(F._documentIds),_=L.next();!_.done;_=L.next()){var V=J(_.value,2),C=V[0],R=V[1];F._idToShortId.set(R,C)}}catch(P){r={error:P}}finally{try{_&&!_.done&&(n=L.return)&&n.call(L)}finally{if(r)throw r.error}}try{for(var A=D(l),O=A.next();!O.done;O=A.next()){var w=J(O.value,2),c=w[0],f=w[1],p=new Map;try{for(var N=(s=void 0,D(Object.keys(f))),I=N.next();!I.done;I=N.next()){var M=I.value,z=f[M];T===1&&(z=z.ds),p.set(parseInt(M,10),Te(z))}}catch(P){s={error:P}}finally{try{I&&!I.done&&(u=N.return)&&u.call(N)}finally{if(s)throw s.error}}F._index.set(c,p)}}catch(P){a={error:P}}finally{try{O&&!O.done&&(i=A.return)&&i.call(A)}finally{if(a)throw a.error}}return F},o.prototype.executeQuery=function(e,t){var r=this;if(t===void 0&&(t={}),e===o.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var n=W(W(W({},t),e),{queries:void 0}),a=e.queries.map(function(g){return r.executeQuery(g,n)});return this.combineResults(a,n.combineWith)}var i=this._options,s=i.tokenize,u=i.processTerm,l=i.searchOptions,h=W(W({tokenize:s,processTerm:u},l),t),d=h.tokenize,v=h.processTerm,y=d(e).flatMap(function(g){return v(g)}).filter(function(g){return!!g}),b=y.map(Jr(h)),E=b.map(function(g){return r.executeQuerySpec(g,h)});return this.combineResults(E,h.combineWith)},o.prototype.executeQuerySpec=function(e,t){var r,n,a,i,s=W(W({},this._options.searchOptions),t),u=(s.fields||this._options.fields).reduce(function(M,z){var P;return W(W({},M),(P={},P[z]=Pe(s.boost,z)||1,P))},{}),l=s.boostDocument,h=s.weights,d=s.maxFuzzy,v=s.bm25,y=W(W({},ht.weights),h),b=y.fuzzy,E=y.prefix,g=this._index.get(e.term),S=this.termResults(e.term,e.term,1,g,u,l,v),T,F;if(e.prefix&&(T=this._index.atPrefix(e.term)),e.fuzzy){var L=e.fuzzy===!0?.2:e.fuzzy,_=L<1?Math.min(d,Math.round(e.term.length*L)):L;_&&(F=this._index.fuzzyGet(e.term,_))}if(T)try{for(var V=D(T),C=V.next();!C.done;C=V.next()){var R=J(C.value,2),A=R[0],O=R[1],w=A.length-e.term.length;if(w){F==null||F.delete(A);var c=E*A.length/(A.length+.3*w);this.termResults(e.term,A,c,O,u,l,v,S)}}}catch(M){r={error:M}}finally{try{C&&!C.done&&(n=V.return)&&n.call(V)}finally{if(r)throw r.error}}if(F)try{for(var f=D(F.keys()),p=f.next();!p.done;p=f.next()){var A=p.value,N=J(F.get(A),2),I=N[0],w=N[1];if(w){var c=b*A.length/(A.length+w);this.termResults(e.term,A,c,I,u,l,v,S)}}}catch(M){a={error:M}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(a)throw a.error}}return S},o.prototype.executeWildcardQuery=function(e){var t,r,n=new Map,a=W(W({},this._options.searchOptions),e);try{for(var i=D(this._documentIds),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d=a.boostDocument?a.boostDocument(h,"",this._storedFields.get(l)):1;n.set(l,{score:d,terms:[],match:{}})}}catch(v){t={error:v}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return n},o.prototype.combineResults=function(e,t){if(t===void 0&&(t=Ge),e.length===0)return new Map;var r=t.toLowerCase();return e.reduce($r[r])||new Map},o.prototype.toJSON=function(){var e,t,r,n,a=[];try{for(var i=D(this._index),s=i.next();!s.done;s=i.next()){var u=J(s.value,2),l=u[0],h=u[1],d={};try{for(var v=(r=void 0,D(h)),y=v.next();!y.done;y=v.next()){var b=J(y.value,2),E=b[0],g=b[1];d[E]=Object.fromEntries(g)}}catch(S){r={error:S}}finally{try{y&&!y.done&&(n=v.return)&&n.call(v)}finally{if(r)throw r.error}}a.push([l,d])}}catch(S){e={error:S}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:a,serializationVersion:2}},o.prototype.termResults=function(e,t,r,n,a,i,s,u){var l,h,d,v,y;if(u===void 0&&(u=new Map),n==null)return u;try{for(var b=D(Object.keys(a)),E=b.next();!E.done;E=b.next()){var g=E.value,S=a[g],T=this._fieldIds[g],F=n.get(T);if(F!=null){var L=F.size,_=this._avgFieldLength[T];try{for(var V=(d=void 0,D(F.keys())),C=V.next();!C.done;C=V.next()){var R=C.value;if(!this._documentIds.has(R)){this.removeTerm(T,R,t),L-=1;continue}var A=i?i(this._documentIds.get(R),t,this._storedFields.get(R)):1;if(A){var O=F.get(R),w=this._fieldLength.get(R)[T],c=Kr(O,L,this._documentCount,w,_,s),f=r*S*A*c,p=u.get(R);if(p){p.score+=f,jr(p.terms,e);var N=Pe(p.match,t);N?N.push(g):p.match[t]=[g]}else u.set(R,{score:f,terms:[e],match:(y={},y[t]=[g],y)})}}}catch(I){d={error:I}}finally{try{C&&!C.done&&(v=V.return)&&v.call(V)}finally{if(d)throw d.error}}}}}catch(I){l={error:I}}finally{try{E&&!E.done&&(h=b.return)&&h.call(b)}finally{if(l)throw l.error}}return u},o.prototype.addTerm=function(e,t,r){var n=this._index.fetch(r,pt),a=n.get(e);if(a==null)a=new Map,a.set(t,1),n.set(e,a);else{var i=a.get(t);a.set(t,(i||0)+1)}},o.prototype.removeTerm=function(e,t,r){if(!this._index.has(r)){this.warnDocumentChanged(t,e,r);return}var n=this._index.fetch(r,pt),a=n.get(e);a==null||a.get(t)==null?this.warnDocumentChanged(t,e,r):a.get(t)<=1?a.size<=1?n.delete(e):a.delete(t):a.set(t,a.get(t)-1),this._index.get(r).size===0&&this._index.delete(r)},o.prototype.warnDocumentChanged=function(e,t,r){var n,a;try{for(var i=D(Object.keys(this._fieldIds)),s=i.next();!s.done;s=i.next()){var u=s.value;if(this._fieldIds[u]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(r,'" was not present in field "').concat(u,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(l){n={error:l}}finally{try{s&&!s.done&&(a=i.return)&&a.call(i)}finally{if(n)throw n.error}}},o.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},o.prototype.addFields=function(e){for(var t=0;t(Qt("data-v-b3bd7ef0"),o=o(),qt(),o),Qr=["aria-owns"],qr={class:"shell"},Yr=["title"],Zr=Y(()=>k("span",{"aria-hidden":"true",class:"vpi-search search-icon local-search-icon"},null,-1)),Xr=[Zr],ea={class:"search-actions before"},ta=["title"],ra=Y(()=>k("span",{class:"vpi-arrow-left local-search-icon"},null,-1)),aa=[ra],na=["placeholder"],ia={class:"search-actions"},oa=["title"],sa=Y(()=>k("span",{class:"vpi-layout-list local-search-icon"},null,-1)),ua=[sa],la=["disabled","title"],ca=Y(()=>k("span",{class:"vpi-delete local-search-icon"},null,-1)),fa=[ca],ha=["id","role","aria-labelledby"],da=["aria-selected"],va=["href","aria-label","onMouseenter","onFocusin"],pa={class:"titles"},ya=Y(()=>k("span",{class:"title-icon"},"#",-1)),ma=["innerHTML"],ga=Y(()=>k("span",{class:"vpi-chevron-right local-search-icon"},null,-1)),ba={class:"title main"},wa=["innerHTML"],xa={key:0,class:"excerpt-wrapper"},Fa={key:0,class:"excerpt",inert:""},Ea=["innerHTML"],Sa=Y(()=>k("div",{class:"excerpt-gradient-bottom"},null,-1)),Aa=Y(()=>k("div",{class:"excerpt-gradient-top"},null,-1)),Ta={key:0,class:"no-results"},Ca={class:"search-keyboard-shortcuts"},Na=["aria-label"],Ia=Y(()=>k("span",{class:"vpi-arrow-up navigate-icon"},null,-1)),Da=[Ia],ka=["aria-label"],Oa=Y(()=>k("span",{class:"vpi-arrow-down navigate-icon"},null,-1)),Ra=[Oa],_a=["aria-label"],Ma=Y(()=>k("span",{class:"vpi-corner-down-left navigate-icon"},null,-1)),La=[Ma],za=["aria-label"],Pa=Rt({__name:"VPLocalSearchBox",emits:["close"],setup(o,{emit:e}){var z,P;const t=e,r=xe(),n=xe(),a=xe(nr),i=rr(),{activate:s}=kr(r,{immediate:!0,allowOutsideClick:!0,clickOutsideDeactivates:!0,escapeDeactivates:!0}),{localeIndex:u,theme:l}=i,h=tt(async()=>{var m,x,$,K,H,Q,B,U,Z;return it(Vr.loadJSON(($=await((x=(m=a.value)[u.value])==null?void 0:x.call(m)))==null?void 0:$.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},...((K=l.value.search)==null?void 0:K.provider)==="local"&&((Q=(H=l.value.search.options)==null?void 0:H.miniSearch)==null?void 0:Q.searchOptions)},...((B=l.value.search)==null?void 0:B.provider)==="local"&&((Z=(U=l.value.search.options)==null?void 0:U.miniSearch)==null?void 0:Z.options)}))}),v=Fe(()=>{var m,x;return((m=l.value.search)==null?void 0:m.provider)==="local"&&((x=l.value.search.options)==null?void 0:x.disableQueryPersistence)===!0}).value?oe(""):_t("vitepress:local-search-filter",""),y=Mt("vitepress:local-search-detailed-list",((z=l.value.search)==null?void 0:z.provider)==="local"&&((P=l.value.search.options)==null?void 0:P.detailedView)===!0),b=Fe(()=>{var m,x,$;return((m=l.value.search)==null?void 0:m.provider)==="local"&&(((x=l.value.search.options)==null?void 0:x.disableDetailedView)===!0||(($=l.value.search.options)==null?void 0:$.detailedView)===!1)}),E=Fe(()=>{var x,$,K,H,Q,B,U;const m=((x=l.value.search)==null?void 0:x.options)??l.value.algolia;return((Q=(H=(K=($=m==null?void 0:m.locales)==null?void 0:$[u.value])==null?void 0:K.translations)==null?void 0:H.button)==null?void 0:Q.buttonText)||((U=(B=m==null?void 0:m.translations)==null?void 0:B.button)==null?void 0:U.buttonText)||"Search"});Lt(()=>{b.value&&(y.value=!1)});const g=xe([]),S=oe(!1);$e(v,()=>{S.value=!1});const T=tt(async()=>{if(n.value)return it(new Rr(n.value))},null),F=new Hr(16);zt(()=>[h.value,v.value,y.value],async([m,x,$],K,H)=>{var be,He,Qe,qe;(K==null?void 0:K[0])!==m&&F.clear();let Q=!1;if(H(()=>{Q=!0}),!m)return;g.value=m.search(x).slice(0,16),S.value=!0;const B=$?await Promise.all(g.value.map(q=>L(q.id))):[];if(Q)return;for(const{id:q,mod:ae}of B){const ne=q.slice(0,q.indexOf("#"));let te=F.get(ne);if(te)continue;te=new Map,F.set(ne,te);const X=ae.default??ae;if(X!=null&&X.render||X!=null&&X.setup){const ie=Yt(X);ie.config.warnHandler=()=>{},ie.provide(Zt,i),Object.defineProperties(ie.config.globalProperties,{$frontmatter:{get(){return i.frontmatter.value}},$params:{get(){return i.page.value.params}}});const Ye=document.createElement("div");ie.mount(Ye),Ye.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(he=>{var et;const we=(et=he.querySelector("a"))==null?void 0:et.getAttribute("href"),Ze=(we==null?void 0:we.startsWith("#"))&&we.slice(1);if(!Ze)return;let Xe="";for(;(he=he.nextElementSibling)&&!/^h[1-6]$/i.test(he.tagName);)Xe+=he.outerHTML;te.set(Ze,Xe)}),ie.unmount()}if(Q)return}const U=new Set;if(g.value=g.value.map(q=>{const[ae,ne]=q.id.split("#"),te=F.get(ae),X=(te==null?void 0:te.get(ne))??"";for(const ie in q.match)U.add(ie);return{...q,text:X}}),await de(),Q)return;await new Promise(q=>{var ae;(ae=T.value)==null||ae.unmark({done:()=>{var ne;(ne=T.value)==null||ne.markRegExp(M(U),{done:q})}})});const Z=((be=r.value)==null?void 0:be.querySelectorAll(".result .excerpt"))??[];for(const q of Z)(He=q.querySelector('mark[data-markjs="true"]'))==null||He.scrollIntoView({block:"center"});(qe=(Qe=n.value)==null?void 0:Qe.firstElementChild)==null||qe.scrollIntoView({block:"start"})},{debounce:200,immediate:!0});async function L(m){const x=Xt(m.slice(0,m.indexOf("#")));try{if(!x)throw new Error(`Cannot find file for id: ${m}`);return{id:m,mod:await import(x)}}catch($){return console.error($),{id:m,mod:{}}}}const _=oe(),V=Fe(()=>{var m;return((m=v.value)==null?void 0:m.length)<=0});function C(m=!0){var x,$;(x=_.value)==null||x.focus(),m&&(($=_.value)==null||$.select())}Re(()=>{C()});function R(m){m.pointerType==="mouse"&&C()}const A=oe(-1),O=oe(!1);$e(g,m=>{A.value=m.length?0:-1,w()});function w(){de(()=>{const m=document.querySelector(".result.selected");m==null||m.scrollIntoView({block:"nearest"})})}Ee("ArrowUp",m=>{m.preventDefault(),A.value--,A.value<0&&(A.value=g.value.length-1),O.value=!0,w()}),Ee("ArrowDown",m=>{m.preventDefault(),A.value++,A.value>=g.value.length&&(A.value=0),O.value=!0,w()});const c=Pt();Ee("Enter",m=>{if(m.isComposing||m.target instanceof HTMLButtonElement&&m.target.type!=="submit")return;const x=g.value[A.value];if(m.target instanceof HTMLInputElement&&!x){m.preventDefault();return}x&&(c.go(x.id),t("close"))}),Ee("Escape",()=>{t("close")});const p=ar({modal:{displayDetails:"Display detailed list",resetButtonTitle:"Reset search",backButtonTitle:"Close search",noResultsText:"No results for",footer:{selectText:"to select",selectKeyAriaLabel:"enter",navigateText:"to navigate",navigateUpKeyAriaLabel:"up arrow",navigateDownKeyAriaLabel:"down arrow",closeText:"to close",closeKeyAriaLabel:"escape"}}});Re(()=>{window.history.pushState(null,"",null)}),Bt("popstate",m=>{m.preventDefault(),t("close")});const N=Vt($t?document.body:null);Re(()=>{de(()=>{N.value=!0,de().then(()=>s())})}),Wt(()=>{N.value=!1});function I(){v.value="",de().then(()=>C(!1))}function M(m){return new RegExp([...m].sort((x,$)=>$.length-x.length).map(x=>`(${er(x)})`).join("|"),"gi")}return(m,x)=>{var $,K,H,Q;return ee(),Kt(Ht,{to:"body"},[k("div",{ref_key:"el",ref:r,role:"button","aria-owns":($=g.value)!=null&&$.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"localsearch-label",class:"VPLocalSearchBox"},[k("div",{class:"backdrop",onClick:x[0]||(x[0]=B=>m.$emit("close"))}),k("div",qr,[k("form",{class:"search-bar",onPointerup:x[4]||(x[4]=B=>R(B)),onSubmit:x[5]||(x[5]=Jt(()=>{},["prevent"]))},[k("label",{title:E.value,id:"localsearch-label",for:"localsearch-input"},Xr,8,Yr),k("div",ea,[k("button",{class:"back-button",title:j(p)("modal.backButtonTitle"),onClick:x[1]||(x[1]=B=>m.$emit("close"))},aa,8,ta)]),Ut(k("input",{ref_key:"searchInput",ref:_,"onUpdate:modelValue":x[2]||(x[2]=B=>Gt(v)?v.value=B:null),placeholder:E.value,id:"localsearch-input","aria-labelledby":"localsearch-label",class:"search-input"},null,8,na),[[jt,j(v)]]),k("div",ia,[b.value?Se("",!0):(ee(),re("button",{key:0,class:rt(["toggle-layout-button",{"detailed-list":j(y)}]),type:"button",title:j(p)("modal.displayDetails"),onClick:x[3]||(x[3]=B=>A.value>-1&&(y.value=!j(y)))},ua,10,oa)),k("button",{class:"clear-button",type:"reset",disabled:V.value,title:j(p)("modal.resetButtonTitle"),onClick:I},fa,8,la)])],32),k("ul",{ref_key:"resultsEl",ref:n,id:(K=g.value)!=null&&K.length?"localsearch-list":void 0,role:(H=g.value)!=null&&H.length?"listbox":void 0,"aria-labelledby":(Q=g.value)!=null&&Q.length?"localsearch-label":void 0,class:"results",onMousemove:x[7]||(x[7]=B=>O.value=!1)},[(ee(!0),re(nt,null,at(g.value,(B,U)=>(ee(),re("li",{key:B.id,role:"option","aria-selected":A.value===U?"true":"false"},[k("a",{href:B.id,class:rt(["result",{selected:A.value===U}]),"aria-label":[...B.titles,B.title].join(" > "),onMouseenter:Z=>!O.value&&(A.value=U),onFocusin:Z=>A.value=U,onClick:x[6]||(x[6]=Z=>m.$emit("close"))},[k("div",null,[k("div",pa,[ya,(ee(!0),re(nt,null,at(B.titles,(Z,be)=>(ee(),re("span",{key:be,class:"title"},[k("span",{class:"text",innerHTML:Z},null,8,ma),ga]))),128)),k("span",ba,[k("span",{class:"text",innerHTML:B.title},null,8,wa)])]),j(y)?(ee(),re("div",xa,[B.text?(ee(),re("div",Fa,[k("div",{class:"vp-doc",innerHTML:B.text},null,8,Ea)])):Se("",!0),Sa,Aa])):Se("",!0)])],42,va)],8,da))),128)),j(v)&&!g.value.length&&S.value?(ee(),re("li",Ta,[ve(pe(j(p)("modal.noResultsText"))+' "',1),k("strong",null,pe(j(v)),1),ve('" ')])):Se("",!0)],40,ha),k("div",Ca,[k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.navigateUpKeyAriaLabel")},Da,8,Na),k("kbd",{"aria-label":j(p)("modal.footer.navigateDownKeyAriaLabel")},Ra,8,ka),ve(" "+pe(j(p)("modal.footer.navigateText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.selectKeyAriaLabel")},La,8,_a),ve(" "+pe(j(p)("modal.footer.selectText")),1)]),k("span",null,[k("kbd",{"aria-label":j(p)("modal.footer.closeKeyAriaLabel")},"esc",8,za),ve(" "+pe(j(p)("modal.footer.closeText")),1)])])])],8,Qr)])}}}),Ja=tr(Pa,[["__scopeId","data-v-b3bd7ef0"]]);export{Ja as default}; diff --git a/.vitepress/dist/assets/chunks/framework.DkvLLw5I.js b/.vitepress/dist/assets/chunks/framework.C_oE5szm.js similarity index 99% rename from .vitepress/dist/assets/chunks/framework.DkvLLw5I.js rename to .vitepress/dist/assets/chunks/framework.C_oE5szm.js index 776dbb4..93a194d 100644 --- a/.vitepress/dist/assets/chunks/framework.DkvLLw5I.js +++ b/.vitepress/dist/assets/chunks/framework.C_oE5szm.js @@ -14,4 +14,4 @@ * @vue/runtime-dom v3.4.31 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Nc="http://www.w3.org/2000/svg",Fc="http://www.w3.org/1998/Math/MathML",Ve=typeof document<"u"?document:null,Ss=Ve&&Ve.createElement("template"),$c={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"?Ve.createElementNS(Nc,e):t==="mathml"?Ve.createElementNS(Fc,e):n?Ve.createElement(e,{is:n}):Ve.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Ve.createTextNode(e),createComment:e=>Ve.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ve.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{Ss.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Ss.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",Tt="animation",Ut=Symbol("_vtc"),ci=(e,{slots:t})=>br(yc,Hc(e),t);ci.displayName="Transition";const ai={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};ci.props=le({},zo,ai);const st=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ts=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function Hc(e){const t={};for(const T in e)T in ai||(t[T]=e[T]);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:m=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,C=jc(s),L=C&&C[0],k=C&&C[1],{onBeforeEnter:W,onEnter:V,onEnterCancelled:p,onLeave:y,onLeaveCancelled:M,onBeforeAppear:A=W,onAppear:F=V,onAppearCancelled:$=p}=t,I=(T,G,ne)=>{ot(T,G?f:l),ot(T,G?a:i),ne&&ne()},w=(T,G)=>{T._isLeaving=!1,ot(T,h),ot(T,_),ot(T,m),G&&G()},N=T=>(G,ne)=>{const ce=T?F:V,D=()=>I(G,T,ne);st(ce,[G,D]),As(()=>{ot(G,T?c:o),Ke(G,T?f:l),Ts(ce)||Rs(G,r,L,D)})};return le(t,{onBeforeEnter(T){st(W,[T]),Ke(T,o),Ke(T,i)},onBeforeAppear(T){st(A,[T]),Ke(T,c),Ke(T,a)},onEnter:N(!1),onAppear:N(!0),onLeave(T,G){T._isLeaving=!0;const ne=()=>w(T,G);Ke(T,h),Ke(T,m),Uc(),As(()=>{T._isLeaving&&(ot(T,h),Ke(T,_),Ts(y)||Rs(T,r,k,ne))}),st(y,[T,ne])},onEnterCancelled(T){I(T,!1),st(p,[T])},onAppearCancelled(T){I(T,!0),st($,[T])},onLeaveCancelled(T){w(T),st(M,[T])}})}function jc(e){if(e==null)return null;if(Z(e))return[Xn(e.enter),Xn(e.leave)];{const t=Xn(e);return[t,t]}}function Xn(e){return $i(e)}function Ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ut]||(e[Ut]=new Set)).add(t)}function ot(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ut];n&&(n.delete(t),n.size||(e[Ut]=void 0))}function As(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Vc=0;function Rs(e,t,n,r){const s=e._endId=++Vc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Dc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,m),o()},m=_=>{_.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[C]||"").split(", "),s=r(`${ke}Delay`),o=r(`${ke}Duration`),i=Os(s,o),l=r(`${Tt}Delay`),c=r(`${Tt}Duration`),a=Os(l,c);let f=null,h=0,m=0;t===ke?i>0&&(f=ke,h=i,m=o.length):t===Tt?a>0&&(f=Tt,h=a,m=c.length):(h=Math.max(i,a),f=h>0?i>a?ke:Tt:null,m=f?f===ke?o.length:c.length:0);const _=f===ke&&/\b(transform|all)(,|$)/.test(r(`${ke}Property`).toString());return{type:f,timeout:h,propCount:m,hasTransform:_}}function Os(e,t){for(;e.lengthLs(n)+Ls(e[r])))}function Ls(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Uc(){return document.body.offsetHeight}function Bc(e,t,n){const r=e[Ut];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Is=Symbol("_vod"),kc=Symbol("_vsh"),Kc=Symbol(""),Wc=/(^|;)\s*display\s*:/;function qc(e,t,n){const r=e.style,s=oe(n);let o=!1;if(n&&!s){if(t)if(oe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&pn(r,l,"")}else for(const i in t)n[i]==null&&pn(r,i,"");for(const i in n)i==="display"&&(o=!0),pn(r,i,n[i])}else if(s){if(t!==n){const i=r[Kc];i&&(n+=";"+i),r.cssText=n,o=Wc.test(n)}}else t&&e.removeAttribute("style");Is in e&&(e[Is]=o?r.display:"",e[kc]&&(r.display="none"))}const Ms=/\s*!important$/;function pn(e,t,n){if(B(n))n.forEach(r=>pn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Gc(e,t);Ms.test(n)?e.setProperty(ft(r),n.replace(Ms,""),"important"):e[r]=n}}const Ps=["Webkit","Moz","ms"],Yn={};function Gc(e,t){const n=Yn[t];if(n)return n;let r=$e(t);if(r!=="filter"&&r in e)return Yn[t]=r;r=An(r);for(let s=0;sJn||(Qc.then(()=>Jn=0),Jn=Date.now());function ea(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Se(ta(r,n.value),t,5,[r])};return n.value=e,n.attached=Zc(),n}function ta(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 js=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,na=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?Bc(e,r,a):t==="style"?qc(e,n,r):kt(t)?Er(t)||Yc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ra(e,t,r,a))?(zc(e,t,r,o,i,l,c),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fs(e,t,r,a,i,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Fs(e,t,r,a))};function ra(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&js(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return js(t)&&oe(n)?!1:t in e}const Vs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>fn(t,n):t};function sa(e){e.target.composing=!0}function Ds(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qn=Symbol("_assign"),vu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Qn]=Vs(s);const o=r||s.props&&s.props.type==="number";gt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=cr(l)),e[Qn](l)}),n&>(e,"change",()=>{e.value=e.value.trim()}),t||(gt(e,"compositionstart",sa),gt(e,"compositionend",Ds),gt(e,"change",Ds))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[Qn]=Vs(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?cr(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},oa=["ctrl","shift","alt","meta"],ia={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)=>oa.some(n=>e[`${n}Key`]&&!t.includes(n))},bu=(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||la[i]===o))return e(s)})},ui=le({patchProp:na},$c);let Ft,Us=!1;function ca(){return Ft||(Ft=ic(ui))}function aa(){return Ft=Us?Ft:lc(ui),Us=!0,Ft}const Eu=(...e)=>{const t=ca().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=di(r);if(!s)return;const o=t._component;!K(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,fi(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},Cu=(...e)=>{const t=aa().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=di(r);if(s)return n(s,!0,fi(s))},t};function fi(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function di(e){return oe(e)?document.querySelector(e):e}const xu=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Su="/show/wechat.png",Tu="/show/douyin.png",Au="/show/mp.png",Ru="/show/code.png",Ou="/guide/gen-vue.png",Lu="/show/flow.png",Iu="/guide/plugin-install.gif",Mu="/guide/run.png",Pu="/show/admin.png",ua="modulepreload",fa=function(e){return"/"+e},Bs={},Nu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.all(n.map(l=>{if(l=fa(l),l in Bs)return;Bs[l]=!0;const c=l.endsWith(".css"),a=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${a}`))return;const f=document.createElement("link");if(f.rel=c?"stylesheet":ua,c||(f.as="script",f.crossOrigin=""),f.href=l,i&&f.setAttribute("nonce",i),document.head.appendChild(f),c)return new Promise((h,m)=>{f.addEventListener("load",h),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}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})},da=window.__VP_SITE_DATA__;function kr(e){return oo()?(qi(e),!0):!1}function Fe(e){return typeof e=="function"?e():wo(e)}const hi=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ha=Object.prototype.toString,pa=e=>ha.call(e)==="[object Object]",Bt=()=>{},ks=ga();function ga(){var e,t;return hi&&((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 ma(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 pi=e=>e();function ya(e,t={}){let n,r,s=Bt;const o=l=>{clearTimeout(l),s(),s=Bt};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 _a(e=pi){const t=se(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Ln(t),pause:n,resume:r,eventFilter:s}}function va(e){return jn()}function gi(...e){if(e.length!==1)return wl(...e);const t=e[0];return typeof t=="function"?Ln(_l(()=>({get:t,set:Bt}))):se(t)}function mi(e,t,n={}){const{eventFilter:r=pi,...s}=n;return Ne(e,ma(r,t),s)}function ba(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=_a(r);return{stop:mi(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Kr(e,t=!0,n){va()?xt(e,n):t?e():In(e)}function Fu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return mi(e,t,{...o,eventFilter:ya(r,{maxWait:s})})}function $u(e,t,n){let r;de(n)?r={evaluating:n}:r={};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Bt}=r,c=se(!s),a=i?Fr(t):se(t);let f=0;return Ur(async h=>{if(!c.value)return;f++;const m=f;let _=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const C=await e(L=>{h(()=>{o&&(o.value=!1),_||L()})});m===f&&(a.value=C)}catch(C){l(C)}finally{o&&m===f&&(o.value=!1),_=!0}}),s?re(()=>(c.value=!0,a.value)):a}function yi(e){var t;const n=Fe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Oe=hi?window:void 0;function Ct(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Oe):[t,n,r,s]=e,!t)return Bt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,m,_)=>(f.addEventListener(h,m,_),()=>f.removeEventListener(h,m,_)),c=Ne(()=>[yi(t),Fe(s)],([f,h])=>{if(i(),!f)return;const m=pa(h)?{...h}:h;o.push(...n.flatMap(_=>r.map(C=>l(f,_,C,m))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return kr(a),a}function wa(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Hu(...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=Oe,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=wa(t);return Ct(s,o,f=>{f.repeat&&Fe(l)||c(f)&&n(f)},i)}function Ea(){const e=se(!1),t=jn();return t&&xt(()=>{e.value=!0},t),e}function Ca(e){const t=Ea();return re(()=>(t.value,!!e()))}function _i(e,t={}){const{window:n=Oe}=t,r=Ca(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=se(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Ur(()=>{r.value&&(l(),s=n.matchMedia(Fe(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return kr(()=>{c(),l(),s=void 0}),o}const ln=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cn="__vueuse_ssr_handlers__",xa=Sa();function Sa(){return cn in ln||(ln[cn]=ln[cn]||{}),ln[cn]}function vi(e,t){return xa[e]||t}function Ta(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 Aa={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()}},Ks="vueuse-storage";function Wr(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=Oe,eventFilter:m,onError:_=w=>{console.error(w)},initOnMounted:C}=r,L=(f?Fr:se)(typeof t=="function"?t():t);if(!n)try{n=vi("getDefaultStorage",()=>{var w;return(w=Oe)==null?void 0:w.localStorage})()}catch(w){_(w)}if(!n)return L;const k=Fe(t),W=Ta(k),V=(s=r.serializer)!=null?s:Aa[W],{pause:p,resume:y}=ba(L,()=>A(L.value),{flush:o,deep:i,eventFilter:m});h&&l&&Kr(()=>{Ct(h,"storage",$),Ct(h,Ks,I),C&&$()}),C||$();function M(w,N){h&&h.dispatchEvent(new CustomEvent(Ks,{detail:{key:e,oldValue:w,newValue:N,storageArea:n}}))}function A(w){try{const N=n.getItem(e);if(w==null)M(N,null),n.removeItem(e);else{const T=V.write(w);N!==T&&(n.setItem(e,T),M(N,T))}}catch(N){_(N)}}function F(w){const N=w?w.newValue:n.getItem(e);if(N==null)return c&&k!=null&&n.setItem(e,V.write(k)),k;if(!w&&a){const T=V.read(N);return typeof a=="function"?a(T,k):W==="object"&&!Array.isArray(T)?{...k,...T}:T}else return typeof N!="string"?N:V.read(N)}function $(w){if(!(w&&w.storageArea!==n)){if(w&&w.key==null){L.value=k;return}if(!(w&&w.key!==e)){p();try{(w==null?void 0:w.newValue)!==V.write(L.value)&&(L.value=F(w))}catch(N){_(N)}finally{w?In(y):y()}}}}function I(w){$(w.detail)}return L}function bi(e){return _i("(prefers-color-scheme: dark)",e)}function Ra(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Oe,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||{}},m=bi({window:s}),_=re(()=>m.value?"dark":"light"),C=c||(i==null?gi(r):Wr(i,r,o,{window:s,listenToStorageChanges:l})),L=re(()=>C.value==="auto"?_.value:C.value),k=vi("updateHTMLAttrs",(y,M,A)=>{const F=typeof y=="string"?s==null?void 0:s.document.querySelector(y):yi(y);if(!F)return;let $;if(f&&($=s.document.createElement("style"),$.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($)),M==="class"){const I=A.split(/\s/g);Object.values(h).flatMap(w=>(w||"").split(/\s/g)).filter(Boolean).forEach(w=>{I.includes(w)?F.classList.add(w):F.classList.remove(w)})}else F.setAttribute(M,A);f&&(s.getComputedStyle($).opacity,document.head.removeChild($))});function W(y){var M;k(t,n,(M=h[y])!=null?M:y)}function V(y){e.onChanged?e.onChanged(y,W):W(y)}Ne(L,V,{flush:"post",immediate:!0}),Kr(()=>V(L.value));const p=re({get(){return a?C.value:L.value},set(y){C.value=y}});try{return Object.assign(p,{store:C,system:_,state:L})}catch{return p}}function Oa(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Oe}=e,s=Ra({...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=re(()=>s.system?s.system.value:bi({window:r}).value?"dark":"light");return re({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function Zn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function ju(e,t,n={}){const{window:r=Oe}=n;return Wr(e,t,r==null?void 0:r.localStorage,n)}function wi(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 er=new WeakMap;function Vu(e,t=!1){const n=se(t);let r=null,s="";Ne(gi(e),l=>{const c=Zn(Fe(l));if(c){const a=c;if(er.get(a)||er.set(a,a.style.overflow),a.style.overflow!=="hidden"&&(s=a.style.overflow),a.style.overflow==="hidden")return n.value=!0;if(n.value)return a.style.overflow="hidden"}},{immediate:!0});const o=()=>{const l=Zn(Fe(e));!l||n.value||(ks&&(r=Ct(l,"touchmove",c=>{La(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{const l=Zn(Fe(e));!l||!n.value||(ks&&(r==null||r()),l.style.overflow=s,er.delete(l),n.value=!1)};return kr(i),re({get(){return n.value},set(l){l?o():i()}})}function Du(e,t,n={}){const{window:r=Oe}=n;return Wr(e,t,r==null?void 0:r.sessionStorage,n)}function Uu(e={}){const{window:t=Oe,behavior:n="auto"}=e;if(!t)return{x:se(0),y:se(0)};const r=se(t.scrollX),s=se(t.scrollY),o=re({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return Ct(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Bu(e={}){const{window:t=Oe,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=se(n),l=se(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(),Kr(c),Ct("resize",c,{passive:!0}),s){const a=_i("(orientation: portrait)");Ne(a,()=>c())}return{width:i,height:l}}var tr={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},nr={};const Ei=/^(?:[a-z]+:|\/\/)/i,Ia="vitepress-theme-appearance",Ma=/#.*$/,Pa=/[?#].*$/,Na=/(?:(^|\/)index)?\.(?:md|html)$/,he=typeof document<"u",Ci={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Fa(e,t,n=!1){if(t===void 0)return!1;if(e=Ws(`/${e}`),n)return new RegExp(t).test(e);if(Ws(t)!==e)return!1;const r=t.match(Ma);return r?(he?location.hash:"")===r[0]:!0}function Ws(e){return decodeURI(e).replace(Pa,"").replace(Na,"$1")}function $a(e){return Ei.test(e)}function Ha(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!$a(n)&&Fa(t,`/${n}/`,!0))||"root"}function ja(e,t){var r,s,o,i,l,c,a;const n=Ha(e,t);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:Si(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function xi(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=Va(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Va(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Da(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 Si(e,t){return[...e.filter(n=>!Da(t,n)),...t]}const Ua=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Ba=/^[a-z]:/i;function qs(e){const t=Ba.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Ua,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const rr=new Set;function ka(e){if(rr.size===0){const n=typeof process=="object"&&(nr==null?void 0:nr.VITE_EXTRA_EXTENSIONS)||(tr==null?void 0:tr.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=>rr.add(r))}const t=e.split(".").pop();return t==null||!rr.has(t.toLowerCase())}function ku(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ka=Symbol(),ut=Fr(da);function Ku(e){const t=re(()=>ja(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?se(!0):n?Oa({storageKey:Ia,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):se(!1),s=se(he?location.hash:"");return he&&window.addEventListener("hashchange",()=>{s.value=location.hash}),Ne(()=>e.data,()=>{s.value=he?location.hash:""}),{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>xi(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:r,hash:re(()=>s.value)}}function Wa(){const e=wt(Ka);if(!e)throw new Error("vitepress data not properly injected in app");return e}function qa(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Gs(e){return Ei.test(e)||!e.startsWith("/")?e:qa(ut.value.base,e)}function Ga(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),he){const n="/";t=qs(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=`./${qs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let gn=[];function Wu(e){gn.push(e),$n(()=>{gn=gn.filter(t=>t!==e)})}function za(){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=zs(e,n);else if(Array.isArray(e))for(const r of e){const s=zs(r,n);if(s){t=s;break}}return t}function zs(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Xa=Symbol(),Ti="http://a.com",Ya=()=>({path:"/",component:null,data:Ci});function qu(e,t){const n=On(Ya()),r={route:n,go:s};async function s(l=he?location.href:"/"){var c,a;l=sr(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(he&&l!==sr(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",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 m;if(await((m=r.onBeforePageLoad)==null?void 0:m.call(r,l))===!1)return;const f=new URL(l,Ti),h=o=f.pathname;try{let _=await e(h);if(!_)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:C,__pageData:L}=_;if(!C)throw new Error(`Invalid route component: ${C}`);n.path=he?h:Gs(h),n.component=dn(C),n.data=dn(L),he&&In(()=>{let k=ut.value.base+L.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!k.endsWith("/")&&(k+=".html"),k!==f.pathname&&(f.pathname=k,l=k+f.search+f.hash,history.replaceState({},"",l)),f.hash&&!c){let W=null;try{W=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(V){console.warn(V)}if(W){Xs(W,f.hash);return}}window.scrollTo(0,c)})}}catch(_){if(!/fetch|Page not found/.test(_.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(_),!a)try{const C=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await C.json(),await i(l,c,!0);return}catch{}if(o===h){o=null,n.path=he?h:Gs(h),n.component=t?dn(t):null;const C=he?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...Ci,relativePath:C}}}}return he&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const a=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(a==null)return;const{href:f,origin:h,pathname:m,hash:_,search:C}=new URL(a,c.baseURI),L=new URL(location.href);h===L.origin&&ka(m)&&(l.preventDefault(),m===L.pathname&&C===L.search?(_!==L.hash&&(history.pushState({},"",f),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:L.href,newURL:f}))),_?Xs(c,_,c.classList.contains("header-anchor")):window.scrollTo(0,0)):s(f))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await i(sr(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 Ja(){const e=wt(Xa);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ai(){return Ja().route}function Xs(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-za()+o;requestAnimationFrame(s)}}function sr(e){const t=new URL(e,Ti);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 or=()=>gn.forEach(e=>e()),Gu=Hr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ai(),{site:n}=Wa();return()=>br(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?br(t.component,{onVnodeMounted:or,onVnodeUpdated:or,onVnodeUnmounted:or}):"404 Page Not Found"])}}),zu=Hr({setup(e,{slots:t}){const n=se(!1);return xt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Xu(){he&&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 Yu(){if(he){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()),Qa(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 Qa(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 Ju(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=ir(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(ir);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)};Ur(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=xi(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):ir(["meta",{name:"description",content:f}]),s(Si(i.head,eu(c)))})}function ir([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 Za(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function eu(e){return e.filter(t=>!Za(t))}const lr=new Set,Ri=()=>document.createElement("link"),tu=e=>{const t=Ri();t.rel="prefetch",t.href=e,document.head.appendChild(t)},nu=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let an;const ru=he&&(an=Ri())&&an.relList&&an.relList.supports&&an.relList.supports("prefetch")?tu:nu;function Qu(){if(!he||!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(!lr.has(c)){lr.add(c);const a=Ga(c);a&&ru(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):lr.add(l))})})};xt(r);const s=Ai();Ne(()=>s.path,r),$n(()=>{n&&n.disconnect()})}export{wu as $,pu as A,Hl as B,za as C,iu as D,au as E,_e as F,Fr as G,Wu as H,ie as I,lu as J,Ei as K,Ai as L,xc as M,wt as N,Bu as O,Sr as P,Hu as Q,In as R,Uu as S,ci as T,he as U,Ln as V,uu as W,Nu as X,Vu as Y,Jl as Z,xu as _,si as a,du as a0,Io as a1,bu as a2,hu as a3,yu as a4,Su as a5,Tu as a6,Au as a7,Ru as a8,Ou as a9,cu as aA,vu as aB,de as aC,gu as aD,dn as aE,Eu as aF,ku as aG,Lu as aa,Iu as ab,Mu as ac,Pu as ad,Ju as ae,Xa as af,Ku as ag,Ka as ah,Gu as ai,zu as aj,ut as ak,Cu as al,qu as am,Ga as an,Qu as ao,Yu as ap,Xu as aq,br as ar,yi as as,kr as at,$u as au,Du as av,ju as aw,Fu as ax,Ja as ay,Ct as az,ti as b,mu as c,Hr as d,_u as e,ka as f,Gs as g,re as h,$a as i,ri as j,wo as k,ou as l,Fa as m,Tr as n,Zo as o,su as p,_i as q,fu as r,se as s,ki as t,Wa as u,Ne as v,Ol as w,Ur as x,xt as y,$n as z}; +**/const Nc="http://www.w3.org/2000/svg",Fc="http://www.w3.org/1998/Math/MathML",Ve=typeof document<"u"?document:null,Ss=Ve&&Ve.createElement("template"),$c={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"?Ve.createElementNS(Nc,e):t==="mathml"?Ve.createElementNS(Fc,e):n?Ve.createElement(e,{is:n}):Ve.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Ve.createTextNode(e),createComment:e=>Ve.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ve.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{Ss.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Ss.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",Tt="animation",Ut=Symbol("_vtc"),ci=(e,{slots:t})=>br(yc,Hc(e),t);ci.displayName="Transition";const ai={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};ci.props=le({},zo,ai);const st=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ts=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function Hc(e){const t={};for(const T in e)T in ai||(t[T]=e[T]);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:m=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,C=jc(s),L=C&&C[0],k=C&&C[1],{onBeforeEnter:W,onEnter:V,onEnterCancelled:p,onLeave:y,onLeaveCancelled:M,onBeforeAppear:A=W,onAppear:F=V,onAppearCancelled:$=p}=t,I=(T,G,ne)=>{ot(T,G?f:l),ot(T,G?a:i),ne&&ne()},w=(T,G)=>{T._isLeaving=!1,ot(T,h),ot(T,_),ot(T,m),G&&G()},N=T=>(G,ne)=>{const ce=T?F:V,D=()=>I(G,T,ne);st(ce,[G,D]),As(()=>{ot(G,T?c:o),Ke(G,T?f:l),Ts(ce)||Rs(G,r,L,D)})};return le(t,{onBeforeEnter(T){st(W,[T]),Ke(T,o),Ke(T,i)},onBeforeAppear(T){st(A,[T]),Ke(T,c),Ke(T,a)},onEnter:N(!1),onAppear:N(!0),onLeave(T,G){T._isLeaving=!0;const ne=()=>w(T,G);Ke(T,h),Ke(T,m),Uc(),As(()=>{T._isLeaving&&(ot(T,h),Ke(T,_),Ts(y)||Rs(T,r,k,ne))}),st(y,[T,ne])},onEnterCancelled(T){I(T,!1),st(p,[T])},onAppearCancelled(T){I(T,!0),st($,[T])},onLeaveCancelled(T){w(T),st(M,[T])}})}function jc(e){if(e==null)return null;if(Z(e))return[Xn(e.enter),Xn(e.leave)];{const t=Xn(e);return[t,t]}}function Xn(e){return $i(e)}function Ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ut]||(e[Ut]=new Set)).add(t)}function ot(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Ut];n&&(n.delete(t),n.size||(e[Ut]=void 0))}function As(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Vc=0;function Rs(e,t,n,r){const s=e._endId=++Vc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=Dc(e,t);if(!i)return r();const a=i+"end";let f=0;const h=()=>{e.removeEventListener(a,m),o()},m=_=>{_.target===e&&++f>=c&&h()};setTimeout(()=>{f(n[C]||"").split(", "),s=r(`${ke}Delay`),o=r(`${ke}Duration`),i=Os(s,o),l=r(`${Tt}Delay`),c=r(`${Tt}Duration`),a=Os(l,c);let f=null,h=0,m=0;t===ke?i>0&&(f=ke,h=i,m=o.length):t===Tt?a>0&&(f=Tt,h=a,m=c.length):(h=Math.max(i,a),f=h>0?i>a?ke:Tt:null,m=f?f===ke?o.length:c.length:0);const _=f===ke&&/\b(transform|all)(,|$)/.test(r(`${ke}Property`).toString());return{type:f,timeout:h,propCount:m,hasTransform:_}}function Os(e,t){for(;e.lengthLs(n)+Ls(e[r])))}function Ls(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Uc(){return document.body.offsetHeight}function Bc(e,t,n){const r=e[Ut];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Is=Symbol("_vod"),kc=Symbol("_vsh"),Kc=Symbol(""),Wc=/(^|;)\s*display\s*:/;function qc(e,t,n){const r=e.style,s=oe(n);let o=!1;if(n&&!s){if(t)if(oe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&pn(r,l,"")}else for(const i in t)n[i]==null&&pn(r,i,"");for(const i in n)i==="display"&&(o=!0),pn(r,i,n[i])}else if(s){if(t!==n){const i=r[Kc];i&&(n+=";"+i),r.cssText=n,o=Wc.test(n)}}else t&&e.removeAttribute("style");Is in e&&(e[Is]=o?r.display:"",e[kc]&&(r.display="none"))}const Ms=/\s*!important$/;function pn(e,t,n){if(B(n))n.forEach(r=>pn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Gc(e,t);Ms.test(n)?e.setProperty(ft(r),n.replace(Ms,""),"important"):e[r]=n}}const Ps=["Webkit","Moz","ms"],Yn={};function Gc(e,t){const n=Yn[t];if(n)return n;let r=$e(t);if(r!=="filter"&&r in e)return Yn[t]=r;r=An(r);for(let s=0;sJn||(Qc.then(()=>Jn=0),Jn=Date.now());function ea(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Se(ta(r,n.value),t,5,[r])};return n.value=e,n.attached=Zc(),n}function ta(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 js=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,na=(e,t,n,r,s,o,i,l,c)=>{const a=s==="svg";t==="class"?Bc(e,r,a):t==="style"?qc(e,n,r):kt(t)?Er(t)||Yc(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ra(e,t,r,a))?(zc(e,t,r,o,i,l,c),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fs(e,t,r,a,i,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Fs(e,t,r,a))};function ra(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&js(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return js(t)&&oe(n)?!1:t in e}const Vs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>fn(t,n):t};function sa(e){e.target.composing=!0}function Ds(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qn=Symbol("_assign"),vu={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Qn]=Vs(s);const o=r||s.props&&s.props.type==="number";gt(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;n&&(l=l.trim()),o&&(l=cr(l)),e[Qn](l)}),n&>(e,"change",()=>{e.value=e.value.trim()}),t||(gt(e,"compositionstart",sa),gt(e,"compositionend",Ds),gt(e,"change",Ds))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[Qn]=Vs(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?cr(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},oa=["ctrl","shift","alt","meta"],ia={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)=>oa.some(n=>e[`${n}Key`]&&!t.includes(n))},bu=(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||la[i]===o))return e(s)})},ui=le({patchProp:na},$c);let Ft,Us=!1;function ca(){return Ft||(Ft=ic(ui))}function aa(){return Ft=Us?Ft:lc(ui),Us=!0,Ft}const Eu=(...e)=>{const t=ca().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=di(r);if(!s)return;const o=t._component;!K(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,fi(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t},Cu=(...e)=>{const t=aa().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=di(r);if(s)return n(s,!0,fi(s))},t};function fi(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function di(e){return oe(e)?document.querySelector(e):e}const xu=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Su="/show/wechat.png",Tu="/show/douyin.png",Au="/show/mp.png",Ru="/show/code.png",Ou="/guide/gen-vue.png",Lu="/show/flow.png",Iu="/guide/plugin-install.gif",Mu="/guide/run.png",Pu="/show/admin.png",ua="modulepreload",fa=function(e){return"/"+e},Bs={},Nu=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),i=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.all(n.map(l=>{if(l=fa(l),l in Bs)return;Bs[l]=!0;const c=l.endsWith(".css"),a=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${a}`))return;const f=document.createElement("link");if(f.rel=c?"stylesheet":ua,c||(f.as="script",f.crossOrigin=""),f.href=l,i&&f.setAttribute("nonce",i),document.head.appendChild(f),c)return new Promise((h,m)=>{f.addEventListener("load",h),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}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})},da=window.__VP_SITE_DATA__;function kr(e){return oo()?(qi(e),!0):!1}function Fe(e){return typeof e=="function"?e():wo(e)}const hi=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ha=Object.prototype.toString,pa=e=>ha.call(e)==="[object Object]",Bt=()=>{},ks=ga();function ga(){var e,t;return hi&&((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 ma(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 pi=e=>e();function ya(e,t={}){let n,r,s=Bt;const o=l=>{clearTimeout(l),s(),s=Bt};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 _a(e=pi){const t=se(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:Ln(t),pause:n,resume:r,eventFilter:s}}function va(e){return jn()}function gi(...e){if(e.length!==1)return wl(...e);const t=e[0];return typeof t=="function"?Ln(_l(()=>({get:t,set:Bt}))):se(t)}function mi(e,t,n={}){const{eventFilter:r=pi,...s}=n;return Ne(e,ma(r,t),s)}function ba(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=_a(r);return{stop:mi(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function Kr(e,t=!0,n){va()?xt(e,n):t?e():In(e)}function Fu(e,t,n={}){const{debounce:r=0,maxWait:s=void 0,...o}=n;return mi(e,t,{...o,eventFilter:ya(r,{maxWait:s})})}function $u(e,t,n){let r;de(n)?r={evaluating:n}:r={};const{lazy:s=!1,evaluating:o=void 0,shallow:i=!0,onError:l=Bt}=r,c=se(!s),a=i?Fr(t):se(t);let f=0;return Ur(async h=>{if(!c.value)return;f++;const m=f;let _=!1;o&&Promise.resolve().then(()=>{o.value=!0});try{const C=await e(L=>{h(()=>{o&&(o.value=!1),_||L()})});m===f&&(a.value=C)}catch(C){l(C)}finally{o&&m===f&&(o.value=!1),_=!0}}),s?re(()=>(c.value=!0,a.value)):a}function yi(e){var t;const n=Fe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Oe=hi?window:void 0;function Ct(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Oe):[t,n,r,s]=e,!t)return Bt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(f=>f()),o.length=0},l=(f,h,m,_)=>(f.addEventListener(h,m,_),()=>f.removeEventListener(h,m,_)),c=Ne(()=>[yi(t),Fe(s)],([f,h])=>{if(i(),!f)return;const m=pa(h)?{...h}:h;o.push(...n.flatMap(_=>r.map(C=>l(f,_,C,m))))},{immediate:!0,flush:"post"}),a=()=>{c(),i()};return kr(a),a}function wa(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function Hu(...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=Oe,eventName:o="keydown",passive:i=!1,dedupe:l=!1}=r,c=wa(t);return Ct(s,o,f=>{f.repeat&&Fe(l)||c(f)&&n(f)},i)}function Ea(){const e=se(!1),t=jn();return t&&xt(()=>{e.value=!0},t),e}function Ca(e){const t=Ea();return re(()=>(t.value,!!e()))}function _i(e,t={}){const{window:n=Oe}=t,r=Ca(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=se(!1),i=a=>{o.value=a.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=Ur(()=>{r.value&&(l(),s=n.matchMedia(Fe(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return kr(()=>{c(),l(),s=void 0}),o}const ln=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cn="__vueuse_ssr_handlers__",xa=Sa();function Sa(){return cn in ln||(ln[cn]=ln[cn]||{}),ln[cn]}function vi(e,t){return xa[e]||t}function Ta(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 Aa={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()}},Ks="vueuse-storage";function Wr(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=Oe,eventFilter:m,onError:_=w=>{console.error(w)},initOnMounted:C}=r,L=(f?Fr:se)(typeof t=="function"?t():t);if(!n)try{n=vi("getDefaultStorage",()=>{var w;return(w=Oe)==null?void 0:w.localStorage})()}catch(w){_(w)}if(!n)return L;const k=Fe(t),W=Ta(k),V=(s=r.serializer)!=null?s:Aa[W],{pause:p,resume:y}=ba(L,()=>A(L.value),{flush:o,deep:i,eventFilter:m});h&&l&&Kr(()=>{Ct(h,"storage",$),Ct(h,Ks,I),C&&$()}),C||$();function M(w,N){h&&h.dispatchEvent(new CustomEvent(Ks,{detail:{key:e,oldValue:w,newValue:N,storageArea:n}}))}function A(w){try{const N=n.getItem(e);if(w==null)M(N,null),n.removeItem(e);else{const T=V.write(w);N!==T&&(n.setItem(e,T),M(N,T))}}catch(N){_(N)}}function F(w){const N=w?w.newValue:n.getItem(e);if(N==null)return c&&k!=null&&n.setItem(e,V.write(k)),k;if(!w&&a){const T=V.read(N);return typeof a=="function"?a(T,k):W==="object"&&!Array.isArray(T)?{...k,...T}:T}else return typeof N!="string"?N:V.read(N)}function $(w){if(!(w&&w.storageArea!==n)){if(w&&w.key==null){L.value=k;return}if(!(w&&w.key!==e)){p();try{(w==null?void 0:w.newValue)!==V.write(L.value)&&(L.value=F(w))}catch(N){_(N)}finally{w?In(y):y()}}}}function I(w){$(w.detail)}return L}function bi(e){return _i("(prefers-color-scheme: dark)",e)}function Ra(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Oe,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||{}},m=bi({window:s}),_=re(()=>m.value?"dark":"light"),C=c||(i==null?gi(r):Wr(i,r,o,{window:s,listenToStorageChanges:l})),L=re(()=>C.value==="auto"?_.value:C.value),k=vi("updateHTMLAttrs",(y,M,A)=>{const F=typeof y=="string"?s==null?void 0:s.document.querySelector(y):yi(y);if(!F)return;let $;if(f&&($=s.document.createElement("style"),$.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($)),M==="class"){const I=A.split(/\s/g);Object.values(h).flatMap(w=>(w||"").split(/\s/g)).filter(Boolean).forEach(w=>{I.includes(w)?F.classList.add(w):F.classList.remove(w)})}else F.setAttribute(M,A);f&&(s.getComputedStyle($).opacity,document.head.removeChild($))});function W(y){var M;k(t,n,(M=h[y])!=null?M:y)}function V(y){e.onChanged?e.onChanged(y,W):W(y)}Ne(L,V,{flush:"post",immediate:!0}),Kr(()=>V(L.value));const p=re({get(){return a?C.value:L.value},set(y){C.value=y}});try{return Object.assign(p,{store:C,system:_,state:L})}catch{return p}}function Oa(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Oe}=e,s=Ra({...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=re(()=>s.system?s.system.value:bi({window:r}).value?"dark":"light");return re({get(){return s.value==="dark"},set(l){const c=l?"dark":"light";o.value===c?s.value="auto":s.value=c}})}function Zn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function ju(e,t,n={}){const{window:r=Oe}=n;return Wr(e,t,r==null?void 0:r.localStorage,n)}function wi(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 er=new WeakMap;function Vu(e,t=!1){const n=se(t);let r=null,s="";Ne(gi(e),l=>{const c=Zn(Fe(l));if(c){const a=c;if(er.get(a)||er.set(a,a.style.overflow),a.style.overflow!=="hidden"&&(s=a.style.overflow),a.style.overflow==="hidden")return n.value=!0;if(n.value)return a.style.overflow="hidden"}},{immediate:!0});const o=()=>{const l=Zn(Fe(e));!l||n.value||(ks&&(r=Ct(l,"touchmove",c=>{La(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{const l=Zn(Fe(e));!l||!n.value||(ks&&(r==null||r()),l.style.overflow=s,er.delete(l),n.value=!1)};return kr(i),re({get(){return n.value},set(l){l?o():i()}})}function Du(e,t,n={}){const{window:r=Oe}=n;return Wr(e,t,r==null?void 0:r.sessionStorage,n)}function Uu(e={}){const{window:t=Oe,behavior:n="auto"}=e;if(!t)return{x:se(0),y:se(0)};const r=se(t.scrollX),s=se(t.scrollY),o=re({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=re({get(){return s.value},set(l){scrollTo({top:l,behavior:n})}});return Ct(t,"scroll",()=>{r.value=t.scrollX,s.value=t.scrollY},{capture:!1,passive:!0}),{x:o,y:i}}function Bu(e={}){const{window:t=Oe,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,i=se(n),l=se(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(),Kr(c),Ct("resize",c,{passive:!0}),s){const a=_i("(orientation: portrait)");Ne(a,()=>c())}return{width:i,height:l}}var tr={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1},nr={};const Ei=/^(?:[a-z]+:|\/\/)/i,Ia="vitepress-theme-appearance",Ma=/#.*$/,Pa=/[?#].*$/,Na=/(?:(^|\/)index)?\.(?:md|html)$/,he=typeof document<"u",Ci={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Fa(e,t,n=!1){if(t===void 0)return!1;if(e=Ws(`/${e}`),n)return new RegExp(t).test(e);if(Ws(t)!==e)return!1;const r=t.match(Ma);return r?(he?location.hash:"")===r[0]:!0}function Ws(e){return decodeURI(e).replace(Pa,"").replace(Na,"$1")}function $a(e){return Ei.test(e)}function Ha(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!$a(n)&&Fa(t,`/${n}/`,!0))||"root"}function ja(e,t){var r,s,o,i,l,c,a;const n=Ha(e,t);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:Si(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function xi(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=Va(e.title,r);return n===s.slice(3)?n:`${n}${s}`}function Va(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Da(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 Si(e,t){return[...e.filter(n=>!Da(t,n)),...t]}const Ua=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Ba=/^[a-z]:/i;function qs(e){const t=Ba.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Ua,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const rr=new Set;function ka(e){if(rr.size===0){const n=typeof process=="object"&&(nr==null?void 0:nr.VITE_EXTRA_EXTENSIONS)||(tr==null?void 0:tr.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=>rr.add(r))}const t=e.split(".").pop();return t==null||!rr.has(t.toLowerCase())}function ku(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Ka=Symbol(),ut=Fr(da);function Ku(e){const t=re(()=>ja(ut.value,e.data.relativePath)),n=t.value.appearance,r=n==="force-dark"?se(!0):n?Oa({storageKey:Ia,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):se(!1),s=se(he?location.hash:"");return he&&window.addEventListener("hashchange",()=>{s.value=location.hash}),Ne(()=>e.data,()=>{s.value=he?location.hash:""}),{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>xi(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:r,hash:re(()=>s.value)}}function Wa(){const e=wt(Ka);if(!e)throw new Error("vitepress data not properly injected in app");return e}function qa(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Gs(e){return Ei.test(e)||!e.startsWith("/")?e:qa(ut.value.base,e)}function Ga(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),he){const n="/";t=qs(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=`./${qs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let gn=[];function Wu(e){gn.push(e),$n(()=>{gn=gn.filter(t=>t!==e)})}function za(){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=zs(e,n);else if(Array.isArray(e))for(const r of e){const s=zs(r,n);if(s){t=s;break}}return t}function zs(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}const Xa=Symbol(),Ti="http://a.com",Ya=()=>({path:"/",component:null,data:Ci});function qu(e,t){const n=On(Ya()),r={route:n,go:s};async function s(l=he?location.href:"/"){var c,a;l=sr(l),await((c=r.onBeforeRouteChange)==null?void 0:c.call(r,l))!==!1&&(he&&l!==sr(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",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 m;if(await((m=r.onBeforePageLoad)==null?void 0:m.call(r,l))===!1)return;const f=new URL(l,Ti),h=o=f.pathname;try{let _=await e(h);if(!_)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:C,__pageData:L}=_;if(!C)throw new Error(`Invalid route component: ${C}`);n.path=he?h:Gs(h),n.component=dn(C),n.data=dn(L),he&&In(()=>{let k=ut.value.base+L.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!k.endsWith("/")&&(k+=".html"),k!==f.pathname&&(f.pathname=k,l=k+f.search+f.hash,history.replaceState({},"",l)),f.hash&&!c){let W=null;try{W=document.getElementById(decodeURIComponent(f.hash).slice(1))}catch(V){console.warn(V)}if(W){Xs(W,f.hash);return}}window.scrollTo(0,c)})}}catch(_){if(!/fetch|Page not found/.test(_.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(_),!a)try{const C=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await C.json(),await i(l,c,!0);return}catch{}if(o===h){o=null,n.path=he?h:Gs(h),n.component=t?dn(t):null;const C=he?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...Ci,relativePath:C}}}}return he&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const a=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(a==null)return;const{href:f,origin:h,pathname:m,hash:_,search:C}=new URL(a,c.baseURI),L=new URL(location.href);h===L.origin&&ka(m)&&(l.preventDefault(),m===L.pathname&&C===L.search?(_!==L.hash&&(history.pushState({},"",f),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:L.href,newURL:f}))),_?Xs(c,_,c.classList.contains("header-anchor")):window.scrollTo(0,0)):s(f))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await i(sr(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 Ja(){const e=wt(Xa);if(!e)throw new Error("useRouter() is called without provider.");return e}function Ai(){return Ja().route}function Xs(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-za()+o;requestAnimationFrame(s)}}function sr(e){const t=new URL(e,Ti);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 or=()=>gn.forEach(e=>e()),Gu=Hr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Ai(),{site:n}=Wa();return()=>br(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?br(t.component,{onVnodeMounted:or,onVnodeUpdated:or,onVnodeUnmounted:or}):"404 Page Not Found"])}}),zu=Hr({setup(e,{slots:t}){const n=se(!1);return xt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Xu(){he&&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 Yu(){if(he){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()),Qa(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 Qa(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 Ju(e,t){let n=!0,r=[];const s=o=>{if(n){n=!1,o.forEach(l=>{const c=ir(l);for(const a of document.head.children)if(a.isEqualNode(c)){r.push(a);return}});return}const i=o.map(ir);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)};Ur(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[],a=xi(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):ir(["meta",{name:"description",content:f}]),s(Si(i.head,eu(c)))})}function ir([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 Za(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function eu(e){return e.filter(t=>!Za(t))}const lr=new Set,Ri=()=>document.createElement("link"),tu=e=>{const t=Ri();t.rel="prefetch",t.href=e,document.head.appendChild(t)},nu=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let an;const ru=he&&(an=Ri())&&an.relList&&an.relList.supports&&an.relList.supports("prefetch")?tu:nu;function Qu(){if(!he||!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(!lr.has(c)){lr.add(c);const a=Ga(c);a&&ru(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):lr.add(l))})})};xt(r);const s=Ai();Ne(()=>s.path,r),$n(()=>{n&&n.disconnect()})}export{du as $,pu as A,Hl as B,za as C,iu as D,au as E,_e as F,Fr as G,Wu as H,ie as I,Ei as J,lu as K,Ai as L,xc as M,wt as N,Bu as O,Sr as P,Hu as Q,In as R,Uu as S,ci as T,he as U,Ln as V,uu as W,Nu as X,Vu as Y,Jl as Z,xu as _,si as a,wu as a0,Io as a1,bu as a2,hu as a3,On as a4,yu as a5,Su as a6,Tu as a7,Au as a8,Ru as a9,Ct as aA,cu as aB,vu as aC,de as aD,gu as aE,dn as aF,Eu as aG,ku as aH,Ou as aa,Lu as ab,Iu as ac,Mu as ad,Pu as ae,Ju as af,Xa as ag,Ku as ah,Ka as ai,Gu as aj,zu as ak,ut as al,Cu as am,qu as an,Ga as ao,Qu as ap,Yu as aq,Xu as ar,br as as,yi as at,kr as au,$u as av,Du as aw,ju as ax,Fu as ay,Ja as az,ti as b,mu as c,Hr as d,_u as e,ka as f,Gs as g,re as h,$a as i,ri as j,wo as k,ou as l,Fa as m,Tr as n,Zo as o,su as p,_i as q,fu as r,se as s,ki as t,Wa as u,Ne as v,Ol as w,Ur as x,xt as y,$n as z}; diff --git a/.vitepress/dist/assets/chunks/theme.BGRQRpgk.js b/.vitepress/dist/assets/chunks/theme.BGRQRpgk.js new file mode 100644 index 0000000..cd7c37c --- /dev/null +++ b/.vitepress/dist/assets/chunks/theme.BGRQRpgk.js @@ -0,0 +1,4 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.DBG8xJHY.js","assets/chunks/framework.C_oE5szm.js"])))=>i.map(i=>d[i]); +import{d as _,o as s,c,r as l,n as M,a as te,t as C,b as k,w as p,e as h,T as Ae,_ as y,u as Vt,i as wt,f as Tt,g as Be,h as L,j as m,k as i,p as G,l as q,m as le,q as Ee,s as H,v as ee,x as $e,y as oe,z as Oe,A as Fe,B as It,C as Nt,D as ce,F as B,E as R,G as Ze,H as ye,I as b,J as Qe,K as Q,L as pe,M as re,N as Le,O as Et,P as xe,Q as ze,R as et,S as tt,U as Pe,V as zt,W as Ct,X as Ht,Y as ot,Z as nt,$ as Mt,a0 as At,a1 as Bt,a2 as Ot,a3 as Ft,a4 as Dt}from"./framework.C_oE5szm.js";/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var ie=Object.assign||function(o){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{},n=window.Promise||function(P){function w(){}P(w,w)},a=function(P){var w=P.target;if(w===fe){N();return}D.indexOf(w)!==-1&&F({target:w})},r=function(){if(!(Z||!f.original)){var P=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(We-P)>A.scrollOffset&&setTimeout(N,150)}},u=function(P){var w=P.key||P.keyCode;(w==="Escape"||w==="Esc"||w===27)&&N()},d=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=P;if(P.background&&(fe.style.background=P.background),P.container&&P.container instanceof Object&&(w.container=ie({},A.container,P.container)),P.template){var O=ge(P.template)?P.template:document.querySelector(P.template);w.template=O}return A=ie({},A,w),D.forEach(function(j){j.dispatchEvent(de("medium-zoom:update",{detail:{zoom:U}}))}),U},v=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return o(ie({},A,P))},g=function(){for(var P=arguments.length,w=Array(P),O=0;O0?w.reduce(function(T,K){return[].concat(T,Je(K))},[]):D;return j.forEach(function(T){T.classList.remove("medium-zoom-image"),T.dispatchEvent(de("medium-zoom:detach",{detail:{zoom:U}}))}),D=D.filter(function(T){return j.indexOf(T)===-1}),U},$=function(P,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return D.forEach(function(j){j.addEventListener("medium-zoom:"+P,w,O)}),ae.push({type:"medium-zoom:"+P,listener:w,options:O}),U},S=function(P,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return D.forEach(function(j){j.removeEventListener("medium-zoom:"+P,w,O)}),ae=ae.filter(function(j){return!(j.type==="medium-zoom:"+P&&j.listener.toString()===w.toString())}),U},E=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=P.target,O=function(){var T={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},K=void 0,Y=void 0;if(A.container)if(A.container instanceof Object)T=ie({},T,A.container),K=T.width-T.left-T.right-A.margin*2,Y=T.height-T.top-T.bottom-A.margin*2;else{var ue=ge(A.container)?A.container:document.querySelector(A.container),se=ue.getBoundingClientRect(),Ve=se.width,ft=se.height,ht=se.left,_t=se.top;T=ie({},T,{width:Ve,height:ft,left:ht,top:_t})}K=K||T.width-A.margin*2,Y=Y||T.height-A.margin*2;var ve=f.zoomedHd||f.original,gt=Ye(ve)?K:ve.naturalWidth||K,bt=Ye(ve)?Y:ve.naturalHeight||Y,he=ve.getBoundingClientRect(),kt=he.top,$t=he.left,we=he.width,Te=he.height,yt=Math.min(Math.max(we,gt),K)/we,Lt=Math.min(Math.max(Te,bt),Y)/Te,Ie=Math.min(yt,Lt),Pt=(-$t+(K-we)/2+A.margin+T.left)/Ie,St=(-kt+(Y-Te)/2+A.margin+T.top)/Ie,Ke="scale("+Ie+") translate3d("+Pt+"px, "+St+"px, 0)";f.zoomed.style.transform=Ke,f.zoomedHd&&(f.zoomedHd.style.transform=Ke)};return new n(function(j){if(w&&D.indexOf(w)===-1){j(U);return}var T=function Ve(){Z=!1,f.zoomed.removeEventListener("transitionend",Ve),f.original.dispatchEvent(de("medium-zoom:opened",{detail:{zoom:U}})),j(U)};if(f.zoomed){j(U);return}if(w)f.original=w;else if(D.length>0){var K=D;f.original=K[0]}else{j(U);return}if(f.original.dispatchEvent(de("medium-zoom:open",{detail:{zoom:U}})),We=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,Z=!0,f.zoomed=Gt(f.original),document.body.appendChild(fe),A.template){var Y=ge(A.template)?A.template:document.querySelector(A.template);f.template=document.createElement("div"),f.template.appendChild(Y.content.cloneNode(!0)),document.body.appendChild(f.template)}if(f.original.parentElement&&f.original.parentElement.tagName==="PICTURE"&&f.original.currentSrc&&(f.zoomed.src=f.original.currentSrc),document.body.appendChild(f.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),f.original.classList.add("medium-zoom-image--hidden"),f.zoomed.classList.add("medium-zoom-image--opened"),f.zoomed.addEventListener("click",N),f.zoomed.addEventListener("transitionend",T),f.original.getAttribute("data-zoom-src")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("srcset"),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading"),f.zoomedHd.src=f.zoomed.getAttribute("data-zoom-src"),f.zoomedHd.onerror=function(){clearInterval(ue),console.warn("Unable to reach the zoom image target "+f.zoomedHd.src),f.zoomedHd=null,O()};var ue=setInterval(function(){f.zoomedHd.complete&&(clearInterval(ue),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",N),document.body.appendChild(f.zoomedHd),O())},10)}else if(f.original.hasAttribute("srcset")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading");var se=f.zoomedHd.addEventListener("load",function(){f.zoomedHd.removeEventListener("load",se),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",N),document.body.appendChild(f.zoomedHd),O()})}else O()})},N=function(){return new n(function(P){if(Z||!f.original){P(U);return}var w=function O(){f.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(f.zoomed),f.zoomedHd&&document.body.removeChild(f.zoomedHd),document.body.removeChild(fe),f.zoomed.classList.remove("medium-zoom-image--opened"),f.template&&document.body.removeChild(f.template),Z=!1,f.zoomed.removeEventListener("transitionend",O),f.original.dispatchEvent(de("medium-zoom:closed",{detail:{zoom:U}})),f.original=null,f.zoomed=null,f.zoomedHd=null,f.template=null,P(U)};Z=!0,document.body.classList.remove("medium-zoom--opened"),f.zoomed.style.transform="",f.zoomedHd&&(f.zoomedHd.style.transform=""),f.template&&(f.template.style.transition="opacity 150ms",f.template.style.opacity=0),f.original.dispatchEvent(de("medium-zoom:close",{detail:{zoom:U}})),f.zoomed.addEventListener("transitionend",w)})},F=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=P.target;return f.original?N():E({target:w})},z=function(){return A},J=function(){return D},X=function(){return f.original},D=[],ae=[],Z=!1,We=0,A=t,f={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(e)==="[object Object]"?A=e:(e||typeof e=="string")&&g(e),A=ie({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},A);var fe=Ut(A.background);document.addEventListener("click",a),document.addEventListener("keyup",u),document.addEventListener("scroll",r),window.addEventListener("resize",N);var U={open:E,close:N,toggle:F,update:d,clone:v,attach:g,detach:I,on:$,off:S,getOptions:z,getImages:J,getZoomedImage:X};return U};function Rt(o,e){e===void 0&&(e={});var t=e.insertAt;if(!(typeof document>"u")){var n=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",t==="top"&&n.firstChild?n.insertBefore(a,n.firstChild):n.appendChild(a),a.styleSheet?a.styleSheet.cssText=o:a.appendChild(document.createTextNode(o))}}var Wt=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";Rt(Wt);const Kt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(s(),c("span",{class:M(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[te(C(e.text),1)])],2))}}),Yt={key:0,class:"VPBackdrop"},Jt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(s(),k(Ae,{name:"fade"},{default:p(()=>[e.show?(s(),c("div",Yt)):h("",!0)]),_:1}))}}),Xt=y(Jt,[["__scopeId","data-v-ee4f8a0b"]]),V=Vt;function Zt(o,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(o,e):(o(),(n=!0)&&setTimeout(()=>n=!1,e))}}function Ce(o){return/^\//.test(o)?o:`/${o}`}function De(o){const{pathname:e,search:t,hash:n,protocol:a}=new URL(o,"http://a.com");if(wt(o)||o.startsWith("#")||!a.startsWith("http")||!Tt(e))return o;const{site:r}=V(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${n}`);return Be(u)}function me({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:n,theme:a,hash:r}=V(),u=L(()=>{var v,g;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:((g=e.value.locales[t.value])==null?void 0:g.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:L(()=>Object.entries(e.value.locales).flatMap(([v,g])=>u.value.label===g.label?[]:{text:g.label,link:Qt(g.link||(v==="root"?"/":`/${v}/`),a.value.i18nRouting!==!1&&o,n.value.relativePath.slice(u.value.link.length-1),!e.value.cleanUrls)+r.value})),currentLang:u}}function Qt(o,e,t,n){return e?o.replace(/\/$/,"")+Ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):o}const xt=o=>(G("data-v-25b3c91b"),o=o(),q(),o),eo={class:"NotFound"},to={class:"code"},oo={class:"title"},no=xt(()=>m("div",{class:"divider"},null,-1)),ao={class:"quote"},so={class:"action"},ro=["href","aria-label"],io=_({__name:"NotFound",setup(o){const{theme:e}=V(),{currentLang:t}=me();return(n,a)=>{var r,u,d,v,g;return s(),c("div",eo,[m("p",to,C(((r=i(e).notFound)==null?void 0:r.code)??"404"),1),m("h1",oo,C(((u=i(e).notFound)==null?void 0:u.title)??"PAGE NOT FOUND"),1),no,m("blockquote",ao,C(((d=i(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),m("div",so,[m("a",{class:"link",href:i(Be)(i(t).link),"aria-label":((v=i(e).notFound)==null?void 0:v.linkLabel)??"go to home"},C(((g=i(e).notFound)==null?void 0:g.linkText)??"Take me home"),9,ro)])])}}}),lo=y(io,[["__scopeId","data-v-25b3c91b"]]);function at(o,e){if(Array.isArray(o))return be(o);if(o==null)return[];e=Ce(e);const t=Object.keys(o).sort((a,r)=>r.split("/").length-a.split("/").length).find(a=>e.startsWith(Ce(a))),n=t?o[t]:[];return Array.isArray(n)?be(n):be(n.items,n.base)}function co(o){const e=[];let t=0;for(const n in o){const a=o[n];if(a.items){t=e.push(a);continue}e[t]||e.push({items:[]}),e[t].items.push(a)}return e}function uo(o){const e=[];function t(n){for(const a of n)a.text&&a.link&&e.push({text:a.text,link:a.link,docFooterText:a.docFooterText}),a.items&&t(a.items)}return t(o),e}function He(o,e){return Array.isArray(e)?e.some(t=>He(o,t)):le(o,e.link)?!0:e.items?He(o,e.items):!1}function be(o,e){return[...o].map(t=>{const n={...t},a=n.base||e;return a&&n.link&&(n.link=a+n.link),n.items&&(n.items=be(n.items,a)),n})}function ne(){const{frontmatter:o,page:e,theme:t}=V(),n=Ee("(min-width: 960px)"),a=H(!1),r=L(()=>{const F=t.value.sidebar,z=e.value.relativePath;return F?at(F,z):[]}),u=H(r.value);ee(r,(F,z)=>{JSON.stringify(F)!==JSON.stringify(z)&&(u.value=r.value)});const d=L(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),v=L(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=L(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),I=L(()=>d.value&&n.value),$=L(()=>d.value?co(u.value):[]);function S(){a.value=!0}function E(){a.value=!1}function N(){a.value?E():S()}return{isOpen:a,sidebar:u,sidebarGroups:$,hasSidebar:d,hasAside:g,leftAside:v,isSidebarEnabled:I,open:S,close:E,toggle:N}}function vo(o,e){let t;$e(()=>{t=o.value?document.activeElement:void 0}),oe(()=>{window.addEventListener("keyup",n)}),Oe(()=>{window.removeEventListener("keyup",n)});function n(a){a.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function po(o){const{page:e,hash:t}=V(),n=H(!1),a=L(()=>o.value.collapsed!=null),r=L(()=>!!o.value.link),u=H(!1),d=()=>{u.value=le(e.value.relativePath,o.value.link)};ee([e,o,t],d),oe(d);const v=L(()=>u.value?!0:o.value.items?He(e.value.relativePath,o.value.items):!1),g=L(()=>!!(o.value.items&&o.value.items.length));$e(()=>{n.value=!!(a.value&&o.value.collapsed)}),Fe(()=>{(u.value||v.value)&&(n.value=!1)});function I(){a.value&&(n.value=!n.value)}return{collapsed:n,collapsible:a,isLink:r,isActiveLink:u,hasActiveLink:v,hasChildren:g,toggle:I}}function mo(){const{hasSidebar:o}=ne(),e=Ee("(min-width: 960px)"),t=Ee("(min-width: 1280px)");return{isAsideEnabled:L(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const Me=[];function st(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function je(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{element:t,title:fo(t),link:"#"+t.id,level:n}});return ho(e,o)}function fo(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 ho(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,a]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(u=>u.level>=n&&u.level<=a),Me.length=0;for(const{element:u,link:d}of o)Me.push({element:u,link:d});const r=[];e:for(let u=0;u=0;v--){const g=o[v];if(g.level{requestAnimationFrame(r),window.addEventListener("scroll",n)}),It(()=>{u(location.hash)}),Oe(()=>{window.removeEventListener("scroll",n)});function r(){if(!t.value)return;const d=window.scrollY,v=window.innerHeight,g=document.body.offsetHeight,I=Math.abs(d+v-g)<1,$=Me.map(({element:E,link:N})=>({link:N,top:go(E)})).filter(({top:E})=>!Number.isNaN(E)).sort((E,N)=>E.top-N.top);if(!$.length){u(null);return}if(d<1){u(null);return}if(I){u($[$.length-1].link);return}let S=null;for(const{link:E,top:N}of $){if(N>d+Nt()+4)break;S=E}u(S)}function u(d){a&&a.classList.remove("active"),d==null?a=null:a=o.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const v=a;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function go(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const bo=["href","title"],ko=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const n=t.href.split("#")[1],a=document.getElementById(decodeURIComponent(n));a==null||a.focus({preventScroll:!0})}return(t,n)=>{const a=ce("VPDocOutlineItem",!0);return s(),c("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(s(!0),c(B,null,R(t.headers,({children:r,link:u,title:d})=>(s(),c("li",null,[m("a",{class:"outline-link",href:u,onClick:e,title:d},C(d),9,bo),r!=null&&r.length?(s(),k(a,{key:0,headers:r},null,8,["headers"])):h("",!0)]))),256))],2)}}}),rt=y(ko,[["__scopeId","data-v-a53304d2"]]),$o={class:"content"},yo={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Lo=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=V(),n=Ze([]);ye(()=>{n.value=je(e.value.outline??t.value.outline)});const a=H(),r=H();return _o(a,r),(u,d)=>(s(),c("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:a},[m("div",$o,[m("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),m("div",yo,C(i(st)(i(t))),1),b(rt,{headers:n.value,root:!0},null,8,["headers"])])],2))}}),Po=y(Lo,[["__scopeId","data-v-e9242aa7"]]),So={class:"VPDocAsideCarbonAds"},Vo=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,n)=>(s(),c("div",So,[b(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),wo=o=>(G("data-v-4ef74901"),o=o(),q(),o),To={class:"VPDocAside"},Io=wo(()=>m("div",{class:"spacer"},null,-1)),No=_({__name:"VPDocAside",setup(o){const{theme:e}=V();return(t,n)=>(s(),c("div",To,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),b(Po),l(t.$slots,"aside-outline-after",{},void 0,!0),Io,l(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(s(),k(Vo,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):h("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Eo=y(No,[["__scopeId","data-v-4ef74901"]]);function zo(){const{theme:o,page:e}=V();return L(()=>{const{text:t="Edit this page",pattern:n=""}=o.value.editLink||{};let a;return typeof n=="function"?a=n(e.value):a=n.replace(/:path/g,e.value.filePath),{url:a,text:t}})}function Co(){const{page:o,theme:e,frontmatter:t}=V();return L(()=>{var g,I,$,S,E,N,F,z;const n=at(e.value.sidebar,o.value.relativePath),a=uo(n),r=Ho(a,J=>J.link.replace(/[?#].*$/,"")),u=r.findIndex(J=>le(o.value.relativePath,J.link)),d=((g=e.value.docFooter)==null?void 0:g.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((I=e.value.docFooter)==null?void 0:I.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??(($=r[u-1])==null?void 0:$.docFooterText)??((S=r[u-1])==null?void 0:S.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((E=r[u-1])==null?void 0:E.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((N=r[u+1])==null?void 0:N.docFooterText)??((F=r[u+1])==null?void 0:F.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((z=r[u+1])==null?void 0:z.link)}}})}function Ho(o,e){const t=new Set;return o.filter(n=>{const a=e(n);return t.has(a)?!1:t.add(a)})}const x=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=L(()=>e.tag??(e.href?"a":"span")),n=L(()=>e.href&&Qe.test(e.href)||e.target==="_blank");return(a,r)=>(s(),k(Q(t.value),{class:M(["VPLink",{link:a.href,"vp-external-link-icon":n.value,"no-icon":a.noIcon}]),href:a.href?i(De)(a.href):void 0,target:a.target??(n.value?"_blank":void 0),rel:a.rel??(n.value?"noreferrer":void 0)},{default:p(()=>[l(a.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Mo={class:"VPLastUpdated"},Ao=["datetime"],Bo=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:n}=V(),a=L(()=>new Date(t.value.lastUpdated)),r=L(()=>a.value.toISOString()),u=H("");return oe(()=>{$e(()=>{var d,v,g;u.value=new Intl.DateTimeFormat((v=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&v.forceLocale?n.value:void 0,((g=e.value.lastUpdated)==null?void 0:g.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(a.value)})}),(d,v)=>{var g;return s(),c("p",Mo,[te(C(((g=i(e).lastUpdated)==null?void 0:g.text)||i(e).lastUpdatedText||"Last updated")+": ",1),m("time",{datetime:r.value},C(u.value),9,Ao)])}}}),Oo=y(Bo,[["__scopeId","data-v-4e3c18a4"]]),it=o=>(G("data-v-34368ad2"),o=o(),q(),o),Fo={key:0,class:"VPDocFooter"},Do={key:0,class:"edit-info"},jo={key:0,class:"edit-link"},Uo=it(()=>m("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Go={key:1,class:"last-updated"},qo={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Ro=it(()=>m("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),Wo={class:"pager"},Ko=["innerHTML"],Yo=["innerHTML"],Jo={class:"pager"},Xo=["innerHTML"],Zo=["innerHTML"],Qo=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:n}=V(),a=zo(),r=Co(),u=L(()=>e.value.editLink&&n.value.editLink!==!1),d=L(()=>t.value.lastUpdated),v=L(()=>u.value||d.value||r.value.prev||r.value.next);return(g,I)=>{var $,S,E,N;return v.value?(s(),c("footer",Fo,[l(g.$slots,"doc-footer-before",{},void 0,!0),u.value||d.value?(s(),c("div",Do,[u.value?(s(),c("div",jo,[b(x,{class:"edit-link-button",href:i(a).url,"no-icon":!0},{default:p(()=>[Uo,te(" "+C(i(a).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(s(),c("div",Go,[b(Oo)])):h("",!0)])):h("",!0),($=i(r).prev)!=null&&$.link||(S=i(r).next)!=null&&S.link?(s(),c("nav",qo,[Ro,m("div",Wo,[(E=i(r).prev)!=null&&E.link?(s(),k(x,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:p(()=>{var F;return[m("span",{class:"desc",innerHTML:((F=i(e).docFooter)==null?void 0:F.prev)||"Previous page"},null,8,Ko),m("span",{class:"title",innerHTML:i(r).prev.text},null,8,Yo)]}),_:1},8,["href"])):h("",!0)]),m("div",Jo,[(N=i(r).next)!=null&&N.link?(s(),k(x,{key:0,class:"pager-link next",href:i(r).next.link},{default:p(()=>{var F;return[m("span",{class:"desc",innerHTML:((F=i(e).docFooter)==null?void 0:F.next)||"Next page"},null,8,Xo),m("span",{class:"title",innerHTML:i(r).next.text},null,8,Zo)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),xo=y(Qo,[["__scopeId","data-v-34368ad2"]]),en=o=>(G("data-v-b521a168"),o=o(),q(),o),tn={class:"container"},on=en(()=>m("div",{class:"aside-curtain"},null,-1)),nn={class:"aside-container"},an={class:"aside-content"},sn={class:"content"},rn={class:"content-container"},ln={class:"main"},cn=_({__name:"VPDoc",setup(o){const{theme:e}=V(),t=pe(),{hasSidebar:n,hasAside:a,leftAside:r}=ne(),u=L(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,v)=>{const g=ce("Content");return s(),c("div",{class:M(["VPDoc",{"has-sidebar":i(n),"has-aside":i(a)}])},[l(d.$slots,"doc-top",{},void 0,!0),m("div",tn,[i(a)?(s(),c("div",{key:0,class:M(["aside",{"left-aside":i(r)}])},[on,m("div",nn,[m("div",an,[b(Eo,null,{"aside-top":p(()=>[l(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[l(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[l(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[l(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[l(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[l(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),m("div",sn,[m("div",rn,[l(d.$slots,"doc-before",{},void 0,!0),m("main",ln,[b(g,{class:M(["vp-doc",[u.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),b(xo,null,{"doc-footer-before":p(()=>[l(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(d.$slots,"doc-after",{},void 0,!0)])])]),l(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),un=y(cn,[["__scopeId","data-v-b521a168"]]),dn=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=L(()=>e.href&&Qe.test(e.href)),n=L(()=>e.tag||e.href?"a":"button");return(a,r)=>(s(),k(Q(n.value),{class:M(["VPButton",[a.size,a.theme]]),href:a.href?i(De)(a.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:p(()=>[te(C(a.text),1)]),_:1},8,["class","href","target","rel"]))}}),vn=y(dn,[["__scopeId","data-v-89174608"]]),pn=["src","alt"],mn=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const n=ce("VPImage",!0);return e.image?(s(),c(B,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),c("img",re({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(Be)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,pn)):(s(),c(B,{key:1},[b(n,re({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),b(n,re({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),ke=y(mn,[["__scopeId","data-v-13e6cd18"]]),fn=o=>(G("data-v-0661e2e5"),o=o(),q(),o),hn={class:"container"},_n={class:"main"},gn={key:0,class:"name"},bn=["innerHTML"],kn=["innerHTML"],$n=["innerHTML"],yn={key:0,class:"actions"},Ln={key:0,class:"image"},Pn={class:"image-container"},Sn=fn(()=>m("div",{class:"image-bg"},null,-1)),Vn=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=Le("hero-image-slot-exists");return(t,n)=>(s(),c("div",{class:M(["VPHero",{"has-image":t.image||i(e)}])},[m("div",hn,[m("div",_n,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(s(),c("h1",gn,[m("span",{innerHTML:t.name,class:"clip"},null,8,bn)])):h("",!0),t.text?(s(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,kn)):h("",!0),t.tagline?(s(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,$n)):h("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(s(),c("div",yn,[(s(!0),c(B,null,R(t.actions,a=>(s(),c("div",{key:a.link,class:"action"},[b(vn,{tag:"a",size:"medium",theme:a.theme,text:a.text,href:a.link,target:a.target,rel:a.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(s(),c("div",Ln,[m("div",Pn,[Sn,l(t.$slots,"home-hero-image",{},()=>[t.image?(s(),k(ke,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),wn=y(Vn,[["__scopeId","data-v-0661e2e5"]]),Tn=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=V();return(t,n)=>i(e).hero?(s(),k(wn,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info-before":p(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":p(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":p(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":p(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":p(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),In=o=>(G("data-v-98aa41e6"),o=o(),q(),o),Nn={class:"box"},En={key:0,class:"icon"},zn=["innerHTML"],Cn=["innerHTML"],Hn=["innerHTML"],Mn={key:4,class:"link-text"},An={class:"link-text-value"},Bn=In(()=>m("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),On=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(s(),k(x,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:p(()=>[m("article",Nn,[typeof e.icon=="object"&&e.icon.wrap?(s(),c("div",En,[b(ke,{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"?(s(),k(ke,{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?(s(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,zn)):h("",!0),m("h2",{class:"title",innerHTML:e.title},null,8,Cn),e.details?(s(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Hn)):h("",!0),e.linkText?(s(),c("div",Mn,[m("p",An,[te(C(e.linkText)+" ",1),Bn])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Fn=y(On,[["__scopeId","data-v-98aa41e6"]]),Dn={key:0,class:"VPFeatures"},jn={class:"container"},Un={class:"items"},Gn=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=L(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,a)=>n.features?(s(),c("div",Dn,[m("div",jn,[m("div",Un,[(s(!0),c(B,null,R(n.features,r=>(s(),c("div",{key:r.title,class:M(["item",[t.value]])},[b(Fn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),qn=y(Gn,[["__scopeId","data-v-178d34ad"]]),Rn=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=V();return(t,n)=>i(e).features?(s(),k(qn,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):h("",!0)}}),Wn=_({__name:"VPHomeContent",setup(o){const{width:e}=Et({initialWidth:0,includeScrollbar:!1});return(t,n)=>(s(),c("div",{class:"vp-doc container",style:xe(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),Kn=y(Wn,[["__scopeId","data-v-cfbc1a43"]]),Yn={class:"VPHome"},Jn=_({__name:"VPHome",setup(o){const{frontmatter:e}=V();return(t,n)=>{const a=ce("Content");return s(),c("div",Yn,[l(t.$slots,"home-hero-before",{},void 0,!0),b(Tn,null,{"home-hero-info-before":p(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[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),b(Rn),l(t.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(s(),k(Kn,{key:0},{default:p(()=>[b(a)]),_:1})):(s(),k(a,{key:1}))])}}}),Xn=y(Jn,[["__scopeId","data-v-fd2ffb77"]]),Zn={},Qn={class:"VPPage"};function xn(o,e){const t=ce("Content");return s(),c("div",Qn,[l(o.$slots,"page-top"),b(t),l(o.$slots,"page-bottom")])}const ea=y(Zn,[["render",xn]]),ta=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=V(),{hasSidebar:n}=ne();return(a,r)=>(s(),c("div",{class:M(["VPContent",{"has-sidebar":i(n),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?l(a.$slots,"not-found",{key:0},()=>[b(lo)],!0):i(t).layout==="page"?(s(),k(ea,{key:1},{"page-top":p(()=>[l(a.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[l(a.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(s(),k(Xn,{key:2},{"home-hero-before":p(()=>[l(a.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[l(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[l(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[l(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[l(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[l(a.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[l(a.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[l(a.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[l(a.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(s(),k(Q(i(t).layout),{key:3})):(s(),k(un,{key:4},{"doc-top":p(()=>[l(a.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[l(a.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[l(a.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[l(a.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[l(a.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[l(a.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[l(a.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[l(a.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[l(a.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[l(a.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[l(a.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),oa=y(ta,[["__scopeId","data-v-cb0805a1"]]),na={class:"container"},aa=["innerHTML"],sa=["innerHTML"],ra=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:n}=ne();return(a,r)=>i(e).footer&&i(t).footer!==!1?(s(),c("footer",{key:0,class:M(["VPFooter",{"has-sidebar":i(n)}])},[m("div",na,[i(e).footer.message?(s(),c("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,aa)):h("",!0),i(e).footer.copyright?(s(),c("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,sa)):h("",!0)])],2)):h("",!0)}}),ia=y(ra,[["__scopeId","data-v-c01e8608"]]);function la(){const{theme:o,frontmatter:e}=V(),t=Ze([]),n=L(()=>t.value.length>0);return ye(()=>{t.value=je(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:n}}const ca=o=>(G("data-v-f9d4ca59"),o=o(),q(),o),ua={class:"menu-text"},da=ca(()=>m("span",{class:"vpi-chevron-right icon"},null,-1)),va={class:"header"},pa={class:"outline"},ma=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=V(),n=H(!1),a=H(0),r=H(),u=H();function d($){var S;(S=r.value)!=null&&S.contains($.target)||(n.value=!1)}ee(n,$=>{if($){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ze("Escape",()=>{n.value=!1}),ye(()=>{n.value=!1});function v(){n.value=!n.value,a.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function g($){$.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),et(()=>{n.value=!1}))}function I(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return($,S)=>(s(),c("div",{class:"VPLocalNavOutlineDropdown",style:xe({"--vp-vh":a.value+"px"}),ref_key:"main",ref:r},[$.headers.length>0?(s(),c("button",{key:0,onClick:v,class:M({open:n.value})},[m("span",ua,C(i(st)(i(t))),1),da],2)):(s(),c("button",{key:1,onClick:I},C(i(t).returnToTopLabel||"Return to top"),1)),b(Ae,{name:"flyout"},{default:p(()=>[n.value?(s(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:g},[m("div",va,[m("a",{class:"top-link",href:"#",onClick:I},C(i(t).returnToTopLabel||"Return to top"),1)]),m("div",pa,[b(rt,{headers:$.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),fa=y(ma,[["__scopeId","data-v-f9d4ca59"]]),ha=o=>(G("data-v-4b826de3"),o=o(),q(),o),_a={class:"container"},ga=["aria-expanded"],ba=ha(()=>m("span",{class:"vpi-align-left menu-icon"},null,-1)),ka={class:"menu-text"},$a=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:n}=ne(),{headers:a}=la(),{y:r}=tt(),u=H(0);oe(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ye(()=>{a.value=je(t.value.outline??e.value.outline)});const d=L(()=>a.value.length===0),v=L(()=>d.value&&!n.value),g=L(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:d.value,fixed:v.value}));return(I,$)=>i(t).layout!=="home"&&(!v.value||i(r)>=u.value)?(s(),c("div",{key:0,class:M(g.value)},[m("div",_a,[i(n)?(s(),c("button",{key:0,class:"menu","aria-expanded":I.open,"aria-controls":"VPSidebarNav",onClick:$[0]||($[0]=S=>I.$emit("open-menu"))},[ba,m("span",ka,C(i(e).sidebarMenuLabel||"Menu"),1)],8,ga)):h("",!0),b(fa,{headers:i(a),navHeight:u.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),ya=y($a,[["__scopeId","data-v-4b826de3"]]);function La(){const o=H(!1);function e(){o.value=!0,window.addEventListener("resize",a)}function t(){o.value=!1,window.removeEventListener("resize",a)}function n(){o.value?t():e()}function a(){window.outerWidth>=768&&t()}const r=pe();return ee(()=>r.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:n}}const Pa={},Sa={class:"VPSwitch",type:"button",role:"switch"},Va={class:"check"},wa={key:0,class:"icon"};function Ta(o,e){return s(),c("button",Sa,[m("span",Va,[o.$slots.default?(s(),c("span",wa,[l(o.$slots,"default",{},void 0,!0)])):h("",!0)])])}const Ia=y(Pa,[["render",Ta],["__scopeId","data-v-c5a026db"]]),lt=o=>(G("data-v-5e81030c"),o=o(),q(),o),Na=lt(()=>m("span",{class:"vpi-sun sun"},null,-1)),Ea=lt(()=>m("span",{class:"vpi-moon moon"},null,-1)),za=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=V(),n=Le("toggle-appearance",()=>{e.value=!e.value}),a=H("");return Fe(()=>{a.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(r,u)=>(s(),k(Ia,{title:a.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(n)},{default:p(()=>[Na,Ea]),_:1},8,["title","aria-checked","onClick"]))}}),Ue=y(za,[["__scopeId","data-v-5e81030c"]]),Ca={key:0,class:"VPNavBarAppearance"},Ha=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=V();return(t,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),c("div",Ca,[b(Ue)])):h("",!0)}}),Ma=y(Ha,[["__scopeId","data-v-830f4e0c"]]),Ge=H();let ct=!1,Ne=0;function Aa(o){const e=H(!1);if(Pe){!ct&&Ba(),Ne++;const t=ee(Ge,n=>{var a,r,u;n===o.el.value||(a=o.el.value)!=null&&a.contains(n)?(e.value=!0,(r=o.onFocus)==null||r.call(o)):(e.value=!1,(u=o.onBlur)==null||u.call(o))});Oe(()=>{t(),Ne--,Ne||Oa()})}return zt(e)}function Ba(){document.addEventListener("focusin",ut),ct=!0,Ge.value=document.activeElement}function Oa(){document.removeEventListener("focusin",ut)}function ut(){Ge.value=document.activeElement}const Fa={class:"VPMenuLink"},Da=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,n)=>(s(),c("div",Fa,[b(x,{class:M({active:i(le)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:p(()=>[te(C(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),Se=y(Da,[["__scopeId","data-v-47efe451"]]),ja={class:"VPMenuGroup"},Ua={key:0,class:"title"},Ga=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(s(),c("div",ja,[e.text?(s(),c("p",Ua,C(e.text),1)):h("",!0),(s(!0),c(B,null,R(e.items,n=>(s(),c(B,null,["link"in n?(s(),k(Se,{key:0,item:n},null,8,["item"])):h("",!0)],64))),256))]))}}),qa=y(Ga,[["__scopeId","data-v-dd99de09"]]),Ra={class:"VPMenu"},Wa={key:0,class:"items"},Ka=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(s(),c("div",Ra,[e.items?(s(),c("div",Wa,[(s(!0),c(B,null,R(e.items,n=>(s(),c(B,{key:JSON.stringify(n)},["link"in n?(s(),k(Se,{key:0,item:n},null,8,["item"])):"component"in n?(s(),k(Q(n.component),re({key:1,ref_for:!0},n.props),null,16)):(s(),k(qa,{key:2,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),Ya=y(Ka,[["__scopeId","data-v-0007c525"]]),Ja=o=>(G("data-v-11ef3b07"),o=o(),q(),o),Xa=["aria-expanded","aria-label"],Za={key:0,class:"text"},Qa=["innerHTML"],xa=Ja(()=>m("span",{class:"vpi-chevron-down text-icon"},null,-1)),es={key:1,class:"vpi-more-horizontal icon"},ts={class:"menu"},os=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=H(!1),t=H();Aa({el:t,onBlur:n});function n(){e.value=!1}return(a,r)=>(s(),c("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=u=>e.value=!0),onMouseleave:r[2]||(r[2]=u=>e.value=!1)},[m("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":a.label,onClick:r[0]||(r[0]=u=>e.value=!e.value)},[a.button||a.icon?(s(),c("span",Za,[a.icon?(s(),c("span",{key:0,class:M([a.icon,"option-icon"])},null,2)):h("",!0),a.button?(s(),c("span",{key:1,innerHTML:a.button},null,8,Qa)):h("",!0),xa])):(s(),c("span",es))],8,Xa),m("div",ts,[b(Ya,{items:a.items},{default:p(()=>[l(a.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),qe=y(os,[["__scopeId","data-v-11ef3b07"]]),ns=["href","aria-label","innerHTML"],as=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=L(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,a)=>(s(),c("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,ns))}}),ss=y(as,[["__scopeId","data-v-116c6058"]]),rs={class:"VPSocialLinks"},is=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(s(),c("div",rs,[(s(!0),c(B,null,R(e.links,({link:n,icon:a,ariaLabel:r})=>(s(),k(ss,{key:n,icon:a,link:n,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),Re=y(is,[["__scopeId","data-v-e883f8d0"]]),ls={key:0,class:"group translations"},cs={class:"trans-title"},us={key:1,class:"group"},ds={class:"item appearance"},vs={class:"label"},ps={class:"appearance-action"},ms={key:2,class:"group"},fs={class:"item social-links"},hs=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=V(),{localeLinks:n,currentLang:a}=me({correspondingLink:!0}),r=L(()=>n.value.length&&a.value.label||e.value.appearance||t.value.socialLinks);return(u,d)=>r.value?(s(),k(qe,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[i(n).length&&i(a).label?(s(),c("div",ls,[m("p",cs,C(i(a).label),1),(s(!0),c(B,null,R(i(n),v=>(s(),k(Se,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),c("div",us,[m("div",ds,[m("p",vs,C(i(t).darkModeSwitchLabel||"Appearance"),1),m("div",ps,[b(Ue)])])])):h("",!0),i(t).socialLinks?(s(),c("div",ms,[m("div",fs,[b(Re,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),_s=y(hs,[["__scopeId","data-v-f78a1889"]]),gs=o=>(G("data-v-7ec5116e"),o=o(),q(),o),bs=["aria-expanded"],ks=gs(()=>m("span",{class:"container"},[m("span",{class:"top"}),m("span",{class:"middle"}),m("span",{class:"bottom"})],-1)),$s=[ks],ys=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(s(),c("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},$s,10,bs))}}),Ls=y(ys,[["__scopeId","data-v-7ec5116e"]]),Ps=["innerHTML"],Ss=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,n)=>(s(),k(x,{class:M({VPNavBarMenuLink:!0,active:i(le)(i(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:p(()=>[m("span",{innerHTML:t.item.text},null,8,Ps)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Vs=y(Ss,[["__scopeId","data-v-6589ed1c"]]),ws=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=V(),n=r=>"component"in r?!1:"link"in r?le(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(n),a=L(()=>n(e.item));return(r,u)=>(s(),k(qe,{class:M({VPNavBarMenuGroup:!0,active:i(le)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||a.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),Ts=o=>(G("data-v-46876648"),o=o(),q(),o),Is={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ns=Ts(()=>m("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Es=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=V();return(t,n)=>i(e).nav?(s(),c("nav",Is,[Ns,(s(!0),c(B,null,R(i(e).nav,a=>(s(),c(B,{key:JSON.stringify(a)},["link"in a?(s(),k(Vs,{key:0,item:a},null,8,["item"])):"component"in a?(s(),k(Q(a.component),re({key:1,ref_for:!0},a.props),null,16)):(s(),k(ws,{key:2,item:a},null,8,["item"]))],64))),128))])):h("",!0)}}),zs=y(Es,[["__scopeId","data-v-46876648"]]);function Cs(o){const{localeIndex:e,theme:t}=V();function n(a){var N,F,z;const r=a.split("."),u=(N=t.value.search)==null?void 0:N.options,d=u&&typeof u=="object",v=d&&((z=(F=u.locales)==null?void 0:F[e.value])==null?void 0:z.translations)||null,g=d&&u.translations||null;let I=v,$=g,S=o;const E=r.pop();for(const J of r){let X=null;const D=S==null?void 0:S[J];D&&(X=S=D);const ae=$==null?void 0:$[J];ae&&(X=$=ae);const Z=I==null?void 0:I[J];Z&&(X=I=Z),D||(S=X),ae||($=X),Z||(I=X)}return(I==null?void 0:I[E])??($==null?void 0:$[E])??(S==null?void 0:S[E])??""}return n}const Hs=["aria-label"],Ms={class:"DocSearch-Button-Container"},As=m("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Bs={class:"DocSearch-Button-Placeholder"},Os=m("span",{class:"DocSearch-Button-Keys"},[m("kbd",{class:"DocSearch-Button-Key"}),m("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Xe=_({__name:"VPNavBarSearchButton",setup(o){const t=Cs({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,a)=>(s(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[m("span",Ms,[As,m("span",Bs,C(i(t)("button.buttonText")),1)]),Os],8,Hs))}}),Fs={class:"VPNavBarSearch"},Ds={id:"local-search"},js={key:1,id:"docsearch"},Us=_({__name:"VPNavBarSearch",setup(o){const e=Ct(()=>Ht(()=>import("./VPLocalSearchBox.DBG8xJHY.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:n}=V(),a=H(!1),r=H(!1);oe(()=>{});function u(){a.value||(a.value=!0,setTimeout(d,16))}function d(){const $=new Event("keydown");$.key="k",$.metaKey=!0,window.dispatchEvent($),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function v($){const S=$.target,E=S.tagName;return S.isContentEditable||E==="INPUT"||E==="SELECT"||E==="TEXTAREA"}const g=H(!1);ze("k",$=>{($.ctrlKey||$.metaKey)&&($.preventDefault(),g.value=!0)}),ze("/",$=>{v($)||($.preventDefault(),g.value=!0)});const I="local";return($,S)=>{var E;return s(),c("div",Fs,[i(I)==="local"?(s(),c(B,{key:0},[g.value?(s(),k(i(e),{key:0,onClose:S[0]||(S[0]=N=>g.value=!1)})):h("",!0),m("div",Ds,[b(Xe,{onClick:S[1]||(S[1]=N=>g.value=!0)})])],64)):i(I)==="algolia"?(s(),c(B,{key:1},[a.value?(s(),k(i(t),{key:0,algolia:((E=i(n).search)==null?void 0:E.options)??i(n).algolia,onVnodeBeforeMount:S[2]||(S[2]=N=>r.value=!0)},null,8,["algolia"])):h("",!0),r.value?h("",!0):(s(),c("div",js,[b(Xe,{onClick:u})]))],64)):h("",!0)])}}}),Gs=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=V();return(t,n)=>i(e).socialLinks?(s(),k(Re,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),qs=y(Gs,[["__scopeId","data-v-6a13576c"]]),Rs=["href","rel","target"],Ws={key:1},Ks={key:2},Ys=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=V(),{hasSidebar:n}=ne(),{currentLang:a}=me(),r=L(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),u=L(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),d=L(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,g)=>(s(),c("div",{class:M(["VPNavBarTitle",{"has-sidebar":i(n)}])},[m("a",{class:"title",href:r.value??i(De)(i(a).link),rel:u.value,target:d.value},[l(v.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(s(),k(ke,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):h("",!0),i(t).siteTitle?(s(),c("span",Ws,C(i(t).siteTitle),1)):i(t).siteTitle===void 0?(s(),c("span",Ks,C(i(e).title),1)):h("",!0),l(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,Rs)],2))}}),Js=y(Ys,[["__scopeId","data-v-ff17a4ae"]]),Xs={class:"items"},Zs={class:"title"},Qs=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=V(),{localeLinks:t,currentLang:n}=me({correspondingLink:!0});return(a,r)=>i(t).length&&i(n).label?(s(),k(qe,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:p(()=>[m("div",Xs,[m("p",Zs,C(i(n).label),1),(s(!0),c(B,null,R(i(t),u=>(s(),k(Se,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),xs=y(Qs,[["__scopeId","data-v-540bc5e8"]]),er=o=>(G("data-v-3fed1b83"),o=o(),q(),o),tr={class:"wrapper"},or={class:"container"},nr={class:"title"},ar={class:"content"},sr={class:"content-body"},rr=er(()=>m("div",{class:"divider"},[m("div",{class:"divider-line"})],-1)),ir=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=tt(),{hasSidebar:n}=ne(),{frontmatter:a}=V(),r=H({});return Fe(()=>{r.value={"has-sidebar":n.value,home:a.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(u,d)=>(s(),c("div",{class:M(["VPNavBar",r.value])},[m("div",tr,[m("div",or,[m("div",nr,[b(Js,null,{"nav-bar-title-before":p(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),m("div",ar,[m("div",sr,[l(u.$slots,"nav-bar-content-before",{},void 0,!0),b(Us,{class:"search"}),b(zs,{class:"menu"}),b(xs,{class:"translations"}),b(Ma,{class:"appearance"}),b(qs,{class:"social-links"}),b(_s,{class:"extra"}),l(u.$slots,"nav-bar-content-after",{},void 0,!0),b(Ls,{class:"hamburger",active:u.isScreenOpen,onClick:d[0]||(d[0]=v=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),rr],2))}}),lr=y(ir,[["__scopeId","data-v-3fed1b83"]]),cr={key:0,class:"VPNavScreenAppearance"},ur={class:"text"},dr=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=V();return(n,a)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(s(),c("div",cr,[m("p",ur,C(i(t).darkModeSwitchLabel||"Appearance"),1),b(Ue)])):h("",!0)}}),vr=y(dr,[["__scopeId","data-v-0ceafb5f"]]),pr=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=Le("close-screen");return(t,n)=>(s(),k(x,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),mr=y(pr,[["__scopeId","data-v-8abda8b8"]]),fr=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=Le("close-screen");return(t,n)=>(s(),k(x,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e)},{default:p(()=>[te(C(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),dt=y(fr,[["__scopeId","data-v-ae02dd03"]]),hr={class:"VPNavScreenMenuGroupSection"},_r={key:0,class:"title"},gr=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(s(),c("div",hr,[e.text?(s(),c("p",_r,C(e.text),1)):h("",!0),(s(!0),c(B,null,R(e.items,n=>(s(),k(dt,{key:n.text,item:n},null,8,["item"]))),128))]))}}),br=y(gr,[["__scopeId","data-v-dea7123a"]]),kr=o=>(G("data-v-f76bdb19"),o=o(),q(),o),$r=["aria-controls","aria-expanded"],yr=["innerHTML"],Lr=kr(()=>m("span",{class:"vpi-plus button-icon"},null,-1)),Pr=["id"],Sr={key:0,class:"item"},Vr={key:1,class:"item"},wr={key:2,class:"group"},Tr=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=H(!1),n=L(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function a(){t.value=!t.value}return(r,u)=>(s(),c("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[m("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:a},[m("span",{class:"button-text",innerHTML:r.text},null,8,yr),Lr],8,$r),m("div",{id:n.value,class:"items"},[(s(!0),c(B,null,R(r.items,d=>(s(),c(B,{key:JSON.stringify(d)},["link"in d?(s(),c("div",Sr,[b(dt,{item:d},null,8,["item"])])):"component"in d?(s(),c("div",Vr,[(s(),k(Q(d.component),re({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(s(),c("div",wr,[b(br,{items:d.items},null,8,["items"])]))],64))),128))],8,Pr)],2))}}),Ir=y(Tr,[["__scopeId","data-v-f76bdb19"]]),Nr={key:0,class:"VPNavScreenMenu"},Er=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=V();return(t,n)=>i(e).nav?(s(),c("nav",Nr,[(s(!0),c(B,null,R(i(e).nav,a=>(s(),c(B,{key:JSON.stringify(a)},["link"in a?(s(),k(mr,{key:0,item:a},null,8,["item"])):"component"in a?(s(),k(Q(a.component),re({key:1,ref_for:!0},a.props,{"screen-menu":""}),null,16)):(s(),k(Ir,{key:2,text:a.text||"",items:a.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),zr=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=V();return(t,n)=>i(e).socialLinks?(s(),k(Re,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):h("",!0)}}),vt=o=>(G("data-v-eaa0f43e"),o=o(),q(),o),Cr=vt(()=>m("span",{class:"vpi-languages icon lang"},null,-1)),Hr=vt(()=>m("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Mr={class:"list"},Ar=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=me({correspondingLink:!0}),n=H(!1);function a(){n.value=!n.value}return(r,u)=>i(e).length&&i(t).label?(s(),c("div",{key:0,class:M(["VPNavScreenTranslations",{open:n.value}])},[m("button",{class:"title",onClick:a},[Cr,te(" "+C(i(t).label)+" ",1),Hr]),m("ul",Mr,[(s(!0),c(B,null,R(i(e),d=>(s(),c("li",{key:d.link,class:"item"},[b(x,{class:"link",href:d.link},{default:p(()=>[te(C(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),Br=y(Ar,[["__scopeId","data-v-eaa0f43e"]]),Or={class:"container"},Fr=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=H(null),t=ot(Pe?document.body:null);return(n,a)=>(s(),k(Ae,{name:"fade",onEnter:a[0]||(a[0]=r=>t.value=!0),onAfterLeave:a[1]||(a[1]=r=>t.value=!1)},{default:p(()=>[n.open?(s(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[m("div",Or,[l(n.$slots,"nav-screen-content-before",{},void 0,!0),b(Er,{class:"menu"}),b(Br,{class:"translations"}),b(vr,{class:"appearance"}),b(zr,{class:"social-links"}),l(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),Dr=y(Fr,[["__scopeId","data-v-334bb4cd"]]),jr={key:0,class:"VPNav"},Ur=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=La(),{frontmatter:a}=V(),r=L(()=>a.value.navbar!==!1);return nt("close-screen",t),$e(()=>{Pe&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(u,d)=>r.value?(s(),c("header",jr,[b(lr,{"is-screen-open":i(e),onToggleScreen:i(n)},{"nav-bar-title-before":p(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[l(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[l(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),b(Dr,{open:i(e)},{"nav-screen-content-before":p(()=>[l(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[l(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),Gr=y(Ur,[["__scopeId","data-v-a6f969fc"]]),pt=o=>(G("data-v-a9de9e44"),o=o(),q(),o),qr=["role","tabindex"],Rr=pt(()=>m("div",{class:"indicator"},null,-1)),Wr=pt(()=>m("span",{class:"vpi-chevron-right caret-icon"},null,-1)),Kr=[Wr],Yr={key:1,class:"items"},Jr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:n,isLink:a,isActiveLink:r,hasActiveLink:u,hasChildren:d,toggle:v}=po(L(()=>e.item)),g=L(()=>d.value?"section":"div"),I=L(()=>a.value?"a":"div"),$=L(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),S=L(()=>a.value?void 0:"button"),E=L(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":a.value},{"is-active":r.value},{"has-active":u.value}]);function N(z){"key"in z&&z.key!=="Enter"||!e.item.link&&v()}function F(){e.item.link&&v()}return(z,J)=>{const X=ce("VPSidebarItem",!0);return s(),k(Q(g.value),{class:M(["VPSidebarItem",E.value])},{default:p(()=>[z.item.text?(s(),c("div",re({key:0,class:"item",role:S.value},Mt(z.item.items?{click:N,keydown:N}:{},!0),{tabindex:z.item.items&&0}),[Rr,z.item.link?(s(),k(x,{key:0,tag:I.value,class:"link",href:z.item.link,rel:z.item.rel,target:z.item.target},{default:p(()=>[(s(),k(Q($.value),{class:"text",innerHTML:z.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),k(Q($.value),{key:1,class:"text",innerHTML:z.item.text},null,8,["innerHTML"])),z.item.collapsed!=null&&z.item.items&&z.item.items.length?(s(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:F,onKeydown:At(F,["enter"]),tabindex:"0"},Kr,32)):h("",!0)],16,qr)):h("",!0),z.item.items&&z.item.items.length?(s(),c("div",Yr,[z.depth<5?(s(!0),c(B,{key:0},R(z.item.items,D=>(s(),k(X,{key:D.text,item:D,depth:z.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),Xr=y(Jr,[["__scopeId","data-v-a9de9e44"]]),Zr=_({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=H(!0);let t=null;return oe(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Bt(()=>{t!=null&&(clearTimeout(t),t=null)}),(n,a)=>(s(!0),c(B,null,R(n.items,r=>(s(),c("div",{key:r.text,class:M(["group",{"no-transition":e.value}])},[b(Xr,{item:r,depth:0},null,8,["item"])],2))),128))}}),Qr=y(Zr,[["__scopeId","data-v-9c4bd70d"]]),mt=o=>(G("data-v-e024fac9"),o=o(),q(),o),xr=mt(()=>m("div",{class:"curtain"},null,-1)),ei={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},ti=mt(()=>m("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),oi=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=ne(),n=o,a=H(null),r=ot(Pe?document.body:null);ee([n,a],()=>{var d;n.open?(r.value=!0,(d=a.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"});const u=H(0);return ee(e,()=>{u.value+=1},{deep:!0}),(d,v)=>i(t)?(s(),c("aside",{key:0,class:M(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:a,onClick:v[0]||(v[0]=Ot(()=>{},["stop"]))},[xr,m("nav",ei,[ti,l(d.$slots,"sidebar-nav-before",{},void 0,!0),(s(),k(Qr,{items:i(e),key:u.value},null,8,["items"])),l(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),ni=y(oi,[["__scopeId","data-v-e024fac9"]]),ai=_({__name:"VPSkipLink",setup(o){const e=pe(),t=H();ee(()=>e.path,()=>t.value.focus());function n({target:a}){const r=document.getElementById(decodeURIComponent(a.hash).slice(1));if(r){const u=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",u)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",u),r.focus(),window.scrollTo(0,0)}}return(a,r)=>(s(),c(B,null,[m("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),m("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),si=y(ai,[["__scopeId","data-v-497b75be"]]),ri=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:n}=ne(),a=pe();ee(()=>a.path,n),vo(e,n);const{frontmatter:r}=V(),u=Ft(),d=L(()=>!!u["home-hero-image"]);return nt("hero-image-slot-exists",d),(v,g)=>{const I=ce("Content");return i(r).layout!==!1?(s(),c("div",{key:0,class:M(["Layout",i(r).pageClass])},[l(v.$slots,"layout-top",{},void 0,!0),b(si),b(Xt,{class:"backdrop",show:i(e),onClick:i(n)},null,8,["show","onClick"]),b(Gr,null,{"nav-bar-title-before":p(()=>[l(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[l(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[l(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[l(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[l(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[l(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),b(ya,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),b(ni,{open:i(e)},{"sidebar-nav-before":p(()=>[l(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[l(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),b(oa,null,{"page-top":p(()=>[l(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[l(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[l(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[l(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[l(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[l(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[l(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[l(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[l(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[l(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[l(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[l(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[l(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[l(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[l(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[l(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[l(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[l(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[l(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[l(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[l(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[l(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[l(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),b(ia),l(v.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),k(I,{key:1}))}}}),ii=y(ri,[["__scopeId","data-v-0dd53a6c"]]),li={Layout:ii,enhanceApp:({app:o})=>{o.component("Badge",Kt)}},ci={class:"ad"},ui=["src","onClick"],di={__name:"layout",setup(o){const{Layout:e}=li,t=Dt({list:[],toLink(n){n.link?window.open(n.link):window.open(`https://cool-js.com/ad/${n.id}`)},get(){fetch("https://service.cool-js.com/api/app/info/ad/list",{method:"POST",body:{channel:1}}).then(n=>n.json()).then(n=>{this.list=n.data})}});return oe(()=>{t.get()}),(n,a)=>(s(),k(i(e),null,{"sidebar-nav-before":p(()=>[m("div",ci,[(s(!0),c(B,null,R(t.list,r=>(s(),c("img",{key:r,src:r.pic,onClick:u=>t.toLink(r)},null,8,ui))),128))])]),_:1}))}},vi=y(di,[["__scopeId","data-v-cb2b323a"]]),mi={Layout:vi,setup(){const o=pe(),e=()=>{new qt("[data-zoomable]",{background:"var(--vp-c-bg)"})};oe(()=>{e()}),ee(()=>o.path,()=>et(()=>e()))}};export{mi as R,Cs as c,V as u}; diff --git a/.vitepress/dist/assets/chunks/theme.RzTZTo5D.js b/.vitepress/dist/assets/chunks/theme.RzTZTo5D.js deleted file mode 100644 index 0b5b785..0000000 --- a/.vitepress/dist/assets/chunks/theme.RzTZTo5D.js +++ /dev/null @@ -1,4 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.Lzxu1EgN.js","assets/chunks/framework.DkvLLw5I.js"])))=>i.map(i=>d[i]); -import{d as _,o as s,c as u,r as l,n as M,a as te,t as C,b as k,w as m,e as h,T as Ae,_ as y,u as Vt,i as wt,f as Tt,g as Be,h as L,j as p,k as r,p as G,l as q,m as le,q as Ee,s as H,v as ee,x as $e,y as re,z as Oe,A as Fe,B as It,C as Nt,D as ce,F as B,E as K,G as Ze,H as ye,I as b,J as Q,K as Qe,L as me,M as se,N as Le,O as Et,P as xe,Q as ze,R as et,S as tt,U as Pe,V as zt,W as Ct,X as Ht,Y as ot,Z as nt,$ as Mt,a0 as At,a1 as Bt,a2 as Ot,a3 as Ft}from"./framework.DkvLLw5I.js";const Dt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(s(),u("span",{class:M(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[te(C(e.text),1)])],2))}}),jt={key:0,class:"VPBackdrop"},Ut=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(s(),k(Ae,{name:"fade"},{default:m(()=>[e.show?(s(),u("div",jt)):h("",!0)]),_:1}))}}),Gt=y(Ut,[["__scopeId","data-v-ee4f8a0b"]]),V=Vt;function qt(o,e){let t,a=!1;return()=>{t&&clearTimeout(t),a?t=setTimeout(o,e):(o(),(a=!0)&&setTimeout(()=>a=!1,e))}}function Ce(o){return/^\//.test(o)?o:`/${o}`}function De(o){const{pathname:e,search:t,hash:a,protocol:n}=new URL(o,"http://a.com");if(wt(o)||o.startsWith("#")||!n.startsWith("http")||!Tt(e))return o;const{site:i}=V(),c=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${a}`);return Be(c)}function pe({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:a,theme:n,hash:i}=V(),c=L(()=>{var v,g;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:((g=e.value.locales[t.value])==null?void 0:g.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:L(()=>Object.entries(e.value.locales).flatMap(([v,g])=>c.value.label===g.label?[]:{text:g.label,link:Rt(g.link||(v==="root"?"/":`/${v}/`),n.value.i18nRouting!==!1&&o,a.value.relativePath.slice(c.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:c}}function Rt(o,e,t,a){return e?o.replace(/\/$/,"")+Ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,a?".html":"")):o}const Wt=o=>(G("data-v-25b3c91b"),o=o(),q(),o),Kt={class:"NotFound"},Yt={class:"code"},Jt={class:"title"},Xt=Wt(()=>p("div",{class:"divider"},null,-1)),Zt={class:"quote"},Qt={class:"action"},xt=["href","aria-label"],eo=_({__name:"NotFound",setup(o){const{theme:e}=V(),{currentLang:t}=pe();return(a,n)=>{var i,c,d,v,g;return s(),u("div",Kt,[p("p",Yt,C(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),p("h1",Jt,C(((c=r(e).notFound)==null?void 0:c.title)??"PAGE NOT FOUND"),1),Xt,p("blockquote",Zt,C(((d=r(e).notFound)==null?void 0:d.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",Qt,[p("a",{class:"link",href:r(Be)(r(t).link),"aria-label":((v=r(e).notFound)==null?void 0:v.linkLabel)??"go to home"},C(((g=r(e).notFound)==null?void 0:g.linkText)??"Take me home"),9,xt)])])}}}),to=y(eo,[["__scopeId","data-v-25b3c91b"]]);function at(o,e){if(Array.isArray(o))return ge(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))),a=t?o[t]:[];return Array.isArray(a)?ge(a):ge(a.items,a.base)}function oo(o){const e=[];let t=0;for(const a in o){const n=o[a];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function no(o){const e=[];function t(a){for(const n of a)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 He(o,e){return Array.isArray(e)?e.some(t=>He(o,t)):le(o,e.link)?!0:e.items?He(o,e.items):!1}function ge(o,e){return[...o].map(t=>{const a={...t},n=a.base||e;return n&&a.link&&(a.link=n+a.link),a.items&&(a.items=ge(a.items,n)),a})}function oe(){const{frontmatter:o,page:e,theme:t}=V(),a=Ee("(min-width: 960px)"),n=H(!1),i=L(()=>{const F=t.value.sidebar,z=e.value.relativePath;return F?at(F,z):[]}),c=H(i.value);ee(i,(F,z)=>{JSON.stringify(F)!==JSON.stringify(z)&&(c.value=i.value)});const d=L(()=>o.value.sidebar!==!1&&c.value.length>0&&o.value.layout!=="home"),v=L(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=L(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),I=L(()=>d.value&&a.value),$=L(()=>d.value?oo(c.value):[]);function S(){n.value=!0}function E(){n.value=!1}function N(){n.value?E():S()}return{isOpen:n,sidebar:c,sidebarGroups:$,hasSidebar:d,hasAside:g,leftAside:v,isSidebarEnabled:I,open:S,close:E,toggle:N}}function ao(o,e){let t;$e(()=>{t=o.value?document.activeElement:void 0}),re(()=>{window.addEventListener("keyup",a)}),Oe(()=>{window.removeEventListener("keyup",a)});function a(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function so(o){const{page:e,hash:t}=V(),a=H(!1),n=L(()=>o.value.collapsed!=null),i=L(()=>!!o.value.link),c=H(!1),d=()=>{c.value=le(e.value.relativePath,o.value.link)};ee([e,o,t],d),re(d);const v=L(()=>c.value?!0:o.value.items?He(e.value.relativePath,o.value.items):!1),g=L(()=>!!(o.value.items&&o.value.items.length));$e(()=>{a.value=!!(n.value&&o.value.collapsed)}),Fe(()=>{(c.value||v.value)&&(a.value=!1)});function I(){n.value&&(a.value=!a.value)}return{collapsed:a,collapsible:n,isLink:i,isActiveLink:c,hasActiveLink:v,hasChildren:g,toggle:I}}function ro(){const{hasSidebar:o}=oe(),e=Ee("(min-width: 960px)"),t=Ee("(min-width: 1280px)");return{isAsideEnabled:L(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const Me=[];function st(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function je(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const a=Number(t.tagName[1]);return{element:t,title:io(t),link:"#"+t.id,level:a}});return lo(e,o)}function io(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 lo(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[a,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(c=>c.level>=a&&c.level<=n),Me.length=0;for(const{element:c,link:d}of o)Me.push({element:c,link:d});const i=[];e:for(let c=0;c=0;v--){const g=o[v];if(g.level{requestAnimationFrame(i),window.addEventListener("scroll",a)}),It(()=>{c(location.hash)}),Oe(()=>{window.removeEventListener("scroll",a)});function i(){if(!t.value)return;const d=window.scrollY,v=window.innerHeight,g=document.body.offsetHeight,I=Math.abs(d+v-g)<1,$=Me.map(({element:E,link:N})=>({link:N,top:uo(E)})).filter(({top:E})=>!Number.isNaN(E)).sort((E,N)=>E.top-N.top);if(!$.length){c(null);return}if(d<1){c(null);return}if(I){c($[$.length-1].link);return}let S=null;for(const{link:E,top:N}of $){if(N>d+Nt()+4)break;S=E}c(S)}function c(d){n&&n.classList.remove("active"),d==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(d)}"]`);const v=n;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function uo(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const vo=["href","title"],mo=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const a=t.href.split("#")[1],n=document.getElementById(decodeURIComponent(a));n==null||n.focus({preventScroll:!0})}return(t,a)=>{const n=ce("VPDocOutlineItem",!0);return s(),u("ul",{class:M(["VPDocOutlineItem",t.root?"root":"nested"])},[(s(!0),u(B,null,K(t.headers,({children:i,link:c,title:d})=>(s(),u("li",null,[p("a",{class:"outline-link",href:c,onClick:e,title:d},C(d),9,vo),i!=null&&i.length?(s(),k(n,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),rt=y(mo,[["__scopeId","data-v-a53304d2"]]),po={class:"content"},fo={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},ho=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=V(),a=Ze([]);ye(()=>{a.value=je(e.value.outline??t.value.outline)});const n=H(),i=H();return co(n,i),(c,d)=>(s(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:M(["VPDocAsideOutline",{"has-outline":a.value.length>0}]),ref_key:"container",ref:n},[p("div",po,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",fo,C(r(st)(r(t))),1),b(rt,{headers:a.value,root:!0},null,8,["headers"])])],2))}}),_o=y(ho,[["__scopeId","data-v-e9242aa7"]]),go={class:"VPDocAsideCarbonAds"},bo=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,a)=>(s(),u("div",go,[b(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),ko=o=>(G("data-v-4ef74901"),o=o(),q(),o),$o={class:"VPDocAside"},yo=ko(()=>p("div",{class:"spacer"},null,-1)),Lo=_({__name:"VPDocAside",setup(o){const{theme:e}=V();return(t,a)=>(s(),u("div",$o,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),b(_o),l(t.$slots,"aside-outline-after",{},void 0,!0),yo,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(s(),k(bo,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Po=y(Lo,[["__scopeId","data-v-4ef74901"]]);function So(){const{theme:o,page:e}=V();return L(()=>{const{text:t="Edit this page",pattern:a=""}=o.value.editLink||{};let n;return typeof a=="function"?n=a(e.value):n=a.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Vo(){const{page:o,theme:e,frontmatter:t}=V();return L(()=>{var g,I,$,S,E,N,F,z;const a=at(e.value.sidebar,o.value.relativePath),n=no(a),i=wo(n,J=>J.link.replace(/[?#].*$/,"")),c=i.findIndex(J=>le(o.value.relativePath,J.link)),d=((g=e.value.docFooter)==null?void 0:g.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((I=e.value.docFooter)==null?void 0:I.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??(($=i[c-1])==null?void 0:$.docFooterText)??((S=i[c-1])==null?void 0:S.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((E=i[c-1])==null?void 0:E.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((N=i[c+1])==null?void 0:N.docFooterText)??((F=i[c+1])==null?void 0:F.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((z=i[c+1])==null?void 0:z.link)}}})}function wo(o,e){const t=new Set;return o.filter(a=>{const n=e(a);return t.has(n)?!1:t.add(n)})}const x=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=L(()=>e.tag??(e.href?"a":"span")),a=L(()=>e.href&&Qe.test(e.href)||e.target==="_blank");return(n,i)=>(s(),k(Q(t.value),{class:M(["VPLink",{link:n.href,"vp-external-link-icon":a.value,"no-icon":n.noIcon}]),href:n.href?r(De)(n.href):void 0,target:n.target??(a.value?"_blank":void 0),rel:n.rel??(a.value?"noreferrer":void 0)},{default:m(()=>[l(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),To={class:"VPLastUpdated"},Io=["datetime"],No=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:a}=V(),n=L(()=>new Date(t.value.lastUpdated)),i=L(()=>n.value.toISOString()),c=H("");return re(()=>{$e(()=>{var d,v,g;c.value=new Intl.DateTimeFormat((v=(d=e.value.lastUpdated)==null?void 0:d.formatOptions)!=null&&v.forceLocale?a.value:void 0,((g=e.value.lastUpdated)==null?void 0:g.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(d,v)=>{var g;return s(),u("p",To,[te(C(((g=r(e).lastUpdated)==null?void 0:g.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:i.value},C(c.value),9,Io)])}}}),Eo=y(No,[["__scopeId","data-v-4e3c18a4"]]),it=o=>(G("data-v-34368ad2"),o=o(),q(),o),zo={key:0,class:"VPDocFooter"},Co={key:0,class:"edit-info"},Ho={key:0,class:"edit-link"},Mo=it(()=>p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Ao={key:1,class:"last-updated"},Bo={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Oo=it(()=>p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),Fo={class:"pager"},Do=["innerHTML"],jo=["innerHTML"],Uo={class:"pager"},Go=["innerHTML"],qo=["innerHTML"],Ro=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:a}=V(),n=So(),i=Vo(),c=L(()=>e.value.editLink&&a.value.editLink!==!1),d=L(()=>t.value.lastUpdated),v=L(()=>c.value||d.value||i.value.prev||i.value.next);return(g,I)=>{var $,S,E,N;return v.value?(s(),u("footer",zo,[l(g.$slots,"doc-footer-before",{},void 0,!0),c.value||d.value?(s(),u("div",Co,[c.value?(s(),u("div",Ho,[b(x,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:m(()=>[Mo,te(" "+C(r(n).text),1)]),_:1},8,["href"])])):h("",!0),d.value?(s(),u("div",Ao,[b(Eo)])):h("",!0)])):h("",!0),($=r(i).prev)!=null&&$.link||(S=r(i).next)!=null&&S.link?(s(),u("nav",Bo,[Oo,p("div",Fo,[(E=r(i).prev)!=null&&E.link?(s(),k(x,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:m(()=>{var F;return[p("span",{class:"desc",innerHTML:((F=r(e).docFooter)==null?void 0:F.prev)||"Previous page"},null,8,Do),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,jo)]}),_:1},8,["href"])):h("",!0)]),p("div",Uo,[(N=r(i).next)!=null&&N.link?(s(),k(x,{key:0,class:"pager-link next",href:r(i).next.link},{default:m(()=>{var F;return[p("span",{class:"desc",innerHTML:((F=r(e).docFooter)==null?void 0:F.next)||"Next page"},null,8,Go),p("span",{class:"title",innerHTML:r(i).next.text},null,8,qo)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),Wo=y(Ro,[["__scopeId","data-v-34368ad2"]]),Ko=o=>(G("data-v-b521a168"),o=o(),q(),o),Yo={class:"container"},Jo=Ko(()=>p("div",{class:"aside-curtain"},null,-1)),Xo={class:"aside-container"},Zo={class:"aside-content"},Qo={class:"content"},xo={class:"content-container"},en={class:"main"},tn=_({__name:"VPDoc",setup(o){const{theme:e}=V(),t=me(),{hasSidebar:a,hasAside:n,leftAside:i}=oe(),c=L(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,v)=>{const g=ce("Content");return s(),u("div",{class:M(["VPDoc",{"has-sidebar":r(a),"has-aside":r(n)}])},[l(d.$slots,"doc-top",{},void 0,!0),p("div",Yo,[r(n)?(s(),u("div",{key:0,class:M(["aside",{"left-aside":r(i)}])},[Jo,p("div",Xo,[p("div",Zo,[b(Po,null,{"aside-top":m(()=>[l(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":m(()=>[l(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":m(()=>[l(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":m(()=>[l(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":m(()=>[l(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":m(()=>[l(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",Qo,[p("div",xo,[l(d.$slots,"doc-before",{},void 0,!0),p("main",en,[b(g,{class:M(["vp-doc",[c.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),b(Wo,null,{"doc-footer-before":m(()=>[l(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(d.$slots,"doc-after",{},void 0,!0)])])]),l(d.$slots,"doc-bottom",{},void 0,!0)],2)}}}),on=y(tn,[["__scopeId","data-v-b521a168"]]),nn=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=L(()=>e.href&&Qe.test(e.href)),a=L(()=>e.tag||e.href?"a":"button");return(n,i)=>(s(),k(Q(a.value),{class:M(["VPButton",[n.size,n.theme]]),href:n.href?r(De)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:m(()=>[te(C(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),an=y(nn,[["__scopeId","data-v-89174608"]]),sn=["src","alt"],rn=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const a=ce("VPImage",!0);return e.image?(s(),u(B,{key:0},[typeof e.image=="string"||"src"in e.image?(s(),u("img",se({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(Be)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,sn)):(s(),u(B,{key:1},[b(a,se({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),b(a,se({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),ke=y(rn,[["__scopeId","data-v-13e6cd18"]]),ln=o=>(G("data-v-0661e2e5"),o=o(),q(),o),cn={class:"container"},un={class:"main"},dn={key:0,class:"name"},vn=["innerHTML"],mn=["innerHTML"],pn=["innerHTML"],fn={key:0,class:"actions"},hn={key:0,class:"image"},_n={class:"image-container"},gn=ln(()=>p("div",{class:"image-bg"},null,-1)),bn=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=Le("hero-image-slot-exists");return(t,a)=>(s(),u("div",{class:M(["VPHero",{"has-image":t.image||r(e)}])},[p("div",cn,[p("div",un,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(s(),u("h1",dn,[p("span",{innerHTML:t.name,class:"clip"},null,8,vn)])):h("",!0),t.text?(s(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,mn)):h("",!0),t.tagline?(s(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,pn)):h("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(s(),u("div",fn,[(s(!0),u(B,null,K(t.actions,n=>(s(),u("div",{key:n.link,class:"action"},[b(an,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(s(),u("div",hn,[p("div",_n,[gn,l(t.$slots,"home-hero-image",{},()=>[t.image?(s(),k(ke,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),kn=y(bn,[["__scopeId","data-v-0661e2e5"]]),$n=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=V();return(t,a)=>r(e).hero?(s(),k(kn,{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":m(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":m(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":m(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":m(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":m(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),yn=o=>(G("data-v-98aa41e6"),o=o(),q(),o),Ln={class:"box"},Pn={key:0,class:"icon"},Sn=["innerHTML"],Vn=["innerHTML"],wn=["innerHTML"],Tn={key:4,class:"link-text"},In={class:"link-text-value"},Nn=yn(()=>p("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),En=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(s(),k(x,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:m(()=>[p("article",Ln,[typeof e.icon=="object"&&e.icon.wrap?(s(),u("div",Pn,[b(ke,{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"?(s(),k(ke,{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?(s(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Sn)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,Vn),e.details?(s(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,wn)):h("",!0),e.linkText?(s(),u("div",Tn,[p("p",In,[te(C(e.linkText)+" ",1),Nn])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),zn=y(En,[["__scopeId","data-v-98aa41e6"]]),Cn={key:0,class:"VPFeatures"},Hn={class:"container"},Mn={class:"items"},An=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=L(()=>{const a=e.features.length;if(a){if(a===2)return"grid-2";if(a===3)return"grid-3";if(a%3===0)return"grid-6";if(a>3)return"grid-4"}else return});return(a,n)=>a.features?(s(),u("div",Cn,[p("div",Hn,[p("div",Mn,[(s(!0),u(B,null,K(a.features,i=>(s(),u("div",{key:i.title,class:M(["item",[t.value]])},[b(zn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Bn=y(An,[["__scopeId","data-v-178d34ad"]]),On=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=V();return(t,a)=>r(e).features?(s(),k(Bn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),Fn=_({__name:"VPHomeContent",setup(o){const{width:e}=Et({initialWidth:0,includeScrollbar:!1});return(t,a)=>(s(),u("div",{class:"vp-doc container",style:xe(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),Dn=y(Fn,[["__scopeId","data-v-cfbc1a43"]]),jn={class:"VPHome"},Un=_({__name:"VPHome",setup(o){const{frontmatter:e}=V();return(t,a)=>{const n=ce("Content");return s(),u("div",jn,[l(t.$slots,"home-hero-before",{},void 0,!0),b($n,null,{"home-hero-info-before":m(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":m(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":m(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":m(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":m(()=>[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),b(On),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(s(),k(Dn,{key:0},{default:m(()=>[b(n)]),_:1})):(s(),k(n,{key:1}))])}}}),Gn=y(Un,[["__scopeId","data-v-fd2ffb77"]]),qn={},Rn={class:"VPPage"};function Wn(o,e){const t=ce("Content");return s(),u("div",Rn,[l(o.$slots,"page-top"),b(t),l(o.$slots,"page-bottom")])}const Kn=y(qn,[["render",Wn]]),Yn=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=V(),{hasSidebar:a}=oe();return(n,i)=>(s(),u("div",{class:M(["VPContent",{"has-sidebar":r(a),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(n.$slots,"not-found",{key:0},()=>[b(to)],!0):r(t).layout==="page"?(s(),k(Kn,{key:1},{"page-top":m(()=>[l(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":m(()=>[l(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(s(),k(Gn,{key:2},{"home-hero-before":m(()=>[l(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":m(()=>[l(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":m(()=>[l(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":m(()=>[l(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":m(()=>[l(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":m(()=>[l(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":m(()=>[l(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":m(()=>[l(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":m(()=>[l(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(s(),k(Q(r(t).layout),{key:3})):(s(),k(on,{key:4},{"doc-top":m(()=>[l(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":m(()=>[l(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":m(()=>[l(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":m(()=>[l(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":m(()=>[l(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":m(()=>[l(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":m(()=>[l(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":m(()=>[l(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":m(()=>[l(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":m(()=>[l(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":m(()=>[l(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Jn=y(Yn,[["__scopeId","data-v-cb0805a1"]]),Xn={class:"container"},Zn=["innerHTML"],Qn=["innerHTML"],xn=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:a}=oe();return(n,i)=>r(e).footer&&r(t).footer!==!1?(s(),u("footer",{key:0,class:M(["VPFooter",{"has-sidebar":r(a)}])},[p("div",Xn,[r(e).footer.message?(s(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,Zn)):h("",!0),r(e).footer.copyright?(s(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,Qn)):h("",!0)])],2)):h("",!0)}}),ea=y(xn,[["__scopeId","data-v-c01e8608"]]);function ta(){const{theme:o,frontmatter:e}=V(),t=Ze([]),a=L(()=>t.value.length>0);return ye(()=>{t.value=je(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:a}}const oa=o=>(G("data-v-f9d4ca59"),o=o(),q(),o),na={class:"menu-text"},aa=oa(()=>p("span",{class:"vpi-chevron-right icon"},null,-1)),sa={class:"header"},ra={class:"outline"},ia=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=V(),a=H(!1),n=H(0),i=H(),c=H();function d($){var S;(S=i.value)!=null&&S.contains($.target)||(a.value=!1)}ee(a,$=>{if($){document.addEventListener("click",d);return}document.removeEventListener("click",d)}),ze("Escape",()=>{a.value=!1}),ye(()=>{a.value=!1});function v(){a.value=!a.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function g($){$.target.classList.contains("outline-link")&&(c.value&&(c.value.style.transition="none"),et(()=>{a.value=!1}))}function I(){a.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return($,S)=>(s(),u("div",{class:"VPLocalNavOutlineDropdown",style:xe({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[$.headers.length>0?(s(),u("button",{key:0,onClick:v,class:M({open:a.value})},[p("span",na,C(r(st)(r(t))),1),aa],2)):(s(),u("button",{key:1,onClick:I},C(r(t).returnToTopLabel||"Return to top"),1)),b(Ae,{name:"flyout"},{default:m(()=>[a.value?(s(),u("div",{key:0,ref_key:"items",ref:c,class:"items",onClick:g},[p("div",sa,[p("a",{class:"top-link",href:"#",onClick:I},C(r(t).returnToTopLabel||"Return to top"),1)]),p("div",ra,[b(rt,{headers:$.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),la=y(ia,[["__scopeId","data-v-f9d4ca59"]]),ca=o=>(G("data-v-4b826de3"),o=o(),q(),o),ua={class:"container"},da=["aria-expanded"],va=ca(()=>p("span",{class:"vpi-align-left menu-icon"},null,-1)),ma={class:"menu-text"},pa=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=V(),{hasSidebar:a}=oe(),{headers:n}=ta(),{y:i}=tt(),c=H(0);re(()=>{c.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),ye(()=>{n.value=je(t.value.outline??e.value.outline)});const d=L(()=>n.value.length===0),v=L(()=>d.value&&!a.value),g=L(()=>({VPLocalNav:!0,"has-sidebar":a.value,empty:d.value,fixed:v.value}));return(I,$)=>r(t).layout!=="home"&&(!v.value||r(i)>=c.value)?(s(),u("div",{key:0,class:M(g.value)},[p("div",ua,[r(a)?(s(),u("button",{key:0,class:"menu","aria-expanded":I.open,"aria-controls":"VPSidebarNav",onClick:$[0]||($[0]=S=>I.$emit("open-menu"))},[va,p("span",ma,C(r(e).sidebarMenuLabel||"Menu"),1)],8,da)):h("",!0),b(la,{headers:r(n),navHeight:c.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),fa=y(pa,[["__scopeId","data-v-4b826de3"]]);function ha(){const o=H(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function a(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=me();return ee(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:a}}const _a={},ga={class:"VPSwitch",type:"button",role:"switch"},ba={class:"check"},ka={key:0,class:"icon"};function $a(o,e){return s(),u("button",ga,[p("span",ba,[o.$slots.default?(s(),u("span",ka,[l(o.$slots,"default",{},void 0,!0)])):h("",!0)])])}const ya=y(_a,[["render",$a],["__scopeId","data-v-c5a026db"]]),lt=o=>(G("data-v-5e81030c"),o=o(),q(),o),La=lt(()=>p("span",{class:"vpi-sun sun"},null,-1)),Pa=lt(()=>p("span",{class:"vpi-moon moon"},null,-1)),Sa=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=V(),a=Le("toggle-appearance",()=>{e.value=!e.value}),n=H("");return Fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,c)=>(s(),k(ya,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(a)},{default:m(()=>[La,Pa]),_:1},8,["title","aria-checked","onClick"]))}}),Ue=y(Sa,[["__scopeId","data-v-5e81030c"]]),Va={key:0,class:"VPNavBarAppearance"},wa=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=V();return(t,a)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(s(),u("div",Va,[b(Ue)])):h("",!0)}}),Ta=y(wa,[["__scopeId","data-v-830f4e0c"]]),Ge=H();let ct=!1,Ne=0;function Ia(o){const e=H(!1);if(Pe){!ct&&Na(),Ne++;const t=ee(Ge,a=>{var n,i,c;a===o.el.value||(n=o.el.value)!=null&&n.contains(a)?(e.value=!0,(i=o.onFocus)==null||i.call(o)):(e.value=!1,(c=o.onBlur)==null||c.call(o))});Oe(()=>{t(),Ne--,Ne||Ea()})}return zt(e)}function Na(){document.addEventListener("focusin",ut),ct=!0,Ge.value=document.activeElement}function Ea(){document.removeEventListener("focusin",ut)}function ut(){Ge.value=document.activeElement}const za={class:"VPMenuLink"},Ca=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,a)=>(s(),u("div",za,[b(x,{class:M({active:r(le)(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:m(()=>[te(C(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),Se=y(Ca,[["__scopeId","data-v-47efe451"]]),Ha={class:"VPMenuGroup"},Ma={key:0,class:"title"},Aa=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(s(),u("div",Ha,[e.text?(s(),u("p",Ma,C(e.text),1)):h("",!0),(s(!0),u(B,null,K(e.items,a=>(s(),u(B,null,["link"in a?(s(),k(Se,{key:0,item:a},null,8,["item"])):h("",!0)],64))),256))]))}}),Ba=y(Aa,[["__scopeId","data-v-dd99de09"]]),Oa={class:"VPMenu"},Fa={key:0,class:"items"},Da=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(s(),u("div",Oa,[e.items?(s(),u("div",Fa,[(s(!0),u(B,null,K(e.items,a=>(s(),u(B,{key:JSON.stringify(a)},["link"in a?(s(),k(Se,{key:0,item:a},null,8,["item"])):"component"in a?(s(),k(Q(a.component),se({key:1,ref_for:!0},a.props),null,16)):(s(),k(Ba,{key:2,text:a.text,items:a.items},null,8,["text","items"]))],64))),128))])):h("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),ja=y(Da,[["__scopeId","data-v-0007c525"]]),Ua=o=>(G("data-v-11ef3b07"),o=o(),q(),o),Ga=["aria-expanded","aria-label"],qa={key:0,class:"text"},Ra=["innerHTML"],Wa=Ua(()=>p("span",{class:"vpi-chevron-down text-icon"},null,-1)),Ka={key:1,class:"vpi-more-horizontal icon"},Ya={class:"menu"},Ja=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=H(!1),t=H();Ia({el:t,onBlur:a});function a(){e.value=!1}return(n,i)=>(s(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=c=>e.value=!0),onMouseleave:i[2]||(i[2]=c=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=c=>e.value=!e.value)},[n.button||n.icon?(s(),u("span",qa,[n.icon?(s(),u("span",{key:0,class:M([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(s(),u("span",{key:1,innerHTML:n.button},null,8,Ra)):h("",!0),Wa])):(s(),u("span",Ka))],8,Ga),p("div",Ya,[b(ja,{items:n.items},{default:m(()=>[l(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),qe=y(Ja,[["__scopeId","data-v-11ef3b07"]]),Xa=["href","aria-label","innerHTML"],Za=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=L(()=>typeof e.icon=="object"?e.icon.svg:``);return(a,n)=>(s(),u("a",{class:"VPSocialLink no-icon",href:a.link,"aria-label":a.ariaLabel??(typeof a.icon=="string"?a.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Xa))}}),Qa=y(Za,[["__scopeId","data-v-116c6058"]]),xa={class:"VPSocialLinks"},es=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(s(),u("div",xa,[(s(!0),u(B,null,K(e.links,({link:a,icon:n,ariaLabel:i})=>(s(),k(Qa,{key:a,icon:n,link:a,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),Re=y(es,[["__scopeId","data-v-e883f8d0"]]),ts={key:0,class:"group translations"},os={class:"trans-title"},ns={key:1,class:"group"},as={class:"item appearance"},ss={class:"label"},rs={class:"appearance-action"},is={key:2,class:"group"},ls={class:"item social-links"},cs=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=V(),{localeLinks:a,currentLang:n}=pe({correspondingLink:!0}),i=L(()=>a.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(c,d)=>i.value?(s(),k(qe,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:m(()=>[r(a).length&&r(n).label?(s(),u("div",ts,[p("p",os,C(r(n).label),1),(s(!0),u(B,null,K(r(a),v=>(s(),k(Se,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(s(),u("div",ns,[p("div",as,[p("p",ss,C(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",rs,[b(Ue)])])])):h("",!0),r(t).socialLinks?(s(),u("div",is,[p("div",ls,[b(Re,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),us=y(cs,[["__scopeId","data-v-f78a1889"]]),ds=o=>(G("data-v-7ec5116e"),o=o(),q(),o),vs=["aria-expanded"],ms=ds(()=>p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)),ps=[ms],fs=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(s(),u("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=a=>e.$emit("click"))},ps,10,vs))}}),hs=y(fs,[["__scopeId","data-v-7ec5116e"]]),_s=["innerHTML"],gs=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=V();return(t,a)=>(s(),k(x,{class:M({VPNavBarMenuLink:!0,active:r(le)(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:m(()=>[p("span",{innerHTML:t.item.text},null,8,_s)]),_:1},8,["class","href","noIcon","target","rel"]))}}),bs=y(gs,[["__scopeId","data-v-6589ed1c"]]),ks=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=V(),a=i=>"component"in i?!1:"link"in i?le(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(a),n=L(()=>a(e.item));return(i,c)=>(s(),k(qe,{class:M({VPNavBarMenuGroup:!0,active:r(le)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),$s=o=>(G("data-v-46876648"),o=o(),q(),o),ys={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ls=$s(()=>p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Ps=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=V();return(t,a)=>r(e).nav?(s(),u("nav",ys,[Ls,(s(!0),u(B,null,K(r(e).nav,n=>(s(),u(B,{key:JSON.stringify(n)},["link"in n?(s(),k(bs,{key:0,item:n},null,8,["item"])):"component"in n?(s(),k(Q(n.component),se({key:1,ref_for:!0},n.props),null,16)):(s(),k(ks,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),Ss=y(Ps,[["__scopeId","data-v-46876648"]]);function Vs(o){const{localeIndex:e,theme:t}=V();function a(n){var N,F,z;const i=n.split("."),c=(N=t.value.search)==null?void 0:N.options,d=c&&typeof c=="object",v=d&&((z=(F=c.locales)==null?void 0:F[e.value])==null?void 0:z.translations)||null,g=d&&c.translations||null;let I=v,$=g,S=o;const E=i.pop();for(const J of i){let X=null;const D=S==null?void 0:S[J];D&&(X=S=D);const ne=$==null?void 0:$[J];ne&&(X=$=ne);const Z=I==null?void 0:I[J];Z&&(X=I=Z),D||(S=X),ne||($=X),Z||(I=X)}return(I==null?void 0:I[E])??($==null?void 0:$[E])??(S==null?void 0:S[E])??""}return a}const ws=["aria-label"],Ts={class:"DocSearch-Button-Container"},Is=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Ns={class:"DocSearch-Button-Placeholder"},Es=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Ye=_({__name:"VPNavBarSearchButton",setup(o){const t=Vs({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(a,n)=>(s(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",Ts,[Is,p("span",Ns,C(r(t)("button.buttonText")),1)]),Es],8,ws))}}),zs={class:"VPNavBarSearch"},Cs={id:"local-search"},Hs={key:1,id:"docsearch"},Ms=_({__name:"VPNavBarSearch",setup(o){const e=Ct(()=>Ht(()=>import("./VPLocalSearchBox.Lzxu1EgN.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:a}=V(),n=H(!1),i=H(!1);re(()=>{});function c(){n.value||(n.value=!0,setTimeout(d,16))}function d(){const $=new Event("keydown");$.key="k",$.metaKey=!0,window.dispatchEvent($),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||d()},16)}function v($){const S=$.target,E=S.tagName;return S.isContentEditable||E==="INPUT"||E==="SELECT"||E==="TEXTAREA"}const g=H(!1);ze("k",$=>{($.ctrlKey||$.metaKey)&&($.preventDefault(),g.value=!0)}),ze("/",$=>{v($)||($.preventDefault(),g.value=!0)});const I="local";return($,S)=>{var E;return s(),u("div",zs,[r(I)==="local"?(s(),u(B,{key:0},[g.value?(s(),k(r(e),{key:0,onClose:S[0]||(S[0]=N=>g.value=!1)})):h("",!0),p("div",Cs,[b(Ye,{onClick:S[1]||(S[1]=N=>g.value=!0)})])],64)):r(I)==="algolia"?(s(),u(B,{key:1},[n.value?(s(),k(r(t),{key:0,algolia:((E=r(a).search)==null?void 0:E.options)??r(a).algolia,onVnodeBeforeMount:S[2]||(S[2]=N=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(s(),u("div",Hs,[b(Ye,{onClick:c})]))],64)):h("",!0)])}}}),As=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=V();return(t,a)=>r(e).socialLinks?(s(),k(Re,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),Bs=y(As,[["__scopeId","data-v-6a13576c"]]),Os=["href","rel","target"],Fs={key:1},Ds={key:2},js=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=V(),{hasSidebar:a}=oe(),{currentLang:n}=pe(),i=L(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),c=L(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),d=L(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,g)=>(s(),u("div",{class:M(["VPNavBarTitle",{"has-sidebar":r(a)}])},[p("a",{class:"title",href:i.value??r(De)(r(n).link),rel:c.value,target:d.value},[l(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(s(),k(ke,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(s(),u("span",Fs,C(r(t).siteTitle),1)):r(t).siteTitle===void 0?(s(),u("span",Ds,C(r(e).title),1)):h("",!0),l(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,Os)],2))}}),Us=y(js,[["__scopeId","data-v-ff17a4ae"]]),Gs={class:"items"},qs={class:"title"},Rs=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=V(),{localeLinks:t,currentLang:a}=pe({correspondingLink:!0});return(n,i)=>r(t).length&&r(a).label?(s(),k(qe,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:m(()=>[p("div",Gs,[p("p",qs,C(r(a).label),1),(s(!0),u(B,null,K(r(t),c=>(s(),k(Se,{key:c.link,item:c},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Ws=y(Rs,[["__scopeId","data-v-540bc5e8"]]),Ks=o=>(G("data-v-3fed1b83"),o=o(),q(),o),Ys={class:"wrapper"},Js={class:"container"},Xs={class:"title"},Zs={class:"content"},Qs={class:"content-body"},xs=Ks(()=>p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1)),er=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=tt(),{hasSidebar:a}=oe(),{frontmatter:n}=V(),i=H({});return Fe(()=>{i.value={"has-sidebar":a.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(c,d)=>(s(),u("div",{class:M(["VPNavBar",i.value])},[p("div",Ys,[p("div",Js,[p("div",Xs,[b(Us,null,{"nav-bar-title-before":m(()=>[l(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":m(()=>[l(c.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",Zs,[p("div",Qs,[l(c.$slots,"nav-bar-content-before",{},void 0,!0),b(Ms,{class:"search"}),b(Ss,{class:"menu"}),b(Ws,{class:"translations"}),b(Ta,{class:"appearance"}),b(Bs,{class:"social-links"}),b(us,{class:"extra"}),l(c.$slots,"nav-bar-content-after",{},void 0,!0),b(hs,{class:"hamburger",active:c.isScreenOpen,onClick:d[0]||(d[0]=v=>c.$emit("toggle-screen"))},null,8,["active"])])])])]),xs],2))}}),tr=y(er,[["__scopeId","data-v-3fed1b83"]]),or={key:0,class:"VPNavScreenAppearance"},nr={class:"text"},ar=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=V();return(a,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(s(),u("div",or,[p("p",nr,C(r(t).darkModeSwitchLabel||"Appearance"),1),b(Ue)])):h("",!0)}}),sr=y(ar,[["__scopeId","data-v-0ceafb5f"]]),rr=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=Le("close-screen");return(t,a)=>(s(),k(x,{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"]))}}),ir=y(rr,[["__scopeId","data-v-8abda8b8"]]),lr=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=Le("close-screen");return(t,a)=>(s(),k(x,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:m(()=>[te(C(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),dt=y(lr,[["__scopeId","data-v-ae02dd03"]]),cr={class:"VPNavScreenMenuGroupSection"},ur={key:0,class:"title"},dr=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(s(),u("div",cr,[e.text?(s(),u("p",ur,C(e.text),1)):h("",!0),(s(!0),u(B,null,K(e.items,a=>(s(),k(dt,{key:a.text,item:a},null,8,["item"]))),128))]))}}),vr=y(dr,[["__scopeId","data-v-dea7123a"]]),mr=o=>(G("data-v-f76bdb19"),o=o(),q(),o),pr=["aria-controls","aria-expanded"],fr=["innerHTML"],hr=mr(()=>p("span",{class:"vpi-plus button-icon"},null,-1)),_r=["id"],gr={key:0,class:"item"},br={key:1,class:"item"},kr={key:2,class:"group"},$r=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=H(!1),a=L(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,c)=>(s(),u("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":a.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:i.text},null,8,fr),hr],8,pr),p("div",{id:a.value,class:"items"},[(s(!0),u(B,null,K(i.items,d=>(s(),u(B,{key:JSON.stringify(d)},["link"in d?(s(),u("div",gr,[b(dt,{item:d},null,8,["item"])])):"component"in d?(s(),u("div",br,[(s(),k(Q(d.component),se({ref_for:!0},d.props,{"screen-menu":""}),null,16))])):(s(),u("div",kr,[b(vr,{items:d.items},null,8,["items"])]))],64))),128))],8,_r)],2))}}),yr=y($r,[["__scopeId","data-v-f76bdb19"]]),Lr={key:0,class:"VPNavScreenMenu"},Pr=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=V();return(t,a)=>r(e).nav?(s(),u("nav",Lr,[(s(!0),u(B,null,K(r(e).nav,n=>(s(),u(B,{key:JSON.stringify(n)},["link"in n?(s(),k(ir,{key:0,item:n},null,8,["item"])):"component"in n?(s(),k(Q(n.component),se({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(s(),k(yr,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),Sr=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=V();return(t,a)=>r(e).socialLinks?(s(),k(Re,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),vt=o=>(G("data-v-eaa0f43e"),o=o(),q(),o),Vr=vt(()=>p("span",{class:"vpi-languages icon lang"},null,-1)),wr=vt(()=>p("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Tr={class:"list"},Ir=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=pe({correspondingLink:!0}),a=H(!1);function n(){a.value=!a.value}return(i,c)=>r(e).length&&r(t).label?(s(),u("div",{key:0,class:M(["VPNavScreenTranslations",{open:a.value}])},[p("button",{class:"title",onClick:n},[Vr,te(" "+C(r(t).label)+" ",1),wr]),p("ul",Tr,[(s(!0),u(B,null,K(r(e),d=>(s(),u("li",{key:d.link,class:"item"},[b(x,{class:"link",href:d.link},{default:m(()=>[te(C(d.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),Nr=y(Ir,[["__scopeId","data-v-eaa0f43e"]]),Er={class:"container"},zr=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=H(null),t=ot(Pe?document.body:null);return(a,n)=>(s(),k(Ae,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:m(()=>[a.open?(s(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",Er,[l(a.$slots,"nav-screen-content-before",{},void 0,!0),b(Pr,{class:"menu"}),b(Nr,{class:"translations"}),b(sr,{class:"appearance"}),b(Sr,{class:"social-links"}),l(a.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),Cr=y(zr,[["__scopeId","data-v-334bb4cd"]]),Hr={key:0,class:"VPNav"},Mr=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:a}=ha(),{frontmatter:n}=V(),i=L(()=>n.value.navbar!==!1);return nt("close-screen",t),$e(()=>{Pe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(c,d)=>i.value?(s(),u("header",Hr,[b(tr,{"is-screen-open":r(e),onToggleScreen:r(a)},{"nav-bar-title-before":m(()=>[l(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":m(()=>[l(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":m(()=>[l(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":m(()=>[l(c.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),b(Cr,{open:r(e)},{"nav-screen-content-before":m(()=>[l(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":m(()=>[l(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),Ar=y(Mr,[["__scopeId","data-v-a6f969fc"]]),mt=o=>(G("data-v-a9de9e44"),o=o(),q(),o),Br=["role","tabindex"],Or=mt(()=>p("div",{class:"indicator"},null,-1)),Fr=mt(()=>p("span",{class:"vpi-chevron-right caret-icon"},null,-1)),Dr=[Fr],jr={key:1,class:"items"},Ur=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:a,isLink:n,isActiveLink:i,hasActiveLink:c,hasChildren:d,toggle:v}=so(L(()=>e.item)),g=L(()=>d.value?"section":"div"),I=L(()=>n.value?"a":"div"),$=L(()=>d.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),S=L(()=>n.value?void 0:"button"),E=L(()=>[[`level-${e.depth}`],{collapsible:a.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":c.value}]);function N(z){"key"in z&&z.key!=="Enter"||!e.item.link&&v()}function F(){e.item.link&&v()}return(z,J)=>{const X=ce("VPSidebarItem",!0);return s(),k(Q(g.value),{class:M(["VPSidebarItem",E.value])},{default:m(()=>[z.item.text?(s(),u("div",se({key:0,class:"item",role:S.value},At(z.item.items?{click:N,keydown:N}:{},!0),{tabindex:z.item.items&&0}),[Or,z.item.link?(s(),k(x,{key:0,tag:I.value,class:"link",href:z.item.link,rel:z.item.rel,target:z.item.target},{default:m(()=>[(s(),k(Q($.value),{class:"text",innerHTML:z.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(s(),k(Q($.value),{key:1,class:"text",innerHTML:z.item.text},null,8,["innerHTML"])),z.item.collapsed!=null&&z.item.items&&z.item.items.length?(s(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:F,onKeydown:Mt(F,["enter"]),tabindex:"0"},Dr,32)):h("",!0)],16,Br)):h("",!0),z.item.items&&z.item.items.length?(s(),u("div",jr,[z.depth<5?(s(!0),u(B,{key:0},K(z.item.items,D=>(s(),k(X,{key:D.text,item:D,depth:z.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),Gr=y(Ur,[["__scopeId","data-v-a9de9e44"]]),qr=_({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=H(!0);let t=null;return re(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Bt(()=>{t!=null&&(clearTimeout(t),t=null)}),(a,n)=>(s(!0),u(B,null,K(a.items,i=>(s(),u("div",{key:i.text,class:M(["group",{"no-transition":e.value}])},[b(Gr,{item:i,depth:0},null,8,["item"])],2))),128))}}),Rr=y(qr,[["__scopeId","data-v-9c4bd70d"]]),pt=o=>(G("data-v-e024fac9"),o=o(),q(),o),Wr=pt(()=>p("div",{class:"curtain"},null,-1)),Kr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Yr=pt(()=>p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Jr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=oe(),a=o,n=H(null),i=ot(Pe?document.body:null);ee([a,n],()=>{var d;a.open?(i.value=!0,(d=n.value)==null||d.focus()):i.value=!1},{immediate:!0,flush:"post"});const c=H(0);return ee(e,()=>{c.value+=1},{deep:!0}),(d,v)=>r(t)?(s(),u("aside",{key:0,class:M(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:n,onClick:v[0]||(v[0]=Ot(()=>{},["stop"]))},[Wr,p("nav",Kr,[Yr,l(d.$slots,"sidebar-nav-before",{},void 0,!0),(s(),k(Rr,{items:r(e),key:c.value},null,8,["items"])),l(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),Xr=y(Jr,[["__scopeId","data-v-e024fac9"]]),Zr=_({__name:"VPSkipLink",setup(o){const e=me(),t=H();ee(()=>e.path,()=>t.value.focus());function a({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const c=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",c)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",c),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(s(),u(B,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:a}," Skip to content ")],64))}}),Qr=y(Zr,[["__scopeId","data-v-497b75be"]]),xr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:a}=oe(),n=me();ee(()=>n.path,a),ao(e,a);const{frontmatter:i}=V(),c=Ft(),d=L(()=>!!c["home-hero-image"]);return nt("hero-image-slot-exists",d),(v,g)=>{const I=ce("Content");return r(i).layout!==!1?(s(),u("div",{key:0,class:M(["Layout",r(i).pageClass])},[l(v.$slots,"layout-top",{},void 0,!0),b(Qr),b(Gt,{class:"backdrop",show:r(e),onClick:r(a)},null,8,["show","onClick"]),b(Ar,null,{"nav-bar-title-before":m(()=>[l(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":m(()=>[l(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":m(()=>[l(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":m(()=>[l(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":m(()=>[l(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":m(()=>[l(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),b(fa,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),b(Xr,{open:r(e)},{"sidebar-nav-before":m(()=>[l(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":m(()=>[l(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),b(Jn,null,{"page-top":m(()=>[l(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":m(()=>[l(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":m(()=>[l(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":m(()=>[l(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":m(()=>[l(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":m(()=>[l(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":m(()=>[l(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":m(()=>[l(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":m(()=>[l(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":m(()=>[l(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":m(()=>[l(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":m(()=>[l(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":m(()=>[l(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":m(()=>[l(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":m(()=>[l(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":m(()=>[l(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":m(()=>[l(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":m(()=>[l(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":m(()=>[l(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":m(()=>[l(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":m(()=>[l(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":m(()=>[l(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":m(()=>[l(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),b(ea),l(v.$slots,"layout-bottom",{},void 0,!0)],2)):(s(),k(I,{key:1}))}}}),ei=y(xr,[["__scopeId","data-v-0dd53a6c"]]),ti={Layout:ei,enhanceApp:({app:o})=>{o.component("Badge",Dt)}};/*! medium-zoom 1.1.0 | MIT License | https://github.com/francoischalifour/medium-zoom */var ie=Object.assign||function(o){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:{},a=window.Promise||function(P){function w(){}P(w,w)},n=function(P){var w=P.target;if(w===fe){N();return}D.indexOf(w)!==-1&&F({target:w})},i=function(){if(!(Z||!f.original)){var P=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;Math.abs(We-P)>A.scrollOffset&&setTimeout(N,150)}},c=function(P){var w=P.key||P.keyCode;(w==="Escape"||w==="Esc"||w===27)&&N()},d=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=P;if(P.background&&(fe.style.background=P.background),P.container&&P.container instanceof Object&&(w.container=ie({},A.container,P.container)),P.template){var O=be(P.template)?P.template:document.querySelector(P.template);w.template=O}return A=ie({},A,w),D.forEach(function(j){j.dispatchEvent(de("medium-zoom:update",{detail:{zoom:U}}))}),U},v=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return o(ie({},A,P))},g=function(){for(var P=arguments.length,w=Array(P),O=0;O0?w.reduce(function(T,W){return[].concat(T,Xe(W))},[]):D;return j.forEach(function(T){T.classList.remove("medium-zoom-image"),T.dispatchEvent(de("medium-zoom:detach",{detail:{zoom:U}}))}),D=D.filter(function(T){return j.indexOf(T)===-1}),U},$=function(P,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return D.forEach(function(j){j.addEventListener("medium-zoom:"+P,w,O)}),ne.push({type:"medium-zoom:"+P,listener:w,options:O}),U},S=function(P,w){var O=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return D.forEach(function(j){j.removeEventListener("medium-zoom:"+P,w,O)}),ne=ne.filter(function(j){return!(j.type==="medium-zoom:"+P&&j.listener.toString()===w.toString())}),U},E=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=P.target,O=function(){var T={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight,left:0,top:0,right:0,bottom:0},W=void 0,Y=void 0;if(A.container)if(A.container instanceof Object)T=ie({},T,A.container),W=T.width-T.left-T.right-A.margin*2,Y=T.height-T.top-T.bottom-A.margin*2;else{var ue=be(A.container)?A.container:document.querySelector(A.container),ae=ue.getBoundingClientRect(),Ve=ae.width,ft=ae.height,ht=ae.left,_t=ae.top;T=ie({},T,{width:Ve,height:ft,left:ht,top:_t})}W=W||T.width-A.margin*2,Y=Y||T.height-A.margin*2;var ve=f.zoomedHd||f.original,gt=Je(ve)?W:ve.naturalWidth||W,bt=Je(ve)?Y:ve.naturalHeight||Y,he=ve.getBoundingClientRect(),kt=he.top,$t=he.left,we=he.width,Te=he.height,yt=Math.min(Math.max(we,gt),W)/we,Lt=Math.min(Math.max(Te,bt),Y)/Te,Ie=Math.min(yt,Lt),Pt=(-$t+(W-we)/2+A.margin+T.left)/Ie,St=(-kt+(Y-Te)/2+A.margin+T.top)/Ie,Ke="scale("+Ie+") translate3d("+Pt+"px, "+St+"px, 0)";f.zoomed.style.transform=Ke,f.zoomedHd&&(f.zoomedHd.style.transform=Ke)};return new a(function(j){if(w&&D.indexOf(w)===-1){j(U);return}var T=function Ve(){Z=!1,f.zoomed.removeEventListener("transitionend",Ve),f.original.dispatchEvent(de("medium-zoom:opened",{detail:{zoom:U}})),j(U)};if(f.zoomed){j(U);return}if(w)f.original=w;else if(D.length>0){var W=D;f.original=W[0]}else{j(U);return}if(f.original.dispatchEvent(de("medium-zoom:open",{detail:{zoom:U}})),We=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,Z=!0,f.zoomed=ai(f.original),document.body.appendChild(fe),A.template){var Y=be(A.template)?A.template:document.querySelector(A.template);f.template=document.createElement("div"),f.template.appendChild(Y.content.cloneNode(!0)),document.body.appendChild(f.template)}if(f.original.parentElement&&f.original.parentElement.tagName==="PICTURE"&&f.original.currentSrc&&(f.zoomed.src=f.original.currentSrc),document.body.appendChild(f.zoomed),window.requestAnimationFrame(function(){document.body.classList.add("medium-zoom--opened")}),f.original.classList.add("medium-zoom-image--hidden"),f.zoomed.classList.add("medium-zoom-image--opened"),f.zoomed.addEventListener("click",N),f.zoomed.addEventListener("transitionend",T),f.original.getAttribute("data-zoom-src")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("srcset"),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading"),f.zoomedHd.src=f.zoomed.getAttribute("data-zoom-src"),f.zoomedHd.onerror=function(){clearInterval(ue),console.warn("Unable to reach the zoom image target "+f.zoomedHd.src),f.zoomedHd=null,O()};var ue=setInterval(function(){f.zoomedHd.complete&&(clearInterval(ue),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",N),document.body.appendChild(f.zoomedHd),O())},10)}else if(f.original.hasAttribute("srcset")){f.zoomedHd=f.zoomed.cloneNode(),f.zoomedHd.removeAttribute("sizes"),f.zoomedHd.removeAttribute("loading");var ae=f.zoomedHd.addEventListener("load",function(){f.zoomedHd.removeEventListener("load",ae),f.zoomedHd.classList.add("medium-zoom-image--opened"),f.zoomedHd.addEventListener("click",N),document.body.appendChild(f.zoomedHd),O()})}else O()})},N=function(){return new a(function(P){if(Z||!f.original){P(U);return}var w=function O(){f.original.classList.remove("medium-zoom-image--hidden"),document.body.removeChild(f.zoomed),f.zoomedHd&&document.body.removeChild(f.zoomedHd),document.body.removeChild(fe),f.zoomed.classList.remove("medium-zoom-image--opened"),f.template&&document.body.removeChild(f.template),Z=!1,f.zoomed.removeEventListener("transitionend",O),f.original.dispatchEvent(de("medium-zoom:closed",{detail:{zoom:U}})),f.original=null,f.zoomed=null,f.zoomedHd=null,f.template=null,P(U)};Z=!0,document.body.classList.remove("medium-zoom--opened"),f.zoomed.style.transform="",f.zoomedHd&&(f.zoomedHd.style.transform=""),f.template&&(f.template.style.transition="opacity 150ms",f.template.style.opacity=0),f.original.dispatchEvent(de("medium-zoom:close",{detail:{zoom:U}})),f.zoomed.addEventListener("transitionend",w)})},F=function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},w=P.target;return f.original?N():E({target:w})},z=function(){return A},J=function(){return D},X=function(){return f.original},D=[],ne=[],Z=!1,We=0,A=t,f={original:null,zoomed:null,zoomedHd:null,template:null};Object.prototype.toString.call(e)==="[object Object]"?A=e:(e||typeof e=="string")&&g(e),A=ie({margin:0,background:"#fff",scrollOffset:40,container:null,template:null},A);var fe=ni(A.background);document.addEventListener("click",n),document.addEventListener("keyup",c),document.addEventListener("scroll",i),window.addEventListener("resize",N);var U={open:E,close:N,toggle:F,update:d,clone:v,attach:g,detach:I,on:$,off:S,getOptions:z,getImages:J,getZoomedImage:X};return U};function ri(o,e){e===void 0&&(e={});var t=e.insertAt;if(!(typeof document>"u")){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t==="top"&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=o:n.appendChild(document.createTextNode(o))}}var ii=".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}";ri(ii);const ci={...ti,setup(){const o=me(),e=()=>{new si("[data-zoomable]",{background:"var(--vp-c-bg)"})};re(()=>{e()}),ee(()=>o.path,()=>et(()=>e()))}};export{ci as R,Vs as c,V as u}; diff --git a/.vitepress/dist/assets/index.md.Cgb96qqp.js b/.vitepress/dist/assets/index.md.IDM-wWfu.js similarity index 99% rename from .vitepress/dist/assets/index.md.Cgb96qqp.js rename to .vitepress/dist/assets/index.md.IDM-wWfu.js index ad7e969..1867be6 100644 --- a/.vitepress/dist/assets/index.md.Cgb96qqp.js +++ b/.vitepress/dist/assets/index.md.IDM-wWfu.js @@ -1 +1 @@ -import{_ as l,c as t,o as i}from"./chunks/framework.DkvLLw5I.js";const n=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Cool Admin(Java版)","text":"一个很酷的后台管理系统开发框架","tagline":"开源免费、Ai编码、流程编排、扩展插件、模块化","actions":[{"theme":"brand","text":"快速开始","link":"/src/guide/quick.md"},{"theme":"alt","text":"源码下载","link":"/src/introduce/src"}],"image":{"src":"/show/admin.png","alt":"cool-admin"}},"features":[{"title":"Ai编码+流程编排","icon":"","details":"框架结合Ai大模型微调训练,让Ai更懂框架,只需少量文字描述即可零代码实现部分功能。流程编排Ai开发必备神器,只需拖动配置,即可实现Ai开发的核心功能。"},{"title":"快速开发","icon":"","details":"通过Ai自动化编码,简单功能实现零代码开发,复杂的功能也只需少量代码配置即可。大大提高软件研发速度,快速迭代,快速试错降低成本,提高市场竞争力。"},{"title":"扩展插件","icon":"","details":"支持插件扩展,通过插件扩展功能,实现功能快速迭代。如支付、文件上传、短信等功能可以通过安装插件的方式动态继承,不需要或者需要更换,卸载重装即可,配置不用写在代码里,代码简洁清晰。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1720593505000}'),a={name:"index.md"};function c(h,e,d,p,s,v){return i(),t("div")}const m=l(a,[["render",c]]);export{n as __pageData,m as default}; +import{_ as l,c as t,o as i}from"./chunks/framework.C_oE5szm.js";const n=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Cool Admin(Java版)","text":"一个很酷的后台管理系统开发框架","tagline":"开源免费、Ai编码、流程编排、扩展插件、模块化","actions":[{"theme":"brand","text":"快速开始","link":"/src/guide/quick.md"},{"theme":"alt","text":"源码下载","link":"/src/introduce/src"}],"image":{"src":"/show/admin.png","alt":"cool-admin"}},"features":[{"title":"Ai编码+流程编排","icon":"","details":"框架结合Ai大模型微调训练,让Ai更懂框架,只需少量文字描述即可零代码实现部分功能。流程编排Ai开发必备神器,只需拖动配置,即可实现Ai开发的核心功能。"},{"title":"快速开发","icon":"","details":"通过Ai自动化编码,简单功能实现零代码开发,复杂的功能也只需少量代码配置即可。大大提高软件研发速度,快速迭代,快速试错降低成本,提高市场竞争力。"},{"title":"扩展插件","icon":"","details":"支持插件扩展,通过插件扩展功能,实现功能快速迭代。如支付、文件上传、短信等功能可以通过安装插件的方式动态继承,不需要或者需要更换,卸载重装即可,配置不用写在代码里,代码简洁清晰。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1720593505000}'),a={name:"index.md"};function c(h,e,d,p,s,v){return i(),t("div")}const m=l(a,[["render",c]]);export{n as __pageData,m as default}; diff --git a/.vitepress/dist/assets/index.md.Cgb96qqp.lean.js b/.vitepress/dist/assets/index.md.IDM-wWfu.lean.js similarity index 99% rename from .vitepress/dist/assets/index.md.Cgb96qqp.lean.js rename to .vitepress/dist/assets/index.md.IDM-wWfu.lean.js index ad7e969..1867be6 100644 --- a/.vitepress/dist/assets/index.md.Cgb96qqp.lean.js +++ b/.vitepress/dist/assets/index.md.IDM-wWfu.lean.js @@ -1 +1 @@ -import{_ as l,c as t,o as i}from"./chunks/framework.DkvLLw5I.js";const n=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Cool Admin(Java版)","text":"一个很酷的后台管理系统开发框架","tagline":"开源免费、Ai编码、流程编排、扩展插件、模块化","actions":[{"theme":"brand","text":"快速开始","link":"/src/guide/quick.md"},{"theme":"alt","text":"源码下载","link":"/src/introduce/src"}],"image":{"src":"/show/admin.png","alt":"cool-admin"}},"features":[{"title":"Ai编码+流程编排","icon":"","details":"框架结合Ai大模型微调训练,让Ai更懂框架,只需少量文字描述即可零代码实现部分功能。流程编排Ai开发必备神器,只需拖动配置,即可实现Ai开发的核心功能。"},{"title":"快速开发","icon":"","details":"通过Ai自动化编码,简单功能实现零代码开发,复杂的功能也只需少量代码配置即可。大大提高软件研发速度,快速迭代,快速试错降低成本,提高市场竞争力。"},{"title":"扩展插件","icon":"","details":"支持插件扩展,通过插件扩展功能,实现功能快速迭代。如支付、文件上传、短信等功能可以通过安装插件的方式动态继承,不需要或者需要更换,卸载重装即可,配置不用写在代码里,代码简洁清晰。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1720593505000}'),a={name:"index.md"};function c(h,e,d,p,s,v){return i(),t("div")}const m=l(a,[["render",c]]);export{n as __pageData,m as default}; +import{_ as l,c as t,o as i}from"./chunks/framework.C_oE5szm.js";const n=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"Cool Admin(Java版)","text":"一个很酷的后台管理系统开发框架","tagline":"开源免费、Ai编码、流程编排、扩展插件、模块化","actions":[{"theme":"brand","text":"快速开始","link":"/src/guide/quick.md"},{"theme":"alt","text":"源码下载","link":"/src/introduce/src"}],"image":{"src":"/show/admin.png","alt":"cool-admin"}},"features":[{"title":"Ai编码+流程编排","icon":"","details":"框架结合Ai大模型微调训练,让Ai更懂框架,只需少量文字描述即可零代码实现部分功能。流程编排Ai开发必备神器,只需拖动配置,即可实现Ai开发的核心功能。"},{"title":"快速开发","icon":"","details":"通过Ai自动化编码,简单功能实现零代码开发,复杂的功能也只需少量代码配置即可。大大提高软件研发速度,快速迭代,快速试错降低成本,提高市场竞争力。"},{"title":"扩展插件","icon":"","details":"支持插件扩展,通过插件扩展功能,实现功能快速迭代。如支付、文件上传、短信等功能可以通过安装插件的方式动态继承,不需要或者需要更换,卸载重装即可,配置不用写在代码里,代码简洁清晰。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1720593505000}'),a={name:"index.md"};function c(h,e,d,p,s,v){return i(),t("div")}const m=l(a,[["render",c]]);export{n as __pageData,m as default}; diff --git a/.vitepress/dist/assets/src_about_index.md.D5pLvKL8.js b/.vitepress/dist/assets/src_about_index.md.u0DlwXFy.js similarity index 93% rename from .vitepress/dist/assets/src_about_index.md.D5pLvKL8.js rename to .vitepress/dist/assets/src_about_index.md.u0DlwXFy.js index e06fe24..d8d20e2 100644 --- a/.vitepress/dist/assets/src_about_index.md.D5pLvKL8.js +++ b/.vitepress/dist/assets/src_about_index.md.u0DlwXFy.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as r,a5 as o,a6 as i,a7 as s}from"./chunks/framework.DkvLLw5I.js";const x=JSON.parse('{"title":"交流合作","description":"","frontmatter":{},"headers":[],"relativePath":"src/about/index.md","filePath":"src/about/index.md","lastUpdated":1720593505000}'),n={name:"src/about/index.md"},c=r('

交流合作 ​

如果我们的项目对你有用,欢迎加入我们大家庭一起讨论,共创一些美好的事情。

微信 ​

扫一扫加入微信开发交流群

抖音 ​

主要是做一些技术教程、技术分享、框架更新、插件分享等内容。你可以在这边了解到一些关于我们框架的最新动态,还可以了解到一些前沿的技术,特别是跟 Ai 相关的,有兴趣的可以关注我们。

B 站 ​

COOL 团队哔哩哔哩官方账户

公众号 ​

COOL 的一些最新资讯、技术分享、框架更新、插件分享等

',13),l=[c];function d(_,h,p,m,b,u){return t(),e("div",null,l)}const q=a(n,[["render",d]]);export{x as __pageData,q as default}; +import{_ as a,c as e,o as t,a5 as r,a6 as o,a7 as i,a8 as s}from"./chunks/framework.C_oE5szm.js";const x=JSON.parse('{"title":"交流合作","description":"","frontmatter":{},"headers":[],"relativePath":"src/about/index.md","filePath":"src/about/index.md","lastUpdated":1720593505000}'),n={name:"src/about/index.md"},c=r('

交流合作 ​

如果我们的项目对你有用,欢迎加入我们大家庭一起讨论,共创一些美好的事情。

微信 ​

扫一扫加入微信开发交流群

抖音 ​

主要是做一些技术教程、技术分享、框架更新、插件分享等内容。你可以在这边了解到一些关于我们框架的最新动态,还可以了解到一些前沿的技术,特别是跟 Ai 相关的,有兴趣的可以关注我们。

B 站 ​

COOL 团队哔哩哔哩官方账户

公众号 ​

COOL 的一些最新资讯、技术分享、框架更新、插件分享等

',13),l=[c];function d(_,h,p,m,b,u){return t(),e("div",null,l)}const q=a(n,[["render",d]]);export{x as __pageData,q as default}; diff --git a/.vitepress/dist/assets/src_about_index.md.D5pLvKL8.lean.js b/.vitepress/dist/assets/src_about_index.md.u0DlwXFy.lean.js similarity index 71% rename from .vitepress/dist/assets/src_about_index.md.D5pLvKL8.lean.js rename to .vitepress/dist/assets/src_about_index.md.u0DlwXFy.lean.js index fe87e39..253d514 100644 --- a/.vitepress/dist/assets/src_about_index.md.D5pLvKL8.lean.js +++ b/.vitepress/dist/assets/src_about_index.md.u0DlwXFy.lean.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as r,a5 as o,a6 as i,a7 as s}from"./chunks/framework.DkvLLw5I.js";const x=JSON.parse('{"title":"交流合作","description":"","frontmatter":{},"headers":[],"relativePath":"src/about/index.md","filePath":"src/about/index.md","lastUpdated":1720593505000}'),n={name:"src/about/index.md"},c=r("",13),l=[c];function d(_,h,p,m,b,u){return t(),e("div",null,l)}const q=a(n,[["render",d]]);export{x as __pageData,q as default}; +import{_ as a,c as e,o as t,a5 as r,a6 as o,a7 as i,a8 as s}from"./chunks/framework.C_oE5szm.js";const x=JSON.parse('{"title":"交流合作","description":"","frontmatter":{},"headers":[],"relativePath":"src/about/index.md","filePath":"src/about/index.md","lastUpdated":1720593505000}'),n={name:"src/about/index.md"},c=r("",13),l=[c];function d(_,h,p,m,b,u){return t(),e("div",null,l)}const q=a(n,[["render",d]]);export{x as __pageData,q as default}; diff --git a/.vitepress/dist/assets/src_guide_ai.md.CQr0rH-R.js b/.vitepress/dist/assets/src_guide_ai.md.PrgLyacX.js similarity index 85% rename from .vitepress/dist/assets/src_guide_ai.md.CQr0rH-R.js rename to .vitepress/dist/assets/src_guide_ai.md.PrgLyacX.js index f3e03d7..af6accf 100644 --- a/.vitepress/dist/assets/src_guide_ai.md.CQr0rH-R.js +++ b/.vitepress/dist/assets/src_guide_ai.md.PrgLyacX.js @@ -1 +1 @@ -import{_ as a,c as t,o as i,j as e,a as s,a8 as r}from"./chunks/framework.DkvLLw5I.js";const x=JSON.parse('{"title":"Ai 编码","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/ai.md","filePath":"src/guide/ai.md","lastUpdated":1721036629000}'),o={name:"src/guide/ai.md"},c=e("h1",{id:"ai-编码",tabindex:"-1"},[s("Ai 编码 "),e("a",{class:"header-anchor",href:"#ai-编码","aria-label":'Permalink to "Ai 编码"'},"​")],-1),n=e("p",null,"通过微调大模型学习框架特有写法,实现简单功能从 Api 接口到前端页面的一键生成",-1),d=e("p",null,[e("img",{src:r,alt:"","data-zoomable":""})],-1),l=e("p",null,[e("a",{href:"https://www.bilibili.com/video/BV1Hm421g7Br/?",target:"_blank",rel:"noreferrer"},"B 站视频教程")],-1),_=[c,n,d,l];function p(h,m,f,u,g,b){return i(),t("div",null,_)}const k=a(o,[["render",p]]);export{x as __pageData,k as default}; +import{_ as a,c as t,o as i,j as e,a as s,a9 as r}from"./chunks/framework.C_oE5szm.js";const x=JSON.parse('{"title":"Ai 编码","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/ai.md","filePath":"src/guide/ai.md","lastUpdated":1721036629000}'),o={name:"src/guide/ai.md"},c=e("h1",{id:"ai-编码",tabindex:"-1"},[s("Ai 编码 "),e("a",{class:"header-anchor",href:"#ai-编码","aria-label":'Permalink to "Ai 编码"'},"​")],-1),n=e("p",null,"通过微调大模型学习框架特有写法,实现简单功能从 Api 接口到前端页面的一键生成",-1),d=e("p",null,[e("img",{src:r,alt:"","data-zoomable":""})],-1),l=e("p",null,[e("a",{href:"https://www.bilibili.com/video/BV1Hm421g7Br/?",target:"_blank",rel:"noreferrer"},"B 站视频教程")],-1),_=[c,n,d,l];function p(h,m,f,u,g,b){return i(),t("div",null,_)}const k=a(o,[["render",p]]);export{x as __pageData,k as default}; diff --git a/.vitepress/dist/assets/src_guide_ai.md.CQr0rH-R.lean.js b/.vitepress/dist/assets/src_guide_ai.md.PrgLyacX.lean.js similarity index 85% rename from .vitepress/dist/assets/src_guide_ai.md.CQr0rH-R.lean.js rename to .vitepress/dist/assets/src_guide_ai.md.PrgLyacX.lean.js index f3e03d7..af6accf 100644 --- a/.vitepress/dist/assets/src_guide_ai.md.CQr0rH-R.lean.js +++ b/.vitepress/dist/assets/src_guide_ai.md.PrgLyacX.lean.js @@ -1 +1 @@ -import{_ as a,c as t,o as i,j as e,a as s,a8 as r}from"./chunks/framework.DkvLLw5I.js";const x=JSON.parse('{"title":"Ai 编码","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/ai.md","filePath":"src/guide/ai.md","lastUpdated":1721036629000}'),o={name:"src/guide/ai.md"},c=e("h1",{id:"ai-编码",tabindex:"-1"},[s("Ai 编码 "),e("a",{class:"header-anchor",href:"#ai-编码","aria-label":'Permalink to "Ai 编码"'},"​")],-1),n=e("p",null,"通过微调大模型学习框架特有写法,实现简单功能从 Api 接口到前端页面的一键生成",-1),d=e("p",null,[e("img",{src:r,alt:"","data-zoomable":""})],-1),l=e("p",null,[e("a",{href:"https://www.bilibili.com/video/BV1Hm421g7Br/?",target:"_blank",rel:"noreferrer"},"B 站视频教程")],-1),_=[c,n,d,l];function p(h,m,f,u,g,b){return i(),t("div",null,_)}const k=a(o,[["render",p]]);export{x as __pageData,k as default}; +import{_ as a,c as t,o as i,j as e,a as s,a9 as r}from"./chunks/framework.C_oE5szm.js";const x=JSON.parse('{"title":"Ai 编码","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/ai.md","filePath":"src/guide/ai.md","lastUpdated":1721036629000}'),o={name:"src/guide/ai.md"},c=e("h1",{id:"ai-编码",tabindex:"-1"},[s("Ai 编码 "),e("a",{class:"header-anchor",href:"#ai-编码","aria-label":'Permalink to "Ai 编码"'},"​")],-1),n=e("p",null,"通过微调大模型学习框架特有写法,实现简单功能从 Api 接口到前端页面的一键生成",-1),d=e("p",null,[e("img",{src:r,alt:"","data-zoomable":""})],-1),l=e("p",null,[e("a",{href:"https://www.bilibili.com/video/BV1Hm421g7Br/?",target:"_blank",rel:"noreferrer"},"B 站视频教程")],-1),_=[c,n,d,l];function p(h,m,f,u,g,b){return i(),t("div",null,_)}const k=a(o,[["render",p]]);export{x as __pageData,k as default}; diff --git a/.vitepress/dist/assets/src_guide_cache.md.sFO9ncvK.js b/.vitepress/dist/assets/src_guide_cache.md.TbXSwkcj.js similarity index 98% rename from .vitepress/dist/assets/src_guide_cache.md.sFO9ncvK.js rename to .vitepress/dist/assets/src_guide_cache.md.TbXSwkcj.js index c577e04..4426650 100644 --- a/.vitepress/dist/assets/src_guide_cache.md.sFO9ncvK.js +++ b/.vitepress/dist/assets/src_guide_cache.md.TbXSwkcj.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const y=JSON.parse('{"title":"缓存","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/cache.md","filePath":"src/guide/cache.md","lastUpdated":1721036629000}'),h={name:"src/guide/cache.md"},l=n(`

缓存 ​

为了不过多依赖环境,框架自带基于 springCache 默认实现了两种缓存

  • caffeine 无需额外安装软件,由 Ben Manes 开发的一个 Java 缓存库,旨在提供高性能、高效的缓存解决方案。
  • redis 需安装 redis,提供了一种高效且可靠的解决方案,能够显著提升应用程序的性能和响应速度。
yaml
spring:
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const y=JSON.parse('{"title":"缓存","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/cache.md","filePath":"src/guide/cache.md","lastUpdated":1721036629000}'),h={name:"src/guide/cache.md"},l=n(`

缓存 ​

为了不过多依赖环境,框架自带基于 springCache 默认实现了两种缓存

  • caffeine 无需额外安装软件,由 Ben Manes 开发的一个 Java 缓存库,旨在提供高性能、高效的缓存解决方案。
  • redis 需安装 redis,提供了一种高效且可靠的解决方案,能够显著提升应用程序的性能和响应速度。
yaml
spring:
   # caffeine 缓存
   cache:
     type: caffeine
diff --git a/.vitepress/dist/assets/src_guide_cache.md.sFO9ncvK.lean.js b/.vitepress/dist/assets/src_guide_cache.md.TbXSwkcj.lean.js
similarity index 69%
rename from .vitepress/dist/assets/src_guide_cache.md.sFO9ncvK.lean.js
rename to .vitepress/dist/assets/src_guide_cache.md.TbXSwkcj.lean.js
index ad289c4..387e5d5 100644
--- a/.vitepress/dist/assets/src_guide_cache.md.sFO9ncvK.lean.js
+++ b/.vitepress/dist/assets/src_guide_cache.md.TbXSwkcj.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const y=JSON.parse('{"title":"缓存","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/cache.md","filePath":"src/guide/cache.md","lastUpdated":1721036629000}'),h={name:"src/guide/cache.md"},l=n("",10),p=[l];function t(e,k,E,r,d,c){return a(),i("div",null,p)}const o=s(h,[["render",t]]);export{y as __pageData,o as default};
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const y=JSON.parse('{"title":"缓存","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/cache.md","filePath":"src/guide/cache.md","lastUpdated":1721036629000}'),h={name:"src/guide/cache.md"},l=n("",10),p=[l];function t(e,k,E,r,d,c){return a(),i("div",null,p)}const o=s(h,[["render",t]]);export{y as __pageData,o as default};
diff --git a/.vitepress/dist/assets/src_guide_controller.md.CKU6QhGJ.js b/.vitepress/dist/assets/src_guide_controller.md.DCo4_59t.js
similarity index 99%
rename from .vitepress/dist/assets/src_guide_controller.md.CKU6QhGJ.js
rename to .vitepress/dist/assets/src_guide_controller.md.DCo4_59t.js
index c16253f..2460614 100644
--- a/.vitepress/dist/assets/src_guide_controller.md.CKU6QhGJ.js
+++ b/.vitepress/dist/assets/src_guide_controller.md.DCo4_59t.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1721036629000}'),h={name:"src/guide/controller.md"},t=n(`

控制器 ​

所有的 controller 都继承自 BaseController,该父类已经实现了以下六个基础方法:add、delete、update、page、list、info,可以大大简化代码,使得 controller 更加简洁。

示例 ​

java
@Tag(name = "测试CURD", description = "测试CURD")
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1721036629000}'),h={name:"src/guide/controller.md"},t=n(`

控制器 ​

所有的 controller 都继承自 BaseController,该父类已经实现了以下六个基础方法:add、delete、update、page、list、info,可以大大简化代码,使得 controller 更加简洁。

示例 ​

java
@Tag(name = "测试CURD", description = "测试CURD")
 @CoolRestController(value = "/cool", api = {"add", "delete", "update", "page", "list", "info"})
 public class AdminDemoInfoController extends BaseController<DemoService, DemoEntity> {
     @Override
diff --git a/.vitepress/dist/assets/src_guide_controller.md.CKU6QhGJ.lean.js b/.vitepress/dist/assets/src_guide_controller.md.DCo4_59t.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_controller.md.CKU6QhGJ.lean.js
rename to .vitepress/dist/assets/src_guide_controller.md.DCo4_59t.lean.js
index 1cc1759..cad06e5 100644
--- a/.vitepress/dist/assets/src_guide_controller.md.CKU6QhGJ.lean.js
+++ b/.vitepress/dist/assets/src_guide_controller.md.DCo4_59t.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1721036629000}'),h={name:"src/guide/controller.md"},t=n("",29),k=[t];function l(p,e,E,r,d,g){return a(),i("div",null,k)}const o=s(h,[["render",l]]);export{F as __pageData,o as default};
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1721036629000}'),h={name:"src/guide/controller.md"},t=n("",29),k=[t];function l(p,e,E,r,d,g){return a(),i("div",null,k)}const o=s(h,[["render",l]]);export{F as __pageData,o as default};
diff --git a/.vitepress/dist/assets/src_guide_db.md.CW_Li52O.js b/.vitepress/dist/assets/src_guide_db.md.Duwyo5Xx.js
similarity index 98%
rename from .vitepress/dist/assets/src_guide_db.md.CW_Li52O.js
rename to .vitepress/dist/assets/src_guide_db.md.Duwyo5Xx.js
index 38b7e53..b96113d 100644
--- a/.vitepress/dist/assets/src_guide_db.md.CW_Li52O.js
+++ b/.vitepress/dist/assets/src_guide_db.md.Duwyo5Xx.js
@@ -1 +1 @@
-import{_ as t,c as d,o as r,a4 as e}from"./chunks/framework.DkvLLw5I.js";const m=JSON.parse('{"title":"数据库","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/db.md","filePath":"src/guide/db.md","lastUpdated":1721036629000}'),a={name:"src/guide/db.md"},s=e('

数据库 ​

Cool Admin 集成了比 Mybatis-Plus 更加强大的,Mybatis-Flex,详细用法请查看 Mybatis-Flex 官网文档

主要特点;

  • 更轻量:除了 MyBatis 本身,再无任何第三方依赖,因此会带来更高的自主性、把控性和稳定性。在任何一个系统中,依赖越多,稳定性越差。

  • 更灵活:提供了非常灵活的 QueryWrapper,支持关联查询、多表查询、多主键、逻辑删除、乐观锁更新、数据填充、数据脱敏等等。

  • 高性能:通过独特的架构,没有任何 MyBatis 拦截器、在 SQL 执行的过程中,没有任何的 SQL Parse,因此会带来指数级的性能增长。

功能对比 ​

功能或特点MyBatis-FlexMyBatis-PlusFluent-MyBatis
对 entity 的基本增删改查✅✅✅
分页查询✅✅✅
分页查询之总量缓存✅✅❌
分页查询无 SQL 解析设计(更轻量,及更高性能)✅❌✅
多表查询: from 多张表✅❌❌
多表查询: left join、inner join 等等✅❌✅
多表查询: union,union all✅❌✅
单主键配置✅✅✅
多种 id 生成策略✅✅✅
支持多主键、复合主键✅❌❌
字段的 typeHandler 配置✅✅✅
除了 MyBatis,无其他第三方依赖(更轻量)✅❌❌
QueryWrapper 是否支持在微服务项目下进行 RPC 传输✅❌未知
逻辑删除✅✅✅
乐观锁✅✅✅
SQL 审计✅❌❌
数据填充✅✅✅
数据脱敏✅✔️ (收费)❌
字段权限✅✔️ (收费)❌
字段加密✅✔️ (收费)❌
字典回写✅✔️ (收费)❌
Db + Row✅❌❌
Entity 监听✅❌❌
多数据源支持✅借助其他框架或收费❌
多数据源是否支持 Spring 的事务管理,比如 @Transactional 和 TransactionTemplate 等✅❌❌
多数据源是否支持 "非 Spring" 项目✅❌❌
多租户✅✅❌
动态表名✅✅❌
动态 Schema✅❌❌

注意

以上内容来自第三方相关产品的官方文档或第三方平台,若有错误,欢迎纠正。

支持数据库 ​

MyBatis-Flex 支持的数据库类型,如下表格所示,我们还可以通过自定义方言的方式,持续添加更多的数据库支持。

数据库描述
mysqlMySQL 数据库
mariadbMariaDB 数据库
oracleOracle11g 及以下数据库
oracle12cOracle12c 及以上数据库
db2DB2 数据库
H2H2 数据库
hsqlHSQL 数据库
sqliteSQLite 数据库
postgresqlPostgreSQL 数据库
sqlserver2005SQLServer2005 数据库
sqlserverSQLServer 数据库
dm达梦数据库
xugu虚谷数据库
kingbasees人大金仓数据库
phoenixPhoenix HBase 数据库
gaussGauss 数据库
clickhouseClickHouse 数据库
gbase南大通用(华库)数据库
gbase-8s南大通用数据库 GBase 8s
oscar神通数据库
sybaseSybase ASE 数据库
OceanBaseOceanBase 数据库
FirebirdFirebird 数据库
derbyDerby 数据库
highgo瀚高数据库
cubridCUBRID 数据库
goldilocksGOLDILOCKS 数据库
csiidbCSIIDB 数据库
hanaSAP_HANA 数据库
impalaImpala 数据库
verticaVertica 数据库
xcloud行云数据库
redshift亚马逊 redshift 数据库
openGauss华为 openGauss 数据库
TDengineTDengine 数据库
informixInformix 数据库
greenplumGreenplum 数据库
uxdb优炫数据库
DorisDoris 数据库
Hive SQLHive 数据库
lealoneLealone 数据库
sinodb星瑞格数据库

注意

虽然 Mybatis-flex 支持很多数据库,但是 Cool Admin 是具体的业务框架,无法做到全部支持,那样工作量太大了。但是它为我们提供了改造的可能,理论上你只需修改一些不兼容的代码就可以正常运行了。

除了 Mysql,我们正在适配:PostgreSQL、Sqlite

自动建表 ​

根据 Java 实体,自动映射成数据库的表结构。

用过 JPA 的都知道,JPA 有一项重要的能力就是表结构自动维护,这让我们可以可以专注于业务逻辑和实体,而不需要关心数据库的表、列的配置,尤其是开发过程中频繁的新增表及变更表结构,节省了大量手动工作。

框架集成了Auto Table,可以自动创建表,并且支持表字段的修改。

注意

切勿在生产环境开启自动建表功能,因为这可能会造成数据丢失。

',16),o=[s];function i(l,n,c,p,h,b){return r(),d("div",null,o)}const g=t(a,[["render",i]]);export{m as __pageData,g as default}; +import{_ as t,c as d,o as r,a5 as e}from"./chunks/framework.C_oE5szm.js";const m=JSON.parse('{"title":"数据库","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/db.md","filePath":"src/guide/db.md","lastUpdated":1721036629000}'),a={name:"src/guide/db.md"},s=e('

数据库 ​

Cool Admin 集成了比 Mybatis-Plus 更加强大的,Mybatis-Flex,详细用法请查看 Mybatis-Flex 官网文档

主要特点;

  • 更轻量:除了 MyBatis 本身,再无任何第三方依赖,因此会带来更高的自主性、把控性和稳定性。在任何一个系统中,依赖越多,稳定性越差。

  • 更灵活:提供了非常灵活的 QueryWrapper,支持关联查询、多表查询、多主键、逻辑删除、乐观锁更新、数据填充、数据脱敏等等。

  • 高性能:通过独特的架构,没有任何 MyBatis 拦截器、在 SQL 执行的过程中,没有任何的 SQL Parse,因此会带来指数级的性能增长。

功能对比 ​

功能或特点MyBatis-FlexMyBatis-PlusFluent-MyBatis
对 entity 的基本增删改查✅✅✅
分页查询✅✅✅
分页查询之总量缓存✅✅❌
分页查询无 SQL 解析设计(更轻量,及更高性能)✅❌✅
多表查询: from 多张表✅❌❌
多表查询: left join、inner join 等等✅❌✅
多表查询: union,union all✅❌✅
单主键配置✅✅✅
多种 id 生成策略✅✅✅
支持多主键、复合主键✅❌❌
字段的 typeHandler 配置✅✅✅
除了 MyBatis,无其他第三方依赖(更轻量)✅❌❌
QueryWrapper 是否支持在微服务项目下进行 RPC 传输✅❌未知
逻辑删除✅✅✅
乐观锁✅✅✅
SQL 审计✅❌❌
数据填充✅✅✅
数据脱敏✅✔️ (收费)❌
字段权限✅✔️ (收费)❌
字段加密✅✔️ (收费)❌
字典回写✅✔️ (收费)❌
Db + Row✅❌❌
Entity 监听✅❌❌
多数据源支持✅借助其他框架或收费❌
多数据源是否支持 Spring 的事务管理,比如 @Transactional 和 TransactionTemplate 等✅❌❌
多数据源是否支持 "非 Spring" 项目✅❌❌
多租户✅✅❌
动态表名✅✅❌
动态 Schema✅❌❌

注意

以上内容来自第三方相关产品的官方文档或第三方平台,若有错误,欢迎纠正。

支持数据库 ​

MyBatis-Flex 支持的数据库类型,如下表格所示,我们还可以通过自定义方言的方式,持续添加更多的数据库支持。

数据库描述
mysqlMySQL 数据库
mariadbMariaDB 数据库
oracleOracle11g 及以下数据库
oracle12cOracle12c 及以上数据库
db2DB2 数据库
H2H2 数据库
hsqlHSQL 数据库
sqliteSQLite 数据库
postgresqlPostgreSQL 数据库
sqlserver2005SQLServer2005 数据库
sqlserverSQLServer 数据库
dm达梦数据库
xugu虚谷数据库
kingbasees人大金仓数据库
phoenixPhoenix HBase 数据库
gaussGauss 数据库
clickhouseClickHouse 数据库
gbase南大通用(华库)数据库
gbase-8s南大通用数据库 GBase 8s
oscar神通数据库
sybaseSybase ASE 数据库
OceanBaseOceanBase 数据库
FirebirdFirebird 数据库
derbyDerby 数据库
highgo瀚高数据库
cubridCUBRID 数据库
goldilocksGOLDILOCKS 数据库
csiidbCSIIDB 数据库
hanaSAP_HANA 数据库
impalaImpala 数据库
verticaVertica 数据库
xcloud行云数据库
redshift亚马逊 redshift 数据库
openGauss华为 openGauss 数据库
TDengineTDengine 数据库
informixInformix 数据库
greenplumGreenplum 数据库
uxdb优炫数据库
DorisDoris 数据库
Hive SQLHive 数据库
lealoneLealone 数据库
sinodb星瑞格数据库

注意

虽然 Mybatis-flex 支持很多数据库,但是 Cool Admin 是具体的业务框架,无法做到全部支持,那样工作量太大了。但是它为我们提供了改造的可能,理论上你只需修改一些不兼容的代码就可以正常运行了。

除了 Mysql,我们正在适配:PostgreSQL、Sqlite

自动建表 ​

根据 Java 实体,自动映射成数据库的表结构。

用过 JPA 的都知道,JPA 有一项重要的能力就是表结构自动维护,这让我们可以可以专注于业务逻辑和实体,而不需要关心数据库的表、列的配置,尤其是开发过程中频繁的新增表及变更表结构,节省了大量手动工作。

框架集成了Auto Table,可以自动创建表,并且支持表字段的修改。

注意

切勿在生产环境开启自动建表功能,因为这可能会造成数据丢失。

',16),o=[s];function i(l,n,c,p,h,b){return r(),d("div",null,o)}const g=t(a,[["render",i]]);export{m as __pageData,g as default}; diff --git a/.vitepress/dist/assets/src_guide_db.md.CW_Li52O.lean.js b/.vitepress/dist/assets/src_guide_db.md.Duwyo5Xx.lean.js similarity index 69% rename from .vitepress/dist/assets/src_guide_db.md.CW_Li52O.lean.js rename to .vitepress/dist/assets/src_guide_db.md.Duwyo5Xx.lean.js index 3f8c218..7d4373b 100644 --- a/.vitepress/dist/assets/src_guide_db.md.CW_Li52O.lean.js +++ b/.vitepress/dist/assets/src_guide_db.md.Duwyo5Xx.lean.js @@ -1 +1 @@ -import{_ as t,c as d,o as r,a4 as e}from"./chunks/framework.DkvLLw5I.js";const m=JSON.parse('{"title":"数据库","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/db.md","filePath":"src/guide/db.md","lastUpdated":1721036629000}'),a={name:"src/guide/db.md"},s=e("",16),o=[s];function i(l,n,c,p,h,b){return r(),d("div",null,o)}const g=t(a,[["render",i]]);export{m as __pageData,g as default}; +import{_ as t,c as d,o as r,a5 as e}from"./chunks/framework.C_oE5szm.js";const m=JSON.parse('{"title":"数据库","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/db.md","filePath":"src/guide/db.md","lastUpdated":1721036629000}'),a={name:"src/guide/db.md"},s=e("",16),o=[s];function i(l,n,c,p,h,b){return r(),d("div",null,o)}const g=t(a,[["render",i]]);export{m as __pageData,g as default}; diff --git a/.vitepress/dist/assets/src_guide_dev.md.BolOgpNe.js b/.vitepress/dist/assets/src_guide_dev.md.Dkd1jFPN.js similarity index 98% rename from .vitepress/dist/assets/src_guide_dev.md.BolOgpNe.js rename to .vitepress/dist/assets/src_guide_dev.md.Dkd1jFPN.js index 3803db4..266d06a 100644 --- a/.vitepress/dist/assets/src_guide_dev.md.BolOgpNe.js +++ b/.vitepress/dist/assets/src_guide_dev.md.Dkd1jFPN.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a4 as n,a8 as e,a9 as l}from"./chunks/framework.DkvLLw5I.js";const F=JSON.parse('{"title":"开发方式","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/dev.md","filePath":"src/guide/dev.md","lastUpdated":1721036629000}'),t={name:"src/guide/dev.md"},h=n('

开发方式 ​

Cool Admin 推荐两种快速开发方式,可以大大节省开发时间,降低开发成本,提高开发效率。

Ai 全自动 ​

零代码开发(非低代码),通过微调大模型学习框架特有写法,实现简单功能从 Api 接口到前端页面的一键生成

开发过程只需点一点,调一调,不用写一行代码

B 站视频教程

半自动 ​

只需三步,创建实体类生成表,生成后端代码,生成前端代码

  • 编写实体类,重启生成表;
  • 运行代码生成器,生成 Service、Controller 等

文件:src/test/java/com/cool/CoolAdminJavaApplicationTests.java

java
public class CoolCodeGeneratorTest {
+import{_ as s,c as i,o as a,a5 as n,a9 as e,aa as l}from"./chunks/framework.C_oE5szm.js";const F=JSON.parse('{"title":"开发方式","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/dev.md","filePath":"src/guide/dev.md","lastUpdated":1721036629000}'),t={name:"src/guide/dev.md"},h=n('

开发方式 ​

Cool Admin 推荐两种快速开发方式,可以大大节省开发时间,降低开发成本,提高开发效率。

Ai 全自动 ​

零代码开发(非低代码),通过微调大模型学习框架特有写法,实现简单功能从 Api 接口到前端页面的一键生成

开发过程只需点一点,调一调,不用写一行代码

B 站视频教程

半自动 ​

只需三步,创建实体类生成表,生成后端代码,生成前端代码

  • 编写实体类,重启生成表;
  • 运行代码生成器,生成 Service、Controller 等

文件:src/test/java/com/cool/CoolAdminJavaApplicationTests.java

java
public class CoolCodeGeneratorTest {
     public static void main(String[] args) {
         CodeGenerator codeGenerator = new CodeGenerator();
         codeGenerator.init();
diff --git a/.vitepress/dist/assets/src_guide_dev.md.BolOgpNe.lean.js b/.vitepress/dist/assets/src_guide_dev.md.Dkd1jFPN.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_dev.md.BolOgpNe.lean.js
rename to .vitepress/dist/assets/src_guide_dev.md.Dkd1jFPN.lean.js
index d44d259..9775334 100644
--- a/.vitepress/dist/assets/src_guide_dev.md.BolOgpNe.lean.js
+++ b/.vitepress/dist/assets/src_guide_dev.md.Dkd1jFPN.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n,a8 as e,a9 as l}from"./chunks/framework.DkvLLw5I.js";const F=JSON.parse('{"title":"开发方式","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/dev.md","filePath":"src/guide/dev.md","lastUpdated":1721036629000}'),t={name:"src/guide/dev.md"},h=n("",15),p=[h];function k(d,r,E,o,c,g){return a(),i("div",null,p)}const _=s(t,[["render",k]]);export{F as __pageData,_ as default};
+import{_ as s,c as i,o as a,a5 as n,a9 as e,aa as l}from"./chunks/framework.C_oE5szm.js";const F=JSON.parse('{"title":"开发方式","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/dev.md","filePath":"src/guide/dev.md","lastUpdated":1721036629000}'),t={name:"src/guide/dev.md"},h=n("",15),p=[h];function k(d,r,E,o,c,g){return a(),i("div",null,p)}const _=s(t,[["render",k]]);export{F as __pageData,_ as default};
diff --git a/.vitepress/dist/assets/src_guide_dir.md.yr-Ujx3e.js b/.vitepress/dist/assets/src_guide_dir.md.RpZMF5oN.js
similarity index 96%
rename from .vitepress/dist/assets/src_guide_dir.md.yr-Ujx3e.js
rename to .vitepress/dist/assets/src_guide_dir.md.RpZMF5oN.js
index 239b4a7..9743540 100644
--- a/.vitepress/dist/assets/src_guide_dir.md.yr-Ujx3e.js
+++ b/.vitepress/dist/assets/src_guide_dir.md.RpZMF5oN.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as n,a4 as p}from"./chunks/framework.DkvLLw5I.js";const h=JSON.parse('{"title":"目录结构","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/dir.md","filePath":"src/guide/dir.md","lastUpdated":1721036629000}'),e={name:"src/guide/dir.md"},l=p(`

目录结构 ​

项目按照模块化的方式组织,每个模块都有其特有的功能,清晰明了便于管理。

结构 ​

.
+import{_ as s,c as a,o as n,a5 as p}from"./chunks/framework.C_oE5szm.js";const h=JSON.parse('{"title":"目录结构","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/dir.md","filePath":"src/guide/dir.md","lastUpdated":1721036629000}'),e={name:"src/guide/dir.md"},l=p(`

目录结构 ​

项目按照模块化的方式组织,每个模块都有其特有的功能,清晰明了便于管理。

结构 ​

.
 main
 ├─ java
 │  ├─ com.cool
diff --git a/.vitepress/dist/assets/src_guide_dir.md.yr-Ujx3e.lean.js b/.vitepress/dist/assets/src_guide_dir.md.RpZMF5oN.lean.js
similarity index 69%
rename from .vitepress/dist/assets/src_guide_dir.md.yr-Ujx3e.lean.js
rename to .vitepress/dist/assets/src_guide_dir.md.RpZMF5oN.lean.js
index 3c4cb7f..23df3ce 100644
--- a/.vitepress/dist/assets/src_guide_dir.md.yr-Ujx3e.lean.js
+++ b/.vitepress/dist/assets/src_guide_dir.md.RpZMF5oN.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,a4 as p}from"./chunks/framework.DkvLLw5I.js";const h=JSON.parse('{"title":"目录结构","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/dir.md","filePath":"src/guide/dir.md","lastUpdated":1721036629000}'),e={name:"src/guide/dir.md"},l=p("",5),c=[l];function i(t,o,r,d,u,_){return n(),a("div",null,c)}const b=s(e,[["render",i]]);export{h as __pageData,b as default};
+import{_ as s,c as a,o as n,a5 as p}from"./chunks/framework.C_oE5szm.js";const h=JSON.parse('{"title":"目录结构","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/dir.md","filePath":"src/guide/dir.md","lastUpdated":1721036629000}'),e={name:"src/guide/dir.md"},l=p("",5),c=[l];function i(t,o,r,d,u,_){return n(),a("div",null,c)}const b=s(e,[["render",i]]);export{h as __pageData,b as default};
diff --git a/.vitepress/dist/assets/src_guide_exception.md.BnNhx80g.js b/.vitepress/dist/assets/src_guide_exception.md.B8TYnOY4.js
similarity index 99%
rename from .vitepress/dist/assets/src_guide_exception.md.BnNhx80g.js
rename to .vitepress/dist/assets/src_guide_exception.md.B8TYnOY4.js
index 50d0f5e..d1a8b0c 100644
--- a/.vitepress/dist/assets/src_guide_exception.md.BnNhx80g.js
+++ b/.vitepress/dist/assets/src_guide_exception.md.B8TYnOY4.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const F=JSON.parse('{"title":"统一异常处理","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/exception.md","filePath":"src/guide/exception.md","lastUpdated":1721036629000}'),h={name:"src/guide/exception.md"},k=n(`

统一异常处理 ​

提供了简化的业务异常抛出工具

  • CoolPreconditions.check(check != null, "用户名已存在");

异常统一捕获 ​

java
@RestControllerAdvice
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const F=JSON.parse('{"title":"统一异常处理","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/exception.md","filePath":"src/guide/exception.md","lastUpdated":1721036629000}'),h={name:"src/guide/exception.md"},k=n(`

统一异常处理 ​

提供了简化的业务异常抛出工具

  • CoolPreconditions.check(check != null, "用户名已存在");

异常统一捕获 ​

java
@RestControllerAdvice
 @Slf4j
 public class CoolExceptionHandler {
 
diff --git a/.vitepress/dist/assets/src_guide_exception.md.BnNhx80g.lean.js b/.vitepress/dist/assets/src_guide_exception.md.B8TYnOY4.lean.js
similarity index 71%
rename from .vitepress/dist/assets/src_guide_exception.md.BnNhx80g.lean.js
rename to .vitepress/dist/assets/src_guide_exception.md.B8TYnOY4.lean.js
index 08653d1..74997d4 100644
--- a/.vitepress/dist/assets/src_guide_exception.md.BnNhx80g.lean.js
+++ b/.vitepress/dist/assets/src_guide_exception.md.B8TYnOY4.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const F=JSON.parse('{"title":"统一异常处理","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/exception.md","filePath":"src/guide/exception.md","lastUpdated":1721036629000}'),h={name:"src/guide/exception.md"},k=n("",9),t=[k];function l(p,e,E,r,d,g){return a(),i("div",null,t)}const c=s(h,[["render",l]]);export{F as __pageData,c as default};
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const F=JSON.parse('{"title":"统一异常处理","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/exception.md","filePath":"src/guide/exception.md","lastUpdated":1721036629000}'),h={name:"src/guide/exception.md"},k=n("",9),t=[k];function l(p,e,E,r,d,g){return a(),i("div",null,t)}const c=s(h,[["render",l]]);export{F as __pageData,c as default};
diff --git a/.vitepress/dist/assets/src_guide_flow.md.DW-rwMWD.js b/.vitepress/dist/assets/src_guide_flow.md.Bg5zEnLF.js
similarity index 91%
rename from .vitepress/dist/assets/src_guide_flow.md.DW-rwMWD.js
rename to .vitepress/dist/assets/src_guide_flow.md.Bg5zEnLF.js
index c479b12..84b677c 100644
--- a/.vitepress/dist/assets/src_guide_flow.md.DW-rwMWD.js
+++ b/.vitepress/dist/assets/src_guide_flow.md.Bg5zEnLF.js
@@ -1 +1 @@
-import{_ as e,c as a,o as t,a4 as o,aa as i}from"./chunks/framework.DkvLLw5I.js";const u=JSON.parse('{"title":"Ai 流程编排","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/flow.md","filePath":"src/guide/flow.md","lastUpdated":1721036629000}'),r={name:"src/guide/flow.md"},s=o('

Ai 流程编排 ​

coming soon!!!

Nodejs 版本

视频演示

开发 Ai 应用必备!!!

随着 Ai 的火热,很多应用希望接入 Ai 的能力,但是每次都是用代码手搓,容易把我们累死,而是也非常不灵活。

于是我们面向开发者和软件开发公司,做了一个 Ai 流程编排功能,结合知识库,通过拖动配置,很容易就能完成一个 Ai 的核心流程。

因此如果你需要开发 Ai 相关应用,这个可能会给你带来巨大的帮助。

流程编排

注意

Ai 流程编排+知识库届时会上架到插件市场

',10),p=[s];function c(l,_,n,d,m,f){return t(),a("div",null,p)}const A=e(r,[["render",c]]);export{u as __pageData,A as default}; +import{_ as e,c as a,o as t,a5 as o,ab as i}from"./chunks/framework.C_oE5szm.js";const u=JSON.parse('{"title":"Ai 流程编排","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/flow.md","filePath":"src/guide/flow.md","lastUpdated":1721036629000}'),r={name:"src/guide/flow.md"},s=o('

Ai 流程编排 ​

coming soon!!!

Nodejs 版本

视频演示

开发 Ai 应用必备!!!

随着 Ai 的火热,很多应用希望接入 Ai 的能力,但是每次都是用代码手搓,容易把我们累死,而是也非常不灵活。

于是我们面向开发者和软件开发公司,做了一个 Ai 流程编排功能,结合知识库,通过拖动配置,很容易就能完成一个 Ai 的核心流程。

因此如果你需要开发 Ai 相关应用,这个可能会给你带来巨大的帮助。

流程编排

注意

Ai 流程编排+知识库届时会上架到插件市场

',10),p=[s];function c(l,_,n,d,m,f){return t(),a("div",null,p)}const A=e(r,[["render",c]]);export{u as __pageData,A as default}; diff --git a/.vitepress/dist/assets/src_guide_flow.md.DW-rwMWD.lean.js b/.vitepress/dist/assets/src_guide_flow.md.Bg5zEnLF.lean.js similarity index 70% rename from .vitepress/dist/assets/src_guide_flow.md.DW-rwMWD.lean.js rename to .vitepress/dist/assets/src_guide_flow.md.Bg5zEnLF.lean.js index 6c43c27..725522e 100644 --- a/.vitepress/dist/assets/src_guide_flow.md.DW-rwMWD.lean.js +++ b/.vitepress/dist/assets/src_guide_flow.md.Bg5zEnLF.lean.js @@ -1 +1 @@ -import{_ as e,c as a,o as t,a4 as o,aa as i}from"./chunks/framework.DkvLLw5I.js";const u=JSON.parse('{"title":"Ai 流程编排","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/flow.md","filePath":"src/guide/flow.md","lastUpdated":1721036629000}'),r={name:"src/guide/flow.md"},s=o("",10),p=[s];function c(l,_,n,d,m,f){return t(),a("div",null,p)}const A=e(r,[["render",c]]);export{u as __pageData,A as default}; +import{_ as e,c as a,o as t,a5 as o,ab as i}from"./chunks/framework.C_oE5szm.js";const u=JSON.parse('{"title":"Ai 流程编排","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/flow.md","filePath":"src/guide/flow.md","lastUpdated":1721036629000}'),r={name:"src/guide/flow.md"},s=o("",10),p=[s];function c(l,_,n,d,m,f){return t(),a("div",null,p)}const A=e(r,[["render",c]]);export{u as __pageData,A as default}; diff --git a/.vitepress/dist/assets/src_guide_initData.md.xxcXuYBs.js b/.vitepress/dist/assets/src_guide_initData.md.CWyYHbHt.js similarity index 98% rename from .vitepress/dist/assets/src_guide_initData.md.xxcXuYBs.js rename to .vitepress/dist/assets/src_guide_initData.md.CWyYHbHt.js index d0f7669..d09d818 100644 --- a/.vitepress/dist/assets/src_guide_initData.md.xxcXuYBs.js +++ b/.vitepress/dist/assets/src_guide_initData.md.CWyYHbHt.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const g=JSON.parse('{"title":"数据初始化","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/initData.md","filePath":"src/guide/initData.md","lastUpdated":1721036629000}'),p={name:"src/guide/initData.md"},l=n(`

数据初始化 ​

有些功能模块上线时,需要初始化一些数据

可以在 resources 下的 cool/data/db 目录创建 demo.json 文件

json 格式如下,demo 为表的名称,里面是个数组,数组里可以包含多个对象,每个对象中的 key 为表的字段,value 为对应的值

规范:实体需以 Entity 结尾

json
{
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const g=JSON.parse('{"title":"数据初始化","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/initData.md","filePath":"src/guide/initData.md","lastUpdated":1721036629000}'),p={name:"src/guide/initData.md"},l=n(`

数据初始化 ​

有些功能模块上线时,需要初始化一些数据

可以在 resources 下的 cool/data/db 目录创建 demo.json 文件

json 格式如下,demo 为表的名称,里面是个数组,数组里可以包含多个对象,每个对象中的 key 为表的字段,value 为对应的值

规范:实体需以 Entity 结尾

json
{
   "demo": [
     {
       "keyName": "rich",
diff --git a/.vitepress/dist/assets/src_guide_initData.md.xxcXuYBs.lean.js b/.vitepress/dist/assets/src_guide_initData.md.CWyYHbHt.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_initData.md.xxcXuYBs.lean.js
rename to .vitepress/dist/assets/src_guide_initData.md.CWyYHbHt.lean.js
index 302c782..08a1e65 100644
--- a/.vitepress/dist/assets/src_guide_initData.md.xxcXuYBs.lean.js
+++ b/.vitepress/dist/assets/src_guide_initData.md.CWyYHbHt.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const g=JSON.parse('{"title":"数据初始化","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/initData.md","filePath":"src/guide/initData.md","lastUpdated":1721036629000}'),p={name:"src/guide/initData.md"},l=n("",10),t=[l];function h(k,e,E,r,d,o){return a(),i("div",null,t)}const y=s(p,[["render",h]]);export{g as __pageData,y as default};
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const g=JSON.parse('{"title":"数据初始化","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/initData.md","filePath":"src/guide/initData.md","lastUpdated":1721036629000}'),p={name:"src/guide/initData.md"},l=n("",10),t=[l];function h(k,e,E,r,d,o){return a(),i("div",null,t)}const y=s(p,[["render",h]]);export{g as __pageData,y as default};
diff --git a/.vitepress/dist/assets/src_guide_plugin.md.D3cyKMhP.js b/.vitepress/dist/assets/src_guide_plugin.md.Har19Yp0.js
similarity index 99%
rename from .vitepress/dist/assets/src_guide_plugin.md.D3cyKMhP.js
rename to .vitepress/dist/assets/src_guide_plugin.md.Har19Yp0.js
index c8f9498..536dd78 100644
--- a/.vitepress/dist/assets/src_guide_plugin.md.D3cyKMhP.js
+++ b/.vitepress/dist/assets/src_guide_plugin.md.Har19Yp0.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n,ab as l}from"./chunks/framework.DkvLLw5I.js";const c=JSON.parse('{"title":"扩展插件","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/plugin.md","filePath":"src/guide/plugin.md","lastUpdated":1721036629000}'),p={name:"src/guide/plugin.md"},t=n('

扩展插件 ​

为了丰富系统功能,我们提供了插件系统,可以通过插件的方式来扩展系统功能。

而不用一味地堆功能,导致系统臃肿。你可以自己开发插件,也可以使用别人开发的插件。

点击前往插件市场

使用插件 ​

1、安装 ​

首先下载插件包,然后在系统中安装插件包。插件包可以通过官网下载插件。

打开后台管理系统,点击左侧菜单扩展管理/插件管理,点击+按钮,选择插件包进行安装。

2、调用 ​

安装插件之后,就可以在代码中调用插件的方法了。

java
package com.cool.core.base.controller;
+import{_ as s,c as i,o as a,a5 as n,ac as l}from"./chunks/framework.C_oE5szm.js";const c=JSON.parse('{"title":"扩展插件","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/plugin.md","filePath":"src/guide/plugin.md","lastUpdated":1721036629000}'),p={name:"src/guide/plugin.md"},t=n('

扩展插件 ​

为了丰富系统功能,我们提供了插件系统,可以通过插件的方式来扩展系统功能。

而不用一味地堆功能,导致系统臃肿。你可以自己开发插件,也可以使用别人开发的插件。

点击前往插件市场

使用插件 ​

1、安装 ​

首先下载插件包,然后在系统中安装插件包。插件包可以通过官网下载插件。

打开后台管理系统,点击左侧菜单扩展管理/插件管理,点击+按钮,选择插件包进行安装。

2、调用 ​

安装插件之后,就可以在代码中调用插件的方法了。

java
package com.cool.core.base.controller;
 
 import cn.hutool.core.util.ObjUtil;
 import com.cool.core.util.CoolPluginInvokers;
diff --git a/.vitepress/dist/assets/src_guide_plugin.md.D3cyKMhP.lean.js b/.vitepress/dist/assets/src_guide_plugin.md.Har19Yp0.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_plugin.md.D3cyKMhP.lean.js
rename to .vitepress/dist/assets/src_guide_plugin.md.Har19Yp0.lean.js
index bc69f29..22a1e7e 100644
--- a/.vitepress/dist/assets/src_guide_plugin.md.D3cyKMhP.lean.js
+++ b/.vitepress/dist/assets/src_guide_plugin.md.Har19Yp0.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n,ab as l}from"./chunks/framework.DkvLLw5I.js";const c=JSON.parse('{"title":"扩展插件","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/plugin.md","filePath":"src/guide/plugin.md","lastUpdated":1721036629000}'),p={name:"src/guide/plugin.md"},t=n("",64),h=[t];function k(e,E,r,d,g,o){return a(),i("div",null,h)}const u=s(p,[["render",k]]);export{c as __pageData,u as default};
+import{_ as s,c as i,o as a,a5 as n,ac as l}from"./chunks/framework.C_oE5szm.js";const c=JSON.parse('{"title":"扩展插件","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/plugin.md","filePath":"src/guide/plugin.md","lastUpdated":1721036629000}'),p={name:"src/guide/plugin.md"},t=n("",64),h=[t];function k(e,E,r,d,g,o){return a(),i("div",null,h)}const u=s(p,[["render",k]]);export{c as __pageData,u as default};
diff --git a/.vitepress/dist/assets/src_guide_quick.md.BnN2Y-B1.js b/.vitepress/dist/assets/src_guide_quick.md.B3Pgf-em.js
similarity index 98%
rename from .vitepress/dist/assets/src_guide_quick.md.BnN2Y-B1.js
rename to .vitepress/dist/assets/src_guide_quick.md.B3Pgf-em.js
index 3c57871..007fe3a 100644
--- a/.vitepress/dist/assets/src_guide_quick.md.BnN2Y-B1.js
+++ b/.vitepress/dist/assets/src_guide_quick.md.B3Pgf-em.js
@@ -1,4 +1,4 @@
-import{_ as a,c as s,o as i,a4 as e,ac as n,ad as l}from"./chunks/framework.DkvLLw5I.js";const E=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/quick.md","filePath":"src/guide/quick.md","lastUpdated":1721036629000}'),t={name:"src/guide/quick.md"},p=e(`

快速开始 ​

开始使用 Cool-Admin!!!

环境准备 ​

  • Java Jdk >= 17 (注意:选择 GraalVM)
  • Mysql >= 5.7 (推荐 8.0)
  • Maven >= 3.6 (推荐 3.9)

运行系统 ​

1、拉取源码 ​

项目是前后端分离的,需要分别拉取前后端代码到本地,源码仓库

2、配置数据库 ​

后端修改数据库配置,配置文件位于src/resources/application-local.yml

以 Mysql 为例,其他数据库适配中...

Mysql(>=5.7版本),建议 8.0,首次启动会自动初始化并导入数据

yaml
# mysql,驱动已经内置,无需安装
+import{_ as a,c as s,o as i,a5 as e,ad as n,ae as l}from"./chunks/framework.C_oE5szm.js";const E=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/quick.md","filePath":"src/guide/quick.md","lastUpdated":1721036629000}'),t={name:"src/guide/quick.md"},p=e(`

快速开始 ​

开始使用 Cool-Admin!!!

环境准备 ​

  • Java Jdk >= 17 (注意:选择 GraalVM)
  • Mysql >= 5.7 (推荐 8.0)
  • Maven >= 3.6 (推荐 3.9)

运行系统 ​

1、拉取源码 ​

项目是前后端分离的,需要分别拉取前后端代码到本地,源码仓库

2、配置数据库 ​

后端修改数据库配置,配置文件位于src/resources/application-local.yml

以 Mysql 为例,其他数据库适配中...

Mysql(>=5.7版本),建议 8.0,首次启动会自动初始化并导入数据

yaml
# mysql,驱动已经内置,无需安装
 spring:
   datasource:
     url: jdbc:mysql://127.0.0.1:3306/cool?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
diff --git a/.vitepress/dist/assets/src_guide_quick.md.BnN2Y-B1.lean.js b/.vitepress/dist/assets/src_guide_quick.md.B3Pgf-em.lean.js
similarity index 71%
rename from .vitepress/dist/assets/src_guide_quick.md.BnN2Y-B1.lean.js
rename to .vitepress/dist/assets/src_guide_quick.md.B3Pgf-em.lean.js
index e30fb8b..6fcc377 100644
--- a/.vitepress/dist/assets/src_guide_quick.md.BnN2Y-B1.lean.js
+++ b/.vitepress/dist/assets/src_guide_quick.md.B3Pgf-em.lean.js
@@ -1 +1 @@
-import{_ as a,c as s,o as i,a4 as e,ac as n,ad as l}from"./chunks/framework.DkvLLw5I.js";const E=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/quick.md","filePath":"src/guide/quick.md","lastUpdated":1721036629000}'),t={name:"src/guide/quick.md"},p=e("",23),h=[p];function r(o,c,d,k,g,u){return i(),s("div",null,h)}const _=a(t,[["render",r]]);export{E as __pageData,_ as default};
+import{_ as a,c as s,o as i,a5 as e,ad as n,ae as l}from"./chunks/framework.C_oE5szm.js";const E=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/quick.md","filePath":"src/guide/quick.md","lastUpdated":1721036629000}'),t={name:"src/guide/quick.md"},p=e("",23),h=[p];function r(o,c,d,k,g,u){return i(),s("div",null,h)}const _=a(t,[["render",r]]);export{E as __pageData,_ as default};
diff --git a/.vitepress/dist/assets/src_guide_security.md.DhNBVqnr.js b/.vitepress/dist/assets/src_guide_security.md.D2ao104D.js
similarity index 99%
rename from .vitepress/dist/assets/src_guide_security.md.DhNBVqnr.js
rename to .vitepress/dist/assets/src_guide_security.md.D2ao104D.js
index ddc3c5e..fa34583 100644
--- a/.vitepress/dist/assets/src_guide_security.md.DhNBVqnr.js
+++ b/.vitepress/dist/assets/src_guide_security.md.D2ao104D.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const c=JSON.parse('{"title":"权限校验","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/security.md","filePath":"src/guide/security.md","lastUpdated":1721036629000}'),h={name:"src/guide/security.md"},k=n(`

权限校验 ​

采用 spring-security 与 jwt 作为框架安全与权限校验。

配置 ​

yaml
cool:
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const c=JSON.parse('{"title":"权限校验","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/security.md","filePath":"src/guide/security.md","lastUpdated":1721036629000}'),h={name:"src/guide/security.md"},k=n(`

权限校验 ​

采用 spring-security 与 jwt 作为框架安全与权限校验。

配置 ​

yaml
cool:
   # token 相关配置
   token:
     # 过期时间 单位:秒 半小时
diff --git a/.vitepress/dist/assets/src_guide_security.md.DhNBVqnr.lean.js b/.vitepress/dist/assets/src_guide_security.md.D2ao104D.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_security.md.DhNBVqnr.lean.js
rename to .vitepress/dist/assets/src_guide_security.md.D2ao104D.lean.js
index 6be031e..e1274cb 100644
--- a/.vitepress/dist/assets/src_guide_security.md.DhNBVqnr.lean.js
+++ b/.vitepress/dist/assets/src_guide_security.md.D2ao104D.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const c=JSON.parse('{"title":"权限校验","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/security.md","filePath":"src/guide/security.md","lastUpdated":1721036629000}'),h={name:"src/guide/security.md"},k=n("",20),l=[k];function t(p,e,E,r,d,g){return a(),i("div",null,l)}const F=s(h,[["render",t]]);export{c as __pageData,F as default};
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const c=JSON.parse('{"title":"权限校验","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/security.md","filePath":"src/guide/security.md","lastUpdated":1721036629000}'),h={name:"src/guide/security.md"},k=n("",20),l=[k];function t(p,e,E,r,d,g){return a(),i("div",null,l)}const F=s(h,[["render",t]]);export{c as __pageData,F as default};
diff --git a/.vitepress/dist/assets/src_guide_service.md.NY_1YFAS.js b/.vitepress/dist/assets/src_guide_service.md.DFVHuVBZ.js
similarity index 97%
rename from .vitepress/dist/assets/src_guide_service.md.NY_1YFAS.js
rename to .vitepress/dist/assets/src_guide_service.md.DFVHuVBZ.js
index f078e63..b1bc374 100644
--- a/.vitepress/dist/assets/src_guide_service.md.NY_1YFAS.js
+++ b/.vitepress/dist/assets/src_guide_service.md.DFVHuVBZ.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const g=JSON.parse('{"title":"服务","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/service.md","filePath":"src/guide/service.md","lastUpdated":1721036629000}'),e={name:"src/guide/service.md"},l=n(`

服务 ​

处理业务逻辑的代码应该被封装在服务中。

Crud ​

BaseService中集成了常用的 CRUD 操作,可以参考BaseService的实现。

修改前后 ​

可以重写modifyBefore和modifyAfter方法,在修改数据之前或之后做一些处理

  • 修改之前
java
/**
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const g=JSON.parse('{"title":"服务","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/service.md","filePath":"src/guide/service.md","lastUpdated":1721036629000}'),e={name:"src/guide/service.md"},l=n(`

服务 ​

处理业务逻辑的代码应该被封装在服务中。

Crud ​

BaseService中集成了常用的 CRUD 操作,可以参考BaseService的实现。

修改前后 ​

可以重写modifyBefore和modifyAfter方法,在修改数据之前或之后做一些处理

  • 修改之前
java
/**
  * 修改之前
  *
  * @param requestParams 请求参数
diff --git a/.vitepress/dist/assets/src_guide_service.md.NY_1YFAS.lean.js b/.vitepress/dist/assets/src_guide_service.md.DFVHuVBZ.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_service.md.NY_1YFAS.lean.js
rename to .vitepress/dist/assets/src_guide_service.md.DFVHuVBZ.lean.js
index 896898a..512efc2 100644
--- a/.vitepress/dist/assets/src_guide_service.md.NY_1YFAS.lean.js
+++ b/.vitepress/dist/assets/src_guide_service.md.DFVHuVBZ.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const g=JSON.parse('{"title":"服务","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/service.md","filePath":"src/guide/service.md","lastUpdated":1721036629000}'),e={name:"src/guide/service.md"},l=n("",10),p=[l];function t(h,k,r,d,c,o){return a(),i("div",null,p)}const y=s(e,[["render",t]]);export{g as __pageData,y as default};
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const g=JSON.parse('{"title":"服务","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/service.md","filePath":"src/guide/service.md","lastUpdated":1721036629000}'),e={name:"src/guide/service.md"},l=n("",10),p=[l];function t(h,k,r,d,c,o){return a(),i("div",null,p)}const y=s(e,[["render",t]]);export{g as __pageData,y as default};
diff --git a/.vitepress/dist/assets/src_guide_swagger.md.C8SICQIq.js b/.vitepress/dist/assets/src_guide_swagger.md.Cb0cwFc8.js
similarity index 97%
rename from .vitepress/dist/assets/src_guide_swagger.md.C8SICQIq.js
rename to .vitepress/dist/assets/src_guide_swagger.md.Cb0cwFc8.js
index a0dca5e..95e18ab 100644
--- a/.vitepress/dist/assets/src_guide_swagger.md.C8SICQIq.js
+++ b/.vitepress/dist/assets/src_guide_swagger.md.Cb0cwFc8.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DkvLLw5I.js";const y=JSON.parse('{"title":"swagger 文档","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/swagger.md","filePath":"src/guide/swagger.md","lastUpdated":1720593505000}'),h={name:"src/guide/swagger.md"},n=t(`

swagger 文档 ​

默认集成springdoc,作为文档。

java
@Tag(name = "测试CURD", description = "测试CURD")
+import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.C_oE5szm.js";const y=JSON.parse('{"title":"swagger 文档","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/swagger.md","filePath":"src/guide/swagger.md","lastUpdated":1720593505000}'),h={name:"src/guide/swagger.md"},n=t(`

swagger 文档 ​

默认集成springdoc,作为文档。

java
@Tag(name = "测试CURD", description = "测试CURD")
 @CoolRestController(value = "/cool", api = {"add", "delete", "update", "page", "list", "info"})
 public class AdminDemoInfoController extends BaseController<DemoService, DemoEntity> {
     @Override
diff --git a/.vitepress/dist/assets/src_guide_swagger.md.C8SICQIq.lean.js b/.vitepress/dist/assets/src_guide_swagger.md.Cb0cwFc8.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_swagger.md.C8SICQIq.lean.js
rename to .vitepress/dist/assets/src_guide_swagger.md.Cb0cwFc8.lean.js
index fc5410e..070fcc1 100644
--- a/.vitepress/dist/assets/src_guide_swagger.md.C8SICQIq.lean.js
+++ b/.vitepress/dist/assets/src_guide_swagger.md.Cb0cwFc8.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DkvLLw5I.js";const y=JSON.parse('{"title":"swagger 文档","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/swagger.md","filePath":"src/guide/swagger.md","lastUpdated":1720593505000}'),h={name:"src/guide/swagger.md"},n=t("",4),e=[n];function k(l,p,r,E,d,g){return a(),i("div",null,e)}const F=s(h,[["render",k]]);export{y as __pageData,F as default};
+import{_ as s,c as i,o as a,a5 as t}from"./chunks/framework.C_oE5szm.js";const y=JSON.parse('{"title":"swagger 文档","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/swagger.md","filePath":"src/guide/swagger.md","lastUpdated":1720593505000}'),h={name:"src/guide/swagger.md"},n=t("",4),e=[n];function k(l,p,r,E,d,g){return a(),i("div",null,e)}const F=s(h,[["render",k]]);export{y as __pageData,F as default};
diff --git a/.vitepress/dist/assets/src_guide_upload.md.B0f_XRGJ.js b/.vitepress/dist/assets/src_guide_upload.md.CxcWqhw1.js
similarity index 98%
rename from .vitepress/dist/assets/src_guide_upload.md.B0f_XRGJ.js
rename to .vitepress/dist/assets/src_guide_upload.md.CxcWqhw1.js
index 9205605..c9c01c4 100644
--- a/.vitepress/dist/assets/src_guide_upload.md.B0f_XRGJ.js
+++ b/.vitepress/dist/assets/src_guide_upload.md.CxcWqhw1.js
@@ -1,4 +1,4 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const o=JSON.parse('{"title":"文件上传","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/upload.md","filePath":"src/guide/upload.md","lastUpdated":1721036629000}'),l={name:"src/guide/upload.md"},h=n(`

文件上传 ​

框架自带两种文件上传方式本地上传与云存储,与前端紧密结合,

前端会根据后端返回的上传模式进行本地上传或者云存储签名直传(不经过服务器,直接上传到对应的云存储)

  • 本地上传
  • 云存储,如阿里云、腾讯云、七牛云等

TIP

安装云存储插件,如 Oss,系统的文件上传就会自动替换成云存储上传的方式,云存储上传服务端值提供签名供前端直传到对应的云存储

使用 ​

application.yml

yaml
cool:
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const o=JSON.parse('{"title":"文件上传","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/upload.md","filePath":"src/guide/upload.md","lastUpdated":1721036629000}'),l={name:"src/guide/upload.md"},h=n(`

文件上传 ​

框架自带两种文件上传方式本地上传与云存储,与前端紧密结合,

前端会根据后端返回的上传模式进行本地上传或者云存储签名直传(不经过服务器,直接上传到对应的云存储)

  • 本地上传
  • 云存储,如阿里云、腾讯云、七牛云等

TIP

安装云存储插件,如 Oss,系统的文件上传就会自动替换成云存储上传的方式,云存储上传服务端值提供签名供前端直传到对应的云存储

使用 ​

application.yml

yaml
cool:
   # 文件上传相关
   file:
     #上传模式
diff --git a/.vitepress/dist/assets/src_guide_upload.md.B0f_XRGJ.lean.js b/.vitepress/dist/assets/src_guide_upload.md.CxcWqhw1.lean.js
similarity index 70%
rename from .vitepress/dist/assets/src_guide_upload.md.B0f_XRGJ.lean.js
rename to .vitepress/dist/assets/src_guide_upload.md.CxcWqhw1.lean.js
index c3f8511..106d932 100644
--- a/.vitepress/dist/assets/src_guide_upload.md.B0f_XRGJ.lean.js
+++ b/.vitepress/dist/assets/src_guide_upload.md.CxcWqhw1.lean.js
@@ -1 +1 @@
-import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DkvLLw5I.js";const o=JSON.parse('{"title":"文件上传","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/upload.md","filePath":"src/guide/upload.md","lastUpdated":1721036629000}'),l={name:"src/guide/upload.md"},h=n("",11),p=[h];function k(t,e,E,r,d,g){return a(),i("div",null,p)}const F=s(l,[["render",k]]);export{o as __pageData,F as default};
+import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const o=JSON.parse('{"title":"文件上传","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/upload.md","filePath":"src/guide/upload.md","lastUpdated":1721036629000}'),l={name:"src/guide/upload.md"},h=n("",11),p=[h];function k(t,e,E,r,d,g){return a(),i("div",null,p)}const F=s(l,[["render",k]]);export{o as __pageData,F as default};
diff --git a/.vitepress/dist/assets/src_introduce_index.md.BzftqBMQ.js b/.vitepress/dist/assets/src_introduce_index.md.DA1PheMx.js
similarity index 96%
rename from .vitepress/dist/assets/src_introduce_index.md.BzftqBMQ.js
rename to .vitepress/dist/assets/src_introduce_index.md.DA1PheMx.js
index ab12547..17f4142 100644
--- a/.vitepress/dist/assets/src_introduce_index.md.BzftqBMQ.js
+++ b/.vitepress/dist/assets/src_introduce_index.md.DA1PheMx.js
@@ -1 +1 @@
-import{_ as i,c as l,o as e,a4 as t,ad as a,aa as o}from"./chunks/framework.DkvLLw5I.js";const x=JSON.parse('{"title":"简介","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/index.md","filePath":"src/introduce/index.md","lastUpdated":1721036629000}'),r={name:"src/introduce/index.md"},n=t('

简介 ​

技术选型 ​

按照简单、常用的技术进行选择,减少技术栈的复杂度。

一、环境要求 ​

  • Java Jdk >= 17 选择 graalvm
  • Mysql >= 5.7
  • Maven >= 3.6

二、后端框架 ​

  • Spring Boot 3.x
  • Mybatis Flex
  • Auto Table
  • Hutool

三、前端框架 ​

  • Vue3
  • Typescript
  • Element-UI

为什么选择 Cool Admin? ​

随着技术不断地发展,特别是最近 Ai 相关的技术发展,以往的框架已经越来越不能满足现代化的开发需求。

Cool Admin 做为后来者有后发优势,主要特点:

  • Ai 编码,从页面到后端代码,部分功能实现零代码;
  • Ai 流程编排,专门为 Ai 开发设计的,Ai 开发几乎不用写代码,只需拖一拖即可;
  • 扩展插件,可插拔,如支付、短信这类功能的插件可以通过后台动态安装卸载,灵活又不臃肿;
  • 代码简洁,不像一般代码生成器生成一堆冗余代码,Cool 只需极少编码即可实现大部分需求;
  • ......

内置功能 ​

  • 用户管理:呈现公司组织部门树形结构,用户是系统操作者,该功能主要完成系统用户配置。
  • 菜单管理:配置系统菜单,操作权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 参数管理:对系统动态配置常用参数。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 请求日志:接口的请求入参日志,便于问题排查。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 文件管理:支持静态资源文件上传云端进行云管理。
  • 数据回收站:数据有 n 天的保留,支持回滚操作。
  • 前后端插件:支持动态安装、卸载插件,实现功能可插拔。
',18),d=[n];function s(c,h,u,m,_,p){return e(),l("div",null,d)}const f=i(r,[["render",s]]);export{x as __pageData,f as default}; +import{_ as i,c as l,o as e,a5 as t,ae as a,ab as o}from"./chunks/framework.C_oE5szm.js";const x=JSON.parse('{"title":"简介","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/index.md","filePath":"src/introduce/index.md","lastUpdated":1721036629000}'),r={name:"src/introduce/index.md"},n=t('

简介 ​

技术选型 ​

按照简单、常用的技术进行选择,减少技术栈的复杂度。

一、环境要求 ​

  • Java Jdk >= 17 选择 graalvm
  • Mysql >= 5.7
  • Maven >= 3.6

二、后端框架 ​

  • Spring Boot 3.x
  • Mybatis Flex
  • Auto Table
  • Hutool

三、前端框架 ​

  • Vue3
  • Typescript
  • Element-UI

为什么选择 Cool Admin? ​

随着技术不断地发展,特别是最近 Ai 相关的技术发展,以往的框架已经越来越不能满足现代化的开发需求。

Cool Admin 做为后来者有后发优势,主要特点:

  • Ai 编码,从页面到后端代码,部分功能实现零代码;
  • Ai 流程编排,专门为 Ai 开发设计的,Ai 开发几乎不用写代码,只需拖一拖即可;
  • 扩展插件,可插拔,如支付、短信这类功能的插件可以通过后台动态安装卸载,灵活又不臃肿;
  • 代码简洁,不像一般代码生成器生成一堆冗余代码,Cool 只需极少编码即可实现大部分需求;
  • ......

内置功能 ​

  • 用户管理:呈现公司组织部门树形结构,用户是系统操作者,该功能主要完成系统用户配置。
  • 菜单管理:配置系统菜单,操作权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 参数管理:对系统动态配置常用参数。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 请求日志:接口的请求入参日志,便于问题排查。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 文件管理:支持静态资源文件上传云端进行云管理。
  • 数据回收站:数据有 n 天的保留,支持回滚操作。
  • 前后端插件:支持动态安装、卸载插件,实现功能可插拔。
',18),d=[n];function s(c,h,u,m,_,p){return e(),l("div",null,d)}const f=i(r,[["render",s]]);export{x as __pageData,f as default}; diff --git a/.vitepress/dist/assets/src_introduce_index.md.BzftqBMQ.lean.js b/.vitepress/dist/assets/src_introduce_index.md.DA1PheMx.lean.js similarity index 71% rename from .vitepress/dist/assets/src_introduce_index.md.BzftqBMQ.lean.js rename to .vitepress/dist/assets/src_introduce_index.md.DA1PheMx.lean.js index 223461c..2d2f6fd 100644 --- a/.vitepress/dist/assets/src_introduce_index.md.BzftqBMQ.lean.js +++ b/.vitepress/dist/assets/src_introduce_index.md.DA1PheMx.lean.js @@ -1 +1 @@ -import{_ as i,c as l,o as e,a4 as t,ad as a,aa as o}from"./chunks/framework.DkvLLw5I.js";const x=JSON.parse('{"title":"简介","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/index.md","filePath":"src/introduce/index.md","lastUpdated":1721036629000}'),r={name:"src/introduce/index.md"},n=t("",18),d=[n];function s(c,h,u,m,_,p){return e(),l("div",null,d)}const f=i(r,[["render",s]]);export{x as __pageData,f as default}; +import{_ as i,c as l,o as e,a5 as t,ae as a,ab as o}from"./chunks/framework.C_oE5szm.js";const x=JSON.parse('{"title":"简介","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/index.md","filePath":"src/introduce/index.md","lastUpdated":1721036629000}'),r={name:"src/introduce/index.md"},n=t("",18),d=[n];function s(c,h,u,m,_,p){return e(),l("div",null,d)}const f=i(r,[["render",s]]);export{x as __pageData,f as default}; diff --git a/.vitepress/dist/assets/src_introduce_show.md.y18FuumV.js b/.vitepress/dist/assets/src_introduce_show.md.D0p_OwAi.js similarity index 85% rename from .vitepress/dist/assets/src_introduce_show.md.y18FuumV.js rename to .vitepress/dist/assets/src_introduce_show.md.D0p_OwAi.js index 17d30cc..9b0d8a8 100644 --- a/.vitepress/dist/assets/src_introduce_show.md.y18FuumV.js +++ b/.vitepress/dist/assets/src_introduce_show.md.D0p_OwAi.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,a4 as o,ad as r}from"./chunks/framework.DkvLLw5I.js";const u=JSON.parse('{"title":"演示","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/show.md","filePath":"src/introduce/show.md","lastUpdated":1720593505000}'),s={name:"src/introduce/show.md"},c=o('

演示 ​

功能几乎跟nodejs 版本一致

https://show.cool-admin.com

账户:admin 密码:123456

',5),n=[c];function _(d,i,p,h,l,m){return a(),t("div",null,n)}const w=e(s,[["render",_]]);export{u as __pageData,w as default}; +import{_ as e,c as t,o as a,a5 as o,ae as r}from"./chunks/framework.C_oE5szm.js";const u=JSON.parse('{"title":"演示","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/show.md","filePath":"src/introduce/show.md","lastUpdated":1720593505000}'),s={name:"src/introduce/show.md"},c=o('

演示 ​

功能几乎跟nodejs 版本一致

https://show.cool-admin.com

账户:admin 密码:123456

',5),n=[c];function _(d,i,p,h,l,m){return a(),t("div",null,n)}const w=e(s,[["render",_]]);export{u as __pageData,w as default}; diff --git a/.vitepress/dist/assets/src_introduce_show.md.y18FuumV.lean.js b/.vitepress/dist/assets/src_introduce_show.md.D0p_OwAi.lean.js similarity index 70% rename from .vitepress/dist/assets/src_introduce_show.md.y18FuumV.lean.js rename to .vitepress/dist/assets/src_introduce_show.md.D0p_OwAi.lean.js index 0e6ee1f..2ea3f52 100644 --- a/.vitepress/dist/assets/src_introduce_show.md.y18FuumV.lean.js +++ b/.vitepress/dist/assets/src_introduce_show.md.D0p_OwAi.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,a4 as o,ad as r}from"./chunks/framework.DkvLLw5I.js";const u=JSON.parse('{"title":"演示","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/show.md","filePath":"src/introduce/show.md","lastUpdated":1720593505000}'),s={name:"src/introduce/show.md"},c=o("",5),n=[c];function _(d,i,p,h,l,m){return a(),t("div",null,n)}const w=e(s,[["render",_]]);export{u as __pageData,w as default}; +import{_ as e,c as t,o as a,a5 as o,ae as r}from"./chunks/framework.C_oE5szm.js";const u=JSON.parse('{"title":"演示","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/show.md","filePath":"src/introduce/show.md","lastUpdated":1720593505000}'),s={name:"src/introduce/show.md"},c=o("",5),n=[c];function _(d,i,p,h,l,m){return a(),t("div",null,n)}const w=e(s,[["render",_]]);export{u as __pageData,w as default}; diff --git a/.vitepress/dist/assets/src_introduce_src.md.DQBTxkeX.js b/.vitepress/dist/assets/src_introduce_src.md.B9s21jCc.js similarity index 94% rename from .vitepress/dist/assets/src_introduce_src.md.DQBTxkeX.js rename to .vitepress/dist/assets/src_introduce_src.md.B9s21jCc.js index 30e5c86..d9865b2 100644 --- a/.vitepress/dist/assets/src_introduce_src.md.DQBTxkeX.js +++ b/.vitepress/dist/assets/src_introduce_src.md.B9s21jCc.js @@ -1 +1 @@ -import{_ as a,c as e,o,a4 as t}from"./chunks/framework.DkvLLw5I.js";const _=JSON.parse('{"title":"源码","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/src.md","filePath":"src/introduce/src.md","lastUpdated":1721036629000}'),r={name:"src/introduce/src.md"},c=t('

源码 ​

项目是开源免费、可商用、无需授权的,为了使项目能够持续,不要吝啬你们免费的Star哦!!!你的Star是我们最大的动力!!!

后端(点个 Star 哦) ​

https://github.com/cool-team-official/cool-admin-java

或

https://gitee.com/cool-team-official/cool-admin-java

前端(点个 Star 哦) ​

https://github.com/cool-team-official/cool-admin-vue

或

https://gitee.com/cool-team-official/cool-admin-vue

文档 (Star 哦) ​

如果文档有缺失,欢迎提交pr,您的贡献可能会给其他人来带巨大的帮助。

https://github.com/cool-team-official/cool-admin-java-docs

或

https://gitee.com/cool-team-official/cool-admin-java-docs

',15),i=[c];function l(s,n,d,h,m,f){return o(),e("div",null,i)}const u=a(r,[["render",l]]);export{_ as __pageData,u as default}; +import{_ as a,c as e,o,a5 as t}from"./chunks/framework.C_oE5szm.js";const _=JSON.parse('{"title":"源码","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/src.md","filePath":"src/introduce/src.md","lastUpdated":1721038889000}'),r={name:"src/introduce/src.md"},c=t('

源码 ​

项目是开源免费、可商用、无需授权的,为了使项目能够持续,不要吝啬你们免费的Star哦!!!你的Star是我们最大的动力!!!

后端(点个 Star 哦) ​

https://github.com/cool-team-official/cool-admin-java

或

https://gitee.com/cool-team-official/cool-admin-java

前端(点个 Star 哦) ​

https://github.com/cool-team-official/cool-admin-vue

或

https://gitee.com/cool-team-official/cool-admin-vue

文档 (Star 哦) ​

如果文档有缺失,欢迎提交pr,您的贡献可能会给其他人来带巨大的帮助。

https://github.com/cool-team-official/cool-admin-java-docs

或

https://gitee.com/cool-team-official/cool-admin-java-docs

',15),i=[c];function l(s,n,d,h,m,f){return o(),e("div",null,i)}const u=a(r,[["render",l]]);export{_ as __pageData,u as default}; diff --git a/.vitepress/dist/assets/src_introduce_src.md.DQBTxkeX.lean.js b/.vitepress/dist/assets/src_introduce_src.md.B9s21jCc.lean.js similarity index 69% rename from .vitepress/dist/assets/src_introduce_src.md.DQBTxkeX.lean.js rename to .vitepress/dist/assets/src_introduce_src.md.B9s21jCc.lean.js index 6e38e86..cc42f88 100644 --- a/.vitepress/dist/assets/src_introduce_src.md.DQBTxkeX.lean.js +++ b/.vitepress/dist/assets/src_introduce_src.md.B9s21jCc.lean.js @@ -1 +1 @@ -import{_ as a,c as e,o,a4 as t}from"./chunks/framework.DkvLLw5I.js";const _=JSON.parse('{"title":"源码","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/src.md","filePath":"src/introduce/src.md","lastUpdated":1721036629000}'),r={name:"src/introduce/src.md"},c=t("",15),i=[c];function l(s,n,d,h,m,f){return o(),e("div",null,i)}const u=a(r,[["render",l]]);export{_ as __pageData,u as default}; +import{_ as a,c as e,o,a5 as t}from"./chunks/framework.C_oE5szm.js";const _=JSON.parse('{"title":"源码","description":"","frontmatter":{},"headers":[],"relativePath":"src/introduce/src.md","filePath":"src/introduce/src.md","lastUpdated":1721038889000}'),r={name:"src/introduce/src.md"},c=t("",15),i=[c];function l(s,n,d,h,m,f){return o(),e("div",null,i)}const u=a(r,[["render",l]]);export{_ as __pageData,u as default}; diff --git a/.vitepress/dist/assets/src_question_common.md.DWynvsYj.js b/.vitepress/dist/assets/src_question_common.md.DOoSuwHd.js similarity index 91% rename from .vitepress/dist/assets/src_question_common.md.DWynvsYj.js rename to .vitepress/dist/assets/src_question_common.md.DOoSuwHd.js index 7c43466..40cec67 100644 --- a/.vitepress/dist/assets/src_question_common.md.DWynvsYj.js +++ b/.vitepress/dist/assets/src_question_common.md.DOoSuwHd.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,a4 as o}from"./chunks/framework.DkvLLw5I.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"src/question/common.md","filePath":"src/question/common.md","lastUpdated":1721036629000}'),l={name:"src/question/common.md"},i=o('

常见问题 ​

项目中常见的问题

1、找不到类似xxxTableDef文件 ​

框架用到了Mybatis Flex 的 APT 功能,在项目编译的时候会自动生成这些文件。

你可以这样做:

  • Build 你的项目;
  • 执行 maven 的mvn compile命令;
  • 配置完数据库直接启动;
  • 【推荐】开启 idea 的Build project automatically自动编译功能(Settings -> Build, Execution, Deployment -> Compiler -> Build Project Automatically);

这些方式都可以解决这个问题。

',7),c=[i];function r(n,s,d,_,m,p){return a(),t("div",null,c)}const x=e(l,[["render",r]]);export{u as __pageData,x as default}; +import{_ as e,c as t,o as a,a5 as o}from"./chunks/framework.C_oE5szm.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"src/question/common.md","filePath":"src/question/common.md","lastUpdated":1721036629000}'),l={name:"src/question/common.md"},i=o('

常见问题 ​

项目中常见的问题

1、找不到类似xxxTableDef文件 ​

框架用到了Mybatis Flex 的 APT 功能,在项目编译的时候会自动生成这些文件。

你可以这样做:

  • Build 你的项目;
  • 执行 maven 的mvn compile命令;
  • 配置完数据库直接启动;
  • 【推荐】开启 idea 的Build project automatically自动编译功能(Settings -> Build, Execution, Deployment -> Compiler -> Build Project Automatically);

这些方式都可以解决这个问题。

',7),c=[i];function r(n,s,d,_,m,p){return a(),t("div",null,c)}const x=e(l,[["render",r]]);export{u as __pageData,x as default}; diff --git a/.vitepress/dist/assets/src_question_common.md.DWynvsYj.lean.js b/.vitepress/dist/assets/src_question_common.md.DOoSuwHd.lean.js similarity index 70% rename from .vitepress/dist/assets/src_question_common.md.DWynvsYj.lean.js rename to .vitepress/dist/assets/src_question_common.md.DOoSuwHd.lean.js index 9c839e2..0f9e131 100644 --- a/.vitepress/dist/assets/src_question_common.md.DWynvsYj.lean.js +++ b/.vitepress/dist/assets/src_question_common.md.DOoSuwHd.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,a4 as o}from"./chunks/framework.DkvLLw5I.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"src/question/common.md","filePath":"src/question/common.md","lastUpdated":1721036629000}'),l={name:"src/question/common.md"},i=o("",7),c=[i];function r(n,s,d,_,m,p){return a(),t("div",null,c)}const x=e(l,[["render",r]]);export{u as __pageData,x as default}; +import{_ as e,c as t,o as a,a5 as o}from"./chunks/framework.C_oE5szm.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"src/question/common.md","filePath":"src/question/common.md","lastUpdated":1721036629000}'),l={name:"src/question/common.md"},i=o("",7),c=[i];function r(n,s,d,_,m,p){return a(),t("div",null,c)}const x=e(l,[["render",r]]);export{u as __pageData,x as default}; diff --git a/.vitepress/dist/assets/src_todo_plan.md.DMPQzB0x.js b/.vitepress/dist/assets/src_todo_plan.md.OECDxoZt.js similarity index 86% rename from .vitepress/dist/assets/src_todo_plan.md.DMPQzB0x.js rename to .vitepress/dist/assets/src_todo_plan.md.OECDxoZt.js index fa5fe68..02bfd4c 100644 --- a/.vitepress/dist/assets/src_todo_plan.md.DMPQzB0x.js +++ b/.vitepress/dist/assets/src_todo_plan.md.OECDxoZt.js @@ -1 +1 @@ -import{_ as a,c as t,o as e,a4 as o}from"./chunks/framework.DkvLLw5I.js";const u=JSON.parse('{"title":"计划","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/plan.md","filePath":"src/todo/plan.md","lastUpdated":1721037096000}'),l={name:"src/todo/plan.md"},i=o('

计划 ​

以下是我们的一些计划,如果你有更好的建议,欢迎联系我们。

完善插件 ​

  • Ai 流程编排插件
  • 文件上传插件
  • 短信插件
  • 支付插件
  • 微信 SDK 插件
',4),r=[i];function s(n,_,c,d,p,h){return e(),t("div",null,r)}const f=a(l,[["render",s]]);export{u as __pageData,f as default}; +import{_ as a,c as t,o as e,a5 as o}from"./chunks/framework.C_oE5szm.js";const u=JSON.parse('{"title":"计划","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/plan.md","filePath":"src/todo/plan.md","lastUpdated":1721037096000}'),l={name:"src/todo/plan.md"},i=o('

计划 ​

以下是我们的一些计划,如果你有更好的建议,欢迎联系我们。

完善插件 ​

  • Ai 流程编排插件
  • 文件上传插件
  • 短信插件
  • 支付插件
  • 微信 SDK 插件
',4),r=[i];function s(n,_,c,d,p,h){return e(),t("div",null,r)}const f=a(l,[["render",s]]);export{u as __pageData,f as default}; diff --git a/.vitepress/dist/assets/src_todo_plan.md.DMPQzB0x.lean.js b/.vitepress/dist/assets/src_todo_plan.md.OECDxoZt.lean.js similarity index 69% rename from .vitepress/dist/assets/src_todo_plan.md.DMPQzB0x.lean.js rename to .vitepress/dist/assets/src_todo_plan.md.OECDxoZt.lean.js index dfff08a..8a92978 100644 --- a/.vitepress/dist/assets/src_todo_plan.md.DMPQzB0x.lean.js +++ b/.vitepress/dist/assets/src_todo_plan.md.OECDxoZt.lean.js @@ -1 +1 @@ -import{_ as a,c as t,o as e,a4 as o}from"./chunks/framework.DkvLLw5I.js";const u=JSON.parse('{"title":"计划","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/plan.md","filePath":"src/todo/plan.md","lastUpdated":1721037096000}'),l={name:"src/todo/plan.md"},i=o("",4),r=[i];function s(n,_,c,d,p,h){return e(),t("div",null,r)}const f=a(l,[["render",s]]);export{u as __pageData,f as default}; +import{_ as a,c as t,o as e,a5 as o}from"./chunks/framework.C_oE5szm.js";const u=JSON.parse('{"title":"计划","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/plan.md","filePath":"src/todo/plan.md","lastUpdated":1721037096000}'),l={name:"src/todo/plan.md"},i=o("",4),r=[i];function s(n,_,c,d,p,h){return e(),t("div",null,r)}const f=a(l,[["render",s]]);export{u as __pageData,f as default}; diff --git a/.vitepress/dist/assets/src_todo_update.md.D6XioiBw.js b/.vitepress/dist/assets/src_todo_update.md.y1o13J5g.js similarity index 91% rename from .vitepress/dist/assets/src_todo_update.md.D6XioiBw.js rename to .vitepress/dist/assets/src_todo_update.md.y1o13J5g.js index d17457a..977b06e 100644 --- a/.vitepress/dist/assets/src_todo_update.md.D6XioiBw.js +++ b/.vitepress/dist/assets/src_todo_update.md.y1o13J5g.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.DkvLLw5I.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1721037096000}'),r={name:"src/todo/update.md"},l=o('

更新 ​

因为有你们的支持,cool-admin 会持续不断地更新,如果方便请点下 Star,这将会给我们带来更多的动力!!!

## v7.1.1(2024-07-15) ​

  • 新增 Ai 自动编码功能,简单功能零代码实现;
  • 新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;

v7.1.0(2024-06-27) ​

  • 升级到 Springboot3.x;
  • 升级所有相关依赖到最新;
  • 跟进Nodejs 版相关功能;
  • 优化若干问题;
',6),i=[l];function s(d,c,n,_,h,p){return t(),e("div",null,i)}const f=a(r,[["render",s]]);export{m as __pageData,f as default}; +import{_ as a,c as e,o as t,a5 as o}from"./chunks/framework.C_oE5szm.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1721037096000}'),r={name:"src/todo/update.md"},l=o('

更新 ​

因为有你们的支持,cool-admin 会持续不断地更新,如果方便请点下 Star,这将会给我们带来更多的动力!!!

## v7.1.1(2024-07-15) ​

  • 新增 Ai 自动编码功能,简单功能零代码实现;
  • 新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;

v7.1.0(2024-06-27) ​

  • 升级到 Springboot3.x;
  • 升级所有相关依赖到最新;
  • 跟进Nodejs 版相关功能;
  • 优化若干问题;
',6),i=[l];function s(d,c,n,_,h,p){return t(),e("div",null,i)}const f=a(r,[["render",s]]);export{m as __pageData,f as default}; diff --git a/.vitepress/dist/assets/src_todo_update.md.D6XioiBw.lean.js b/.vitepress/dist/assets/src_todo_update.md.y1o13J5g.lean.js similarity index 69% rename from .vitepress/dist/assets/src_todo_update.md.D6XioiBw.lean.js rename to .vitepress/dist/assets/src_todo_update.md.y1o13J5g.lean.js index 37cc054..8f73790 100644 --- a/.vitepress/dist/assets/src_todo_update.md.D6XioiBw.lean.js +++ b/.vitepress/dist/assets/src_todo_update.md.y1o13J5g.lean.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.DkvLLw5I.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1721037096000}'),r={name:"src/todo/update.md"},l=o("",6),i=[l];function s(d,c,n,_,h,p){return t(),e("div",null,i)}const f=a(r,[["render",s]]);export{m as __pageData,f as default}; +import{_ as a,c as e,o as t,a5 as o}from"./chunks/framework.C_oE5szm.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1721037096000}'),r={name:"src/todo/update.md"},l=o("",6),i=[l];function s(d,c,n,_,h,p){return t(),e("div",null,i)}const f=a(r,[["render",s]]);export{m as __pageData,f as default}; diff --git a/.vitepress/dist/assets/style.CoKMOhgV.css b/.vitepress/dist/assets/style.CoKMOhgV.css deleted file mode 100644 index b08ff09..0000000 --- a/.vitepress/dist/assets/style.CoKMOhgV.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:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-ee4f8a0b]{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-ee4f8a0b],.VPBackdrop.fade-leave-to[data-v-ee4f8a0b]{opacity:0}.VPBackdrop.fade-leave-active[data-v-ee4f8a0b]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-ee4f8a0b]{display:none}}.NotFound[data-v-25b3c91b]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-25b3c91b]{padding:96px 32px 168px}}.code[data-v-25b3c91b]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-25b3c91b]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-25b3c91b]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-25b3c91b]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-25b3c91b]{padding-top:20px}.link[data-v-25b3c91b]{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-25b3c91b]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-a53304d2]{position:relative;z-index:1}.nested[data-v-a53304d2]{padding-right:16px;padding-left:16px}.outline-link[data-v-a53304d2]{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-a53304d2]:hover,.outline-link.active[data-v-a53304d2]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-a53304d2]{padding-left:13px}.VPDocAsideOutline[data-v-e9242aa7]{display:none}.VPDocAsideOutline.has-outline[data-v-e9242aa7]{display:block}.content[data-v-e9242aa7]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-e9242aa7]{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-e9242aa7]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-4ef74901]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-4ef74901]{flex-grow:1}.VPDocAside[data-v-4ef74901] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-4ef74901] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-4ef74901] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-4e3c18a4]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-4e3c18a4]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-34368ad2]{margin-top:64px}.edit-info[data-v-34368ad2]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-34368ad2]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-34368ad2]{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-34368ad2]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-34368ad2]{margin-right:8px}.prev-next[data-v-34368ad2]{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-34368ad2]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-34368ad2]{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-34368ad2]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-34368ad2]{margin-left:auto;text-align:right}.desc[data-v-34368ad2]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-34368ad2]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-b521a168]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-b521a168]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-b521a168]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-b521a168]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-b521a168]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-b521a168]{display:flex;justify-content:center}.VPDoc .aside[data-v-b521a168]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-b521a168]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-b521a168]{max-width:1104px}}.container[data-v-b521a168]{margin:0 auto;width:100%}.aside[data-v-b521a168]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-b521a168]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-b521a168]{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-b521a168]::-webkit-scrollbar{display:none}.aside-curtain[data-v-b521a168]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-b521a168]{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-b521a168]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-b521a168]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-b521a168]{order:1;margin:0;min-width:640px}}.content-container[data-v-b521a168]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-b521a168]{max-width:688px}.VPButton[data-v-89174608]{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-89174608]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-89174608]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-89174608]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-89174608]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-89174608]: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-89174608]: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-89174608]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-89174608]: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-89174608]: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-89174608]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-89174608]: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-89174608]: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-13e6cd18]{display:none}.dark .VPImage.light[data-v-13e6cd18]{display:none}.VPHero[data-v-0661e2e5]{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-0661e2e5]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-0661e2e5]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-0661e2e5]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-0661e2e5]{flex-direction:row}}.main[data-v-0661e2e5]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-0661e2e5]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-0661e2e5]{text-align:left}}@media (min-width: 960px){.main[data-v-0661e2e5]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-0661e2e5]{max-width:592px}}.name[data-v-0661e2e5],.text[data-v-0661e2e5]{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-0661e2e5],.VPHero.has-image .text[data-v-0661e2e5]{margin:0 auto}.name[data-v-0661e2e5]{color:var(--vp-home-hero-name-color)}.clip[data-v-0661e2e5]{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-0661e2e5],.text[data-v-0661e2e5]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-0661e2e5],.text[data-v-0661e2e5]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-0661e2e5],.VPHero.has-image .text[data-v-0661e2e5]{margin:0}}.tagline[data-v-0661e2e5]{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-0661e2e5]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-0661e2e5]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-0661e2e5]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-0661e2e5]{margin:0}}.actions[data-v-0661e2e5]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-0661e2e5]{justify-content:center}@media (min-width: 640px){.actions[data-v-0661e2e5]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-0661e2e5]{justify-content:flex-start}}.action[data-v-0661e2e5]{flex-shrink:0;padding:6px}.image[data-v-0661e2e5]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-0661e2e5]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-0661e2e5]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-0661e2e5]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-0661e2e5]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-0661e2e5]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-0661e2e5]{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-0661e2e5]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-0661e2e5]{width:320px;height:320px}}[data-v-0661e2e5] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-0661e2e5] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-0661e2e5] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-98aa41e6]{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-98aa41e6]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-98aa41e6]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-98aa41e6]>.VPImage{margin-bottom:20px}.icon[data-v-98aa41e6]{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-98aa41e6]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-98aa41e6]{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-98aa41e6]{padding-top:8px}.link-text-value[data-v-98aa41e6]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-98aa41e6]{margin-left:6px}.VPFeatures[data-v-178d34ad]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-178d34ad]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-178d34ad]{padding:0 64px}}.container[data-v-178d34ad]{margin:0 auto;max-width:1152px}.items[data-v-178d34ad]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-178d34ad]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-178d34ad],.item.grid-4[data-v-178d34ad],.item.grid-6[data-v-178d34ad]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-178d34ad],.item.grid-4[data-v-178d34ad]{width:50%}.item.grid-3[data-v-178d34ad],.item.grid-6[data-v-178d34ad]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-178d34ad]{width:25%}}.container[data-v-cfbc1a43]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-cfbc1a43]{padding:0 48px}}@media (min-width: 960px){.container[data-v-cfbc1a43]{width:100%;padding:0 64px}}.vp-doc[data-v-cfbc1a43] .VPHomeSponsors,.vp-doc[data-v-cfbc1a43] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-cfbc1a43] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-cfbc1a43] .VPHomeSponsors a,.vp-doc[data-v-cfbc1a43] .VPTeamPage a{text-decoration:none}.VPHome[data-v-fd2ffb77]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-fd2ffb77]{margin-bottom:128px}}.VPContent[data-v-cb0805a1]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-cb0805a1]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-cb0805a1]{margin:0}@media (min-width: 960px){.VPContent[data-v-cb0805a1]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-cb0805a1]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-cb0805a1]{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-c01e8608]{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-c01e8608]{display:none}.VPFooter[data-v-c01e8608] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-c01e8608] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-c01e8608]{padding:32px}}.container[data-v-c01e8608]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-c01e8608],.copyright[data-v-c01e8608]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-f9d4ca59]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-f9d4ca59]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-f9d4ca59]{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-f9d4ca59]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-f9d4ca59]{color:var(--vp-c-text-1)}.icon[data-v-f9d4ca59]{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-f9d4ca59]{font-size:14px}.icon[data-v-f9d4ca59]{font-size:16px}}.open>.icon[data-v-f9d4ca59]{transform:rotate(90deg)}.items[data-v-f9d4ca59]{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-f9d4ca59]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-f9d4ca59]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-f9d4ca59]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-f9d4ca59]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-f9d4ca59]{transition:all .2s ease-out}.flyout-leave-active[data-v-f9d4ca59]{transition:all .15s ease-in}.flyout-enter-from[data-v-f9d4ca59],.flyout-leave-to[data-v-f9d4ca59]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-4b826de3]{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-4b826de3]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-4b826de3]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-4b826de3]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-4b826de3]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-4b826de3]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-4b826de3]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-4b826de3]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-4b826de3]{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-4b826de3]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-4b826de3]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-4b826de3]{display:none}}.menu-icon[data-v-4b826de3]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-4b826de3]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-4b826de3]{padding:12px 32px 11px}}.VPSwitch[data-v-c5a026db]{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-c5a026db]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-c5a026db]{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-c5a026db]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-c5a026db] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-c5a026db] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-5e81030c]{opacity:1}.moon[data-v-5e81030c],.dark .sun[data-v-5e81030c]{opacity:0}.dark .moon[data-v-5e81030c]{opacity:1}.dark .VPSwitchAppearance[data-v-5e81030c] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-830f4e0c]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-830f4e0c]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-47efe451]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-47efe451]{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-47efe451]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-47efe451]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-dd99de09]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-dd99de09]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-dd99de09]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-dd99de09]{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-0007c525]{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-0007c525] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-0007c525] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-0007c525] .group:last-child{padding-bottom:0}.VPMenu[data-v-0007c525] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-0007c525] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-0007c525] .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-0007c525] .action{padding-left:24px}.VPFlyout[data-v-11ef3b07]{position:relative}.VPFlyout[data-v-11ef3b07]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-11ef3b07]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-11ef3b07]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-11ef3b07]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-11ef3b07]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-11ef3b07],.button[aria-expanded=true]+.menu[data-v-11ef3b07]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-11ef3b07]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-11ef3b07]{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-11ef3b07]{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-11ef3b07]{margin-right:0;font-size:16px}.text-icon[data-v-11ef3b07]{margin-left:4px;font-size:14px}.icon[data-v-11ef3b07]{font-size:20px;transition:fill .25s}.menu[data-v-11ef3b07]{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-116c6058]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-116c6058]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-116c6058]>svg,.VPSocialLink[data-v-116c6058]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-e883f8d0]{display:flex;justify-content:center}.VPNavBarExtra[data-v-f78a1889]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-f78a1889]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-f78a1889]{display:none}}.trans-title[data-v-f78a1889]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-f78a1889],.item.social-links[data-v-f78a1889]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-f78a1889]{min-width:176px}.appearance-action[data-v-f78a1889]{margin-right:-2px}.social-links-list[data-v-f78a1889]{margin:-4px -8px}.VPNavBarHamburger[data-v-7ec5116e]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-7ec5116e]{display:none}}.container[data-v-7ec5116e]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-7ec5116e]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-7ec5116e]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-7ec5116e]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-7ec5116e]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-7ec5116e]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-7ec5116e]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-7ec5116e],.VPNavBarHamburger.active:hover .middle[data-v-7ec5116e],.VPNavBarHamburger.active:hover .bottom[data-v-7ec5116e]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-7ec5116e],.middle[data-v-7ec5116e],.bottom[data-v-7ec5116e]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-7ec5116e]{top:0;left:0;transform:translate(0)}.middle[data-v-7ec5116e]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-7ec5116e]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-6589ed1c]{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-6589ed1c],.VPNavBarMenuLink[data-v-6589ed1c]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-46876648]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-46876648]{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-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-6a13576c]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-6a13576c]{display:flex;align-items:center}}.title[data-v-ff17a4ae]{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-ff17a4ae]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-ff17a4ae]{border-bottom-color:var(--vp-c-divider)}}[data-v-ff17a4ae] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-540bc5e8]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-540bc5e8]{display:flex;align-items:center}}.title[data-v-540bc5e8]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-3fed1b83]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-3fed1b83]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-3fed1b83]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-3fed1b83]:not(.home){background-color:transparent}.VPNavBar[data-v-3fed1b83]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-3fed1b83]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-3fed1b83]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-3fed1b83]{padding:0}}.container[data-v-3fed1b83]{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-3fed1b83],.container>.content[data-v-3fed1b83]{pointer-events:none}.container[data-v-3fed1b83] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-3fed1b83]{max-width:100%}}.title[data-v-3fed1b83]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-3fed1b83]{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-3fed1b83]{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-3fed1b83]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-3fed1b83]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-3fed1b83]{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-3fed1b83]{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-3fed1b83]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-3fed1b83]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-3fed1b83]{column-gap:.5rem}}.menu+.translations[data-v-3fed1b83]:before,.menu+.appearance[data-v-3fed1b83]:before,.menu+.social-links[data-v-3fed1b83]:before,.translations+.appearance[data-v-3fed1b83]:before,.appearance+.social-links[data-v-3fed1b83]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-3fed1b83]:before,.translations+.appearance[data-v-3fed1b83]:before{margin-right:16px}.appearance+.social-links[data-v-3fed1b83]:before{margin-left:16px}.social-links[data-v-3fed1b83]{margin-right:-8px}.divider[data-v-3fed1b83]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-3fed1b83]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-3fed1b83]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-3fed1b83]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-3fed1b83]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-3fed1b83]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-3fed1b83]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-0ceafb5f]{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-0ceafb5f]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-8abda8b8]{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-8abda8b8]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-ae02dd03]{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-ae02dd03]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-dea7123a]{display:block}.title[data-v-dea7123a]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-f76bdb19]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-f76bdb19]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-f76bdb19]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-f76bdb19]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-f76bdb19]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-f76bdb19]{transform:rotate(45deg)}.button[data-v-f76bdb19]{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-f76bdb19]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-f76bdb19]{transition:transform .25s}.group[data-v-f76bdb19]:first-child{padding-top:0}.group+.group[data-v-f76bdb19],.group+.item[data-v-f76bdb19]{padding-top:4px}.VPNavScreenTranslations[data-v-eaa0f43e]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-eaa0f43e]{height:auto}.title[data-v-eaa0f43e]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-eaa0f43e]{font-size:16px}.icon.lang[data-v-eaa0f43e]{margin-right:8px}.icon.chevron[data-v-eaa0f43e]{margin-left:4px}.list[data-v-eaa0f43e]{padding:4px 0 0 24px}.link[data-v-eaa0f43e]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-334bb4cd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-334bb4cd],.VPNavScreen.fade-leave-active[data-v-334bb4cd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-334bb4cd],.VPNavScreen.fade-leave-active .container[data-v-334bb4cd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-334bb4cd],.VPNavScreen.fade-leave-to[data-v-334bb4cd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-334bb4cd],.VPNavScreen.fade-leave-to .container[data-v-334bb4cd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-334bb4cd]{display:none}}.container[data-v-334bb4cd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-334bb4cd],.menu+.appearance[data-v-334bb4cd],.translations+.appearance[data-v-334bb4cd]{margin-top:24px}.menu+.social-links[data-v-334bb4cd]{margin-top:16px}.appearance+.social-links[data-v-334bb4cd]{margin-top:16px}.VPNav[data-v-a6f969fc]{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-a6f969fc]{position:fixed}}.VPSidebarItem.level-0[data-v-a9de9e44]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-a9de9e44]{padding-bottom:10px}.item[data-v-a9de9e44]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-a9de9e44]{cursor:pointer}.indicator[data-v-a9de9e44]{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-a9de9e44],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-a9de9e44],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-a9de9e44],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-a9de9e44]{background-color:var(--vp-c-brand-1)}.link[data-v-a9de9e44]{display:flex;align-items:center;flex-grow:1}.text[data-v-a9de9e44]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-a9de9e44]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-a9de9e44],.VPSidebarItem.level-2 .text[data-v-a9de9e44],.VPSidebarItem.level-3 .text[data-v-a9de9e44],.VPSidebarItem.level-4 .text[data-v-a9de9e44],.VPSidebarItem.level-5 .text[data-v-a9de9e44]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-a9de9e44],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-a9de9e44],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-a9de9e44],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-a9de9e44],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-a9de9e44],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-a9de9e44]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-1.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-2.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-3.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-4.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-5.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-a9de9e44],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-a9de9e44],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-a9de9e44],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-a9de9e44],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-a9de9e44],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-a9de9e44]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-a9de9e44],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-a9de9e44],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-a9de9e44],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-a9de9e44],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-a9de9e44],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-a9de9e44]{color:var(--vp-c-brand-1)}.caret[data-v-a9de9e44]{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-a9de9e44]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-a9de9e44]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-a9de9e44]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-a9de9e44]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-a9de9e44],.VPSidebarItem.level-2 .items[data-v-a9de9e44],.VPSidebarItem.level-3 .items[data-v-a9de9e44],.VPSidebarItem.level-4 .items[data-v-a9de9e44],.VPSidebarItem.level-5 .items[data-v-a9de9e44]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-a9de9e44]{display:none}.no-transition[data-v-9c4bd70d] .caret-icon{transition:none}.group+.group[data-v-9c4bd70d]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-9c4bd70d]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-e024fac9]{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-e024fac9]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-e024fac9]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-e024fac9]{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-e024fac9]{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-e024fac9]{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-e024fac9]{outline:0}.VPSkipLink[data-v-497b75be]{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-497b75be]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-497b75be]{top:14px;left:16px}}.Layout[data-v-0dd53a6c]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-937a597b]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-937a597b]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-937a597b]{margin:128px 0}}.VPHomeSponsors[data-v-937a597b]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-937a597b]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-937a597b]{padding:0 64px}}.container[data-v-937a597b]{margin:0 auto;max-width:1152px}.love[data-v-937a597b]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-937a597b]{display:inline-block}.message[data-v-937a597b]{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-937a597b]{padding-top:32px}.action[data-v-937a597b]{padding-top:40px;text-align:center}.VPTeamPage[data-v-cea363ab]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-cea363ab]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-cea363ab-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-cea363ab-s],.VPTeamMembers+.VPTeamPageSection[data-v-cea363ab-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-cea363ab-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-cea363ab-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-cea363ab-s],.VPTeamMembers+.VPTeamPageSection[data-v-cea363ab-s]{margin-top:96px}}.VPTeamMembers[data-v-cea363ab-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-cea363ab-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-cea363ab-s]{padding:0 64px}}.VPTeamPageTitle[data-v-2b7aa8bd]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-2b7aa8bd]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-2b7aa8bd]{padding:80px 64px 48px}}.title[data-v-2b7aa8bd]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-2b7aa8bd]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-2b7aa8bd]{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-2b7aa8bd]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-e7424e98]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-e7424e98]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-e7424e98]{padding:0 64px}}.title[data-v-e7424e98]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-e7424e98]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-e7424e98]{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-e7424e98]{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-e7424e98]{padding-top:40px}.VPTeamMembersItem[data-v-80ea8d07]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-80ea8d07]{padding:32px}.VPTeamMembersItem.small .data[data-v-80ea8d07]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-80ea8d07]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-80ea8d07]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-80ea8d07]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-80ea8d07]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-80ea8d07]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-80ea8d07]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-80ea8d07]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-80ea8d07]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-80ea8d07]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-80ea8d07]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-80ea8d07]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-80ea8d07]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-80ea8d07]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-80ea8d07]{text-align:center}.avatar[data-v-80ea8d07]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-80ea8d07]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-80ea8d07]{margin:0;font-weight:600}.affiliation[data-v-80ea8d07]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-80ea8d07]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-80ea8d07]:hover{color:var(--vp-c-brand-1)}.desc[data-v-80ea8d07]{margin:0 auto}.desc[data-v-80ea8d07] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-80ea8d07]{display:flex;justify-content:center;height:56px}.sp-link[data-v-80ea8d07]{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-80ea8d07]:hover,.sp .sp-link.link[data-v-80ea8d07]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-80ea8d07]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-5072261c]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-5072261c]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-5072261c]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-5072261c]{max-width:876px}.VPTeamMembers.medium .container[data-v-5072261c]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-5072261c]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-5072261c]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-5072261c]{max-width:760px}.container[data-v-5072261c]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #bd34fe 30%, #41d1ff );--vp-home-hero-image-background-image: linear-gradient( -45deg, #bd34fe 50%, #47caff 50% );--vp-home-hero-image-filter: blur(44px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(68px)}}@media (min-width: 960px){:root .image-src{max-width:400px;max-height:320px}}@media (min-width: 960px){.VPHero.has-image .name{padding-bottom:20px}.VPHero.has-image .text{padding-bottom:2px}}.medium-zoom-overlay,.medium-zoom-image{z-index:1000}.VPLocalSearchBox[data-v-b3bd7ef0]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-b3bd7ef0]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-b3bd7ef0]{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-b3bd7ef0]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-b3bd7ef0]{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-b3bd7ef0]{padding:0 8px}}.search-bar[data-v-b3bd7ef0]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-b3bd7ef0]{display:block;font-size:18px}.navigate-icon[data-v-b3bd7ef0]{display:block;font-size:14px}.search-icon[data-v-b3bd7ef0]{margin:8px}@media (max-width: 767px){.search-icon[data-v-b3bd7ef0]{display:none}}.search-input[data-v-b3bd7ef0]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-b3bd7ef0]{padding:6px 4px}}.search-actions[data-v-b3bd7ef0]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-b3bd7ef0]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-b3bd7ef0]{display:none}}.search-actions button[data-v-b3bd7ef0]{padding:8px}.search-actions button[data-v-b3bd7ef0]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-b3bd7ef0]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-b3bd7ef0]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-b3bd7ef0]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-b3bd7ef0]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-b3bd7ef0]{display:none}}.search-keyboard-shortcuts kbd[data-v-b3bd7ef0]{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-b3bd7ef0]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-b3bd7ef0]{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-b3bd7ef0]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-b3bd7ef0]{margin:8px}}.titles[data-v-b3bd7ef0]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-b3bd7ef0]{display:flex;align-items:center;gap:4px}.title.main[data-v-b3bd7ef0]{font-weight:500}.title-icon[data-v-b3bd7ef0]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-b3bd7ef0]{opacity:.5}.result.selected[data-v-b3bd7ef0]{--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-b3bd7ef0]{position:relative}.excerpt[data-v-b3bd7ef0]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-b3bd7ef0]{opacity:1}.excerpt[data-v-b3bd7ef0] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-b3bd7ef0] mark,.excerpt[data-v-b3bd7ef0] 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-b3bd7ef0] .vp-code-group .tabs{display:none}.excerpt[data-v-b3bd7ef0] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-b3bd7ef0]{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-b3bd7ef0]{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-b3bd7ef0],.result.selected .title-icon[data-v-b3bd7ef0]{color:var(--vp-c-brand-1)!important}.no-results[data-v-b3bd7ef0]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-b3bd7ef0]{flex:none} diff --git a/.vitepress/dist/assets/style.sNAlF7rx.css b/.vitepress/dist/assets/style.sNAlF7rx.css new file mode 100644 index 0000000..52c60f9 --- /dev/null +++ b/.vitepress/dist/assets/style.sNAlF7rx.css @@ -0,0 +1 @@ +:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 120deg, #bd34fe 30%, #41d1ff );--vp-home-hero-image-background-image: linear-gradient( -45deg, #bd34fe 50%, #47caff 50% );--vp-home-hero-image-filter: blur(44px)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(68px)}}@media (min-width: 960px){:root .image-src{max-width:400px;max-height:320px}}@media (min-width: 960px){.VPHero.has-image .name{padding-bottom:20px}.VPHero.has-image .text{padding-bottom:2px}}.medium-zoom-overlay,.medium-zoom-image{z-index:1000}@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:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-ee4f8a0b]{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-ee4f8a0b],.VPBackdrop.fade-leave-to[data-v-ee4f8a0b]{opacity:0}.VPBackdrop.fade-leave-active[data-v-ee4f8a0b]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-ee4f8a0b]{display:none}}.NotFound[data-v-25b3c91b]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-25b3c91b]{padding:96px 32px 168px}}.code[data-v-25b3c91b]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-25b3c91b]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-25b3c91b]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-25b3c91b]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-25b3c91b]{padding-top:20px}.link[data-v-25b3c91b]{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-25b3c91b]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-a53304d2]{position:relative;z-index:1}.nested[data-v-a53304d2]{padding-right:16px;padding-left:16px}.outline-link[data-v-a53304d2]{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-a53304d2]:hover,.outline-link.active[data-v-a53304d2]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-a53304d2]{padding-left:13px}.VPDocAsideOutline[data-v-e9242aa7]{display:none}.VPDocAsideOutline.has-outline[data-v-e9242aa7]{display:block}.content[data-v-e9242aa7]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-e9242aa7]{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-e9242aa7]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-4ef74901]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-4ef74901]{flex-grow:1}.VPDocAside[data-v-4ef74901] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-4ef74901] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-4ef74901] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-4e3c18a4]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-4e3c18a4]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-34368ad2]{margin-top:64px}.edit-info[data-v-34368ad2]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-34368ad2]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-34368ad2]{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-34368ad2]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-34368ad2]{margin-right:8px}.prev-next[data-v-34368ad2]{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-34368ad2]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-34368ad2]{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-34368ad2]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-34368ad2]{margin-left:auto;text-align:right}.desc[data-v-34368ad2]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-34368ad2]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-b521a168]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-b521a168]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-b521a168]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-b521a168]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-b521a168]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-b521a168]{display:flex;justify-content:center}.VPDoc .aside[data-v-b521a168]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-b521a168]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-b521a168]{max-width:1104px}}.container[data-v-b521a168]{margin:0 auto;width:100%}.aside[data-v-b521a168]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-b521a168]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-b521a168]{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-b521a168]::-webkit-scrollbar{display:none}.aside-curtain[data-v-b521a168]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-b521a168]{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-b521a168]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-b521a168]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-b521a168]{order:1;margin:0;min-width:640px}}.content-container[data-v-b521a168]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-b521a168]{max-width:688px}.VPButton[data-v-89174608]{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-89174608]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-89174608]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-89174608]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-89174608]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-89174608]: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-89174608]: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-89174608]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-89174608]: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-89174608]: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-89174608]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-89174608]: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-89174608]: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-13e6cd18]{display:none}.dark .VPImage.light[data-v-13e6cd18]{display:none}.VPHero[data-v-0661e2e5]{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-0661e2e5]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-0661e2e5]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-0661e2e5]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-0661e2e5]{flex-direction:row}}.main[data-v-0661e2e5]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-0661e2e5]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-0661e2e5]{text-align:left}}@media (min-width: 960px){.main[data-v-0661e2e5]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-0661e2e5]{max-width:592px}}.name[data-v-0661e2e5],.text[data-v-0661e2e5]{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-0661e2e5],.VPHero.has-image .text[data-v-0661e2e5]{margin:0 auto}.name[data-v-0661e2e5]{color:var(--vp-home-hero-name-color)}.clip[data-v-0661e2e5]{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-0661e2e5],.text[data-v-0661e2e5]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-0661e2e5],.text[data-v-0661e2e5]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-0661e2e5],.VPHero.has-image .text[data-v-0661e2e5]{margin:0}}.tagline[data-v-0661e2e5]{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-0661e2e5]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-0661e2e5]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-0661e2e5]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-0661e2e5]{margin:0}}.actions[data-v-0661e2e5]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-0661e2e5]{justify-content:center}@media (min-width: 640px){.actions[data-v-0661e2e5]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-0661e2e5]{justify-content:flex-start}}.action[data-v-0661e2e5]{flex-shrink:0;padding:6px}.image[data-v-0661e2e5]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-0661e2e5]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-0661e2e5]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-0661e2e5]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-0661e2e5]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-0661e2e5]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-0661e2e5]{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-0661e2e5]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-0661e2e5]{width:320px;height:320px}}[data-v-0661e2e5] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-0661e2e5] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-0661e2e5] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-98aa41e6]{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-98aa41e6]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-98aa41e6]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-98aa41e6]>.VPImage{margin-bottom:20px}.icon[data-v-98aa41e6]{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-98aa41e6]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-98aa41e6]{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-98aa41e6]{padding-top:8px}.link-text-value[data-v-98aa41e6]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-98aa41e6]{margin-left:6px}.VPFeatures[data-v-178d34ad]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-178d34ad]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-178d34ad]{padding:0 64px}}.container[data-v-178d34ad]{margin:0 auto;max-width:1152px}.items[data-v-178d34ad]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-178d34ad]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-178d34ad],.item.grid-4[data-v-178d34ad],.item.grid-6[data-v-178d34ad]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-178d34ad],.item.grid-4[data-v-178d34ad]{width:50%}.item.grid-3[data-v-178d34ad],.item.grid-6[data-v-178d34ad]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-178d34ad]{width:25%}}.container[data-v-cfbc1a43]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-cfbc1a43]{padding:0 48px}}@media (min-width: 960px){.container[data-v-cfbc1a43]{width:100%;padding:0 64px}}.vp-doc[data-v-cfbc1a43] .VPHomeSponsors,.vp-doc[data-v-cfbc1a43] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-cfbc1a43] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-cfbc1a43] .VPHomeSponsors a,.vp-doc[data-v-cfbc1a43] .VPTeamPage a{text-decoration:none}.VPHome[data-v-fd2ffb77]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-fd2ffb77]{margin-bottom:128px}}.VPContent[data-v-cb0805a1]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-cb0805a1]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-cb0805a1]{margin:0}@media (min-width: 960px){.VPContent[data-v-cb0805a1]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-cb0805a1]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-cb0805a1]{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-c01e8608]{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-c01e8608]{display:none}.VPFooter[data-v-c01e8608] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-c01e8608] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-c01e8608]{padding:32px}}.container[data-v-c01e8608]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-c01e8608],.copyright[data-v-c01e8608]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-f9d4ca59]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-f9d4ca59]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-f9d4ca59]{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-f9d4ca59]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-f9d4ca59]{color:var(--vp-c-text-1)}.icon[data-v-f9d4ca59]{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-f9d4ca59]{font-size:14px}.icon[data-v-f9d4ca59]{font-size:16px}}.open>.icon[data-v-f9d4ca59]{transform:rotate(90deg)}.items[data-v-f9d4ca59]{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-f9d4ca59]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-f9d4ca59]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-f9d4ca59]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-f9d4ca59]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-f9d4ca59]{transition:all .2s ease-out}.flyout-leave-active[data-v-f9d4ca59]{transition:all .15s ease-in}.flyout-enter-from[data-v-f9d4ca59],.flyout-leave-to[data-v-f9d4ca59]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-4b826de3]{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-4b826de3]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-4b826de3]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-4b826de3]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-4b826de3]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-4b826de3]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-4b826de3]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-4b826de3]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-4b826de3]{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-4b826de3]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-4b826de3]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-4b826de3]{display:none}}.menu-icon[data-v-4b826de3]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-4b826de3]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-4b826de3]{padding:12px 32px 11px}}.VPSwitch[data-v-c5a026db]{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-c5a026db]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-c5a026db]{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-c5a026db]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-c5a026db] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-c5a026db] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-5e81030c]{opacity:1}.moon[data-v-5e81030c],.dark .sun[data-v-5e81030c]{opacity:0}.dark .moon[data-v-5e81030c]{opacity:1}.dark .VPSwitchAppearance[data-v-5e81030c] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-830f4e0c]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-830f4e0c]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-47efe451]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-47efe451]{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-47efe451]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-47efe451]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-dd99de09]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-dd99de09]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-dd99de09]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-dd99de09]{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-0007c525]{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-0007c525] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-0007c525] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-0007c525] .group:last-child{padding-bottom:0}.VPMenu[data-v-0007c525] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-0007c525] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-0007c525] .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-0007c525] .action{padding-left:24px}.VPFlyout[data-v-11ef3b07]{position:relative}.VPFlyout[data-v-11ef3b07]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-11ef3b07]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-11ef3b07]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-11ef3b07]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-11ef3b07]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-11ef3b07],.button[aria-expanded=true]+.menu[data-v-11ef3b07]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-11ef3b07]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-11ef3b07]{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-11ef3b07]{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-11ef3b07]{margin-right:0;font-size:16px}.text-icon[data-v-11ef3b07]{margin-left:4px;font-size:14px}.icon[data-v-11ef3b07]{font-size:20px;transition:fill .25s}.menu[data-v-11ef3b07]{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-116c6058]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-116c6058]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-116c6058]>svg,.VPSocialLink[data-v-116c6058]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-e883f8d0]{display:flex;justify-content:center}.VPNavBarExtra[data-v-f78a1889]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-f78a1889]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-f78a1889]{display:none}}.trans-title[data-v-f78a1889]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-f78a1889],.item.social-links[data-v-f78a1889]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-f78a1889]{min-width:176px}.appearance-action[data-v-f78a1889]{margin-right:-2px}.social-links-list[data-v-f78a1889]{margin:-4px -8px}.VPNavBarHamburger[data-v-7ec5116e]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-7ec5116e]{display:none}}.container[data-v-7ec5116e]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-7ec5116e]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-7ec5116e]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-7ec5116e]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-7ec5116e]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-7ec5116e]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-7ec5116e]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-7ec5116e],.VPNavBarHamburger.active:hover .middle[data-v-7ec5116e],.VPNavBarHamburger.active:hover .bottom[data-v-7ec5116e]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-7ec5116e],.middle[data-v-7ec5116e],.bottom[data-v-7ec5116e]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-7ec5116e]{top:0;left:0;transform:translate(0)}.middle[data-v-7ec5116e]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-7ec5116e]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-6589ed1c]{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-6589ed1c],.VPNavBarMenuLink[data-v-6589ed1c]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-46876648]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-46876648]{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-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-6a13576c]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-6a13576c]{display:flex;align-items:center}}.title[data-v-ff17a4ae]{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-ff17a4ae]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-ff17a4ae]{border-bottom-color:var(--vp-c-divider)}}[data-v-ff17a4ae] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-540bc5e8]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-540bc5e8]{display:flex;align-items:center}}.title[data-v-540bc5e8]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-3fed1b83]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-3fed1b83]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-3fed1b83]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-3fed1b83]:not(.home){background-color:transparent}.VPNavBar[data-v-3fed1b83]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-3fed1b83]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-3fed1b83]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-3fed1b83]{padding:0}}.container[data-v-3fed1b83]{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-3fed1b83],.container>.content[data-v-3fed1b83]{pointer-events:none}.container[data-v-3fed1b83] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-3fed1b83]{max-width:100%}}.title[data-v-3fed1b83]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-3fed1b83]{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-3fed1b83]{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-3fed1b83]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-3fed1b83]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-3fed1b83]{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-3fed1b83]{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-3fed1b83]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-3fed1b83]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-3fed1b83]{column-gap:.5rem}}.menu+.translations[data-v-3fed1b83]:before,.menu+.appearance[data-v-3fed1b83]:before,.menu+.social-links[data-v-3fed1b83]:before,.translations+.appearance[data-v-3fed1b83]:before,.appearance+.social-links[data-v-3fed1b83]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-3fed1b83]:before,.translations+.appearance[data-v-3fed1b83]:before{margin-right:16px}.appearance+.social-links[data-v-3fed1b83]:before{margin-left:16px}.social-links[data-v-3fed1b83]{margin-right:-8px}.divider[data-v-3fed1b83]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-3fed1b83]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-3fed1b83]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-3fed1b83]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-3fed1b83]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-3fed1b83]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-3fed1b83]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-0ceafb5f]{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-0ceafb5f]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-8abda8b8]{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-8abda8b8]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-ae02dd03]{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-ae02dd03]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-dea7123a]{display:block}.title[data-v-dea7123a]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-f76bdb19]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-f76bdb19]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-f76bdb19]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-f76bdb19]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-f76bdb19]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-f76bdb19]{transform:rotate(45deg)}.button[data-v-f76bdb19]{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-f76bdb19]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-f76bdb19]{transition:transform .25s}.group[data-v-f76bdb19]:first-child{padding-top:0}.group+.group[data-v-f76bdb19],.group+.item[data-v-f76bdb19]{padding-top:4px}.VPNavScreenTranslations[data-v-eaa0f43e]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-eaa0f43e]{height:auto}.title[data-v-eaa0f43e]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-eaa0f43e]{font-size:16px}.icon.lang[data-v-eaa0f43e]{margin-right:8px}.icon.chevron[data-v-eaa0f43e]{margin-left:4px}.list[data-v-eaa0f43e]{padding:4px 0 0 24px}.link[data-v-eaa0f43e]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-334bb4cd]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-334bb4cd],.VPNavScreen.fade-leave-active[data-v-334bb4cd]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-334bb4cd],.VPNavScreen.fade-leave-active .container[data-v-334bb4cd]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-334bb4cd],.VPNavScreen.fade-leave-to[data-v-334bb4cd]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-334bb4cd],.VPNavScreen.fade-leave-to .container[data-v-334bb4cd]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-334bb4cd]{display:none}}.container[data-v-334bb4cd]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-334bb4cd],.menu+.appearance[data-v-334bb4cd],.translations+.appearance[data-v-334bb4cd]{margin-top:24px}.menu+.social-links[data-v-334bb4cd]{margin-top:16px}.appearance+.social-links[data-v-334bb4cd]{margin-top:16px}.VPNav[data-v-a6f969fc]{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-a6f969fc]{position:fixed}}.VPSidebarItem.level-0[data-v-a9de9e44]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-a9de9e44]{padding-bottom:10px}.item[data-v-a9de9e44]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-a9de9e44]{cursor:pointer}.indicator[data-v-a9de9e44]{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-a9de9e44],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-a9de9e44],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-a9de9e44],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-a9de9e44]{background-color:var(--vp-c-brand-1)}.link[data-v-a9de9e44]{display:flex;align-items:center;flex-grow:1}.text[data-v-a9de9e44]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-a9de9e44]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-a9de9e44],.VPSidebarItem.level-2 .text[data-v-a9de9e44],.VPSidebarItem.level-3 .text[data-v-a9de9e44],.VPSidebarItem.level-4 .text[data-v-a9de9e44],.VPSidebarItem.level-5 .text[data-v-a9de9e44]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-a9de9e44],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-a9de9e44],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-a9de9e44],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-a9de9e44],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-a9de9e44],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-a9de9e44]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-1.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-2.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-3.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-4.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-5.has-active>.item>.text[data-v-a9de9e44],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-a9de9e44],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-a9de9e44],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-a9de9e44],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-a9de9e44],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-a9de9e44],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-a9de9e44]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-a9de9e44],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-a9de9e44],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-a9de9e44],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-a9de9e44],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-a9de9e44],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-a9de9e44]{color:var(--vp-c-brand-1)}.caret[data-v-a9de9e44]{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-a9de9e44]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-a9de9e44]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-a9de9e44]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-a9de9e44]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-a9de9e44],.VPSidebarItem.level-2 .items[data-v-a9de9e44],.VPSidebarItem.level-3 .items[data-v-a9de9e44],.VPSidebarItem.level-4 .items[data-v-a9de9e44],.VPSidebarItem.level-5 .items[data-v-a9de9e44]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-a9de9e44]{display:none}.no-transition[data-v-9c4bd70d] .caret-icon{transition:none}.group+.group[data-v-9c4bd70d]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-9c4bd70d]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-e024fac9]{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-e024fac9]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-e024fac9]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-e024fac9]{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-e024fac9]{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-e024fac9]{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-e024fac9]{outline:0}.VPSkipLink[data-v-497b75be]{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-497b75be]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-497b75be]{top:14px;left:16px}}.Layout[data-v-0dd53a6c]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-937a597b]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-937a597b]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-937a597b]{margin:128px 0}}.VPHomeSponsors[data-v-937a597b]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-937a597b]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-937a597b]{padding:0 64px}}.container[data-v-937a597b]{margin:0 auto;max-width:1152px}.love[data-v-937a597b]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-937a597b]{display:inline-block}.message[data-v-937a597b]{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-937a597b]{padding-top:32px}.action[data-v-937a597b]{padding-top:40px;text-align:center}.VPTeamPage[data-v-cea363ab]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-cea363ab]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-cea363ab-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-cea363ab-s],.VPTeamMembers+.VPTeamPageSection[data-v-cea363ab-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-cea363ab-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-cea363ab-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-cea363ab-s],.VPTeamMembers+.VPTeamPageSection[data-v-cea363ab-s]{margin-top:96px}}.VPTeamMembers[data-v-cea363ab-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-cea363ab-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-cea363ab-s]{padding:0 64px}}.VPTeamPageTitle[data-v-2b7aa8bd]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-2b7aa8bd]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-2b7aa8bd]{padding:80px 64px 48px}}.title[data-v-2b7aa8bd]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-2b7aa8bd]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-2b7aa8bd]{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-2b7aa8bd]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-e7424e98]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-e7424e98]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-e7424e98]{padding:0 64px}}.title[data-v-e7424e98]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-e7424e98]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-e7424e98]{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-e7424e98]{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-e7424e98]{padding-top:40px}.VPTeamMembersItem[data-v-80ea8d07]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-80ea8d07]{padding:32px}.VPTeamMembersItem.small .data[data-v-80ea8d07]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-80ea8d07]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-80ea8d07]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-80ea8d07]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-80ea8d07]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-80ea8d07]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-80ea8d07]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-80ea8d07]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-80ea8d07]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-80ea8d07]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-80ea8d07]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-80ea8d07]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-80ea8d07]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-80ea8d07]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-80ea8d07]{text-align:center}.avatar[data-v-80ea8d07]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-80ea8d07]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-80ea8d07]{margin:0;font-weight:600}.affiliation[data-v-80ea8d07]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-80ea8d07]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-80ea8d07]:hover{color:var(--vp-c-brand-1)}.desc[data-v-80ea8d07]{margin:0 auto}.desc[data-v-80ea8d07] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-80ea8d07]{display:flex;justify-content:center;height:56px}.sp-link[data-v-80ea8d07]{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-80ea8d07]:hover,.sp .sp-link.link[data-v-80ea8d07]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-80ea8d07]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-5072261c]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-5072261c]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-5072261c]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-5072261c]{max-width:876px}.VPTeamMembers.medium .container[data-v-5072261c]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-5072261c]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-5072261c]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-5072261c]{max-width:760px}.container[data-v-5072261c]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.ad img[data-v-cb2b323a]{display:block;width:100%;margin-top:10px;border-radius:8px;cursor:pointer}.ad img[data-v-cb2b323a]:hover{opacity:.9}.VPLocalSearchBox[data-v-b3bd7ef0]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-b3bd7ef0]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-b3bd7ef0]{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-b3bd7ef0]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-b3bd7ef0]{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-b3bd7ef0]{padding:0 8px}}.search-bar[data-v-b3bd7ef0]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-b3bd7ef0]{display:block;font-size:18px}.navigate-icon[data-v-b3bd7ef0]{display:block;font-size:14px}.search-icon[data-v-b3bd7ef0]{margin:8px}@media (max-width: 767px){.search-icon[data-v-b3bd7ef0]{display:none}}.search-input[data-v-b3bd7ef0]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-b3bd7ef0]{padding:6px 4px}}.search-actions[data-v-b3bd7ef0]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-b3bd7ef0]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-b3bd7ef0]{display:none}}.search-actions button[data-v-b3bd7ef0]{padding:8px}.search-actions button[data-v-b3bd7ef0]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-b3bd7ef0]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-b3bd7ef0]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-b3bd7ef0]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-b3bd7ef0]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-b3bd7ef0]{display:none}}.search-keyboard-shortcuts kbd[data-v-b3bd7ef0]{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-b3bd7ef0]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-b3bd7ef0]{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-b3bd7ef0]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-b3bd7ef0]{margin:8px}}.titles[data-v-b3bd7ef0]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-b3bd7ef0]{display:flex;align-items:center;gap:4px}.title.main[data-v-b3bd7ef0]{font-weight:500}.title-icon[data-v-b3bd7ef0]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-b3bd7ef0]{opacity:.5}.result.selected[data-v-b3bd7ef0]{--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-b3bd7ef0]{position:relative}.excerpt[data-v-b3bd7ef0]{opacity:75%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;opacity:.5;margin-top:4px}.result.selected .excerpt[data-v-b3bd7ef0]{opacity:1}.excerpt[data-v-b3bd7ef0] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-b3bd7ef0] mark,.excerpt[data-v-b3bd7ef0] 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-b3bd7ef0] .vp-code-group .tabs{display:none}.excerpt[data-v-b3bd7ef0] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-b3bd7ef0]{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-b3bd7ef0]{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-b3bd7ef0],.result.selected .title-icon[data-v-b3bd7ef0]{color:var(--vp-c-brand-1)!important}.no-results[data-v-b3bd7ef0]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-b3bd7ef0]{flex:none} diff --git a/.vitepress/dist/hashmap.json b/.vitepress/dist/hashmap.json index 0b46d52..1abceec 100644 --- a/.vitepress/dist/hashmap.json +++ b/.vitepress/dist/hashmap.json @@ -1 +1 @@ -{"index.md":"Cgb96qqp","readme.md":"CH6W0xY-","src_about_index.md":"D5pLvKL8","src_guide_ai.md":"CQr0rH-R","src_guide_cache.md":"sFO9ncvK","src_guide_controller.md":"CKU6QhGJ","src_guide_db.md":"CW_Li52O","src_guide_dev.md":"BolOgpNe","src_guide_dir.md":"yr-Ujx3e","src_guide_exception.md":"BnNhx80g","src_guide_flow.md":"DW-rwMWD","src_guide_initdata.md":"xxcXuYBs","src_guide_plugin.md":"D3cyKMhP","src_guide_quick.md":"BnN2Y-B1","src_guide_security.md":"DhNBVqnr","src_guide_service.md":"NY_1YFAS","src_guide_swagger.md":"C8SICQIq","src_guide_upload.md":"B0f_XRGJ","src_introduce_index.md":"BzftqBMQ","src_introduce_show.md":"y18FuumV","src_introduce_src.md":"DQBTxkeX","src_question_common.md":"DWynvsYj","src_todo_plan.md":"DMPQzB0x","src_todo_update.md":"D6XioiBw"} +{"index.md":"IDM-wWfu","readme.md":"21sdoxr8","src_about_index.md":"u0DlwXFy","src_guide_ai.md":"PrgLyacX","src_guide_cache.md":"TbXSwkcj","src_guide_controller.md":"DCo4_59t","src_guide_db.md":"Duwyo5Xx","src_guide_dev.md":"Dkd1jFPN","src_guide_dir.md":"RpZMF5oN","src_guide_exception.md":"B8TYnOY4","src_guide_flow.md":"Bg5zEnLF","src_guide_initdata.md":"CWyYHbHt","src_guide_plugin.md":"Har19Yp0","src_guide_quick.md":"B3Pgf-em","src_guide_security.md":"D2ao104D","src_guide_service.md":"DFVHuVBZ","src_guide_swagger.md":"Cb0cwFc8","src_guide_upload.md":"CxcWqhw1","src_introduce_index.md":"DA1PheMx","src_introduce_show.md":"D0p_OwAi","src_introduce_src.md":"B9s21jCc","src_question_common.md":"DOoSuwHd","src_todo_plan.md":"OECDxoZt","src_todo_update.md":"y1o13J5g"} diff --git a/.vitepress/dist/index.html b/.vitepress/dist/index.html index d29e637..8f04e9e 100644 --- a/.vitepress/dist/index.html +++ b/.vitepress/dist/index.html @@ -6,19 +6,19 @@ Cool Admin - + - + - - - + + + -
Skip to content

Cool Admin(Java版)

一个很酷的后台管理系统开发框架

开源免费、Ai编码、流程编排、扩展插件、模块化

cool-admin
- +
Skip to content

Cool Admin(Java版)

一个很酷的后台管理系统开发框架

开源免费、Ai编码、流程编排、扩展插件、模块化

cool-admin
+ \ No newline at end of file diff --git a/.vitepress/dist/src/about/index.html b/.vitepress/dist/src/about/index.html index 036fc5c..63a5c3d 100644 --- a/.vitepress/dist/src/about/index.html +++ b/.vitepress/dist/src/about/index.html @@ -6,19 +6,19 @@ 交流合作 | Cool Admin - + - + - - - + + + -
Skip to content

交流合作 ​

如果我们的项目对你有用,欢迎加入我们大家庭一起讨论,共创一些美好的事情。

微信 ​

扫一扫加入微信开发交流群

抖音 ​

主要是做一些技术教程、技术分享、框架更新、插件分享等内容。你可以在这边了解到一些关于我们框架的最新动态,还可以了解到一些前沿的技术,特别是跟 Ai 相关的,有兴趣的可以关注我们。

B 站 ​

COOL 团队哔哩哔哩官方账户

公众号 ​

COOL 的一些最新资讯、技术分享、框架更新、插件分享等

- +
Skip to content

交流合作 ​

如果我们的项目对你有用,欢迎加入我们大家庭一起讨论,共创一些美好的事情。

微信 ​

扫一扫加入微信开发交流群

抖音 ​

主要是做一些技术教程、技术分享、框架更新、插件分享等内容。你可以在这边了解到一些关于我们框架的最新动态,还可以了解到一些前沿的技术,特别是跟 Ai 相关的,有兴趣的可以关注我们。

B 站 ​

COOL 团队哔哩哔哩官方账户

公众号 ​

COOL 的一些最新资讯、技术分享、框架更新、插件分享等

+ \ No newline at end of file diff --git a/.vitepress/dist/src/guide/ai.html b/.vitepress/dist/src/guide/ai.html index 55f2f11..12d2efc 100644 --- a/.vitepress/dist/src/guide/ai.html +++ b/.vitepress/dist/src/guide/ai.html @@ -6,19 +6,19 @@ Ai 编码 | Cool Admin - + - + - - - + + + - - + + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/cache.html b/.vitepress/dist/src/guide/cache.html index 3fcf2b4..2e7d7c4 100644 --- a/.vitepress/dist/src/guide/cache.html +++ b/.vitepress/dist/src/guide/cache.html @@ -6,18 +6,18 @@ 缓存 | Cool Admin - + - + - - - + + + -
Skip to content

缓存 ​

为了不过多依赖环境,框架自带基于 springCache 默认实现了两种缓存

  • caffeine 无需额外安装软件,由 Ben Manes 开发的一个 Java 缓存库,旨在提供高性能、高效的缓存解决方案。
  • redis 需安装 redis,提供了一种高效且可靠的解决方案,能够显著提升应用程序的性能和响应速度。
yaml
spring:
+    
Skip to content

缓存 ​

为了不过多依赖环境,框架自带基于 springCache 默认实现了两种缓存

  • caffeine 无需额外安装软件,由 Ben Manes 开发的一个 Java 缓存库,旨在提供高性能、高效的缓存解决方案。
  • redis 需安装 redis,提供了一种高效且可靠的解决方案,能够显著提升应用程序的性能和响应速度。
yaml
spring:
   # caffeine 缓存
   cache:
     type: caffeine
@@ -51,7 +51,7 @@
         return coolCache.get("a", Integer.class);
     }
 }
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/controller.html b/.vitepress/dist/src/guide/controller.html index d8d6667..b4b09a2 100644 --- a/.vitepress/dist/src/guide/controller.html +++ b/.vitepress/dist/src/guide/controller.html @@ -6,18 +6,18 @@ 控制器 | Cool Admin - + - + - - - + + + -
Skip to content

控制器 ​

所有的 controller 都继承自 BaseController,该父类已经实现了以下六个基础方法:add、delete、update、page、list、info,可以大大简化代码,使得 controller 更加简洁。

示例 ​

java
@Tag(name = "测试CURD", description = "测试CURD")
+    
Skip to content

控制器 ​

所有的 controller 都继承自 BaseController,该父类已经实现了以下六个基础方法:add、delete、update、page、list、info,可以大大简化代码,使得 controller 更加简洁。

示例 ​

java
@Tag(name = "测试CURD", description = "测试CURD")
 @CoolRestController(value = "/cool", api = {"add", "delete", "update", "page", "list", "info"})
 public class AdminDemoInfoController extends BaseController<DemoService, DemoEntity> {
     @Override
@@ -97,7 +97,7 @@
         return info;
     }
 }
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/db.html b/.vitepress/dist/src/guide/db.html index 0349d2b..d1261ce 100644 --- a/.vitepress/dist/src/guide/db.html +++ b/.vitepress/dist/src/guide/db.html @@ -6,19 +6,19 @@ 数据库 | Cool Admin - + - + - - - + + + -
Skip to content

数据库 ​

Cool Admin 集成了比 Mybatis-Plus 更加强大的,Mybatis-Flex,详细用法请查看 Mybatis-Flex 官网文档

主要特点;

  • 更轻量:除了 MyBatis 本身,再无任何第三方依赖,因此会带来更高的自主性、把控性和稳定性。在任何一个系统中,依赖越多,稳定性越差。

  • 更灵活:提供了非常灵活的 QueryWrapper,支持关联查询、多表查询、多主键、逻辑删除、乐观锁更新、数据填充、数据脱敏等等。

  • 高性能:通过独特的架构,没有任何 MyBatis 拦截器、在 SQL 执行的过程中,没有任何的 SQL Parse,因此会带来指数级的性能增长。

功能对比 ​

功能或特点MyBatis-FlexMyBatis-PlusFluent-MyBatis
对 entity 的基本增删改查✅✅✅
分页查询✅✅✅
分页查询之总量缓存✅✅❌
分页查询无 SQL 解析设计(更轻量,及更高性能)✅❌✅
多表查询: from 多张表✅❌❌
多表查询: left join、inner join 等等✅❌✅
多表查询: union,union all✅❌✅
单主键配置✅✅✅
多种 id 生成策略✅✅✅
支持多主键、复合主键✅❌❌
字段的 typeHandler 配置✅✅✅
除了 MyBatis,无其他第三方依赖(更轻量)✅❌❌
QueryWrapper 是否支持在微服务项目下进行 RPC 传输✅❌未知
逻辑删除✅✅✅
乐观锁✅✅✅
SQL 审计✅❌❌
数据填充✅✅✅
数据脱敏✅✔️ (收费)❌
字段权限✅✔️ (收费)❌
字段加密✅✔️ (收费)❌
字典回写✅✔️ (收费)❌
Db + Row✅❌❌
Entity 监听✅❌❌
多数据源支持✅借助其他框架或收费❌
多数据源是否支持 Spring 的事务管理,比如 @Transactional 和 TransactionTemplate 等✅❌❌
多数据源是否支持 "非 Spring" 项目✅❌❌
多租户✅✅❌
动态表名✅✅❌
动态 Schema✅❌❌

注意

以上内容来自第三方相关产品的官方文档或第三方平台,若有错误,欢迎纠正。

支持数据库 ​

MyBatis-Flex 支持的数据库类型,如下表格所示,我们还可以通过自定义方言的方式,持续添加更多的数据库支持。

数据库描述
mysqlMySQL 数据库
mariadbMariaDB 数据库
oracleOracle11g 及以下数据库
oracle12cOracle12c 及以上数据库
db2DB2 数据库
H2H2 数据库
hsqlHSQL 数据库
sqliteSQLite 数据库
postgresqlPostgreSQL 数据库
sqlserver2005SQLServer2005 数据库
sqlserverSQLServer 数据库
dm达梦数据库
xugu虚谷数据库
kingbasees人大金仓数据库
phoenixPhoenix HBase 数据库
gaussGauss 数据库
clickhouseClickHouse 数据库
gbase南大通用(华库)数据库
gbase-8s南大通用数据库 GBase 8s
oscar神通数据库
sybaseSybase ASE 数据库
OceanBaseOceanBase 数据库
FirebirdFirebird 数据库
derbyDerby 数据库
highgo瀚高数据库
cubridCUBRID 数据库
goldilocksGOLDILOCKS 数据库
csiidbCSIIDB 数据库
hanaSAP_HANA 数据库
impalaImpala 数据库
verticaVertica 数据库
xcloud行云数据库
redshift亚马逊 redshift 数据库
openGauss华为 openGauss 数据库
TDengineTDengine 数据库
informixInformix 数据库
greenplumGreenplum 数据库
uxdb优炫数据库
DorisDoris 数据库
Hive SQLHive 数据库
lealoneLealone 数据库
sinodb星瑞格数据库

注意

虽然 Mybatis-flex 支持很多数据库,但是 Cool Admin 是具体的业务框架,无法做到全部支持,那样工作量太大了。但是它为我们提供了改造的可能,理论上你只需修改一些不兼容的代码就可以正常运行了。

除了 Mysql,我们正在适配:PostgreSQL、Sqlite

自动建表 ​

根据 Java 实体,自动映射成数据库的表结构。

用过 JPA 的都知道,JPA 有一项重要的能力就是表结构自动维护,这让我们可以可以专注于业务逻辑和实体,而不需要关心数据库的表、列的配置,尤其是开发过程中频繁的新增表及变更表结构,节省了大量手动工作。

框架集成了Auto Table,可以自动创建表,并且支持表字段的修改。

注意

切勿在生产环境开启自动建表功能,因为这可能会造成数据丢失。

- +
Skip to content

数据库 ​

Cool Admin 集成了比 Mybatis-Plus 更加强大的,Mybatis-Flex,详细用法请查看 Mybatis-Flex 官网文档

主要特点;

  • 更轻量:除了 MyBatis 本身,再无任何第三方依赖,因此会带来更高的自主性、把控性和稳定性。在任何一个系统中,依赖越多,稳定性越差。

  • 更灵活:提供了非常灵活的 QueryWrapper,支持关联查询、多表查询、多主键、逻辑删除、乐观锁更新、数据填充、数据脱敏等等。

  • 高性能:通过独特的架构,没有任何 MyBatis 拦截器、在 SQL 执行的过程中,没有任何的 SQL Parse,因此会带来指数级的性能增长。

功能对比 ​

功能或特点MyBatis-FlexMyBatis-PlusFluent-MyBatis
对 entity 的基本增删改查✅✅✅
分页查询✅✅✅
分页查询之总量缓存✅✅❌
分页查询无 SQL 解析设计(更轻量,及更高性能)✅❌✅
多表查询: from 多张表✅❌❌
多表查询: left join、inner join 等等✅❌✅
多表查询: union,union all✅❌✅
单主键配置✅✅✅
多种 id 生成策略✅✅✅
支持多主键、复合主键✅❌❌
字段的 typeHandler 配置✅✅✅
除了 MyBatis,无其他第三方依赖(更轻量)✅❌❌
QueryWrapper 是否支持在微服务项目下进行 RPC 传输✅❌未知
逻辑删除✅✅✅
乐观锁✅✅✅
SQL 审计✅❌❌
数据填充✅✅✅
数据脱敏✅✔️ (收费)❌
字段权限✅✔️ (收费)❌
字段加密✅✔️ (收费)❌
字典回写✅✔️ (收费)❌
Db + Row✅❌❌
Entity 监听✅❌❌
多数据源支持✅借助其他框架或收费❌
多数据源是否支持 Spring 的事务管理,比如 @Transactional 和 TransactionTemplate 等✅❌❌
多数据源是否支持 "非 Spring" 项目✅❌❌
多租户✅✅❌
动态表名✅✅❌
动态 Schema✅❌❌

注意

以上内容来自第三方相关产品的官方文档或第三方平台,若有错误,欢迎纠正。

支持数据库 ​

MyBatis-Flex 支持的数据库类型,如下表格所示,我们还可以通过自定义方言的方式,持续添加更多的数据库支持。

数据库描述
mysqlMySQL 数据库
mariadbMariaDB 数据库
oracleOracle11g 及以下数据库
oracle12cOracle12c 及以上数据库
db2DB2 数据库
H2H2 数据库
hsqlHSQL 数据库
sqliteSQLite 数据库
postgresqlPostgreSQL 数据库
sqlserver2005SQLServer2005 数据库
sqlserverSQLServer 数据库
dm达梦数据库
xugu虚谷数据库
kingbasees人大金仓数据库
phoenixPhoenix HBase 数据库
gaussGauss 数据库
clickhouseClickHouse 数据库
gbase南大通用(华库)数据库
gbase-8s南大通用数据库 GBase 8s
oscar神通数据库
sybaseSybase ASE 数据库
OceanBaseOceanBase 数据库
FirebirdFirebird 数据库
derbyDerby 数据库
highgo瀚高数据库
cubridCUBRID 数据库
goldilocksGOLDILOCKS 数据库
csiidbCSIIDB 数据库
hanaSAP_HANA 数据库
impalaImpala 数据库
verticaVertica 数据库
xcloud行云数据库
redshift亚马逊 redshift 数据库
openGauss华为 openGauss 数据库
TDengineTDengine 数据库
informixInformix 数据库
greenplumGreenplum 数据库
uxdb优炫数据库
DorisDoris 数据库
Hive SQLHive 数据库
lealoneLealone 数据库
sinodb星瑞格数据库

注意

虽然 Mybatis-flex 支持很多数据库,但是 Cool Admin 是具体的业务框架,无法做到全部支持,那样工作量太大了。但是它为我们提供了改造的可能,理论上你只需修改一些不兼容的代码就可以正常运行了。

除了 Mysql,我们正在适配:PostgreSQL、Sqlite

自动建表 ​

根据 Java 实体,自动映射成数据库的表结构。

用过 JPA 的都知道,JPA 有一项重要的能力就是表结构自动维护,这让我们可以可以专注于业务逻辑和实体,而不需要关心数据库的表、列的配置,尤其是开发过程中频繁的新增表及变更表结构,节省了大量手动工作。

框架集成了Auto Table,可以自动创建表,并且支持表字段的修改。

注意

切勿在生产环境开启自动建表功能,因为这可能会造成数据丢失。

+ \ No newline at end of file diff --git a/.vitepress/dist/src/guide/dev.html b/.vitepress/dist/src/guide/dev.html index 8b4bfb8..6a12df3 100644 --- a/.vitepress/dist/src/guide/dev.html +++ b/.vitepress/dist/src/guide/dev.html @@ -6,18 +6,18 @@ 开发方式 | Cool Admin - + - + - - - + + + -
Skip to content

开发方式 ​

Cool Admin 推荐两种快速开发方式,可以大大节省开发时间,降低开发成本,提高开发效率。

Ai 全自动 ​

零代码开发(非低代码),通过微调大模型学习框架特有写法,实现简单功能从 Api 接口到前端页面的一键生成

开发过程只需点一点,调一调,不用写一行代码

B 站视频教程

半自动 ​

只需三步,创建实体类生成表,生成后端代码,生成前端代码

  • 编写实体类,重启生成表;
  • 运行代码生成器,生成 Service、Controller 等

文件:src/test/java/com/cool/CoolAdminJavaApplicationTests.java

java
public class CoolCodeGeneratorTest {
+    
Skip to content

开发方式 ​

Cool Admin 推荐两种快速开发方式,可以大大节省开发时间,降低开发成本,提高开发效率。

Ai 全自动 ​

零代码开发(非低代码),通过微调大模型学习框架特有写法,实现简单功能从 Api 接口到前端页面的一键生成

开发过程只需点一点,调一调,不用写一行代码

B 站视频教程

半自动 ​

只需三步,创建实体类生成表,生成后端代码,生成前端代码

  • 编写实体类,重启生成表;
  • 运行代码生成器,生成 Service、Controller 等

文件:src/test/java/com/cool/CoolAdminJavaApplicationTests.java

java
public class CoolCodeGeneratorTest {
     public static void main(String[] args) {
         CodeGenerator codeGenerator = new CodeGenerator();
         codeGenerator.init();
@@ -33,7 +33,7 @@
         codeGenerator.service(codeModel);
     }
 }
  • 自动生成前端页面,通过管理后台菜单管理的快速创建即可生成

Ui 组件会根据字段智能选择

- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/dir.html b/.vitepress/dist/src/guide/dir.html index ad104dc..b659835 100644 --- a/.vitepress/dist/src/guide/dir.html +++ b/.vitepress/dist/src/guide/dir.html @@ -6,18 +6,18 @@ 目录结构 | Cool Admin - + - + - - - + + + -
Skip to content

目录结构 ​

项目按照模块化的方式组织,每个模块都有其特有的功能,清晰明了便于管理。

结构 ​

.
+    
Skip to content

目录结构 ​

项目按照模块化的方式组织,每个模块都有其特有的功能,清晰明了便于管理。

结构 ​

.
 main
 ├─ java
 │  ├─ com.cool
@@ -42,7 +42,7 @@
    │  └─ data
    │     └─ db         初始化数据json文件
    └─ mapper           mapper xml 文件

提示

  • core 为核心模块,包括一些核心的组件工具
  • modules 为业务模块,业务代码放在这边,在新增功能模块时,按上面的包结构新增即可

    比如你有一个订单管理的模块,在 modules 新增一个 order 包,在 order 包下创建 controller、entity、mapper、service 等包

- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/exception.html b/.vitepress/dist/src/guide/exception.html index 23c9c30..5284eb0 100644 --- a/.vitepress/dist/src/guide/exception.html +++ b/.vitepress/dist/src/guide/exception.html @@ -6,18 +6,18 @@ 统一异常处理 | Cool Admin - + - + - - - + + + -
Skip to content

统一异常处理 ​

提供了简化的业务异常抛出工具

  • CoolPreconditions.check(check != null, "用户名已存在");

异常统一捕获 ​

java
@RestControllerAdvice
+    
Skip to content

统一异常处理 ​

提供了简化的业务异常抛出工具

  • CoolPreconditions.check(check != null, "用户名已存在");

异常统一捕获 ​

java
@RestControllerAdvice
 @Slf4j
 public class CoolExceptionHandler {
 
@@ -76,7 +76,7 @@
     super.add(requestParams, entity);
     return entity.getId();
 }
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/flow.html b/.vitepress/dist/src/guide/flow.html index 75e8b29..749d474 100644 --- a/.vitepress/dist/src/guide/flow.html +++ b/.vitepress/dist/src/guide/flow.html @@ -6,19 +6,19 @@ Ai 流程编排 | Cool Admin - + - + - - - + + + -
Skip to content

Ai 流程编排 ​

coming soon!!!

Nodejs 版本

视频演示

开发 Ai 应用必备!!!

随着 Ai 的火热,很多应用希望接入 Ai 的能力,但是每次都是用代码手搓,容易把我们累死,而是也非常不灵活。

于是我们面向开发者和软件开发公司,做了一个 Ai 流程编排功能,结合知识库,通过拖动配置,很容易就能完成一个 Ai 的核心流程。

因此如果你需要开发 Ai 相关应用,这个可能会给你带来巨大的帮助。

流程编排

注意

Ai 流程编排+知识库届时会上架到插件市场

- +
Skip to content

Ai 流程编排 ​

coming soon!!!

Nodejs 版本

视频演示

开发 Ai 应用必备!!!

随着 Ai 的火热,很多应用希望接入 Ai 的能力,但是每次都是用代码手搓,容易把我们累死,而是也非常不灵活。

于是我们面向开发者和软件开发公司,做了一个 Ai 流程编排功能,结合知识库,通过拖动配置,很容易就能完成一个 Ai 的核心流程。

因此如果你需要开发 Ai 相关应用,这个可能会给你带来巨大的帮助。

流程编排

注意

Ai 流程编排+知识库届时会上架到插件市场

+ \ No newline at end of file diff --git a/.vitepress/dist/src/guide/initData.html b/.vitepress/dist/src/guide/initData.html index b9f9901..019c5d4 100644 --- a/.vitepress/dist/src/guide/initData.html +++ b/.vitepress/dist/src/guide/initData.html @@ -6,18 +6,18 @@ 数据初始化 | Cool Admin - + - + - - - + + + -
Skip to content

数据初始化 ​

有些功能模块上线时,需要初始化一些数据

可以在 resources 下的 cool/data/db 目录创建 demo.json 文件

json 格式如下,demo 为表的名称,里面是个数组,数组里可以包含多个对象,每个对象中的 key 为表的字段,value 为对应的值

规范:实体需以 Entity 结尾

json
{
+    
Skip to content

数据初始化 ​

有些功能模块上线时,需要初始化一些数据

可以在 resources 下的 cool/data/db 目录创建 demo.json 文件

json 格式如下,demo 为表的名称,里面是个数组,数组里可以包含多个对象,每个对象中的 key 为表的字段,value 为对应的值

规范:实体需以 Entity 结尾

json
{
   "demo": [
     {
       "keyName": "rich",
@@ -50,7 +50,7 @@
     }
     //......
 }

注意:如果同一张表历史已经有初始化过数据,在某个版本需要新增数据的话,要新增一个.json 文件;
比如 demoV2.json, 如果在原文件直接修改将不生效,加载成功后文件名称将被当作唯一键标识,不会重复初始化。

- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/plugin.html b/.vitepress/dist/src/guide/plugin.html index 2d5249b..8782b64 100644 --- a/.vitepress/dist/src/guide/plugin.html +++ b/.vitepress/dist/src/guide/plugin.html @@ -6,18 +6,18 @@ 扩展插件 | Cool Admin - + - + - - - + + + -
Skip to content

扩展插件 ​

为了丰富系统功能,我们提供了插件系统,可以通过插件的方式来扩展系统功能。

而不用一味地堆功能,导致系统臃肿。你可以自己开发插件,也可以使用别人开发的插件。

点击前往插件市场

使用插件 ​

1、安装 ​

首先下载插件包,然后在系统中安装插件包。插件包可以通过官网下载插件。

打开后台管理系统,点击左侧菜单扩展管理/插件管理,点击+按钮,选择插件包进行安装。

2、调用 ​

安装插件之后,就可以在代码中调用插件的方法了。

java
package com.cool.core.base.controller;
+    
Skip to content

扩展插件 ​

为了丰富系统功能,我们提供了插件系统,可以通过插件的方式来扩展系统功能。

而不用一味地堆功能,导致系统臃肿。你可以自己开发插件,也可以使用别人开发的插件。

点击前往插件市场

使用插件 ​

1、安装 ​

首先下载插件包,然后在系统中安装插件包。插件包可以通过官网下载插件。

打开后台管理系统,点击左侧菜单扩展管理/插件管理,点击+按钮,选择插件包进行安装。

2、调用 ​

安装插件之后,就可以在代码中调用插件的方法了。

java
package com.cool.core.base.controller;
 
 import cn.hutool.core.util.ObjUtil;
 import com.cool.core.util.CoolPluginInvokers;
@@ -254,7 +254,7 @@
     <cool.plugin.name>my_cool_plugin</cool.plugin.name>
 </properties>

最终打出的包为: my_cool_plugin.cool

安装插件 ​

在后台插件管理页面,安装插件将打包好的.cool 文件上传。

实现原理 ​

  • 动态加载 Jar 包

    实现动态加载的技术方案
    在 SpringBoot 中实现动态加载 Jar 包: URLClassLoader 是 Java 标准库中提供的一个类加载器,它可以加载指定的 URL 资源,包括本地文件系统、远程服务器和 JAR 文件等。
    通过 URLClassLoader,我们可以在运行时动态地加载外部的 Jar 包或类。

  • 优势:

    1、灵活性高:可以动态指定 Jar 包的位置和版本。
    2、可控性强:可以通过代码控制加载、卸载和替换 Jar 包。

实现方法:

java
URL jarUrl = new URL("jar:file:" + new File(jarFilePath).getAbsolutePath() + "!/");
 DynamicJarClassLoader dynamicJarClassLoader = new DynamicJarClassLoader(new URL[]{jarUrl}, Thread.currentThread().getContextClassLoader());

动态加载 Jar 包具有以下几个显著的优势:

  • 1、灵活性: 动态加载允许应用程序在运行时根据需求加载、卸载和替换 Jar 包或其内部的类和资源,提供了极大的灵活性。
  • 2、可维护性: 通过动态加载,可以将应用程序的核心逻辑和配置分离,使得代码更加清晰、模块化,提高了代码的可维护性。
  • 3、热更新: 动态加载使得应用程序能够在不停机的情况下进行热更新,大大提高了系统的可用性和稳定性。
  • 4、扩展性: 通过动态加载,可以轻松地添加新的功能模块或服务,实现应用程序的快速扩展和升级。
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/quick.html b/.vitepress/dist/src/guide/quick.html index 188a6f3..aba2469 100644 --- a/.vitepress/dist/src/guide/quick.html +++ b/.vitepress/dist/src/guide/quick.html @@ -6,18 +6,18 @@ 快速开始 | Cool Admin - + - + - - - + + + -
Skip to content

快速开始 ​

开始使用 Cool-Admin!!!

环境准备 ​

  • Java Jdk >= 17 (注意:选择 GraalVM)
  • Mysql >= 5.7 (推荐 8.0)
  • Maven >= 3.6 (推荐 3.9)

运行系统 ​

1、拉取源码 ​

项目是前后端分离的,需要分别拉取前后端代码到本地,源码仓库

2、配置数据库 ​

后端修改数据库配置,配置文件位于src/resources/application-local.yml

以 Mysql 为例,其他数据库适配中...

Mysql(>=5.7版本),建议 8.0,首次启动会自动初始化并导入数据

yaml
# mysql,驱动已经内置,无需安装
+    
Skip to content

快速开始 ​

开始使用 Cool-Admin!!!

环境准备 ​

  • Java Jdk >= 17 (注意:选择 GraalVM)
  • Mysql >= 5.7 (推荐 8.0)
  • Maven >= 3.6 (推荐 3.9)

运行系统 ​

1、拉取源码 ​

项目是前后端分离的,需要分别拉取前后端代码到本地,源码仓库

2、配置数据库 ​

后端修改数据库配置,配置文件位于src/resources/application-local.yml

以 Mysql 为例,其他数据库适配中...

Mysql(>=5.7版本),建议 8.0,首次启动会自动初始化并导入数据

yaml
# mysql,驱动已经内置,无需安装
 spring:
   datasource:
     url: jdbc:mysql://127.0.0.1:3306/cool?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
@@ -30,7 +30,7 @@
 npm install
 # 启动
 npm run dev

访问http://127.0.0.1:9000/ 默认账户密码

账户:admin
密码:123456

- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/security.html b/.vitepress/dist/src/guide/security.html index a9a3ca8..a8163fc 100644 --- a/.vitepress/dist/src/guide/security.html +++ b/.vitepress/dist/src/guide/security.html @@ -6,18 +6,18 @@ 权限校验 | Cool Admin - + - + - - - + + + -
Skip to content

权限校验 ​

采用 spring-security 与 jwt 作为框架安全与权限校验。

配置 ​

yaml
cool:
+    
Skip to content

权限校验 ​

采用 spring-security 与 jwt 作为框架安全与权限校验。

配置 ​

yaml
cool:
   # token 相关配置
   token:
     # 过期时间 单位:秒 半小时
@@ -231,7 +231,7 @@
  private CoolSecurityUtil coolSecurityUtil;
 
  JSONObject userInfo = coolSecurityUtil.userInfo(requestParams);

userInfo

字段类型说明
roleIdsLong[]角色数组
usernameString用户名
userIdLong用户 ID
passwordVersionInteger密码版本号
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/service.html b/.vitepress/dist/src/guide/service.html index 64a74d8..455d5b7 100644 --- a/.vitepress/dist/src/guide/service.html +++ b/.vitepress/dist/src/guide/service.html @@ -6,18 +6,18 @@ 服务 | Cool Admin - + - + - - - + + + -
Skip to content

服务 ​

处理业务逻辑的代码应该被封装在服务中。

Crud ​

BaseService中集成了常用的 CRUD 操作,可以参考BaseService的实现。

修改前后 ​

可以重写modifyBefore和modifyAfter方法,在修改数据之前或之后做一些处理

  • 修改之前
java
/**
+    
Skip to content

服务 ​

处理业务逻辑的代码应该被封装在服务中。

Crud ​

BaseService中集成了常用的 CRUD 操作,可以参考BaseService的实现。

修改前后 ​

可以重写modifyBefore和modifyAfter方法,在修改数据之前或之后做一些处理

  • 修改之前
java
/**
  * 修改之前
  *
  * @param requestParams 请求参数
@@ -37,7 +37,7 @@
 @Override
 public void modifyAfter(JSONObject requestParams, T t, ModifyEnum type) {
 }
- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/swagger.html b/.vitepress/dist/src/guide/swagger.html index a2e333d..01ffe46 100644 --- a/.vitepress/dist/src/guide/swagger.html +++ b/.vitepress/dist/src/guide/swagger.html @@ -6,18 +6,18 @@ swagger 文档 | Cool Admin - + - + - - - + + + -
Skip to content

swagger 文档 ​

默认集成springdoc,作为文档。

java
@Tag(name = "测试CURD", description = "测试CURD")
+    
Skip to content

swagger 文档 ​

默认集成springdoc,作为文档。

java
@Tag(name = "测试CURD", description = "测试CURD")
 @CoolRestController(value = "/cool", api = {"add", "delete", "update", "page", "list", "info"})
 public class AdminDemoInfoController extends BaseController<DemoService, DemoEntity> {
     @Override
@@ -25,7 +25,7 @@
         // 可以在这边实现一下列表数据排序规则,查询条件过滤,返回哪些字段等
     }
 }

系统启动完成访问:http://127.0.0.1:8001/swagger-ui/index.html#/

- + \ No newline at end of file diff --git a/.vitepress/dist/src/guide/upload.html b/.vitepress/dist/src/guide/upload.html index 728fc63..8312920 100644 --- a/.vitepress/dist/src/guide/upload.html +++ b/.vitepress/dist/src/guide/upload.html @@ -6,18 +6,18 @@ 文件上传 | Cool Admin - + - + - - - + + + -
Skip to content

文件上传 ​

框架自带两种文件上传方式本地上传与云存储,与前端紧密结合,

前端会根据后端返回的上传模式进行本地上传或者云存储签名直传(不经过服务器,直接上传到对应的云存储)

  • 本地上传
  • 云存储,如阿里云、腾讯云、七牛云等

TIP

安装云存储插件,如 Oss,系统的文件上传就会自动替换成云存储上传的方式,云存储上传服务端值提供签名供前端直传到对应的云存储

使用 ​

application.yml

yaml
cool:
+    
Skip to content

文件上传 ​

框架自带两种文件上传方式本地上传与云存储,与前端紧密结合,

前端会根据后端返回的上传模式进行本地上传或者云存储签名直传(不经过服务器,直接上传到对应的云存储)

  • 本地上传
  • 云存储,如阿里云、腾讯云、七牛云等

TIP

安装云存储插件,如 Oss,系统的文件上传就会自动替换成云存储上传的方式,云存储上传服务端值提供签名供前端直传到对应的云存储

使用 ​

application.yml

yaml
cool:
   # 文件上传相关
   file:
     #上传模式
@@ -48,7 +48,7 @@
         return R.ok(fileUploadStrategyFactory.getMode());
     }
 }
- + \ No newline at end of file diff --git a/.vitepress/dist/src/introduce/index.html b/.vitepress/dist/src/introduce/index.html index 2fed022..39620ce 100644 --- a/.vitepress/dist/src/introduce/index.html +++ b/.vitepress/dist/src/introduce/index.html @@ -6,19 +6,19 @@ 简介 | Cool Admin - + - + - - - + + + -
Skip to content

简介 ​

技术选型 ​

按照简单、常用的技术进行选择,减少技术栈的复杂度。

一、环境要求 ​

  • Java Jdk >= 17 选择 graalvm
  • Mysql >= 5.7
  • Maven >= 3.6

二、后端框架 ​

  • Spring Boot 3.x
  • Mybatis Flex
  • Auto Table
  • Hutool

三、前端框架 ​

  • Vue3
  • Typescript
  • Element-UI

为什么选择 Cool Admin? ​

随着技术不断地发展,特别是最近 Ai 相关的技术发展,以往的框架已经越来越不能满足现代化的开发需求。

Cool Admin 做为后来者有后发优势,主要特点:

  • Ai 编码,从页面到后端代码,部分功能实现零代码;
  • Ai 流程编排,专门为 Ai 开发设计的,Ai 开发几乎不用写代码,只需拖一拖即可;
  • 扩展插件,可插拔,如支付、短信这类功能的插件可以通过后台动态安装卸载,灵活又不臃肿;
  • 代码简洁,不像一般代码生成器生成一堆冗余代码,Cool 只需极少编码即可实现大部分需求;
  • ......

内置功能 ​

  • 用户管理:呈现公司组织部门树形结构,用户是系统操作者,该功能主要完成系统用户配置。
  • 菜单管理:配置系统菜单,操作权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 参数管理:对系统动态配置常用参数。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 请求日志:接口的请求入参日志,便于问题排查。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 文件管理:支持静态资源文件上传云端进行云管理。
  • 数据回收站:数据有 n 天的保留,支持回滚操作。
  • 前后端插件:支持动态安装、卸载插件,实现功能可插拔。
- +
Skip to content

简介 ​

技术选型 ​

按照简单、常用的技术进行选择,减少技术栈的复杂度。

一、环境要求 ​

  • Java Jdk >= 17 选择 graalvm
  • Mysql >= 5.7
  • Maven >= 3.6

二、后端框架 ​

  • Spring Boot 3.x
  • Mybatis Flex
  • Auto Table
  • Hutool

三、前端框架 ​

  • Vue3
  • Typescript
  • Element-UI

为什么选择 Cool Admin? ​

随着技术不断地发展,特别是最近 Ai 相关的技术发展,以往的框架已经越来越不能满足现代化的开发需求。

Cool Admin 做为后来者有后发优势,主要特点:

  • Ai 编码,从页面到后端代码,部分功能实现零代码;
  • Ai 流程编排,专门为 Ai 开发设计的,Ai 开发几乎不用写代码,只需拖一拖即可;
  • 扩展插件,可插拔,如支付、短信这类功能的插件可以通过后台动态安装卸载,灵活又不臃肿;
  • 代码简洁,不像一般代码生成器生成一堆冗余代码,Cool 只需极少编码即可实现大部分需求;
  • ......

内置功能 ​

  • 用户管理:呈现公司组织部门树形结构,用户是系统操作者,该功能主要完成系统用户配置。
  • 菜单管理:配置系统菜单,操作权限标识等。
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  • 参数管理:对系统动态配置常用参数。
  • 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  • 请求日志:接口的请求入参日志,便于问题排查。
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  • 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  • 文件管理:支持静态资源文件上传云端进行云管理。
  • 数据回收站:数据有 n 天的保留,支持回滚操作。
  • 前后端插件:支持动态安装、卸载插件,实现功能可插拔。
+ \ No newline at end of file diff --git a/.vitepress/dist/src/introduce/show.html b/.vitepress/dist/src/introduce/show.html index 9a7ee68..8f01589 100644 --- a/.vitepress/dist/src/introduce/show.html +++ b/.vitepress/dist/src/introduce/show.html @@ -6,19 +6,19 @@ 演示 | Cool Admin - + - + - - - + + + - - + + \ No newline at end of file diff --git a/.vitepress/dist/src/introduce/src.html b/.vitepress/dist/src/introduce/src.html index 523aa88..fac1b61 100644 --- a/.vitepress/dist/src/introduce/src.html +++ b/.vitepress/dist/src/introduce/src.html @@ -6,19 +6,19 @@ 源码 | Cool Admin - + - + - - - + + + - - + + \ No newline at end of file diff --git a/.vitepress/dist/src/question/common.html b/.vitepress/dist/src/question/common.html index 9e0e6fc..ec657f6 100644 --- a/.vitepress/dist/src/question/common.html +++ b/.vitepress/dist/src/question/common.html @@ -6,19 +6,19 @@ 常见问题 | Cool Admin - + - + - - - + + + -
Skip to content

常见问题 ​

项目中常见的问题

1、找不到类似xxxTableDef文件 ​

框架用到了Mybatis Flex 的 APT 功能,在项目编译的时候会自动生成这些文件。

你可以这样做:

  • Build 你的项目;
  • 执行 maven 的mvn compile命令;
  • 配置完数据库直接启动;
  • 【推荐】开启 idea 的Build project automatically自动编译功能(Settings -> Build, Execution, Deployment -> Compiler -> Build Project Automatically);

这些方式都可以解决这个问题。

- +
Skip to content

常见问题 ​

项目中常见的问题

1、找不到类似xxxTableDef文件 ​

框架用到了Mybatis Flex 的 APT 功能,在项目编译的时候会自动生成这些文件。

你可以这样做:

  • Build 你的项目;
  • 执行 maven 的mvn compile命令;
  • 配置完数据库直接启动;
  • 【推荐】开启 idea 的Build project automatically自动编译功能(Settings -> Build, Execution, Deployment -> Compiler -> Build Project Automatically);

这些方式都可以解决这个问题。

+ \ No newline at end of file diff --git a/.vitepress/dist/src/todo/plan.html b/.vitepress/dist/src/todo/plan.html index 667fef7..c028252 100644 --- a/.vitepress/dist/src/todo/plan.html +++ b/.vitepress/dist/src/todo/plan.html @@ -6,19 +6,19 @@ 计划 | Cool Admin - + - + - - - + + + -
Skip to content

计划 ​

以下是我们的一些计划,如果你有更好的建议,欢迎联系我们。

完善插件 ​

  • Ai 流程编排插件
  • 文件上传插件
  • 短信插件
  • 支付插件
  • 微信 SDK 插件
- +
Skip to content

计划 ​

以下是我们的一些计划,如果你有更好的建议,欢迎联系我们。

完善插件 ​

  • Ai 流程编排插件
  • 文件上传插件
  • 短信插件
  • 支付插件
  • 微信 SDK 插件
+ \ No newline at end of file diff --git a/.vitepress/dist/src/todo/update.html b/.vitepress/dist/src/todo/update.html index 4cf7c15..99f58bb 100644 --- a/.vitepress/dist/src/todo/update.html +++ b/.vitepress/dist/src/todo/update.html @@ -6,19 +6,19 @@ 更新 | Cool Admin - + - + - - - + + + -
Skip to content

更新 ​

因为有你们的支持,cool-admin 会持续不断地更新,如果方便请点下 Star,这将会给我们带来更多的动力!!!

## v7.1.1(2024-07-15) ​

  • 新增 Ai 自动编码功能,简单功能零代码实现;
  • 新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;

v7.1.0(2024-06-27) ​

  • 升级到 Springboot3.x;
  • 升级所有相关依赖到最新;
  • 跟进Nodejs 版相关功能;
  • 优化若干问题;
- +
Skip to content

更新 ​

因为有你们的支持,cool-admin 会持续不断地更新,如果方便请点下 Star,这将会给我们带来更多的动力!!!

## v7.1.1(2024-07-15) ​

  • 新增 Ai 自动编码功能,简单功能零代码实现;
  • 新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;

v7.1.0(2024-06-27) ​

  • 升级到 Springboot3.x;
  • 升级所有相关依赖到最新;
  • 跟进Nodejs 版相关功能;
  • 优化若干问题;
+ \ No newline at end of file diff --git a/.vitepress/theme/index.js b/.vitepress/theme/index.js index fc95e1e..76e9212 100644 --- a/.vitepress/theme/index.js +++ b/.vitepress/theme/index.js @@ -1,23 +1,23 @@ -import DefaultTheme from 'vitepress/theme' -import './custom.css' -import { onMounted, watch, nextTick } from 'vue'; -import { useRoute } from 'vitepress'; -import mediumZoom from 'medium-zoom'; +import mediumZoom from "medium-zoom"; +import { useRoute } from "vitepress"; +import { nextTick, onMounted, watch } from "vue"; +import "./custom.css"; +import Layout from "./layout.vue"; export default { - ...DefaultTheme, - - setup() { - const route = useRoute(); - const initZoom = () => { - new mediumZoom('[data-zoomable]', { background: 'var(--vp-c-bg)' }); - }; - onMounted(() => { - initZoom(); - }); - watch( - () => route.path, - () => nextTick(() => initZoom()) - ); - }, - }; \ No newline at end of file + Layout, + + setup() { + const route = useRoute(); + const initZoom = () => { + new mediumZoom("[data-zoomable]", { background: "var(--vp-c-bg)" }); + }; + onMounted(() => { + initZoom(); + }); + watch( + () => route.path, + () => nextTick(() => initZoom()) + ); + }, +}; diff --git a/.vitepress/theme/layout.vue b/.vitepress/theme/layout.vue new file mode 100644 index 0000000..ea8d6a3 --- /dev/null +++ b/.vitepress/theme/layout.vue @@ -0,0 +1,64 @@ + + + + +