@gkd-kit/docs 0.0.1746214530900 → 0.0.1746214919354
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vitepress/dist/404.html +8 -8
- package/.vitepress/dist/404_.md +8 -8
- package/.vitepress/dist/_config.json +1 -1
- package/.vitepress/dist/api/index.html +12 -12
- package/.vitepress/dist/api/index_.md +12 -12
- package/.vitepress/dist/api/interfaces/RawApp.html +12 -12
- package/.vitepress/dist/api/interfaces/RawAppGroup.html +18 -18
- package/.vitepress/dist/api/interfaces/RawAppGroup_.md +18 -18
- package/.vitepress/dist/api/interfaces/RawAppRule.html +21 -21
- package/.vitepress/dist/api/interfaces/RawAppRuleProps.html +12 -12
- package/.vitepress/dist/api/interfaces/RawAppRuleProps_.md +12 -12
- package/.vitepress/dist/api/interfaces/RawAppRule_.md +21 -21
- package/.vitepress/dist/api/interfaces/RawApp_.md +12 -12
- package/.vitepress/dist/api/interfaces/RawCategory.html +12 -12
- package/.vitepress/dist/api/interfaces/RawCategory_.md +12 -12
- package/.vitepress/dist/api/interfaces/RawCommonProps.html +14 -14
- package/.vitepress/dist/api/interfaces/RawCommonProps_.md +14 -14
- package/.vitepress/dist/api/interfaces/RawGlobalApp.html +12 -12
- package/.vitepress/dist/api/interfaces/RawGlobalApp_.md +12 -12
- package/.vitepress/dist/api/interfaces/RawGlobalGroup.html +14 -14
- package/.vitepress/dist/api/interfaces/RawGlobalGroup_.md +14 -14
- package/.vitepress/dist/api/interfaces/RawGlobalRule.html +21 -21
- package/.vitepress/dist/api/interfaces/RawGlobalRuleProps.html +12 -12
- package/.vitepress/dist/api/interfaces/RawGlobalRuleProps_.md +12 -12
- package/.vitepress/dist/api/interfaces/RawGlobalRule_.md +21 -21
- package/.vitepress/dist/api/interfaces/RawGroupProps.html +14 -14
- package/.vitepress/dist/api/interfaces/RawGroupProps_.md +14 -14
- package/.vitepress/dist/api/interfaces/RawRuleProps.html +21 -21
- package/.vitepress/dist/api/interfaces/RawRuleProps_.md +21 -21
- package/.vitepress/dist/api/interfaces/RawSubscription.html +13 -13
- package/.vitepress/dist/api/interfaces/RawSubscription_.md +13 -13
- package/.vitepress/dist/api/type-aliases/IArray.html +13 -13
- package/.vitepress/dist/api/type-aliases/IArray_.md +13 -13
- package/.vitepress/dist/api/type-aliases/Integer.html +13 -13
- package/.vitepress/dist/api/type-aliases/Integer_.md +13 -13
- package/.vitepress/dist/api/type-aliases/Position.html +16 -16
- package/.vitepress/dist/api/type-aliases/Position_.md +16 -16
- package/.vitepress/dist/assets/api_index.md.DibgC-Cu.js +1 -0
- package/.vitepress/dist/assets/api_index.md.DibgC-Cu.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawApp.md.Dm7JRVIk.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawApp.md.Dm7JRVIk.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawAppGroup.md.HHHWnPxV.js +22 -0
- package/.vitepress/dist/assets/api_interfaces_RawAppGroup.md.HHHWnPxV.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawAppRule.md.Dwqx0mT2.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawAppRule.md.Dwqx0mT2.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawAppRuleProps.md.C76C0bJS.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawAppRuleProps.md.C76C0bJS.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawCategory.md.DkDwqnJb.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawCategory.md.DkDwqnJb.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawCommonProps.md.DsFOiKJy.js +5 -0
- package/.vitepress/dist/assets/api_interfaces_RawCommonProps.md.DsFOiKJy.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalApp.md.CAiIHGp5.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalApp.md.CAiIHGp5.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalGroup.md.D1TUOlfa.js +5 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalGroup.md.D1TUOlfa.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRule.md.BSYNyZqY.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRule.md.BSYNyZqY.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRuleProps.md.Dy_dGQa0.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRuleProps.md.Dy_dGQa0.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawGroupProps.md.FSkJdqT2.js +5 -0
- package/.vitepress/dist/assets/api_interfaces_RawGroupProps.md.FSkJdqT2.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawRuleProps.md.BSS5oHyW.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawRuleProps.md.BSS5oHyW.lean.js +1 -0
- package/.vitepress/dist/assets/api_interfaces_RawSubscription.md.6tDtqSmV.js +4 -0
- package/.vitepress/dist/assets/api_interfaces_RawSubscription.md.6tDtqSmV.lean.js +1 -0
- package/.vitepress/dist/assets/{api_type-aliases_IArray.md.BV1HveiZ.js → api_type-aliases_IArray.md.BPtngEts.js} +2 -2
- package/.vitepress/dist/assets/api_type-aliases_IArray.md.BPtngEts.lean.js +1 -0
- package/.vitepress/dist/assets/api_type-aliases_Integer.md.9QCf-QzB.js +2 -0
- package/.vitepress/dist/assets/{api_type-aliases_Integer.md.D5K7JFq4.lean.js → api_type-aliases_Integer.md.9QCf-QzB.lean.js} +1 -1
- package/.vitepress/dist/assets/api_type-aliases_Position.md.Tfhf3kj7.js +13 -0
- package/.vitepress/dist/assets/api_type-aliases_Position.md.Tfhf3kj7.lean.js +1 -0
- package/.vitepress/dist/assets/app.BUFaDCoh.js +1 -0
- package/.vitepress/dist/assets/chunks/@localSearchIndexroot.D6AguSSn.js +1 -0
- package/.vitepress/dist/assets/chunks/FileSaver.min.BxHcgHsl.js +1 -0
- package/.vitepress/dist/assets/chunks/VPLocalSearchBox.ByWPPdLS.js +8 -0
- package/.vitepress/dist/assets/chunks/framework.D_vZ0jx3.js +18 -0
- package/.vitepress/dist/assets/chunks/{index.BMeD7MBc.js → index.BcSuHRr5.js} +27 -27
- package/.vitepress/dist/assets/chunks/theme.nkzl4P_S.js +1 -0
- package/.vitepress/dist/assets/guide_example.md.BXSJACDF.js +1 -0
- package/.vitepress/dist/assets/guide_example.md.BXSJACDF.lean.js +1 -0
- package/.vitepress/dist/assets/guide_external.md.B4FNxtnL.js +1 -0
- package/.vitepress/dist/assets/guide_external.md.B4FNxtnL.lean.js +1 -0
- package/.vitepress/dist/assets/guide_faq.md.DtNSjMYX.js +21 -0
- package/.vitepress/dist/assets/guide_faq.md.DtNSjMYX.lean.js +1 -0
- package/.vitepress/dist/assets/guide_index.md.VB5UE3pK.js +1 -0
- package/.vitepress/dist/assets/guide_index.md.VB5UE3pK.lean.js +1 -0
- package/.vitepress/dist/assets/guide_node.md.DlPxb9BO.js +1 -0
- package/.vitepress/dist/assets/guide_node.md.DlPxb9BO.lean.js +1 -0
- package/.vitepress/dist/assets/guide_optimize.md.I2B-fS-l.js +1 -0
- package/.vitepress/dist/assets/guide_optimize.md.I2B-fS-l.lean.js +1 -0
- package/.vitepress/dist/assets/guide_privacy.md.DUVorOyA.js +1 -0
- package/.vitepress/dist/assets/guide_privacy.md.DUVorOyA.lean.js +1 -0
- package/.vitepress/dist/assets/guide_selector.md.BqI9qmNZ.js +12 -0
- package/.vitepress/dist/assets/guide_selector.md.BqI9qmNZ.lean.js +1 -0
- package/.vitepress/dist/assets/guide_snapshot.md.KLlK76D-.js +1 -0
- package/.vitepress/dist/assets/guide_snapshot.md.KLlK76D-.lean.js +1 -0
- package/.vitepress/dist/assets/{guide_subscription.md.DYtHNPwp.js → guide_subscription.md.Jy3BXAmL.js} +6 -6
- package/.vitepress/dist/assets/guide_subscription.md.Jy3BXAmL.lean.js +1 -0
- package/.vitepress/dist/assets/guide_what-is-gkd.md.COXhF5P-.js +1 -0
- package/.vitepress/dist/assets/guide_what-is-gkd.md.COXhF5P-.lean.js +1 -0
- package/.vitepress/dist/assets/{index.md.7rhzn7Kn.js → index.md.B1om_UGA.js} +1 -1
- package/.vitepress/dist/assets/{index.md.7rhzn7Kn.lean.js → index.md.B1om_UGA.lean.js} +1 -1
- package/.vitepress/dist/assets/style.CuzzImqp.css +1 -0
- package/.vitepress/dist/guide/example.html +12 -12
- package/.vitepress/dist/guide/example_.md +12 -12
- package/.vitepress/dist/guide/external.html +12 -12
- package/.vitepress/dist/guide/external_.md +12 -12
- package/.vitepress/dist/guide/faq.html +13 -13
- package/.vitepress/dist/guide/faq_.md +13 -13
- package/.vitepress/dist/guide/index.html +12 -12
- package/.vitepress/dist/guide/index_.md +12 -12
- package/.vitepress/dist/guide/node.html +12 -12
- package/.vitepress/dist/guide/node_.md +12 -12
- package/.vitepress/dist/guide/optimize.html +12 -12
- package/.vitepress/dist/guide/optimize_.md +12 -12
- package/.vitepress/dist/guide/privacy.html +12 -12
- package/.vitepress/dist/guide/privacy_.md +12 -12
- package/.vitepress/dist/guide/selector.html +18 -18
- package/.vitepress/dist/guide/selector_.md +18 -18
- package/.vitepress/dist/guide/snapshot.html +12 -12
- package/.vitepress/dist/guide/snapshot_.md +12 -12
- package/.vitepress/dist/guide/subscription.html +17 -17
- package/.vitepress/dist/guide/subscription_.md +17 -17
- package/.vitepress/dist/guide/what-is-gkd.html +12 -12
- package/.vitepress/dist/guide/what-is-gkd_.md +12 -12
- package/.vitepress/dist/hashmap.json +1 -1
- package/.vitepress/dist/index.html +12 -12
- package/.vitepress/dist/index_.md +12 -12
- package/_config.json +1 -1
- package/package.json +1 -1
- package/.vitepress/dist/assets/api_index.md.SPk0I_cG.js +0 -1
- package/.vitepress/dist/assets/api_index.md.SPk0I_cG.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawApp.md.6OGjSK39.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawApp.md.6OGjSK39.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawAppGroup.md.CafPqXf8.js +0 -22
- package/.vitepress/dist/assets/api_interfaces_RawAppGroup.md.CafPqXf8.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawAppRule.md.iYaIvuG9.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawAppRule.md.iYaIvuG9.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawAppRuleProps.md.BHHzsHfF.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawAppRuleProps.md.BHHzsHfF.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawCategory.md.Bvvb_IP6.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawCategory.md.Bvvb_IP6.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawCommonProps.md.BOvk92j_.js +0 -5
- package/.vitepress/dist/assets/api_interfaces_RawCommonProps.md.BOvk92j_.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalApp.md.VRaORJOL.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalApp.md.VRaORJOL.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalGroup.md.DYYGIiKZ.js +0 -5
- package/.vitepress/dist/assets/api_interfaces_RawGlobalGroup.md.DYYGIiKZ.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRule.md.44L0hx4S.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRule.md.44L0hx4S.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRuleProps.md.BadeTnQB.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGlobalRuleProps.md.BadeTnQB.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawGroupProps.md.B-GC65bR.js +0 -5
- package/.vitepress/dist/assets/api_interfaces_RawGroupProps.md.B-GC65bR.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawRuleProps.md.QnN60O_u.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawRuleProps.md.QnN60O_u.lean.js +0 -1
- package/.vitepress/dist/assets/api_interfaces_RawSubscription.md.CrYsZ3Kp.js +0 -4
- package/.vitepress/dist/assets/api_interfaces_RawSubscription.md.CrYsZ3Kp.lean.js +0 -1
- package/.vitepress/dist/assets/api_type-aliases_IArray.md.BV1HveiZ.lean.js +0 -1
- package/.vitepress/dist/assets/api_type-aliases_Integer.md.D5K7JFq4.js +0 -2
- package/.vitepress/dist/assets/api_type-aliases_Position.md.BTlWb-br.js +0 -13
- package/.vitepress/dist/assets/api_type-aliases_Position.md.BTlWb-br.lean.js +0 -1
- package/.vitepress/dist/assets/app.CixdghKV.js +0 -1
- package/.vitepress/dist/assets/chunks/@localSearchIndexroot.C7-frqcr.js +0 -1
- package/.vitepress/dist/assets/chunks/FileSaver.min.CvNQQnEe.js +0 -1
- package/.vitepress/dist/assets/chunks/VPLocalSearchBox.BbPG_Jzh.js +0 -8
- package/.vitepress/dist/assets/chunks/framework.DE7acwfO.js +0 -18
- package/.vitepress/dist/assets/chunks/theme.BChCNnNC.js +0 -1
- package/.vitepress/dist/assets/guide_example.md.D-NQkNj-.js +0 -1
- package/.vitepress/dist/assets/guide_example.md.D-NQkNj-.lean.js +0 -1
- package/.vitepress/dist/assets/guide_external.md.DWUXx7Un.js +0 -1
- package/.vitepress/dist/assets/guide_external.md.DWUXx7Un.lean.js +0 -1
- package/.vitepress/dist/assets/guide_faq.md.CwpXoXH-.js +0 -21
- package/.vitepress/dist/assets/guide_faq.md.CwpXoXH-.lean.js +0 -1
- package/.vitepress/dist/assets/guide_index.md.BvKfxqem.js +0 -1
- package/.vitepress/dist/assets/guide_index.md.BvKfxqem.lean.js +0 -1
- package/.vitepress/dist/assets/guide_node.md.DAtT86dU.js +0 -1
- package/.vitepress/dist/assets/guide_node.md.DAtT86dU.lean.js +0 -1
- package/.vitepress/dist/assets/guide_optimize.md.BSxtrrEA.js +0 -1
- package/.vitepress/dist/assets/guide_optimize.md.BSxtrrEA.lean.js +0 -1
- package/.vitepress/dist/assets/guide_privacy.md.D1905QvW.js +0 -1
- package/.vitepress/dist/assets/guide_privacy.md.D1905QvW.lean.js +0 -1
- package/.vitepress/dist/assets/guide_selector.md.BzeIG0u0.js +0 -12
- package/.vitepress/dist/assets/guide_selector.md.BzeIG0u0.lean.js +0 -1
- package/.vitepress/dist/assets/guide_snapshot.md.OsNjzptW.js +0 -1
- package/.vitepress/dist/assets/guide_snapshot.md.OsNjzptW.lean.js +0 -1
- package/.vitepress/dist/assets/guide_subscription.md.DYtHNPwp.lean.js +0 -1
- package/.vitepress/dist/assets/guide_what-is-gkd.md.ARqDeNY2.js +0 -1
- package/.vitepress/dist/assets/guide_what-is-gkd.md.ARqDeNY2.lean.js +0 -1
- package/.vitepress/dist/assets/style.Bm6EfVAK.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as f,c as d,r as p,n as S,a as Q,t as V,o as r,b as k,w as v,T as Ie,e as m,_ as $,u as ht,i as ft,f as mt,g as Ne,h as g,j as u,k as i,l as x,m as Re,p as j,q as _t,s as Me,v as gt,x as I,y as ce,z as K,A as He,B as R,C as Xe,D as ue,E as me,F as je,G as M,H as E,I as ee,J as _,K as z,L as Ye,M as Y,N as _e,O as Je,P as ve,Q as $e,R as ge,S as Ae,U as kt,V as bt,W as le,X as Ze,Y as Qe,Z as $t,$ as yt,a0 as wt,a1 as ye,a2 as Pt,a3 as O,a4 as Lt,a5 as Vt,a6 as xe,a7 as St,a8 as Tt,a9 as ae,aa as It,ab as Nt,ac as Mt}from"./framework.D_vZ0jx3.js";const Ht=f({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(r(),d("span",{class:S(["VPBadge",e.type])},[p(e.$slots,"default",{},()=>[Q(V(e.text),1)])],2))}}),At={key:0,class:"VPBackdrop"},Ct=f({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(r(),k(Ie,{name:"fade"},{default:v(()=>[e.show?(r(),d("div",At)):m("",!0)]),_:1}))}}),Bt=$(Ct,[["__scopeId","data-v-0d0d1ed7"]]),L=ht;function Et(o,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(o,e):(o(),(n=!0)&&setTimeout(()=>n=!1,e))}}function we(o){return o.startsWith("/")?o:`/${o}`}function Ce(o){const{pathname:e,search:t,hash:n,protocol:s}=new URL(o,"http://a.com");if(ft(o)||o.startsWith("#")||!s.startsWith("http")||!mt(e))return o;const{site:a}=L(),c=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,a.value.cleanUrls?"":".html")}${t}${n}`);return Ne(c)}function de({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:n,theme:s,hash:a}=L(),c=g(()=>{var h,y;return{label:(h=e.value.locales[t.value])==null?void 0:h.label,link:((y=e.value.locales[t.value])==null?void 0:y.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:g(()=>Object.entries(e.value.locales).flatMap(([h,y])=>c.value.label===y.label?[]:{text:y.label,link:Dt(y.link||(h==="root"?"/":`/${h}/`),s.value.i18nRouting!==!1&&o,n.value.relativePath.slice(c.value.link.length-1),!e.value.cleanUrls)+a.value})),currentLang:c}}function Dt(o,e,t,n){return e?o.replace(/\/$/,"")+we(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):o}const Ft={class:"NotFound"},Ot={class:"code"},Rt={class:"title"},jt={class:"quote"},Ut={class:"action"},Wt=["href","aria-label"],Gt=f({__name:"NotFound",setup(o){const{theme:e}=L(),{currentLang:t}=de();return(n,s)=>{var a,c,l,h,y,P;return r(),d("div",Ft,[u("p",Ot,V(((a=i(e).notFound)==null?void 0:a.code)??"404"),1),u("h1",Rt,V(((c=i(e).notFound)==null?void 0:c.title)??"PAGE NOT FOUND"),1),s[0]||(s[0]=u("div",{class:"divider"},null,-1)),u("blockquote",jt,V(((l=i(e).notFound)==null?void 0:l.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),u("div",Ut,[u("a",{class:"link",href:i(Ne)(((h=i(e).notFound)==null?void 0:h.link)??i(t).link),"aria-label":((y=i(e).notFound)==null?void 0:y.linkLabel)??"go to home"},V(((P=i(e).notFound)==null?void 0:P.linkText)??"Take me home"),9,Wt)])])}}}),zt=$(Gt,[["__scopeId","data-v-5c84cdfe"]]);function et(o,e){if(Array.isArray(o))return pe(o);if(o==null)return[];e=we(e);const t=Object.keys(o).sort((s,a)=>a.split("/").length-s.split("/").length).find(s=>e.startsWith(we(s))),n=t?o[t]:[];return Array.isArray(n)?pe(n):pe(n.items,n.base)}function qt(o){const e=[];let t=0;for(const n in o){const s=o[n];if(s.items){t=e.push(s);continue}e[t]||e.push({items:[]}),e[t].items.push(s)}return e}function Kt(o){const e=[];function t(n){for(const s of n)s.text&&s.link&&e.push({text:s.text,link:s.link,docFooterText:s.docFooterText}),s.items&&t(s.items)}return t(o),e}function Pe(o,e){return Array.isArray(e)?e.some(t=>Pe(o,t)):x(o,e.link)?!0:e.items?Pe(o,e.items):!1}function pe(o,e){return[...o].map(t=>{const n={...t},s=n.base||e;return s&&n.link&&(n.link=s+n.link),n.items&&(n.items=pe(n.items,s)),n})}function Xt(){const{hasSidebar:o}=X(),e=Re("(min-width: 960px)"),t=Re("(min-width: 1280px)");return{isAsideEnabled:g(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const Yt=/\b(?:VPBadge|header-anchor|footnote-ref|ignore-header)\b/,Le=[];function tt(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function Jt(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:Zt(t),link:"#"+t.id,level:n}});return Qt(e,o)}function Zt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(Yt.test(t.className))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Qt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,s]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return tn(o,n,s)}function xt(o,e){const{isAsideEnabled:t}=Xt(),n=Et(a,100);let s=null;j(()=>{requestAnimationFrame(a),window.addEventListener("scroll",n)}),_t(()=>{c(location.hash)}),Me(()=>{window.removeEventListener("scroll",n)});function a(){if(!t.value)return;const l=window.scrollY,h=window.innerHeight,y=document.body.offsetHeight,P=Math.abs(l+h-y)<1,b=Le.map(({element:N,link:H})=>({link:H,top:en(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,H)=>N.top-H.top);if(!b.length){c(null);return}if(l<1){c(null);return}if(P){c(b[b.length-1].link);return}let w=null;for(const{link:N,top:H}of b){if(H>l+gt()+4)break;w=N}c(w)}function c(l){s&&s.classList.remove("active"),l==null?s=null:s=o.value.querySelector(`a[href="${decodeURIComponent(l)}"]`);const h=s;h?(h.classList.add("active"),e.value.style.top=h.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function en(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}function tn(o,e,t){Le.length=0;const n=[],s=[];return o.forEach(a=>{const c={...a,children:[]};let l=s[s.length-1];for(;l&&l.level>=c.level;)s.pop(),l=s[s.length-1];if(c.element.classList.contains("ignore-header")||l&&"shouldIgnore"in l){s.push({level:c.level,shouldIgnore:!0});return}c.level>t||c.level<e||(Le.push({element:c.element,link:c.link}),l?l.children.push(c):n.push(c),s.push(c))}),n}const oe=I(!1);function nn(o){let e;ce(()=>{e=oe.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",t)}),Me(()=>{window.removeEventListener("keyup",t)});function t(n){n.key==="Escape"&&oe.value&&(o(),e==null||e.focus())}}function on(){function o(){oe.value=!0}function e(){oe.value=!1}function t(){oe.value?e():o()}return{isOpen:oe,open:o,close:e,toggle:t}}function sn(o){const{page:e,hash:t}=L(),n=I(!1),s=g(()=>o.value.collapsed!=null),a=g(()=>!!o.value.link),c=I(!1),l=()=>{c.value=x(e.value.relativePath,o.value.link)};K([e,o,t],l),j(l);const h=g(()=>c.value?!0:o.value.items?Pe(e.value.relativePath,o.value.items):!1),y=g(()=>!!(o.value.items&&o.value.items.length));ce(()=>{n.value=!!(s.value&&o.value.collapsed)}),He(()=>{(c.value||h.value)&&(n.value=!1)});function P(){s.value&&(n.value=!n.value)}return{collapsed:n,collapsible:s,isLink:a,isActiveLink:c,hasActiveLink:h,hasChildren:y,toggle:P}}const Ve=R([]),ie=R([]),Se=R(!1);function X(){const{frontmatter:o,theme:e}=L(),t=g(()=>!!(o.value.isHome??o.value.layout==="home")),n=g(()=>o.value.sidebar!==!1&&ie.value.length>0&&!t.value),s=g(()=>n.value&&Se.value),a=g(()=>n.value?qt(ie.value):[]),c=g(()=>t.value?!1:o.value.aside!=null?!!o.value.aside:e.value.aside!==!1),l=g(()=>c.value?o.value.aside==null?e.value.aside==="left":o.value.aside==="left":!1),h=g(()=>Ve.value.length>0);return{isHome:t,sidebar:je(ie),sidebarGroups:a,hasSidebar:n,isSidebarEnabled:s,hasAside:c,leftAside:l,headers:je(Ve),hasLocalNav:h}}function an({closeSidebar:o}){const{frontmatter:e,page:t,theme:n}=L();K(()=>[t.value.relativePath,n.value.sidebar],([a,c])=>{const l=c?et(c,a):[];JSON.stringify(l)!==JSON.stringify(ie.value)&&(ie.value=l)},{immediate:!0,deep:!0,flush:"sync"}),Xe(()=>{Ve.value=Jt(e.value.outline??n.value.outline)}),ue&&(Se.value=window.innerWidth>=960,window.addEventListener("resize",()=>{Se.value=window.innerWidth>=960},{passive:!0}));const s=me();K(()=>s.path,o),nn(o)}const rn=["href","title"],ln=f({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const n=t.href.split("#")[1],s=document.getElementById(decodeURIComponent(n));s==null||s.focus({preventScroll:!0})}return(t,n)=>{const s=ee("VPDocOutlineItem",!0);return r(),d("ul",{class:S(["VPDocOutlineItem",t.root?"root":"nested"])},[(r(!0),d(M,null,E(t.headers,({children:a,link:c,title:l})=>(r(),d("li",null,[u("a",{class:"outline-link",href:c,onClick:e,title:l},V(l),9,rn),a!=null&&a.length?(r(),k(s,{key:0,headers:a},null,8,["headers"])):m("",!0)]))),256))],2)}}}),nt=$(ln,[["__scopeId","data-v-965164d9"]]),cn={class:"content"},un={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},dn=f({__name:"VPDocAsideOutline",setup(o){const{theme:e}=L(),t=I(),n=I(),{headers:s,hasLocalNav:a}=X();return xt(t,n),(c,l)=>(r(),d("nav",{"aria-labelledby":"doc-outline-aria-label",class:S(["VPDocAsideOutline",{"has-outline":i(a)}]),ref_key:"container",ref:t},[u("div",cn,[u("div",{class:"outline-marker",ref_key:"marker",ref:n},null,512),u("div",un,V(i(tt)(i(e))),1),_(nt,{headers:i(s),root:!0},null,8,["headers"])])],2))}}),pn=$(dn,[["__scopeId","data-v-4bbd428d"]]),vn={class:"VPDocAsideCarbonAds"},hn=f({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,n)=>(r(),d("div",vn,[_(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),fn={class:"VPDocAside"},mn=f({__name:"VPDocAside",setup(o){const{theme:e}=L();return(t,n)=>(r(),d("div",fn,[p(t.$slots,"aside-top",{},void 0,!0),p(t.$slots,"aside-outline-before",{},void 0,!0),_(pn),p(t.$slots,"aside-outline-after",{},void 0,!0),n[0]||(n[0]=u("div",{class:"spacer"},null,-1)),p(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(r(),k(hn,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):m("",!0),p(t.$slots,"aside-ads-after",{},void 0,!0),p(t.$slots,"aside-bottom",{},void 0,!0)]))}}),_n=$(mn,[["__scopeId","data-v-da5241de"]]);function gn(){const{theme:o,page:e}=L();return g(()=>{const{text:t="Edit this page",pattern:n=""}=o.value.editLink||{};let s;return typeof n=="function"?s=n(e.value):s=n.replace(/:path/g,e.value.filePath),{url:s,text:t}})}function kn(){const{page:o,theme:e,frontmatter:t}=L();return g(()=>{var y,P,b,w,N,H,B,T;const n=et(e.value.sidebar,o.value.relativePath),s=Kt(n),a=bn(s,D=>D.link.replace(/[?#].*$/,"")),c=a.findIndex(D=>x(o.value.relativePath,D.link)),l=((y=e.value.docFooter)==null?void 0:y.prev)===!1&&!t.value.prev||t.value.prev===!1,h=((P=e.value.docFooter)==null?void 0:P.next)===!1&&!t.value.next||t.value.next===!1;return{prev:l?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((b=a[c-1])==null?void 0:b.docFooterText)??((w=a[c-1])==null?void 0:w.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((N=a[c-1])==null?void 0:N.link)},next:h?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((H=a[c+1])==null?void 0:H.docFooterText)??((B=a[c+1])==null?void 0:B.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((T=a[c+1])==null?void 0:T.link)}}})}function bn(o,e){const t=new Set;return o.filter(n=>{const s=e(n);return t.has(s)?!1:t.add(s)})}const q=f({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=g(()=>e.tag??(e.href?"a":"span")),n=g(()=>e.href&&Ye.test(e.href)||e.target==="_blank");return(s,a)=>(r(),k(z(t.value),{class:S(["VPLink",{link:s.href,"vp-external-link-icon":n.value,"no-icon":s.noIcon}]),href:s.href?i(Ce)(s.href):void 0,target:s.target??(n.value?"_blank":void 0),rel:s.rel??(n.value?"noreferrer":void 0)},{default:v(()=>[p(s.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),$n={class:"VPLastUpdated"},yn=["datetime"],wn=f({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:n}=L(),s=g(()=>new Date(t.value.lastUpdated)),a=g(()=>s.value.toISOString()),c=I("");return j(()=>{ce(()=>{var l,h,y;c.value=new Intl.DateTimeFormat((h=(l=e.value.lastUpdated)==null?void 0:l.formatOptions)!=null&&h.forceLocale?n.value:void 0,((y=e.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(s.value)})}),(l,h)=>{var y;return r(),d("p",$n,[Q(V(((y=i(e).lastUpdated)==null?void 0:y.text)||i(e).lastUpdatedText||"Last updated")+": ",1),u("time",{datetime:a.value},V(c.value),9,yn)])}}}),Pn=$(wn,[["__scopeId","data-v-a33a5d63"]]),Ln={key:0,class:"VPDocFooter"},Vn={key:0,class:"edit-info"},Sn={key:0,class:"edit-link"},Tn={key:1,class:"last-updated"},In={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Nn={class:"pager"},Mn=["innerHTML"],Hn=["innerHTML"],An={class:"pager"},Cn=["innerHTML"],Bn=["innerHTML"],En=f({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:n}=L(),s=gn(),a=kn(),c=g(()=>e.value.editLink&&n.value.editLink!==!1),l=g(()=>t.value.lastUpdated),h=g(()=>c.value||l.value||a.value.prev||a.value.next);return(y,P)=>{var b,w,N,H;return h.value?(r(),d("footer",Ln,[p(y.$slots,"doc-footer-before",{},void 0,!0),c.value||l.value?(r(),d("div",Vn,[c.value?(r(),d("div",Sn,[_(q,{class:"edit-link-button",href:i(s).url,"no-icon":!0},{default:v(()=>[P[0]||(P[0]=u("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Q(" "+V(i(s).text),1)]),_:1},8,["href"])])):m("",!0),l.value?(r(),d("div",Tn,[_(Pn)])):m("",!0)])):m("",!0),(b=i(a).prev)!=null&&b.link||(w=i(a).next)!=null&&w.link?(r(),d("nav",In,[P[1]||(P[1]=u("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),u("div",Nn,[(N=i(a).prev)!=null&&N.link?(r(),k(q,{key:0,class:"pager-link prev",href:i(a).prev.link},{default:v(()=>{var B;return[u("span",{class:"desc",innerHTML:((B=i(e).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,Mn),u("span",{class:"title",innerHTML:i(a).prev.text},null,8,Hn)]}),_:1},8,["href"])):m("",!0)]),u("div",An,[(H=i(a).next)!=null&&H.link?(r(),k(q,{key:0,class:"pager-link next",href:i(a).next.link},{default:v(()=>{var B;return[u("span",{class:"desc",innerHTML:((B=i(e).docFooter)==null?void 0:B.next)||"Next page"},null,8,Cn),u("span",{class:"title",innerHTML:i(a).next.text},null,8,Bn)]}),_:1},8,["href"])):m("",!0)])])):m("",!0)])):m("",!0)}}}),Dn=$(En,[["__scopeId","data-v-66086e2d"]]),Fn={class:"container"},On={class:"aside-container"},Rn={class:"aside-content"},jn={class:"content"},Un={class:"content-container"},Wn={class:"main"},Gn=f({__name:"VPDoc",setup(o){const{theme:e}=L(),t=me(),{hasSidebar:n,hasAside:s,leftAside:a}=X(),c=g(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(l,h)=>{const y=ee("Content");return r(),d("div",{class:S(["VPDoc",{"has-sidebar":i(n),"has-aside":i(s)}])},[p(l.$slots,"doc-top",{},void 0,!0),u("div",Fn,[i(s)?(r(),d("div",{key:0,class:S(["aside",{"left-aside":i(a)}])},[h[0]||(h[0]=u("div",{class:"aside-curtain"},null,-1)),u("div",On,[u("div",Rn,[_(_n,null,{"aside-top":v(()=>[p(l.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[p(l.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[p(l.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[p(l.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[p(l.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[p(l.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),u("div",jn,[u("div",Un,[p(l.$slots,"doc-before",{},void 0,!0),u("main",Wn,[_(y,{class:S(["vp-doc",[c.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Dn,null,{"doc-footer-before":v(()=>[p(l.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),p(l.$slots,"doc-after",{},void 0,!0)])])]),p(l.$slots,"doc-bottom",{},void 0,!0)],2)}}}),zn=$(Gn,[["__scopeId","data-v-886f3717"]]),qn=f({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=g(()=>e.href&&Ye.test(e.href)),n=g(()=>e.tag||(e.href?"a":"button"));return(s,a)=>(r(),k(z(n.value),{class:S(["VPButton",[s.size,s.theme]]),href:s.href?i(Ce)(s.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:v(()=>[p(s.$slots,"default",{},()=>[Q(V(s.text),1)],!0)]),_:3},8,["class","href","target","rel"]))}}),Kn=$(qn,[["__scopeId","data-v-3d19af64"]]),Xn=["src","alt"],Yn=f({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const n=ee("VPImage",!0);return e.image?(r(),d(M,{key:0},[typeof e.image=="string"||"src"in e.image?(r(),d("img",Y({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(Ne)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Xn)):(r(),d(M,{key:1},[_(n,Y({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(n,Y({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}}),he=$(Yn,[["__scopeId","data-v-e386fc67"]]),Jn={class:"container"},Zn={class:"main"},Qn={class:"heading"},xn=["innerHTML"],eo=["innerHTML"],to=["innerHTML"],no={key:0,class:"actions"},oo={key:0,class:"image"},so={class:"image-container"},ao=f({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=_e("hero-image-slot-exists");return(t,n)=>(r(),d("div",{class:S(["VPHero",{"has-image":t.image||i(e)}])},[u("div",Jn,[u("div",Zn,[p(t.$slots,"home-hero-info-before",{},void 0,!0),p(t.$slots,"home-hero-info",{},()=>[u("h1",Qn,[t.name?(r(),d("span",{key:0,innerHTML:t.name,class:"name clip"},null,8,xn)):m("",!0),t.text?(r(),d("span",{key:1,innerHTML:t.text,class:"text"},null,8,eo)):m("",!0)]),t.tagline?(r(),d("p",{key:0,innerHTML:t.tagline,class:"tagline"},null,8,to)):m("",!0)],!0),p(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(r(),d("div",no,[(r(!0),d(M,null,E(t.actions,s=>(r(),d("div",{key:s.link,class:"action"},[_(Kn,{tag:"a",size:"medium",theme:s.theme,text:s.text,href:s.link,target:s.target,rel:s.rel},null,8,["theme","text","href","target","rel"])]))),128))])):m("",!0),p(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||i(e)?(r(),d("div",oo,[u("div",so,[n[0]||(n[0]=u("div",{class:"image-bg"},null,-1)),p(t.$slots,"home-hero-image",{},()=>[t.image?(r(),k(he,{key:0,class:"image-src",image:t.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}}),ro=$(ao,[["__scopeId","data-v-030b2eaf"]]),io=f({__name:"VPHomeHero",setup(o){const{frontmatter:e}=L();return(t,n)=>i(e).hero?(r(),k(ro,{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":v(()=>[p(t.$slots,"home-hero-info-before")]),"home-hero-info":v(()=>[p(t.$slots,"home-hero-info")]),"home-hero-info-after":v(()=>[p(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":v(()=>[p(t.$slots,"home-hero-actions-after")]),"home-hero-image":v(()=>[p(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),lo={class:"box"},co={key:0,class:"icon"},uo=["innerHTML"],po=["innerHTML"],vo=["innerHTML"],ho={key:4,class:"link-text"},fo={class:"link-text-value"},mo=f({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(r(),k(q,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[u("article",lo,[typeof e.icon=="object"&&e.icon.wrap?(r(),d("div",co,[_(he,{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"?(r(),k(he,{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?(r(),d("div",{key:2,class:"icon",innerHTML:e.icon},null,8,uo)):m("",!0),u("h2",{class:"title",innerHTML:e.title},null,8,po),e.details?(r(),d("p",{key:3,class:"details",innerHTML:e.details},null,8,vo)):m("",!0),e.linkText?(r(),d("div",ho,[u("p",fo,[Q(V(e.linkText)+" ",1),t[0]||(t[0]=u("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):m("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),_o=$(mo,[["__scopeId","data-v-05e53091"]]),go={key:0,class:"VPFeatures"},ko={class:"container"},bo={class:"items"},$o=f({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=g(()=>{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,s)=>n.features?(r(),d("div",go,[u("div",ko,[u("div",bo,[(r(!0),d(M,null,E(n.features,a=>(r(),d("div",{key:a.title,class:S(["item",[t.value]])},[_(_o,{icon:a.icon,title:a.title,details:a.details,link:a.link,"link-text":a.linkText,rel:a.rel,target:a.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):m("",!0)}}),yo=$($o,[["__scopeId","data-v-53733b3c"]]),wo=f({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=L();return(t,n)=>i(e).features?(r(),k(yo,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):m("",!0)}}),Po=f({__name:"VPHomeContent",setup(o){const{width:e}=Je({initialWidth:0,includeScrollbar:!1});return(t,n)=>(r(),d("div",{class:"vp-doc container",style:ve(i(e)?{"--vp-offset":`calc(50% - ${i(e)/2}px)`}:{})},[p(t.$slots,"default",{},void 0,!0)],4))}}),Lo=$(Po,[["__scopeId","data-v-781f5585"]]),Vo=f({__name:"VPHome",setup(o){const{frontmatter:e,theme:t}=L();return(n,s)=>{const a=ee("Content");return r(),d("div",{class:S(["VPHome",{"external-link-icon-enabled":i(t).externalLinkIcon}])},[p(n.$slots,"home-hero-before",{},void 0,!0),_(io,null,{"home-hero-info-before":v(()=>[p(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[p(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[p(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[p(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[p(n.$slots,"home-hero-image",{},void 0,!0)]),_:3}),p(n.$slots,"home-hero-after",{},void 0,!0),p(n.$slots,"home-features-before",{},void 0,!0),_(wo),p(n.$slots,"home-features-after",{},void 0,!0),i(e).markdownStyles!==!1?(r(),k(Lo,{key:0},{default:v(()=>[_(a)]),_:1})):(r(),k(a,{key:1}))],2)}}}),So=$(Vo,[["__scopeId","data-v-88242e29"]]),To={},Io={class:"VPPage"};function No(o,e){const t=ee("Content");return r(),d("div",Io,[p(o.$slots,"page-top"),_(t),p(o.$slots,"page-bottom")])}const Mo=$(To,[["render",No]]),Ho=f({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=L(),{isHome:n,hasSidebar:s}=X();return(a,c)=>(r(),d("div",{class:S(["VPContent",{"has-sidebar":i(s),"is-home":i(n)}]),id:"VPContent"},[i(e).isNotFound?p(a.$slots,"not-found",{key:0},()=>[_(zt)],!0):i(t).layout==="page"?(r(),k(Mo,{key:1},{"page-top":v(()=>[p(a.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[p(a.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(r(),k(So,{key:2},{"home-hero-before":v(()=>[p(a.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[p(a.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[p(a.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[p(a.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[p(a.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[p(a.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[p(a.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[p(a.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[p(a.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(r(),k(z(i(t).layout),{key:3})):(r(),k(zn,{key:4},{"doc-top":v(()=>[p(a.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[p(a.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[p(a.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[p(a.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[p(a.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[p(a.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[p(a.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[p(a.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[p(a.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[p(a.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[p(a.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Ao=$(Ho,[["__scopeId","data-v-9bd714bd"]]),Co={class:"container"},Bo=["innerHTML"],Eo=["innerHTML"],Do=f({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=L(),{hasSidebar:n}=X();return(s,a)=>i(e).footer&&i(t).footer!==!1?(r(),d("footer",{key:0,class:S(["VPFooter",{"has-sidebar":i(n)}])},[u("div",Co,[i(e).footer.message?(r(),d("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,Bo)):m("",!0),i(e).footer.copyright?(r(),d("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,Eo)):m("",!0)])],2)):m("",!0)}}),Fo=$(Do,[["__scopeId","data-v-ac1ee35a"]]),Oo={class:"menu-text"},Ro={class:"header"},jo={class:"outline"},Uo=f({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=L(),n=I(!1),s=I(0),a=I(),c=I();function l(b){var w;(w=a.value)!=null&&w.contains(b.target)||(n.value=!1)}K(n,b=>{if(b){document.addEventListener("click",l);return}document.removeEventListener("click",l)}),$e("Escape",()=>{n.value=!1}),Xe(()=>{n.value=!1});function h(){n.value=!n.value,s.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function y(b){b.target.classList.contains("outline-link")&&(c.value&&(c.value.style.transition="none"),ge(()=>{n.value=!1}))}function P(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(b,w)=>(r(),d("div",{class:"VPLocalNavOutlineDropdown",style:ve({"--vp-vh":s.value+"px"}),ref_key:"main",ref:a},[b.headers.length>0?(r(),d("button",{key:0,onClick:h,class:S({open:n.value})},[u("span",Oo,V(i(tt)(i(t))),1),w[0]||(w[0]=u("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(r(),d("button",{key:1,onClick:P},V(i(t).returnToTopLabel||"Return to top"),1)),_(Ie,{name:"flyout"},{default:v(()=>[n.value?(r(),d("div",{key:0,ref_key:"items",ref:c,class:"items",onClick:y},[u("div",Ro,[u("a",{class:"top-link",href:"#",onClick:P},V(i(t).returnToTopLabel||"Return to top"),1)]),u("div",jo,[_(nt,{headers:b.headers},null,8,["headers"])])],512)):m("",!0)]),_:1})],4))}}),Wo=$(Uo,[["__scopeId","data-v-5431e89e"]]),Go={class:"container"},zo=["aria-expanded"],qo={class:"menu-text"},Ko=f({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e}=L(),{isHome:t,hasSidebar:n,headers:s,hasLocalNav:a}=X(),{y:c}=Ae(),l=I(0);j(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))});const h=g(()=>({VPLocalNav:!0,"has-sidebar":n.value,empty:!a.value,fixed:!a.value&&!n.value}));return(y,P)=>!i(t)&&(i(a)||i(n)||i(c)>=l.value)?(r(),d("div",{key:0,class:S(h.value)},[u("div",Go,[i(n)?(r(),d("button",{key:0,class:"menu","aria-expanded":y.open,"aria-controls":"VPSidebarNav",onClick:P[0]||(P[0]=b=>y.$emit("open-menu"))},[P[1]||(P[1]=u("span",{class:"vpi-align-left menu-icon"},null,-1)),u("span",qo,V(i(e).sidebarMenuLabel||"Menu"),1)],8,zo)):m("",!0),_(Wo,{headers:i(s),navHeight:l.value},null,8,["headers","navHeight"])])],2)):m("",!0)}}),Xo=$(Ko,[["__scopeId","data-v-a49c1de8"]]);function Yo(){const o=I(!1);function e(){o.value=!0,window.addEventListener("resize",s)}function t(){o.value=!1,window.removeEventListener("resize",s)}function n(){o.value?t():e()}function s(){window.outerWidth>=768&&t()}const a=me();return K(()=>a.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:n}}const Jo={},Zo={class:"VPSwitch",type:"button",role:"switch"},Qo={class:"check"},xo={key:0,class:"icon"};function es(o,e){return r(),d("button",Zo,[u("span",Qo,[o.$slots.default?(r(),d("span",xo,[p(o.$slots,"default",{},void 0,!0)])):m("",!0)])])}const ts=$(Jo,[["render",es],["__scopeId","data-v-9f1d78b8"]]),ns=f({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=L(),n=_e("toggle-appearance",()=>{e.value=!e.value}),s=I("");return He(()=>{s.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(a,c)=>(r(),k(ts,{title:s.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(n)},{default:v(()=>c[0]||(c[0]=[u("span",{class:"vpi-sun sun"},null,-1),u("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),Be=$(ns,[["__scopeId","data-v-3bd246fe"]]),os={key:0,class:"VPNavBarAppearance"},ss=f({__name:"VPNavBarAppearance",setup(o){const{site:e}=L();return(t,n)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(r(),d("div",os,[_(Be)])):m("",!0)}}),as=$(ss,[["__scopeId","data-v-9830d7fa"]]),Ee=I();let ot=!1,be=0;function rs(o){const e=I(!1);if(ue){!ot&&is(),be++;const t=K(Ee,n=>{var s,a,c;n===o.el.value||(s=o.el.value)!=null&&s.contains(n)?(e.value=!0,(a=o.onFocus)==null||a.call(o)):(e.value=!1,(c=o.onBlur)==null||c.call(o))});Me(()=>{t(),be--,be||ls()})}return kt(e)}function is(){document.addEventListener("focusin",st),ot=!0,Ee.value=document.activeElement}function ls(){document.removeEventListener("focusin",st)}function st(){Ee.value=document.activeElement}const cs={class:"VPMenuLink"},us=["innerHTML"],ds=f({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,n)=>(r(),d("div",cs,[_(q,{class:S({active:i(x)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:v(()=>[u("span",{innerHTML:t.item.text},null,8,us)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ke=$(ds,[["__scopeId","data-v-dc364ec5"]]),ps={class:"VPMenuGroup"},vs={key:0,class:"title"},hs=f({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(r(),d("div",ps,[e.text?(r(),d("p",vs,V(e.text),1)):m("",!0),(r(!0),d(M,null,E(e.items,n=>(r(),d(M,null,["link"in n?(r(),k(ke,{key:0,item:n},null,8,["item"])):m("",!0)],64))),256))]))}}),fs=$(hs,[["__scopeId","data-v-3af2bf45"]]),ms={class:"VPMenu"},_s={key:0,class:"items"},gs=f({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(r(),d("div",ms,[e.items?(r(),d("div",_s,[(r(!0),d(M,null,E(e.items,n=>(r(),d(M,{key:JSON.stringify(n)},["link"in n?(r(),k(ke,{key:0,item:n},null,8,["item"])):"component"in n?(r(),k(z(n.component),Y({key:1,ref_for:!0},n.props),null,16)):(r(),k(fs,{key:2,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):m("",!0),p(e.$slots,"default",{},void 0,!0)]))}}),ks=$(gs,[["__scopeId","data-v-102e9867"]]),bs=["aria-expanded","aria-label"],$s={key:0,class:"text"},ys=["innerHTML"],ws={key:1,class:"vpi-more-horizontal icon"},Ps={class:"menu"},Ls=f({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=I(!1),t=I();rs({el:t,onBlur:n});function n(){e.value=!1}return(s,a)=>(r(),d("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:a[1]||(a[1]=c=>e.value=!0),onMouseleave:a[2]||(a[2]=c=>e.value=!1)},[u("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":s.label,onClick:a[0]||(a[0]=c=>e.value=!e.value)},[s.button||s.icon?(r(),d("span",$s,[s.icon?(r(),d("span",{key:0,class:S([s.icon,"option-icon"])},null,2)):m("",!0),s.button?(r(),d("span",{key:1,innerHTML:s.button},null,8,ys)):m("",!0),a[3]||(a[3]=u("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(r(),d("span",ws))],8,bs),u("div",Ps,[_(ks,{items:s.items},{default:v(()=>[p(s.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),De=$(Ls,[["__scopeId","data-v-6b2ca944"]]),Vs=["href","aria-label","innerHTML"],Ss=f({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=I();j(async()=>{var a;await ge();const s=(a=t.value)==null?void 0:a.children[0];s instanceof HTMLElement&&s.className.startsWith("vpi-social-")&&(getComputedStyle(s).maskImage||getComputedStyle(s).webkitMaskImage)==="none"&&s.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const n=g(()=>typeof e.icon=="object"?e.icon.svg:`<span class="vpi-social-${e.icon}"></span>`);return(s,a)=>(r(),d("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:n.value},null,8,Vs))}}),Ts=$(Ss,[["__scopeId","data-v-783bcded"]]),Is={class:"VPSocialLinks"},Ns=f({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(r(),d("div",Is,[(r(!0),d(M,null,E(e.links,({link:n,icon:s,ariaLabel:a})=>(r(),k(Ts,{key:n,icon:s,link:n,ariaLabel:a},null,8,["icon","link","ariaLabel"]))),128))]))}}),Fe=$(Ns,[["__scopeId","data-v-574d2611"]]),Ms={key:0,class:"group translations"},Hs={class:"trans-title"},As={key:1,class:"group"},Cs={class:"item appearance"},Bs={class:"label"},Es={class:"appearance-action"},Ds={key:2,class:"group"},Fs={class:"item social-links"},Os=f({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=L(),{localeLinks:n,currentLang:s}=de({correspondingLink:!0}),a=g(()=>n.value.length&&s.value.label||e.value.appearance||t.value.socialLinks);return(c,l)=>a.value?(r(),k(De,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[i(n).length&&i(s).label?(r(),d("div",Ms,[u("p",Hs,V(i(s).label),1),(r(!0),d(M,null,E(i(n),h=>(r(),k(ke,{key:h.link,item:h},null,8,["item"]))),128))])):m("",!0),i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(r(),d("div",As,[u("div",Cs,[u("p",Bs,V(i(t).darkModeSwitchLabel||"Appearance"),1),u("div",Es,[_(Be)])])])):m("",!0),i(t).socialLinks?(r(),d("div",Ds,[u("div",Fs,[_(Fe,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}}),Rs=$(Os,[["__scopeId","data-v-6a934b71"]]),js=["aria-expanded"],Us=f({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(r(),d("button",{type:"button",class:S(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},t[1]||(t[1]=[u("span",{class:"container"},[u("span",{class:"top"}),u("span",{class:"middle"}),u("span",{class:"bottom"})],-1)]),10,js))}}),Ws=$(Us,[["__scopeId","data-v-40970de0"]]),Gs=["innerHTML"],zs=f({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=L();return(t,n)=>(r(),k(q,{class:S({VPNavBarMenuLink:!0,active:i(x)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:v(()=>[u("span",{innerHTML:t.item.text},null,8,Gs)]),_:1},8,["class","href","target","rel","no-icon"]))}}),qs=$(zs,[["__scopeId","data-v-47ee035f"]]),Ks=f({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=L(),n=a=>"component"in a?!1:"link"in a?x(t.value.relativePath,a.link,!!e.item.activeMatch):a.items.some(n),s=g(()=>n(e.item));return(a,c)=>(r(),k(De,{class:S({VPNavBarMenuGroup:!0,active:i(x)(i(t).relativePath,a.item.activeMatch,!!a.item.activeMatch)||s.value}),button:a.item.text,items:a.item.items},null,8,["class","button","items"]))}}),Xs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ys=f({__name:"VPNavBarMenu",setup(o){const{theme:e}=L();return(t,n)=>i(e).nav?(r(),d("nav",Xs,[n[0]||(n[0]=u("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(r(!0),d(M,null,E(i(e).nav,s=>(r(),d(M,{key:JSON.stringify(s)},["link"in s?(r(),k(qs,{key:0,item:s},null,8,["item"])):"component"in s?(r(),k(z(s.component),Y({key:1,ref_for:!0},s.props),null,16)):(r(),k(Ks,{key:2,item:s},null,8,["item"]))],64))),128))])):m("",!0)}}),Js=$(Ys,[["__scopeId","data-v-eaafd435"]]);function Zs(o){const{localeIndex:e,theme:t}=L();function n(s){var H,B,T;const a=s.split("."),c=(H=t.value.search)==null?void 0:H.options,l=c&&typeof c=="object",h=l&&((T=(B=c.locales)==null?void 0:B[e.value])==null?void 0:T.translations)||null,y=l&&c.translations||null;let P=h,b=y,w=o;const N=a.pop();for(const D of a){let U=null;const W=w==null?void 0:w[D];W&&(U=w=W);const G=b==null?void 0:b[D];G&&(U=b=G);const se=P==null?void 0:P[D];se&&(U=P=se),W||(w=U),G||(b=U),se||(P=U)}return(P==null?void 0:P[N])??(b==null?void 0:b[N])??(w==null?void 0:w[N])??""}return n}const Qs=["aria-label"],xs={class:"DocSearch-Button-Container"},ea={class:"DocSearch-Button-Placeholder"},Ue=f({__name:"VPNavBarSearchButton",setup(o){const t=Zs({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(n,s)=>(r(),d("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(t)("button.buttonAriaLabel")},[u("span",xs,[s[0]||(s[0]=u("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),u("span",ea,V(i(t)("button.buttonText")),1)]),s[1]||(s[1]=u("span",{class:"DocSearch-Button-Keys"},[u("kbd",{class:"DocSearch-Button-Key"}),u("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,Qs))}}),ta={class:"VPNavBarSearch"},na={id:"local-search"},oa={key:1,id:"docsearch"},sa=f({__name:"VPNavBarSearch",setup(o){const e=bt(()=>le(()=>import(((u)=>{if(u.startsWith('/')){return"https://registry.npmmirror.com/@gkd-kit/docs/0.0.1746214919354/files/.vitepress/dist"+u}return u})("./VPLocalSearchBox.ByWPPdLS.js")),[])),t=()=>null,{theme:n}=L(),s=I(!1),a=I(!1);j(()=>{});function c(){s.value||(s.value=!0,setTimeout(l,16))}function l(){const b=new Event("keydown");b.key="k",b.metaKey=!0,window.dispatchEvent(b),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||l()},16)}function h(b){const w=b.target,N=w.tagName;return w.isContentEditable||N==="INPUT"||N==="SELECT"||N==="TEXTAREA"}const y=I(!1);$e("k",b=>{(b.ctrlKey||b.metaKey)&&(b.preventDefault(),y.value=!0)}),$e("/",b=>{h(b)||(b.preventDefault(),y.value=!0)});const P="local";return(b,w)=>{var N;return r(),d("div",ta,[i(P)==="local"?(r(),d(M,{key:0},[y.value?(r(),k(i(e),{key:0,onClose:w[0]||(w[0]=H=>y.value=!1)})):m("",!0),u("div",na,[_(Ue,{onClick:w[1]||(w[1]=H=>y.value=!0)})])],64)):i(P)==="algolia"?(r(),d(M,{key:1},[s.value?(r(),k(i(t),{key:0,algolia:((N=i(n).search)==null?void 0:N.options)??i(n).algolia,onVnodeBeforeMount:w[2]||(w[2]=H=>a.value=!0)},null,8,["algolia"])):m("",!0),a.value?m("",!0):(r(),d("div",oa,[_(Ue,{onClick:c})]))],64)):m("",!0)])}}}),aa=f({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=L();return(t,n)=>i(e).socialLinks?(r(),k(Fe,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):m("",!0)}}),ra=$(aa,[["__scopeId","data-v-51ab2939"]]),ia=["href","rel","target"],la=["innerHTML"],ca={key:2},ua=f({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=L(),{hasSidebar:n}=X(),{currentLang:s}=de(),a=g(()=>{var h;return typeof t.value.logoLink=="string"?t.value.logoLink:(h=t.value.logoLink)==null?void 0:h.link}),c=g(()=>{var h;return typeof t.value.logoLink=="string"||(h=t.value.logoLink)==null?void 0:h.rel}),l=g(()=>{var h;return typeof t.value.logoLink=="string"||(h=t.value.logoLink)==null?void 0:h.target});return(h,y)=>(r(),d("div",{class:S(["VPNavBarTitle",{"has-sidebar":i(n)}])},[u("a",{class:"title",href:a.value??i(Ce)(i(s).link),rel:c.value,target:l.value},[p(h.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(r(),k(he,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):m("",!0),i(t).siteTitle?(r(),d("span",{key:1,innerHTML:i(t).siteTitle},null,8,la)):i(t).siteTitle===void 0?(r(),d("span",ca,V(i(e).title),1)):m("",!0),p(h.$slots,"nav-bar-title-after",{},void 0,!0)],8,ia)],2))}}),da=$(ua,[["__scopeId","data-v-4ab7de8a"]]),pa={class:"items"},va={class:"title"},ha=f({__name:"VPNavBarTranslations",setup(o){const{theme:e}=L(),{localeLinks:t,currentLang:n}=de({correspondingLink:!0});return(s,a)=>i(t).length&&i(n).label?(r(),k(De,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:i(e).langMenuLabel||"Change language"},{default:v(()=>[u("div",pa,[u("p",va,V(i(n).label),1),(r(!0),d(M,null,E(i(t),c=>(r(),k(ke,{key:c.link,item:c},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}}),fa=$(ha,[["__scopeId","data-v-c9a24d70"]]),ma={class:"wrapper"},_a={class:"container"},ga={class:"title"},ka={class:"content"},ba={class:"content-body"},$a=f({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=Ae(),{isHome:n,hasSidebar:s}=X(),a=I({});return He(()=>{a.value={"has-sidebar":s.value,home:n.value,top:t.value===0,"screen-open":e.isScreenOpen}}),(c,l)=>(r(),d("div",{class:S(["VPNavBar",a.value])},[u("div",ma,[u("div",_a,[u("div",ga,[_(da,null,{"nav-bar-title-before":v(()=>[p(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[p(c.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),u("div",ka,[u("div",ba,[p(c.$slots,"nav-bar-content-before",{},void 0,!0),_(sa,{class:"search"}),_(Js,{class:"menu"}),_(fa,{class:"translations"}),_(as,{class:"appearance"}),_(ra,{class:"social-links"}),_(Rs,{class:"extra"}),p(c.$slots,"nav-bar-content-after",{},void 0,!0),_(Ws,{class:"hamburger",active:c.isScreenOpen,onClick:l[0]||(l[0]=h=>c.$emit("toggle-screen"))},null,8,["active"])])])])]),l[1]||(l[1]=u("div",{class:"divider"},[u("div",{class:"divider-line"})],-1))],2))}}),ya=$($a,[["__scopeId","data-v-ce4a77df"]]),wa={key:0,class:"VPNavScreenAppearance"},Pa={class:"text"},La=f({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=L();return(n,s)=>i(e).appearance&&i(e).appearance!=="force-dark"&&i(e).appearance!=="force-auto"?(r(),d("div",wa,[u("p",Pa,V(i(t).darkModeSwitchLabel||"Appearance"),1),_(Be)])):m("",!0)}}),Va=$(La,[["__scopeId","data-v-b81c95b2"]]),Sa=["innerHTML"],Ta=f({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=_e("close-screen");return(t,n)=>(r(),k(q,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:v(()=>[u("span",{innerHTML:t.item.text},null,8,Sa)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Ia=$(Ta,[["__scopeId","data-v-fa1b46dd"]]),Na=["innerHTML"],Ma=f({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=_e("close-screen");return(t,n)=>(r(),k(q,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:i(e)},{default:v(()=>[u("span",{innerHTML:t.item.text},null,8,Na)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),at=$(Ma,[["__scopeId","data-v-71e9590b"]]),Ha={class:"VPNavScreenMenuGroupSection"},Aa={key:0,class:"title"},Ca=f({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(r(),d("div",Ha,[e.text?(r(),d("p",Aa,V(e.text),1)):m("",!0),(r(!0),d(M,null,E(e.items,n=>(r(),k(at,{key:n.text,item:n},null,8,["item"]))),128))]))}}),Ba=$(Ca,[["__scopeId","data-v-6d08ed38"]]),Ea=["aria-controls","aria-expanded"],Da=["innerHTML"],Fa=["id"],Oa={key:0,class:"item"},Ra={key:1,class:"item"},ja={key:2,class:"group"},Ua=f({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=I(!1),n=g(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function s(){t.value=!t.value}return(a,c)=>(r(),d("div",{class:S(["VPNavScreenMenuGroup",{open:t.value}])},[u("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:s},[u("span",{class:"button-text",innerHTML:a.text},null,8,Da),c[0]||(c[0]=u("span",{class:"vpi-plus button-icon"},null,-1))],8,Ea),u("div",{id:n.value,class:"items"},[(r(!0),d(M,null,E(a.items,l=>(r(),d(M,{key:JSON.stringify(l)},["link"in l?(r(),d("div",Oa,[_(at,{item:l},null,8,["item"])])):"component"in l?(r(),d("div",Ra,[(r(),k(z(l.component),Y({ref_for:!0},l.props,{"screen-menu":""}),null,16))])):(r(),d("div",ja,[_(Ba,{text:l.text,items:l.items},null,8,["text","items"])]))],64))),128))],8,Fa)],2))}}),Wa=$(Ua,[["__scopeId","data-v-1ce92e48"]]),Ga={key:0,class:"VPNavScreenMenu"},za=f({__name:"VPNavScreenMenu",setup(o){const{theme:e}=L();return(t,n)=>i(e).nav?(r(),d("nav",Ga,[(r(!0),d(M,null,E(i(e).nav,s=>(r(),d(M,{key:JSON.stringify(s)},["link"in s?(r(),k(Ia,{key:0,item:s},null,8,["item"])):"component"in s?(r(),k(z(s.component),Y({key:1,ref_for:!0},s.props,{"screen-menu":""}),null,16)):(r(),k(Wa,{key:2,text:s.text||"",items:s.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),qa=f({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=L();return(t,n)=>i(e).socialLinks?(r(),k(Fe,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):m("",!0)}}),Ka={class:"list"},Xa=f({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=de({correspondingLink:!0}),n=I(!1);function s(){n.value=!n.value}return(a,c)=>i(e).length&&i(t).label?(r(),d("div",{key:0,class:S(["VPNavScreenTranslations",{open:n.value}])},[u("button",{class:"title",onClick:s},[c[0]||(c[0]=u("span",{class:"vpi-languages icon lang"},null,-1)),Q(" "+V(i(t).label)+" ",1),c[1]||(c[1]=u("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),u("ul",Ka,[(r(!0),d(M,null,E(i(e),l=>(r(),d("li",{key:l.link,class:"item"},[_(q,{class:"link",href:l.link},{default:v(()=>[Q(V(l.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}}),Ya=$(Xa,[["__scopeId","data-v-bd1bdfa5"]]),Ja={class:"container"},Za=f({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=I(null),t=Ze(ue?document.body:null);return(n,s)=>(r(),k(Ie,{name:"fade",onEnter:s[0]||(s[0]=a=>t.value=!0),onAfterLeave:s[1]||(s[1]=a=>t.value=!1)},{default:v(()=>[n.open?(r(),d("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[u("div",Ja,[p(n.$slots,"nav-screen-content-before",{},void 0,!0),_(za,{class:"menu"}),_(Ya,{class:"translations"}),_(Va,{class:"appearance"}),_(qa,{class:"social-links"}),p(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}}),Qa=$(Za,[["__scopeId","data-v-c2230406"]]),xa={key:0,class:"VPNav"},er=f({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Yo(),{frontmatter:s}=L(),a=g(()=>s.value.navbar!==!1);return Qe("close-screen",t),ce(()=>{ue&&document.documentElement.classList.toggle("hide-nav",!a.value)}),(c,l)=>a.value?(r(),d("header",xa,[_(ya,{"is-screen-open":i(e),onToggleScreen:i(n)},{"nav-bar-title-before":v(()=>[p(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[p(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[p(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[p(c.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(Qa,{open:i(e)},{"nav-screen-content-before":v(()=>[p(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[p(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):m("",!0)}}),tr=$(er,[["__scopeId","data-v-0daf1988"]]),nr=["role","tabindex"],or={key:1,class:"items"},sr=f({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:n,isLink:s,isActiveLink:a,hasActiveLink:c,hasChildren:l,toggle:h}=sn(g(()=>e.item)),y=g(()=>l.value?"section":"div"),P=g(()=>s.value?"a":"div"),b=g(()=>l.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),w=g(()=>s.value?void 0:"button"),N=g(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":s.value},{"is-active":a.value},{"has-active":c.value}]);function H(T){"key"in T&&T.key!=="Enter"||!e.item.link&&h()}function B(){e.item.link&&h()}return(T,D)=>{const U=ee("VPSidebarItem",!0);return r(),k(z(y.value),{class:S(["VPSidebarItem",N.value])},{default:v(()=>[T.item.text?(r(),d("div",Y({key:0,class:"item",role:w.value},$t(T.item.items?{click:H,keydown:H}:{},!0),{tabindex:T.item.items&&0}),[D[1]||(D[1]=u("div",{class:"indicator"},null,-1)),T.item.link?(r(),k(q,{key:0,tag:P.value,class:"link",href:T.item.link,rel:T.item.rel,target:T.item.target},{default:v(()=>[(r(),k(z(b.value),{class:"text",innerHTML:T.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(r(),k(z(b.value),{key:1,class:"text",innerHTML:T.item.text},null,8,["innerHTML"])),T.item.collapsed!=null&&T.item.items&&T.item.items.length?(r(),d("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:yt(B,["enter"]),tabindex:"0"},D[0]||(D[0]=[u("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):m("",!0)],16,nr)):m("",!0),T.item.items&&T.item.items.length?(r(),d("div",or,[T.depth<5?(r(!0),d(M,{key:0},E(T.item.items,W=>(r(),k(U,{key:W.text,item:W,depth:T.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}}),ar=$(sr,[["__scopeId","data-v-e3dfa39a"]]),rr=f({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=I(!0);let t=null;return j(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),wt(()=>{t!=null&&(clearTimeout(t),t=null)}),(n,s)=>(r(!0),d(M,null,E(n.items,a=>(r(),d("div",{key:a.text,class:S(["group",{"no-transition":e.value}])},[_(ar,{item:a,depth:0},null,8,["item"])],2))),128))}}),ir=$(rr,[["__scopeId","data-v-21524c17"]]),lr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},cr=f({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=X(),n=o,s=I(null),a=Ze(ue?document.body:null);K([n,s],()=>{var l;n.open?(a.value=!0,(l=s.value)==null||l.focus()):a.value=!1},{immediate:!0,flush:"post"});const c=I(0);return K(e,()=>{c.value+=1},{deep:!0}),(l,h)=>i(t)?(r(),d("aside",{key:0,class:S(["VPSidebar",{open:l.open}]),ref_key:"navEl",ref:s,onClick:h[0]||(h[0]=ye(()=>{},["stop"]))},[h[2]||(h[2]=u("div",{class:"curtain"},null,-1)),u("nav",lr,[h[1]||(h[1]=u("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),p(l.$slots,"sidebar-nav-before",{},void 0,!0),(r(),k(ir,{items:i(e),key:c.value},null,8,["items"])),p(l.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}}),ur=$(cr,[["__scopeId","data-v-56272391"]]),dr=f({__name:"VPSkipLink",setup(o){const{theme:e}=L(),t=me(),n=I();K(()=>t.path,()=>n.value.focus());function s({target:a}){const c=document.getElementById(decodeURIComponent(a.hash).slice(1));if(c){const l=()=>{c.removeAttribute("tabindex"),c.removeEventListener("blur",l)};c.setAttribute("tabindex","-1"),c.addEventListener("blur",l),c.focus(),window.scrollTo(0,0)}}return(a,c)=>(r(),d(M,null,[u("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),u("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s},V(i(e).skipToContentLabel||"Skip to content"),1)],64))}}),pr=$(dr,[["__scopeId","data-v-18aa0c86"]]),vr=f({__name:"Layout",setup(o){const{isOpen:e,open:t,close:n}=on();an({closeSidebar:n});const{frontmatter:s}=L(),a=Pt(),c=g(()=>!!a["home-hero-image"]);return Qe("hero-image-slot-exists",c),(l,h)=>{const y=ee("Content");return i(s).layout!==!1?(r(),d("div",{key:0,class:S(["Layout",i(s).pageClass])},[p(l.$slots,"layout-top",{},void 0,!0),_(pr),_(Bt,{class:"backdrop",show:i(e),onClick:i(n)},null,8,["show","onClick"]),_(tr,null,{"nav-bar-title-before":v(()=>[p(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[p(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[p(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[p(l.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[p(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[p(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(Xo,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),_(ur,{open:i(e)},{"sidebar-nav-before":v(()=>[p(l.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[p(l.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Ao,null,{"page-top":v(()=>[p(l.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[p(l.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[p(l.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[p(l.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[p(l.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[p(l.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[p(l.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[p(l.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[p(l.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[p(l.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[p(l.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[p(l.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[p(l.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[p(l.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[p(l.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[p(l.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[p(l.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[p(l.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[p(l.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[p(l.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[p(l.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[p(l.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[p(l.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Fo),p(l.$slots,"layout-bottom",{},void 0,!0)],2)):(r(),k(y,{key:1}))}}}),hr=$(vr,[["__scopeId","data-v-2b37b52b"]]),We={Layout:hr,enhanceApp:({app:o})=>{o.component("Badge",Ht)}},fr=["data-href"],mr={key:0,"pointer-events-none":"",absolute:"",left:"1/1","top-0":"","bottom-0":"",flex:"","items-center":"","pl-4px":""},Ge=f({__name:"DownloadText",props:{href:{},name:{},type:{default:"application/vnd.android.package-archive"}},setup(o){const e=o,t=R(!1),n=async()=>{if(t.value)return;t.value=!0,le(()=>import(((u)=>{if(u.startsWith('/')){return"https://registry.npmmirror.com/@gkd-kit/docs/0.0.1746214919354/files/.vitepress/dist"+u}return u})("./FileSaver.min.BxHcgHsl.js")).then(a=>a.F),[]);const s=`gkd-${e.name}`;try{const a=await fetch(e.href).then(l=>l.arrayBuffer()).then(l=>new File([l],s,{type:e.type})),{saveAs:c}=await le(async()=>{const{saveAs:l}=await import(((u)=>{if(u.startsWith('/')){return"https://registry.npmmirror.com/@gkd-kit/docs/0.0.1746214919354/files/.vitepress/dist"+u}return u})("./FileSaver.min.BxHcgHsl.js")).then(h=>h.F);return{saveAs:l}},[]);c(a,s)}finally{t.value=!1}};return(s,a)=>(r(),d("a",{relative:"",class:S({"cursor-progress":t.value,"cursor-pointer":!t.value}),onClick:n,"data-href":s.href},[u("span",{class:S({"opacity-50":t.value})},V(s.name),3),t.value?(r(),d("div",mr,a[0]||(a[0]=[u("svg",{"animate-spin":"","size-16px":"",viewBox:"0 0 16 16",fill:"none"},[u("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor","stroke-opacity":"0.25","stroke-width":"2","vector-effect":"non-scaling-stroke"}),u("path",{d:"M15 8a7.002 7.002 0 00-7-7",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","vector-effect":"non-scaling-stroke"})],-1)]))):m("",!0)],10,fr))}}),_r={name:"1.10.3",href:"https://registry.npmmirror.com/@gkd-kit/app-beta/0.0.27/files/dist/gkd-v1.10.3.wasm",date:"2025-04-28",filename:"v1.10.3.apk",fileSizeDesc:"6.47MB"},gr={name:"1.10.3",href:"https://registry.npmmirror.com/@gkd-kit/app/2.0.32/files/dist/gkd-v1.10.3.wasm",date:"2025-04-28",filename:"v1.10.3.apk",fileSizeDesc:"6.47MB"},kr=10,br=async(o,e)=>{let t=kr;for(;;)try{return await fetch(o,e)}catch(n){if(t--,t<=0)throw n;await new Promise(s=>setTimeout(s,500))}},$r=o=>o<1024?o+"B":o<1024*1024?(o/1024).toFixed(2)+"KB":o<1024*1024*1024?(o/(1024*1024)).toFixed(2)+"MB":(o/(1024*1024*1024)).toFixed(2)+"GB",yr=async o=>{const e=await br(o),t=await e.json();return{name:t.versionName,href:new URL(t.downloadUrl,e.url).href,date:t.date,filename:"v"+t.versionName+".apk",fileSizeDesc:$r(t.fileSize)}},ze=async o=>yr(o?"https://registry.npmmirror.com/@gkd-kit/app/latest/files/index.json":"https://registry.npmmirror.com/@gkd-kit/app-beta/latest/files/index.json"),te=R(gr),ne=R(_r);let qe=!1;const wr=async()=>{qe||(qe=!0,await Promise.all([ze(!0).then(o=>{te.value=o}),ze(!1).then(o=>{ne.value=o})]))},Pr={key:0},Lr=f({__name:"ApkTable",setup(o){return j(wr),(e,t)=>(r(),d("table",null,[t[4]||(t[4]=u("thead",null,[u("tr",null,[u("th",null,"版本"),u("th",null,"下载"),u("th",null,"大小"),u("th",null,"日期"),u("th",null,"备注")])],-1)),u("tbody",null,[u("tr",null,[t[0]||(t[0]=u("td",null,"正式版",-1)),u("td",null,[_(Ge,{href:i(te).href,name:i(te).filename},null,8,["href","name"])]),u("td",null,V(i(te).fileSizeDesc),1),u("td",null,V(i(te).date),1),t[1]||(t[1]=u("td",null,"稳定版",-1))]),i(ne).filename!==i(te).filename?(r(),d("tr",Pr,[t[2]||(t[2]=u("td",null,"测试版",-1)),u("td",null,[_(Ge,{href:i(ne).href,name:i(ne).filename},null,8,["href","name"])]),u("td",null,V(i(ne).fileSizeDesc),1),u("td",null,V(i(ne).date),1),t[3]||(t[3]=u("td",null,"更新快不稳定",-1))])):m("",!0)])]))}}),Vr=f((o,e)=>()=>{var t,n;return(n=(t=e.slots).default)==null?void 0:n.call(t)}),rt=o=>(o.loader(),f((e,t)=>{const n=R();return n.value||o.loader().then(s=>{n.value=s}),()=>n.value?O(n.value,e,t.slots):O(o.placeholder,e,t.slots)},{props:o.props})),it=["alt","height","imgProps","previewedImgProps","lazy","intersectionObserverOptions","objectFit","previewSrc","fallbackSrc","width","src","previewDisabled","loadDescription","onError","onLoad","theme","themeOverrides","builtinThemeOverrides","onPreviewPrev","onPreviewNext","showToolbar","showToolbarTooltip","renderToolbar"],Sr=f((o,e)=>()=>O("div",{class:"n-image"},O("img",o,e.slots)),{props:it}),lt=rt({loader:()=>le(()=>import(((u)=>{if(u.startsWith('/')){return"https://registry.npmmirror.com/@gkd-kit/docs/0.0.1746214919354/files/.vitepress/dist"+u}return u})("./index.BcSuHRr5.js")),[]).then(o=>o.NImage),placeholder:Sr,props:it}),ct=rt({loader:()=>le(()=>import(((u)=>{if(u.startsWith('/')){return"https://registry.npmmirror.com/@gkd-kit/docs/0.0.1746214919354/files/.vitepress/dist"+u}return u})("./index.BcSuHRr5.js")),[]).then(o=>o.NImageGroup),placeholder:Vr}),Tr={NImage:lt,NImageGroup:ct},Ir="https://registry.npmmirror.com/@gkd-kit/assets/0.0.18/files/assets/",Nr=[{name:"0001.png",width:816,height:1808},{name:"0002.png",width:613,height:1363},{name:"0003.png",width:613,height:1363},{name:"0004.png",width:613,height:1363},{name:"0005.png",width:613,height:1363},{name:"0006.png",width:613,height:1363},{name:"0007.png",width:613,height:1363},{name:"0008.png",width:613,height:1363},{name:"0009.png",width:613,height:1363},{name:"0010.png",width:613,height:1363},{name:"0011.png",width:613,height:1363},{name:"0012.png",width:613,height:1363},{name:"0013.png",width:1080,height:2400},{name:"0014.png",width:1080,height:2400},{name:"0015.png",width:1080,height:2400},{name:"0016.png",width:1080,height:2400},{name:"0017.png",width:1080,height:2400},{name:"0018.png",width:1080,height:2400},{name:"0019.gif",width:536,height:1204},{name:"0020.png",width:927,height:927},{name:"0021.png",width:927,height:927},{name:"0022.png",width:927,height:927},{name:"0023.png",width:927,height:927},{name:"0024.png",width:927,height:927},{name:"0025.png",width:445,height:75},{name:"0026.png",width:816,height:1808},{name:"0027.png",width:816,height:1808},{name:"0028.png",width:816,height:1808},{name:"0029.png",width:816,height:1808},{name:"0030.png",width:816,height:1808},{name:"0031.png",width:816,height:1808},{name:"0032.png",width:816,height:1808},{name:"0033.png",width:816,height:1808},{name:"0034.png",width:1920,height:1080},{name:"0035.png",width:810,height:1808},{name:"0036.png",width:810,height:1808},{name:"0037.png",width:816,height:1808},{name:"0038.jpg",width:1280,height:2800},{name:"0039.jpg",width:1200,height:2670},{name:"0040.jpg",width:1080,height:2400},{name:"0041.jpg",width:1220,height:2712},{name:"0042.jpg",width:1080,height:2340},{name:"0043.jpg",width:1080,height:2340},{name:"0044.jpg",width:1080,height:2340},{name:"0045.jpg",width:1080,height:2340}],ut=o=>o.startsWith("https:")?o:Ir+o,dt=Lt({}),Mr=async o=>{const e=new Image;e.src=o,await new Promise((t,n)=>{e.onload=()=>t(),e.onerror=n}),dt[o]=!0},Hr=o=>{Mr(o);const e=Nr.find(t=>o.endsWith(t.name));return e?"data:image/svg+xml,"+encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="${e.width}" height="${e.height}" viewBox="0 0 ${e.width} ${e.height}"></svg>`):(console.error(`Image size not found for ${o}`),o)},pt=f((o,e)=>{const t=g(()=>ut(o.src)),n=g(()=>{const s=dt[t.value];return s===!0?t.value:typeof s=="string"?s:Hr(t.value)});return()=>O(lt,{src:n.value,"data-src":t.value,...e.attrs})},{props:["src"]}),Ar=f({__name:"IdentifierField",setup(o){const e=R(""),t=/^[_a-zA-Z][a-zA-Z0-9_]*$/,n=Vt(e,300),s=g(()=>n.value!=="null"&&n.value!=="true"&&n.value!=="false"&&t.test(n.value));return(a,c)=>(r(),d("div",null,[xe(u("input",{placeholder:"请输入标识符测试是否合法",type:"text","onUpdate:modelValue":c[0]||(c[0]=l=>e.value=l),class:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50"},null,512),[[St,e.value]]),u("div",{"mt-4px":"",class:S({"color-red":!s.value,"opacity-0":!i(n)||!e.value})},V(s.value?"合法标识符✅":"非法标识符❌"),3)]))}}),Cr=f({__name:"ImageTable",props:{images:{}},setup(o){return(e,t)=>(r(),d("table",null,[u("tbody",null,[_(i(ct),null,{default:v(()=>[(r(!0),d(M,null,E(e.images,(n,s)=>(r(),d("tr",{key:s},[(r(!0),d(M,null,E(n,a=>(r(),d("td",{key:a},[_(i(pt),{src:i(ut)(a)},null,8,["src"])]))),128))]))),128))]),_:1})])]))}}),Br={key:0,class:"tip custom-block github-alert"},Er=f({__name:"AppInnerDownloadTip",setup(o){const e=Reflect.get(globalThis,"gkd");return(t,n)=>i(e)?(r(),d("div",Br,n[0]||(n[0]=[u("p",{class:"custom-block-title"},"下载提示",-1),u("p",null,"检测到您在应用内无法下载 APK,请点击右上角-外部打开后下载",-1)]))):m("",!0)}}),Dr={...Tr,GImg:pt,ImageTable:Cr,IdentifierField:Ar,ApkTable:Lr,AppInnerDownloadTip:Er},Fr={fixed:"","z-100":"",class:"BodyScrollbar"},Ke=2,Or=f({__name:"BodyScrollbar",setup(o){const{y:e,x:t}=Ae(),{height:n,width:s}=Je(),a=Tt(document.body);ce(()=>{console.log([t.value,e.value,n.value,s.value,a.width.value,a.height.value])});const c=g(()=>a.height.value>n.value+Ke),l=g(()=>{const C=a.height.value;return n.value/C*n.value}),h=g(()=>{const A=a.height.value,C=l.value;return e.value/(A-n.value)*(n.value-C)}),y=g(()=>c.value?{transform:`translateY(${h.value}px)`,height:`${l.value}px`}:{}),P=async A=>{const C=l.value*.9*(A.clientY<l.value+h.value?-1:1),F=a.height.value,J=F,Z=n.value/J*n.value;e.value+=C/(n.value-Z)*(F-n.value)},b=R(!1);let w;const N=A=>{w=A,b.value=!0};ae("pointermove",A=>{if(!w)return;const C=A.clientY-w.clientY;w=A;const F=a.height.value,J=F,Z=n.value/J*n.value;e.value+=C/(n.value-Z)*(F-n.value)}),ae("pointerup",()=>{w=void 0,b.value=!1});const H=g(()=>a.width.value>s.value+Ke),B=g(()=>{const C=a.width.value;return s.value/C*s.value}),T=g(()=>{const A=a.width.value,C=B.value;return t.value/(A-s.value)*(s.value-C)}),D=g(()=>H.value?{transform:`translateX(${T.value}px)`,width:`${B.value}px`}:{}),U=A=>{const C=B.value*.9*(A.clientX<B.value+T.value?-1:1),F=a.width.value,J=F,Z=s.value/J*s.value,vt=t.value+C/(s.value-Z)*(F-s.value);t.value=vt},W=R(!1);let G;const se=A=>{G=A,W.value=!0};return ae("pointermove",A=>{if(!G)return;const C=A.clientX-G.clientX;G=A;const F=a.width.value,J=F,Z=s.value/J*s.value;t.value+=C/(s.value-Z)*(F-s.value)}),ae("pointerup",()=>{G=void 0,W.value=!1}),ae("selectstart",A=>{(G||w)&&A.preventDefault()}),(A,C)=>(r(),d("div",Fr,[xe(u("div",{"scrollbar-y":"",fixed:"","right-2px":"","top-0":"","bottom-0":"","w-8px":"",onPointerdown:N,onClick:P},[u("div",{onClick:C[0]||(C[0]=ye(()=>{},["stop"])),"w-full":"",bg:"#909399","opacity-30":"","hover:opacity":"50",style:ve(y.value),class:S({"opacity-50":b.value})},null,6)],544),[[It,c.value]]),H.value?(r(),d("div",{key:0,"scrollbar-x":"",fixed:"","bottom-2px":"","left-0":"","right-0":"","h-8px":"",onPointerdown:se,onClick:U},[u("div",{onClick:C[1]||(C[1]=ye(()=>{},["stop"])),"h-full":"",bg:"#909399","opacity-30":"","hover:opacity":"50",style:ve(D.value),class:S({"opacity-50":W.value})},null,6)],32)):m("",!0)]))}}),Rr=f(()=>{const o=R(!1);return j(()=>{const e="ontouchstart"in document.documentElement;o.value=!e,e&&(document.body.classList.add("mobile"),document.documentElement.classList.add("mobile"))}),()=>o.value?O(Nt,{to:document.body},O(Or)):void 0}),jr=o=>{const e=o.getBoundingClientRect(),t=window.innerHeight*.15;return e.top-t>=0&&e.bottom+t<=window.innerHeight},Ur=()=>{const o=document.images;for(let e=0;e<o.length;e++)if(!o[e].complete)return!1;return!0},fe=(o=0)=>new Promise(e=>setTimeout(e,o));let re,Te=!0;setTimeout(()=>{Te=!1},1e3);const Oe=async o=>{if(location.hash&&(o??(o=document.querySelector(location.hash)||void 0)),!o)return;const e="animate-hash-hint";re&&re.classList.remove(e),o.classList.contains(e)&&(o.classList.remove(e),await fe(25)),o.classList.add(e),re=o;const t=500*2*(Te?5:2);Te=!1,await fe(t),o.classList.remove(e),re===o&&(re=void 0)},Wr=async o=>{const e=location.href.substring(location.origin.length),t=async n=>{history.replaceState(null,"",n),await o.go(n)};if(location.pathname.startsWith("/selector/"))location.pathname.at(-1)==="/"?t("/guide/selector"):t(location.pathname.replace("/selector/","/guide/"));else if(location.pathname==="/subscription/"||location.pathname==="/subscription")await t("/guide/subscription");else if(location.pathname==="/"){const n=new URLSearchParams(location.search).get("r");if(n==="1")o.go("/guide/snapshot#how-to-upload");else if(n==="2")o.go("/guide/faq#restriction");else if(n==="3")o.go("/guide/faq#adb_failed");else if(n==="4"){location.href="https://shizuku.rikka.app";return}else n==="5"?o.go("/guide/subscription"):n==="6"?o.go("/guide/faq#power"):n==="7"?o.go("/guide/faq#exact-activity"):n==="8"?o.go("/guide/faq#forced-tap"):n==="9"&&o.go("/guide/faq#work-profile")}else e==="/guide/faq#fail_setting_secure_settings"&&(location.hash="adb_failed");if(await ge(),location.hash){const n=await(async()=>{const s=location.href;let a=0;for(;a<25;){if(s!==location.href)return;const c=document.querySelector(location.hash);if(c)return c;a++,await fe(100)}})();if(n){if(!jr(n)){let s=0;for(;s<25&&!Ur();)await new Promise(c=>setTimeout(c,100)),s++;const a=document.querySelector(`a.header-anchor[href="${location.hash}"]`);a?a.click():n.scrollIntoView({behavior:"smooth",block:"center"})}Oe(n)}}};window.addEventListener("hashchange",async()=>{Oe()});const Gr=f(()=>{const o=Mt();return j(()=>{Wr(o),o.onAfterPageLoad=()=>{ge().then(async()=>{await fe(100),Oe()})}}),()=>{}}),qr={extends:We,Layout(){return O(M,null,[O(We.Layout),O(Rr),O(Gr)])},enhanceApp({app:o}){Object.entries(Dr).forEach(([e,t])=>{o.component(e,t)})}};export{qr as R,Zs as c,L as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as t,c as o,o as a,aq as d}from"./chunks/framework.D_vZ0jx3.js";const q=JSON.parse('{"title":"选择示例","description":"","frontmatter":{},"headers":[],"relativePath":"guide/example.md","filePath":"guide/example.md","lastUpdated":1746214899000}'),i={name:"guide/example.md"};function r(l,e,u,c,n,p){return a(),o("div",null,e[0]||(e[0]=[d('<h1 id="title" tabindex="-1">选择示例 <a class="header-anchor" href="#title" aria-label="Permalink to “选择示例”"></a></h1><p>一些选择器及其相关作用说明</p><h2 id="e-1" tabindex="-1">选择根节点 <a class="header-anchor" href="#e-1" aria-label="Permalink to “选择根节点”"></a></h2><ul><li><code>[parent=null]</code></li><li><code>[depth=0]</code></li></ul><h2 id="e-2" tabindex="-1">选择子节点 <a class="header-anchor" href="#e-2" aria-label="Permalink to “选择子节点”"></a></h2><p>选择一个 <code>ImageView</code> 节点, 并要求其父节点是 <code>LinearLayout</code></p><p><a href="https://i.gkd.li/i/16076188?gkd=TGluZWFyTGF5b3V0ID4gSW1hZ2VWaWV3" target="_blank" rel="noreferrer"><code>LinearLayout > ImageView</code></a></p><p>选择一个 <code>ImageView</code> 节点, 并要求其父节点的父节点是 <code>ViewGroup[vid="avatar_layout"]</code></p><p><a href="https://i.gkd.li/i/16076188?gkd=Vmlld0dyb3VwW3ZpZD0iYXZhdGFyX2xheW91dCJdID4yIEltYWdlVmlldw" target="_blank" rel="noreferrer"><code>ViewGroup[vid="avatar_layout"] >2 ImageView</code></a></p><p>选择一个 <code>ImageView[vid="search_icon"]</code> 节点, 并要求祖先节点是 <code>FrameLayout[vid="content_layout"]</code>, <code>n</code>可以是任意正整数, 下同</p><p><a href="https://i.gkd.li/i/16076188?gkd=RnJhbWVMYXlvdXRbdmlkPSJjb250ZW50X2xheW91dCJdIEltYWdlVmlld1t2aWQ9InNlYXJjaF9pY29uIl0" target="_blank" rel="noreferrer"><code>FrameLayout[vid="content_layout"] >n ImageView[vid="search_icon"]</code></a></p><h2 id="e-3" tabindex="-1">末尾子节点 <a class="header-anchor" href="#e-3" aria-label="Permalink to “末尾子节点”"></a></h2><p>选择一个 <code>ImageView</code> 节点, 并要求是其父节点是最后一个子节点</p><p><a href="https://i.gkd.li/i/16076188?gkd=SW1hZ2VWaWV3W2luZGV4PXBhcmVudC5jaGlsZENvdW50Lm1pbnVzKDEpXQ" target="_blank" rel="noreferrer"><code>ImageView[index=parent.childCount.minus(1)]</code></a></p><h2 id="e-4" tabindex="-1">选择兄弟节点 <a class="header-anchor" href="#e-4" aria-label="Permalink to “选择兄弟节点”"></a></h2><p>选择一个 <code>LinearLayout[desc="搜索栏,按钮"]</code> 节点, 并要求其兄弟节点是 <code>ViewGroup[desc="个人主页,按钮"]</code></p><ul><li><a href="https://i.gkd.li/i/16076188?gkd=Vmlld0dyb3VwW2Rlc2M9IuS4quS6uuS4u-mhte-8jOaMiemSriJdICsgTGluZWFyTGF5b3V0W2Rlc2M9IuaQnOe0ouagj--8jOaMiemSriJd" target="_blank" rel="noreferrer"><code>ViewGroup[desc="个人主页,按钮"] + LinearLayout[desc="搜索栏,按钮"]</code></a></li><li><a href="https://i.gkd.li/i/16076188?gkd=QExpbmVhckxheW91dFtkZXNjPSLmkJzntKLmoI_vvIzmjInpkq4iXSAtIFZpZXdHcm91cFtkZXNjPSLkuKrkurrkuLvpobXvvIzmjInpkq4iXQ" target="_blank" rel="noreferrer"><code>@LinearLayout[desc="搜索栏,按钮"] - ViewGroup[desc="个人主页,按钮"]</code></a></li></ul><p>选择一个 <code>[text$="顶级入耳"]</code> 节点, 并要求其兄弟节点是 <code>[vid="cover_layout"]</code></p><ul><li><a href="https://i.gkd.li/i/16076188?gkd=W3ZpZD0iY292ZXJfbGF5b3V0Il0gK24gW3RleHQkPSLpobbnuqflhaXogLMiXQ" target="_blank" rel="noreferrer"><code>[vid="cover_layout"] +n [text$="顶级入耳"]</code></a></li><li><a href="https://i.gkd.li/i/16076188?gkd=QFt0ZXh0JD0i6aG257qn5YWl6ICzIl0gLW4gW3ZpZD0iY292ZXJfbGF5b3V0Il0" target="_blank" rel="noreferrer"><code>@[text$="顶级入耳"] -n [vid="cover_layout"]</code></a></li></ul><h2 id="e-5" tabindex="-1">选择父节点 <a class="header-anchor" href="#e-5" aria-label="Permalink to “选择父节点”"></a></h2><p>选择一个 <code>ViewGroup[desc^="直播"]</code> 节点, 并要求其子节点是 <code>FrameLayout[vid="cover_layout"]</code> 或 <code>ViewGroup[vid="live_text_container"]</code> 或 <code>TextView[vid="title_v2"]</code></p><ul><li><a href="https://i.gkd.li/i/16076188?gkd=RnJhbWVMYXlvdXRbdmlkPSJjb3Zlcl9sYXlvdXQiXSA8IFZpZXdHcm91cFtkZXNjXj0i55u05pKtIl0" target="_blank" rel="noreferrer"><code>FrameLayout[vid="cover_layout"] < ViewGroup[desc^="直播"]</code></a></li><li><a href="https://i.gkd.li/i/16076188?gkd=Vmlld0dyb3VwW3ZpZD0ibGl2ZV90ZXh0X2NvbnRhaW5lciJdIDwzIFZpZXdHcm91cFtkZXNjXj0i55u05pKtIl0" target="_blank" rel="noreferrer"><code>ViewGroup[vid="live_text_container"] <3 ViewGroup[desc^="直播"]</code></a></li><li><a href="https://i.gkd.li/i/16076188?gkd=VGV4dFZpZXdbdmlkPSJ0aXRsZV92MiJdIDxuIFZpZXdHcm91cFtkZXNjXj0i55u05pKtIl0" target="_blank" rel="noreferrer"><code>TextView[vid="title_v2"] <n ViewGroup[desc^="直播"]</code></a></li></ul><h2 id="e-6" tabindex="-1">在指定节点的子节点内查找指定选择器 <a class="header-anchor" href="#e-6" aria-label="Permalink to “在指定节点的子节点内查找指定选择器”"></a></h2><p>一般在末尾节点支持 <a href="/guide/optimize#fast-query">快速查询</a> 的情况下使用</p><p>在节点 <code>ViewGroup[vid="live_text_container"]</code> 的子节点内查找 <code>[text="直播"]</code></p><p><a href="https://i.gkd.li/i/16076188?gkd=QFt0ZXh0PSLnm7Tmkq0iXSA8PG4gVmlld0dyb3VwW3ZpZD0ibGl2ZV90ZXh0X2NvbnRhaW5lciJd" target="_blank" rel="noreferrer"><code>@[text="直播"] <<n ViewGroup[vid="live_text_container"]</code></a></p><p>在节点 <code>FrameLayout[vid="swipe_layout"]</code> 的子节点内查找 <code>LinearLayout > @[text="直播"]</code></p><p><a href="https://i.gkd.li/i/16076188?gkd=TGluZWFyTGF5b3V0ID4gQFt0ZXh0PSLnm7Tmkq0iXSA8PG4gW3ZpZD0ic3dpcGVfbGF5b3V0Il0" target="_blank" rel="noreferrer"><code>LinearLayout > @[text="直播"] <<n [vid="swipe_layout"]</code></a></p><h2 id="e-7" tabindex="-1">组合使用 <a class="header-anchor" href="#e-7" aria-label="Permalink to “组合使用”"></a></h2><p><a href="https://i.gkd.li/i/16076188?gkd=SW1hZ2VWaWV3IDwgRnJhbWVMYXlvdXQgPG4gVmlld0dyb3VwW2Rlc2NePSLnm7Tmkq0iXSAtIFZpZXdHcm91cCA-NCBGcmFtZUxheW91dFtpbmRleD0wXSArMiBGcmFtZUxheW91dCA-IEBUZXh0Vmlld1tpbmRleD1wYXJlbnQuY2hpbGRDb3VudC5taW51cygxKV0gPDxuIEZyYW1lTGF5b3V0W3ZpZD0iY29udGVudCJd" target="_blank" rel="noreferrer"><code>ImageView < FrameLayout <n ViewGroup[desc^="直播"] - ViewGroup >4 FrameLayout[index=0] +2 FrameLayout > @TextView[index=parent.childCount.minus(1)] <<n FrameLayout[vid="content"]</code></a></p>',30)]))}const g=t(i,[["render",r]]);export{q as __pageData,g as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as t,c as o,o as a,aq as d}from"./chunks/framework.D_vZ0jx3.js";const q=JSON.parse('{"title":"选择示例","description":"","frontmatter":{},"headers":[],"relativePath":"guide/example.md","filePath":"guide/example.md","lastUpdated":1746214899000}'),i={name:"guide/example.md"};function r(l,e,u,c,n,p){return a(),o("div",null,e[0]||(e[0]=[d("",30)]))}const g=t(i,[["render",r]]);export{q as __pageData,g as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as a,c as e,o as d,aq as r}from"./chunks/framework.D_vZ0jx3.js";const _=JSON.parse('{"title":"外部交互","description":"","frontmatter":{},"headers":[],"relativePath":"guide/external.md","filePath":"guide/external.md","lastUpdated":1746214899000}'),l={name:"guide/external.md"};function i(p,t,o,h,n,c){return d(),e("div",null,t[0]||(t[0]=[r('<h1 id="title" tabindex="-1">外部交互 <a class="header-anchor" href="#title" aria-label="Permalink to “外部交互”"></a></h1><p>一些无法在应用内界面上直接使用的功能</p><h2 id="app-icon" tabindex="-1">应用图标 <a class="header-anchor" href="#app-icon" aria-label="Permalink to “应用图标”"></a></h2><p>GKD 有两种应用图标</p><ul><li>默认图标</li><li>深色模式下的图标</li></ul><p>一般来说, 第一次显示的图标取决于安装时的系统深色模式设置</p><p>而且系统貌似不会在切换深色模式自动切换图标, 你可以通过以下方式切换</p><ul><li>到 系统主题-图标包 切换其他后再切换回来</li><li>重启手机</li><li>同版本覆盖安装 GKD, 无需卸载</li></ul><h2 id="scheme" tabindex="-1">跳转应用 <a class="header-anchor" href="#scheme" aria-label="Permalink to “跳转应用”"></a></h2><p>可以在浏览器或其他应用打开特定链接来跳转到应用内页面</p><table tabindex="0"><thead><tr><th>页面</th><th>链接</th></tr></thead><tbody><tr><td>首页</td><td><code>gkd://page</code></td></tr><tr><td>高级设置</td><td><code>gkd://page/1</code></td></tr><tr><td>快照记录</td><td><code>gkd://page/2</code></td></tr></tbody></table><h2 id="shortcut" tabindex="-1">快捷开关 <a class="header-anchor" href="#shortcut" aria-label="Permalink to “快捷开关”"></a></h2><p>GKD 在通知栏面板声明了一些快捷开关, 可快捷使用一些功能</p><table tabindex="0"><thead><tr><th>名称</th><th>功能</th></tr></thead><tbody><tr><td>GKD</td><td>打开或关闭无障碍权限</td></tr><tr><td>HTTP服务</td><td>打开或关闭HTTP服务</td></tr><tr><td>悬浮按钮</td><td>打开或关闭悬浮按钮, 点击出现的按钮可捕获快照</td></tr><tr><td>捕获快照</td><td>点击后捕获当前应用界面快照</td></tr></tbody></table><h2 id="import-data" tabindex="-1">导入数据 <a class="header-anchor" href="#import-data" aria-label="Permalink to “导入数据”"></a></h2><p>你可以在 主页-订阅-右上角菜单-导入数据 中导入订阅规则数据</p><p>但是这样需要在打开的文件管理器中手动选择路径不太方便</p><p>另一个更方便的迁移数据的方式是</p><ul><li><p>旧设备: 导出数据 - 选择分享到 QQ 发送给自己</p></li><li><p>新设备: 在 QQ 中打开分享的文件 - 用其他应用打开 - 选择 GKD 导入数据</p></li></ul><p>上面的 QQ 也可以是其他传送软件, 只要支持用其他应用打开的时候有 GKD 即可</p>',20)]))}const b=a(l,[["render",i]]);export{_ as __pageData,b as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as a,c as e,o as d,aq as r}from"./chunks/framework.D_vZ0jx3.js";const _=JSON.parse('{"title":"外部交互","description":"","frontmatter":{},"headers":[],"relativePath":"guide/external.md","filePath":"guide/external.md","lastUpdated":1746214899000}'),l={name:"guide/external.md"};function i(p,t,o,h,n,c){return d(),e("div",null,t[0]||(t[0]=[r("",20)]))}const b=a(l,[["render",i]]);export{_ as __pageData,b as default};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import{_ as o,I as r,c as d,o as c,aq as i,J as l,j as e,a as n,w as g}from"./chunks/framework.D_vZ0jx3.js";const x=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"guide/faq.md","filePath":"guide/faq.md","lastUpdated":1746214899000}'),m={name:"guide/faq.md"};function u(h,a,b,k,P,f){const s=r("GImg"),t=r("ImageTable"),p=r("NImageGroup");return c(),d("div",null,[a[4]||(a[4]=i('<h1 id="title" tabindex="-1">常见问题 <a class="header-anchor" href="#title" aria-label="Permalink to “常见问题”"></a></h1><p>一些可能影响使用体验的问题和对应解决方案, 某些方案可能并不适用您的机型系统</p><p>如您有更好的方案或想对现有方案进行补充, 请点击底部 <code>为此页提供修改建议</code></p><h2 id="play-diff" tabindex="-1">渠道区别 <a class="header-anchor" href="#play-diff" aria-label="Permalink to “渠道区别”"></a></h2><p>目前有两个渠道在使用,它们可互相安装覆盖,但存在区别</p><table tabindex="0"><thead><tr><th style="text-align:center;">渠道</th><th style="text-align:center;">下载方式</th><th style="text-align:center;">自更新逻辑</th><th style="text-align:center;"><a href="./#restriction">受限制的设置</a></th><th style="text-align:center;">无障碍工具声明</th></tr></thead><tbody><tr><td style="text-align:center;">gkd</td><td style="text-align:center;"><a href="/guide/">官网/GitHub</a></td><td style="text-align:center;">弹窗更新(镜像加速)</td><td style="text-align:center;">可能受限</td><td style="text-align:center;">有</td></tr><tr><td style="text-align:center;">play</td><td style="text-align:center;"><a href="https://play.google.com/store/apps/details?id=li.songe.gkd" target="_blank" rel="noreferrer">Google Play</a></td><td style="text-align:center;">无(必须Google Play)</td><td style="text-align:center;">不会</td><td style="text-align:center;">无</td></tr></tbody></table><p>根据 <a href="https://support.google.com/googleplay/android-developer/answer/10964491?hl=zh-Hans" target="_blank" rel="noreferrer">Google Play 政策</a>,必须以 <strong>支持残障人士为主要用途</strong> 才能使用 <strong>无障碍工具声明</strong></p><p>如果没有这个声明,系统会隔段时间显示通知(<a href="https://github.com/orgs/gkd-kit/discussions/744" target="_blank" rel="noreferrer">discussions#744</a>),内容如下</p><p><code>查看权限设置(GKD可以查看和控制您的屏幕。点按即可查看。)</code></p><p>如果你无法忍受这个通知,切换到 gkd 渠道即可</p><h2 id="power" tabindex="-1">耗电说明 <a class="header-anchor" href="#power" aria-label="Permalink to “耗电说明”"></a></h2><p>首先 GKD 默认情况下并不耗电,有的人以为关闭更新检测,关闭日志就能减少耗电,并不正确</p><p>真正的耗电在于 启用的规则 和 当前应用界面无障碍节点数量及无障碍事件刷新频率</p><p>如果想追求低耗电,那应该开启少量的规则,由于之前的默认规则数量有 1300+,很多人喜欢无脑开启规则</p><p>甚至有的用户同时开启多个订阅, 而这些订阅基本都 fork 自默认订阅, 这相当于同时开启多个重复规则</p><p>开启这么多规则,并且在这些规则匹配的界面使用手机,不耗电是不可能的</p><p>此外,某些软件如抖音的无障碍节点数量比较多,并且产生无障碍事件频率也比较高</p><p>长时间下使用此类软件的规则会比较耗电,请自行考虑后再启用</p><h2 id="shizuku" tabindex="-1">shizuku <a class="header-anchor" href="#shizuku" aria-label="Permalink to “shizuku”"></a></h2><h3 id="exact-activity" tabindex="-1">界面识别 <a class="header-anchor" href="#exact-activity" aria-label="Permalink to “界面识别”"></a></h3><p>单纯靠无障碍提供的 API 无法准备判断当前处于应用的哪个子界面 (activityId)</p><p>在此种情况下, GKD 将运行当前应用的所有规则, 容易造成无效匹配和误触</p><p>在 <code>设置 - shizuku</code> 中开启 <code>界面识别</code> 可以让 GKD 准确识别当前应用子界面</p><h3 id="forced-tap" tabindex="-1">强制点击 <a class="header-anchor" href="#forced-tap" aria-label="Permalink to “强制点击”"></a></h3><p>使用无障碍 API 发出的点击事件 <code>clickCenter</code> 会被某些应用识别到, 导致点击表现无效</p><p>在 <code>设置 - shizuku</code> 中开启 <code>强制点击</code> 可以让 GKD 发出的点击事件无法被应用识别到, 从而正常触发点击</p><h3 id="work-profile" tabindex="-1">工作空间 <a class="header-anchor" href="#work-profile" aria-label="Permalink to “工作空间”"></a></h3><p>某些用户可能选择将应用安装到其他用户空间隔离</p><p>这导致 GKD 无法从当前应用列表识别到应用已安装</p><p>在 <code>设置 - shizuku</code> 中开启 <code>工作空间</code> 可以让 GKD 识别到其他用户空间的应用</p><ul><li>只识别主空间未安装应用</li><li>只在主空间有应用变更行为时才全量更新用户空间应用列表</li></ul><p>如果不开启此项, 对于未安装的应用, 有以下影响</p><ul><li>全局规则 的内部配置禁用失效</li><li>应用规则 不会启用</li></ul><p>对于 <code>全局规则</code> 可使用手动编辑禁用, 添加 appId 到禁用列表后将生效</p><p>若要开启 <code>应用规则</code>, 在对应订阅-应用规则-显示未安装应用-打开右侧开关即可</p><details class="details custom-block"><summary>不生效原因</summary><p>这是因为某些订阅有将近 2k 个应用, 而一般用户最多使用到 200 个</p><p>如果将 未安装的应用 的应用规则也全部开启, 这将额外占用 1800 个应用的无效规则配置内存</p></details><h2 id="persistent" tabindex="-1">后台运行 <a class="header-anchor" href="#persistent" aria-label="Permalink to “后台运行”"></a></h2><p>如何尽量保持后台运行不被系统暂停/杀死</p><ul><li>任务切换界面给 GKD 应用卡片加锁即可</li></ul><p>一般情况下, 使用此项即可正常后台运行, 如果不行请使用下面的步骤</p><ul><li>打开 GKD 首页, 开启 <code>常驻通知</code></li><li>允许后台活动, 关闭省电策略, 或者设置 GKD 的省电策略为无限制</li><li>允许 GKD 自启动</li></ul><p>某些系统如 MagicOS9 需要打开 <code>允许后台活动</code>, 否则 GKD 在后台时会被系统暂停执行</p>',42)),l(s,{src:"0038.jpg"}),a[5]||(a[5]=e("h2",{id:"restriction",tabindex:"-1"},[n("受限制的设置 "),e("a",{class:"header-anchor",href:"#restriction","aria-label":"Permalink to “受限制的设置”"},"")],-1)),a[6]||(a[6]=e("p",null,"无障碍列表界面提示",-1)),a[7]||(a[7]=e("blockquote",null,[e("p",null,"受限制的设置(出于安全考虑,此设置目前不可用)")],-1)),a[8]||(a[8]=e("p",null,"或提示",-1)),a[9]||(a[9]=e("blockquote",null,[e("p",null,"系统已拒绝向此应用授予访问权限")],-1)),l(t,{images:[["0014.png","0039.jpg"]]}),a[10]||(a[10]=e("p",null,"这是因为某些系统对于 不在应用商店等可信任来源安装的 不能直接开启无障碍权限",-1)),a[11]||(a[11]=e("p",null,"解除步骤: GKD 应用信息 - 允许受限制的设置, 注意某些设备位置不太一样",-1)),e("table",null,[a[0]||(a[0]=e("thead",null,[e("tr",null,[e("th",{class:"text-center!"},[n("原生系统 "),e("br"),n(" 应用信息 - 右上角 - 允许受限制的设置")]),e("th",{class:"text-center!"},[n("小米系统 "),e("br"),n(" 应用信息 - 高级设置 - 允许受限制的设置")])])],-1)),e("tbody",null,[l(p,null,{default:g(()=>[e("tr",null,[e("td",null,[l(s,{src:"0016.png"})]),e("td",null,[l(s,{src:"0040.jpg"})])])]),_:1})])]),a[12]||(a[12]=i('<p>如果按步骤开启后 无障碍列表 仍然提示不可用, 可尝试 <strong>重启设备</strong></p><p>如果应用信息右上角没有 <code>允许受限制的设置</code> 选项, 请参考下一节方案</p><h2 id="unable_open_a11y" tabindex="-1">无法开启无障碍 <a class="header-anchor" href="#unable_open_a11y" aria-label="Permalink to “无法开启无障碍”"></a></h2><p>某些系统如 ColorOS 有更严格的无障碍限制</p><p>如果你是其他来源安装或 GKD 内部更新后也会无法开启无障碍, 表现以下行为</p><ul><li>提示 受限制的设置, 但是没有找到 允许受限制的设置 的选项</li><li>不提示 受限制的设置, 无障碍开启按钮可点击, 但点击后没有响应, 无法开启</li></ul><p>可以通过以下方式解决, 可在 设置 - 关于 - 分享应用 获取 APK 文件</p>',7)),e("ul",null,[a[2]||(a[2]=e("li",null,[e("p",null,"使用系统信任的方式进行安装, 例如在系统文件管理中查看 APK 文件后点击安装, 是覆盖安装无需卸载")],-1)),a[3]||(a[3]=e("li",null,[e("p",null,[n("如果使用系统安装器, 但是在冻结了应用安装器 "),e("code",null,"com.oplus.appdetail"),n(" 状态下安装的 APK, 需解冻后重新安装")])],-1)),e("li",null,[a[1]||(a[1]=e("p",null,[n("使用 "),e("a",{href:"https://appops.rikka.app/",target:"_blank",rel:"noreferrer"},"App Ops"),n(" 在权限管理中手动授予 ACCESS_RESTRICTED_SETTINGS 权限")],-1)),l(s,{src:"0037.png"})])]),a[13]||(a[13]=e("h2",{id:"close_warn_dialog",tabindex:"-1"},[n("关闭无障碍警告弹窗 "),e("a",{class:"header-anchor",href:"#close_warn_dialog","aria-label":"Permalink to “关闭无障碍警告弹窗”"},"")],-1)),a[14]||(a[14]=e("div",{class:"tip custom-block github-alert"},[e("p",{class:"custom-block-title"},"建议"),e("p",null,[n("授予 "),e("code",null,"写入安全设置权限"),n(" 后可自行开启无障碍, 而无需设置此项")])],-1)),a[15]||(a[15]=e("p",null,"这个方案不一定适用所有机型",-1)),a[16]||(a[16]=e("p",null,"大多数设备开启无障碍时都会出现 10s 的无障碍警告弹窗",-1)),a[17]||(a[17]=e("p",null,"若是只需要开启一次则无所谓但是如果开启次数比较多每次都有这个警告等待就很烦人了",-1)),l(t,{images:[["0004.png","0005.png"]]}),a[18]||(a[18]=e("p",null,[n("你可能已经看到这个界面还有一个开关, 也就是下方的 "),e("code",null,"快捷方式"),n(" 开关")],-1)),a[19]||(a[19]=e("p",null,"打开一次下面这个快捷方式开关后, 上面的的开启按钮就不会出现警告弹窗了, 但是你会发现屏幕侧边出现了一个应用小图标, 多数情况下我们并不需要这个图标",-1)),a[20]||(a[20]=e("p",null,'到无障碍界面-"无障碍"按钮-使用按钮或手势-点击切换为手势即可隐藏',-1)),a[21]||(a[21]=e("p",null,"以 Xiaomi HyperOS 为例子, 下面是完整的关闭弹窗流程截图",-1)),l(t,{images:[["0009.png","0010.png","0011.png","0012.png"]]}),a[22]||(a[22]=i(`<h2 id="adb_failed" tabindex="-1">adb 授权失败 <a class="header-anchor" href="#adb_failed" aria-label="Permalink to “adb 授权失败”"></a></h2><p>在使用 adb 手动授予 <code>写入安全设置权限</code> 时可能会提示权限不够,具体报错如下:</p><div class="language-text"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>adb shell pm grant li.songe.gkd android.permission.WRITE_SECURE_SETTINGS</span></span>
|
|
2
|
+
<span class="line"><span></span></span>
|
|
3
|
+
<span class="line"><span>Exception occurred while executing 'grant':</span></span>
|
|
4
|
+
<span class="line"><span>java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.</span></span>
|
|
5
|
+
<span class="line"><span> at android.app.ContextImpl.enforce(ContextImpl.java:2384)</span></span>
|
|
6
|
+
<span class="line"><span> at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:2412)</span></span>
|
|
7
|
+
<span class="line"><span> at com.android.server.pm.permission.PermissionManagerServiceImpl.grantRuntimePermissionInternal(PermissionManagerServiceImpl.java:1383)</span></span>
|
|
8
|
+
<span class="line"><span> at com.android.server.pm.permission.PermissionManagerServiceImpl.grantRuntimePermission(PermissionManagerServiceImpl.java:1365)</span></span>
|
|
9
|
+
<span class="line"><span> at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(PermissionManagerService.java:573)</span></span>
|
|
10
|
+
<span class="line"><span> at android.permission.PermissionManager.grantRuntimePermission(PermissionManager.java:610)</span></span>
|
|
11
|
+
<span class="line"><span> at com.android.server.pm.PackageManagerShellCommand.runGrantRevokePermission(PackageManagerShellCommand.java:2717)</span></span>
|
|
12
|
+
<span class="line"><span> at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:301)</span></span>
|
|
13
|
+
<span class="line"><span> at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)</span></span>
|
|
14
|
+
<span class="line"><span> at android.os.ShellCommand.exec(ShellCommand.java:38)</span></span>
|
|
15
|
+
<span class="line"><span> at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onShellCommand(PackageManagerService.java:6840)</span></span>
|
|
16
|
+
<span class="line"><span> at android.os.Binder.shellCommand(Binder.java:1092)</span></span>
|
|
17
|
+
<span class="line"><span> at android.os.Binder.onTransact(Binder.java:912)</span></span>
|
|
18
|
+
<span class="line"><span> at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4352)</span></span>
|
|
19
|
+
<span class="line"><span> at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onTransact(PackageManagerService.java:6824)</span></span>
|
|
20
|
+
<span class="line"><span> at android.os.Binder.execTransactInternal(Binder.java:1392)</span></span>
|
|
21
|
+
<span class="line"><span> at android.os.Binder.execTransact(Binder.java:1299)</span></span></code></pre></div><p>下面参考 <a href="https://shizuku.rikka.app/guide/setup/#faq" target="_blank" rel="noreferrer">shizuku 文档</a> 的解决方案</p><ul><li><p>HyperOS/MIUI(小米、POCO)<br> 在 <code>开发者选项</code> 中开启 <code>USB 调试(安全设置)</code>,注意不是 <code>USB 调试</code><br> 如果开启 <code>USB 调试(安全设置)</code>后继续报错,可以尝试在 adb 命令前添加 sudo <br> 提升权限后再执行 adb 命令</p></li><li><p>ColorOS(OPPO & OnePlus)<br> 在 <code>开发者选项</code> 中关闭 <code>权限监控</code> 或打开 <code>禁止权限监控</code></p></li><li><p>Flyme(魅族)<br> 在 <code>开发者选项</code> 中关闭 <code>Flyme 支付保护</code></p></li></ul><p>关闭限制后重新运行命令即可</p>`,6))])}const v=o(m,[["render",u]]);export{x as __pageData,v as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as o,I as r,c as d,o as c,aq as i,J as l,j as e,a as n,w as g}from"./chunks/framework.D_vZ0jx3.js";const x=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"guide/faq.md","filePath":"guide/faq.md","lastUpdated":1746214899000}'),m={name:"guide/faq.md"};function u(h,a,b,k,P,f){const s=r("GImg"),t=r("ImageTable"),p=r("NImageGroup");return c(),d("div",null,[a[4]||(a[4]=i("",42)),l(s,{src:"0038.jpg"}),a[5]||(a[5]=e("h2",{id:"restriction",tabindex:"-1"},[n("受限制的设置 "),e("a",{class:"header-anchor",href:"#restriction","aria-label":"Permalink to “受限制的设置”"},"")],-1)),a[6]||(a[6]=e("p",null,"无障碍列表界面提示",-1)),a[7]||(a[7]=e("blockquote",null,[e("p",null,"受限制的设置(出于安全考虑,此设置目前不可用)")],-1)),a[8]||(a[8]=e("p",null,"或提示",-1)),a[9]||(a[9]=e("blockquote",null,[e("p",null,"系统已拒绝向此应用授予访问权限")],-1)),l(t,{images:[["0014.png","0039.jpg"]]}),a[10]||(a[10]=e("p",null,"这是因为某些系统对于 不在应用商店等可信任来源安装的 不能直接开启无障碍权限",-1)),a[11]||(a[11]=e("p",null,"解除步骤: GKD 应用信息 - 允许受限制的设置, 注意某些设备位置不太一样",-1)),e("table",null,[a[0]||(a[0]=e("thead",null,[e("tr",null,[e("th",{class:"text-center!"},[n("原生系统 "),e("br"),n(" 应用信息 - 右上角 - 允许受限制的设置")]),e("th",{class:"text-center!"},[n("小米系统 "),e("br"),n(" 应用信息 - 高级设置 - 允许受限制的设置")])])],-1)),e("tbody",null,[l(p,null,{default:g(()=>[e("tr",null,[e("td",null,[l(s,{src:"0016.png"})]),e("td",null,[l(s,{src:"0040.jpg"})])])]),_:1})])]),a[12]||(a[12]=i("",7)),e("ul",null,[a[2]||(a[2]=e("li",null,[e("p",null,"使用系统信任的方式进行安装, 例如在系统文件管理中查看 APK 文件后点击安装, 是覆盖安装无需卸载")],-1)),a[3]||(a[3]=e("li",null,[e("p",null,[n("如果使用系统安装器, 但是在冻结了应用安装器 "),e("code",null,"com.oplus.appdetail"),n(" 状态下安装的 APK, 需解冻后重新安装")])],-1)),e("li",null,[a[1]||(a[1]=e("p",null,[n("使用 "),e("a",{href:"https://appops.rikka.app/",target:"_blank",rel:"noreferrer"},"App Ops"),n(" 在权限管理中手动授予 ACCESS_RESTRICTED_SETTINGS 权限")],-1)),l(s,{src:"0037.png"})])]),a[13]||(a[13]=e("h2",{id:"close_warn_dialog",tabindex:"-1"},[n("关闭无障碍警告弹窗 "),e("a",{class:"header-anchor",href:"#close_warn_dialog","aria-label":"Permalink to “关闭无障碍警告弹窗”"},"")],-1)),a[14]||(a[14]=e("div",{class:"tip custom-block github-alert"},[e("p",{class:"custom-block-title"},"建议"),e("p",null,[n("授予 "),e("code",null,"写入安全设置权限"),n(" 后可自行开启无障碍, 而无需设置此项")])],-1)),a[15]||(a[15]=e("p",null,"这个方案不一定适用所有机型",-1)),a[16]||(a[16]=e("p",null,"大多数设备开启无障碍时都会出现 10s 的无障碍警告弹窗",-1)),a[17]||(a[17]=e("p",null,"若是只需要开启一次则无所谓但是如果开启次数比较多每次都有这个警告等待就很烦人了",-1)),l(t,{images:[["0004.png","0005.png"]]}),a[18]||(a[18]=e("p",null,[n("你可能已经看到这个界面还有一个开关, 也就是下方的 "),e("code",null,"快捷方式"),n(" 开关")],-1)),a[19]||(a[19]=e("p",null,"打开一次下面这个快捷方式开关后, 上面的的开启按钮就不会出现警告弹窗了, 但是你会发现屏幕侧边出现了一个应用小图标, 多数情况下我们并不需要这个图标",-1)),a[20]||(a[20]=e("p",null,'到无障碍界面-"无障碍"按钮-使用按钮或手势-点击切换为手势即可隐藏',-1)),a[21]||(a[21]=e("p",null,"以 Xiaomi HyperOS 为例子, 下面是完整的关闭弹窗流程截图",-1)),l(t,{images:[["0009.png","0010.png","0011.png","0012.png"]]}),a[22]||(a[22]=i("",6))])}const v=o(m,[["render",u]]);export{x as __pageData,v as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as p,I as t,c as d,o as g,j as a,J as n,aq as m,a as l,w as _}from"./chunks/framework.D_vZ0jx3.js";const y=JSON.parse('{"title":"开始使用","description":"","frontmatter":{},"headers":[],"relativePath":"guide/index.md","filePath":"guide/index.md","lastUpdated":1746214899000}'),c={name:"guide/index.md"};function f(u,e,h,b,k,T){const r=t("AppInnerDownloadTip"),o=t("ClientOnly"),i=t("ApkTable"),s=t("ImageTable");return g(),d("div",null,[e[0]||(e[0]=a("h1",{id:"title",tabindex:"-1"},[l("开始使用 "),a("a",{class:"header-anchor",href:"#title","aria-label":"Permalink to “开始使用”"},"")],-1)),e[1]||(e[1]=a("h2",{id:"install",tabindex:"-1"},[l("安装 "),a("a",{class:"header-anchor",href:"#install","aria-label":"Permalink to “安装”"},"")],-1)),n(o,null,{default:_(()=>[n(r)]),_:1}),n(i),e[2]||(e[2]=m('<details class="details custom-block"><summary>手机浏览器下载失败?</summary><p>某些手机浏览器存在自定义拦截会导致下载失败, 建议使用 <a href="https://viayoo.com" target="_blank" rel="noreferrer">Via</a> 浏览器下载</p></details><p>其它下载方式</p><ul><li><a href="https://play.google.com/store/apps/details?id=li.songe.gkd" target="_blank" rel="noreferrer">Google Play</a> <a href="./faq#play-diff">区别</a></li><li><a href="https://github.com/gkd-kit/gkd/releases/latest" target="_blank" rel="noreferrer">Github Releases</a></li></ul><p>下载完毕后, 在您的 Android 手机上安装并打开</p><h2 id="usage" tabindex="-1">使用 <a class="header-anchor" href="#usage" aria-label="Permalink to “使用”"></a></h2><p>打开后进入 GKD 的首页, 要想 GKD 正常工作需要授权无障碍权限</p><p>点击无障碍权限右侧的 <code>授权</code> 按钮即可前往设置的无障碍界面授权</p><p>以 Xiaomi HyperOS 为例, 下面为完整的授权流程截图</p>',8)),n(s,{images:[["0001.png","0002.png","0003.png","0004.png"],["0005.png","0006.png","0007.png","0008.png"]]}),e[3]||(e[3]=a("p",null,[l("如遇到问题可在 "),a("a",{href:"/guide/faq"},"常见问题"),l(" 查阅解决方案")],-1))])}const A=p(c,[["render",f]]);export{y as __pageData,A as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as p,I as t,c as d,o as g,j as a,J as n,aq as m,a as l,w as _}from"./chunks/framework.D_vZ0jx3.js";const y=JSON.parse('{"title":"开始使用","description":"","frontmatter":{},"headers":[],"relativePath":"guide/index.md","filePath":"guide/index.md","lastUpdated":1746214899000}'),c={name:"guide/index.md"};function f(u,e,h,b,k,T){const r=t("AppInnerDownloadTip"),o=t("ClientOnly"),i=t("ApkTable"),s=t("ImageTable");return g(),d("div",null,[e[0]||(e[0]=a("h1",{id:"title",tabindex:"-1"},[l("开始使用 "),a("a",{class:"header-anchor",href:"#title","aria-label":"Permalink to “开始使用”"},"")],-1)),e[1]||(e[1]=a("h2",{id:"install",tabindex:"-1"},[l("安装 "),a("a",{class:"header-anchor",href:"#install","aria-label":"Permalink to “安装”"},"")],-1)),n(o,null,{default:_(()=>[n(r)]),_:1}),n(i),e[2]||(e[2]=m("",8)),n(s,{images:[["0001.png","0002.png","0003.png","0004.png"],["0005.png","0006.png","0007.png","0008.png"]]}),e[3]||(e[3]=a("p",null,[l("如遇到问题可在 "),a("a",{href:"/guide/faq"},"常见问题"),l(" 查阅解决方案")],-1))])}const A=p(c,[["render",f]]);export{y as __pageData,A as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as d,c as e,o,aq as a}from"./chunks/framework.D_vZ0jx3.js";const g=JSON.parse('{"title":"属性方法","description":"","frontmatter":{},"headers":[],"relativePath":"guide/node.md","filePath":"guide/node.md","lastUpdated":1746214899000}'),r={name:"guide/node.md"};function c(n,t,i,l,h,b){return o(),e("div",null,t[0]||(t[0]=[a('<h1 id="title" tabindex="-1">属性方法 <a class="header-anchor" href="#title" aria-label="Permalink to “属性方法”"></a></h1><p>此章节介绍各个类型可用的属性及其方法</p><h2 id="null" tabindex="-1">null <a class="header-anchor" href="#null" aria-label="Permalink to “null”"></a></h2><div class="note custom-block github-alert"><p class="custom-block-title">提示</p><p><code>null</code> 无任何属性方法, 并且在无特殊说明时, 属性方法当调用者或者参数是 <code>null</code> 时, 均返回 <code>null</code></p></div><p>当 <code>name</code> 是 <code>null</code> 时, <code>name.length</code> 为 <code>null</code></p><p>当 <code>parent</code> 是 <code>null</code> 时, <code>parent.getChild(0)</code> 为 <code>null</code></p><p>当 <code>index</code> 是 <code>null</code> 时, <code>parent.getChild(index)</code> 为 <code>null</code></p><h2 id="boolean" tabindex="-1">boolean <a class="header-anchor" href="#boolean" aria-label="Permalink to “boolean”"></a></h2><table tabindex="0"><thead><tr><th>方法名</th><th>参数</th><th>返回类型</th><th>描述</th></tr></thead><tbody><tr><td>toInt</td><td></td><td><code>int</code></td><td>转为 0 或 1</td></tr><tr><td>or</td><td><code>boolean</code></td><td><code>boolean</code></td><td>a || b</td></tr><tr><td>and</td><td><code>boolean</code></td><td><code>boolean</code></td><td>a && b</td></tr><tr><td>not</td><td></td><td><code>boolean</code></td><td>!a</td></tr><tr><td>ifElse</td><td><code>T</code>, <code>T</code></td><td><code>T</code></td><td>if(a) T else T <br> T 是任意类型, 两个参数均支持为 null</td></tr></tbody></table><h2 id="int" tabindex="-1">int <a class="header-anchor" href="#int" aria-label="Permalink to “int”"></a></h2><table tabindex="0"><thead><tr><th>方法名</th><th>参数</th><th>返回类型</th><th>描述</th></tr></thead><tbody><tr><td>toString</td><td></td><td><a href="#string"><code>string</code></a></td><td>转为10进制字符串</td></tr><tr><td>toString</td><td><code>int</code></td><td><code>string</code></td><td>转为对应进制的字符串</td></tr><tr><td>plus</td><td><code>int</code></td><td><code>string</code></td><td>加上</td></tr><tr><td>minus</td><td><code>int</code></td><td><code>string</code></td><td>减去</td></tr><tr><td>times</td><td><code>int</code></td><td><code>string</code></td><td>乘以</td></tr><tr><td>div</td><td><code>int</code></td><td><code>string</code></td><td>除以</td></tr><tr><td>rem</td><td><code>int</code></td><td><code>string</code></td><td>取余</td></tr><tr><td>more</td><td><code>int</code></td><td><a href="#boolean"><code>boolean</code></a></td><td>a > b</td></tr><tr><td>moreEqual</td><td><code>int</code></td><td><code>boolean</code></td><td>a >= b</td></tr><tr><td>less</td><td><code>int</code></td><td><code>boolean</code></td><td>a < b</td></tr><tr><td>lessEqual</td><td><code>int</code></td><td><code>boolean</code></td><td>a <= b</td></tr></tbody></table><h2 id="string" tabindex="-1">string <a class="header-anchor" href="#string" aria-label="Permalink to “string”"></a></h2><table tabindex="0"><thead><tr><th>标识符</th><th>属性类型</th><th>描述</th></tr></thead><tbody><tr><td>length</td><td><a href="#int"><code>int</code></a></td><td>字符串长度</td></tr></tbody></table><table tabindex="0"><thead><tr><th>方法名</th><th>参数</th><th>返回类型</th><th>描述</th></tr></thead><tbody><tr><td>get</td><td><a href="#int"><code>int</code></a></td><td><code>string</code></td><td>获取对应索引字符串</td></tr><tr><td>at</td><td><code>int</code></td><td><code>string</code></td><td>同上,但是参数传负数时从最后一个字符取</td></tr><tr><td>substring</td><td><code>int</code></td><td><code>string</code></td><td>截取指定索引到结尾字符串</td></tr><tr><td>substring</td><td><code>int</code>,<code>int</code></td><td><code>string</code></td><td>截取指定间隔字符串</td></tr><tr><td>toInt</td><td></td><td><code>int</code></td><td>转为10进制数字</td></tr><tr><td>toInt</td><td><code>int</code></td><td><code>int</code></td><td>转为指定进制的数字</td></tr><tr><td>indexOf</td><td><code>string</code></td><td><code>int</code></td><td>查找指定字符串的索引</td></tr><tr><td>indexOf</td><td><code>string</code>,<code>int</code></td><td><code>int</code></td><td>从指定索引开始查找指定字符串的索引</td></tr></tbody></table><h2 id="node" tabindex="-1">node <a class="header-anchor" href="#node" aria-label="Permalink to “node”"></a></h2><div class="important custom-block github-alert"><p class="custom-block-title">重要提示</p><p>此类型下以 _ 开头的属性只能在网页快照调试工具上使用, 真机不可用</p></div><table tabindex="0"><thead><tr><th>标识符</th><th>属性类型</th><th>描述</th></tr></thead><tbody><tr><td>_id</td><td><a href="#int"><code>int</code></a></td><td></td></tr><tr><td>_pid</td><td><code>int</code></td><td></td></tr><tr><td>id</td><td><a href="#string"><code>string</code></a></td><td></td></tr><tr><td>vid</td><td><code>string</code></td><td></td></tr><tr><td>name</td><td><code>string</code></td><td></td></tr><tr><td>text</td><td><code>string</code></td><td></td></tr><tr><td>desc</td><td><code>string</code></td><td></td></tr><tr><td>clickable</td><td><code>boolean</code></td><td></td></tr><tr><td>focusable</td><td><code>boolean</code></td><td></td></tr><tr><td>checkable</td><td><code>boolean</code></td><td></td></tr><tr><td>checked</td><td><code>boolean</code></td><td></td></tr><tr><td>editable</td><td><code>boolean</code></td><td></td></tr><tr><td>longClickable</td><td><code>boolean</code></td><td></td></tr><tr><td>visibleToUser</td><td><code>boolean</code></td><td></td></tr><tr><td>left</td><td><code>int</code></td><td></td></tr><tr><td>top</td><td><code>int</code></td><td></td></tr><tr><td>right</td><td><code>int</code></td><td></td></tr><tr><td>bottom</td><td><code>int</code></td><td></td></tr><tr><td>width</td><td><code>int</code></td><td></td></tr><tr><td>height</td><td><code>int</code></td><td></td></tr><tr><td>childCount</td><td><code>int</code></td><td></td></tr><tr><td>index</td><td><code>int</code></td><td></td></tr><tr><td>depth</td><td><code>int</code></td><td></td></tr><tr><td>parent</td><td><a href="#node"><code>node</code></a></td><td>获取父节点</td></tr></tbody></table><table tabindex="0"><thead><tr><th>方法名</th><th>参数</th><th>返回类型</th><th>描述</th></tr></thead><tbody><tr><td>getChild</td><td><code>int</code></td><td><a href="#node"><code>node</code></a></td><td>获取指定索引的子节点</td></tr></tbody></table><h2 id="context" tabindex="-1">context <a class="header-anchor" href="#context" aria-label="Permalink to “context”"></a></h2><p>context 具有 <a href="#node">node</a> 的所有属性方法, 下面只介绍额外属性方法</p><table tabindex="0"><thead><tr><th>标识符</th><th>属性类型</th><th>描述</th></tr></thead><tbody><tr><td>prev</td><td><a href="#context"><code>context</code></a></td><td>右侧属性选择器的节点上下文 <br> 最右侧的 prev=null</td></tr><tr><td>current</td><td><a href="#node"><code>node</code></a></td><td>当前节点 <br> current.id=id</td></tr></tbody></table><p>示例</p><div class="language-text"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>FrameLayout[prev.name$='ImageView'] > ImageView[current.name=name]</span></span></code></pre></div><p>中的 prev 就是 FrameLayout 右侧的 ImageView, current 就是 ImageView</p><table tabindex="0"><thead><tr><th>方法名</th><th>参数</th><th>返回类型</th><th>描述</th></tr></thead><tbody><tr><td>getPrev</td><td>int</td><td><a href="#context"><code>context</code></a></td><td>快捷获取深层 prev <br> getPrev(0) -> prev <br> getPrev(1) -> prev.prev <br> getPrev(2) -> prev.prev.prev</td></tr></tbody></table><h2 id="global" tabindex="-1">global <a class="header-anchor" href="#global" aria-label="Permalink to “global”"></a></h2><p>global 具有 <a href="#context">context</a> 的所有属性方法, 并且没有任何属性方法能获取 global 的引用, 下面只介绍额外属性方法</p><table tabindex="0"><thead><tr><th>方法名</th><th>参数</th><th>返回类型</th><th>描述</th></tr></thead><tbody><tr><td>equal</td><td><code>T</code>, <code>T</code></td><td><a href="#boolean"><code>boolean</code></a></td><td>a==b <br> T 是任意类型, a,b 允许 null</td></tr><tr><td>notEqual</td><td><code>T</code>, <code>T</code></td><td><code>boolean</code></td><td>a!=b</td></tr></tbody></table><p>示例</p><div class="language-text"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span>[name=''][prev.name=''][current.name=''][parent.name='']</span></span></code></pre></div><ul><li>第一个 <code>name</code> 来自 <a href="#global">global</a>, 实际上任何 <code>xxx</code>/<code>xxx()</code> 都来自 global</li><li>第二个 <code>prev.name</code> 来自 <a href="#context">context</a></li><li>后续的 <code>current.name</code>/<code>parent.name</code> 都来自 <a href="#node">node</a></li></ul>',31)]))}const p=d(r,[["render",c]]);export{g as __pageData,p as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as d,c as e,o,aq as a}from"./chunks/framework.D_vZ0jx3.js";const g=JSON.parse('{"title":"属性方法","description":"","frontmatter":{},"headers":[],"relativePath":"guide/node.md","filePath":"guide/node.md","lastUpdated":1746214899000}'),r={name:"guide/node.md"};function c(n,t,i,l,h,b){return o(),e("div",null,t[0]||(t[0]=[a("",31)]))}const p=d(r,[["render",c]]);export{g as __pageData,p as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as d,c as o,o as c,aq as i}from"./chunks/framework.D_vZ0jx3.js";const b=JSON.parse('{"title":"查询优化","description":"","frontmatter":{},"headers":[],"relativePath":"guide/optimize.md","filePath":"guide/optimize.md","lastUpdated":1746214899000}'),t={name:"guide/optimize.md"};function l(a,e,n,r,p,u){return c(),o("div",null,e[0]||(e[0]=[i('<h1 id="title" tabindex="-1">查询优化 <a class="header-anchor" href="#title" aria-label="Permalink to “查询优化”"></a></h1><p>一些关于查询优化的说明</p><h2 id="query-root" tabindex="-1">查找根节点 <a class="header-anchor" href="#query-root" aria-label="Permalink to “查找根节点”"></a></h2><p>选择器通过满足下列格式的属性选择器标识根节点</p><ul><li><code>[parent=null]</code></li><li><code>A[id='xxx'][parent=null][text='xxx']</code></li></ul><p>即只需存在一个 <code>[parent=null]</code> 就满足条件, 以下是对此的优化</p><h3 id="enforce" tabindex="-1">主动查询 <a class="header-anchor" href="#enforce" aria-label="Permalink to “主动查询”"></a></h3><p>一般的选择器如 <code>LinearLayout > TextView</code>, 选择器需要从 根节点/事件节点 使用深度先序顺序遍历子孙节点并判断是否满足条件</p><p>如果屏幕上有 n 个节点, 判断逻辑需要运行 n 次</p><p>但是如果选择器是类似 <code>TextView <3 LinearLayout <2 [parent=null]</code>, 由于在右侧标明了从根节点查找</p><p>因此上面的 <code>深度先序顺序遍历子孙节点</code> 将省略, 只进行一次判断, 不需要判断 n 次</p><p>但是如果你在子查询里使用 <code><<n</code>, 例如 <code>TextView <<n [parent=null]</code></p><p>根据上面说明的优化, 虽然也只有一次判断, 但是由于 <code><<n</code> 导致内部的子判断也是 n 次, 实际上没有优化判断次数</p><div class="tip custom-block github-alert"><p class="custom-block-title">提示</p><p>实际上从根节点开始匹配并且目标不是根节点的选择器如 <code>A > B</code> 都可等价为 <code>A > @B <<n [parent=null]</code></p></div><h3 id="ancestor" tabindex="-1">祖先节点 <a class="header-anchor" href="#ancestor" aria-label="Permalink to “祖先节点”"></a></h3><p>在示例 <code>A <3 [parent=null] >n TextView</code> 中, 选择器找到 <code>TextView</code> 后, 根据 <code>>n</code> 表示任意祖先节点</p><p>在默认情况下, 如果 <code>TextView</code> 的层级很深, 那必然需要多次调用 获取父节点 才能最终匹配</p><p>但是如果左侧的选择器是 <code>[parent=null] >n</code>, 这表示找到根节点, 选择器此时不会去执行多次调用 获取父节点</p><p>在 GKD 内部, 根节点可以直接通过 API 获取, 因此 <code>[parent=null] >n</code> 只需要调用一次方法</p><h2 id="fast-query" tabindex="-1">快速查询 <a class="header-anchor" href="#fast-query" aria-label="Permalink to “快速查询”"></a></h2><div class="note custom-block github-alert"><p class="custom-block-title">注意</p><p>此优化需要设置 <a href="/api/interfaces/RawCommonProps#fastquery">fastQuery</a> 来启用<br> 并且节点在快照面板被标识 <code>可快速查找</code>, 否则查找不到</p></div><h3 id="query-scene" tabindex="-1">查询场景 <a class="header-anchor" href="#query-scene" aria-label="Permalink to “查询场景”"></a></h3><p>一般情况下, 选择器 <code>[vid="name"]</code> 需要从 根节点/事件节点 使用深度先序顺序遍历子孙节点并判断是否满足条件</p><p>但是 Android 提供了如下两个快速获取节点的 Api</p><ul><li><a href="https://developer.android.google.cn/reference/android/view/accessibility/AccessibilityNodeInfo#findAccessibilityNodeInfosByViewId(java.lang.String)" target="_blank" rel="noreferrer">findAccessibilityNodeInfosByViewId</a></li><li><a href="https://developer.android.google.cn/reference/android/view/accessibility/AccessibilityNodeInfo#findAccessibilityNodeInfosByText(java.lang.String)" target="_blank" rel="noreferrer">findAccessibilityNodeInfosByText</a></li></ul><p>这使得可以通过 <code>id</code>/<code>vid</code>/<code>text</code> 直接获取子孙节点</p><p>对此我们需要规定符合特定条件的选择器来调用这些 Api 从而跳过手动遍历子孙节点</p><h3 id="rule-format" tabindex="-1">规定格式 <a class="header-anchor" href="#rule-format" aria-label="Permalink to “规定格式”"></a></h3><p>所有 <code>末尾属性选择器</code>的<code>第一个属性选择表达式</code>符合下面的结构之一</p><ul><li><code>[id='abc']</code></li><li><code>[vid='abc']</code></li><li><code>[text='abc']</code></li><li><code>[text^='abc']</code></li><li><code>[text*='abc']</code></li><li><code>[text$='abc']</code></li></ul><p>或者使用 <code>||</code> 将它们连接形成的逻辑表达式也符合条件, 即如下格式</p><ul><li><code>[id='abc' || id='abc2']</code></li><li><code>[id='abc' || vid='abc' || text='abc' || text^='abc' || text*='abc' || text$='abc']</code></li></ul><p>这些规定的格式都是为了提取 <code>id</code>/<code>vid</code>/<code>text</code> 来调用上面的两个 Android Api</p><p>下面给出实际示例: ✅ 表示符合格式, ❎ 表示不符合格式</p><ul><li><code>A > B + C[id='x'][childCount=2]</code> ✅</li><li><code>A > B + C[childCount=2][id='x']</code> ❎</li><li><code>A > B + C[id='x' || text='manbaout' || text*='ikun'][childCount=2]</code> ✅</li><li><code>A > B + C[childCount=2][id='x' || text='manbaout' || text*='ikun']</code> ❎</li></ul><p>这样一个选择器只能在右侧使用快速查询, 为了在中间的子选择器也能使用</p><p>额外规定如果属性选择器如果符合上面格式并且右侧是 <code><<n</code>, 也能在局部使用快速查找</p><p>示例 <code>A > B + C[id='x'][childCount=2] <<n D</code> 中的 <code>C[id='x'][childCount=2] <<n</code> 可以使用局部快速查找</p><p>下面给出满足局部查询优化的示例: ✅ 表示符合格式, ❎ 表示不符合格式</p><ul><li><code>A > B + C[id='x'][childCount=2] <<n D</code> ✅</li><li><code>A > B + C[childCount=2][id='x'] <<n D</code> ❎</li></ul><p>上面介绍的是只有一个局部选择器的情况, 下面给出多个局部快速查找的的示例</p><p>如 <code>A > C[id='x'] <<n D[id='y'] <<n E</code>, 其中的 <code>C[id='x'] <<n</code> 和 <code>D[id='y'] <<n</code> 都可以使用局部快速查找</p><p>如果使用 <code>||</code>, <code>&&</code> 连接多个选择器时, 快速查询为它们的并集</p><p>如果选择器被 <code>!(xxx)</code> 包裹, 则不符合快速查询格式, 也就是 <code>!</code> 会取消其内部所有的快速查询</p><ul><li><code>(A + B[id='b']) || (C + D[id='d'])</code> 的快速查询为 <code>id='b'</code>, <code>id='d'</code></li><li><code>(A + B[id='b']) && (C + D[id='d'])</code> 的快速查询为 <code>id='b'</code>, <code>id='d'</code></li><li><code>(A + B[id='b']) && !(C + D[id='d'])</code> 的快速查询为 <code>id='b'</code></li></ul><p>需要注意的是它们内部的 局部快速查找 仍然独立成立</p><ul><li><code>(X[id='x'] <<n A + B[id='b']) && !(Y[id='y'] <<n C + D[id='d'])</code> 的快速查询为 <code>id='b'</code>, 局部快速查询分别是 <code>id='x'</code>, <code>id='y'</code></li></ul><div class="note custom-block github-alert"><p class="custom-block-title">注意</p><p>如果选择器不存在满足快速查找的格式, fastQuery 是否开启都不影响查询复杂度</p></div><h3 id="optimize-example" tabindex="-1">优化示例 <a class="header-anchor" href="#optimize-example" aria-label="Permalink to “优化示例”"></a></h3><p>以 <a href="https://i.gkd.li/i/16201605?gkd=W3ZpZD0iaW1hZ2UiXSA8PG4gW3ZpZD0icmVjeWNsZXJWaWV3Il0gPDxuIFt2aWQ9ImNvbnRlbnRfbGF5b3V0Il0" target="_blank" rel="noreferrer"><code>[vid="image"] <<n [vid="recyclerView"] <<n [vid="content_layout"]</code></a> 为例</p><p>上面的选择器存在 3 个快速查找优化</p><ul><li><code>[vid="content_layout"]</code> 从 根节点 优化查询找到 <code>content_layout</code></li><li><code>[vid="recyclerView"]</code> 从 <code>content_layout</code> 优化查询找到 <code>recyclerView</code></li><li><code>[vid="image"]</code> 从 <code>recyclerView</code> 优化查询找到 <code>image</code></li></ul><p>也就是只需要调用 <code>findAccessibilityNodeInfosByViewId</code> 3 次即可得到目标节点</p><p>如果是从根节点开始查询, 根据快照内的 选择器路径视图</p><ul><li><code>[vid="content_layout"]</code> 从 根节点 需要 7 次找到 <code>content_layout</code></li><li><code>[vid="recyclerView"]</code> 从 <code>content_layout</code> 需要 48 次找到 <code>recyclerView</code></li><li><code>[vid="image"]</code> 从 <code>recyclerView</code> 需要 44 次找到 <code>image</code></li></ul>',55)]))}const h=d(t,[["render",l]]);export{b as __pageData,h as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as d,c as o,o as c,aq as i}from"./chunks/framework.D_vZ0jx3.js";const b=JSON.parse('{"title":"查询优化","description":"","frontmatter":{},"headers":[],"relativePath":"guide/optimize.md","filePath":"guide/optimize.md","lastUpdated":1746214899000}'),t={name:"guide/optimize.md"};function l(a,e,n,r,p,u){return c(),o("div",null,e[0]||(e[0]=[i("",55)]))}const h=d(t,[["render",l]]);export{b as __pageData,h as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as t,c as r,o as i,j as e,a as s}from"./chunks/framework.D_vZ0jx3.js";const u=JSON.parse('{"title":"隐私政策","description":"","frontmatter":{},"headers":[],"relativePath":"guide/privacy.md","filePath":"guide/privacy.md","lastUpdated":1746214899000}'),o={name:"guide/privacy.md"};function d(n,a,c,l,p,m){return i(),r("div",null,a[0]||(a[0]=[e("h1",{id:"title",tabindex:"-1"},[s("隐私政策 "),e("a",{class:"header-anchor",href:"#title","aria-label":"Permalink to “隐私政策”"},"")],-1),e("p",null,"GKD 不收集或分享任何用户个人数据",-1)]))}const _=t(o,[["render",d]]);export{u as __pageData,_ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as t,c as r,o as i,j as e,a as s}from"./chunks/framework.D_vZ0jx3.js";const u=JSON.parse('{"title":"隐私政策","description":"","frontmatter":{},"headers":[],"relativePath":"guide/privacy.md","filePath":"guide/privacy.md","lastUpdated":1746214899000}'),o={name:"guide/privacy.md"};function d(n,a,c,l,p,m){return i(),r("div",null,a[0]||(a[0]=[e("h1",{id:"title",tabindex:"-1"},[s("隐私政策 "),e("a",{class:"header-anchor",href:"#title","aria-label":"Permalink to “隐私政策”"},"")],-1),e("p",null,"GKD 不收集或分享任何用户个人数据",-1)]))}const _=t(o,[["render",d]]);export{u as __pageData,_ as default};
|