diff --git a/404.html b/404.html index de15ea1..8d65fac 100644 --- a/404.html +++ b/404.html @@ -5,15 +5,15 @@ 404 | Flandre.Docs - - - - + + + + -
Skip to content

404

PAGE NOT FOUND

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

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - +
Skip to content

404

PAGE NOT FOUND

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

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file diff --git a/CNAME b/CNAME deleted file mode 100644 index b519237..0000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -flandre.sorabs.cc \ No newline at end of file diff --git a/assets/app.4a2b4649.js b/assets/app.4a2b4649.js new file mode 100644 index 0000000..86a2f8c --- /dev/null +++ b/assets/app.4a2b4649.js @@ -0,0 +1 @@ +import{d as p,K as s,a2 as i,u,p as c,k as l,a3 as d,a4 as f,a5 as m,a6 as h,a7 as A,a8 as g,a9 as P,aa as v,ab as y,ac as C,ad as w,ae as _,af as b,ag as E}from"./chunks/framework.d7e37bdc.js";import{t as R}from"./chunks/theme.a717441a.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(R),D=p({name:"VitePressApp",setup(){const{site:e}=u();return c(()=>{l(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),d(),f(),m(),n.setup&&n.setup(),()=>h(n.Layout)}});async function O(){const e=T(),a=S();a.provide(A,e);const t=g(e.route);return a.provide(P,t),a.component("Content",v),a.component("ClientOnly",y),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:C}),{app:a,router:e,data:t}}function S(){return w(D)}function T(){let e=s,a;return _(t=>{let o=b(t);return e&&(a=o),(e||a===o)&&(o=o.replace(/\.js$/,".lean.js")),s&&(e=!1),E(()=>import(o),[])},n.NotFound)}s&&O().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{O as createApp}; diff --git a/assets/app.502e5375.js b/assets/app.502e5375.js deleted file mode 100644 index 67d9fca..0000000 --- a/assets/app.502e5375.js +++ /dev/null @@ -1,8 +0,0 @@ -function Fs(e,t){const n=Object.create(null),s=e.split(",");for(let o=0;o!!n[o.toLowerCase()]:o=>!!n[o]}function Hs(e){if(W(e)){const t={};for(let n=0;n{if(n){const s=n.split(Bi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ve(e){let t="";if(xe(e))t=e;else if(W(e))for(let n=0;nxe(e)?e:e==null?"":W(e)||me(e)&&(e.toString===vr||!Z(e.toString))?JSON.stringify(e,hr,2):String(e),hr=(e,t)=>t&&t.__v_isRef?hr(e,t.value):Ft(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o])=>(n[`${s} =>`]=o,n),{})}:_r(t)?{[`Set(${t.size})`]:[...t.values()]}:me(t)&&!W(t)&&!mr(t)?String(t):t,ge={},Bt=[],Ke=()=>{},Ui=()=>!1,zi=/^on[^a-z]/,mn=e=>zi.test(e),Rs=e=>e.startsWith("onUpdate:"),$e=Object.assign,Ds=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ji=Object.prototype.hasOwnProperty,re=(e,t)=>ji.call(e,t),W=Array.isArray,Ft=e=>zn(e)==="[object Map]",_r=e=>zn(e)==="[object Set]",Z=e=>typeof e=="function",xe=e=>typeof e=="string",Us=e=>typeof e=="symbol",me=e=>e!==null&&typeof e=="object",pr=e=>me(e)&&Z(e.then)&&Z(e.catch),vr=Object.prototype.toString,zn=e=>vr.call(e),Ki=e=>zn(e).slice(8,-1),mr=e=>zn(e)==="[object Object]",zs=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,tn=Fs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),jn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},qi=/-(\w)/g,Je=jn(e=>e.replace(qi,(t,n)=>n?n.toUpperCase():"")),Wi=/\B([A-Z])/g,Yt=jn(e=>e.replace(Wi,"-$1").toLowerCase()),Kn=jn(e=>e.charAt(0).toUpperCase()+e.slice(1)),cs=jn(e=>e?`on${Kn(e)}`:""),cn=(e,t)=>!Object.is(e,t),as=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Gi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Yi=e=>{const t=xe(e)?Number(e):NaN;return isNaN(t)?e:t};let xo;const Qi=()=>xo||(xo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let Ne;class Xi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ne,!t&&Ne&&(this.index=(Ne.scopes||(Ne.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ne;try{return Ne=this,t()}finally{Ne=n}}}on(){Ne=this}off(){Ne=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},br=e=>(e.w&_t)>0,yr=e=>(e.n&_t)>0,el=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=c)&&l.push(u)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":W(e)?zs(n)&&l.push(i.get("length")):(l.push(i.get(Lt)),Ft(e)&&l.push(i.get(xs)));break;case"delete":W(e)||(l.push(i.get(Lt)),Ft(e)&&l.push(i.get(xs)));break;case"set":Ft(e)&&l.push(i.get(Lt));break}if(l.length===1)l[0]&&ws(l[0]);else{const c=[];for(const u of l)u&&c.push(...u);ws(js(c))}}function ws(e,t){const n=W(e)?e:[...e];for(const s of n)s.computed&&$o(s);for(const s of n)s.computed||$o(s)}function $o(e,t){(e!==ze||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const nl=Fs("__proto__,__v_isRef,__isVue"),$r=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Us)),sl=qs(),ol=qs(!1,!0),rl=qs(!0),ko=il();function il(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=le(this);for(let r=0,i=this.length;r{e[t]=function(...n){Qt();const s=le(this)[t].apply(this,n);return Xt(),s}}),e}function ll(e){const t=le(this);return Ae(t,"has",e),t.hasOwnProperty(e)}function qs(e=!1,t=!1){return function(s,o,r){if(o==="__v_isReactive")return!e;if(o==="__v_isReadonly")return e;if(o==="__v_isShallow")return t;if(o==="__v_raw"&&r===(e?t?$l:Tr:t?Sr:Cr).get(s))return s;const i=W(s);if(!e){if(i&&re(ko,o))return Reflect.get(ko,o,r);if(o==="hasOwnProperty")return ll}const l=Reflect.get(s,o,r);return(Us(o)?$r.has(o):nl(o))||(e||Ae(s,"get",o),t)?l:Ce(l)?i&&zs(o)?l:l.value:me(l)?e?Ys(l):Wn(l):l}}const cl=kr(),al=kr(!0);function kr(e=!1){return function(n,s,o,r){let i=n[s];if(qt(i)&&Ce(i)&&!Ce(o))return!1;if(!e&&(!Mn(o)&&!qt(o)&&(i=le(i),o=le(o)),!W(n)&&Ce(i)&&!Ce(o)))return i.value=o,!0;const l=W(n)&&zs(s)?Number(s)e,qn=e=>Reflect.getPrototypeOf(e);function xn(e,t,n=!1,s=!1){e=e.__v_raw;const o=le(e),r=le(t);n||(t!==r&&Ae(o,"get",t),Ae(o,"get",r));const{has:i}=qn(o),l=s?Ws:n?Xs:an;if(i.call(o,t))return l(e.get(t));if(i.call(o,r))return l(e.get(r));e!==o&&e.get(t)}function wn(e,t=!1){const n=this.__v_raw,s=le(n),o=le(e);return t||(e!==o&&Ae(s,"has",e),Ae(s,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function $n(e,t=!1){return e=e.__v_raw,!t&&Ae(le(e),"iterate",Lt),Reflect.get(e,"size",e)}function Po(e){e=le(e);const t=le(this);return qn(t).has.call(t,e)||(t.add(e),st(t,"add",e,e)),this}function Co(e,t){t=le(t);const n=le(this),{has:s,get:o}=qn(n);let r=s.call(n,e);r||(e=le(e),r=s.call(n,e));const i=o.call(n,e);return n.set(e,t),r?cn(t,i)&&st(n,"set",e,t):st(n,"add",e,t),this}function So(e){const t=le(this),{has:n,get:s}=qn(t);let o=n.call(t,e);o||(e=le(e),o=n.call(t,e)),s&&s.call(t,e);const r=t.delete(e);return o&&st(t,"delete",e,void 0),r}function To(){const e=le(this),t=e.size!==0,n=e.clear();return t&&st(e,"clear",void 0,void 0),n}function kn(e,t){return function(s,o){const r=this,i=r.__v_raw,l=le(i),c=t?Ws:e?Xs:an;return!e&&Ae(l,"iterate",Lt),i.forEach((u,d)=>s.call(o,c(u),c(d),r))}}function Pn(e,t,n){return function(...s){const o=this.__v_raw,r=le(o),i=Ft(r),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,u=o[e](...s),d=n?Ws:t?Xs:an;return!t&&Ae(r,"iterate",c?xs:Lt),{next(){const{value:p,done:v}=u.next();return v?{value:p,done:v}:{value:l?[d(p[0]),d(p[1])]:d(p),done:v}},[Symbol.iterator](){return this}}}}function it(e){return function(...t){return e==="delete"?!1:this}}function pl(){const e={get(r){return xn(this,r)},get size(){return $n(this)},has:wn,add:Po,set:Co,delete:So,clear:To,forEach:kn(!1,!1)},t={get(r){return xn(this,r,!1,!0)},get size(){return $n(this)},has:wn,add:Po,set:Co,delete:So,clear:To,forEach:kn(!1,!0)},n={get(r){return xn(this,r,!0)},get size(){return $n(this,!0)},has(r){return wn.call(this,r,!0)},add:it("add"),set:it("set"),delete:it("delete"),clear:it("clear"),forEach:kn(!0,!1)},s={get(r){return xn(this,r,!0,!0)},get size(){return $n(this,!0)},has(r){return wn.call(this,r,!0)},add:it("add"),set:it("set"),delete:it("delete"),clear:it("clear"),forEach:kn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{e[r]=Pn(r,!1,!1),n[r]=Pn(r,!0,!1),t[r]=Pn(r,!1,!0),s[r]=Pn(r,!0,!0)}),[e,n,t,s]}const[vl,ml,gl,bl]=pl();function Gs(e,t){const n=t?e?bl:gl:e?ml:vl;return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(re(n,o)&&o in s?n:s,o,r)}const yl={get:Gs(!1,!1)},xl={get:Gs(!1,!0)},wl={get:Gs(!0,!1)},Cr=new WeakMap,Sr=new WeakMap,Tr=new WeakMap,$l=new WeakMap;function kl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Pl(e){return e.__v_skip||!Object.isExtensible(e)?0:kl(Ki(e))}function Wn(e){return qt(e)?e:Qs(e,!1,Pr,yl,Cr)}function Cl(e){return Qs(e,!1,_l,xl,Sr)}function Ys(e){return Qs(e,!0,hl,wl,Tr)}function Qs(e,t,n,s,o){if(!me(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=o.get(e);if(r)return r;const i=Pl(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return o.set(e,l),l}function Ht(e){return qt(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function qt(e){return!!(e&&e.__v_isReadonly)}function Mn(e){return!!(e&&e.__v_isShallow)}function Lr(e){return Ht(e)||qt(e)}function le(e){const t=e&&e.__v_raw;return t?le(t):e}function nn(e){return An(e,"__v_skip",!0),e}const an=e=>me(e)?Wn(e):e,Xs=e=>me(e)?Ys(e):e;function Vr(e){dt&&ze&&(e=le(e),wr(e.dep||(e.dep=js())))}function Er(e,t){e=le(e);const n=e.dep;n&&ws(n)}function Ce(e){return!!(e&&e.__v_isRef===!0)}function ae(e){return Ar(e,!1)}function Sl(e){return Ar(e,!0)}function Ar(e,t){return Ce(e)?e:new Tl(e,t)}class Tl{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:le(t),this._value=n?t:an(t)}get value(){return Vr(this),this._value}set value(t){const n=this.__v_isShallow||Mn(t)||qt(t);t=n?t:le(t),cn(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:an(t),Er(this))}}function _(e){return Ce(e)?e.value:e}const Ll={get:(e,t,n)=>_(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return Ce(o)&&!Ce(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function Mr(e){return Ht(e)?e:new Proxy(e,Ll)}var Ir;class Vl{constructor(t,n,s,o){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[Ir]=!1,this._dirty=!0,this.effect=new Ks(t,()=>{this._dirty||(this._dirty=!0,Er(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=s}get value(){const t=le(this);return Vr(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}Ir="__v_isReadonly";function El(e,t,n=!1){let s,o;const r=Z(e);return r?(s=e,o=Ke):(s=e.get,o=e.set),new Vl(s,o,r||!o,n)}function ht(e,t,n,s){let o;try{o=s?e(...s):e()}catch(r){Gn(r,t,n)}return o}function Re(e,t,n,s){if(Z(e)){const r=ht(e,t,n,s);return r&&pr(r)&&r.catch(i=>{Gn(i,t,n)}),r}const o=[];for(let r=0;r>>1;fn(Pe[s])Qe&&Pe.splice(t,1)}function Nl(e){W(e)?Rt.push(...e):(!nt||!nt.includes(e,e.allowRecurse?Pt+1:Pt))&&Rt.push(e),Or()}function Lo(e,t=un?Qe+1:0){for(;tfn(n)-fn(s)),Pt=0;Pte.id==null?1/0:e.id,Ol=(e,t)=>{const n=fn(e)-fn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Br(e){$s=!1,un=!0,Pe.sort(Ol);const t=Ke;try{for(Qe=0;Qexe($)?$.trim():$)),p&&(o=n.map(Gi))}let l,c=s[l=cs(t)]||s[l=cs(Je(t))];!c&&r&&(c=s[l=cs(Yt(t))]),c&&Re(c,e,6,o);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Re(u,e,6,o)}}function Fr(e,t,n=!1){const s=t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let i={},l=!1;if(!Z(e)){const c=u=>{const d=Fr(u,t,!0);d&&(l=!0,$e(i,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!r&&!l?(me(e)&&s.set(e,null),null):(W(r)?r.forEach(c=>i[c]=null):$e(i,r),me(e)&&s.set(e,i),i)}function Yn(e,t){return!e||!mn(t)?!1:(t=t.slice(2).replace(/Once$/,""),re(e,t[0].toLowerCase()+t.slice(1))||re(e,Yt(t))||re(e,t))}let Se=null,Qn=null;function Nn(e){const t=Se;return Se=e,Qn=e&&e.type.__scopeId||null,t}function Ze(e){Qn=e}function et(){Qn=null}function A(e,t=Se,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&Ho(-1);const r=Nn(t);let i;try{i=e(...o)}finally{Nn(r),s._d&&Ho(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function us(e){const{type:t,vnode:n,proxy:s,withProxy:o,props:r,propsOptions:[i],slots:l,attrs:c,emit:u,render:d,renderCache:p,data:v,setupState:$,ctx:O,inheritAttrs:I}=e;let Y,b;const L=Nn(e);try{if(n.shapeFlag&4){const Q=o||s;Y=Ue(d.call(Q,Q,p,r,$,v,O)),b=c}else{const Q=t;Y=Ue(Q.length>1?Q(r,{attrs:c,slots:l,emit:u}):Q(r,null)),b=t.props?c:Fl(c)}}catch(Q){on.length=0,Gn(Q,e,1),Y=V(Oe)}let N=Y;if(b&&I!==!1){const Q=Object.keys(b),{shapeFlag:te}=N;Q.length&&te&7&&(i&&Q.some(Rs)&&(b=Hl(b,i)),N=pt(N,b))}return n.dirs&&(N=pt(N),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition&&(N.transition=n.transition),Y=N,Nn(L),Y}const Fl=e=>{let t;for(const n in e)(n==="class"||n==="style"||mn(n))&&((t||(t={}))[n]=e[n]);return t},Hl=(e,t)=>{const n={};for(const s in e)(!Rs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Rl(e,t,n){const{props:s,children:o,component:r}=e,{props:i,children:l,patchFlag:c}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Vo(s,i,u):!!i;if(c&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Hr(e,t){t&&t.pendingBranch?W(e)?t.effects.push(...e):t.effects.push(e):Nl(e)}function Dt(e,t){if(ye){let n=ye.provides;const s=ye.parent&&ye.parent.provides;s===n&&(n=ye.provides=Object.create(s)),n[e]=t}}function qe(e,t,n=!1){const s=ye||Se;if(s){const o=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(o&&e in o)return o[e];if(arguments.length>1)return n&&Z(t)?t.call(s.proxy):t}}function Et(e,t){return Xn(e,null,t)}function Rr(e,t){return Xn(e,null,{flush:"post"})}const Cn={};function Xe(e,t,n){return Xn(e,t,n)}function Xn(e,t,{immediate:n,deep:s,flush:o,onTrack:r,onTrigger:i}=ge){const l=gr()===(ye==null?void 0:ye.scope)?ye:null;let c,u=!1,d=!1;if(Ce(e)?(c=()=>e.value,u=Mn(e)):Ht(e)?(c=()=>e,s=!0):W(e)?(d=!0,u=e.some(N=>Ht(N)||Mn(N)),c=()=>e.map(N=>{if(Ce(N))return N.value;if(Ht(N))return Ot(N);if(Z(N))return ht(N,l,2)})):Z(e)?t?c=()=>ht(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return p&&p(),Re(e,l,3,[v])}:c=Ke,t&&s){const N=c;c=()=>Ot(N())}let p,v=N=>{p=b.onStop=()=>{ht(N,l,4)}},$;if(_n)if(v=Ke,t?n&&Re(t,l,3,[c(),d?[]:void 0,v]):c(),o==="sync"){const N=Ic();$=N.__watcherHandles||(N.__watcherHandles=[])}else return Ke;let O=d?new Array(e.length).fill(Cn):Cn;const I=()=>{if(b.active)if(t){const N=b.run();(s||u||(d?N.some((Q,te)=>cn(Q,O[te])):cn(N,O)))&&(p&&p(),Re(t,l,3,[N,O===Cn?void 0:d&&O[0]===Cn?[]:O,v]),O=N)}else b.run()};I.allowRecurse=!!t;let Y;o==="sync"?Y=I:o==="post"?Y=()=>Ee(I,l&&l.suspense):(I.pre=!0,l&&(I.id=l.uid),Y=()=>eo(I));const b=new Ks(c,Y);t?n?I():O=b.run():o==="post"?Ee(b.run.bind(b),l&&l.suspense):b.run();const L=()=>{b.stop(),l&&l.scope&&Ds(l.scope.effects,b)};return $&&$.push(L),L}function zl(e,t,n){const s=this.proxy,o=xe(e)?e.includes(".")?Dr(s,e):()=>s[e]:e.bind(s,s);let r;Z(t)?r=t:(r=t.handler,n=t);const i=ye;Gt(this);const l=Xn(o,r.bind(s),n);return i?Gt(i):Vt(),l}function Dr(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;o{Ot(n,t)});else if(mr(e))for(const n in e)Ot(e[n],t);return e}function jl(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Be(()=>{e.isMounted=!0}),qr(()=>{e.isUnmounting=!0}),e}const Fe=[Function,Array],Kl={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Fe,onEnter:Fe,onAfterEnter:Fe,onEnterCancelled:Fe,onBeforeLeave:Fe,onLeave:Fe,onAfterLeave:Fe,onLeaveCancelled:Fe,onBeforeAppear:Fe,onAppear:Fe,onAfterAppear:Fe,onAppearCancelled:Fe},setup(e,{slots:t}){const n=ts(),s=jl();let o;return()=>{const r=t.default&&jr(t.default(),!0);if(!r||!r.length)return;let i=r[0];if(r.length>1){for(const I of r)if(I.type!==Oe){i=I;break}}const l=le(e),{mode:c}=l;if(s.isLeaving)return fs(i);const u=Eo(i);if(!u)return fs(i);const d=ks(u,l,s,n);Ps(u,d);const p=n.subTree,v=p&&Eo(p);let $=!1;const{getTransitionKey:O}=u.type;if(O){const I=O();o===void 0?o=I:I!==o&&(o=I,$=!0)}if(v&&v.type!==Oe&&(!Ct(u,v)||$)){const I=ks(v,l,s,n);if(Ps(v,I),c==="out-in")return s.isLeaving=!0,I.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},fs(i);c==="in-out"&&u.type!==Oe&&(I.delayLeave=(Y,b,L)=>{const N=zr(s,v);N[String(v.key)]=v,Y._leaveCb=()=>{b(),Y._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=L})}return i}}},Ur=Kl;function zr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function ks(e,t,n,s){const{appear:o,mode:r,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:p,onLeave:v,onAfterLeave:$,onLeaveCancelled:O,onBeforeAppear:I,onAppear:Y,onAfterAppear:b,onAppearCancelled:L}=t,N=String(e.key),Q=zr(n,e),te=(M,ee)=>{M&&Re(M,s,9,ee)},he=(M,ee)=>{const X=ee[1];te(M,ee),W(M)?M.every(ie=>ie.length<=1)&&X():M.length<=1&&X()},oe={mode:r,persisted:i,beforeEnter(M){let ee=l;if(!n.isMounted)if(o)ee=I||l;else return;M._leaveCb&&M._leaveCb(!0);const X=Q[N];X&&Ct(e,X)&&X.el._leaveCb&&X.el._leaveCb(),te(ee,[M])},enter(M){let ee=c,X=u,ie=d;if(!n.isMounted)if(o)ee=Y||c,X=b||u,ie=L||d;else return;let B=!1;const ne=M._enterCb=U=>{B||(B=!0,U?te(ie,[M]):te(X,[M]),oe.delayedLeave&&oe.delayedLeave(),M._enterCb=void 0)};ee?he(ee,[M,ne]):ne()},leave(M,ee){const X=String(e.key);if(M._enterCb&&M._enterCb(!0),n.isUnmounting)return ee();te(p,[M]);let ie=!1;const B=M._leaveCb=ne=>{ie||(ie=!0,ee(),ne?te(O,[M]):te($,[M]),M._leaveCb=void 0,Q[X]===e&&delete Q[X])};Q[X]=e,v?he(v,[M,B]):B()},clone(M){return ks(M,t,n,s)}};return oe}function fs(e){if(Jn(e))return e=pt(e),e.children=null,e}function Eo(e){return Jn(e)?e.children?e.children[0]:void 0:e}function Ps(e,t){e.shapeFlag&6&&e.component?Ps(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function jr(e,t=!1,n){let s=[],o=0;for(let r=0;r1)for(let r=0;r!!e.type.__asyncLoader,Jn=e=>e.type.__isKeepAlive;function ql(e,t){Kr(e,"a",t)}function Wl(e,t){Kr(e,"da",t)}function Kr(e,t,n=ye){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Zn(t,s,n),n){let o=n.parent;for(;o&&o.parent;)Jn(o.parent.vnode)&&Gl(s,t,n,o),o=o.parent}}function Gl(e,t,n,s){const o=Zn(t,e,s,!0);vt(()=>{Ds(s[t],o)},n)}function Zn(e,t,n=ye,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Qt(),Gt(n);const l=Re(t,n,e,i);return Vt(),Xt(),l});return s?o.unshift(r):o.push(r),r}}const ot=e=>(t,n=ye)=>(!_n||e==="sp")&&Zn(e,(...s)=>t(...s),n),Yl=ot("bm"),Be=ot("m"),Ql=ot("bu"),to=ot("u"),qr=ot("bum"),vt=ot("um"),Xl=ot("sp"),Jl=ot("rtg"),Zl=ot("rtc");function ec(e,t=ye){Zn("ec",e,t)}function Ye(e,t,n,s){const o=e.dirs,r=t&&t.dirs;for(let i=0;it(i,l,void 0,r&&r[l]));else{const i=Object.keys(e);o=new Array(i.length);for(let l=0,c=i.length;lFn(t)?!(t.type===Oe||t.type===J&&!Yr(t.children)):!0)?e:null}const Cs=e=>e?ii(e)?io(e)||e.proxy:Cs(e.parent):null,sn=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Cs(e.parent),$root:e=>Cs(e.root),$emit:e=>e.emit,$options:e=>so(e),$forceUpdate:e=>e.f||(e.f=()=>eo(e.update)),$nextTick:e=>e.n||(e.n=Zs.bind(e.proxy)),$watch:e=>zl.bind(e)}),ds=(e,t)=>e!==ge&&!e.__isScriptSetup&&re(e,t),tc={get({_:e},t){const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const $=i[t];if($!==void 0)switch($){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(ds(s,t))return i[t]=1,s[t];if(o!==ge&&re(o,t))return i[t]=2,o[t];if((u=e.propsOptions[0])&&re(u,t))return i[t]=3,r[t];if(n!==ge&&re(n,t))return i[t]=4,n[t];Ss&&(i[t]=0)}}const d=sn[t];let p,v;if(d)return t==="$attrs"&&Ae(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==ge&&re(n,t))return i[t]=4,n[t];if(v=c.config.globalProperties,re(v,t))return v[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return ds(o,t)?(o[t]=n,!0):s!==ge&&re(s,t)?(s[t]=n,!0):re(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,propsOptions:r}},i){let l;return!!n[i]||e!==ge&&re(e,i)||ds(t,i)||(l=r[0])&&re(l,i)||re(s,i)||re(sn,i)||re(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:re(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Ss=!0;function nc(e){const t=so(e),n=e.proxy,s=e.ctx;Ss=!1,t.beforeCreate&&Mo(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:l,provide:c,inject:u,created:d,beforeMount:p,mounted:v,beforeUpdate:$,updated:O,activated:I,deactivated:Y,beforeDestroy:b,beforeUnmount:L,destroyed:N,unmounted:Q,render:te,renderTracked:he,renderTriggered:oe,errorCaptured:M,serverPrefetch:ee,expose:X,inheritAttrs:ie,components:B,directives:ne,filters:U}=t;if(u&&sc(u,s,null,e.appContext.config.unwrapInjectedRef),i)for(const be in i){const _e=i[be];Z(_e)&&(s[be]=_e.bind(n))}if(o){const be=o.call(n,n);me(be)&&(e.data=Wn(be))}if(Ss=!0,r)for(const be in r){const _e=r[be],bt=Z(_e)?_e.bind(n,n):Z(_e.get)?_e.get.bind(n,n):Ke,bn=!Z(_e)&&Z(_e.set)?_e.set.bind(n):Ke,yt=K({get:bt,set:bn});Object.defineProperty(s,be,{enumerable:!0,configurable:!0,get:()=>yt.value,set:We=>yt.value=We})}if(l)for(const be in l)Qr(l[be],s,n,be);if(c){const be=Z(c)?c.call(n):c;Reflect.ownKeys(be).forEach(_e=>{Dt(_e,be[_e])})}d&&Mo(d,e,"c");function fe(be,_e){W(_e)?_e.forEach(bt=>be(bt.bind(n))):_e&&be(_e.bind(n))}if(fe(Yl,p),fe(Be,v),fe(Ql,$),fe(to,O),fe(ql,I),fe(Wl,Y),fe(ec,M),fe(Zl,he),fe(Jl,oe),fe(qr,L),fe(vt,Q),fe(Xl,ee),W(X))if(X.length){const be=e.exposed||(e.exposed={});X.forEach(_e=>{Object.defineProperty(be,_e,{get:()=>n[_e],set:bt=>n[_e]=bt})})}else e.exposed||(e.exposed={});te&&e.render===Ke&&(e.render=te),ie!=null&&(e.inheritAttrs=ie),B&&(e.components=B),ne&&(e.directives=ne)}function sc(e,t,n=Ke,s=!1){W(e)&&(e=Ts(e));for(const o in e){const r=e[o];let i;me(r)?"default"in r?i=qe(r.from||o,r.default,!0):i=qe(r.from||o):i=qe(r),Ce(i)&&s?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[o]=i}}function Mo(e,t,n){Re(W(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Qr(e,t,n,s){const o=s.includes(".")?Dr(n,s):()=>n[s];if(xe(e)){const r=t[e];Z(r)&&Xe(o,r)}else if(Z(e))Xe(o,e.bind(n));else if(me(e))if(W(e))e.forEach(r=>Qr(r,t,n,s));else{const r=Z(e.handler)?e.handler.bind(n):t[e.handler];Z(r)&&Xe(o,r,e)}}function so(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,l=r.get(t);let c;return l?c=l:!o.length&&!n&&!s?c=t:(c={},o.length&&o.forEach(u=>On(c,u,i,!0)),On(c,t,i)),me(t)&&r.set(t,c),c}function On(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&On(e,r,n,!0),o&&o.forEach(i=>On(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=oc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const oc={data:Io,props:kt,emits:kt,methods:kt,computed:kt,beforeCreate:Le,created:Le,beforeMount:Le,mounted:Le,beforeUpdate:Le,updated:Le,beforeDestroy:Le,beforeUnmount:Le,destroyed:Le,unmounted:Le,activated:Le,deactivated:Le,errorCaptured:Le,serverPrefetch:Le,components:kt,directives:kt,watch:ic,provide:Io,inject:rc};function Io(e,t){return t?e?function(){return $e(Z(e)?e.call(this,this):e,Z(t)?t.call(this,this):t)}:t:e}function rc(e,t){return kt(Ts(e),Ts(t))}function Ts(e){if(W(e)){const t={};for(let n=0;n0)&&!(i&16)){if(i&8){const d=e.vnode.dynamicProps;for(let p=0;p{c=!0;const[v,$]=Jr(p,t,!0);$e(i,v),$&&l.push(...$)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!r&&!c)return me(e)&&s.set(e,Bt),Bt;if(W(r))for(let d=0;d-1,$[1]=I<0||O-1||re($,"default"))&&l.push(p)}}}const u=[i,l];return me(e)&&s.set(e,u),u}function No(e){return e[0]!=="$"}function Oo(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Bo(e,t){return Oo(e)===Oo(t)}function Fo(e,t){return W(t)?t.findIndex(n=>Bo(n,e)):Z(t)&&Bo(t,e)?0:-1}const Zr=e=>e[0]==="_"||e==="$stable",oo=e=>W(e)?e.map(Ue):[Ue(e)],ac=(e,t,n)=>{if(t._n)return t;const s=A((...o)=>oo(t(...o)),n);return s._c=!1,s},ei=(e,t,n)=>{const s=e._ctx;for(const o in e){if(Zr(o))continue;const r=e[o];if(Z(r))t[o]=ac(o,r,s);else if(r!=null){const i=oo(r);t[o]=()=>i}}},ti=(e,t)=>{const n=oo(t);e.slots.default=()=>n},uc=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=le(t),An(t,"_",n)):ei(t,e.slots={})}else e.slots={},t&&ti(e,t);An(e.slots,es,1)},fc=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,i=ge;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:($e(o,t),!n&&l===1&&delete o._):(r=!t.$stable,ei(t,o)),i=t}else t&&(ti(e,t),i={default:1});if(r)for(const l in o)!Zr(l)&&!(l in i)&&delete o[l]};function ni(){return{app:null,config:{isNativeTag:Ui,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let dc=0;function hc(e,t){return function(s,o=null){Z(s)||(s=Object.assign({},s)),o!=null&&!me(o)&&(o=null);const r=ni(),i=new Set;let l=!1;const c=r.app={_uid:dc++,_component:s,_props:o,_container:null,_context:r,_instance:null,version:Nc,get config(){return r.config},set config(u){},use(u,...d){return i.has(u)||(u&&Z(u.install)?(i.add(u),u.install(c,...d)):Z(u)&&(i.add(u),u(c,...d))),c},mixin(u){return r.mixins.includes(u)||r.mixins.push(u),c},component(u,d){return d?(r.components[u]=d,c):r.components[u]},directive(u,d){return d?(r.directives[u]=d,c):r.directives[u]},mount(u,d,p){if(!l){const v=V(s,o);return v.appContext=r,d&&t?t(v,u):e(v,u,p),l=!0,c._container=u,u.__vue_app__=c,io(v.component)||v.component.proxy}},unmount(){l&&(e(null,c._container),delete c._container.__vue_app__)},provide(u,d){return r.provides[u]=d,c}};return c}}function Bn(e,t,n,s,o=!1){if(W(e)){e.forEach((v,$)=>Bn(v,t&&(W(t)?t[$]:t),n,s,o));return}if(Ut(s)&&!o)return;const r=s.shapeFlag&4?io(s.component)||s.component.proxy:s.el,i=o?null:r,{i:l,r:c}=e,u=t&&t.r,d=l.refs===ge?l.refs={}:l.refs,p=l.setupState;if(u!=null&&u!==c&&(xe(u)?(d[u]=null,re(p,u)&&(p[u]=null)):Ce(u)&&(u.value=null)),Z(c))ht(c,l,12,[i,d]);else{const v=xe(c),$=Ce(c);if(v||$){const O=()=>{if(e.f){const I=v?re(p,c)?p[c]:d[c]:c.value;o?W(I)&&Ds(I,r):W(I)?I.includes(r)||I.push(r):v?(d[c]=[r],re(p,c)&&(p[c]=d[c])):(c.value=[r],e.k&&(d[e.k]=c.value))}else v?(d[c]=i,re(p,c)&&(p[c]=i)):$&&(c.value=i,e.k&&(d[e.k]=i))};i?(O.id=-1,Ee(O,n)):O()}}}let lt=!1;const Sn=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Tn=e=>e.nodeType===8;function _c(e){const{mt:t,p:n,o:{patchProp:s,createText:o,nextSibling:r,parentNode:i,remove:l,insert:c,createComment:u}}=e,d=(b,L)=>{if(!L.hasChildNodes()){n(null,b,L),In(),L._vnode=b;return}lt=!1,p(L.firstChild,b,null,null,null),In(),L._vnode=b,lt&&console.error("Hydration completed but contains mismatches.")},p=(b,L,N,Q,te,he=!1)=>{const oe=Tn(b)&&b.data==="[",M=()=>I(b,L,N,Q,te,oe),{type:ee,ref:X,shapeFlag:ie,patchFlag:B}=L;let ne=b.nodeType;L.el=b,B===-2&&(he=!1,L.dynamicChildren=null);let U=null;switch(ee){case Wt:ne!==3?L.children===""?(c(L.el=o(""),i(b),b),U=b):U=M():(b.data!==L.children&&(lt=!0,b.data=L.children),U=r(b));break;case Oe:ne!==8||oe?U=M():U=r(b);break;case zt:if(oe&&(b=r(b),ne=b.nodeType),ne===1||ne===3){U=b;const Me=!L.children.length;for(let fe=0;fe{he=he||!!L.dynamicChildren;const{type:oe,props:M,patchFlag:ee,shapeFlag:X,dirs:ie}=L,B=oe==="input"&&ie||oe==="option";if(B||ee!==-1){if(ie&&Ye(L,null,N,"created"),M)if(B||!he||ee&48)for(const U in M)(B&&U.endsWith("value")||mn(U)&&!tn(U))&&s(b,U,null,M[U],!1,void 0,N);else M.onClick&&s(b,"onClick",null,M.onClick,!1,void 0,N);let ne;if((ne=M&&M.onVnodeBeforeMount)&&He(ne,N,L),ie&&Ye(L,null,N,"beforeMount"),((ne=M&&M.onVnodeMounted)||ie)&&Hr(()=>{ne&&He(ne,N,L),ie&&Ye(L,null,N,"mounted")},Q),X&16&&!(M&&(M.innerHTML||M.textContent))){let U=$(b.firstChild,L,b,N,Q,te,he);for(;U;){lt=!0;const Me=U;U=U.nextSibling,l(Me)}}else X&8&&b.textContent!==L.children&&(lt=!0,b.textContent=L.children)}return b.nextSibling},$=(b,L,N,Q,te,he,oe)=>{oe=oe||!!L.dynamicChildren;const M=L.children,ee=M.length;for(let X=0;X{const{slotScopeIds:oe}=L;oe&&(te=te?te.concat(oe):oe);const M=i(b),ee=$(r(b),L,M,N,Q,te,he);return ee&&Tn(ee)&&ee.data==="]"?r(L.anchor=ee):(lt=!0,c(L.anchor=u("]"),M,ee),ee)},I=(b,L,N,Q,te,he)=>{if(lt=!0,L.el=null,he){const ee=Y(b);for(;;){const X=r(b);if(X&&X!==ee)l(X);else break}}const oe=r(b),M=i(b);return l(b),n(null,L,M,oe,N,Q,Sn(M),te),oe},Y=b=>{let L=0;for(;b;)if(b=r(b),b&&Tn(b)&&(b.data==="["&&L++,b.data==="]")){if(L===0)return r(b);L--}return b};return[d,p]}const Ee=Hr;function pc(e){return vc(e,_c)}function vc(e,t){const n=Qi();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:l,createComment:c,setText:u,setElementText:d,parentNode:p,nextSibling:v,setScopeId:$=Ke,insertStaticContent:O}=e,I=(a,f,m,w=null,x=null,C=null,E=!1,P=null,T=!!f.dynamicChildren)=>{if(a===f)return;a&&!Ct(a,f)&&(w=yn(a),We(a,x,C,!0),a=null),f.patchFlag===-2&&(T=!1,f.dynamicChildren=null);const{type:k,ref:z,shapeFlag:F}=f;switch(k){case Wt:Y(a,f,m,w);break;case Oe:b(a,f,m,w);break;case zt:a==null&&L(f,m,w,E);break;case J:B(a,f,m,w,x,C,E,P,T);break;default:F&1?te(a,f,m,w,x,C,E,P,T):F&6?ne(a,f,m,w,x,C,E,P,T):(F&64||F&128)&&k.process(a,f,m,w,x,C,E,P,T,It)}z!=null&&x&&Bn(z,a&&a.ref,C,f||a,!f)},Y=(a,f,m,w)=>{if(a==null)s(f.el=l(f.children),m,w);else{const x=f.el=a.el;f.children!==a.children&&u(x,f.children)}},b=(a,f,m,w)=>{a==null?s(f.el=c(f.children||""),m,w):f.el=a.el},L=(a,f,m,w)=>{[a.el,a.anchor]=O(a.children,f,m,w,a.el,a.anchor)},N=({el:a,anchor:f},m,w)=>{let x;for(;a&&a!==f;)x=v(a),s(a,m,w),a=x;s(f,m,w)},Q=({el:a,anchor:f})=>{let m;for(;a&&a!==f;)m=v(a),o(a),a=m;o(f)},te=(a,f,m,w,x,C,E,P,T)=>{E=E||f.type==="svg",a==null?he(f,m,w,x,C,E,P,T):ee(a,f,x,C,E,P,T)},he=(a,f,m,w,x,C,E,P)=>{let T,k;const{type:z,props:F,shapeFlag:j,transition:G,dirs:se}=a;if(T=a.el=i(a.type,C,F&&F.is,F),j&8?d(T,a.children):j&16&&M(a.children,T,null,w,x,C&&z!=="foreignObject",E,P),se&&Ye(a,null,w,"created"),oe(T,a,a.scopeId,E,w),F){for(const de in F)de!=="value"&&!tn(de)&&r(T,de,null,F[de],C,a.children,w,x,tt);"value"in F&&r(T,"value",null,F.value),(k=F.onVnodeBeforeMount)&&He(k,w,a)}se&&Ye(a,null,w,"beforeMount");const pe=(!x||x&&!x.pendingBranch)&&G&&!G.persisted;pe&&G.beforeEnter(T),s(T,f,m),((k=F&&F.onVnodeMounted)||pe||se)&&Ee(()=>{k&&He(k,w,a),pe&&G.enter(T),se&&Ye(a,null,w,"mounted")},x)},oe=(a,f,m,w,x)=>{if(m&&$(a,m),w)for(let C=0;C{for(let k=T;k{const P=f.el=a.el;let{patchFlag:T,dynamicChildren:k,dirs:z}=f;T|=a.patchFlag&16;const F=a.props||ge,j=f.props||ge;let G;m&&xt(m,!1),(G=j.onVnodeBeforeUpdate)&&He(G,m,f,a),z&&Ye(f,a,m,"beforeUpdate"),m&&xt(m,!0);const se=x&&f.type!=="foreignObject";if(k?X(a.dynamicChildren,k,P,m,w,se,C):E||_e(a,f,P,null,m,w,se,C,!1),T>0){if(T&16)ie(P,f,F,j,m,w,x);else if(T&2&&F.class!==j.class&&r(P,"class",null,j.class,x),T&4&&r(P,"style",F.style,j.style,x),T&8){const pe=f.dynamicProps;for(let de=0;de{G&&He(G,m,f,a),z&&Ye(f,a,m,"updated")},w)},X=(a,f,m,w,x,C,E)=>{for(let P=0;P{if(m!==w){if(m!==ge)for(const P in m)!tn(P)&&!(P in w)&&r(a,P,m[P],null,E,f.children,x,C,tt);for(const P in w){if(tn(P))continue;const T=w[P],k=m[P];T!==k&&P!=="value"&&r(a,P,k,T,E,f.children,x,C,tt)}"value"in w&&r(a,"value",m.value,w.value)}},B=(a,f,m,w,x,C,E,P,T)=>{const k=f.el=a?a.el:l(""),z=f.anchor=a?a.anchor:l("");let{patchFlag:F,dynamicChildren:j,slotScopeIds:G}=f;G&&(P=P?P.concat(G):G),a==null?(s(k,m,w),s(z,m,w),M(f.children,m,z,x,C,E,P,T)):F>0&&F&64&&j&&a.dynamicChildren?(X(a.dynamicChildren,j,m,x,C,E,P),(f.key!=null||x&&f===x.subTree)&&si(a,f,!0)):_e(a,f,m,z,x,C,E,P,T)},ne=(a,f,m,w,x,C,E,P,T)=>{f.slotScopeIds=P,a==null?f.shapeFlag&512?x.ctx.activate(f,m,w,E,T):U(f,m,w,x,C,E,T):Me(a,f,T)},U=(a,f,m,w,x,C,E)=>{const P=a.component=Pc(a,w,x);if(Jn(a)&&(P.ctx.renderer=It),Cc(P),P.asyncDep){if(x&&x.registerDep(P,fe),!a.el){const T=P.subTree=V(Oe);b(null,T,f,m)}return}fe(P,a,f,m,x,C,E)},Me=(a,f,m)=>{const w=f.component=a.component;if(Rl(a,f,m))if(w.asyncDep&&!w.asyncResolved){be(w,f,m);return}else w.next=f,Il(w.update),w.update();else f.el=a.el,w.vnode=f},fe=(a,f,m,w,x,C,E)=>{const P=()=>{if(a.isMounted){let{next:z,bu:F,u:j,parent:G,vnode:se}=a,pe=z,de;xt(a,!1),z?(z.el=se.el,be(a,z,E)):z=se,F&&as(F),(de=z.props&&z.props.onVnodeBeforeUpdate)&&He(de,G,z,se),xt(a,!0);const we=us(a),De=a.subTree;a.subTree=we,I(De,we,p(De.el),yn(De),a,x,C),z.el=we.el,pe===null&&Dl(a,we.el),j&&Ee(j,x),(de=z.props&&z.props.onVnodeUpdated)&&Ee(()=>He(de,G,z,se),x)}else{let z;const{el:F,props:j}=f,{bm:G,m:se,parent:pe}=a,de=Ut(f);if(xt(a,!1),G&&as(G),!de&&(z=j&&j.onVnodeBeforeMount)&&He(z,pe,f),xt(a,!0),F&&ls){const we=()=>{a.subTree=us(a),ls(F,a.subTree,a,x,null)};de?f.type.__asyncLoader().then(()=>!a.isUnmounted&&we()):we()}else{const we=a.subTree=us(a);I(null,we,m,w,a,x,C),f.el=we.el}if(se&&Ee(se,x),!de&&(z=j&&j.onVnodeMounted)){const we=f;Ee(()=>He(z,pe,we),x)}(f.shapeFlag&256||pe&&Ut(pe.vnode)&&pe.vnode.shapeFlag&256)&&a.a&&Ee(a.a,x),a.isMounted=!0,f=m=w=null}},T=a.effect=new Ks(P,()=>eo(k),a.scope),k=a.update=()=>T.run();k.id=a.uid,xt(a,!0),k()},be=(a,f,m)=>{f.component=a;const w=a.vnode.props;a.vnode=f,a.next=null,cc(a,f.props,w,m),fc(a,f.children,m),Qt(),Lo(),Xt()},_e=(a,f,m,w,x,C,E,P,T=!1)=>{const k=a&&a.children,z=a?a.shapeFlag:0,F=f.children,{patchFlag:j,shapeFlag:G}=f;if(j>0){if(j&128){bn(k,F,m,w,x,C,E,P,T);return}else if(j&256){bt(k,F,m,w,x,C,E,P,T);return}}G&8?(z&16&&tt(k,x,C),F!==k&&d(m,F)):z&16?G&16?bn(k,F,m,w,x,C,E,P,T):tt(k,x,C,!0):(z&8&&d(m,""),G&16&&M(F,m,w,x,C,E,P,T))},bt=(a,f,m,w,x,C,E,P,T)=>{a=a||Bt,f=f||Bt;const k=a.length,z=f.length,F=Math.min(k,z);let j;for(j=0;jz?tt(a,x,C,!0,!1,F):M(f,m,w,x,C,E,P,T,F)},bn=(a,f,m,w,x,C,E,P,T)=>{let k=0;const z=f.length;let F=a.length-1,j=z-1;for(;k<=F&&k<=j;){const G=a[k],se=f[k]=T?ut(f[k]):Ue(f[k]);if(Ct(G,se))I(G,se,m,null,x,C,E,P,T);else break;k++}for(;k<=F&&k<=j;){const G=a[F],se=f[j]=T?ut(f[j]):Ue(f[j]);if(Ct(G,se))I(G,se,m,null,x,C,E,P,T);else break;F--,j--}if(k>F){if(k<=j){const G=j+1,se=Gj)for(;k<=F;)We(a[k],x,C,!0),k++;else{const G=k,se=k,pe=new Map;for(k=se;k<=j;k++){const Ie=f[k]=T?ut(f[k]):Ue(f[k]);Ie.key!=null&&pe.set(Ie.key,k)}let de,we=0;const De=j-se+1;let Nt=!1,go=0;const Jt=new Array(De);for(k=0;k=De){We(Ie,x,C,!0);continue}let Ge;if(Ie.key!=null)Ge=pe.get(Ie.key);else for(de=se;de<=j;de++)if(Jt[de-se]===0&&Ct(Ie,f[de])){Ge=de;break}Ge===void 0?We(Ie,x,C,!0):(Jt[Ge-se]=k+1,Ge>=go?go=Ge:Nt=!0,I(Ie,f[Ge],m,null,x,C,E,P,T),we++)}const bo=Nt?mc(Jt):Bt;for(de=bo.length-1,k=De-1;k>=0;k--){const Ie=se+k,Ge=f[Ie],yo=Ie+1{const{el:C,type:E,transition:P,children:T,shapeFlag:k}=a;if(k&6){yt(a.component.subTree,f,m,w);return}if(k&128){a.suspense.move(f,m,w);return}if(k&64){E.move(a,f,m,It);return}if(E===J){s(C,f,m);for(let F=0;FP.enter(C),x);else{const{leave:F,delayLeave:j,afterLeave:G}=P,se=()=>s(C,f,m),pe=()=>{F(C,()=>{se(),G&&G()})};j?j(C,se,pe):pe()}else s(C,f,m)},We=(a,f,m,w=!1,x=!1)=>{const{type:C,props:E,ref:P,children:T,dynamicChildren:k,shapeFlag:z,patchFlag:F,dirs:j}=a;if(P!=null&&Bn(P,null,m,a,!0),z&256){f.ctx.deactivate(a);return}const G=z&1&&j,se=!Ut(a);let pe;if(se&&(pe=E&&E.onVnodeBeforeUnmount)&&He(pe,f,a),z&6)Ni(a.component,m,w);else{if(z&128){a.suspense.unmount(m,w);return}G&&Ye(a,null,f,"beforeUnmount"),z&64?a.type.remove(a,f,m,x,It,w):k&&(C!==J||F>0&&F&64)?tt(k,f,m,!1,!0):(C===J&&F&384||!x&&z&16)&&tt(T,f,m),w&&vo(a)}(se&&(pe=E&&E.onVnodeUnmounted)||G)&&Ee(()=>{pe&&He(pe,f,a),G&&Ye(a,null,f,"unmounted")},m)},vo=a=>{const{type:f,el:m,anchor:w,transition:x}=a;if(f===J){Ii(m,w);return}if(f===zt){Q(a);return}const C=()=>{o(m),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(a.shapeFlag&1&&x&&!x.persisted){const{leave:E,delayLeave:P}=x,T=()=>E(m,C);P?P(a.el,C,T):T()}else C()},Ii=(a,f)=>{let m;for(;a!==f;)m=v(a),o(a),a=m;o(f)},Ni=(a,f,m)=>{const{bum:w,scope:x,update:C,subTree:E,um:P}=a;w&&as(w),x.stop(),C&&(C.active=!1,We(E,a,f,m)),P&&Ee(P,f),Ee(()=>{a.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},tt=(a,f,m,w=!1,x=!1,C=0)=>{for(let E=C;Ea.shapeFlag&6?yn(a.component.subTree):a.shapeFlag&128?a.suspense.next():v(a.anchor||a.el),mo=(a,f,m)=>{a==null?f._vnode&&We(f._vnode,null,null,!0):I(f._vnode||null,a,f,null,null,null,m),Lo(),In(),f._vnode=a},It={p:I,um:We,m:yt,r:vo,mt:U,mc:M,pc:_e,pbc:X,n:yn,o:e};let is,ls;return t&&([is,ls]=t(It)),{render:mo,hydrate:is,createApp:hc(mo,is)}}function xt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function si(e,t,n=!1){const s=e.children,o=t.children;if(W(s)&&W(o))for(let r=0;r>1,e[n[l]]0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}const gc=e=>e.__isTeleport,J=Symbol(void 0),Wt=Symbol(void 0),Oe=Symbol(void 0),zt=Symbol(void 0),on=[];let je=null;function h(e=!1){on.push(je=e?null:[])}function bc(){on.pop(),je=on[on.length-1]||null}let hn=1;function Ho(e){hn+=e}function oi(e){return e.dynamicChildren=hn>0?je||Bt:null,bc(),hn>0&&je&&je.push(e),e}function g(e,t,n,s,o,r){return oi(y(e,t,n,s,o,r,!0))}function q(e,t,n,s,o){return oi(V(e,t,n,s,o,!0))}function Fn(e){return e?e.__v_isVNode===!0:!1}function Ct(e,t){return e.type===t.type&&e.key===t.key}const es="__vInternal",ri=({key:e})=>e??null,Vn=({ref:e,ref_key:t,ref_for:n})=>e!=null?xe(e)||Ce(e)||Z(e)?{i:Se,r:e,k:t,f:!!n}:e:null;function y(e,t=null,n=null,s=0,o=null,r=e===J?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ri(t),ref:t&&Vn(t),scopeId:Qn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Se};return l?(ro(c,n),r&128&&e.normalize(c)):n&&(c.shapeFlag|=xe(n)?8:16),hn>0&&!i&&je&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&je.push(c),c}const V=yc;function yc(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===Wr)&&(e=Oe),Fn(e)){const l=pt(e,t,!0);return n&&ro(l,n),hn>0&&!r&&je&&(l.shapeFlag&6?je[je.indexOf(e)]=l:je.push(l)),l.patchFlag|=-2,l}if(Vc(e)&&(e=e.__vccOpts),t){t=xc(t);let{class:l,style:c}=t;l&&!xe(l)&&(t.class=ve(l)),me(c)&&(Lr(c)&&!W(c)&&(c=$e({},c)),t.style=Hs(c))}const i=xe(e)?1:Ul(e)?128:gc(e)?64:me(e)?4:Z(e)?2:0;return y(e,t,n,s,o,i,r,!0)}function xc(e){return e?Lr(e)||es in e?$e({},e):e:null}function pt(e,t,n=!1){const{props:s,ref:o,patchFlag:r,children:i}=e,l=t?En(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&ri(l),ref:t&&t.ref?n&&o?W(o)?o.concat(Vn(t)):[o,Vn(t)]:Vn(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==J?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&pt(e.ssContent),ssFallback:e.ssFallback&&pt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Te(e=" ",t=0){return V(Wt,null,e,t)}function wc(e,t){const n=V(zt,null,e);return n.staticCount=t,n}function D(e="",t=!1){return t?(h(),q(Oe,null,e)):V(Oe,null,e)}function Ue(e){return e==null||typeof e=="boolean"?V(Oe):W(e)?V(J,null,e.slice()):typeof e=="object"?ut(e):V(Wt,null,String(e))}function ut(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:pt(e)}function ro(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(W(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),ro(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!(es in t)?t._ctx=Se:o===3&&Se&&(Se.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Z(t)?(t={default:t,_ctx:Se},n=32):(t=String(t),s&64?(n=16,t=[Te(t)]):n=8);e.children=t,e.shapeFlag|=n}function En(...e){const t={};for(let n=0;nye||Se,Gt=e=>{ye=e,e.scope.on()},Vt=()=>{ye&&ye.scope.off(),ye=null};function ii(e){return e.vnode.shapeFlag&4}let _n=!1;function Cc(e,t=!1){_n=t;const{props:n,children:s}=e.vnode,o=ii(e);lc(e,n,o,t),uc(e,s);const r=o?Sc(e,t):void 0;return _n=!1,r}function Sc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=nn(new Proxy(e.ctx,tc));const{setup:s}=n;if(s){const o=e.setupContext=s.length>1?ci(e):null;Gt(e),Qt();const r=ht(s,e,0,[e.props,o]);if(Xt(),Vt(),pr(r)){if(r.then(Vt,Vt),t)return r.then(i=>{Ro(e,i,t)}).catch(i=>{Gn(i,e,0)});e.asyncDep=r}else Ro(e,r,t)}else li(e,t)}function Ro(e,t,n){Z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:me(t)&&(e.setupState=Mr(t)),li(e,n)}let Do;function li(e,t,n){const s=e.type;if(!e.render){if(!t&&Do&&!s.render){const o=s.template||so(e).template;if(o){const{isCustomElement:r,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,u=$e($e({isCustomElement:r,delimiters:l},i),c);s.render=Do(o,u)}}e.render=s.render||Ke}Gt(e),Qt(),nc(e),Xt(),Vt()}function Tc(e){return new Proxy(e.attrs,{get(t,n){return Ae(e,"get","$attrs"),t[n]}})}function ci(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Tc(e))},slots:e.slots,emit:e.emit,expose:t}}function io(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Mr(nn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in sn)return sn[n](e)},has(t,n){return n in t||n in sn}}))}function Lc(e,t=!0){return Z(e)?e.displayName||e.name:e.name||t&&e.__name}function Vc(e){return Z(e)&&"__vccOpts"in e}const K=(e,t)=>El(e,t,_n);function Ec(){return Ac().slots}function Ac(){const e=ts();return e.setupContext||(e.setupContext=ci(e))}function Hn(e,t,n){const s=arguments.length;return s===2?me(t)&&!W(t)?Fn(t)?V(e,null,[t]):V(e,t):V(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Fn(n)&&(n=[n]),V(e,t,n))}const Mc=Symbol(""),Ic=()=>qe(Mc),Nc="3.2.47",Oc="http://www.w3.org/2000/svg",St=typeof document<"u"?document:null,Uo=St&&St.createElement("template"),Bc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t?St.createElementNS(Oc,e):St.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>St.createTextNode(e),createComment:e=>St.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>St.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,r){const i=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{Uo.innerHTML=s?`${e}`:e;const l=Uo.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Fc(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Hc(e,t,n){const s=e.style,o=xe(n);if(n&&!o){if(t&&!xe(t))for(const r in t)n[r]==null&&Vs(s,r,"");for(const r in n)Vs(s,r,n[r])}else{const r=s.display;o?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=r)}}const zo=/\s*!important$/;function Vs(e,t,n){if(W(n))n.forEach(s=>Vs(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Rc(e,t);zo.test(n)?e.setProperty(Yt(s),n.replace(zo,""),"important"):e[s]=n}}const jo=["Webkit","Moz","ms"],hs={};function Rc(e,t){const n=hs[t];if(n)return n;let s=Je(t);if(s!=="filter"&&s in e)return hs[t]=s;s=Kn(s);for(let o=0;o_s||(Wc.then(()=>_s=0),_s=Date.now());function Yc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Re(Qc(s,n.value),t,5,[s])};return n.value=e,n.attached=Gc(),n}function Qc(e,t){if(W(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const Wo=/^on[a-z]/,Xc=(e,t,n,s,o=!1,r,i,l,c)=>{t==="class"?Fc(e,s,o):t==="style"?Hc(e,n,s):mn(t)?Rs(t)||Kc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Jc(e,t,s,o))?Uc(e,t,s,r,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Dc(e,t,s,o))};function Jc(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Wo.test(t)&&Z(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Wo.test(t)&&xe(n)?!1:t in e}function Zc(e){const t=ts();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(r=>As(r,o))},s=()=>{const o=e(t.proxy);Es(t.subTree,o),n(o)};Rr(s),Be(()=>{const o=new MutationObserver(s);o.observe(t.subTree.el.parentNode,{childList:!0}),vt(()=>o.disconnect())})}function Es(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Es(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)As(e.el,t);else if(e.type===J)e.children.forEach(n=>Es(n,t));else if(e.type===zt){let{el:n,anchor:s}=e;for(;n&&(As(n,t),n!==s);)n=n.nextSibling}}function As(e,t){if(e.nodeType===1){const n=e.style;for(const s in t)n.setProperty(`--${s}`,t[s])}}const ct="transition",Zt="animation",ns=(e,{slots:t})=>Hn(Ur,ea(e),t);ns.displayName="Transition";const ai={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ns.props=$e({},Ur.props,ai);const wt=(e,t=[])=>{W(e)?e.forEach(n=>n(...t)):e&&e(...t)},Go=e=>e?W(e)?e.some(t=>t.length>1):e.length>1:!1;function ea(e){const t={};for(const B in e)B in ai||(t[B]=e[B]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=r,appearActiveClass:u=i,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:$=`${n}-leave-to`}=e,O=ta(o),I=O&&O[0],Y=O&&O[1],{onBeforeEnter:b,onEnter:L,onEnterCancelled:N,onLeave:Q,onLeaveCancelled:te,onBeforeAppear:he=b,onAppear:oe=L,onAppearCancelled:M=N}=t,ee=(B,ne,U)=>{$t(B,ne?d:l),$t(B,ne?u:i),U&&U()},X=(B,ne)=>{B._isLeaving=!1,$t(B,p),$t(B,$),$t(B,v),ne&&ne()},ie=B=>(ne,U)=>{const Me=B?oe:L,fe=()=>ee(ne,B,U);wt(Me,[ne,fe]),Yo(()=>{$t(ne,B?c:r),at(ne,B?d:l),Go(Me)||Qo(ne,s,I,fe)})};return $e(t,{onBeforeEnter(B){wt(b,[B]),at(B,r),at(B,i)},onBeforeAppear(B){wt(he,[B]),at(B,c),at(B,u)},onEnter:ie(!1),onAppear:ie(!0),onLeave(B,ne){B._isLeaving=!0;const U=()=>X(B,ne);at(B,p),oa(),at(B,v),Yo(()=>{B._isLeaving&&($t(B,p),at(B,$),Go(Q)||Qo(B,s,Y,U))}),wt(Q,[B,U])},onEnterCancelled(B){ee(B,!1),wt(N,[B])},onAppearCancelled(B){ee(B,!0),wt(M,[B])},onLeaveCancelled(B){X(B),wt(te,[B])}})}function ta(e){if(e==null)return null;if(me(e))return[ps(e.enter),ps(e.leave)];{const t=ps(e);return[t,t]}}function ps(e){return Yi(e)}function at(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function $t(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Yo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let na=0;function Qo(e,t,n,s){const o=e._endId=++na,r=()=>{o===e._endId&&s()};if(n)return setTimeout(r,n);const{type:i,timeout:l,propCount:c}=sa(e,t);if(!i)return s();const u=i+"end";let d=0;const p=()=>{e.removeEventListener(u,v),r()},v=$=>{$.target===e&&++d>=c&&p()};setTimeout(()=>{d(n[O]||"").split(", "),o=s(`${ct}Delay`),r=s(`${ct}Duration`),i=Xo(o,r),l=s(`${Zt}Delay`),c=s(`${Zt}Duration`),u=Xo(l,c);let d=null,p=0,v=0;t===ct?i>0&&(d=ct,p=i,v=r.length):t===Zt?u>0&&(d=Zt,p=u,v=c.length):(p=Math.max(i,u),d=p>0?i>u?ct:Zt:null,v=d?d===ct?r.length:c.length:0);const $=d===ct&&/\b(transform|all)(,|$)/.test(s(`${ct}Property`).toString());return{type:d,timeout:p,propCount:v,hasTransform:$}}function Xo(e,t){for(;e.lengthJo(n)+Jo(e[s])))}function Jo(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function oa(){return document.body.offsetHeight}const ra=["ctrl","shift","alt","meta"],ia={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ra.some(n=>e[`${n}Key`]&&!t.includes(n))},la=(e,t)=>(n,...s)=>{for(let o=0;o{const t=aa().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=fa(s);if(o)return n(o,!0,o instanceof SVGElement)},t};function fa(e){return xe(e)?document.querySelector(e):e}const H=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},da="modulepreload",ha=function(e){return"/"+e},er={},_a=function(t,n,s){if(!n||n.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(n.map(r=>{if(r=ha(r),r in er)return;er[r]=!0;const i=r.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(!!s)for(let d=o.length-1;d>=0;d--){const p=o[d];if(p.href===r&&(!i||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${l}`))return;const u=document.createElement("link");if(u.rel=i?"stylesheet":da,i||(u.as="script",u.crossOrigin=""),u.href=r,document.head.appendChild(u),i)return new Promise((d,p)=>{u.addEventListener("load",d),u.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())};const pa=R({__name:"VPBadge",props:{text:null,type:null},setup(e){return(t,n)=>(h(),g("span",{class:ve(["VPBadge",e.type??"tip"])},[S(t.$slots,"default",{},()=>[Te(ce(e.text),1)],!0)],2))}});const va=H(pa,[["__scopeId","data-v-350d3852"]]),ma=JSON.parse('{"lang":"zh-CN","dir":"ltr","title":"Flandre.Docs","description":"Flandre 项目官方文档","base":"/","head":[],"appearance":true,"themeConfig":{"lastUpdatedText":"最近更新","nav":[{"text":"指南","link":"/guide/"},{"text":"生态","link":"/ecosystem/"}],"sidebar":{"/guide/":[{"text":"概述","link":"/guide/"},{"text":"快速上手","items":[{"text":"从模板创建项目","link":"/guide/start/setup.md"}]},{"text":"基础交互","items":[{"text":"事件 (Event)","link":"/guide/basic/event.md"},{"text":"中间件 (Middleware)","link":"/guide/basic/middleware.md"}]},{"text":"指令系统","items":[{"text":"认识指令","link":"/guide/command/basic.md"}]}],"/ecosystem/":[{"text":"概述","link":"/ecosystem/"},{"text":"适配器","items":[{"text":"OneBot 适配器","link":"/ecosystem/adapters/onebot.md"},{"text":"Konata 适配器","link":"/ecosystem/adapters/konata.md"}]}]},"footer":{"message":"所有文档均采用 CC-BY-NC-SA 4.0 许可协议","copyright":"Copyright © 2022-2023 FlandreDevs"}},"locales":{},"scrollOffset":90,"cleanUrls":false}'),ss=/^[a-z]+:/i,ga=/^pathname:\/\//,tr="vitepress-theme-appearance",ui=/#.*$/,ba=/(index)?\.(md|html)$/,ke=typeof document<"u",fi={relativePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0};function Mt(e,t,n=!1){if(t===void 0)return!1;if(e=nr(`/${e}`),n)return new RegExp(t).test(e);if(nr(t)!==e)return!1;const s=t.match(ui);return s?(ke?location.hash:"")===s[0]:!0}function nr(e){return decodeURI(e).replace(ui,"").replace(ba,"")}function di(e){return ss.test(e)}function ya(e,t){var s,o,r,i,l,c,u;const n=Object.keys(e.locales).find(d=>d!=="root"&&!di(d)&&Mt(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((o=e.locales[n])==null?void 0:o.dir)??e.dir,title:((r=e.locales[n])==null?void 0:r.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:_i(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function hi(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const o=xa(e.title,s);return`${n}${o}`}function xa(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function wa(e,t){const[n,s]=t;if(n!=="meta")return!1;const o=Object.entries(s)[0];return o==null?!1:e.some(([r,i])=>r===n&&i[o[0]]===o[1])}function _i(e,t){return[...e.filter(n=>!wa(t,n)),...t]}const $a=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,ka=/^[a-z]:/i;function sr(e){const t=ka.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace($a,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const pi=Symbol(),ft=Sl(ma);function Pa(e){const t=K(()=>ya(ft.value,e.data.relativePath));return{site:t,theme:K(()=>t.value.themeConfig),page:K(()=>e.data),frontmatter:K(()=>e.data.frontmatter),lang:K(()=>t.value.lang),dir:K(()=>t.value.dir),localeIndex:K(()=>t.value.localeIndex||"root"),title:K(()=>hi(t.value,e.data)),description:K(()=>e.data.description||t.value.description),isDark:ae(!1)}}function vi(){const e=qe(pi);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Ca(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function pn(e){return ss.test(e)||e.startsWith(".")?e:Ca(ft.value.base,e)}function mi(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),ke){const n="/";t=sr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),t=`${n}assets/${t}.${s}.js`}else t=`./${sr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}const gi=Symbol(),or="http://a.com",Sa=()=>({path:"/",component:null,data:fi});function Ta(e,t){const n=Wn(Sa()),s={route:n,go:o};async function o(l=ke?location.href:"/"){var u,d;await((u=s.onBeforeRouteChange)==null?void 0:u.call(s,l));const c=new URL(l,or);ft.value.cleanUrls||!c.pathname.endsWith("/")&&!c.pathname.endsWith(".html")&&(c.pathname+=".html",l=c.pathname+c.search+c.hash),ke&&l!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l)),await i(l),await((d=s.onAfterRouteChanged)==null?void 0:d.call(s,l))}let r=null;async function i(l,c=0,u=!1){const d=new URL(l,or),p=r=d.pathname;try{let v=await e(p);if(r===p){r=null;const{default:$,__pageData:O}=v;if(!$)throw new Error(`Invalid route component: ${$}`);n.path=ke?p:pn(p),n.component=nn($),n.data=nn(O),ke&&Zs(()=>{let I=ft.value.base+O.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ft.value.cleanUrls&&!I.endsWith("/")&&(I+=".html"),I!==d.pathname&&(d.pathname=I,l=I+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let Y=null;try{Y=document.querySelector(decodeURIComponent(d.hash))}catch(b){console.warn(b)}if(Y){rr(Y,d.hash);return}}window.scrollTo(0,c)})}}catch(v){if(!/fetch/.test(v.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(v),!u)try{const $=await fetch(ft.value.base+"hashmap.json");window.__VP_HASH_MAP__=await $.json(),await i(l,c,!0);return}catch{}r===p&&(r=null,n.path=ke?p:pn(p),n.component=t?nn(t):null,n.data=fi)}}return ke&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const u=l.target.closest("a");if(u&&!u.closest(".vp-raw")&&(u instanceof SVGElement||!u.download)){const{target:d}=u,{href:p,origin:v,pathname:$,hash:O,search:I}=new URL(u.href instanceof SVGAnimatedString?u.href.animVal:u.href,u.baseURI),Y=window.location,b=$.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&d!=="_blank"&&v===Y.origin&&!(b&&b[0]!==".html")&&(l.preventDefault(),$===Y.pathname&&I===Y.search?O&&O!==Y.hash&&(history.pushState(null,"",O),window.dispatchEvent(new Event("hashchange")),rr(u,O,u.classList.contains("header-anchor"))):o(p))}},{capture:!0}),window.addEventListener("popstate",l=>{i(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function La(){const e=qe(gi);if(!e)throw new Error("useRouter() is called without provider.");return e}function mt(){return La().route}function rr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(o){console.warn(o)}if(s){let o=ft.value.scrollOffset;typeof o=="string"&&(o=document.querySelector(o).getBoundingClientRect().bottom+24);const r=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-o+r;!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})}}const Va=R({name:"VitePressContent",props:{onContentUpdated:Function},setup(e){const t=mt();return to(()=>{var n;(n=e.onContentUpdated)==null||n.call(e)}),()=>Hn("div",{style:{position:"relative"}},[t.component?Hn(t.component):null])}}),ue=vi;var ir;const bi=typeof window<"u",Ea=e=>typeof e=="string",Aa=()=>{};bi&&((ir=window==null?void 0:window.navigator)!=null&&ir.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function yi(e){return typeof e=="function"?e():_(e)}function Ma(e){return e}function xi(e){return gr()?(Zi(e),!0):!1}function Ia(e){return typeof e=="function"?K(e):ae(e)}function Na(e,t=!0){ts()?Be(e):t?e():Zs(e)}function Oa(e){var t;const n=yi(e);return(t=n==null?void 0:n.$el)!=null?t:n}const lo=bi?window:void 0;function Ba(...e){let t,n,s,o;if(Ea(e[0])||Array.isArray(e[0])?([n,s,o]=e,t=lo):[t,n,s,o]=e,!t)return Aa;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const r=[],i=()=>{r.forEach(d=>d()),r.length=0},l=(d,p,v,$)=>(d.addEventListener(p,v,$),()=>d.removeEventListener(p,v,$)),c=Xe(()=>[Oa(t),yi(o)],([d,p])=>{i(),d&&r.push(...n.flatMap(v=>s.map($=>l(d,v,$,p))))},{immediate:!0,flush:"post"}),u=()=>{c(),i()};return xi(u),u}function Fa(e,t=!1){const n=ae(),s=()=>n.value=Boolean(e());return s(),Na(s,t),n}function Ms(e,t={}){const{window:n=lo}=t,s=Fa(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const r=ae(!1),i=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",l):o.removeListener(l))},l=()=>{s.value&&(i(),o=n.matchMedia(Ia(e).value),r.value=o.matches,"addEventListener"in o?o.addEventListener("change",l):o.addListener(l))};return Et(l),xi(()=>i()),r}const Is=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ns="__vueuse_ssr_handlers__";Is[Ns]=Is[Ns]||{};Is[Ns];var lr;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(lr||(lr={}));var Ha=Object.defineProperty,cr=Object.getOwnPropertySymbols,Ra=Object.prototype.hasOwnProperty,Da=Object.prototype.propertyIsEnumerable,ar=(e,t,n)=>t in e?Ha(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ua=(e,t)=>{for(var n in t||(t={}))Ra.call(t,n)&&ar(e,n,t[n]);if(cr)for(var n of cr(t))Da.call(t,n)&&ar(e,n,t[n]);return e};const za={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};Ua({linear:Ma},za);function ja({window:e=lo}={}){if(!e)return{x:ae(0),y:ae(0)};const t=ae(e.scrollX),n=ae(e.scrollY);return Ba(e,"scroll",()=>{t.value=e.scrollX,n.value=e.scrollY},{capture:!1,passive:!0}),{x:t,y:n}}function Ka(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function Os(e){return/^\//.test(e)?e:`/${e}`}function vn(e){if(di(e))return e.replace(ga,"");const{site:t}=ue(),{pathname:n,search:s,hash:o}=new URL(e,"http://example.com"),r=n.endsWith("/")||n.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${n.replace(/(\.md)?$/,t.value.cleanUrls?"":".html")}${s}${o}`);return pn(r)}function wi(e,t){if(Array.isArray(e))return e;if(e==null)return[];t=Os(t);const n=Object.keys(e).sort((s,o)=>o.split("/").length-s.split("/").length).find(s=>t.startsWith(Os(s)));return n?e[n]:[]}function qa(e){const t=[];let n=0;for(const s in e){const o=e[s];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function Wa(e){const t=[];function n(s){for(const o of s)o.text&&o.link&&t.push({text:o.text,link:o.link}),o.items&&n(o.items)}return n(e),t}function Bs(e,t){return Array.isArray(t)?t.some(n=>Bs(e,n)):Mt(e,t.link)?!0:t.items?Bs(e,t.items):!1}function rt(){const e=mt(),{theme:t,frontmatter:n}=ue(),s=Ms("(min-width: 960px)"),o=ae(!1),r=K(()=>{const $=t.value.sidebar,O=e.data.relativePath;return $?wi($,O):[]}),i=K(()=>n.value.sidebar!==!1&&r.value.length>0&&n.value.layout!=="home"),l=K(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),c=K(()=>i.value&&s.value),u=K(()=>i.value?qa(r.value):[]);function d(){o.value=!0}function p(){o.value=!1}function v(){o.value?p():d()}return{isOpen:o,sidebar:r,sidebarGroups:u,hasSidebar:i,hasAside:l,isSidebarEnabled:c,open:d,close:p,toggle:v}}function Ga(e,t){let n;Et(()=>{n=e.value?document.activeElement:void 0}),Be(()=>{window.addEventListener("keyup",s)}),vt(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function Ya(e){const{page:t}=ue(),n=ae(!1),s=K(()=>e.value.collapsed!=null),o=K(()=>!!e.value.link),r=K(()=>Mt(t.value.relativePath,e.value.link)),i=K(()=>r.value?!0:e.value.items?Bs(t.value.relativePath,e.value.items):!1),l=K(()=>!!(e.value.items&&e.value.items.length));Et(()=>{n.value=!!(s.value&&e.value.collapsed)}),Et(()=>{(r.value||i.value)&&(n.value=!1)});function c(){s.value&&(n.value=!n.value)}return{collapsed:n,collapsible:s,isLink:o,isActiveLink:r,hasActiveLink:i,hasChildren:l,toggle:c}}const Qa=R({__name:"VPSkipLink",setup(e){const t=mt(),n=ae();Xe(()=>t.path,()=>n.value.focus());function s({target:o}){const r=document.querySelector(o.hash);if(r){const i=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",i)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",i),r.focus(),window.scrollTo(0,0)}}return(o,r)=>(h(),g(J,null,[y("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),y("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}});const Xa=H(Qa,[["__scopeId","data-v-151f2593"]]),Ja={key:0,class:"VPBackdrop"},Za=R({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(h(),q(ns,{name:"fade"},{default:A(()=>[e.show?(h(),g("div",Ja)):D("",!0)]),_:1}))}});const eu=H(Za,[["__scopeId","data-v-c79a1216"]]);function tu(){const e=ae(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const r=mt();return Xe(()=>r.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}function gn({removeCurrent:e=!0,correspondingLink:t=!1}={}){const{site:n,localeIndex:s,page:o,theme:r}=ue(),i=K(()=>{var c,u;return{label:(c=n.value.locales[s.value])==null?void 0:c.label,link:((u=n.value.locales[s.value])==null?void 0:u.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:K(()=>Object.entries(n.value.locales).flatMap(([c,u])=>e&&i.value.label===u.label?[]:{text:u.label,link:nu(u.link||(c==="root"?"/":`/${c}/`),r.value.i18nRouting!==!1&&t,o.value.relativePath.slice(i.value.link.length-1),!n.value.cleanUrls)})),currentLang:i}}function nu(e,t,n,s){return t?e.replace(/\/$/,"")+Os(n.replace(/(^|\/)?index.md$/,"$1").replace(/\.md$/,s?".html":"")):e}const su=["src","alt"],ou={inheritAttrs:!1},ru=R({...ou,__name:"VPImage",props:{image:null,alt:null},setup(e){return(t,n)=>{const s=At("VPImage",!0);return e.image?(h(),g(J,{key:0},[typeof e.image=="string"||"src"in e.image?(h(),g("img",En({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:_(pn)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,su)):(h(),g(J,{key:1},[V(s,En({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),V(s,En({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):D("",!0)}}});const co=H(ru,[["__scopeId","data-v-6db2186b"]]),iu=["href"],lu=R({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=ue(),{hasSidebar:s}=rt(),{currentLang:o}=gn();return(r,i)=>(h(),g("div",{class:ve(["VPNavBarTitle",{"has-sidebar":_(s)}])},[y("a",{class:"title",href:_(vn)(_(o).link)},[S(r.$slots,"nav-bar-title-before",{},void 0,!0),_(n).logo?(h(),q(co,{key:0,class:"logo",image:_(n).logo},null,8,["image"])):D("",!0),_(n).siteTitle?(h(),g(J,{key:1},[Te(ce(_(n).siteTitle),1)],64)):_(n).siteTitle===void 0?(h(),g(J,{key:2},[Te(ce(_(t).title),1)],64)):D("",!0),S(r.$slots,"nav-bar-title-after",{},void 0,!0)],8,iu)],2))}});const cu=H(lu,[["__scopeId","data-v-6d2fb2d9"]]);const au={key:0,class:"VPNavBarSearch"},uu={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},fu={class:"DocSearch-Button-Container"},du=y("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},[y("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),hu={class:"DocSearch-Button-Placeholder"},_u=y("span",{class:"DocSearch-Button-Keys"},[y("kbd",{class:"DocSearch-Button-Key"}),y("kbd",{class:"DocSearch-Button-Key"},"K")],-1),pu=R({__name:"VPNavBarSearch",setup(e){Zc(d=>({"636b0e38":r.value}));const t=()=>null,{theme:n,localeIndex:s}=ue(),o=ae(!1),r=ae("'Meta'"),i=K(()=>{var d,p,v,$,O,I,Y,b;return((O=($=(v=(p=(d=n.value.algolia)==null?void 0:d.locales)==null?void 0:p[s.value])==null?void 0:v.translations)==null?void 0:$.button)==null?void 0:O.buttonText)||((b=(Y=(I=n.value.algolia)==null?void 0:I.translations)==null?void 0:Y.button)==null?void 0:b.buttonText)||"Search"}),l=()=>{const d="VPAlgoliaPreconnect";(window.requestIdleCallback||setTimeout)(()=>{const v=document.createElement("link");v.id=d,v.rel="preconnect",v.href=`https://${n.value.algolia.appId}-dsn.algolia.net`,v.crossOrigin="",document.head.appendChild(v)})};Be(()=>{if(!n.value.algolia)return;l(),r.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'⌘'":"'Ctrl'";const d=v=>{v.key==="k"&&(v.ctrlKey||v.metaKey)&&(v.preventDefault(),c(),p())},p=()=>{window.removeEventListener("keydown",d)};window.addEventListener("keydown",d),vt(p)});function c(){o.value||(o.value=!0,setTimeout(u,16))}function u(){const d=new Event("keydown");d.key="k",d.metaKey=!0,window.dispatchEvent(d),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||u()},16)}return(d,p)=>_(n).algolia?(h(),g("div",au,[o.value?(h(),q(_(t),{key:0,algolia:_(n).algolia},null,8,["algolia"])):(h(),g("div",{key:1,id:"docsearch",onClick:c},[y("button",uu,[y("span",fu,[du,y("span",hu,ce(_(i)),1)]),_u])]))])):D("",!0)}});const vu={},mu={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"},gu=y("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),bu=y("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1),yu=[gu,bu];function xu(e,t){return h(),g("svg",mu,yu)}const wu=H(vu,[["render",xu]]),$u=R({__name:"VPLink",props:{tag:null,href:null,noIcon:{type:Boolean},target:null,rel:null},setup(e){const t=e,n=K(()=>t.tag??t.href?"a":"span"),s=K(()=>t.href&&ss.test(t.href));return(o,r)=>(h(),q(dn(_(n)),{class:ve(["VPLink",{link:e.href}]),href:e.href?_(vn)(e.href):void 0,target:e.target||(_(s)?"_blank":void 0),rel:e.rel||(_(s)?"noreferrer":void 0)},{default:A(()=>[S(o.$slots,"default",{},void 0,!0),_(s)&&!e.noIcon?(h(),q(wu,{key:0,class:"icon"})):D("",!0)]),_:3},8,["class","href","target","rel"]))}});const gt=H($u,[["__scopeId","data-v-a8b5c975"]]),ku=R({__name:"VPNavBarMenuLink",props:{item:null},setup(e){const{page:t}=ue();return(n,s)=>(h(),q(gt,{class:ve({VPNavBarMenuLink:!0,active:_(Mt)(_(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:A(()=>[Te(ce(e.item.text),1)]),_:1},8,["class","href","target","rel"]))}});const Pu=H(ku,[["__scopeId","data-v-f2ec7ecf"]]),ao=ae();let $i=!1,ms=0;function Cu(e){const t=ae(!1);if(ke){!$i&&Su(),ms++;const n=Xe(ao,s=>{var o,r,i;s===e.el.value||(o=e.el.value)!=null&&o.contains(s)?(t.value=!0,(r=e.onFocus)==null||r.call(e)):(t.value=!1,(i=e.onBlur)==null||i.call(e))});vt(()=>{n(),ms--,ms||Tu()})}return Ys(t)}function Su(){document.addEventListener("focusin",ki),$i=!0,ao.value=document.activeElement}function Tu(){document.removeEventListener("focusin",ki)}function ki(){ao.value=document.activeElement}const Lu={},Vu={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Eu=y("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),Au=[Eu];function Mu(e,t){return h(),g("svg",Vu,Au)}const Pi=H(Lu,[["render",Mu]]),Iu={},Nu={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ou=y("circle",{cx:"12",cy:"12",r:"2"},null,-1),Bu=y("circle",{cx:"19",cy:"12",r:"2"},null,-1),Fu=y("circle",{cx:"5",cy:"12",r:"2"},null,-1),Hu=[Ou,Bu,Fu];function Ru(e,t){return h(),g("svg",Nu,Hu)}const Du=H(Iu,[["render",Ru]]),Uu={class:"VPMenuLink"},zu=R({__name:"VPMenuLink",props:{item:null},setup(e){const{page:t}=ue();return(n,s)=>(h(),g("div",Uu,[V(gt,{class:ve({active:_(Mt)(_(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:A(()=>[Te(ce(e.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const os=H(zu,[["__scopeId","data-v-88f937c6"]]),ju={class:"VPMenuGroup"},Ku={key:0,class:"title"},qu=R({__name:"VPMenuGroup",props:{text:null,items:null},setup(e){return(t,n)=>(h(),g("div",ju,[e.text?(h(),g("p",Ku,ce(e.text),1)):D("",!0),(h(!0),g(J,null,Ve(e.items,s=>(h(),g(J,null,["link"in s?(h(),q(os,{key:0,item:s},null,8,["item"])):D("",!0)],64))),256))]))}});const Wu=H(qu,[["__scopeId","data-v-b66affaf"]]),Gu={class:"VPMenu"},Yu={key:0,class:"items"},Qu=R({__name:"VPMenu",props:{items:null},setup(e){return(t,n)=>(h(),g("div",Gu,[e.items?(h(),g("div",Yu,[(h(!0),g(J,null,Ve(e.items,s=>(h(),g(J,{key:s.text},["link"in s?(h(),q(os,{key:0,item:s},null,8,["item"])):(h(),q(Wu,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):D("",!0),S(t.$slots,"default",{},void 0,!0)]))}});const Xu=H(Qu,[["__scopeId","data-v-e7ea1737"]]),Ju=["aria-expanded","aria-label"],Zu={key:0,class:"text"},ef={class:"menu"},tf=R({__name:"VPFlyout",props:{icon:null,button:null,label:null,items:null},setup(e){const t=ae(!1),n=ae();Cu({el:n,onBlur:s});function s(){t.value=!1}return(o,r)=>(h(),g("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:r[1]||(r[1]=i=>t.value=!0),onMouseleave:r[2]||(r[2]=i=>t.value=!1)},[y("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:r[0]||(r[0]=i=>t.value=!t.value)},[e.button||e.icon?(h(),g("span",Zu,[e.icon?(h(),q(dn(e.icon),{key:0,class:"option-icon"})):D("",!0),Te(" "+ce(e.button)+" ",1),V(Pi,{class:"text-icon"})])):(h(),q(Du,{key:1,class:"icon"}))],8,Ju),y("div",ef,[V(Xu,{items:e.items},{default:A(()=>[S(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const uo=H(tf,[["__scopeId","data-v-96001b6b"]]),nf=R({__name:"VPNavBarMenuGroup",props:{item:null},setup(e){const{page:t}=ue();return(n,s)=>(h(),q(uo,{class:ve({VPNavBarMenuGroup:!0,active:_(Mt)(_(t).relativePath,e.item.activeMatch,!!e.item.activeMatch)}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),sf=e=>(Ze("data-v-bdedfc22"),e=e(),et(),e),of={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},rf=sf(()=>y("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),lf=R({__name:"VPNavBarMenu",setup(e){const{theme:t}=ue();return(n,s)=>_(t).nav?(h(),g("nav",of,[rf,(h(!0),g(J,null,Ve(_(t).nav,o=>(h(),g(J,{key:o.text},["link"in o?(h(),q(Pu,{key:0,item:o},null,8,["item"])):(h(),q(nf,{key:1,item:o},null,8,["item"]))],64))),128))])):D("",!0)}});const cf=H(lf,[["__scopeId","data-v-bdedfc22"]]),af={},uf={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ff=y("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),df=y("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),hf=[ff,df];function _f(e,t){return h(),g("svg",uf,hf)}const Ci=H(af,[["render",_f]]),pf={class:"items"},vf={class:"title"},mf=R({__name:"VPNavBarTranslations",setup(e){const{localeLinks:t,currentLang:n}=gn({correspondingLink:!0});return(s,o)=>_(t).length&&_(n).label?(h(),q(uo,{key:0,class:"VPNavBarTranslations",icon:Ci},{default:A(()=>[y("div",pf,[y("p",vf,ce(_(n).label),1),(h(!0),g(J,null,Ve(_(t),r=>(h(),q(os,{key:r.link,item:r},null,8,["item"]))),128))])]),_:1})):D("",!0)}});const gf=H(mf,[["__scopeId","data-v-fdaf79b7"]]);const bf={},yf={class:"VPSwitch",type:"button",role:"switch"},xf={class:"check"},wf={key:0,class:"icon"};function $f(e,t){return h(),g("button",yf,[y("span",xf,[e.$slots.default?(h(),g("span",wf,[S(e.$slots,"default",{},void 0,!0)])):D("",!0)])])}const kf=H(bf,[["render",$f],["__scopeId","data-v-f3c41672"]]),Pf={},Cf={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Sf=wc('',9),Tf=[Sf];function Lf(e,t){return h(),g("svg",Cf,Tf)}const Vf=H(Pf,[["render",Lf]]),Ef={},Af={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Mf=y("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),If=[Mf];function Nf(e,t){return h(),g("svg",Af,If)}const Of=H(Ef,[["render",Nf]]),Bf=R({__name:"VPSwitchAppearance",setup(e){const{site:t,isDark:n}=ue(),s=ae(!1),o=typeof localStorage<"u"?r():()=>{};Be(()=>{s.value=document.documentElement.classList.contains("dark")});function r(){const i=window.matchMedia("(prefers-color-scheme: dark)"),l=document.documentElement.classList;let c=localStorage.getItem(tr),u=t.value.appearance==="dark"&&c==null||(c==="auto"||c==null?i.matches:c==="dark");i.onchange=v=>{c==="auto"&&p(u=v.matches)};function d(){p(u=!u),c=u?i.matches?"auto":"dark":i.matches?"light":"auto",localStorage.setItem(tr,c)}function p(v){const $=document.createElement("style");$.type="text/css",$.appendChild(document.createTextNode(`:not(.VPSwitchAppearance):not(.VPSwitchAppearance *) { - -webkit-transition: none !important; - -moz-transition: none !important; - -o-transition: none !important; - -ms-transition: none !important; - transition: none !important; -}`)),document.head.appendChild($),s.value=v,l[v?"add":"remove"]("dark"),window.getComputedStyle($).opacity,document.head.removeChild($)}return d}return Xe(s,i=>{n.value=i}),(i,l)=>(h(),q(kf,{class:"VPSwitchAppearance","aria-label":"toggle dark mode","aria-checked":s.value,onClick:_(o)},{default:A(()=>[V(Vf,{class:"sun"}),V(Of,{class:"moon"})]),_:1},8,["aria-checked","onClick"]))}});const fo=H(Bf,[["__scopeId","data-v-0d529b6d"]]),Ff={key:0,class:"VPNavBarAppearance"},Hf=R({__name:"VPNavBarAppearance",setup(e){const{site:t}=ue();return(n,s)=>_(t).appearance?(h(),g("div",Ff,[V(fo)])):D("",!0)}});const Rf=H(Hf,[["__scopeId","data-v-da3f667a"]]),Df={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},Uf=["href","innerHTML"],zf=R({__name:"VPSocialLink",props:{icon:null,link:null},setup(e){const t=e,n=K(()=>typeof t.icon=="object"?t.icon.svg:Df[t.icon]);return(s,o)=>(h(),g("a",{class:"VPSocialLink",href:e.link,target:"_blank",rel:"noopener",innerHTML:_(n)},null,8,Uf))}});const jf=H(zf,[["__scopeId","data-v-e57698f6"]]),Kf={class:"VPSocialLinks"},qf=R({__name:"VPSocialLinks",props:{links:null},setup(e){return(t,n)=>(h(),g("div",Kf,[(h(!0),g(J,null,Ve(e.links,({link:s,icon:o})=>(h(),q(jf,{key:s,icon:o,link:s},null,8,["icon","link"]))),128))]))}});const ho=H(qf,[["__scopeId","data-v-f6988cfb"]]),Wf=R({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=ue();return(n,s)=>_(t).socialLinks?(h(),q(ho,{key:0,class:"VPNavBarSocialLinks",links:_(t).socialLinks},null,8,["links"])):D("",!0)}});const Gf=H(Wf,[["__scopeId","data-v-2ab2a029"]]),Yf={key:0,class:"group translations"},Qf={class:"trans-title"},Xf={key:1,class:"group"},Jf={class:"item appearance"},Zf={class:"label"},ed={class:"appearance-action"},td={key:2,class:"group"},nd={class:"item social-links"},sd=R({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=ue(),{localeLinks:s,currentLang:o}=gn({correspondingLink:!0}),r=K(()=>s.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(i,l)=>_(r)?(h(),q(uo,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:A(()=>[_(s).length&&_(o).label?(h(),g("div",Yf,[y("p",Qf,ce(_(o).label),1),(h(!0),g(J,null,Ve(_(s),c=>(h(),q(os,{key:c.link,item:c},null,8,["item"]))),128))])):D("",!0),_(t).appearance?(h(),g("div",Xf,[y("div",Jf,[y("p",Zf,ce(_(n).darkModeSwitchLabel||"Appearance"),1),y("div",ed,[V(fo)])])])):D("",!0),_(n).socialLinks?(h(),g("div",td,[y("div",nd,[V(ho,{class:"social-links-list",links:_(n).socialLinks},null,8,["links"])])])):D("",!0)]),_:1})):D("",!0)}});const od=H(sd,[["__scopeId","data-v-66bb1f24"]]),rd=e=>(Ze("data-v-e5dd9c1c"),e=e(),et(),e),id=["aria-expanded"],ld=rd(()=>y("span",{class:"container"},[y("span",{class:"top"}),y("span",{class:"middle"}),y("span",{class:"bottom"})],-1)),cd=[ld],ad=R({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(h(),g("button",{type:"button",class:ve(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},cd,10,id))}});const ud=H(ad,[["__scopeId","data-v-e5dd9c1c"]]),fd=e=>(Ze("data-v-be450ad9"),e=e(),et(),e),dd={class:"container"},hd={class:"title"},_d={class:"content"},pd=fd(()=>y("div",{class:"curtain"},null,-1)),vd={class:"content-body"},md=R({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const{y:t}=ja(),{hasSidebar:n}=rt(),s=K(()=>({"has-sidebar":n.value,fill:t.value>0}));return(o,r)=>(h(),g("div",{class:ve(["VPNavBar",_(s)])},[y("div",dd,[y("div",hd,[V(cu,null,{"nav-bar-title-before":A(()=>[S(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":A(()=>[S(o.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),y("div",_d,[pd,y("div",vd,[S(o.$slots,"nav-bar-content-before",{},void 0,!0),V(pu,{class:"search"}),V(cf,{class:"menu"}),V(gf,{class:"translations"}),V(Rf,{class:"appearance"}),V(Gf,{class:"social-links"}),V(od,{class:"extra"}),S(o.$slots,"nav-bar-content-after",{},void 0,!0),V(ud,{class:"hamburger",active:e.isScreenOpen,onClick:r[0]||(r[0]=i=>o.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const gd=H(md,[["__scopeId","data-v-be450ad9"]]);function bd(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1),jt=[],Dn=!1,po=-1,rn=void 0,Tt=void 0,ln=void 0,Si=function(t){return jt.some(function(n){return!!(n.options.allowTouchMove&&n.options.allowTouchMove(t))})},Un=function(t){var n=t||window.event;return Si(n.target)||n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)},yd=function(t){if(ln===void 0){var n=!!t&&t.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(n&&s>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);ln=document.body.style.paddingRight,document.body.style.paddingRight=o+s+"px"}}rn===void 0&&(rn=document.body.style.overflow,document.body.style.overflow="hidden")},xd=function(){ln!==void 0&&(document.body.style.paddingRight=ln,ln=void 0),rn!==void 0&&(document.body.style.overflow=rn,rn=void 0)},wd=function(){return window.requestAnimationFrame(function(){if(Tt===void 0){Tt={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,n=t.scrollY,s=t.scrollX,o=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-n,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var r=o-window.innerHeight;r&&n>=o&&(document.body.style.top=-(n+r))})},300)}})},$d=function(){if(Tt!==void 0){var t=-parseInt(document.body.style.top,10),n=-parseInt(document.body.style.left,10);document.body.style.position=Tt.position,document.body.style.top=Tt.top,document.body.style.left=Tt.left,window.scrollTo(n,t),Tt=void 0}},kd=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},Pd=function(t,n){var s=t.targetTouches[0].clientY-po;return Si(t.target)?!1:n&&n.scrollTop===0&&s>0||kd(n)&&s<0?Un(t):(t.stopPropagation(),!0)},Ti=function(t,n){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!jt.some(function(o){return o.targetElement===t})){var s={targetElement:t,options:n||{}};jt=[].concat(bd(jt),[s]),Rn?wd():yd(n),Rn&&(t.ontouchstart=function(o){o.targetTouches.length===1&&(po=o.targetTouches[0].clientY)},t.ontouchmove=function(o){o.targetTouches.length===1&&Pd(o,t)},Dn||(document.addEventListener("touchmove",Un,_o?{passive:!1}:void 0),Dn=!0))}},Li=function(){Rn&&(jt.forEach(function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null}),Dn&&(document.removeEventListener("touchmove",Un,_o?{passive:!1}:void 0),Dn=!1),po=-1),Rn?$d():xd(),jt=[]};const Cd=R({__name:"VPNavScreenMenuLink",props:{text:null,link:null},setup(e){const t=qe("close-screen");return(n,s)=>(h(),q(gt,{class:"VPNavScreenMenuLink",href:e.link,onClick:_(t)},{default:A(()=>[Te(ce(e.text),1)]),_:1},8,["href","onClick"]))}});const Sd=H(Cd,[["__scopeId","data-v-c328f34f"]]),Td={},Ld={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Vd=y("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),Ed=[Vd];function Ad(e,t){return h(),g("svg",Ld,Ed)}const Md=H(Td,[["render",Ad]]),Id=R({__name:"VPNavScreenMenuGroupLink",props:{text:null,link:null},setup(e){const t=qe("close-screen");return(n,s)=>(h(),q(gt,{class:"VPNavScreenMenuGroupLink",href:e.link,onClick:_(t)},{default:A(()=>[Te(ce(e.text),1)]),_:1},8,["href","onClick"]))}});const Vi=H(Id,[["__scopeId","data-v-3d20956d"]]),Nd={class:"VPNavScreenMenuGroupSection"},Od={key:0,class:"title"},Bd=R({__name:"VPNavScreenMenuGroupSection",props:{text:null,items:null},setup(e){return(t,n)=>(h(),g("div",Nd,[e.text?(h(),g("p",Od,ce(e.text),1)):D("",!0),(h(!0),g(J,null,Ve(e.items,s=>(h(),q(Vi,{key:s.text,text:s.text,link:s.link},null,8,["text","link"]))),128))]))}});const Fd=H(Bd,[["__scopeId","data-v-7478538b"]]),Hd=["aria-controls","aria-expanded"],Rd={class:"button-text"},Dd=["id"],Ud={key:1,class:"group"},zd=R({__name:"VPNavScreenMenuGroup",props:{text:null,items:null},setup(e){const t=e,n=ae(!1),s=K(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(r,i)=>(h(),g("div",{class:ve(["VPNavScreenMenuGroup",{open:n.value}])},[y("button",{class:"button","aria-controls":_(s),"aria-expanded":n.value,onClick:o},[y("span",Rd,ce(e.text),1),V(Md,{class:"button-icon"})],8,Hd),y("div",{id:_(s),class:"items"},[(h(!0),g(J,null,Ve(e.items,l=>(h(),g(J,{key:l.text},["link"in l?(h(),g("div",{key:l.text,class:"item"},[V(Vi,{text:l.text,link:l.link},null,8,["text","link"])])):(h(),g("div",Ud,[V(Fd,{text:l.text,items:l.items},null,8,["text","items"])]))],64))),128))],8,Dd)],2))}});const jd=H(zd,[["__scopeId","data-v-a9a19324"]]),Kd={key:0,class:"VPNavScreenMenu"},qd=R({__name:"VPNavScreenMenu",setup(e){const{theme:t}=ue();return(n,s)=>_(t).nav?(h(),g("nav",Kd,[(h(!0),g(J,null,Ve(_(t).nav,o=>(h(),g(J,{key:o.text},["link"in o?(h(),q(Sd,{key:0,text:o.text,link:o.link},null,8,["text","link"])):(h(),q(jd,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):D("",!0)}}),Wd={key:0,class:"VPNavScreenAppearance"},Gd={class:"text"},Yd=R({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=ue();return(s,o)=>_(t).appearance?(h(),g("div",Wd,[y("p",Gd,ce(_(n).darkModeSwitchLabel||"Appearance"),1),V(fo)])):D("",!0)}});const Qd=H(Yd,[["__scopeId","data-v-7e6603c2"]]),Xd={class:"list"},Jd=R({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=gn({correspondingLink:!0}),s=ae(!1);function o(){s.value=!s.value}return(r,i)=>_(t).length&&_(n).label?(h(),g("div",{key:0,class:ve(["VPNavScreenTranslations",{open:s.value}])},[y("button",{class:"title",onClick:o},[V(Ci,{class:"icon lang"}),Te(" "+ce(_(n).label)+" ",1),V(Pi,{class:"icon chevron"})]),y("ul",Xd,[(h(!0),g(J,null,Ve(_(t),l=>(h(),g("li",{key:l.link,class:"item"},[V(gt,{class:"link",href:l.link},{default:A(()=>[Te(ce(l.text),1)]),_:2},1032,["href"])]))),128))])],2)):D("",!0)}});const Zd=H(Jd,[["__scopeId","data-v-8982effe"]]),eh=R({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=ue();return(n,s)=>_(t).socialLinks?(h(),q(ho,{key:0,class:"VPNavScreenSocialLinks",links:_(t).socialLinks},null,8,["links"])):D("",!0)}}),th={class:"container"},nh=R({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=ae(null);function n(){Ti(t.value,{reserveScrollBarGap:!0})}function s(){Li()}return(o,r)=>(h(),q(ns,{name:"fade",onEnter:n,onAfterLeave:s},{default:A(()=>[e.open?(h(),g("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t},[y("div",th,[S(o.$slots,"nav-screen-content-before",{},void 0,!0),V(qd,{class:"menu"}),V(Zd,{class:"translations"}),V(Qd,{class:"appearance"}),V(eh,{class:"social-links"}),S(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):D("",!0)]),_:3}))}});const sh=H(nh,[["__scopeId","data-v-724636ae"]]),oh={class:"VPNav"},rh=R({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=tu();return Dt("close-screen",n),(o,r)=>(h(),g("header",oh,[V(gd,{"is-screen-open":_(t),onToggleScreen:_(s)},{"nav-bar-title-before":A(()=>[S(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":A(()=>[S(o.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":A(()=>[S(o.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":A(()=>[S(o.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),V(sh,{open:_(t)},{"nav-screen-content-before":A(()=>[S(o.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":A(()=>[S(o.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const ih=H(rh,[["__scopeId","data-v-0fa0e57d"]]),lh={},ch={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ah=y("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),uh=y("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),fh=y("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),dh=y("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),hh=[ah,uh,fh,dh];function _h(e,t){return h(),g("svg",ch,hh)}const ph=H(lh,[["render",_h]]),vh={key:0,class:"VPLocalNav"},mh=["aria-expanded"],gh={class:"menu-text"},bh=R({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t}=ue(),{hasSidebar:n}=rt();function s(){window.scrollTo({top:0,left:0,behavior:"smooth"})}return(o,r)=>_(n)?(h(),g("div",vh,[y("button",{class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:r[0]||(r[0]=i=>o.$emit("open-menu"))},[V(ph,{class:"menu-icon"}),y("span",gh,ce(_(t).sidebarMenuLabel||"Menu"),1)],8,mh),y("a",{class:"top-link",href:"#",onClick:s},ce(_(t).returnToTopLabel||"Return to top"),1)])):D("",!0)}});const yh=H(bh,[["__scopeId","data-v-2817d72e"]]),xh={},wh={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},$h=y("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),kh=[$h];function Ph(e,t){return h(),g("svg",wh,kh)}const Ch=H(xh,[["render",Ph]]),Sh=e=>(Ze("data-v-983f6b21"),e=e(),et(),e),Th=["role"],Lh=Sh(()=>y("div",{class:"indicator"},null,-1)),Vh={key:1,class:"items"},Eh=R({__name:"VPSidebarItem",props:{item:null,depth:null},setup(e){const t=e,{collapsed:n,collapsible:s,isLink:o,isActiveLink:r,hasActiveLink:i,hasChildren:l,toggle:c}=Ya(K(()=>t.item)),u=K(()=>l.value?"section":"div"),d=K(()=>o.value?"a":"div"),p=K(()=>l.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),v=K(()=>o.value?void 0:"button"),$=K(()=>[[`level-${t.depth}`],{collapsible:s.value},{collapsed:n.value},{"is-link":o.value},{"is-active":r.value},{"has-active":i.value}]);function O(){!t.item.link&&c()}function I(){t.item.link&&c()}return(Y,b)=>{const L=At("VPSidebarItem",!0);return h(),q(dn(_(u)),{class:ve(["VPSidebarItem",_($)])},{default:A(()=>[e.item.text?(h(),g("div",{key:0,class:"item",role:_(v),onClick:O},[Lh,V(gt,{tag:_(d),class:"link",href:e.item.link},{default:A(()=>[(h(),q(dn(_(p)),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href"]),e.item.collapsed!=null?(h(),g("div",{key:0,class:"caret",role:"button",onClick:I},[V(Ch,{class:"caret-icon"})])):D("",!0)],8,Th)):D("",!0),e.item.items&&e.item.items.length?(h(),g("div",Vh,[e.depth<5?(h(!0),g(J,{key:0},Ve(e.item.items,N=>(h(),q(L,{key:N.text,item:N,depth:e.depth+1},null,8,["item","depth"]))),128)):D("",!0)])):D("",!0)]),_:1},8,["class"])}}});const Ah=H(Eh,[["__scopeId","data-v-983f6b21"]]),Ei=e=>(Ze("data-v-c79ccefa"),e=e(),et(),e),Mh=Ei(()=>y("div",{class:"curtain"},null,-1)),Ih={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Nh=Ei(()=>y("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Oh=R({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const t=e,{sidebarGroups:n,hasSidebar:s}=rt();let o=ae(null);function r(){Ti(o.value,{reserveScrollBarGap:!0})}function i(){Li()}return Rr(async()=>{var l;t.open?(r(),(l=o.value)==null||l.focus()):i()}),(l,c)=>_(s)?(h(),g("aside",{key:0,class:ve(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:c[0]||(c[0]=la(()=>{},["stop"]))},[Mh,y("nav",Ih,[Nh,S(l.$slots,"sidebar-nav-before",{},void 0,!0),(h(!0),g(J,null,Ve(_(n),u=>(h(),g("div",{key:u.text,class:"group"},[V(Ah,{item:u,depth:0},null,8,["item"])]))),128)),S(l.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):D("",!0)}});const Bh=H(Oh,[["__scopeId","data-v-c79ccefa"]]),Fh={},Hh={class:"VPPage"};function Rh(e,t){const n=At("Content");return h(),g("div",Hh,[V(n)])}const Dh=H(Fh,[["render",Rh]]),Uh=R({__name:"VPButton",props:{tag:null,size:null,theme:null,text:null,href:null},setup(e){const t=e,n=K(()=>[t.size??"medium",t.theme??"brand"]),s=K(()=>t.href&&ss.test(t.href)),o=K(()=>t.tag?t.tag:t.href?"a":"button");return(r,i)=>(h(),q(dn(_(o)),{class:ve(["VPButton",_(n)]),href:e.href?_(vn)(e.href):void 0,target:_(s)?"_blank":void 0,rel:_(s)?"noreferrer":void 0},{default:A(()=>[Te(ce(e.text),1)]),_:1},8,["class","href","target","rel"]))}});const zh=H(Uh,[["__scopeId","data-v-a7c4128c"]]),jh=e=>(Ze("data-v-c39d0f9a"),e=e(),et(),e),Kh={class:"container"},qh={class:"main"},Wh={key:0,class:"name"},Gh={class:"clip"},Yh={key:1,class:"text"},Qh={key:2,class:"tagline"},Xh={key:3,class:"actions"},Jh={key:0,class:"image"},Zh={class:"image-container"},e0=jh(()=>y("div",{class:"image-bg"},null,-1)),t0=R({__name:"VPHero",props:{name:null,text:null,tagline:null,image:null,actions:null},setup(e){const t=qe("hero-image-slot-exists");return(n,s)=>(h(),g("div",{class:ve(["VPHero",{"has-image":e.image||_(t)}])},[y("div",Kh,[y("div",qh,[e.name?(h(),g("h1",Wh,[y("span",Gh,ce(e.name),1)])):D("",!0),e.text?(h(),g("p",Yh,ce(e.text),1)):D("",!0),e.tagline?(h(),g("p",Qh,ce(e.tagline),1)):D("",!0),e.actions?(h(),g("div",Xh,[(h(!0),g(J,null,Ve(e.actions,o=>(h(),g("div",{key:o.link,class:"action"},[V(zh,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):D("",!0)]),e.image||_(t)?(h(),g("div",Jh,[y("div",Zh,[e0,S(n.$slots,"home-hero-image",{},()=>[e.image?(h(),q(co,{key:0,class:"image-src",image:e.image},null,8,["image"])):D("",!0)],!0)])])):D("",!0)])],2))}});const n0=H(t0,[["__scopeId","data-v-c39d0f9a"]]),s0=R({__name:"VPHomeHero",setup(e){const{frontmatter:t}=ue();return(n,s)=>_(t).hero?(h(),q(n0,{key:0,class:"VPHomeHero",name:_(t).hero.name,text:_(t).hero.text,tagline:_(t).hero.tagline,image:_(t).hero.image,actions:_(t).hero.actions},{"home-hero-image":A(()=>[S(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):D("",!0)}}),o0={},r0={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},i0=y("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),l0=[i0];function c0(e,t){return h(),g("svg",r0,l0)}const a0=H(o0,[["render",c0]]),u0={class:"box"},f0={key:1,class:"icon"},d0=["innerHTML"],h0=["innerHTML"],_0={key:3,class:"link-text"},p0={class:"link-text-value"},v0=R({__name:"VPFeature",props:{icon:null,title:null,details:null,link:null,linkText:null},setup(e){return(t,n)=>(h(),q(gt,{class:"VPFeature",href:e.link,"no-icon":!0},{default:A(()=>[y("article",u0,[typeof e.icon=="object"?(h(),q(co,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height,width:e.icon.width},null,8,["image","alt","height","width"])):e.icon?(h(),g("div",f0,ce(e.icon),1)):D("",!0),y("h2",{class:"title",innerHTML:e.title},null,8,d0),e.details?(h(),g("p",{key:2,class:"details",innerHTML:e.details},null,8,h0)):D("",!0),e.linkText?(h(),g("div",_0,[y("p",p0,[Te(ce(e.linkText)+" ",1),V(a0,{class:"link-text-icon"})])])):D("",!0)])]),_:1},8,["href"]))}});const m0=H(v0,[["__scopeId","data-v-a5828f43"]]),g0={key:0,class:"VPFeatures"},b0={class:"container"},y0={class:"items"},x0=R({__name:"VPFeatures",props:{features:null},setup(e){const t=e,n=K(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s%2===0)return"grid-4"}else return});return(s,o)=>e.features?(h(),g("div",g0,[y("div",b0,[y("div",y0,[(h(!0),g(J,null,Ve(e.features,r=>(h(),g("div",{key:r.title,class:ve(["item",[_(n)]])},[V(m0,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText},null,8,["icon","title","details","link","link-text"])],2))),128))])])])):D("",!0)}});const w0=H(x0,[["__scopeId","data-v-6816157f"]]),$0=R({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=ue();return(n,s)=>_(t).features?(h(),q(w0,{key:0,class:"VPHomeFeatures",features:_(t).features},null,8,["features"])):D("",!0)}}),k0={class:"VPHome"},P0=R({__name:"VPHome",setup(e){return(t,n)=>{const s=At("Content");return h(),g("div",k0,[S(t.$slots,"home-hero-before",{},void 0,!0),V(s0,null,{"home-hero-image":A(()=>[S(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),S(t.$slots,"home-hero-after",{},void 0,!0),S(t.$slots,"home-features-before",{},void 0,!0),V($0),S(t.$slots,"home-features-after",{},void 0,!0),V(s)])}}});const C0=H(P0,[["__scopeId","data-v-b07783ac"]]);function S0(){const{hasSidebar:e}=rt(),t=Ms("(min-width: 960px)"),n=Ms("(min-width: 1280px)");return{isAsideEnabled:K(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const T0=71;function L0(e,t){if(e===!1)return[];let n=[];return document.querySelectorAll("h2, h3, h4, h5, h6").forEach(s=>{if(s.textContent&&s.id){let o=s.textContent;if(t===!1){const r=s.cloneNode(!0);for(const i of r.querySelectorAll(".VPBadge"))i.remove();o=r.textContent||""}n.push({level:Number(s.tagName[1]),title:o.replace(/\s+#\s*$/,""),link:`#${s.id}`})}}),V0(n,e)}function V0(e,t){const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2;return E0(e,typeof n=="number"?[n,n]:n==="deep"?[2,6]:n)}function E0(e,t){const n=[];return e=e.map(s=>({...s})),e.forEach((s,o)=>{s.level>=t[0]&&s.level<=t[1]&&A0(o,e,t)&&n.push(s)}),n}function A0(e,t,n){if(e===0)return!0;const s=t[e];for(let o=e-1;o>=0;o--){const r=t[o];if(r.level=n[0]&&r.level<=n[1])return r.children==null&&(r.children=[]),r.children.push(s),!1}return!0}function M0(e,t){const{isAsideEnabled:n}=S0(),s=Ka(r,100);let o=null;Be(()=>{requestAnimationFrame(r),window.addEventListener("scroll",s)}),to(()=>{i(location.hash)}),vt(()=>{window.removeEventListener("scroll",s)});function r(){if(!n.value)return;const l=[].slice.call(e.value.querySelectorAll(".outline-link")),c=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter($=>l.some(O=>O.hash===$.hash&&$.offsetParent!==null)),u=window.scrollY,d=window.innerHeight,p=document.body.offsetHeight,v=Math.abs(u+d-p)<1;if(c.length&&v){i(c[c.length-1].hash);return}for(let $=0;${const s=At("VPDocAsideOutlineItem",!0);return h(),g("ul",{class:ve(e.root?"root":"nested")},[(h(!0),g(J,null,Ve(e.headers,({children:o,link:r,title:i})=>(h(),g("li",null,[y("a",{class:"outline-link",href:r,onClick:n[0]||(n[0]=(...l)=>e.onClick&&e.onClick(...l))},ce(i),9,N0),o!=null&&o.length?(h(),q(s,{key:0,headers:o,onClick:e.onClick},null,8,["headers","onClick"])):D("",!0)]))),256))],2)}}});const B0=H(O0,[["__scopeId","data-v-1188541a"]]),F0=e=>(Ze("data-v-5dd9d5f6"),e=e(),et(),e),H0={class:"content"},R0={class:"outline-title"},D0={"aria-labelledby":"doc-outline-aria-label"},U0=F0(()=>y("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),z0=R({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=ue(),s=K(()=>t.value.outline??n.value.outline),o=qe("onContentUpdated");o.value=()=>{r.value=L0(s.value,n.value.outlineBadges)};const r=ae([]),i=K(()=>r.value.length>0),l=ae(),c=ae();M0(l,c);function u({target:d}){const p="#"+d.href.split("#")[1],v=document.querySelector(decodeURIComponent(p));v==null||v.focus()}return(d,p)=>(h(),g("div",{class:ve(["VPDocAsideOutline",{"has-outline":_(i)}]),ref_key:"container",ref:l},[y("div",H0,[y("div",{class:"outline-marker",ref_key:"marker",ref:c},null,512),y("div",R0,ce(typeof _(n).outline=="object"&&!Array.isArray(_(n).outline)&&_(n).outline.label||_(n).outlineTitle||"On this page"),1),y("nav",D0,[U0,V(B0,{headers:r.value,root:!0,onClick:u},null,8,["headers"])])])],2))}});const j0=H(z0,[["__scopeId","data-v-5dd9d5f6"]]),K0={class:"VPDocAsideCarbonAds"},q0=R({__name:"VPDocAsideCarbonAds",props:{carbonAds:null},setup(e){const t=()=>null;return(n,s)=>(h(),g("div",K0,[V(_(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),W0=e=>(Ze("data-v-cdc66372"),e=e(),et(),e),G0={class:"VPDocAside"},Y0=W0(()=>y("div",{class:"spacer"},null,-1)),Q0=R({__name:"VPDocAside",setup(e){const{theme:t}=ue();return(n,s)=>(h(),g("div",G0,[S(n.$slots,"aside-top",{},void 0,!0),S(n.$slots,"aside-outline-before",{},void 0,!0),V(j0),S(n.$slots,"aside-outline-after",{},void 0,!0),Y0,S(n.$slots,"aside-ads-before",{},void 0,!0),_(t).carbonAds?(h(),q(q0,{key:0,"carbon-ads":_(t).carbonAds},null,8,["carbon-ads"])):D("",!0),S(n.$slots,"aside-ads-after",{},void 0,!0),S(n.$slots,"aside-bottom",{},void 0,!0)]))}});const X0=H(Q0,[["__scopeId","data-v-cdc66372"]]);function J0(){const{theme:e,page:t}=ue();return K(()=>{const{text:n="Edit this page",pattern:s=""}=e.value.editLink||{},{relativePath:o}=t.value;return{url:s.replace(/:path/g,o),text:n}})}function Z0(){const{page:e,theme:t,frontmatter:n}=ue();return K(()=>{var i,l,c,u;const s=wi(t.value.sidebar,e.value.relativePath),o=Wa(s),r=o.findIndex(d=>Mt(e.value.relativePath,d.link));return{prev:n.value.prev===!1?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((i=o[r-1])==null?void 0:i.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((l=o[r-1])==null?void 0:l.link)},next:n.value.next===!1?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((c=o[r+1])==null?void 0:c.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((u=o[r+1])==null?void 0:u.link)}}})}const e1={},t1={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},n1=y("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),s1=y("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),o1=[n1,s1];function r1(e,t){return h(),g("svg",t1,o1)}const i1=H(e1,[["render",r1]]),l1={class:"VPLastUpdated"},c1=["datetime"],a1=R({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n}=ue(),s=K(()=>new Date(n.value.lastUpdated)),o=K(()=>s.value.toISOString()),r=ae("");return Be(()=>{Et(()=>{r.value=s.value.toLocaleString(window.navigator.language)})}),(i,l)=>(h(),g("p",l1,[Te(ce(_(t).lastUpdatedText||"Last updated")+": ",1),y("time",{datetime:_(o)},ce(r.value),9,c1)]))}});const u1=H(a1,[["__scopeId","data-v-355aa5ef"]]),f1={key:0,class:"VPDocFooter"},d1={key:0,class:"edit-info"},h1={key:0,class:"edit-link"},_1={key:1,class:"last-updated"},p1={key:1,class:"prev-next"},v1={class:"pager"},m1=["href"],g1=["innerHTML"],b1=["innerHTML"],y1=["href"],x1=["innerHTML"],w1=["innerHTML"],$1=R({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=ue(),o=J0(),r=Z0(),i=K(()=>t.value.editLink&&s.value.editLink!==!1),l=K(()=>n.value.lastUpdated&&s.value.lastUpdated!==!1),c=K(()=>i.value||l.value||r.value.prev||r.value.next);return(u,d)=>{var p,v,$,O,I,Y,b;return _(c)?(h(),g("footer",f1,[_(i)||_(l)?(h(),g("div",d1,[_(i)?(h(),g("div",h1,[V(gt,{class:"edit-link-button",href:_(o).url,"no-icon":!0},{default:A(()=>[V(i1,{class:"edit-link-icon"}),Te(" "+ce(_(o).text),1)]),_:1},8,["href"])])):D("",!0),_(l)?(h(),g("div",_1,[V(u1)])):D("",!0)])):D("",!0),(p=_(r).prev)!=null&&p.link||(v=_(r).next)!=null&&v.link?(h(),g("div",p1,[y("div",v1,[($=_(r).prev)!=null&&$.link?(h(),g("a",{key:0,class:"pager-link prev",href:_(vn)(_(r).prev.link)},[y("span",{class:"desc",innerHTML:((O=_(t).docFooter)==null?void 0:O.prev)||"Previous page"},null,8,g1),y("span",{class:"title",innerHTML:_(r).prev.text},null,8,b1)],8,m1)):D("",!0)]),y("div",{class:ve(["pager",{"has-prev":(I=_(r).prev)==null?void 0:I.link}])},[(Y=_(r).next)!=null&&Y.link?(h(),g("a",{key:0,class:"pager-link next",href:_(vn)(_(r).next.link)},[y("span",{class:"desc",innerHTML:((b=_(t).docFooter)==null?void 0:b.next)||"Next page"},null,8,x1),y("span",{class:"title",innerHTML:_(r).next.text},null,8,w1)],8,y1)):D("",!0)],2)])):D("",!0)])):D("",!0)}}});const k1=H($1,[["__scopeId","data-v-2813752b"]]),P1=e=>(Ze("data-v-c5936a1e"),e=e(),et(),e),C1={class:"container"},S1={key:0,class:"aside"},T1=P1(()=>y("div",{class:"aside-curtain"},null,-1)),L1={class:"aside-container"},V1={class:"aside-content"},E1={class:"content"},A1={class:"content-container"},M1={class:"main"},I1=R({__name:"VPDoc",setup(e){const t=mt(),{hasSidebar:n,hasAside:s}=rt(),o=K(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,"")),r=ae();return Dt("onContentUpdated",r),(i,l)=>{const c=At("Content");return h(),g("div",{class:ve(["VPDoc",{"has-sidebar":_(n),"has-aside":_(s)}])},[y("div",C1,[_(s)?(h(),g("div",S1,[T1,y("div",L1,[y("div",V1,[V(X0,null,{"aside-top":A(()=>[S(i.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":A(()=>[S(i.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":A(()=>[S(i.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":A(()=>[S(i.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":A(()=>[S(i.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":A(()=>[S(i.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])])):D("",!0),y("div",E1,[y("div",A1,[S(i.$slots,"doc-before",{},void 0,!0),y("main",M1,[V(c,{class:ve(["vp-doc",_(o)]),onContentUpdated:r.value},null,8,["class","onContentUpdated"])]),S(i.$slots,"doc-footer-before",{},void 0,!0),V(k1),S(i.$slots,"doc-after",{},void 0,!0)])])])],2)}}});const N1=H(I1,[["__scopeId","data-v-c5936a1e"]]),O1=R({__name:"VPContent",setup(e){const t=mt(),{frontmatter:n}=ue(),{hasSidebar:s}=rt(),o=qe("NotFound");return(r,i)=>(h(),g("div",{class:ve(["VPContent",{"has-sidebar":_(s),"is-home":_(n).layout==="home"}]),id:"VPContent"},[_(t).component===_(o)?(h(),q(_(o),{key:0})):_(n).layout==="page"?(h(),q(Dh,{key:1})):_(n).layout==="home"?(h(),q(C0,{key:2},{"home-hero-before":A(()=>[S(r.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-image":A(()=>[S(r.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":A(()=>[S(r.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":A(()=>[S(r.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":A(()=>[S(r.$slots,"home-features-after",{},void 0,!0)]),_:3})):(h(),q(N1,{key:3},{"doc-footer-before":A(()=>[S(r.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":A(()=>[S(r.$slots,"doc-before",{},void 0,!0)]),"doc-after":A(()=>[S(r.$slots,"doc-after",{},void 0,!0)]),"aside-top":A(()=>[S(r.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":A(()=>[S(r.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":A(()=>[S(r.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":A(()=>[S(r.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":A(()=>[S(r.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":A(()=>[S(r.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const B1=H(O1,[["__scopeId","data-v-0bd490fb"]]),F1={class:"container"},H1=["innerHTML"],R1=["innerHTML"],D1=R({__name:"VPFooter",setup(e){const{theme:t}=ue(),{hasSidebar:n}=rt();return(s,o)=>_(t).footer?(h(),g("footer",{key:0,class:ve(["VPFooter",{"has-sidebar":_(n)}])},[y("div",F1,[_(t).footer.message?(h(),g("p",{key:0,class:"message",innerHTML:_(t).footer.message},null,8,H1)):D("",!0),_(t).footer.copyright?(h(),g("p",{key:1,class:"copyright",innerHTML:_(t).footer.copyright},null,8,R1)):D("",!0)])],2)):D("",!0)}});const U1=H(D1,[["__scopeId","data-v-d24360a6"]]),z1={key:0,class:"Layout"},j1=R({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=rt(),o=mt();Xe(()=>o.path,s),Ga(t,s),Dt("close-sidebar",s),Dt("is-sidebar-open",t);const{frontmatter:r}=ue(),i=Ec(),l=K(()=>!!i["home-hero-image"]);return Dt("hero-image-slot-exists",l),(c,u)=>{const d=At("Content");return _(r).layout!==!1?(h(),g("div",z1,[S(c.$slots,"layout-top",{},void 0,!0),V(Xa),V(eu,{class:"backdrop",show:_(t),onClick:_(s)},null,8,["show","onClick"]),V(ih,null,{"nav-bar-title-before":A(()=>[S(c.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":A(()=>[S(c.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":A(()=>[S(c.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":A(()=>[S(c.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":A(()=>[S(c.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":A(()=>[S(c.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),V(yh,{open:_(t),onOpenMenu:_(n)},null,8,["open","onOpenMenu"]),V(Bh,{open:_(t)},{"sidebar-nav-before":A(()=>[S(c.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":A(()=>[S(c.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),V(B1,null,{"home-hero-before":A(()=>[S(c.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-image":A(()=>[S(c.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":A(()=>[S(c.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":A(()=>[S(c.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":A(()=>[S(c.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":A(()=>[S(c.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":A(()=>[S(c.$slots,"doc-before",{},void 0,!0)]),"doc-after":A(()=>[S(c.$slots,"doc-after",{},void 0,!0)]),"aside-top":A(()=>[S(c.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":A(()=>[S(c.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":A(()=>[S(c.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":A(()=>[S(c.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":A(()=>[S(c.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":A(()=>[S(c.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),V(U1),S(c.$slots,"layout-bottom",{},void 0,!0)])):(h(),q(d,{key:1}))}}});const K1=H(j1,[["__scopeId","data-v-93a960b4"]]),rs=e=>(Ze("data-v-63c9cdeb"),e=e(),et(),e),q1={class:"NotFound"},W1=rs(()=>y("p",{class:"code"},"404",-1)),G1=rs(()=>y("h1",{class:"title"},"PAGE NOT FOUND",-1)),Y1=rs(()=>y("div",{class:"divider"},null,-1)),Q1=rs(()=>y("blockquote",{class:"quote"}," But if you don't change your direction, and if you keep looking, you may end up where you are heading. ",-1)),X1={class:"action"},J1=["href"],Z1=R({__name:"NotFound",setup(e){const{site:t}=ue(),{localeLinks:n}=gn({removeCurrent:!1}),s=ae("/");return Be(()=>{var r;const o=window.location.pathname.replace(t.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(s.value=((r=n.value.find(({link:i})=>i.startsWith(o)))==null?void 0:r.link)||n.value[0].link)}),(o,r)=>(h(),g("div",q1,[W1,G1,Y1,Q1,y("div",X1,[y("a",{class:"link",href:_(pn)(s.value),"aria-label":"go to home"}," Take me home ",8,J1)])]))}});const e_=H(Z1,[["__scopeId","data-v-63c9cdeb"]]);const Kt={Layout:K1,NotFound:e_,enhanceApp:({app:e})=>{e.component("Badge",va)}};function t_(e,t){let n=[],s=!0;const o=r=>{if(s){s=!1;return}n.forEach(i=>document.head.removeChild(i)),n=[],r.forEach(i=>{const l=n_(i);document.head.appendChild(l),n.push(l)})};Et(()=>{const r=e.data,i=t.value,l=r&&r.description,c=r&&r.frontmatter.head||[];document.title=hi(i,r),document.querySelector("meta[name=description]").setAttribute("content",l||i.description),o(_i(i.head,o_(c)))})}function n_([e,t,n]){const s=document.createElement(e);for(const o in t)s.setAttribute(o,t[o]);return n&&(s.innerHTML=n),s}function s_(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function o_(e){return e.filter(t=>!s_(t))}const gs=new Set,Ai=()=>document.createElement("link"),r_=e=>{const t=Ai();t.rel="prefetch",t.href=e,document.head.appendChild(t)},i_=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let Ln;const l_=ke&&(Ln=Ai())&&Ln.relList&&Ln.relList.supports&&Ln.relList.supports("prefetch")?r_:i_;function c_(){if(!ke||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(r=>{r.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!gs.has(c)){gs.add(c);const u=mi(c);l_(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(r=>{const{target:i}=r,{hostname:l,pathname:c}=new URL(r.href instanceof SVGAnimatedString?r.href.animVal:r.href,r.baseURI),u=c.match(/\.\w+$/);u&&u[0]!==".html"||i!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(r):gs.add(c))})})};Be(s);const o=mt();Xe(()=>o.path,s),vt(()=>{n&&n.disconnect()})}const a_=R({setup(e,{slots:t}){const n=ae(!1);return Be(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function u_(){if(ke){const e=new Map;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const o=n.parentElement,r=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!o||!r)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(o.className);let l="";r.querySelectorAll("span.line:not(.diff.remove)").forEach(c=>l+=(c.textContent||"")+` -`),l=l.slice(0,-1),i&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),f_(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function f_(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),o=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),o&&(s.removeAllRanges(),s.addRange(o)),n&&n.focus()}}function d_(){ke&&window.addEventListener("click",e=>{var n,s;const t=e.target;if(t.matches(".vp-code-group input")){const o=(n=t.parentElement)==null?void 0:n.parentElement,r=Array.from((o==null?void 0:o.querySelectorAll("input"))||[]).indexOf(t),i=o==null?void 0:o.querySelector('div[class*="language-"].active'),l=(s=o==null?void 0:o.querySelectorAll('div[class*="language-"]'))==null?void 0:s[r];i&&l&&i!==l&&(i.classList.remove("active"),l.classList.add("active"))}})}const Mi=Kt.NotFound||(()=>"404 Not Found"),h_=R({name:"VitePressApp",setup(){const{site:e}=vi();return Be(()=>{Et(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),c_(),u_(),d_(),Kt.setup&&Kt.setup(),()=>Hn(Kt.Layout)}});async function __(){const e=v_(),t=p_();t.provide(gi,e);const n=Pa(e.route);return t.provide(pi,n),t.provide("NotFound",Mi),t.component("Content",Va),t.component("ClientOnly",a_),Object.defineProperty(t.config.globalProperties,"$frontmatter",{get(){return n.frontmatter.value}}),Kt.enhanceApp&&await Kt.enhanceApp({app:t,router:e,siteData:ft}),{app:t,router:e,data:n}}function p_(){return ua(h_)}function v_(){let e=ke,t;return Ta(n=>{let s=mi(n);return e&&(t=s),(e||t===s)&&(s=s.replace(/\.js$/,".lean.js")),ke&&(e=!1),_a(()=>import(s),[])},Mi)}ke&&__().then(({app:e,router:t,data:n})=>{t.go().then(()=>{t_(t.route,n.site),e.mount("#app")})});export{H as _,wc as a,g as c,__ as createApp,h as o}; diff --git a/assets/chunks/framework.d7e37bdc.js b/assets/chunks/framework.d7e37bdc.js new file mode 100644 index 0000000..b427370 --- /dev/null +++ b/assets/chunks/framework.d7e37bdc.js @@ -0,0 +1,2 @@ +function Kn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}function kn(e){if(N(e)){const t={};for(let n=0;n{if(n){const s=n.split(_i);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Wn(e){let t="";if(re(e))t=e;else if(N(e))for(let n=0;nre(e)?e:e==null?"":N(e)||ee(e)&&(e.toString===lr||!U(e.toString))?JSON.stringify(e,rr,2):String(e),rr=(e,t)=>t&&t.__v_isRef?rr(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:ir(t)?{[`Set(${t.size})`]:[...t.values()]}:ee(t)&&!N(t)&&!cr(t)?String(t):t,te={},ft=[],Ie=()=>{},xi=()=>!1,Ei=/^on[^a-z]/,Lt=e=>Ei.test(e),qn=e=>e.startsWith("onUpdate:"),ce=Object.assign,Vn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},vi=Object.prototype.hasOwnProperty,V=(e,t)=>vi.call(e,t),N=Array.isArray,ut=e=>rn(e)==="[object Map]",ir=e=>rn(e)==="[object Set]",U=e=>typeof e=="function",re=e=>typeof e=="string",zn=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",or=e=>ee(e)&&U(e.then)&&U(e.catch),lr=Object.prototype.toString,rn=e=>lr.call(e),Ti=e=>rn(e).slice(8,-1),cr=e=>rn(e)==="[object Object]",Yn=e=>re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Et=Kn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),on=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ai=/-(\w)/g,Se=on(e=>e.replace(Ai,(t,n)=>n?n.toUpperCase():"")),Ri=/\B([A-Z])/g,it=on(e=>e.replace(Ri,"-$1").toLowerCase()),ln=on(e=>e.charAt(0).toUpperCase()+e.slice(1)),Vt=on(e=>e?`on${ln(e)}`:""),It=(e,t)=>!Object.is(e,t),Cn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Ii=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Oi=e=>{const t=re(e)?Number(e):NaN;return isNaN(t)?e:t};let ms;const Pi=()=>ms||(ms=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});let _e;class Fi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=_e;try{return _e=this,t()}finally{_e=n}}}on(){_e=this}off(){_e=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},fr=e=>(e.w&qe)>0,ur=e=>(e.n&qe)>0,Li=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=f)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":N(e)?Yn(n)&&l.push(o.get("length")):(l.push(o.get(st)),ut(e)&&l.push(o.get(Fn)));break;case"delete":N(e)||(l.push(o.get(st)),ut(e)&&l.push(o.get(Fn)));break;case"set":ut(e)&&l.push(o.get(st));break}if(l.length===1)l[0]&&Mn(l[0]);else{const f=[];for(const a of l)a&&f.push(...a);Mn(Jn(f))}}function Mn(e,t){const n=N(e)?e:[...e];for(const s of n)s.computed&&bs(s);for(const s of n)s.computed||bs(s)}function bs(e,t){(e!==Ae||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function Hi(e,t){var n;return(n=Zt.get(e))===null||n===void 0?void 0:n.get(t)}const $i=Kn("__proto__,__v_isRef,__isVue"),hr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(zn)),ji=Zn(),Ui=Zn(!1,!0),Bi=Zn(!0),ys=Di();function Di(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=z(this);for(let i=0,o=this.length;i{e[t]=function(...n){bt();const s=z(this)[t].apply(this,n);return yt(),s}}),e}function Ki(e){const t=z(this);return pe(t,"has",e),t.hasOwnProperty(e)}function Zn(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?ro:br:t?_r:mr).get(s))return s;const o=N(s);if(!e){if(o&&V(ys,r))return Reflect.get(ys,r,i);if(r==="hasOwnProperty")return Ki}const l=Reflect.get(s,r,i);return(zn(r)?hr.has(r):$i(r))||(e||pe(s,"get",r),t)?l:oe(l)?o&&Yn(r)?l:l.value:ee(l)?e?yr(l):fn(l):l}}const ki=pr(),Wi=pr(!0);function pr(e=!1){return function(n,s,r,i){let o=n[s];if(gt(o)&&oe(o)&&!oe(r))return!1;if(!e&&(!Qt(r)&&!gt(r)&&(o=z(o),r=z(r)),!N(n)&&oe(o)&&!oe(r)))return o.value=r,!0;const l=N(n)&&Yn(s)?Number(s)e,cn=e=>Reflect.getPrototypeOf(e);function $t(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),i=z(t);n||(t!==i&&pe(r,"get",t),pe(r,"get",i));const{has:o}=cn(r),l=s?Qn:n?ts:Ot;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function jt(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return t||(e!==r&&pe(s,"has",e),pe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Ut(e,t=!1){return e=e.__v_raw,!t&&pe(z(e),"iterate",st),Reflect.get(e,"size",e)}function ws(e){e=z(e);const t=z(this);return cn(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function Cs(e,t){t=z(t);const n=z(this),{has:s,get:r}=cn(n);let i=s.call(n,e);i||(e=z(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?It(t,o)&&He(n,"set",e,t):He(n,"add",e,t),this}function xs(e){const t=z(this),{has:n,get:s}=cn(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&He(t,"delete",e,void 0),i}function Es(){const e=z(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function Bt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=z(o),f=t?Qn:e?ts:Ot;return!e&&pe(l,"iterate",st),o.forEach((a,d)=>s.call(r,f(a),f(d),i))}}function Dt(e,t,n){return function(...s){const r=this.__v_raw,i=z(r),o=ut(i),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,a=r[e](...s),d=n?Qn:t?ts:Ot;return!t&&pe(i,"iterate",f?Fn:st),{next(){const{value:p,done:y}=a.next();return y?{value:p,done:y}:{value:l?[d(p[0]),d(p[1])]:d(p),done:y}},[Symbol.iterator](){return this}}}}function je(e){return function(...t){return e==="delete"?!1:this}}function Xi(){const e={get(i){return $t(this,i)},get size(){return Ut(this)},has:jt,add:ws,set:Cs,delete:xs,clear:Es,forEach:Bt(!1,!1)},t={get(i){return $t(this,i,!1,!0)},get size(){return Ut(this)},has:jt,add:ws,set:Cs,delete:xs,clear:Es,forEach:Bt(!1,!0)},n={get(i){return $t(this,i,!0)},get size(){return Ut(this,!0)},has(i){return jt.call(this,i,!0)},add:je("add"),set:je("set"),delete:je("delete"),clear:je("clear"),forEach:Bt(!0,!1)},s={get(i){return $t(this,i,!0,!0)},get size(){return Ut(this,!0)},has(i){return jt.call(this,i,!0)},add:je("add"),set:je("set"),delete:je("delete"),clear:je("clear"),forEach:Bt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Dt(i,!1,!1),n[i]=Dt(i,!0,!1),t[i]=Dt(i,!1,!0),s[i]=Dt(i,!0,!0)}),[e,n,t,s]}const[Zi,Qi,Gi,eo]=Xi();function Gn(e,t){const n=t?e?eo:Gi:e?Qi:Zi;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(V(n,r)&&r in s?n:s,r,i)}const to={get:Gn(!1,!1)},no={get:Gn(!1,!0)},so={get:Gn(!0,!1)},mr=new WeakMap,_r=new WeakMap,br=new WeakMap,ro=new WeakMap;function io(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function oo(e){return e.__v_skip||!Object.isExtensible(e)?0:io(Ti(e))}function fn(e){return gt(e)?e:es(e,!1,gr,to,mr)}function lo(e){return es(e,!1,Ji,no,_r)}function yr(e){return es(e,!0,Yi,so,br)}function es(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=oo(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function at(e){return gt(e)?at(e.__v_raw):!!(e&&e.__v_isReactive)}function gt(e){return!!(e&&e.__v_isReadonly)}function Qt(e){return!!(e&&e.__v_isShallow)}function wr(e){return at(e)||gt(e)}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function vt(e){return Xt(e,"__v_skip",!0),e}const Ot=e=>ee(e)?fn(e):e,ts=e=>ee(e)?yr(e):e;function ns(e){ke&&Ae&&(e=z(e),dr(e.dep||(e.dep=Jn())))}function ss(e,t){e=z(e);const n=e.dep;n&&Mn(n)}function oe(e){return!!(e&&e.__v_isRef===!0)}function Cr(e){return xr(e,!1)}function co(e){return xr(e,!0)}function xr(e,t){return oe(e)?e:new fo(e,t)}class fo{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:z(t),this._value=n?t:Ot(t)}get value(){return ns(this),this._value}set value(t){const n=this.__v_isShallow||Qt(t)||gt(t);t=n?t:z(t),It(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ot(t),ss(this))}}function uo(e){return oe(e)?e.value:e}const ao={get:(e,t,n)=>uo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return oe(r)&&!oe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Er(e){return at(e)?e:new Proxy(e,ao)}class ho{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>ns(this),()=>ss(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function vc(e){return new ho(e)}class po{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Hi(z(this._object),this._key)}}function Tc(e,t,n){const s=e[t];return oe(s)?s:new po(e,t,n)}var vr;class go{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[vr]=!1,this._dirty=!0,this.effect=new Xn(t,()=>{this._dirty||(this._dirty=!0,ss(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=z(this);return ns(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}vr="__v_isReadonly";function mo(e,t,n=!1){let s,r;const i=U(e);return i?(s=e,r=Ie):(s=e.get,r=e.set),new go(s,r,i||!r,n)}function We(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){un(i,t,n)}return r}function xe(e,t,n,s){if(U(e)){const i=We(e,t,n,s);return i&&or(i)&&i.catch(o=>{un(o,t,n)}),i}const r=[];for(let i=0;i>>1;Ft(fe[s])Me&&fe.splice(t,1)}function wo(e){N(e)?dt.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Ge+1:Ge))&&dt.push(e),Rr()}function vs(e,t=Pt?Me+1:0){for(;tFt(n)-Ft(s)),Ge=0;Gee.id==null?1/0:e.id,Co=(e,t)=>{const n=Ft(e)-Ft(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ir(e){Sn=!1,Pt=!0,fe.sort(Co);const t=Ie;try{for(Me=0;Mere(R)?R.trim():R)),p&&(r=n.map(Ii))}let l,f=s[l=Vt(t)]||s[l=Vt(Se(t))];!f&&i&&(f=s[l=Vt(it(t))]),f&&xe(f,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,xe(a,e,6,r)}}function Or(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!U(e)){const f=a=>{const d=Or(a,t,!0);d&&(l=!0,ce(o,d))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!l?(ee(e)&&s.set(e,null),null):(N(i)?i.forEach(f=>o[f]=null):ce(o,i),ee(e)&&s.set(e,o),o)}function an(e,t){return!e||!Lt(t)?!1:(t=t.slice(2).replace(/Once$/,""),V(e,t[0].toLowerCase()+t.slice(1))||V(e,it(t))||V(e,t))}let ue=null,dn=null;function en(e){const t=ue;return ue=e,dn=e&&e.type.__scopeId||null,t}function Ac(e){dn=e}function Rc(){dn=null}function Eo(e,t=ue,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Ls(-1);const i=en(t);let o;try{o=e(...r)}finally{en(i),s._d&&Ls(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function xn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:f,emit:a,render:d,renderCache:p,data:y,setupState:R,ctx:L,inheritAttrs:P}=e;let W,_;const E=en(e);try{if(n.shapeFlag&4){const $=r||s;W=Te(d.call($,$,p,i,R,y,L)),_=f}else{const $=t;W=Te($.length>1?$(i,{attrs:f,slots:l,emit:a}):$(i,null)),_=t.props?f:vo(f)}}catch($){Rt.length=0,un($,e,1),W=le(be)}let A=W;if(_&&P!==!1){const $=Object.keys(_),{shapeFlag:D}=A;$.length&&D&7&&(o&&$.some(qn)&&(_=To(_,o)),A=Ve(A,_))}return n.dirs&&(A=Ve(A),A.dirs=A.dirs?A.dirs.concat(n.dirs):n.dirs),n.transition&&(A.transition=n.transition),W=A,en(E),W}const vo=e=>{let t;for(const n in e)(n==="class"||n==="style"||Lt(n))&&((t||(t={}))[n]=e[n]);return t},To=(e,t)=>{const n={};for(const s in e)(!qn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ao(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:f}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?Ts(s,o,a):!!o;if(f&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Pr(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):wo(e)}function Oo(e,t){if(se){let n=se.provides;const s=se.parent&&se.parent.provides;s===n&&(n=se.provides=Object.create(s)),n[e]=t}}function ht(e,t,n=!1){const s=se||ue;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&U(t)?t.call(s.proxy):t}}function Po(e,t){return hn(e,null,t)}function Ic(e,t){return hn(e,null,{flush:"post"})}const Kt={};function zt(e,t,n){return hn(e,t,n)}function hn(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=te){const l=Si()===(se==null?void 0:se.scope)?se:null;let f,a=!1,d=!1;if(oe(e)?(f=()=>e.value,a=Qt(e)):at(e)?(f=()=>e,s=!0):N(e)?(d=!0,a=e.some(A=>at(A)||Qt(A)),f=()=>e.map(A=>{if(oe(A))return A.value;if(at(A))return ct(A);if(U(A))return We(A,l,2)})):U(e)?t?f=()=>We(e,l,2):f=()=>{if(!(l&&l.isUnmounted))return p&&p(),xe(e,l,3,[y])}:f=Ie,t&&s){const A=f;f=()=>ct(A())}let p,y=A=>{p=_.onStop=()=>{We(A,l,4)}},R;if(St)if(y=Ie,t?n&&xe(t,l,3,[f(),d?[]:void 0,y]):f(),r==="sync"){const A=xl();R=A.__watcherHandles||(A.__watcherHandles=[])}else return Ie;let L=d?new Array(e.length).fill(Kt):Kt;const P=()=>{if(_.active)if(t){const A=_.run();(s||a||(d?A.some(($,D)=>It($,L[D])):It(A,L)))&&(p&&p(),xe(t,l,3,[A,L===Kt?void 0:d&&L[0]===Kt?[]:L,y]),L=A)}else _.run()};P.allowRecurse=!!t;let W;r==="sync"?W=P:r==="post"?W=()=>de(P,l&&l.suspense):(P.pre=!0,l&&(P.id=l.uid),W=()=>is(P));const _=new Xn(f,W);t?n?P():L=_.run():r==="post"?de(_.run.bind(_),l&&l.suspense):_.run();const E=()=>{_.stop(),l&&l.scope&&Vn(l.scope.effects,_)};return R&&R.push(E),E}function Fo(e,t,n){const s=this.proxy,r=re(e)?e.includes(".")?Fr(s,e):()=>s[e]:e.bind(s,s);let i;U(t)?i=t:(i=t.handler,n=t);const o=se;_t(this);const l=hn(r,i.bind(s),n);return o?_t(o):rt(),l}function Fr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{ct(n,t)});else if(cr(e))for(const n in e)ct(e[n],t);return e}function Mo(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return mn(()=>{e.isMounted=!0}),$r(()=>{e.isUnmounting=!0}),e}const ye=[Function,Array],So={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ye,onEnter:ye,onAfterEnter:ye,onEnterCancelled:ye,onBeforeLeave:ye,onLeave:ye,onAfterLeave:ye,onLeaveCancelled:ye,onBeforeAppear:ye,onAppear:ye,onAfterAppear:ye,onAppearCancelled:ye},setup(e,{slots:t}){const n=ti(),s=Mo();let r;return()=>{const i=t.default&&Lr(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const P of i)if(P.type!==be){o=P;break}}const l=z(e),{mode:f}=l;if(s.isLeaving)return En(o);const a=As(o);if(!a)return En(o);const d=Ln(a,l,s,n);Nn(a,d);const p=n.subTree,y=p&&As(p);let R=!1;const{getTransitionKey:L}=a.type;if(L){const P=L();r===void 0?r=P:P!==r&&(r=P,R=!0)}if(y&&y.type!==be&&(!et(a,y)||R)){const P=Ln(y,l,s,n);if(Nn(y,P),f==="out-in")return s.isLeaving=!0,P.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},En(o);f==="in-out"&&a.type!==be&&(P.delayLeave=(W,_,E)=>{const A=Sr(s,y);A[String(y.key)]=y,W._leaveCb=()=>{_(),W._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=E})}return o}}},Mr=So;function Sr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Ln(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:y,onAfterLeave:R,onLeaveCancelled:L,onBeforeAppear:P,onAppear:W,onAfterAppear:_,onAppearCancelled:E}=t,A=String(e.key),$=Sr(n,e),D=(T,B)=>{T&&xe(T,s,9,B)},Z=(T,B)=>{const j=B[1];D(T,B),N(T)?T.every(Y=>Y.length<=1)&&j():T.length<=1&&j()},q={mode:i,persisted:o,beforeEnter(T){let B=l;if(!n.isMounted)if(r)B=P||l;else return;T._leaveCb&&T._leaveCb(!0);const j=$[A];j&&et(e,j)&&j.el._leaveCb&&j.el._leaveCb(),D(B,[T])},enter(T){let B=f,j=a,Y=d;if(!n.isMounted)if(r)B=W||f,j=_||a,Y=E||d;else return;let I=!1;const K=T._enterCb=F=>{I||(I=!0,F?D(Y,[T]):D(j,[T]),q.delayedLeave&&q.delayedLeave(),T._enterCb=void 0)};B?Z(B,[T,K]):K()},leave(T,B){const j=String(e.key);if(T._enterCb&&T._enterCb(!0),n.isUnmounting)return B();D(p,[T]);let Y=!1;const I=T._leaveCb=K=>{Y||(Y=!0,B(),K?D(L,[T]):D(R,[T]),T._leaveCb=void 0,$[j]===e&&delete $[j])};$[j]=e,y?Z(y,[T,I]):I()},clone(T){return Ln(T,t,n,s)}};return q}function En(e){if(pn(e))return e=Ve(e),e.children=null,e}function As(e){return pn(e)?e.children?e.children[0]:void 0:e}function Nn(e,t){e.shapeFlag&6&&e.component?Nn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Lr(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader,pn=e=>e.type.__isKeepAlive;function Lo(e,t){Hr(e,"a",t)}function No(e,t){Hr(e,"da",t)}function Hr(e,t,n=se){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(gn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)pn(r.parent.vnode)&&Ho(s,t,n,r),r=r.parent}}function Ho(e,t,n,s){const r=gn(t,e,s,!0);_n(()=>{Vn(s[t],r)},n)}function gn(e,t,n=se,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;bt(),_t(n);const l=xe(t,n,e,o);return rt(),yt(),l});return s?r.unshift(i):r.push(i),i}}const $e=e=>(t,n=se)=>(!St||e==="sp")&&gn(e,(...s)=>t(...s),n),$o=$e("bm"),mn=$e("m"),jo=$e("bu"),Uo=$e("u"),$r=$e("bum"),_n=$e("um"),Bo=$e("sp"),Do=$e("rtg"),Ko=$e("rtc");function ko(e,t=se){gn("ec",e,t)}function Fe(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;ot(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,f=o.length;lsn(t)?!(t.type===be||t.type===he&&!Br(t.children)):!0)?e:null}function Sc(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:Vt(s)]=e[s];return n}const Hn=e=>e?ni(e)?us(e)||e.proxy:Hn(e.parent):null,Tt=ce(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Hn(e.parent),$root:e=>Hn(e.root),$emit:e=>e.emit,$options:e=>ls(e),$forceUpdate:e=>e.f||(e.f=()=>is(e.update)),$nextTick:e=>e.n||(e.n=Ar.bind(e.proxy)),$watch:e=>Fo.bind(e)}),vn=(e,t)=>e!==te&&!e.__isScriptSetup&&V(e,t),Wo={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:f}=e;let a;if(t[0]!=="$"){const R=o[t];if(R!==void 0)switch(R){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(vn(s,t))return o[t]=1,s[t];if(r!==te&&V(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&V(a,t))return o[t]=3,i[t];if(n!==te&&V(n,t))return o[t]=4,n[t];$n&&(o[t]=0)}}const d=Tt[t];let p,y;if(d)return t==="$attrs"&&pe(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==te&&V(n,t))return o[t]=4,n[t];if(y=f.config.globalProperties,V(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return vn(r,t)?(r[t]=n,!0):s!==te&&V(s,t)?(s[t]=n,!0):V(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==te&&V(e,o)||vn(t,o)||(l=i[0])&&V(l,o)||V(s,o)||V(Tt,o)||V(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:V(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let $n=!0;function qo(e){const t=ls(e),n=e.proxy,s=e.ctx;$n=!1,t.beforeCreate&&Is(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:f,inject:a,created:d,beforeMount:p,mounted:y,beforeUpdate:R,updated:L,activated:P,deactivated:W,beforeDestroy:_,beforeUnmount:E,destroyed:A,unmounted:$,render:D,renderTracked:Z,renderTriggered:q,errorCaptured:T,serverPrefetch:B,expose:j,inheritAttrs:Y,components:I,directives:K,filters:F}=t;if(a&&Vo(a,s,null,e.appContext.config.unwrapInjectedRef),o)for(const ne in o){const Q=o[ne];U(Q)&&(s[ne]=Q.bind(n))}if(r){const ne=r.call(n,n);ee(ne)&&(e.data=fn(ne))}if($n=!0,i)for(const ne in i){const Q=i[ne],ze=U(Q)?Q.bind(n,n):U(Q.get)?Q.get.bind(n,n):Ie,Nt=!U(Q)&&U(Q.set)?Q.set.bind(n):Ie,Ye=ve({get:ze,set:Nt});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Oe=>Ye.value=Oe})}if(l)for(const ne in l)Dr(l[ne],s,n,ne);if(f){const ne=U(f)?f.call(n):f;Reflect.ownKeys(ne).forEach(Q=>{Oo(Q,ne[Q])})}d&&Is(d,e,"c");function J(ne,Q){N(Q)?Q.forEach(ze=>ne(ze.bind(n))):Q&&ne(Q.bind(n))}if(J($o,p),J(mn,y),J(jo,R),J(Uo,L),J(Lo,P),J(No,W),J(ko,T),J(Ko,Z),J(Do,q),J($r,E),J(_n,$),J(Bo,B),N(j))if(j.length){const ne=e.exposed||(e.exposed={});j.forEach(Q=>{Object.defineProperty(ne,Q,{get:()=>n[Q],set:ze=>n[Q]=ze})})}else e.exposed||(e.exposed={});D&&e.render===Ie&&(e.render=D),Y!=null&&(e.inheritAttrs=Y),I&&(e.components=I),K&&(e.directives=K)}function Vo(e,t,n=Ie,s=!1){N(e)&&(e=jn(e));for(const r in e){const i=e[r];let o;ee(i)?"default"in i?o=ht(i.from||r,i.default,!0):o=ht(i.from||r):o=ht(i),oe(o)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:l=>o.value=l}):t[r]=o}}function Is(e,t,n){xe(N(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Dr(e,t,n,s){const r=s.includes(".")?Fr(n,s):()=>n[s];if(re(e)){const i=t[e];U(i)&&zt(r,i)}else if(U(e))zt(r,e.bind(n));else if(ee(e))if(N(e))e.forEach(i=>Dr(i,t,n,s));else{const i=U(e.handler)?e.handler.bind(n):t[e.handler];U(i)&&zt(r,i,e)}}function ls(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let f;return l?f=l:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(a=>tn(f,a,o,!0)),tn(f,t,o)),ee(t)&&i.set(t,f),f}function tn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&tn(e,i,n,!0),r&&r.forEach(o=>tn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=zo[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const zo={data:Os,props:Qe,emits:Qe,methods:Qe,computed:Qe,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Qe,directives:Qe,watch:Jo,provide:Os,inject:Yo};function Os(e,t){return t?e?function(){return ce(U(e)?e.call(this,this):e,U(t)?t.call(this,this):t)}:t:e}function Yo(e,t){return Qe(jn(e),jn(t))}function jn(e){if(N(e)){const t={};for(let n=0;n0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{f=!0;const[y,R]=kr(p,t,!0);ce(o,y),R&&l.push(...R)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!f)return ee(e)&&s.set(e,ft),ft;if(N(i))for(let d=0;d-1,R[1]=P<0||L-1||V(R,"default"))&&l.push(p)}}}const a=[o,l];return ee(e)&&s.set(e,a),a}function Ps(e){return e[0]!=="$"}function Fs(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ms(e,t){return Fs(e)===Fs(t)}function Ss(e,t){return N(t)?t.findIndex(n=>Ms(n,e)):U(t)&&Ms(t,e)?0:-1}const Wr=e=>e[0]==="_"||e==="$stable",cs=e=>N(e)?e.map(Te):[Te(e)],Qo=(e,t,n)=>{if(t._n)return t;const s=Eo((...r)=>cs(t(...r)),n);return s._c=!1,s},qr=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Wr(r))continue;const i=e[r];if(U(i))t[r]=Qo(r,i,s);else if(i!=null){const o=cs(i);t[r]=()=>o}}},Vr=(e,t)=>{const n=cs(t);e.slots.default=()=>n},Go=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=z(t),Xt(t,"_",n)):qr(t,e.slots={})}else e.slots={},t&&Vr(e,t);Xt(e.slots,bn,1)},el=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(ce(r,t),!n&&l===1&&delete r._):(i=!t.$stable,qr(t,r)),o=t}else t&&(Vr(e,t),o={default:1});if(i)for(const l in r)!Wr(l)&&!(l in o)&&delete r[l]};function zr(){return{app:null,config:{isNativeTag:xi,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let tl=0;function nl(e,t){return function(s,r=null){U(s)||(s=Object.assign({},s)),r!=null&&!ee(r)&&(r=null);const i=zr(),o=new Set;let l=!1;const f=i.app={_uid:tl++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:El,get config(){return i.config},set config(a){},use(a,...d){return o.has(a)||(a&&U(a.install)?(o.add(a),a.install(f,...d)):U(a)&&(o.add(a),a(f,...d))),f},mixin(a){return i.mixins.includes(a)||i.mixins.push(a),f},component(a,d){return d?(i.components[a]=d,f):i.components[a]},directive(a,d){return d?(i.directives[a]=d,f):i.directives[a]},mount(a,d,p){if(!l){const y=le(s,r);return y.appContext=i,d&&t?t(y,a):e(y,a,p),l=!0,f._container=a,a.__vue_app__=f,us(y.component)||y.component.proxy}},unmount(){l&&(e(null,f._container),delete f._container.__vue_app__)},provide(a,d){return i.provides[a]=d,f}};return f}}function nn(e,t,n,s,r=!1){if(N(e)){e.forEach((y,R)=>nn(y,t&&(N(t)?t[R]:t),n,s,r));return}if(pt(s)&&!r)return;const i=s.shapeFlag&4?us(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:f}=e,a=t&&t.r,d=l.refs===te?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==f&&(re(a)?(d[a]=null,V(p,a)&&(p[a]=null)):oe(a)&&(a.value=null)),U(f))We(f,l,12,[o,d]);else{const y=re(f),R=oe(f);if(y||R){const L=()=>{if(e.f){const P=y?V(p,f)?p[f]:d[f]:f.value;r?N(P)&&Vn(P,i):N(P)?P.includes(i)||P.push(i):y?(d[f]=[i],V(p,f)&&(p[f]=d[f])):(f.value=[i],e.k&&(d[e.k]=f.value))}else y?(d[f]=o,V(p,f)&&(p[f]=o)):R&&(f.value=o,e.k&&(d[e.k]=o))};o?(L.id=-1,de(L,n)):L()}}}let Ue=!1;const kt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Wt=e=>e.nodeType===8;function sl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:f,createComment:a}}=e,d=(_,E)=>{if(!E.hasChildNodes()){n(null,_,E),Gt(),E._vnode=_;return}Ue=!1,p(E.firstChild,_,null,null,null),Gt(),E._vnode=_,Ue&&console.error("Hydration completed but contains mismatches.")},p=(_,E,A,$,D,Z=!1)=>{const q=Wt(_)&&_.data==="[",T=()=>P(_,E,A,$,D,q),{type:B,ref:j,shapeFlag:Y,patchFlag:I}=E;let K=_.nodeType;E.el=_,I===-2&&(Z=!1,E.dynamicChildren=null);let F=null;switch(B){case mt:K!==3?E.children===""?(f(E.el=r(""),o(_),_),F=_):F=T():(_.data!==E.children&&(Ue=!0,_.data=E.children),F=i(_));break;case be:K!==8||q?F=T():F=i(_);break;case At:if(q&&(_=i(_),K=_.nodeType),K===1||K===3){F=_;const ge=!E.children.length;for(let J=0;J{Z=Z||!!E.dynamicChildren;const{type:q,props:T,patchFlag:B,shapeFlag:j,dirs:Y}=E,I=q==="input"&&Y||q==="option";if(I||B!==-1){if(Y&&Fe(E,null,A,"created"),T)if(I||!Z||B&48)for(const F in T)(I&&F.endsWith("value")||Lt(F)&&!Et(F))&&s(_,F,null,T[F],!1,void 0,A);else T.onClick&&s(_,"onClick",null,T.onClick,!1,void 0,A);let K;if((K=T&&T.onVnodeBeforeMount)&&we(K,A,E),Y&&Fe(E,null,A,"beforeMount"),((K=T&&T.onVnodeMounted)||Y)&&Pr(()=>{K&&we(K,A,E),Y&&Fe(E,null,A,"mounted")},$),j&16&&!(T&&(T.innerHTML||T.textContent))){let F=R(_.firstChild,E,_,A,$,D,Z);for(;F;){Ue=!0;const ge=F;F=F.nextSibling,l(ge)}}else j&8&&_.textContent!==E.children&&(Ue=!0,_.textContent=E.children)}return _.nextSibling},R=(_,E,A,$,D,Z,q)=>{q=q||!!E.dynamicChildren;const T=E.children,B=T.length;for(let j=0;j{const{slotScopeIds:q}=E;q&&(D=D?D.concat(q):q);const T=o(_),B=R(i(_),E,T,A,$,D,Z);return B&&Wt(B)&&B.data==="]"?i(E.anchor=B):(Ue=!0,f(E.anchor=a("]"),T,B),B)},P=(_,E,A,$,D,Z)=>{if(Ue=!0,E.el=null,Z){const B=W(_);for(;;){const j=i(_);if(j&&j!==B)l(j);else break}}const q=i(_),T=o(_);return l(_),n(null,E,T,q,A,$,kt(T),D),q},W=_=>{let E=0;for(;_;)if(_=i(_),_&&Wt(_)&&(_.data==="["&&E++,_.data==="]")){if(E===0)return i(_);E--}return _};return[d,p]}const de=Pr;function rl(e){return il(e,sl)}function il(e,t){const n=Pi();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:f,setText:a,setElementText:d,parentNode:p,nextSibling:y,setScopeId:R=Ie,insertStaticContent:L}=e,P=(c,u,h,m=null,g=null,C=null,v=!1,w=null,x=!!u.dynamicChildren)=>{if(c===u)return;c&&!et(c,u)&&(m=Ht(c),Oe(c,g,C,!0),c=null),u.patchFlag===-2&&(x=!1,u.dynamicChildren=null);const{type:b,ref:M,shapeFlag:O}=u;switch(b){case mt:W(c,u,h,m);break;case be:_(c,u,h,m);break;case At:c==null&&E(u,h,m,v);break;case he:I(c,u,h,m,g,C,v,w,x);break;default:O&1?D(c,u,h,m,g,C,v,w,x):O&6?K(c,u,h,m,g,C,v,w,x):(O&64||O&128)&&b.process(c,u,h,m,g,C,v,w,x,ot)}M!=null&&g&&nn(M,c&&c.ref,C,u||c,!u)},W=(c,u,h,m)=>{if(c==null)s(u.el=l(u.children),h,m);else{const g=u.el=c.el;u.children!==c.children&&a(g,u.children)}},_=(c,u,h,m)=>{c==null?s(u.el=f(u.children||""),h,m):u.el=c.el},E=(c,u,h,m)=>{[c.el,c.anchor]=L(c.children,u,h,m,c.el,c.anchor)},A=({el:c,anchor:u},h,m)=>{let g;for(;c&&c!==u;)g=y(c),s(c,h,m),c=g;s(u,h,m)},$=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=y(c),r(c),c=h;r(u)},D=(c,u,h,m,g,C,v,w,x)=>{v=v||u.type==="svg",c==null?Z(u,h,m,g,C,v,w,x):B(c,u,g,C,v,w,x)},Z=(c,u,h,m,g,C,v,w)=>{let x,b;const{type:M,props:O,shapeFlag:S,transition:H,dirs:k}=c;if(x=c.el=o(c.type,C,O&&O.is,O),S&8?d(x,c.children):S&16&&T(c.children,x,null,m,g,C&&M!=="foreignObject",v,w),k&&Fe(c,null,m,"created"),q(x,c,c.scopeId,v,m),O){for(const X in O)X!=="value"&&!Et(X)&&i(x,X,null,O[X],C,c.children,m,g,Le);"value"in O&&i(x,"value",null,O.value),(b=O.onVnodeBeforeMount)&&we(b,m,c)}k&&Fe(c,null,m,"beforeMount");const G=(!g||g&&!g.pendingBranch)&&H&&!H.persisted;G&&H.beforeEnter(x),s(x,u,h),((b=O&&O.onVnodeMounted)||G||k)&&de(()=>{b&&we(b,m,c),G&&H.enter(x),k&&Fe(c,null,m,"mounted")},g)},q=(c,u,h,m,g)=>{if(h&&R(c,h),m)for(let C=0;C{for(let b=x;b{const w=u.el=c.el;let{patchFlag:x,dynamicChildren:b,dirs:M}=u;x|=c.patchFlag&16;const O=c.props||te,S=u.props||te;let H;h&&Je(h,!1),(H=S.onVnodeBeforeUpdate)&&we(H,h,u,c),M&&Fe(u,c,h,"beforeUpdate"),h&&Je(h,!0);const k=g&&u.type!=="foreignObject";if(b?j(c.dynamicChildren,b,w,h,m,k,C):v||Q(c,u,w,null,h,m,k,C,!1),x>0){if(x&16)Y(w,u,O,S,h,m,g);else if(x&2&&O.class!==S.class&&i(w,"class",null,S.class,g),x&4&&i(w,"style",O.style,S.style,g),x&8){const G=u.dynamicProps;for(let X=0;X{H&&we(H,h,u,c),M&&Fe(u,c,h,"updated")},m)},j=(c,u,h,m,g,C,v)=>{for(let w=0;w{if(h!==m){if(h!==te)for(const w in h)!Et(w)&&!(w in m)&&i(c,w,h[w],null,v,u.children,g,C,Le);for(const w in m){if(Et(w))continue;const x=m[w],b=h[w];x!==b&&w!=="value"&&i(c,w,b,x,v,u.children,g,C,Le)}"value"in m&&i(c,"value",h.value,m.value)}},I=(c,u,h,m,g,C,v,w,x)=>{const b=u.el=c?c.el:l(""),M=u.anchor=c?c.anchor:l("");let{patchFlag:O,dynamicChildren:S,slotScopeIds:H}=u;H&&(w=w?w.concat(H):H),c==null?(s(b,h,m),s(M,h,m),T(u.children,h,M,g,C,v,w,x)):O>0&&O&64&&S&&c.dynamicChildren?(j(c.dynamicChildren,S,h,g,C,v,w),(u.key!=null||g&&u===g.subTree)&&Yr(c,u,!0)):Q(c,u,h,M,g,C,v,w,x)},K=(c,u,h,m,g,C,v,w,x)=>{u.slotScopeIds=w,c==null?u.shapeFlag&512?g.ctx.activate(u,h,m,v,x):F(u,h,m,g,C,v,x):ge(c,u,x)},F=(c,u,h,m,g,C,v)=>{const w=c.component=pl(c,m,g);if(pn(c)&&(w.ctx.renderer=ot),gl(w),w.asyncDep){if(g&&g.registerDep(w,J),!c.el){const x=w.subTree=le(be);_(null,x,u,h)}return}J(w,c,u,h,g,C,v)},ge=(c,u,h)=>{const m=u.component=c.component;if(Ao(c,u,h))if(m.asyncDep&&!m.asyncResolved){ne(m,u,h);return}else m.next=u,yo(m.update),m.update();else u.el=c.el,m.vnode=u},J=(c,u,h,m,g,C,v)=>{const w=()=>{if(c.isMounted){let{next:M,bu:O,u:S,parent:H,vnode:k}=c,G=M,X;Je(c,!1),M?(M.el=k.el,ne(c,M,v)):M=k,O&&Cn(O),(X=M.props&&M.props.onVnodeBeforeUpdate)&&we(X,H,M,k),Je(c,!0);const ie=xn(c),Ee=c.subTree;c.subTree=ie,P(Ee,ie,p(Ee.el),Ht(Ee),c,g,C),M.el=ie.el,G===null&&Ro(c,ie.el),S&&de(S,g),(X=M.props&&M.props.onVnodeUpdated)&&de(()=>we(X,H,M,k),g)}else{let M;const{el:O,props:S}=u,{bm:H,m:k,parent:G}=c,X=pt(u);if(Je(c,!1),H&&Cn(H),!X&&(M=S&&S.onVnodeBeforeMount)&&we(M,G,u),Je(c,!0),O&&wn){const ie=()=>{c.subTree=xn(c),wn(O,c.subTree,c,g,null)};X?u.type.__asyncLoader().then(()=>!c.isUnmounted&&ie()):ie()}else{const ie=c.subTree=xn(c);P(null,ie,h,m,c,g,C),u.el=ie.el}if(k&&de(k,g),!X&&(M=S&&S.onVnodeMounted)){const ie=u;de(()=>we(M,G,ie),g)}(u.shapeFlag&256||G&&pt(G.vnode)&&G.vnode.shapeFlag&256)&&c.a&&de(c.a,g),c.isMounted=!0,u=h=m=null}},x=c.effect=new Xn(w,()=>is(b),c.scope),b=c.update=()=>x.run();b.id=c.uid,Je(c,!0),b()},ne=(c,u,h)=>{u.component=c;const m=c.vnode.props;c.vnode=u,c.next=null,Zo(c,u.props,m,h),el(c,u.children,h),bt(),vs(),yt()},Q=(c,u,h,m,g,C,v,w,x=!1)=>{const b=c&&c.children,M=c?c.shapeFlag:0,O=u.children,{patchFlag:S,shapeFlag:H}=u;if(S>0){if(S&128){Nt(b,O,h,m,g,C,v,w,x);return}else if(S&256){ze(b,O,h,m,g,C,v,w,x);return}}H&8?(M&16&&Le(b,g,C),O!==b&&d(h,O)):M&16?H&16?Nt(b,O,h,m,g,C,v,w,x):Le(b,g,C,!0):(M&8&&d(h,""),H&16&&T(O,h,m,g,C,v,w,x))},ze=(c,u,h,m,g,C,v,w,x)=>{c=c||ft,u=u||ft;const b=c.length,M=u.length,O=Math.min(b,M);let S;for(S=0;SM?Le(c,g,C,!0,!1,O):T(u,h,m,g,C,v,w,x,O)},Nt=(c,u,h,m,g,C,v,w,x)=>{let b=0;const M=u.length;let O=c.length-1,S=M-1;for(;b<=O&&b<=S;){const H=c[b],k=u[b]=x?Ke(u[b]):Te(u[b]);if(et(H,k))P(H,k,h,null,g,C,v,w,x);else break;b++}for(;b<=O&&b<=S;){const H=c[O],k=u[S]=x?Ke(u[S]):Te(u[S]);if(et(H,k))P(H,k,h,null,g,C,v,w,x);else break;O--,S--}if(b>O){if(b<=S){const H=S+1,k=HS)for(;b<=O;)Oe(c[b],g,C,!0),b++;else{const H=b,k=b,G=new Map;for(b=k;b<=S;b++){const me=u[b]=x?Ke(u[b]):Te(u[b]);me.key!=null&&G.set(me.key,b)}let X,ie=0;const Ee=S-k+1;let lt=!1,hs=0;const wt=new Array(Ee);for(b=0;b=Ee){Oe(me,g,C,!0);continue}let Pe;if(me.key!=null)Pe=G.get(me.key);else for(X=k;X<=S;X++)if(wt[X-k]===0&&et(me,u[X])){Pe=X;break}Pe===void 0?Oe(me,g,C,!0):(wt[Pe-k]=b+1,Pe>=hs?hs=Pe:lt=!0,P(me,u[Pe],h,null,g,C,v,w,x),ie++)}const ps=lt?ol(wt):ft;for(X=ps.length-1,b=Ee-1;b>=0;b--){const me=k+b,Pe=u[me],gs=me+1{const{el:C,type:v,transition:w,children:x,shapeFlag:b}=c;if(b&6){Ye(c.component.subTree,u,h,m);return}if(b&128){c.suspense.move(u,h,m);return}if(b&64){v.move(c,u,h,ot);return}if(v===he){s(C,u,h);for(let O=0;Ow.enter(C),g);else{const{leave:O,delayLeave:S,afterLeave:H}=w,k=()=>s(C,u,h),G=()=>{O(C,()=>{k(),H&&H()})};S?S(C,k,G):G()}else s(C,u,h)},Oe=(c,u,h,m=!1,g=!1)=>{const{type:C,props:v,ref:w,children:x,dynamicChildren:b,shapeFlag:M,patchFlag:O,dirs:S}=c;if(w!=null&&nn(w,null,h,c,!0),M&256){u.ctx.deactivate(c);return}const H=M&1&&S,k=!pt(c);let G;if(k&&(G=v&&v.onVnodeBeforeUnmount)&&we(G,u,c),M&6)gi(c.component,h,m);else{if(M&128){c.suspense.unmount(h,m);return}H&&Fe(c,null,u,"beforeUnmount"),M&64?c.type.remove(c,u,h,g,ot,m):b&&(C!==he||O>0&&O&64)?Le(b,u,h,!1,!0):(C===he&&O&384||!g&&M&16)&&Le(x,u,h),m&&as(c)}(k&&(G=v&&v.onVnodeUnmounted)||H)&&de(()=>{G&&we(G,u,c),H&&Fe(c,null,u,"unmounted")},h)},as=c=>{const{type:u,el:h,anchor:m,transition:g}=c;if(u===he){pi(h,m);return}if(u===At){$(c);return}const C=()=>{r(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(c.shapeFlag&1&&g&&!g.persisted){const{leave:v,delayLeave:w}=g,x=()=>v(h,C);w?w(c.el,C,x):x()}else C()},pi=(c,u)=>{let h;for(;c!==u;)h=y(c),r(c),c=h;r(u)},gi=(c,u,h)=>{const{bum:m,scope:g,update:C,subTree:v,um:w}=c;m&&Cn(m),g.stop(),C&&(C.active=!1,Oe(v,c,u,h)),w&&de(w,u),de(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Le=(c,u,h,m=!1,g=!1,C=0)=>{for(let v=C;vc.shapeFlag&6?Ht(c.component.subTree):c.shapeFlag&128?c.suspense.next():y(c.anchor||c.el),ds=(c,u,h)=>{c==null?u._vnode&&Oe(u._vnode,null,null,!0):P(u._vnode||null,c,u,null,null,null,h),vs(),Gt(),u._vnode=c},ot={p:P,um:Oe,m:Ye,r:as,mt:F,mc:T,pc:Q,pbc:j,n:Ht,o:e};let yn,wn;return t&&([yn,wn]=t(ot)),{render:ds,hydrate:yn,createApp:nl(ds,yn)}}function Je({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Yr(e,t,n=!1){const s=e.children,r=t.children;if(N(s)&&N(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const ll=e=>e.__isTeleport,he=Symbol(void 0),mt=Symbol(void 0),be=Symbol(void 0),At=Symbol(void 0),Rt=[];let Re=null;function Jr(e=!1){Rt.push(Re=e?null:[])}function cl(){Rt.pop(),Re=Rt[Rt.length-1]||null}let Mt=1;function Ls(e){Mt+=e}function Xr(e){return e.dynamicChildren=Mt>0?Re||ft:null,cl(),Mt>0&&Re&&Re.push(e),e}function Lc(e,t,n,s,r,i){return Xr(Gr(e,t,n,s,r,i,!0))}function Zr(e,t,n,s,r){return Xr(le(e,t,n,s,r,!0))}function sn(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const bn="__vInternal",Qr=({key:e})=>e??null,Yt=({ref:e,ref_key:t,ref_for:n})=>e!=null?re(e)||oe(e)||U(e)?{i:ue,r:e,k:t,f:!!n}:e:null;function Gr(e,t=null,n=null,s=0,r=null,i=e===he?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qr(t),ref:t&&Yt(t),scopeId:dn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ue};return l?(fs(f,n),i&128&&e.normalize(f)):n&&(f.shapeFlag|=re(n)?8:16),Mt>0&&!o&&Re&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&Re.push(f),f}const le=fl;function fl(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===jr)&&(e=be),sn(e)){const l=Ve(e,t,!0);return n&&fs(l,n),Mt>0&&!i&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(yl(e)&&(e=e.__vccOpts),t){t=ul(t);let{class:l,style:f}=t;l&&!re(l)&&(t.class=Wn(l)),ee(f)&&(wr(f)&&!N(f)&&(f=ce({},f)),t.style=kn(f))}const o=re(e)?1:Io(e)?128:ll(e)?64:ee(e)?4:U(e)?2:0;return Gr(e,t,n,s,r,o,i,!0)}function ul(e){return e?wr(e)||bn in e?ce({},e):e:null}function Ve(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?al(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Qr(l),ref:t&&t.ref?n&&r?N(r)?r.concat(Yt(t)):[r,Yt(t)]:Yt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==he?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ve(e.ssContent),ssFallback:e.ssFallback&&Ve(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ei(e=" ",t=0){return le(mt,null,e,t)}function Nc(e,t){const n=le(At,null,e);return n.staticCount=t,n}function Hc(e="",t=!1){return t?(Jr(),Zr(be,null,e)):le(be,null,e)}function Te(e){return e==null||typeof e=="boolean"?le(be):N(e)?le(he,null,e.slice()):typeof e=="object"?Ke(e):le(mt,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ve(e)}function fs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(N(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),fs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(bn in t)?t._ctx=ue:r===3&&ue&&(ue.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else U(t)?(t={default:t,_ctx:ue},n=32):(t=String(t),s&64?(n=16,t=[ei(t)]):n=8);e.children=t,e.shapeFlag|=n}function al(...e){const t={};for(let n=0;nse||ue,_t=e=>{se=e,e.scope.on()},rt=()=>{se&&se.scope.off(),se=null};function ni(e){return e.vnode.shapeFlag&4}let St=!1;function gl(e,t=!1){St=t;const{props:n,children:s}=e.vnode,r=ni(e);Xo(e,n,r,t),Go(e,s);const i=r?ml(e,t):void 0;return St=!1,i}function ml(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=vt(new Proxy(e.ctx,Wo));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?ri(e):null;_t(e),bt();const i=We(s,e,0,[e.props,r]);if(yt(),rt(),or(i)){if(i.then(rt,rt),t)return i.then(o=>{Ns(e,o,t)}).catch(o=>{un(o,e,0)});e.asyncDep=i}else Ns(e,i,t)}else si(e,t)}function Ns(e,t,n){U(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=Er(t)),si(e,n)}let Hs;function si(e,t,n){const s=e.type;if(!e.render){if(!t&&Hs&&!s.render){const r=s.template||ls(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:f}=s,a=ce(ce({isCustomElement:i,delimiters:l},o),f);s.render=Hs(r,a)}}e.render=s.render||Ie}_t(e),bt(),qo(e),yt(),rt()}function _l(e){return new Proxy(e.attrs,{get(t,n){return pe(e,"get","$attrs"),t[n]}})}function ri(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=_l(e))},slots:e.slots,emit:e.emit,expose:t}}function us(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Er(vt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Tt)return Tt[n](e)},has(t,n){return n in t||n in Tt}}))}function bl(e,t=!0){return U(e)?e.displayName||e.name:e.name||t&&e.__name}function yl(e){return U(e)&&"__vccOpts"in e}const ve=(e,t)=>mo(e,t,St);function $c(){return wl().slots}function wl(){const e=ti();return e.setupContext||(e.setupContext=ri(e))}function Bn(e,t,n){const s=arguments.length;return s===2?ee(t)&&!N(t)?sn(t)?le(e,null,[t]):le(e,t):le(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&sn(n)&&(n=[n]),le(e,t,n))}const Cl=Symbol(""),xl=()=>ht(Cl),El="3.2.47",vl="http://www.w3.org/2000/svg",tt=typeof document<"u"?document:null,$s=tt&&tt.createElement("template"),Tl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?tt.createElementNS(vl,e):tt.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>tt.createTextNode(e),createComment:e=>tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{$s.innerHTML=s?`${e}`:e;const l=$s.content;if(s){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Al(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Rl(e,t,n){const s=e.style,r=re(n);if(n&&!r){if(t&&!re(t))for(const i in t)n[i]==null&&Dn(s,i,"");for(const i in n)Dn(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const js=/\s*!important$/;function Dn(e,t,n){if(N(n))n.forEach(s=>Dn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Il(e,t);js.test(n)?e.setProperty(it(s),n.replace(js,""),"important"):e[s]=n}}const Us=["Webkit","Moz","ms"],Tn={};function Il(e,t){const n=Tn[t];if(n)return n;let s=Se(t);if(s!=="filter"&&s in e)return Tn[t]=s;s=ln(s);for(let r=0;rAn||(Nl.then(()=>An=0),An=Date.now());function $l(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;xe(jl(s,n.value),t,5,[s])};return n.value=e,n.attached=Hl(),n}function jl(e,t){if(N(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Ks=/^on[a-z]/,Ul=(e,t,n,s,r=!1,i,o,l,f)=>{t==="class"?Al(e,s,r):t==="style"?Rl(e,n,s):Lt(t)?qn(t)||Sl(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Bl(e,t,s,r))?Pl(e,t,s,i,o,l,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ol(e,t,s,r))};function Bl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Ks.test(t)&&U(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Ks.test(t)&&re(n)?!1:t in e}const Be="transition",Ct="animation",ii=(e,{slots:t})=>Bn(Mr,Dl(e),t);ii.displayName="Transition";const oi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ii.props=ce({},Mr.props,oi);const Xe=(e,t=[])=>{N(e)?e.forEach(n=>n(...t)):e&&e(...t)},ks=e=>e?N(e)?e.some(t=>t.length>1):e.length>1:!1;function Dl(e){const t={};for(const I in e)I in oi||(t[I]=e[I]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:f=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:R=`${n}-leave-to`}=e,L=Kl(r),P=L&&L[0],W=L&&L[1],{onBeforeEnter:_,onEnter:E,onEnterCancelled:A,onLeave:$,onLeaveCancelled:D,onBeforeAppear:Z=_,onAppear:q=E,onAppearCancelled:T=A}=t,B=(I,K,F)=>{Ze(I,K?d:l),Ze(I,K?a:o),F&&F()},j=(I,K)=>{I._isLeaving=!1,Ze(I,p),Ze(I,R),Ze(I,y),K&&K()},Y=I=>(K,F)=>{const ge=I?q:E,J=()=>B(K,I,F);Xe(ge,[K,J]),Ws(()=>{Ze(K,I?f:i),De(K,I?d:l),ks(ge)||qs(K,s,P,J)})};return ce(t,{onBeforeEnter(I){Xe(_,[I]),De(I,i),De(I,o)},onBeforeAppear(I){Xe(Z,[I]),De(I,f),De(I,a)},onEnter:Y(!1),onAppear:Y(!0),onLeave(I,K){I._isLeaving=!0;const F=()=>j(I,K);De(I,p),ql(),De(I,y),Ws(()=>{I._isLeaving&&(Ze(I,p),De(I,R),ks($)||qs(I,s,W,F))}),Xe($,[I,F])},onEnterCancelled(I){B(I,!1),Xe(A,[I])},onAppearCancelled(I){B(I,!0),Xe(T,[I])},onLeaveCancelled(I){j(I),Xe(D,[I])}})}function Kl(e){if(e==null)return null;if(ee(e))return[Rn(e.enter),Rn(e.leave)];{const t=Rn(e);return[t,t]}}function Rn(e){return Oi(e)}function De(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Ze(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function Ws(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let kl=0;function qs(e,t,n,s){const r=e._endId=++kl,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:f}=Wl(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,y),i()},y=R=>{R.target===e&&++d>=f&&p()};setTimeout(()=>{d(n[L]||"").split(", "),r=s(`${Be}Delay`),i=s(`${Be}Duration`),o=Vs(r,i),l=s(`${Ct}Delay`),f=s(`${Ct}Duration`),a=Vs(l,f);let d=null,p=0,y=0;t===Be?o>0&&(d=Be,p=o,y=i.length):t===Ct?a>0&&(d=Ct,p=a,y=f.length):(p=Math.max(o,a),d=p>0?o>a?Be:Ct:null,y=d?d===Be?i.length:f.length:0);const R=d===Be&&/\b(transform|all)(,|$)/.test(s(`${Be}Property`).toString());return{type:d,timeout:p,propCount:y,hasTransform:R}}function Vs(e,t){for(;e.lengthzs(n)+zs(e[s])))}function zs(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function ql(){return document.body.offsetHeight}const Vl=["ctrl","shift","alt","meta"],zl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Vl.some(n=>e[`${n}Key`]&&!t.includes(n))},jc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=it(n.key);if(t.some(r=>r===s||Yl[r]===s))return e(n)},Jl=ce({patchProp:Ul},Tl);let In,Ys=!1;function Xl(){return In=Ys?In:rl(Jl),Ys=!0,In}const Bc=(...e)=>{const t=Xl().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Zl(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function Zl(e){return re(e)?document.querySelector(e):e}const Dc=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Ql="modulepreload",Gl=function(e){return"/"+e},Js={},Kc=function(t,n,s){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=Gl(i),i in Js)return;Js[i]=!0;const o=i.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!s)for(let d=r.length-1;d>=0;d--){const p=r[d];if(p.href===i&&(!o||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const a=document.createElement("link");if(a.rel=o?"stylesheet":Ql,o||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),o)return new Promise((d,p)=>{a.addEventListener("load",d),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},ec=window.__VP_SITE_DATA__,li=/^[a-z]+:/i,kc=/^pathname:\/\//,Wc="vitepress-theme-appearance",ci=/#.*$/,tc=/(index)?\.(md|html)$/,Ce=typeof document<"u",fi={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function nc(e,t,n=!1){if(t===void 0)return!1;if(e=Xs(`/${e}`),n)return new RegExp(t).test(e);if(Xs(t)!==e)return!1;const s=t.match(ci);return s?(Ce?location.hash:"")===s[0]:!0}function Xs(e){return decodeURI(e).replace(ci,"").replace(tc,"")}function sc(e){return li.test(e)}function rc(e,t){var s,r,i,o,l,f,a;const n=Object.keys(e.locales).find(d=>d!=="root"&&!sc(d)&&nc(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:ai(e.head,((f=e.locales[n])==null?void 0:f.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function ui(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=ic(e.title,s);return`${n}${r}`}function ic(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function oc(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function ai(e,t){return[...e.filter(n=>!oc(t,n)),...t]}const lc=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,cc=/^[a-z]:/i;function Zs(e){const t=cc.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(lc,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const fc=Symbol(),nt=co(ec);function qc(e){const t=ve(()=>rc(nt.value,e.data.relativePath));return{site:t,theme:ve(()=>t.value.themeConfig),page:ve(()=>e.data),frontmatter:ve(()=>e.data.frontmatter),params:ve(()=>e.data.params),lang:ve(()=>t.value.lang),dir:ve(()=>t.value.dir),localeIndex:ve(()=>t.value.localeIndex||"root"),title:ve(()=>ui(t.value,e.data)),description:ve(()=>e.data.description||t.value.description),isDark:Cr(!1)}}function Vc(){const e=ht(fc);if(!e)throw new Error("vitepress data not properly injected in app");return e}function uc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Qs(e){return li.test(e)||e.startsWith(".")?e:uc(nt.value.base,e)}function ac(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/";t=Zs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),t=`${n}assets/${t}.${s}.js`}else t=`./${Zs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let Jt=[];function zc(e){Jt.push(e),_n(()=>{Jt=Jt.filter(t=>t!==e)})}const dc=Symbol(),Gs="http://a.com",hc=()=>({path:"/",component:null,data:fi});function Yc(e,t){const n=fn(hc()),s={route:n,go:r};async function r(l=Ce?location.href:"/"){var a,d;await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l));const f=new URL(l,Gs);nt.value.cleanUrls||!f.pathname.endsWith("/")&&!f.pathname.endsWith(".html")&&(f.pathname+=".html",l=f.pathname+f.search+f.hash),Ce&&l!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l)),await o(l),await((d=s.onAfterRouteChanged)==null?void 0:d.call(s,l))}let i=null;async function o(l,f=0,a=!1){const d=new URL(l,Gs),p=i=d.pathname;try{let y=await e(p);if(i===p){i=null;const{default:R,__pageData:L}=y;if(!R)throw new Error(`Invalid route component: ${R}`);n.path=Ce?p:Qs(p),n.component=vt(R),n.data=vt(L),Ce&&Ar(()=>{let P=nt.value.base+L.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!nt.value.cleanUrls&&!P.endsWith("/")&&(P+=".html"),P!==d.pathname&&(d.pathname=P,l=P+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!f){let W=null;try{W=document.querySelector(decodeURIComponent(d.hash))}catch(_){console.warn(_)}if(W){er(W,d.hash);return}}window.scrollTo(0,f)})}}catch(y){if(!/fetch/.test(y.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(y),!a)try{const R=await fetch(nt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await R.json(),await o(l,f,!0);return}catch{}i===p&&(i=null,n.path=Ce?p:Qs(p),n.component=t?vt(t):null,n.data=fi)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:d}=a,{href:p,origin:y,pathname:R,hash:L,search:P}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),W=window.location,_=R.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&d!=="_blank"&&y===W.origin&&!(_&&_[0]!==".html")&&(l.preventDefault(),R===W.pathname&&P===W.search?L&&(L!==W.hash&&(history.pushState(null,"",L),window.dispatchEvent(new Event("hashchange"))),er(a,L,a.classList.contains("header-anchor"))):r(p))}},{capture:!0}),window.addEventListener("popstate",l=>{o(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function pc(){const e=ht(dc);if(!e)throw new Error("useRouter() is called without provider.");return e}function di(){return pc().route}function er(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(r){console.warn(r)}if(s){const r=nt.value.scrollOffset;let i=0;if(typeof r=="number")i=r;else if(typeof r=="string")i=tr(r);else if(Array.isArray(r))for(const f of r){const a=tr(f);if(a){i=a;break}}const o=parseInt(window.getComputedStyle(s).paddingTop,10),l=window.scrollY+s.getBoundingClientRect().top-i+o;!n||Math.abs(l-window.scrollY)>window.innerHeight?window.scrollTo(0,l):window.scrollTo({left:0,top:l,behavior:"smooth"})}}function tr(e){const t=document.querySelector(e);if(!t)return 0;const n=t.getBoundingClientRect().bottom;return n<0?0:n+24}const nr=()=>Jt.forEach(e=>e()),Jc=Nr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=di();return()=>Bn(e.as,{style:{position:"relative"}},[t.component?Bn(t.component,{onVnodeMounted:nr,onVnodeUpdated:nr}):"404 Page Not Found"])}});function Xc(e,t){let n=[],s=!0;const r=i=>{if(s){s=!1;return}n.forEach(o=>document.head.removeChild(o)),n=[],i.forEach(o=>{const l=gc(o);document.head.appendChild(l),n.push(l)})};Po(()=>{const i=e.data,o=t.value,l=i&&i.description,f=i&&i.frontmatter.head||[];document.title=ui(o,i),document.querySelector("meta[name=description]").setAttribute("content",l||o.description),r(ai(o.head,_c(f)))})}function gc([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function mc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function _c(e){return e.filter(t=>!mc(t))}const On=new Set,hi=()=>document.createElement("link"),bc=e=>{const t=hi();t.rel="prefetch",t.href=e,document.head.appendChild(t)},yc=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let qt;const wc=Ce&&(qt=hi())&&qt.relList&&qt.relList.supports&&qt.relList.supports("prefetch")?bc:yc;function Zc(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:f}=l;if(!On.has(f)){On.add(f);const a=ac(f);wc(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{target:o}=i,{hostname:l,pathname:f}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),a=f.match(/\.\w+$/);a&&a[0]!==".html"||o!=="_blank"&&l===location.hostname&&(f!==location.pathname?n.observe(i):On.add(f))})})};mn(s);const r=di();zt(()=>r.path,s),_n(()=>{n&&n.disconnect()})}const Qc=Nr({setup(e,{slots:t}){const n=Cr(!1);return mn(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Gc(){if(Ce){const e=new Map;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";i.querySelectorAll("span.line:not(.diff.remove)").forEach(f=>l+=(f.textContent||"")+` +`),l=l.slice(0,-1),o&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),Cc(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const f=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,f)})}})}}async function Cc(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function ef(){Ce&&window.addEventListener("click",e=>{var n,s;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement,i=Array.from((r==null?void 0:r.querySelectorAll("input"))||[]).indexOf(t),o=r==null?void 0:r.querySelector('div[class*="language-"].active'),l=(s=r==null?void 0:r.querySelectorAll('div[class*="language-"]:not(.language-id)'))==null?void 0:s[i];o&&l&&o!==l&&(o.classList.remove("active"),l.classList.add("active"))}})}export{Ic as $,Zr as A,Eo as B,Hc as C,al as D,le as E,he as F,Oc as G,kn as H,Pc as I,li as J,Ce as K,Fc as L,Ac as M,Rc as N,Nc as O,kc as P,Wc as Q,ht as R,Oo as S,ii as T,Uo as U,zc as V,co as W,Ar as X,Uc as Y,Sc as Z,Dc as _,ei as a,jc as a0,$c as a1,Xc as a2,Zc as a3,Gc as a4,ef as a5,Bn as a6,dc as a7,qc as a8,fc as a9,Jc as aa,Qc as ab,nt as ac,Bc as ad,Yc as ae,ac as af,Kc as ag,uo as b,Lc as c,Nr as d,Tc as e,yr as f,vc as g,Cr as h,Si as i,Ec as j,Po as k,ve as l,ti as m,Wn as n,Jr as o,mn as p,sc as q,Mc as r,Qs as s,xc as t,Vc as u,nc as v,zt as w,di as x,_n as y,Gr as z}; diff --git a/assets/chunks/theme.a717441a.js b/assets/chunks/theme.a717441a.js new file mode 100644 index 0000000..f929a5e --- /dev/null +++ b/assets/chunks/theme.a717441a.js @@ -0,0 +1,7 @@ +import{d as g,o as a,c as i,r,n as M,a as I,t as P,_ as p,u as Qe,b as c,e as Je,f as Ae,g as Ze,h as x,i as et,j as tt,w as q,k as Q,l as k,m as nt,p as F,q as st,P as ot,s as he,v as K,x as ee,y as fe,z as u,F as S,A as y,B as v,T as pe,C as m,D as se,E as h,G as R,H as He,I as U,J as Ee,K as at,L as N,M as H,N as E,O as ct,Q as Be,R as me,S as oe,U as lt,V as J,W as ge,X as it,Y as rt,Z as ut,$ as dt,a0 as _t,a1 as vt}from"./framework.d7e37bdc.js";const ht=g({__name:"VPBadge",props:{text:null,type:null},setup(e){return(t,n)=>(a(),i("span",{class:M(["VPBadge",e.type??"tip"])},[r(t.$slots,"default",{},()=>[I(P(e.text),1)],!0)],2))}});const ft=p(ht,[["__scopeId","data-v-25e7a79f"]]),V=Qe;function ze(e){return et()?(tt(e),!0):!1}function De(e){return typeof e=="function"?e():c(e)}const pt=typeof window<"u",Fe=()=>{};function mt(...e){if(e.length!==1)return Je(...e);const t=e[0];return typeof t=="function"?Ae(Ze(()=>({get:t,set:Fe}))):x(t)}function gt(e){var t;const n=De(e);return(t=n==null?void 0:n.$el)!=null?t:n}const ye=pt?window:void 0;function yt(...e){let t,n,s,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,o]=e,t=ye):[t,n,s,o]=e,!t)return Fe;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const l=[],d=()=>{l.forEach(L=>L()),l.length=0},f=(L,C,w,$)=>(L.addEventListener(C,w,$),()=>L.removeEventListener(C,w,$)),_=q(()=>[gt(t),De(o)],([L,C])=>{d(),L&&l.push(...n.flatMap(w=>s.map($=>f(L,w,$,C))))},{immediate:!0,flush:"post"}),b=()=>{_(),d()};return ze(b),b}function bt(){const e=x(!1);return nt()&&F(()=>{e.value=!0}),e}function kt(e){const t=bt();return k(()=>(t.value,!!e()))}function de(e,t={}){const{window:n=ye}=t,s=kt(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const l=x(!1),d=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",f):o.removeListener(f))},f=()=>{s.value&&(d(),o=n.matchMedia(mt(e).value),l.value=!!(o!=null&&o.matches),o&&("addEventListener"in o?o.addEventListener("change",f):o.addListener(f)))};return Q(f),ze(()=>d()),l}function $t({window:e=ye}={}){if(!e)return{x:x(0),y:x(0)};const t=x(e.scrollX),n=x(e.scrollY);return yt(e,"scroll",()=>{t.value=e.scrollX,n.value=e.scrollY},{capture:!1,passive:!0}),{x:t,y:n}}function Pt(e,t){let n,s=!1;return()=>{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function _e(e){return/^\//.test(e)?e:`/${e}`}function Z(e){if(st(e))return e.replace(ot,"");const{site:t}=V(),{pathname:n,search:s,hash:o}=new URL(e,"http://example.com"),l=n.endsWith("/")||n.endsWith(".html")?e:e.replace(/(?:(^\.+)\/)?.*$/,`$1${n.replace(/(\.md)?$/,t.value.cleanUrls?"":".html")}${s}${o}`);return he(l)}function Oe(e,t){if(Array.isArray(e))return e;if(e==null)return[];t=_e(t);const n=Object.keys(e).sort((s,o)=>o.split("/").length-s.split("/").length).find(s=>t.startsWith(_e(s)));return n?e[n]:[]}function Vt(e){const t=[];let n=0;for(const s in e){const o=e[s];if(o.items){n=t.push(o);continue}t[n]||t.push({items:[]}),t[n].items.push(o)}return t}function wt(e){const t=[];function n(s){for(const o of s)o.text&&o.link&&t.push({text:o.text,link:o.link}),o.items&&n(o.items)}return n(e),t}function ve(e,t){return Array.isArray(t)?t.some(n=>ve(e,n)):K(e,t.link)?!0:t.items?ve(e,t.items):!1}function z(){const e=ee(),{theme:t,frontmatter:n}=V(),s=de("(min-width: 960px)"),o=x(!1),l=k(()=>{const B=t.value.sidebar,T=e.data.relativePath;return B?Oe(B,T):[]}),d=k(()=>n.value.sidebar!==!1&&l.value.length>0&&n.value.layout!=="home"),f=k(()=>_?n.value.aside==null?t.value.aside==="left":n.value.aside==="left":!1),_=k(()=>n.value.layout==="home"?!1:n.value.aside!=null?!!n.value.aside:t.value.aside!==!1),b=k(()=>d.value&&s.value),L=k(()=>d.value?Vt(l.value):[]);function C(){o.value=!0}function w(){o.value=!1}function $(){o.value?w():C()}return{isOpen:o,sidebar:l,sidebarGroups:L,hasSidebar:d,hasAside:_,leftAside:f,isSidebarEnabled:b,open:C,close:w,toggle:$}}function xt(e,t){let n;Q(()=>{n=e.value?document.activeElement:void 0}),F(()=>{window.addEventListener("keyup",s)}),fe(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&e.value&&(t(),n==null||n.focus())}}function St(e){const{page:t}=V(),n=x(!1),s=k(()=>e.value.collapsed!=null),o=k(()=>!!e.value.link),l=k(()=>K(t.value.relativePath,e.value.link)),d=k(()=>l.value?!0:e.value.items?ve(t.value.relativePath,e.value.items):!1),f=k(()=>!!(e.value.items&&e.value.items.length));Q(()=>{n.value=!!(s.value&&e.value.collapsed)}),Q(()=>{(l.value||d.value)&&(n.value=!1)});function _(){s.value&&(n.value=!n.value)}return{collapsed:n,collapsible:s,isLink:o,isActiveLink:l,hasActiveLink:d,hasChildren:f,toggle:_}}const Lt=g({__name:"VPSkipLink",setup(e){const t=ee(),n=x();q(()=>t.path,()=>n.value.focus());function s({target:o}){const l=document.querySelector(decodeURIComponent(o.hash));if(l){const d=()=>{l.removeAttribute("tabindex"),l.removeEventListener("blur",d)};l.setAttribute("tabindex","-1"),l.addEventListener("blur",d),l.focus(),window.scrollTo(0,0)}}return(o,l)=>(a(),i(S,null,[u("span",{ref_key:"backToTop",ref:n,tabindex:"-1"},null,512),u("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}});const Mt=p(Lt,[["__scopeId","data-v-2c9ae505"]]),Ct={key:0,class:"VPBackdrop"},Bt=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(e){return(t,n)=>(a(),y(pe,{name:"fade"},{default:v(()=>[e.show?(a(),i("div",Ct)):m("",!0)]),_:1}))}});const It=p(Bt,[["__scopeId","data-v-e1d64053"]]);function Nt(){const e=x(!1);function t(){e.value=!0,window.addEventListener("resize",o)}function n(){e.value=!1,window.removeEventListener("resize",o)}function s(){e.value?n():t()}function o(){window.outerWidth>=768&&n()}const l=ee();return q(()=>l.path,n),{isScreenOpen:e,openScreen:t,closeScreen:n,toggleScreen:s}}function te({removeCurrent:e=!0,correspondingLink:t=!1}={}){const{site:n,localeIndex:s,page:o,theme:l}=V(),d=k(()=>{var _,b;return{label:(_=n.value.locales[s.value])==null?void 0:_.label,link:((b=n.value.locales[s.value])==null?void 0:b.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:k(()=>Object.entries(n.value.locales).flatMap(([_,b])=>e&&d.value.label===b.label?[]:{text:b.label,link:Tt(b.link||(_==="root"?"/":`/${_}/`),l.value.i18nRouting!==!1&&t,o.value.relativePath.slice(d.value.link.length-1),!n.value.cleanUrls)})),currentLang:d}}function Tt(e,t,n,s){return t?e.replace(/\/$/,"")+_e(n.replace(/(^|\/)?index.md$/,"$1").replace(/\.md$/,s?".html":"")):e}const At=["src","alt"],Ht={inheritAttrs:!1},Et=g({...Ht,__name:"VPImage",props:{image:null,alt:null},setup(e){return(t,n)=>{const s=R("VPImage",!0);return e.image?(a(),i(S,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),i("img",se({key:0,class:"VPImage"},typeof e.image=="string"?t.$attrs:{...e.image,...t.$attrs},{src:c(he)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,At)):(a(),i(S,{key:1},[h(s,se({class:"dark",image:e.image.dark,alt:e.image.alt},t.$attrs),null,16,["image","alt"]),h(s,se({class:"light",image:e.image.light,alt:e.image.alt},t.$attrs),null,16,["image","alt"])],64))],64)):m("",!0)}}});const be=p(Et,[["__scopeId","data-v-476e52f2"]]),zt=["href"],Dt=g({__name:"VPNavBarTitle",setup(e){const{site:t,theme:n}=V(),{hasSidebar:s}=z(),{currentLang:o}=te();return(l,d)=>(a(),i("div",{class:M(["VPNavBarTitle",{"has-sidebar":c(s)}])},[u("a",{class:"title",href:c(Z)(c(o).link)},[r(l.$slots,"nav-bar-title-before",{},void 0,!0),c(n).logo?(a(),y(be,{key:0,class:"logo",image:c(n).logo},null,8,["image"])):m("",!0),c(n).siteTitle?(a(),i(S,{key:1},[I(P(c(n).siteTitle),1)],64)):c(n).siteTitle===void 0?(a(),i(S,{key:2},[I(P(c(t).title),1)],64)):m("",!0),r(l.$slots,"nav-bar-title-after",{},void 0,!0)],8,zt)],2))}});const Ft=p(Dt,[["__scopeId","data-v-63054451"]]);const Ot={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},Gt={class:"DocSearch-Button-Container"},Rt=u("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[u("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ut={class:"DocSearch-Button-Placeholder"},jt=u("span",{class:"DocSearch-Button-Keys"},[u("kbd",{class:"DocSearch-Button-Key"}),u("kbd",{class:"DocSearch-Button-Key"},"K")],-1),Ie=g({__name:"VPNavBarSearchButton",props:{placeholder:null},setup(e){return(t,n)=>(a(),i("button",Ot,[u("span",Gt,[Rt,u("span",Ut,P(e.placeholder),1)]),jt]))}});const qt={id:"local-search"},Kt={key:1,id:"docsearch"},Wt=g({__name:"VPNavBarSearch",setup(e){const t=()=>null,n=()=>null,{theme:s,localeIndex:o}=V(),l=x(!1),d=k(()=>{var $,B,T,A,D,ne,W;const w=(($=s.value.search)==null?void 0:$.options)??s.value.algolia;return((D=(A=(T=(B=w==null?void 0:w.locales)==null?void 0:B[o.value])==null?void 0:T.translations)==null?void 0:A.button)==null?void 0:D.buttonText)||((W=(ne=w==null?void 0:w.translations)==null?void 0:ne.button)==null?void 0:W.buttonText)||"Search"});F(()=>{});function f(){l.value||(l.value=!0,setTimeout(_,16))}function _(){const w=new Event("keydown");w.key="k",w.metaKey=!0,window.dispatchEvent(w),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||_()},16)}const b=x(!1),L=x("'Meta'");F(()=>{L.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'⌘'":"'Ctrl'"});const C="";return(w,$)=>{var B;return a(),i("div",{class:"VPNavBarSearch",style:He({"--vp-meta-key":L.value})},[c(C)==="local"?(a(),i(S,{key:0},[b.value?(a(),y(c(t),{key:0,placeholder:c(d),onClose:$[0]||($[0]=T=>b.value=!1)},null,8,["placeholder"])):m("",!0),u("div",qt,[h(Ie,{placeholder:c(d),onClick:$[1]||($[1]=T=>b.value=!0)},null,8,["placeholder"])])],64)):c(C)==="algolia"?(a(),i(S,{key:1},[l.value?(a(),y(c(n),{key:0,algolia:((B=c(s).search)==null?void 0:B.options)??c(s).algolia},null,8,["algolia"])):(a(),i("div",Kt,[h(Ie,{placeholder:c(d),onClick:f},null,8,["placeholder"])]))],64)):m("",!0)],4)}}});const Yt={},Xt={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",height:"24px",viewBox:"0 0 24 24",width:"24px"},Qt=u("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1),Jt=u("path",{d:"M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"},null,-1),Zt=[Qt,Jt];function en(e,t){return a(),i("svg",Xt,Zt)}const tn=p(Yt,[["render",en]]),nn=g({__name:"VPLink",props:{tag:null,href:null,noIcon:{type:Boolean},target:null,rel:null},setup(e){const t=e,n=k(()=>t.tag??t.href?"a":"span"),s=k(()=>t.href&&Ee.test(t.href));return(o,l)=>(a(),y(U(c(n)),{class:M(["VPLink",{link:e.href}]),href:e.href?c(Z)(e.href):void 0,target:e.target||(c(s)?"_blank":void 0),rel:e.rel||(c(s)?"noreferrer":void 0)},{default:v(()=>[r(o.$slots,"default",{},void 0,!0),c(s)&&!e.noIcon?(a(),y(tn,{key:0,class:"icon"})):m("",!0)]),_:3},8,["class","href","target","rel"]))}});const O=p(nn,[["__scopeId","data-v-b9c81148"]]),sn=g({__name:"VPNavBarMenuLink",props:{item:null},setup(e){const{page:t}=V();return(n,s)=>(a(),y(O,{class:M({VPNavBarMenuLink:!0,active:c(K)(c(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel,tabindex:"0"},{default:v(()=>[I(P(e.item.text),1)]),_:1},8,["class","href","target","rel"]))}});const on=p(sn,[["__scopeId","data-v-4bf5bc56"]]),ke=x();let Ge=!1,ue=0;function an(e){const t=x(!1);if(at){!Ge&&cn(),ue++;const n=q(ke,s=>{var o,l,d;s===e.el.value||(o=e.el.value)!=null&&o.contains(s)?(t.value=!0,(l=e.onFocus)==null||l.call(e)):(t.value=!1,(d=e.onBlur)==null||d.call(e))});fe(()=>{n(),ue--,ue||ln()})}return Ae(t)}function cn(){document.addEventListener("focusin",Re),Ge=!0,ke.value=document.activeElement}function ln(){document.removeEventListener("focusin",Re)}function Re(){ke.value=document.activeElement}const rn={},un={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},dn=u("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),_n=[dn];function vn(e,t){return a(),i("svg",un,_n)}const Ue=p(rn,[["render",vn]]),hn={},fn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},pn=u("circle",{cx:"12",cy:"12",r:"2"},null,-1),mn=u("circle",{cx:"19",cy:"12",r:"2"},null,-1),gn=u("circle",{cx:"5",cy:"12",r:"2"},null,-1),yn=[pn,mn,gn];function bn(e,t){return a(),i("svg",fn,yn)}const kn=p(hn,[["render",bn]]),$n={class:"VPMenuLink"},Pn=g({__name:"VPMenuLink",props:{item:null},setup(e){const{page:t}=V();return(n,s)=>(a(),i("div",$n,[h(O,{class:M({active:c(K)(c(t).relativePath,e.item.activeMatch||e.item.link,!!e.item.activeMatch)}),href:e.item.link,target:e.item.target,rel:e.item.rel},{default:v(()=>[I(P(e.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const ie=p(Pn,[["__scopeId","data-v-a1ef6480"]]),Vn={class:"VPMenuGroup"},wn={key:0,class:"title"},xn=g({__name:"VPMenuGroup",props:{text:null,items:null},setup(e){return(t,n)=>(a(),i("div",Vn,[e.text?(a(),i("p",wn,P(e.text),1)):m("",!0),(a(!0),i(S,null,N(e.items,s=>(a(),i(S,null,["link"in s?(a(),y(ie,{key:0,item:s},null,8,["item"])):m("",!0)],64))),256))]))}});const Sn=p(xn,[["__scopeId","data-v-47e5f791"]]),Ln={class:"VPMenu"},Mn={key:0,class:"items"},Cn=g({__name:"VPMenu",props:{items:null},setup(e){return(t,n)=>(a(),i("div",Ln,[e.items?(a(),i("div",Mn,[(a(!0),i(S,null,N(e.items,s=>(a(),i(S,{key:s.text},["link"in s?(a(),y(ie,{key:0,item:s},null,8,["item"])):(a(),y(Sn,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):m("",!0),r(t.$slots,"default",{},void 0,!0)]))}});const Bn=p(Cn,[["__scopeId","data-v-ac85a304"]]),In=["aria-expanded","aria-label"],Nn={key:0,class:"text"},Tn={class:"menu"},An=g({__name:"VPFlyout",props:{icon:null,button:null,label:null,items:null},setup(e){const t=x(!1),n=x();an({el:n,onBlur:s});function s(){t.value=!1}return(o,l)=>(a(),i("div",{class:"VPFlyout",ref_key:"el",ref:n,onMouseenter:l[1]||(l[1]=d=>t.value=!0),onMouseleave:l[2]||(l[2]=d=>t.value=!1)},[u("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":t.value,"aria-label":e.label,onClick:l[0]||(l[0]=d=>t.value=!t.value)},[e.button||e.icon?(a(),i("span",Nn,[e.icon?(a(),y(U(e.icon),{key:0,class:"option-icon"})):m("",!0),I(" "+P(e.button)+" ",1),h(Ue,{class:"text-icon"})])):(a(),y(kn,{key:1,class:"icon"}))],8,In),u("div",Tn,[h(Bn,{items:e.items},{default:v(()=>[r(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const $e=p(An,[["__scopeId","data-v-0cf29794"]]),Hn=g({__name:"VPNavBarMenuGroup",props:{item:null},setup(e){const{page:t}=V();return(n,s)=>(a(),y($e,{class:M({VPNavBarMenuGroup:!0,active:c(K)(c(t).relativePath,e.item.activeMatch,!!e.item.activeMatch)}),button:e.item.text,items:e.item.items},null,8,["class","button","items"]))}}),En=e=>(H("data-v-28faa41e"),e=e(),E(),e),zn={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Dn=En(()=>u("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Fn=g({__name:"VPNavBarMenu",setup(e){const{theme:t}=V();return(n,s)=>c(t).nav?(a(),i("nav",zn,[Dn,(a(!0),i(S,null,N(c(t).nav,o=>(a(),i(S,{key:o.text},["link"in o?(a(),y(on,{key:0,item:o},null,8,["item"])):(a(),y(Hn,{key:1,item:o},null,8,["item"]))],64))),128))])):m("",!0)}});const On=p(Fn,[["__scopeId","data-v-28faa41e"]]),Gn={},Rn={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Un=u("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),jn=u("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),qn=[Un,jn];function Kn(e,t){return a(),i("svg",Rn,qn)}const je=p(Gn,[["render",Kn]]),Wn={class:"items"},Yn={class:"title"},Xn=g({__name:"VPNavBarTranslations",setup(e){const{theme:t}=V(),{localeLinks:n,currentLang:s}=te({correspondingLink:!0});return(o,l)=>c(n).length&&c(s).label?(a(),y($e,{key:0,class:"VPNavBarTranslations",icon:je,label:c(t).langMenuLabel||"Change language"},{default:v(()=>[u("div",Wn,[u("p",Yn,P(c(s).label),1),(a(!0),i(S,null,N(c(n),d=>(a(),y(ie,{key:d.link,item:d},null,8,["item"]))),128))])]),_:1},8,["label"])):m("",!0)}});const Qn=p(Xn,[["__scopeId","data-v-07b31215"]]);const Jn={},Zn={class:"VPSwitch",type:"button",role:"switch"},es={class:"check"},ts={key:0,class:"icon"};function ns(e,t){return a(),i("button",Zn,[u("span",es,[e.$slots.default?(a(),i("span",ts,[r(e.$slots,"default",{},void 0,!0)])):m("",!0)])])}const ss=p(Jn,[["render",ns],["__scopeId","data-v-3c43ee29"]]),os={},as={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},cs=ct('',9),ls=[cs];function is(e,t){return a(),i("svg",as,ls)}const rs=p(os,[["render",is]]),us={},ds={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},_s=u("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),vs=[_s];function hs(e,t){return a(),i("svg",ds,vs)}const fs=p(us,[["render",hs]]),ps={title:"toggle dark mode"},ms=g({__name:"VPSwitchAppearance",setup(e){const{site:t,isDark:n}=V(),s=x(!1),o=typeof localStorage<"u"?l():()=>{};F(()=>{s.value=document.documentElement.classList.contains("dark")});function l(){const d=window.matchMedia("(prefers-color-scheme: dark)"),f=document.documentElement.classList;let _=localStorage.getItem(Be),b=t.value.appearance==="dark"&&_==null||(_==="auto"||_==null?d.matches:_==="dark");d.onchange=w=>{_==="auto"&&C(b=w.matches)};function L(){C(b=!b),_=b?d.matches?"auto":"dark":d.matches?"light":"auto",localStorage.setItem(Be,_)}function C(w){const $=document.createElement("style");$.type="text/css",$.appendChild(document.createTextNode(`:not(.VPSwitchAppearance):not(.VPSwitchAppearance *) { + -webkit-transition: none !important; + -moz-transition: none !important; + -o-transition: none !important; + -ms-transition: none !important; + transition: none !important; +}`)),document.head.appendChild($),s.value=w,f[w?"add":"remove"]("dark"),window.getComputedStyle($).opacity,document.head.removeChild($)}return L}return q(s,d=>{n.value=d}),(d,f)=>(a(),i("label",ps,[h(ss,{class:"VPSwitchAppearance","aria-checked":s.value,onClick:c(o)},{default:v(()=>[h(rs,{class:"sun"}),h(fs,{class:"moon"})]),_:1},8,["aria-checked","onClick"])]))}});const Pe=p(ms,[["__scopeId","data-v-6b62b019"]]),gs={key:0,class:"VPNavBarAppearance"},ys=g({__name:"VPNavBarAppearance",setup(e){const{site:t}=V();return(n,s)=>c(t).appearance?(a(),i("div",gs,[h(Pe)])):m("",!0)}});const bs=p(ys,[["__scopeId","data-v-775a4a12"]]),ks={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},$s=["href","aria-label","innerHTML"],Ps=g({__name:"VPSocialLink",props:{icon:null,link:null},setup(e){const t=e,n=k(()=>typeof t.icon=="object"?t.icon.svg:ks[t.icon]);return(s,o)=>(a(),i("a",{class:"VPSocialLink",href:e.link,"aria-label":typeof e.icon=="string"?e.icon:"",target:"_blank",rel:"noopener",innerHTML:c(n)},null,8,$s))}});const Vs=p(Ps,[["__scopeId","data-v-136b02c9"]]),ws={class:"VPSocialLinks"},xs=g({__name:"VPSocialLinks",props:{links:null},setup(e){return(t,n)=>(a(),i("div",ws,[(a(!0),i(S,null,N(e.links,({link:s,icon:o})=>(a(),y(Vs,{key:s,icon:o,link:s},null,8,["icon","link"]))),128))]))}});const Ve=p(xs,[["__scopeId","data-v-ce53282b"]]),Ss=g({__name:"VPNavBarSocialLinks",setup(e){const{theme:t}=V();return(n,s)=>c(t).socialLinks?(a(),y(Ve,{key:0,class:"VPNavBarSocialLinks",links:c(t).socialLinks},null,8,["links"])):m("",!0)}});const Ls=p(Ss,[["__scopeId","data-v-ae7fc1f8"]]),Ms={key:0,class:"group translations"},Cs={class:"trans-title"},Bs={key:1,class:"group"},Is={class:"item appearance"},Ns={class:"label"},Ts={class:"appearance-action"},As={key:2,class:"group"},Hs={class:"item social-links"},Es=g({__name:"VPNavBarExtra",setup(e){const{site:t,theme:n}=V(),{localeLinks:s,currentLang:o}=te({correspondingLink:!0}),l=k(()=>s.value.length&&o.value.label||t.value.appearance||n.value.socialLinks);return(d,f)=>c(l)?(a(),y($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[c(s).length&&c(o).label?(a(),i("div",Ms,[u("p",Cs,P(c(o).label),1),(a(!0),i(S,null,N(c(s),_=>(a(),y(ie,{key:_.link,item:_},null,8,["item"]))),128))])):m("",!0),c(t).appearance?(a(),i("div",Bs,[u("div",Is,[u("p",Ns,P(c(n).darkModeSwitchLabel||"Appearance"),1),u("div",Ts,[h(Pe)])])])):m("",!0),c(n).socialLinks?(a(),i("div",As,[u("div",Hs,[h(Ve,{class:"social-links-list",links:c(n).socialLinks},null,8,["links"])])])):m("",!0)]),_:1})):m("",!0)}});const zs=p(Es,[["__scopeId","data-v-d18b6ce3"]]),Ds=e=>(H("data-v-f9333fd1"),e=e(),E(),e),Fs=["aria-expanded"],Os=Ds(()=>u("span",{class:"container"},[u("span",{class:"top"}),u("span",{class:"middle"}),u("span",{class:"bottom"})],-1)),Gs=[Os],Rs=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(e){return(t,n)=>(a(),i("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:n[0]||(n[0]=s=>t.$emit("click"))},Gs,10,Fs))}});const Us=p(Rs,[["__scopeId","data-v-f9333fd1"]]),js=e=>(H("data-v-a0583ea6"),e=e(),E(),e),qs={class:"container"},Ks={class:"title"},Ws={class:"content"},Ys=js(()=>u("div",{class:"curtain"},null,-1)),Xs={class:"content-body"},Qs=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(e){const{y:t}=$t(),{hasSidebar:n}=z(),s=k(()=>({"has-sidebar":n.value,fill:t.value>0}));return(o,l)=>(a(),i("div",{class:M(["VPNavBar",c(s)])},[u("div",qs,[u("div",Ks,[h(Ft,null,{"nav-bar-title-before":v(()=>[r(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[r(o.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),u("div",Ws,[Ys,u("div",Xs,[r(o.$slots,"nav-bar-content-before",{},void 0,!0),h(Wt,{class:"search"}),h(On,{class:"menu"}),h(Qn,{class:"translations"}),h(bs,{class:"appearance"}),h(Ls,{class:"social-links"}),h(zs,{class:"extra"}),r(o.$slots,"nav-bar-content-after",{},void 0,!0),h(Us,{class:"hamburger",active:e.isScreenOpen,onClick:l[0]||(l[0]=d=>o.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const Js=p(Qs,[["__scopeId","data-v-a0583ea6"]]);function Zs(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1),j=[],ce=!1,xe=-1,Y=void 0,G=void 0,X=void 0,qe=function(t){return j.some(function(n){return!!(n.options.allowTouchMove&&n.options.allowTouchMove(t))})},le=function(t){var n=t||window.event;return qe(n.target)||n.touches.length>1?!0:(n.preventDefault&&n.preventDefault(),!1)},eo=function(t){if(X===void 0){var n=!!t&&t.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(n&&s>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);X=document.body.style.paddingRight,document.body.style.paddingRight=o+s+"px"}}Y===void 0&&(Y=document.body.style.overflow,document.body.style.overflow="hidden")},to=function(){X!==void 0&&(document.body.style.paddingRight=X,X=void 0),Y!==void 0&&(document.body.style.overflow=Y,Y=void 0)},no=function(){return window.requestAnimationFrame(function(){if(G===void 0){G={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,n=t.scrollY,s=t.scrollX,o=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-n,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var l=o-window.innerHeight;l&&n>=o&&(document.body.style.top=-(n+l))})},300)}})},so=function(){if(G!==void 0){var t=-parseInt(document.body.style.top,10),n=-parseInt(document.body.style.left,10);document.body.style.position=G.position,document.body.style.top=G.top,document.body.style.left=G.left,window.scrollTo(n,t),G=void 0}},oo=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},ao=function(t,n){var s=t.targetTouches[0].clientY-xe;return qe(t.target)?!1:n&&n.scrollTop===0&&s>0||oo(n)&&s<0?le(t):(t.stopPropagation(),!0)},Ke=function(t,n){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!j.some(function(o){return o.targetElement===t})){var s={targetElement:t,options:n||{}};j=[].concat(Zs(j),[s]),ae?no():eo(n),ae&&(t.ontouchstart=function(o){o.targetTouches.length===1&&(xe=o.targetTouches[0].clientY)},t.ontouchmove=function(o){o.targetTouches.length===1&&ao(o,t)},ce||(document.addEventListener("touchmove",le,we?{passive:!1}:void 0),ce=!0))}},We=function(){ae&&(j.forEach(function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null}),ce&&(document.removeEventListener("touchmove",le,we?{passive:!1}:void 0),ce=!1),xe=-1),ae?so():to(),j=[]};const co=g({__name:"VPNavScreenMenuLink",props:{text:null,link:null},setup(e){const t=me("close-screen");return(n,s)=>(a(),y(O,{class:"VPNavScreenMenuLink",href:e.link,onClick:c(t)},{default:v(()=>[I(P(e.text),1)]),_:1},8,["href","onClick"]))}});const lo=p(co,[["__scopeId","data-v-7573d1e2"]]),io={},ro={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},uo=u("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),_o=[uo];function vo(e,t){return a(),i("svg",ro,_o)}const ho=p(io,[["render",vo]]),fo=g({__name:"VPNavScreenMenuGroupLink",props:{text:null,link:null},setup(e){const t=me("close-screen");return(n,s)=>(a(),y(O,{class:"VPNavScreenMenuGroupLink",href:e.link,onClick:c(t)},{default:v(()=>[I(P(e.text),1)]),_:1},8,["href","onClick"]))}});const Ye=p(fo,[["__scopeId","data-v-9ef839c1"]]),po={class:"VPNavScreenMenuGroupSection"},mo={key:0,class:"title"},go=g({__name:"VPNavScreenMenuGroupSection",props:{text:null,items:null},setup(e){return(t,n)=>(a(),i("div",po,[e.text?(a(),i("p",mo,P(e.text),1)):m("",!0),(a(!0),i(S,null,N(e.items,s=>(a(),y(Ye,{key:s.text,text:s.text,link:s.link},null,8,["text","link"]))),128))]))}});const yo=p(go,[["__scopeId","data-v-c70bd8a5"]]),bo=["aria-controls","aria-expanded"],ko={class:"button-text"},$o=["id"],Po={key:1,class:"group"},Vo=g({__name:"VPNavScreenMenuGroup",props:{text:null,items:null},setup(e){const t=e,n=x(!1),s=k(()=>`NavScreenGroup-${t.text.replace(" ","-").toLowerCase()}`);function o(){n.value=!n.value}return(l,d)=>(a(),i("div",{class:M(["VPNavScreenMenuGroup",{open:n.value}])},[u("button",{class:"button","aria-controls":c(s),"aria-expanded":n.value,onClick:o},[u("span",ko,P(e.text),1),h(ho,{class:"button-icon"})],8,bo),u("div",{id:c(s),class:"items"},[(a(!0),i(S,null,N(e.items,f=>(a(),i(S,{key:f.text},["link"in f?(a(),i("div",{key:f.text,class:"item"},[h(Ye,{text:f.text,link:f.link},null,8,["text","link"])])):(a(),i("div",Po,[h(yo,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,$o)],2))}});const wo=p(Vo,[["__scopeId","data-v-7680be8d"]]),xo={key:0,class:"VPNavScreenMenu"},So=g({__name:"VPNavScreenMenu",setup(e){const{theme:t}=V();return(n,s)=>c(t).nav?(a(),i("nav",xo,[(a(!0),i(S,null,N(c(t).nav,o=>(a(),i(S,{key:o.text},["link"in o?(a(),y(lo,{key:0,text:o.text,link:o.link},null,8,["text","link"])):(a(),y(wo,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):m("",!0)}}),Lo={key:0,class:"VPNavScreenAppearance"},Mo={class:"text"},Co=g({__name:"VPNavScreenAppearance",setup(e){const{site:t,theme:n}=V();return(s,o)=>c(t).appearance?(a(),i("div",Lo,[u("p",Mo,P(c(n).darkModeSwitchLabel||"Appearance"),1),h(Pe)])):m("",!0)}});const Bo=p(Co,[["__scopeId","data-v-66bd54ab"]]),Io={class:"list"},No=g({__name:"VPNavScreenTranslations",setup(e){const{localeLinks:t,currentLang:n}=te({correspondingLink:!0}),s=x(!1);function o(){s.value=!s.value}return(l,d)=>c(t).length&&c(n).label?(a(),i("div",{key:0,class:M(["VPNavScreenTranslations",{open:s.value}])},[u("button",{class:"title",onClick:o},[h(je,{class:"icon lang"}),I(" "+P(c(n).label)+" ",1),h(Ue,{class:"icon chevron"})]),u("ul",Io,[(a(!0),i(S,null,N(c(t),f=>(a(),i("li",{key:f.link,class:"item"},[h(O,{class:"link",href:f.link},{default:v(()=>[I(P(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):m("",!0)}});const To=p(No,[["__scopeId","data-v-cf592b29"]]),Ao=g({__name:"VPNavScreenSocialLinks",setup(e){const{theme:t}=V();return(n,s)=>c(t).socialLinks?(a(),y(Ve,{key:0,class:"VPNavScreenSocialLinks",links:c(t).socialLinks},null,8,["links"])):m("",!0)}}),Ho={class:"container"},Eo=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(e){const t=x(null);function n(){Ke(t.value,{reserveScrollBarGap:!0})}function s(){We()}return(o,l)=>(a(),y(pe,{name:"fade",onEnter:n,onAfterLeave:s},{default:v(()=>[e.open?(a(),i("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:t},[u("div",Ho,[r(o.$slots,"nav-screen-content-before",{},void 0,!0),h(So,{class:"menu"}),h(To,{class:"translations"}),h(Bo,{class:"appearance"}),h(Ao,{class:"social-links"}),r(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):m("",!0)]),_:3}))}});const zo=p(Eo,[["__scopeId","data-v-d6e1bc9f"]]),Do={class:"VPNav"},Fo=g({__name:"VPNav",setup(e){const{isScreenOpen:t,closeScreen:n,toggleScreen:s}=Nt();return oe("close-screen",n),(o,l)=>(a(),i("header",Do,[h(Js,{"is-screen-open":c(t),onToggleScreen:c(s)},{"nav-bar-title-before":v(()=>[r(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[r(o.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[r(o.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[r(o.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),h(zo,{open:c(t)},{"nav-screen-content-before":v(()=>[r(o.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[r(o.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const Oo=p(Fo,[["__scopeId","data-v-16ebf574"]]),Go={},Ro={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Uo=u("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),jo=u("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),qo=u("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Ko=u("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),Wo=[Uo,jo,qo,Ko];function Yo(e,t){return a(),i("svg",Ro,Wo)}const Xo=p(Go,[["render",Yo]]);function Qo(){const{hasSidebar:e}=z(),t=de("(min-width: 960px)"),n=de("(min-width: 1280px)");return{isAsideEnabled:k(()=>!n.value&&!t.value?!1:e.value?n.value:t.value)}}const Jo=71;function Se(e){return typeof e.outline=="object"&&!Array.isArray(e.outline)&&e.outline.label||e.outlineTitle||"On this page"}function Le(e){const t=[...document.querySelectorAll(".VPDoc h2,h3,h4,h5,h6")].filter(n=>n.id&&n.hasChildNodes()).map(n=>{const s=Number(n.tagName[1]);return{title:Zo(n),link:"#"+n.id,level:s}});return ea(t,e)}function Zo(e){let t="";for(const n of e.childNodes)if(n.nodeType===1){if(n.classList.contains("VPBadge")||n.classList.contains("header-anchor"))continue;t+=n.textContent}else n.nodeType===3&&(t+=n.textContent);return t.trim()}function ea(e,t){if(t===!1)return[];const n=(typeof t=="object"&&!Array.isArray(t)?t.level:t)||2,[s,o]=typeof n=="number"?[n,n]:n==="deep"?[2,6]:n;e=e.filter(d=>d.level>=s&&d.level<=o);const l=[];e:for(let d=0;d=0;_--){const b=e[_];if(b.level{requestAnimationFrame(l),window.addEventListener("scroll",s)}),lt(()=>{d(location.hash)}),fe(()=>{window.removeEventListener("scroll",s)});function l(){if(!n.value)return;const f=[].slice.call(e.value.querySelectorAll(".outline-link")),_=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter($=>f.some(B=>B.hash===$.hash&&$.offsetParent!==null)),b=window.scrollY,L=window.innerHeight,C=document.body.offsetHeight,w=Math.abs(b+L-C)<1;if(_.length&&w){d(_[_.length-1].hash);return}for(let $=0;$<_.length;$++){const B=_[$],T=_[$+1],[A,D]=na($,B,T);if(A){d(D);return}}}function d(f){o&&o.classList.remove("active"),f!==null&&(o=e.value.querySelector(`a[href="${decodeURIComponent(f)}"]`));const _=o;_?(_.classList.add("active"),t.value.style.top=_.offsetTop+33+"px",t.value.style.opacity="1"):(t.value.style.top="33px",t.value.style.opacity="0")}}function Te(e){return e.parentElement.offsetTop-Jo}function na(e,t,n){const s=window.scrollY;return e===0&&s===0?[!0,null]:s{const o=R("VPDocOutlineItem",!0);return a(),i("ul",{class:M(e.root?"root":"nested")},[(a(!0),i(S,null,N(e.headers,({children:l,link:d,title:f})=>(a(),i("li",null,[u("a",{class:"outline-link",href:d,onClick:t,title:f},P(f),9,sa),l!=null&&l.length?(a(),y(o,{key:0,headers:l},null,8,["headers"])):m("",!0)]))),256))],2)}}});const Me=p(oa,[["__scopeId","data-v-67126238"]]),aa={},ca={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},la=u("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),ia=[la];function ra(e,t){return a(),i("svg",ca,ia)}const Ce=p(aa,[["render",ra]]),ua=g({__name:"VPLocalNavOutlineDropdown",setup(e){const{frontmatter:t,theme:n}=V(),s=x(!1),o=x(0),l=x();J(()=>{s.value=!1});function d(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-64,0)}function f(L){L.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),it(()=>{s.value=!1}))}function _(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}const b=ge([]);return J(()=>{b.value=Le(t.value.outline??n.value.outline)}),(L,C)=>(a(),i("div",{class:"VPLocalNavOutlineDropdown",style:He({"--vp-vh":o.value+"px"})},[c(b).length>0?(a(),i("button",{key:0,onClick:d,class:M({open:s.value})},[I(P(c(Se)(c(n)))+" ",1),h(Ce,{class:"icon"})],2)):(a(),i("button",{key:1,onClick:_},P(c(n).returnToTopLabel||"Return to top"),1)),h(pe,{name:"flyout"},{default:v(()=>[s.value?(a(),i("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:f},[u("a",{class:"top-link",href:"#",onClick:_},P(c(n).returnToTopLabel||"Return to top"),1),h(Me,{headers:c(b)},null,8,["headers"])],512)):m("",!0)]),_:1})],4))}});const da=p(ua,[["__scopeId","data-v-755e9682"]]),_a={key:0,class:"VPLocalNav"},va=["aria-expanded"],ha={class:"menu-text"},fa=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(e){const{theme:t,frontmatter:n}=V(),{hasSidebar:s}=z();return(o,l)=>c(n).layout!=="home"?(a(),i("div",_a,[c(s)?(a(),i("button",{key:0,class:"menu","aria-expanded":e.open,"aria-controls":"VPSidebarNav",onClick:l[0]||(l[0]=d=>o.$emit("open-menu"))},[h(Xo,{class:"menu-icon"}),u("span",ha,P(c(t).sidebarMenuLabel||"Menu"),1)],8,va)):m("",!0),h(da)])):m("",!0)}});const pa=p(fa,[["__scopeId","data-v-3a9478a0"]]),ma=e=>(H("data-v-48116470"),e=e(),E(),e),ga=["role","tabindex"],ya=ma(()=>u("div",{class:"indicator"},null,-1)),ba=["onKeydown"],ka={key:1,class:"items"},$a=g({__name:"VPSidebarItem",props:{item:null,depth:null},setup(e){const t=e,{collapsed:n,collapsible:s,isLink:o,isActiveLink:l,hasActiveLink:d,hasChildren:f,toggle:_}=St(k(()=>t.item)),b=k(()=>f.value?"section":"div"),L=k(()=>o.value?"a":"div"),C=k(()=>f.value?t.depth+2===7?"p":`h${t.depth+2}`:"p"),w=k(()=>o.value?void 0:"button"),$=k(()=>[[`level-${t.depth}`],{collapsible:s.value},{collapsed:n.value},{"is-link":o.value},{"is-active":l.value},{"has-active":d.value}]);function B(A){"key"in A&&A.key!=="Enter"||!t.item.link&&_()}function T(){t.item.link&&_()}return(A,D)=>{const ne=R("VPSidebarItem",!0);return a(),y(U(c(b)),{class:M(["VPSidebarItem",c($)])},{default:v(()=>[e.item.text?(a(),i("div",se({key:0,class:"item",role:c(w)},ut(e.item.items?{click:B,keydown:B}:{},!0),{tabindex:e.item.items&&0}),[ya,e.item.link?(a(),y(O,{key:0,tag:c(L),class:"link",href:e.item.link},{default:v(()=>[(a(),y(U(c(C)),{class:"text",innerHTML:e.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href"])):(a(),y(U(c(C)),{key:1,class:"text",innerHTML:e.item.text},null,8,["innerHTML"])),e.item.collapsed!=null?(a(),i("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:T,onKeydown:rt(T,["enter"]),tabindex:"0"},[h(Ce,{class:"caret-icon"})],40,ba)):m("",!0)],16,ga)):m("",!0),e.item.items&&e.item.items.length?(a(),i("div",ka,[e.depth<5?(a(!0),i(S,{key:0},N(e.item.items,W=>(a(),y(ne,{key:W.text,item:W,depth:e.depth+1},null,8,["item","depth"]))),128)):m("",!0)])):m("",!0)]),_:1},8,["class"])}}});const Pa=p($a,[["__scopeId","data-v-48116470"]]),Xe=e=>(H("data-v-b91d6e0e"),e=e(),E(),e),Va=Xe(()=>u("div",{class:"curtain"},null,-1)),wa={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},xa=Xe(()=>u("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Sa=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(e){const t=e,{sidebarGroups:n,hasSidebar:s}=z();let o=x(null);function l(){Ke(o.value,{reserveScrollBarGap:!0})}function d(){We()}return dt(async()=>{var f;t.open?(l(),(f=o.value)==null||f.focus()):d()}),(f,_)=>c(s)?(a(),i("aside",{key:0,class:M(["VPSidebar",{open:e.open}]),ref_key:"navEl",ref:o,onClick:_[0]||(_[0]=_t(()=>{},["stop"]))},[Va,u("nav",wa,[xa,r(f.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),i(S,null,N(c(n),b=>(a(),i("div",{key:b.text,class:"group"},[h(Pa,{item:b,depth:0},null,8,["item"])]))),128)),r(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):m("",!0)}});const La=p(Sa,[["__scopeId","data-v-b91d6e0e"]]),Ma={},Ca={class:"VPPage"};function Ba(e,t){const n=R("Content");return a(),i("div",Ca,[r(e.$slots,"page-top"),h(n),r(e.$slots,"page-bottom")])}const Ia=p(Ma,[["render",Ba]]),Na=g({__name:"VPButton",props:{tag:null,size:null,theme:null,text:null,href:null},setup(e){const t=e,n=k(()=>[t.size??"medium",t.theme??"brand"]),s=k(()=>t.href&&Ee.test(t.href)),o=k(()=>t.tag?t.tag:t.href?"a":"button");return(l,d)=>(a(),y(U(c(o)),{class:M(["VPButton",c(n)]),href:e.href?c(Z)(e.href):void 0,target:c(s)?"_blank":void 0,rel:c(s)?"noreferrer":void 0},{default:v(()=>[I(P(e.text),1)]),_:1},8,["class","href","target","rel"]))}});const Ta=p(Na,[["__scopeId","data-v-94e5e763"]]),Aa=e=>(H("data-v-07c6506b"),e=e(),E(),e),Ha={class:"container"},Ea={class:"main"},za={key:0,class:"name"},Da={class:"clip"},Fa={key:1,class:"text"},Oa={key:2,class:"tagline"},Ga={key:0,class:"actions"},Ra={key:0,class:"image"},Ua={class:"image-container"},ja=Aa(()=>u("div",{class:"image-bg"},null,-1)),qa=g({__name:"VPHero",props:{name:null,text:null,tagline:null,image:null,actions:null},setup(e){const t=me("hero-image-slot-exists");return(n,s)=>(a(),i("div",{class:M(["VPHero",{"has-image":e.image||c(t)}])},[u("div",Ha,[u("div",Ea,[r(n.$slots,"home-hero-info",{},()=>[e.name?(a(),i("h1",za,[u("span",Da,P(e.name),1)])):m("",!0),e.text?(a(),i("p",Fa,P(e.text),1)):m("",!0),e.tagline?(a(),i("p",Oa,P(e.tagline),1)):m("",!0)],!0),e.actions?(a(),i("div",Ga,[(a(!0),i(S,null,N(e.actions,o=>(a(),i("div",{key:o.link,class:"action"},[h(Ta,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):m("",!0)]),e.image||c(t)?(a(),i("div",Ra,[u("div",Ua,[ja,r(n.$slots,"home-hero-image",{},()=>[e.image?(a(),y(be,{key:0,class:"image-src",image:e.image},null,8,["image"])):m("",!0)],!0)])])):m("",!0)])],2))}});const Ka=p(qa,[["__scopeId","data-v-07c6506b"]]),Wa=g({__name:"VPHomeHero",setup(e){const{frontmatter:t}=V();return(n,s)=>c(t).hero?(a(),y(Ka,{key:0,class:"VPHomeHero",name:c(t).hero.name,text:c(t).hero.text,tagline:c(t).hero.tagline,image:c(t).hero.image,actions:c(t).hero.actions},{"home-hero-info":v(()=>[r(n.$slots,"home-hero-info")]),"home-hero-image":v(()=>[r(n.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):m("",!0)}}),Ya={},Xa={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Qa=u("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Ja=[Qa];function Za(e,t){return a(),i("svg",Xa,Ja)}const ec=p(Ya,[["render",Za]]),tc={class:"box"},nc=["innerHTML"],sc=["innerHTML"],oc=["innerHTML"],ac={key:3,class:"link-text"},cc={class:"link-text-value"},lc=g({__name:"VPFeature",props:{icon:null,title:null,details:null,link:null,linkText:null},setup(e){return(t,n)=>(a(),y(O,{class:"VPFeature",href:e.link,"no-icon":!0},{default:v(()=>[u("article",tc,[typeof e.icon=="object"?(a(),y(be,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height,width:e.icon.width},null,8,["image","alt","height","width"])):e.icon?(a(),i("div",{key:1,class:"icon",innerHTML:e.icon},null,8,nc)):m("",!0),u("h2",{class:"title",innerHTML:e.title},null,8,sc),e.details?(a(),i("p",{key:2,class:"details",innerHTML:e.details},null,8,oc)):m("",!0),e.linkText?(a(),i("div",ac,[u("p",cc,[I(P(e.linkText)+" ",1),h(ec,{class:"link-text-icon"})])])):m("",!0)])]),_:1},8,["href"]))}});const ic=p(lc,[["__scopeId","data-v-c5c6205f"]]),rc={key:0,class:"VPFeatures"},uc={class:"container"},dc={class:"items"},_c=g({__name:"VPFeatures",props:{features:null},setup(e){const t=e,n=k(()=>{const s=t.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s%2===0)return"grid-4"}else return});return(s,o)=>e.features?(a(),i("div",rc,[u("div",uc,[u("div",dc,[(a(!0),i(S,null,N(e.features,l=>(a(),i("div",{key:l.title,class:M(["item",[c(n)]])},[h(ic,{icon:l.icon,title:l.title,details:l.details,link:l.link,"link-text":l.linkText},null,8,["icon","title","details","link","link-text"])],2))),128))])])])):m("",!0)}});const vc=p(_c,[["__scopeId","data-v-0ac775df"]]),hc=g({__name:"VPHomeFeatures",setup(e){const{frontmatter:t}=V();return(n,s)=>c(t).features?(a(),y(vc,{key:0,class:"VPHomeFeatures",features:c(t).features},null,8,["features"])):m("",!0)}}),fc={class:"VPHome"},pc=g({__name:"VPHome",setup(e){return(t,n)=>{const s=R("Content");return a(),i("div",fc,[r(t.$slots,"home-hero-before",{},void 0,!0),h(Wa,null,{"home-hero-info":v(()=>[r(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[r(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),r(t.$slots,"home-hero-after",{},void 0,!0),r(t.$slots,"home-features-before",{},void 0,!0),h(hc),r(t.$slots,"home-features-after",{},void 0,!0),h(s)])}}});const mc=p(pc,[["__scopeId","data-v-4d0df214"]]),gc=e=>(H("data-v-adf7c583"),e=e(),E(),e),yc={class:"content"},bc={class:"outline-title"},kc={"aria-labelledby":"doc-outline-aria-label"},$c=gc(()=>u("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Pc=g({__name:"VPDocAsideOutline",setup(e){const{frontmatter:t,theme:n}=V(),s=ge([]);J(()=>{s.value=Le(t.value.outline??n.value.outline)});const o=x(),l=x();return ta(o,l),(d,f)=>(a(),i("div",{class:M(["VPDocAsideOutline",{"has-outline":c(s).length>0}]),ref_key:"container",ref:o},[u("div",yc,[u("div",{class:"outline-marker",ref_key:"marker",ref:l},null,512),u("div",bc,P(c(Se)(c(n))),1),u("nav",kc,[$c,h(Me,{headers:c(s),root:!0},null,8,["headers"])])])],2))}});const Vc=p(Pc,[["__scopeId","data-v-adf7c583"]]),wc={class:"VPDocAsideCarbonAds"},xc=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:null},setup(e){const t=()=>null;return(n,s)=>(a(),i("div",wc,[h(c(t),{"carbon-ads":e.carbonAds},null,8,["carbon-ads"])]))}}),Sc=e=>(H("data-v-2e0561cc"),e=e(),E(),e),Lc={class:"VPDocAside"},Mc=Sc(()=>u("div",{class:"spacer"},null,-1)),Cc=g({__name:"VPDocAside",setup(e){const{theme:t}=V();return(n,s)=>(a(),i("div",Lc,[r(n.$slots,"aside-top",{},void 0,!0),r(n.$slots,"aside-outline-before",{},void 0,!0),h(Vc),r(n.$slots,"aside-outline-after",{},void 0,!0),Mc,r(n.$slots,"aside-ads-before",{},void 0,!0),c(t).carbonAds?(a(),y(xc,{key:0,"carbon-ads":c(t).carbonAds},null,8,["carbon-ads"])):m("",!0),r(n.$slots,"aside-ads-after",{},void 0,!0),r(n.$slots,"aside-bottom",{},void 0,!0)]))}});const Bc=p(Cc,[["__scopeId","data-v-2e0561cc"]]);function Ic(){const{theme:e,page:t}=V();return k(()=>{const{text:n="Edit this page",pattern:s=""}=e.value.editLink||{};let o;return typeof s=="function"?o=s(t.value):o=s.replace(/:path/g,t.value.filePath),{url:o,text:n}})}function Nc(){const{page:e,theme:t,frontmatter:n}=V();return k(()=>{var d,f,_,b;const s=Oe(t.value.sidebar,e.value.relativePath),o=wt(s),l=o.findIndex(L=>K(e.value.relativePath,L.link));return{prev:n.value.prev===!1?void 0:{text:(typeof n.value.prev=="string"?n.value.prev:typeof n.value.prev=="object"?n.value.prev.text:void 0)??((d=o[l-1])==null?void 0:d.text),link:(typeof n.value.prev=="object"?n.value.prev.link:void 0)??((f=o[l-1])==null?void 0:f.link)},next:n.value.next===!1?void 0:{text:(typeof n.value.next=="string"?n.value.next:typeof n.value.next=="object"?n.value.next.text:void 0)??((_=o[l+1])==null?void 0:_.text),link:(typeof n.value.next=="object"?n.value.next.link:void 0)??((b=o[l+1])==null?void 0:b.link)}}})}const Tc={},Ac={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Hc=u("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Ec=u("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),zc=[Hc,Ec];function Dc(e,t){return a(),i("svg",Ac,zc)}const Fc=p(Tc,[["render",Dc]]),Oc={class:"VPLastUpdated"},Gc=["datetime"],Rc=g({__name:"VPDocFooterLastUpdated",setup(e){const{theme:t,page:n,lang:s}=V(),o=k(()=>new Date(n.value.lastUpdated)),l=k(()=>o.value.toISOString()),d=x("");return F(()=>{Q(()=>{d.value=o.value.toLocaleString(s.value)})}),(f,_)=>(a(),i("p",Oc,[I(P(c(t).lastUpdatedText||"Last updated")+": ",1),u("time",{datetime:c(l)},P(d.value),9,Gc)]))}});const Uc=p(Rc,[["__scopeId","data-v-ed90a614"]]),jc={key:0,class:"VPDocFooter"},qc={key:0,class:"edit-info"},Kc={key:0,class:"edit-link"},Wc={key:1,class:"last-updated"},Yc={key:1,class:"prev-next"},Xc={class:"pager"},Qc=["href"],Jc=["innerHTML"],Zc=["innerHTML"],el=["href"],tl=["innerHTML"],nl=["innerHTML"],sl=g({__name:"VPDocFooter",setup(e){const{theme:t,page:n,frontmatter:s}=V(),o=Ic(),l=Nc(),d=k(()=>t.value.editLink&&s.value.editLink!==!1),f=k(()=>n.value.lastUpdated&&s.value.lastUpdated!==!1),_=k(()=>d.value||f.value||l.value.prev||l.value.next);return(b,L)=>{var C,w,$,B,T,A,D;return c(_)?(a(),i("footer",jc,[r(b.$slots,"doc-footer-before",{},void 0,!0),c(d)||c(f)?(a(),i("div",qc,[c(d)?(a(),i("div",Kc,[h(O,{class:"edit-link-button",href:c(o).url,"no-icon":!0},{default:v(()=>[h(Fc,{class:"edit-link-icon","aria-label":"edit icon"}),I(" "+P(c(o).text),1)]),_:1},8,["href"])])):m("",!0),c(f)?(a(),i("div",Wc,[h(Uc)])):m("",!0)])):m("",!0),(C=c(l).prev)!=null&&C.link||(w=c(l).next)!=null&&w.link?(a(),i("div",Yc,[u("div",Xc,[($=c(l).prev)!=null&&$.link?(a(),i("a",{key:0,class:"pager-link prev",href:c(Z)(c(l).prev.link)},[u("span",{class:"desc",innerHTML:((B=c(t).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,Jc),u("span",{class:"title",innerHTML:c(l).prev.text},null,8,Zc)],8,Qc)):m("",!0)]),u("div",{class:M(["pager",{"has-prev":(T=c(l).prev)==null?void 0:T.link}])},[(A=c(l).next)!=null&&A.link?(a(),i("a",{key:0,class:"pager-link next",href:c(Z)(c(l).next.link)},[u("span",{class:"desc",innerHTML:((D=c(t).docFooter)==null?void 0:D.next)||"Next page"},null,8,tl),u("span",{class:"title",innerHTML:c(l).next.text},null,8,nl)],8,el)):m("",!0)],2)])):m("",!0)])):m("",!0)}}});const ol=p(sl,[["__scopeId","data-v-576c8417"]]),al={key:0,class:"VPDocOutlineDropdown"},cl={key:0,class:"items"},ll=g({__name:"VPDocOutlineDropdown",setup(e){const{frontmatter:t,theme:n}=V(),s=x(!1);J(()=>{s.value=!1});const o=ge([]);return J(()=>{o.value=Le(t.value.outline??n.value.outline)}),(l,d)=>c(o).length>0?(a(),i("div",al,[u("button",{onClick:d[0]||(d[0]=f=>s.value=!s.value),class:M({open:s.value})},[I(P(c(Se)(c(n)))+" ",1),h(Ce,{class:"icon"})],2),s.value?(a(),i("div",cl,[h(Me,{headers:c(o)},null,8,["headers"])])):m("",!0)])):m("",!0)}});const il=p(ll,[["__scopeId","data-v-7e74e787"]]),rl=e=>(H("data-v-ea85e93e"),e=e(),E(),e),ul={class:"container"},dl=rl(()=>u("div",{class:"aside-curtain"},null,-1)),_l={class:"aside-container"},vl={class:"aside-content"},hl={class:"content"},fl={class:"content-container"},pl={class:"main"},ml=g({__name:"VPDoc",setup(e){const t=ee(),{hasSidebar:n,hasAside:s,leftAside:o}=z(),l=k(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(d,f)=>{const _=R("Content");return a(),i("div",{class:M(["VPDoc",{"has-sidebar":c(n),"has-aside":c(s)}])},[r(d.$slots,"doc-top",{},void 0,!0),u("div",ul,[c(s)?(a(),i("div",{key:0,class:M(["aside",{"left-aside":c(o)}])},[dl,u("div",_l,[u("div",vl,[h(Bc,null,{"aside-top":v(()=>[r(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[r(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[r(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[r(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[r(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[r(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):m("",!0),u("div",hl,[u("div",fl,[r(d.$slots,"doc-before",{},void 0,!0),h(il),u("main",pl,[h(_,{class:M(["vp-doc",c(l)])},null,8,["class"])]),h(ol,null,{"doc-footer-before":v(()=>[r(d.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),r(d.$slots,"doc-after",{},void 0,!0)])])]),r(d.$slots,"doc-bottom",{},void 0,!0)],2)}}});const gl=p(ml,[["__scopeId","data-v-ea85e93e"]]),re=e=>(H("data-v-5639ec56"),e=e(),E(),e),yl={class:"NotFound"},bl=re(()=>u("p",{class:"code"},"404",-1)),kl=re(()=>u("h1",{class:"title"},"PAGE NOT FOUND",-1)),$l=re(()=>u("div",{class:"divider"},null,-1)),Pl=re(()=>u("blockquote",{class:"quote"}," But if you don't change your direction, and if you keep looking, you may end up where you are heading. ",-1)),Vl={class:"action"},wl=["href"],xl=g({__name:"NotFound",setup(e){const{site:t}=V(),{localeLinks:n}=te({removeCurrent:!1}),s=x("/");return F(()=>{var l;const o=window.location.pathname.replace(t.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(s.value=((l=n.value.find(({link:d})=>d.startsWith(o)))==null?void 0:l.link)||n.value[0].link)}),(o,l)=>(a(),i("div",yl,[bl,kl,$l,Pl,u("div",Vl,[u("a",{class:"link",href:c(he)(s.value),"aria-label":"go to home"}," Take me home ",8,wl)])]))}});const Sl=p(xl,[["__scopeId","data-v-5639ec56"]]),Ll=g({__name:"VPContent",setup(e){const{page:t,frontmatter:n}=V(),{hasSidebar:s}=z();return(o,l)=>(a(),i("div",{class:M(["VPContent",{"has-sidebar":c(s),"is-home":c(n).layout==="home"}]),id:"VPContent"},[c(t).isNotFound?r(o.$slots,"not-found",{key:0},()=>[h(Sl)],!0):c(n).layout==="page"?(a(),y(Ia,{key:1},{"page-top":v(()=>[r(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[r(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):c(n).layout==="home"?(a(),y(mc,{key:2},{"home-hero-before":v(()=>[r(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[r(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[r(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[r(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[r(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[r(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):(a(),y(gl,{key:3},{"doc-top":v(()=>[r(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[r(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[r(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[r(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[r(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[r(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[r(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[r(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[r(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[r(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[r(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Ml=p(Ll,[["__scopeId","data-v-ffc44efb"]]),Cl={class:"container"},Bl=["innerHTML"],Il=["innerHTML"],Nl=g({__name:"VPFooter",setup(e){const{theme:t}=V(),{hasSidebar:n}=z();return(s,o)=>c(t).footer?(a(),i("footer",{key:0,class:M(["VPFooter",{"has-sidebar":c(n)}])},[u("div",Cl,[c(t).footer.message?(a(),i("p",{key:0,class:"message",innerHTML:c(t).footer.message},null,8,Bl)):m("",!0),c(t).footer.copyright?(a(),i("p",{key:1,class:"copyright",innerHTML:c(t).footer.copyright},null,8,Il)):m("",!0)])],2)):m("",!0)}});const Tl=p(Nl,[["__scopeId","data-v-88d1c6ab"]]),Al={key:0,class:"Layout"},Hl=g({__name:"Layout",setup(e){const{isOpen:t,open:n,close:s}=z(),o=ee();q(()=>o.path,s),xt(t,s),oe("close-sidebar",s),oe("is-sidebar-open",t);const{frontmatter:l}=V(),d=vt(),f=k(()=>!!d["home-hero-image"]);return oe("hero-image-slot-exists",f),(_,b)=>{const L=R("Content");return c(l).layout!==!1?(a(),i("div",Al,[r(_.$slots,"layout-top",{},void 0,!0),h(Mt),h(It,{class:"backdrop",show:c(t),onClick:c(s)},null,8,["show","onClick"]),h(Oo,null,{"nav-bar-title-before":v(()=>[r(_.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[r(_.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[r(_.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[r(_.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[r(_.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[r(_.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),h(pa,{open:c(t),onOpenMenu:c(n)},null,8,["open","onOpenMenu"]),h(La,{open:c(t)},{"sidebar-nav-before":v(()=>[r(_.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[r(_.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),h(Ml,null,{"page-top":v(()=>[r(_.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[r(_.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[r(_.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[r(_.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[r(_.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[r(_.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[r(_.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[r(_.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[r(_.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[r(_.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[r(_.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[r(_.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[r(_.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[r(_.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[r(_.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[r(_.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[r(_.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[r(_.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[r(_.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[r(_.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),h(Tl),r(_.$slots,"layout-bottom",{},void 0,!0)])):(a(),y(L,{key:1}))}}});const El=p(Hl,[["__scopeId","data-v-52c8a4d0"]]);const Dl={Layout:El,enhanceApp:({app:e})=>{e.component("Badge",ft)}};export{Dl as t}; diff --git a/assets/ecosystem_adapters_konata.md.eedf4cf4.js b/assets/ecosystem_adapters_konata.md.eedf4cf4.js new file mode 100644 index 0000000..3ecf219 --- /dev/null +++ b/assets/ecosystem_adapters_konata.md.eedf4cf4.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as e}from"./chunks/framework.d7e37bdc.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"ecosystem/adapters/konata.md","filePath":"ecosystem/adapters/konata.md","lastUpdated":1677953005000}'),s={name:"ecosystem/adapters/konata.md"};function o(r,n,c,d,p,m){return e(),a("div")}const f=t(s,[["render",o]]);export{i as __pageData,f as default}; diff --git a/assets/ecosystem_adapters_konata.md.eedf4cf4.lean.js b/assets/ecosystem_adapters_konata.md.eedf4cf4.lean.js new file mode 100644 index 0000000..3ecf219 --- /dev/null +++ b/assets/ecosystem_adapters_konata.md.eedf4cf4.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as e}from"./chunks/framework.d7e37bdc.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"ecosystem/adapters/konata.md","filePath":"ecosystem/adapters/konata.md","lastUpdated":1677953005000}'),s={name:"ecosystem/adapters/konata.md"};function o(r,n,c,d,p,m){return e(),a("div")}const f=t(s,[["render",o]]);export{i as __pageData,f as default}; diff --git a/assets/ecosystem_adapters_konata.md.f1b50e57.js b/assets/ecosystem_adapters_konata.md.f1b50e57.js deleted file mode 100644 index ca2e3c3..0000000 --- a/assets/ecosystem_adapters_konata.md.f1b50e57.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as e,o as a}from"./app.502e5375.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"ecosystem/adapters/konata.md","lastUpdated":1677953005000}'),s={name:"ecosystem/adapters/konata.md"};function o(r,n,c,p,d,_){return a(),e("div")}const f=t(s,[["render",o]]);export{i as __pageData,f as default}; diff --git a/assets/ecosystem_adapters_konata.md.f1b50e57.lean.js b/assets/ecosystem_adapters_konata.md.f1b50e57.lean.js deleted file mode 100644 index ca2e3c3..0000000 --- a/assets/ecosystem_adapters_konata.md.f1b50e57.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as e,o as a}from"./app.502e5375.js";const i=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"ecosystem/adapters/konata.md","lastUpdated":1677953005000}'),s={name:"ecosystem/adapters/konata.md"};function o(r,n,c,p,d,_){return a(),e("div")}const f=t(s,[["render",o]]);export{i as __pageData,f as default}; diff --git a/assets/ecosystem_adapters_onebot.md.a2dac503.js b/assets/ecosystem_adapters_onebot.md.238084b5.js similarity index 54% rename from assets/ecosystem_adapters_onebot.md.a2dac503.js rename to assets/ecosystem_adapters_onebot.md.238084b5.js index a6e063b..80ae3d1 100644 --- a/assets/ecosystem_adapters_onebot.md.a2dac503.js +++ b/assets/ecosystem_adapters_onebot.md.238084b5.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{"title":"OneBot 适配器","description":"","frontmatter":{},"headers":[{"level":2,"title":"注意事项","slug":"注意事项","link":"#注意事项","children":[]},{"level":2,"title":"启动 OneBot 服务","slug":"启动-onebot-服务","link":"#启动-onebot-服务","children":[]},{"level":2,"title":"添加适配器","slug":"添加适配器","link":"#添加适配器","children":[]}],"relativePath":"ecosystem/adapters/onebot.md","lastUpdated":1677953005000}'),p={name:"ecosystem/adapters/onebot.md"},o=l(`

OneBot 适配器

OneBot 适配器适配 OneBot v11 协议,主要对 QQ 平台提供支持。

注意事项

  • 当前只支持正向 WebSocket 通信方式。
  • 暂时仅支持了常用的 CQ 码。

启动 OneBot 服务

本节以 go-cqhttp 为例,搭建一个正常运行的 OneBot 服务。

前往 go-cqhttp 的 Release 页面,根据自己设备的架构选择合适的安装包或压缩包下载。

没有找到对应的文件?

由于 GitHub 限制了单个 Release 默认能显示的文件数量,你可能需要点击 Show all assets 来查看所有文件。

例如我的设备是 64 位 Windows 系统,选择 go-cqhttp_windows_amd64.zip 下载。

下载后解压到一个空文件夹,运行 go-cqhttp.exe(或其他可执行文件)。首次打开会创建一个配置文件 config.yml,使用文本编辑器打开它,至少更改或添加以下内容:

yaml
account: # 账号相关
+import{_ as s,c as n,o as a,O as p}from"./chunks/framework.d7e37bdc.js";const u=JSON.parse('{"title":"OneBot 适配器","description":"","frontmatter":{},"headers":[],"relativePath":"ecosystem/adapters/onebot.md","filePath":"ecosystem/adapters/onebot.md","lastUpdated":1683369215000}'),l={name:"ecosystem/adapters/onebot.md"},o=p(`

OneBot 适配器

OneBot 适配器适配 OneBot v11 协议,主要对 QQ 平台提供支持。

注意事项

  • 当前只支持正向 WebSocket 通信方式。
  • 暂时仅支持了常用的 CQ 码。

启动 OneBot 服务

本节以 go-cqhttp 为例,搭建一个正常运行的 OneBot 服务。

前往 go-cqhttp 的 Release 页面,根据自己设备的架构选择合适的安装包或压缩包下载。

没有找到对应的文件?

由于 GitHub 限制了单个 Release 默认能显示的文件数量,你可能需要点击 Show all assets 来查看所有文件。

例如我的设备是 64 位 Windows 系统,选择 go-cqhttp_windows_amd64.zip 下载。

下载后解压到一个空文件夹,运行 go-cqhttp.exe(或其他可执行文件)。首次打开会创建一个配置文件 config.yml,使用文本编辑器打开它,至少更改或添加以下内容:

yaml
account: # 账号相关
   uin: 12345678 # QQ账号
   password: '你的密码' # 密码为空时使用扫码登录
 
@@ -9,8 +9,7 @@ import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{
       # 正向 WebSocket 服务器监听地址 
       address: 127.0.0.1:8080 
       middlewares: 
-        <<: *default # 引用默认中间件 
-
account: # 账号相关
+        <<: *default # 引用默认中间件 
account: # 账号相关
   uin: 12345678 # QQ账号
   password: '你的密码' # 密码为空时使用扫码登录
 
@@ -21,8 +20,7 @@ import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{
       # 正向 WebSocket 服务器监听地址 
       address: 127.0.0.1:8080 
       middlewares: 
-        <<: *default # 引用默认中间件 
-

重新打开 go-cqhttp.exe,可能会提示登录验证,根据终端输出照做即可。输出以下信息则说明登陆成功:

[2023-03-04 22:21:35] [INFO]: 登录成功 欢迎使用: [机器人名称]
+        <<: *default # 引用默认中间件 

重新打开 go-cqhttp.exe,可能会提示登录验证,根据终端输出照做即可。输出以下信息则说明登陆成功:

[2023-03-04 22:21:35] [INFO]: 登录成功 欢迎使用: [机器人名称]
 [2023-03-04 22:21:35] [INFO]: 开始加载好友列表...
 [2023-03-04 22:21:35] [INFO]: 共加载 1 个好友.
 [2023-03-04 22:21:35] [INFO]: 开始加载群列表...
@@ -30,8 +28,7 @@ import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{
 [2023-03-04 22:21:35] [INFO]: 资源初始化完成, 开始处理信息.
 [2023-03-04 22:21:35] [INFO]: アトリは、高性能ですから!
 [2023-03-04 22:21:35] [INFO]: 正在检查更新.
-[2023-03-04 22:21:35] [INFO]: CQ WebSocket 服务器已启动: 127.0.0.1:8080
-
[2023-03-04 22:21:35] [INFO]: 登录成功 欢迎使用: [机器人名称]
+[2023-03-04 22:21:35] [INFO]: CQ WebSocket 服务器已启动: 127.0.0.1:8080
[2023-03-04 22:21:35] [INFO]: 登录成功 欢迎使用: [机器人名称]
 [2023-03-04 22:21:35] [INFO]: 开始加载好友列表...
 [2023-03-04 22:21:35] [INFO]: 共加载 1 个好友.
 [2023-03-04 22:21:35] [INFO]: 开始加载群列表...
@@ -39,24 +36,21 @@ import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{
 [2023-03-04 22:21:35] [INFO]: 资源初始化完成, 开始处理信息.
 [2023-03-04 22:21:35] [INFO]: アトリは、高性能ですから!
 [2023-03-04 22:21:35] [INFO]: 正在检查更新.
-[2023-03-04 22:21:35] [INFO]: CQ WebSocket 服务器已启动: 127.0.0.1:8080
-

添加适配器

搭建好 OneBot 服务端后,我们需要在 Flandre 应用中添加 OneBot 适配器,来和服务端进行交互:

csharp
var config = new OneBotAdapterConfig();
+[2023-03-04 22:21:35] [INFO]: CQ WebSocket 服务器已启动: 127.0.0.1:8080

添加适配器

搭建好 OneBot 服务端后,我们需要在 Flandre 应用中添加 OneBot 适配器,来和服务端进行交互:

csharp
var config = new OneBotAdapterConfig();
 config.Bots.Add(new OneBotBotConfig
 {
     Protocol = OneBotProtocol.WebSocket,
     Endpoint = "ws://127.0.0.1:8080" // 配置的 WebSocket 监听地址
 });
 
-builder.AddAdapter(new OneBotAdapter(config));
-
var config = new OneBotAdapterConfig();
+builder.Adapters.Add(new OneBotAdapter(config));
var config = new OneBotAdapterConfig();
 config.Bots.Add(new OneBotBotConfig
 {
     Protocol = OneBotProtocol.WebSocket,
     Endpoint = "ws://127.0.0.1:8080" // 配置的 WebSocket 监听地址
 });
 
-builder.AddAdapter(new OneBotAdapter(config));
-

如果你更倾向于使用独立的配置文件,你也可以这样做:

json
// appsettings.json
+builder.Adapters.Add(new OneBotAdapter(config));

如果你更倾向于使用独立的配置文件,你也可以这样做:

json
// appsettings.json
 {
   "Adapters": {
     "OneBot": {
@@ -68,8 +62,7 @@ import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{
       ]
     }
   }
-}
-
// appsettings.json
+}
// appsettings.json
 {
   "Adapters": {
     "OneBot": {
@@ -81,15 +74,22 @@ import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{
       ]
     }
   }
-}
-
csharp
builder.AddAdapter(new OneBotAdapter(
+}
csharp
builder.Adapters.Add(new OneBotAdapter(
     builder.Configuration
         .GetSection("Adapters:OneBot")
         .Get<OneBotAdapterConfig>()
-    ?? new OneBotAdapterConfig()));
-
builder.AddAdapter(new OneBotAdapter(
+    ?? new OneBotAdapterConfig()));
builder.Adapters.Add(new OneBotAdapter(
     builder.Configuration
         .GetSection("Adapters:OneBot")
         .Get<OneBotAdapterConfig>()
-    ?? new OneBotAdapterConfig()));
-
`,20),e=[o];function t(c,r,E,i,y,d){return a(),n("div",null,e)}const F=s(p,[["render",t]]);export{u as __pageData,F as default}; + ?? new OneBotAdapterConfig()));

扩展方法

我们也提供了几个扩展方法,稍微简化了一些:

首先安装 Flandre.Adapters.OneBot.Extensions NuGet 包,然后:

csharp
// 从 Configuration 中的 Adapters:OneBot 读取配置项
+builder.Adapters.AddOneBot();
+
+builder.Adapters.AddOneBot(IConfiguration configuration);
+
+builder.Adapters.AddOneBot(config => config.Xxx = /* ... */);
// 从 Configuration 中的 Adapters:OneBot 读取配置项
+builder.Adapters.AddOneBot();
+
+builder.Adapters.AddOneBot(IConfiguration configuration);
+
+builder.Adapters.AddOneBot(config => config.Xxx = /* ... */);
`,24),e=[o];function t(c,r,E,y,i,d){return a(),n("div",null,e)}const g=s(l,[["render",t]]);export{u as __pageData,g as default}; diff --git a/assets/ecosystem_adapters_onebot.md.238084b5.lean.js b/assets/ecosystem_adapters_onebot.md.238084b5.lean.js new file mode 100644 index 0000000..a33f74f --- /dev/null +++ b/assets/ecosystem_adapters_onebot.md.238084b5.lean.js @@ -0,0 +1 @@ +import{_ as s,c as n,o as a,O as p}from"./chunks/framework.d7e37bdc.js";const u=JSON.parse('{"title":"OneBot 适配器","description":"","frontmatter":{},"headers":[],"relativePath":"ecosystem/adapters/onebot.md","filePath":"ecosystem/adapters/onebot.md","lastUpdated":1683369215000}'),l={name:"ecosystem/adapters/onebot.md"},o=p("",24),e=[o];function t(c,r,E,y,i,d){return a(),n("div",null,e)}const g=s(l,[["render",t]]);export{u as __pageData,g as default}; diff --git a/assets/ecosystem_adapters_onebot.md.a2dac503.lean.js b/assets/ecosystem_adapters_onebot.md.a2dac503.lean.js deleted file mode 100644 index f842d8d..0000000 --- a/assets/ecosystem_adapters_onebot.md.a2dac503.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{"title":"OneBot 适配器","description":"","frontmatter":{},"headers":[{"level":2,"title":"注意事项","slug":"注意事项","link":"#注意事项","children":[]},{"level":2,"title":"启动 OneBot 服务","slug":"启动-onebot-服务","link":"#启动-onebot-服务","children":[]},{"level":2,"title":"添加适配器","slug":"添加适配器","link":"#添加适配器","children":[]}],"relativePath":"ecosystem/adapters/onebot.md","lastUpdated":1677953005000}'),p={name:"ecosystem/adapters/onebot.md"},o=l("",20),e=[o];function t(c,r,E,i,y,d){return a(),n("div",null,e)}const F=s(p,[["render",t]]);export{u as __pageData,F as default}; diff --git a/assets/ecosystem_index.md.4effed6d.js b/assets/ecosystem_index.md.4effed6d.js new file mode 100644 index 0000000..7122647 --- /dev/null +++ b/assets/ecosystem_index.md.4effed6d.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,O as r}from"./chunks/framework.d7e37bdc.js";const f=JSON.parse('{"title":"生态系统","description":"","frontmatter":{},"headers":[],"relativePath":"ecosystem/index.md","filePath":"ecosystem/index.md","lastUpdated":1677953005000}'),o={name:"ecosystem/index.md"},n=r('

生态系统

这个分区介绍了 Flandre 的周边生态,包括适配器、插件等。

平台适配器

',4),s=[n];function d(l,i,_,c,h,p){return t(),a("div",null,s)}const u=e(o,[["render",d]]);export{f as __pageData,u as default}; diff --git a/assets/ecosystem_index.md.4effed6d.lean.js b/assets/ecosystem_index.md.4effed6d.lean.js new file mode 100644 index 0000000..0ffeb85 --- /dev/null +++ b/assets/ecosystem_index.md.4effed6d.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,O as r}from"./chunks/framework.d7e37bdc.js";const f=JSON.parse('{"title":"生态系统","description":"","frontmatter":{},"headers":[],"relativePath":"ecosystem/index.md","filePath":"ecosystem/index.md","lastUpdated":1677953005000}'),o={name:"ecosystem/index.md"},n=r("",4),s=[n];function d(l,i,_,c,h,p){return t(),a("div",null,s)}const u=e(o,[["render",d]]);export{f as __pageData,u as default}; diff --git a/assets/ecosystem_index.md.518ab9c0.js b/assets/ecosystem_index.md.518ab9c0.js deleted file mode 100644 index 7a0dc62..0000000 --- a/assets/ecosystem_index.md.518ab9c0.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as a,o as t,a as r}from"./app.502e5375.js";const m=JSON.parse('{"title":"生态系统","description":"","frontmatter":{},"headers":[{"level":2,"title":"平台适配器","slug":"平台适配器","link":"#平台适配器","children":[]}],"relativePath":"ecosystem/index.md","lastUpdated":1677953005000}'),n={name:"ecosystem/index.md"},o=r('

生态系统

这个分区介绍了 Flandre 的周边生态,包括适配器、插件等。

平台适配器

',4),s=[o];function d(i,l,_,c,h,p){return t(),a("div",null,s)}const u=e(n,[["render",d]]);export{m as __pageData,u as default}; diff --git a/assets/ecosystem_index.md.518ab9c0.lean.js b/assets/ecosystem_index.md.518ab9c0.lean.js deleted file mode 100644 index 1d6930f..0000000 --- a/assets/ecosystem_index.md.518ab9c0.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as a,o as t,a as r}from"./app.502e5375.js";const m=JSON.parse('{"title":"生态系统","description":"","frontmatter":{},"headers":[{"level":2,"title":"平台适配器","slug":"平台适配器","link":"#平台适配器","children":[]}],"relativePath":"ecosystem/index.md","lastUpdated":1677953005000}'),n={name:"ecosystem/index.md"},o=r("",4),s=[o];function d(i,l,_,c,h,p){return t(),a("div",null,s)}const u=e(n,[["render",d]]);export{m as __pageData,u as default}; diff --git a/assets/guide_basic-concepts.md.7b693fbc.js b/assets/guide_basic-concepts.md.7b693fbc.js new file mode 100644 index 0000000..4d0e219 --- /dev/null +++ b/assets/guide_basic-concepts.md.7b693fbc.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,O as n}from"./chunks/framework.d7e37bdc.js";const _=JSON.parse('{"title":"基本概念","description":"","frontmatter":{},"headers":[],"relativePath":"guide/basic-concepts.md","filePath":"guide/basic-concepts.md","lastUpdated":1677953005000}'),r={name:"guide/basic-concepts.md"},l=n('

基本概念

群组/频道 - Guild/Channel

考虑到众多聊天平台具有不统一的架构(例如 Discord 的服务器、频道,QQ 的群聊),Flandre 将其抽象成两层:Guild 和 Channel。Guild 泛指大的群组构成,其中有许多的分区和成员;Channel 指各种不同功能的分区,也是用户们具体聊天的地方。

对于拥有 Discord 使用经验的用户来说这种结构很好理解;但在 QQ 这样只用一层群聊划分用户的平台,我们定义 Guild 为群聊的基本抽象,是群成员的一个集合,Channel 为群成员具体聊天的环境。例如发送群聊消息使用 SendChannelMessage,而获取群成员使用 GetGuildMember

出于方便目的,我们在文档中会将 Guild 译为 群组,Channel 译为 频道。在文档中,除非是特定平台相关的场景,我们都会用 群组/频道 代替 Guild/Channel。

为了能更好地理解,在这里整理了一个对照表,对应不同平台使用的不同术语:

FlandreOneBot (QQ)DiscordQQ 频道
群组/Guild群聊成员的一个抽象集合服务器 (Server)频道
频道/Channel群成员的具体聊天环境频道子频道

适配器 - Adapter

对于跨平台的实现方案,Flandre 参考诸多同类项目,使用了适配器 (Adapter) 模式。在适配器模式中,核心组件 (Flandre.Core) 不会发生变化,对于不同平台只需要编写对应的适配器,充当和 Core 通信的桥梁。

插件 - Plugin

插件是由开发者自行编写的功能模块,包含了 Bot 的各种行为逻辑,如指令、事件处理都是包含在一个个模块里的。

中间件 - Middleware

中间件是消息进出的管道。Flandre 的中间件设计参考了洋葱模型,便于对消息进行全面的控制。

',13),d=[l];function i(o,s,c,h,p,g){return a(),t("div",null,d)}const x=e(r,[["render",i]]);export{_ as __pageData,x as default}; diff --git a/assets/guide_basic-concepts.md.7b693fbc.lean.js b/assets/guide_basic-concepts.md.7b693fbc.lean.js new file mode 100644 index 0000000..dc042e9 --- /dev/null +++ b/assets/guide_basic-concepts.md.7b693fbc.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,O as n}from"./chunks/framework.d7e37bdc.js";const _=JSON.parse('{"title":"基本概念","description":"","frontmatter":{},"headers":[],"relativePath":"guide/basic-concepts.md","filePath":"guide/basic-concepts.md","lastUpdated":1677953005000}'),r={name:"guide/basic-concepts.md"},l=n("",13),d=[l];function i(o,s,c,h,p,g){return a(),t("div",null,d)}const x=e(r,[["render",i]]);export{_ as __pageData,x as default}; diff --git a/assets/guide_basic-concepts.md.c572cc6e.js b/assets/guide_basic-concepts.md.c572cc6e.js deleted file mode 100644 index a017a1f..0000000 --- a/assets/guide_basic-concepts.md.c572cc6e.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a,a as n}from"./app.502e5375.js";const _=JSON.parse('{"title":"基本概念","description":"","frontmatter":{},"headers":[{"level":2,"title":"群组/频道 - Guild/Channel","slug":"群组-频道-guild-channel","link":"#群组-频道-guild-channel","children":[]},{"level":2,"title":"适配器 - Adapter","slug":"适配器-adapter","link":"#适配器-adapter","children":[]},{"level":2,"title":"插件 - Plugin","slug":"插件-plugin","link":"#插件-plugin","children":[]},{"level":2,"title":"中间件 - Middleware","slug":"中间件-middleware","link":"#中间件-middleware","children":[]}],"relativePath":"guide/basic-concepts.md","lastUpdated":1677953005000}'),d={name:"guide/basic-concepts.md"},l=n('

基本概念

群组/频道 - Guild/Channel

考虑到众多聊天平台具有不统一的架构(例如 Discord 的服务器、频道,QQ 的群聊),Flandre 将其抽象成两层:Guild 和 Channel。Guild 泛指大的群组构成,其中有许多的分区和成员;Channel 指各种不同功能的分区,也是用户们具体聊天的地方。

对于拥有 Discord 使用经验的用户来说这种结构很好理解;但在 QQ 这样只用一层群聊划分用户的平台,我们定义 Guild 为群聊的基本抽象,是群成员的一个集合,Channel 为群成员具体聊天的环境。例如发送群聊消息使用 SendChannelMessage,而获取群成员使用 GetGuildMember

出于方便目的,我们在文档中会将 Guild 译为 群组,Channel 译为 频道。在文档中,除非是特定平台相关的场景,我们都会用 群组/频道 代替 Guild/Channel。

为了能更好地理解,在这里整理了一个对照表,对应不同平台使用的不同术语:

FlandreOneBot (QQ)DiscordQQ 频道
群组/Guild群聊成员的一个抽象集合服务器 (Server)频道
频道/Channel群成员的具体聊天环境频道子频道

适配器 - Adapter

对于跨平台的实现方案,Flandre 参考诸多同类项目,使用了适配器 (Adapter) 模式。在适配器模式中,核心组件 (Flandre.Core) 不会发生变化,对于不同平台只需要编写对应的适配器,充当和 Core 通信的桥梁。

插件 - Plugin

插件是由开发者自行编写的功能模块,包含了 Bot 的各种行为逻辑,如指令、事件处理都是包含在一个个模块里的。

中间件 - Middleware

中间件是消息进出的管道。Flandre 的中间件设计参考了洋葱模型,便于对消息进行全面的控制。

',13),r=[l];function i(s,c,h,o,g,p){return a(),t("div",null,r)}const x=e(d,[["render",i]]);export{_ as __pageData,x as default}; diff --git a/assets/guide_basic-concepts.md.c572cc6e.lean.js b/assets/guide_basic-concepts.md.c572cc6e.lean.js deleted file mode 100644 index 8b4422b..0000000 --- a/assets/guide_basic-concepts.md.c572cc6e.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a,a as n}from"./app.502e5375.js";const _=JSON.parse('{"title":"基本概念","description":"","frontmatter":{},"headers":[{"level":2,"title":"群组/频道 - Guild/Channel","slug":"群组-频道-guild-channel","link":"#群组-频道-guild-channel","children":[]},{"level":2,"title":"适配器 - Adapter","slug":"适配器-adapter","link":"#适配器-adapter","children":[]},{"level":2,"title":"插件 - Plugin","slug":"插件-plugin","link":"#插件-plugin","children":[]},{"level":2,"title":"中间件 - Middleware","slug":"中间件-middleware","link":"#中间件-middleware","children":[]}],"relativePath":"guide/basic-concepts.md","lastUpdated":1677953005000}'),d={name:"guide/basic-concepts.md"},l=n("",13),r=[l];function i(s,c,h,o,g,p){return a(),t("div",null,r)}const x=e(d,[["render",i]]);export{_ as __pageData,x as default}; diff --git a/assets/guide_basic_event.md.13f1ec22.lean.js b/assets/guide_basic_event.md.13f1ec22.lean.js deleted file mode 100644 index 9c34d01..0000000 --- a/assets/guide_basic_event.md.13f1ec22.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a as l}from"./app.502e5375.js";const F=JSON.parse('{"title":"事件 (Event)","description":"","frontmatter":{},"headers":[],"relativePath":"guide/basic/event.md","lastUpdated":1677953005000}'),p={name:"guide/basic/event.md"},o=l("",6),e=[o];function t(c,r,E,y,i,d){return n(),a("div",null,e)}const g=s(p,[["render",t]]);export{F as __pageData,g as default}; diff --git a/assets/guide_basic_event.md.13f1ec22.js b/assets/guide_basic_event.md.658d3cd1.js similarity index 70% rename from assets/guide_basic_event.md.13f1ec22.js rename to assets/guide_basic_event.md.658d3cd1.js index 09308bc..ee702a6 100644 --- a/assets/guide_basic_event.md.13f1ec22.js +++ b/assets/guide_basic_event.md.658d3cd1.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,a as l}from"./app.502e5375.js";const F=JSON.parse('{"title":"事件 (Event)","description":"","frontmatter":{},"headers":[],"relativePath":"guide/basic/event.md","lastUpdated":1677953005000}'),p={name:"guide/basic/event.md"},o=l(`

事件 (Event)

Flandre 中存在着许许多多的事件,监控着应用内各项数据的流动。

在一个插件中,我们可以十分方便地通过重写插件方法的方式来订阅一个事件:

csharp
public class ExamplePlugin : Plugin
+import{_ as s,c as a,o as n,O as l}from"./chunks/framework.d7e37bdc.js";const F=JSON.parse('{"title":"事件 (Event)","description":"","frontmatter":{},"headers":[],"relativePath":"guide/basic/event.md","filePath":"guide/basic/event.md","lastUpdated":1677953005000}'),p={name:"guide/basic/event.md"},o=l(`

事件 (Event)

Flandre 中存在着许许多多的事件,监控着应用内各项数据的流动。

在一个插件中,我们可以十分方便地通过重写插件方法的方式来订阅一个事件:

csharp
public class ExamplePlugin : Plugin
 {
     /// <summary>
     /// 每次收到消息时触发。
@@ -14,8 +14,7 @@ import{_ as s,c as a,o as n,a as l}from"./app.502e5375.js";const F=JSON.parse('{
     }
 }
 
-builder.AddPlugin<ExamplePlugin>();
-
public class ExamplePlugin : Plugin
+builder.AddPlugin<ExamplePlugin>();
public class ExamplePlugin : Plugin
 {
     /// <summary>
     /// 每次收到消息时触发。
@@ -31,9 +30,6 @@ import{_ as s,c as a,o as n,a as l}from"./app.502e5375.js";const F=JSON.parse('{
     }
 }
 
-builder.AddPlugin<ExamplePlugin>();
-

如果想要使用更加传统的 += 式事件订阅方式,Flandre 同样支持,只是可能更加麻烦:

csharp
app.Bots.ForEach(bot =>
-    bot.OnMessageReceived +=(bot, e) => { /* ... */ });
-
app.Bots.ForEach(bot =>
-    bot.OnMessageReceived +=(bot, e) => { /* ... */ });
-
`,6),e=[o];function t(c,r,E,y,i,d){return n(),a("div",null,e)}const g=s(p,[["render",t]]);export{F as __pageData,g as default}; +builder.AddPlugin<ExamplePlugin>();

如果想要使用更加传统的 += 式事件订阅方式,Flandre 同样支持,只是可能更加麻烦:

csharp
app.Bots.ForEach(bot =>
+    bot.OnMessageReceived +=(bot, e) => { /* ... */ });
app.Bots.ForEach(bot =>
+    bot.OnMessageReceived +=(bot, e) => { /* ... */ });
`,6),e=[o];function t(c,r,E,y,i,d){return n(),a("div",null,e)}const g=s(p,[["render",t]]);export{F as __pageData,g as default}; diff --git a/assets/guide_basic_event.md.658d3cd1.lean.js b/assets/guide_basic_event.md.658d3cd1.lean.js new file mode 100644 index 0000000..95199b5 --- /dev/null +++ b/assets/guide_basic_event.md.658d3cd1.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,O as l}from"./chunks/framework.d7e37bdc.js";const F=JSON.parse('{"title":"事件 (Event)","description":"","frontmatter":{},"headers":[],"relativePath":"guide/basic/event.md","filePath":"guide/basic/event.md","lastUpdated":1677953005000}'),p={name:"guide/basic/event.md"},o=l("",6),e=[o];function t(c,r,E,y,i,d){return n(),a("div",null,e)}const g=s(p,[["render",t]]);export{F as __pageData,g as default}; diff --git a/assets/guide_basic_middleware.md.518af36b.js b/assets/guide_basic_middleware.md.518af36b.js deleted file mode 100644 index cb88508..0000000 --- a/assets/guide_basic_middleware.md.518af36b.js +++ /dev/null @@ -1,9 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.502e5375.js";const e="/assets/middleware-model.ba23fdeb.png",h=JSON.parse('{"title":"中间件 (Middleware)","description":"","frontmatter":{},"headers":[],"relativePath":"guide/basic/middleware.md","lastUpdated":1677953005000}'),l={name:"guide/basic/middleware.md"},o=p(`

中间件 (Middleware)

相比事件,中间件只能处理消息流。但其更为灵活,同时提供了事件所不具有的能力——截断处理。

定义一个中间件:

csharp
app.UseMiddleware(async (ctx, next) => {
-    if (ctx.Message.GetText() == "pass me!")
-        await next();
-});
-
app.UseMiddleware(async (ctx, next) => {
-    if (ctx.Message.GetText() == "pass me!")
-        await next();
-});
-

上面的中间件达到了一个效果:只有在消息文本为 pass me! 的时候,消息才会被传送至下一步处理。否则,消息将在此处被截断,不会向下传播。

Flandre 的中间件设计参考了洋葱模型。如果你有使用 ASP.NET Core 中间件,或是 Node.js 框架 Koa 的经验,就很容易理解。这里采用一张来自 ASP.NET Core 文档的图片来说明:

中间件模型

',7),t=[o];function c(r,E,d,i,y,_){return n(),a("div",null,t)}const F=s(l,[["render",c]]);export{h as __pageData,F as default}; diff --git a/assets/guide_basic_middleware.md.518af36b.lean.js b/assets/guide_basic_middleware.md.518af36b.lean.js deleted file mode 100644 index 08247d1..0000000 --- a/assets/guide_basic_middleware.md.518af36b.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.502e5375.js";const e="/assets/middleware-model.ba23fdeb.png",h=JSON.parse('{"title":"中间件 (Middleware)","description":"","frontmatter":{},"headers":[],"relativePath":"guide/basic/middleware.md","lastUpdated":1677953005000}'),l={name:"guide/basic/middleware.md"},o=p("",7),t=[o];function c(r,E,d,i,y,_){return n(),a("div",null,t)}const F=s(l,[["render",c]]);export{h as __pageData,F as default}; diff --git a/assets/guide_basic_middleware.md.5f20498a.js b/assets/guide_basic_middleware.md.5f20498a.js new file mode 100644 index 0000000..dca060a --- /dev/null +++ b/assets/guide_basic_middleware.md.5f20498a.js @@ -0,0 +1,7 @@ +import{_ as s,c as a,o as n,O as e}from"./chunks/framework.d7e37bdc.js";const p="/assets/middleware-model.ba23fdeb.png",h=JSON.parse('{"title":"中间件 (Middleware)","description":"","frontmatter":{},"headers":[],"relativePath":"guide/basic/middleware.md","filePath":"guide/basic/middleware.md","lastUpdated":1677953005000}'),l={name:"guide/basic/middleware.md"},o=e(`

中间件 (Middleware)

相比事件,中间件只能处理消息流。但其更为灵活,同时提供了事件所不具有的能力——截断处理。

定义一个中间件:

csharp
app.UseMiddleware(async (ctx, next) => {
+    if (ctx.Message.GetText() == "pass me!")
+        await next();
+});
app.UseMiddleware(async (ctx, next) => {
+    if (ctx.Message.GetText() == "pass me!")
+        await next();
+});

上面的中间件达到了一个效果:只有在消息文本为 pass me! 的时候,消息才会被传送至下一步处理。否则,消息将在此处被截断,不会向下传播。

Flandre 的中间件设计参考了洋葱模型。如果你有使用 ASP.NET Core 中间件,或是 Node.js 框架 Koa 的经验,就很容易理解。这里采用一张来自 ASP.NET Core 文档的图片来说明:

中间件模型

',7),t=[o];function c(r,E,d,i,y,_){return n(),a("div",null,t)}const u=s(l,[["render",c]]);export{h as __pageData,u as default}; diff --git a/assets/guide_basic_middleware.md.5f20498a.lean.js b/assets/guide_basic_middleware.md.5f20498a.lean.js new file mode 100644 index 0000000..b61a574 --- /dev/null +++ b/assets/guide_basic_middleware.md.5f20498a.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,O as e}from"./chunks/framework.d7e37bdc.js";const p="/assets/middleware-model.ba23fdeb.png",h=JSON.parse('{"title":"中间件 (Middleware)","description":"","frontmatter":{},"headers":[],"relativePath":"guide/basic/middleware.md","filePath":"guide/basic/middleware.md","lastUpdated":1677953005000}'),l={name:"guide/basic/middleware.md"},o=e("",7),t=[o];function c(r,E,d,i,y,_){return n(),a("div",null,t)}const u=s(l,[["render",c]]);export{h as __pageData,u as default}; diff --git a/assets/guide_command_basic.md.e50adc0c.js b/assets/guide_command_basic.md.4d0e9905.js similarity index 57% rename from assets/guide_command_basic.md.e50adc0c.js rename to assets/guide_command_basic.md.4d0e9905.js index 8959bf9..e77e930 100644 --- a/assets/guide_command_basic.md.e50adc0c.js +++ b/assets/guide_command_basic.md.4d0e9905.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{"title":"认识指令","description":"","frontmatter":{},"headers":[],"relativePath":"guide/command/basic.md","lastUpdated":1677953005000}'),p={name:"guide/command/basic.md"},o=l(`

认识指令

指令是一个机器人的灵魂。指令系统是整个 Flandre 框架中最精华的部分,也是灵活度最高的部分。通过指令,开发者无需再繁琐地在事件处理里写判断逻辑,仅需简单的定义就能方便掌握用户提供的参数信息。

一条指令必须定义在一个插件里,并使用 [Command] 特性标注:

csharp
public class ExamplePlugin : Plugin
+import{_ as s,c as a,o as n,O as l}from"./chunks/framework.d7e37bdc.js";const u=JSON.parse('{"title":"认识指令","description":"","frontmatter":{},"headers":[],"relativePath":"guide/command/basic.md","filePath":"guide/command/basic.md","lastUpdated":1683369215000}'),p={name:"guide/command/basic.md"},o=l(`

认识指令

指令是一个机器人的灵魂。指令系统是整个 Flandre 框架中最精华的部分,也是灵活度最高的部分。通过指令,开发者无需再繁琐地在事件处理里写判断逻辑,仅需简单的定义就能方便掌握用户提供的参数信息。

一条指令必须定义在一个插件里,并使用 [Command] 特性标注:

csharp
public class ExamplePlugin : Plugin
 {
     [Command("test")]
     public string OnTest(CommandContext ctx, string name, int age)
@@ -7,8 +7,7 @@ import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{
     }
 }
 
-builder.AddPlugin<ExamplePlugin>();
-
public class ExamplePlugin : Plugin
+builder.Plugins.Add<ExamplePlugin>();
public class ExamplePlugin : Plugin
 {
     [Command("test")]
     public string OnTest(CommandContext ctx, string name, int age)
@@ -17,5 +16,4 @@ import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{
     }
 }
 
-builder.AddPlugin<ExamplePlugin>();
-

Flandre 会自动解析指令方法的参数列表,在用户调用指令时,便会在解析成功后,将解析结果自动作为实参传入该方法。

`,5),e=[o];function t(c,r,E,y,i,d){return a(),n("div",null,e)}const m=s(p,[["render",t]]);export{u as __pageData,m as default}; +builder.Plugins.Add<ExamplePlugin>();

Flandre 会自动解析指令方法的参数列表,在用户调用指令时,便会在解析成功后,将解析结果自动作为实参传入该方法。

`,5),e=[o];function t(c,r,E,y,i,d){return n(),a("div",null,e)}const m=s(p,[["render",t]]);export{u as __pageData,m as default}; diff --git a/assets/guide_command_basic.md.4d0e9905.lean.js b/assets/guide_command_basic.md.4d0e9905.lean.js new file mode 100644 index 0000000..e45e719 --- /dev/null +++ b/assets/guide_command_basic.md.4d0e9905.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,O as l}from"./chunks/framework.d7e37bdc.js";const u=JSON.parse('{"title":"认识指令","description":"","frontmatter":{},"headers":[],"relativePath":"guide/command/basic.md","filePath":"guide/command/basic.md","lastUpdated":1683369215000}'),p={name:"guide/command/basic.md"},o=l("",5),e=[o];function t(c,r,E,y,i,d){return n(),a("div",null,e)}const m=s(p,[["render",t]]);export{u as __pageData,m as default}; diff --git a/assets/guide_command_basic.md.e50adc0c.lean.js b/assets/guide_command_basic.md.e50adc0c.lean.js deleted file mode 100644 index 39496a0..0000000 --- a/assets/guide_command_basic.md.e50adc0c.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as n,o as a,a as l}from"./app.502e5375.js";const u=JSON.parse('{"title":"认识指令","description":"","frontmatter":{},"headers":[],"relativePath":"guide/command/basic.md","lastUpdated":1677953005000}'),p={name:"guide/command/basic.md"},o=l("",5),e=[o];function t(c,r,E,y,i,d){return a(),n("div",null,e)}const m=s(p,[["render",t]]);export{u as __pageData,m as default}; diff --git a/assets/guide_index.md.990624f0.js b/assets/guide_index.md.990624f0.js deleted file mode 100644 index 754c121..0000000 --- a/assets/guide_index.md.990624f0.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a,a as o}from"./app.502e5375.js";const m=JSON.parse('{"title":"开发指南","description":"","frontmatter":{},"headers":[],"relativePath":"guide/index.md","lastUpdated":1677953005000}'),r={name:"guide/index.md"},s=o('

开发指南

欢迎来到 Project Flandre 的开发文档!

TIP

本指南面向对 .NET 开发有一定基础的开发者,所有代码示例均使用 C# 编写。

本指南主要介绍 Flandre.Framework 的开发。如果需要直接基于 Flandre.Core 开发,可以前往这里(Todo)查看相关文档。

本文档的结构组织参考了 Koishi.js,在此提出感谢。

Todo

',5),c=[s];function d(i,n,_,p,l,h){return a(),t("div",null,c)}const f=e(r,[["render",d]]);export{m as __pageData,f as default}; diff --git a/assets/guide_index.md.990624f0.lean.js b/assets/guide_index.md.990624f0.lean.js deleted file mode 100644 index c714237..0000000 --- a/assets/guide_index.md.990624f0.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a,a as o}from"./app.502e5375.js";const m=JSON.parse('{"title":"开发指南","description":"","frontmatter":{},"headers":[],"relativePath":"guide/index.md","lastUpdated":1677953005000}'),r={name:"guide/index.md"},s=o("",5),c=[s];function d(i,n,_,p,l,h){return a(),t("div",null,c)}const f=e(r,[["render",d]]);export{m as __pageData,f as default}; diff --git a/assets/guide_index.md.df54dfa1.js b/assets/guide_index.md.df54dfa1.js new file mode 100644 index 0000000..7e30a59 --- /dev/null +++ b/assets/guide_index.md.df54dfa1.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,O as o}from"./chunks/framework.d7e37bdc.js";const m=JSON.parse('{"title":"开发指南","description":"","frontmatter":{},"headers":[],"relativePath":"guide/index.md","filePath":"guide/index.md","lastUpdated":1677953005000}'),r={name:"guide/index.md"},s=o('

开发指南

欢迎来到 Project Flandre 的开发文档!

TIP

本指南面向对 .NET 开发有一定基础的开发者,所有代码示例均使用 C# 编写。

本指南主要介绍 Flandre.Framework 的开发。如果需要直接基于 Flandre.Core 开发,可以前往这里(Todo)查看相关文档。

本文档的结构组织参考了 Koishi.js,在此提出感谢。

Todo

',5),d=[s];function i(c,n,_,l,p,h){return a(),t("div",null,d)}const f=e(r,[["render",i]]);export{m as __pageData,f as default}; diff --git a/assets/guide_index.md.df54dfa1.lean.js b/assets/guide_index.md.df54dfa1.lean.js new file mode 100644 index 0000000..1dbb1d1 --- /dev/null +++ b/assets/guide_index.md.df54dfa1.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,O as o}from"./chunks/framework.d7e37bdc.js";const m=JSON.parse('{"title":"开发指南","description":"","frontmatter":{},"headers":[],"relativePath":"guide/index.md","filePath":"guide/index.md","lastUpdated":1677953005000}'),r={name:"guide/index.md"},s=o("",5),d=[s];function i(c,n,_,l,p,h){return a(),t("div",null,d)}const f=e(r,[["render",i]]);export{m as __pageData,f as default}; diff --git a/assets/guide_start_setup.md.89bd94dc.js b/assets/guide_start_setup.md.89bd94dc.js deleted file mode 100644 index cab1566..0000000 --- a/assets/guide_start_setup.md.89bd94dc.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.502e5375.js";const h=JSON.parse('{"title":"从模板创建项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/setup.md","lastUpdated":1677953005000}'),l={name:"guide/start/setup.md"},e=p(`

从模板创建项目

Flandre 的开发至少需要 .NET 6 SDK,确保你已经正常安装完毕。如果不确定自己安装的是什么版本,可以使用 dotnet --info 命令查看。

我们提供了一个模板项目,可以帮助你快速上手 Flandre 的开发。仓库在这里

首先,打开终端(如 PowerShell),键入以下命令:

shell
dotnet new install Flandre.Templates
-
dotnet new install Flandre.Templates
-

创建一个名为 MyFirstFlandreApp 的新项目:

shell
dotnet new flandre -o MyFirstFlandreApp
-
dotnet new flandre -o MyFirstFlandreApp
-

接下来,你需要结合自身的需求,挑选一个合适的平台适配器 (Adapter) 并加入到应用中。你可以在适配器列表中寻找一个合适的。

在新创建项目中的 Program.cs,加入新的适配器:

csharp
// 安装一个适配器,并添加在这里。
-var config = new YourAdapterConfig();
-// ...
-builder.AddAdapter(new YourAdapter(config));
-
// 安装一个适配器,并添加在这里。
-var config = new YourAdapterConfig();
-// ...
-builder.AddAdapter(new YourAdapter(config));
-

接下来,你将了解到和 Flandre 进行基础交互的知识。

`,11),o=[e];function t(c,r,d,i,y,E){return n(),a("div",null,o)}const g=s(l,[["render",t]]);export{h as __pageData,g as default}; diff --git a/assets/guide_start_setup.md.89bd94dc.lean.js b/assets/guide_start_setup.md.89bd94dc.lean.js deleted file mode 100644 index 9451bc0..0000000 --- a/assets/guide_start_setup.md.89bd94dc.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as n,a as p}from"./app.502e5375.js";const h=JSON.parse('{"title":"从模板创建项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/setup.md","lastUpdated":1677953005000}'),l={name:"guide/start/setup.md"},e=p("",11),o=[e];function t(c,r,d,i,y,E){return n(),a("div",null,o)}const g=s(l,[["render",t]]);export{h as __pageData,g as default}; diff --git a/assets/guide_start_setup.md.a8a26f35.js b/assets/guide_start_setup.md.a8a26f35.js new file mode 100644 index 0000000..205d7b2 --- /dev/null +++ b/assets/guide_start_setup.md.a8a26f35.js @@ -0,0 +1,7 @@ +import{_ as s,c as a,o as n,O as p}from"./chunks/framework.d7e37bdc.js";const h=JSON.parse('{"title":"从模板创建项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/setup.md","filePath":"guide/start/setup.md","lastUpdated":1683369215000}'),l={name:"guide/start/setup.md"},e=p(`

从模板创建项目

Flandre 的开发至少需要 .NET 6 SDK,确保你已经正常安装完毕。如果不确定自己安装的是什么版本,可以使用 dotnet --info 命令查看。

我们提供了一个模板项目,可以帮助你快速上手 Flandre 的开发。仓库在这里

首先,打开终端(如 PowerShell),键入以下命令:

shell
dotnet new install Flandre.Templates
dotnet new install Flandre.Templates

创建一个名为 MyFirstFlandreApp 的新项目:

shell
dotnet new flandre -o MyFirstFlandreApp
dotnet new flandre -o MyFirstFlandreApp

接下来,你需要结合自身的需求,挑选一个合适的平台适配器 (Adapter) 并加入到应用中。你可以在适配器列表中寻找一个合适的。

在新创建项目中的 Program.cs,加入新的适配器:

csharp
// 安装一个适配器,并添加在这里。
+var config = new YourAdapterConfig();
+// ...
+builder.Adapters.Add(new YourAdapter(config));
// 安装一个适配器,并添加在这里。
+var config = new YourAdapterConfig();
+// ...
+builder.Adapters.Add(new YourAdapter(config));

接下来,你将了解到和 Flandre 进行基础交互的知识。

`,11),o=[e];function t(r,c,d,i,y,E){return n(),a("div",null,o)}const u=s(l,[["render",t]]);export{h as __pageData,u as default}; diff --git a/assets/guide_start_setup.md.a8a26f35.lean.js b/assets/guide_start_setup.md.a8a26f35.lean.js new file mode 100644 index 0000000..766c22c --- /dev/null +++ b/assets/guide_start_setup.md.a8a26f35.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as n,O as p}from"./chunks/framework.d7e37bdc.js";const h=JSON.parse('{"title":"从模板创建项目","description":"","frontmatter":{},"headers":[],"relativePath":"guide/start/setup.md","filePath":"guide/start/setup.md","lastUpdated":1683369215000}'),l={name:"guide/start/setup.md"},e=p("",11),o=[e];function t(r,c,d,i,y,E){return n(),a("div",null,o)}const u=s(l,[["render",t]]);export{h as __pageData,u as default}; diff --git a/assets/index.md.1e553521.js b/assets/index.md.1e553521.js deleted file mode 100644 index c8da9b4..0000000 --- a/assets/index.md.1e553521.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a}from"./app.502e5375.js";const p=JSON.parse('{"title":"Flandre","description":"","frontmatter":{"layout":"home","title":"Flandre","hero":{"name":"Flandre","text":"跨平台、现代化的聊天机器人框架","tagline":"基于 .NET 6 开发,一套代码,多平台服务","actions":[{"theme":"brand","text":"开发指南","link":"/guide/"},{"theme":"alt","text":"GitHub 仓库","link":"https://github.com/FlandreDevs/Flandre"}]},"features":[{"title":"原生跨平台","details":"Flandre 为跨平台而生,对聊天平台的结构进行抽象化,采用适配器模式进行兼容,使得开发者可以通过一套统一接口控制不同平台的机器人,同时提供了良好的开发体验。"},{"title":"灵活的开发方式","details":"Flandre 提供两种开发方式,分别是完整的开发框架 Flandre.Framework,以及易于嵌入已有程序的 Flandre.Core。两种方式可按需使用,带来最佳的开发体验。"},{"title":"开箱即用的指令系统","details":"Flandre.Framework 实现了一套开箱即用的指令解析系统,而无需开发者自己造轮子。仅需简单的定义,就能获得完整的参数检查、参数解析等等功能。"}]},"headers":[],"relativePath":"index.md","lastUpdated":1677953005000}'),r={name:"index.md"};function n(d,l,i,o,s,c){return a(),t("div")}const F=e(r,[["render",n]]);export{p as __pageData,F as default}; diff --git a/assets/index.md.1e553521.lean.js b/assets/index.md.1e553521.lean.js deleted file mode 100644 index c8da9b4..0000000 --- a/assets/index.md.1e553521.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a}from"./app.502e5375.js";const p=JSON.parse('{"title":"Flandre","description":"","frontmatter":{"layout":"home","title":"Flandre","hero":{"name":"Flandre","text":"跨平台、现代化的聊天机器人框架","tagline":"基于 .NET 6 开发,一套代码,多平台服务","actions":[{"theme":"brand","text":"开发指南","link":"/guide/"},{"theme":"alt","text":"GitHub 仓库","link":"https://github.com/FlandreDevs/Flandre"}]},"features":[{"title":"原生跨平台","details":"Flandre 为跨平台而生,对聊天平台的结构进行抽象化,采用适配器模式进行兼容,使得开发者可以通过一套统一接口控制不同平台的机器人,同时提供了良好的开发体验。"},{"title":"灵活的开发方式","details":"Flandre 提供两种开发方式,分别是完整的开发框架 Flandre.Framework,以及易于嵌入已有程序的 Flandre.Core。两种方式可按需使用,带来最佳的开发体验。"},{"title":"开箱即用的指令系统","details":"Flandre.Framework 实现了一套开箱即用的指令解析系统,而无需开发者自己造轮子。仅需简单的定义,就能获得完整的参数检查、参数解析等等功能。"}]},"headers":[],"relativePath":"index.md","lastUpdated":1677953005000}'),r={name:"index.md"};function n(d,l,i,o,s,c){return a(),t("div")}const F=e(r,[["render",n]]);export{p as __pageData,F as default}; diff --git a/assets/index.md.f171baf6.js b/assets/index.md.f171baf6.js new file mode 100644 index 0000000..fdaaee2 --- /dev/null +++ b/assets/index.md.f171baf6.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./chunks/framework.d7e37bdc.js";const p=JSON.parse('{"title":"Flandre","description":"","frontmatter":{"layout":"home","title":"Flandre","hero":{"name":"Flandre","text":"跨平台、现代化的聊天机器人框架","tagline":"基于 .NET 6 开发,一套代码,多平台服务","actions":[{"theme":"brand","text":"开发指南","link":"/guide/"},{"theme":"alt","text":"GitHub 仓库","link":"https://github.com/FlandreDevs/Flandre"}]},"features":[{"title":"原生跨平台","details":"Flandre 为跨平台而生,对聊天平台的结构进行抽象化,采用适配器模式进行兼容,使得开发者可以通过一套统一接口控制不同平台的机器人,同时提供了良好的开发体验。"},{"title":"灵活的开发方式","details":"Flandre 提供两种开发方式,分别是完整的开发框架 Flandre.Framework,以及易于嵌入已有程序的 Flandre.Core。两种方式可按需使用,带来最佳的开发体验。"},{"title":"开箱即用的指令系统","details":"Flandre.Framework 实现了一套开箱即用的指令解析系统,而无需开发者自己造轮子。仅需简单的定义,就能获得完整的参数检查、参数解析等等功能。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1677953005000}'),r={name:"index.md"};function n(d,l,i,o,s,c){return a(),t("div")}const F=e(r,[["render",n]]);export{p as __pageData,F as default}; diff --git a/assets/index.md.f171baf6.lean.js b/assets/index.md.f171baf6.lean.js new file mode 100644 index 0000000..fdaaee2 --- /dev/null +++ b/assets/index.md.f171baf6.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./chunks/framework.d7e37bdc.js";const p=JSON.parse('{"title":"Flandre","description":"","frontmatter":{"layout":"home","title":"Flandre","hero":{"name":"Flandre","text":"跨平台、现代化的聊天机器人框架","tagline":"基于 .NET 6 开发,一套代码,多平台服务","actions":[{"theme":"brand","text":"开发指南","link":"/guide/"},{"theme":"alt","text":"GitHub 仓库","link":"https://github.com/FlandreDevs/Flandre"}]},"features":[{"title":"原生跨平台","details":"Flandre 为跨平台而生,对聊天平台的结构进行抽象化,采用适配器模式进行兼容,使得开发者可以通过一套统一接口控制不同平台的机器人,同时提供了良好的开发体验。"},{"title":"灵活的开发方式","details":"Flandre 提供两种开发方式,分别是完整的开发框架 Flandre.Framework,以及易于嵌入已有程序的 Flandre.Core。两种方式可按需使用,带来最佳的开发体验。"},{"title":"开箱即用的指令系统","details":"Flandre.Framework 实现了一套开箱即用的指令解析系统,而无需开发者自己造轮子。仅需简单的定义,就能获得完整的参数检查、参数解析等等功能。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1677953005000}'),r={name:"index.md"};function n(d,l,i,o,s,c){return a(),t("div")}const F=e(r,[["render",n]]);export{p as __pageData,F as default}; diff --git a/assets/style.765120dc.css b/assets/style.765120dc.css deleted file mode 100644 index ba92688..0000000 --- a/assets/style.765120dc.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67, .92);--vp-c-text-light-2: rgba(60, 60, 67, .7);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #ffffff;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: rgba(60, 60, 67, .29);--vp-c-divider: rgba(60, 60, 67, .12);--vp-c-gutter: rgba(60, 60, 67, .12);--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-brand: var(--vp-c-green);--vp-c-brand-light: var(--vp-c-green-light);--vp-c-brand-lighter: var(--vp-c-green-lighter);--vp-c-brand-dark: var(--vp-c-green-dark);--vp-c-brand-darker: var(--vp-c-green-darker);--vp-c-mute: #f6f6f7;--vp-c-mute-light: #f9f9fc;--vp-c-mute-lighter: #ffffff;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #313136;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #313136;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #313136;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #313136;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #313136;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #2c2c30;--vp-c-mute-darker: #252529}:root{--vp-font-family-base: "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #292b30;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-text-dark-3);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root{--vp-button-brand-border: var(--vp-c-brand-lighter);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-lighter);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-lighter);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darker);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft);--vp-custom-block-info-code-bg: var(--vp-c-bg-soft-down);--vp-custom-block-tip-border: var(--vp-c-green);--vp-custom-block-tip-text: var(--vp-c-green);--vp-custom-block-tip-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-code-bg: var(--vp-c-bg-soft-down);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-code-bg: var(--vp-c-bg-soft-down);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-code-bg: var(--vp-c-bg-soft-down);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg)}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-bg-soft);--vp-badge-tip-border: var(--vp-c-green-dark);--vp-badge-tip-text: var(--vp-c-green);--vp-badge-tip-bg: var(--vp-c-green-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow-dark);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red-dark);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;transition:opacity .25s}.custom-block a:hover{opacity:.6}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden}.vp-code-group .tabs:after{position:absolute;right:0;bottom:0;left:0;height:1px;background-color:var(--vp-code-tab-divider);content:""}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);background-color:var(--vp-code-tab-bg);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:10;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-]{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active{display:block}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.vp-doc a:hover{color:var(--vp-c-brand-dark)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600;text-decoration:underline;transition:opacity .25s}.vp-doc .custom-block a:hover{opacity:.6}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand);transition:color .25s}.vp-doc a:hover>code{color:var(--vp-c-brand-dark)}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:16px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;display:block;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-text-dark-3);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-350d3852]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:10px;padding:0 8px;line-height:18px;font-size:12px;font-weight:600;transform:translateY(-2px)}h1 .VPBadge[data-v-350d3852],h2 .VPBadge[data-v-350d3852],h3 .VPBadge[data-v-350d3852],h4 .VPBadge[data-v-350d3852],h5 .VPBadge[data-v-350d3852],h6 .VPBadge[data-v-350d3852]{vertical-align:top}h2 .VPBadge[data-v-350d3852]{border-radius:11px;line-height:20px}.VPBadge.info[data-v-350d3852]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-350d3852]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-350d3852]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-350d3852]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPSkipLink[data-v-151f2593]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-151f2593]:focus{height:auto;width:auto;clip:auto;clip-path:none}.dark .VPSkipLink[data-v-151f2593]{color:var(--vp-c-green)}@media (min-width: 1280px){.VPSkipLink[data-v-151f2593]{top:14px;left:16px}}.VPBackdrop[data-v-c79a1216]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-c79a1216],.VPBackdrop.fade-leave-to[data-v-c79a1216]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c79a1216]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c79a1216]{display:none}}html:not(.dark) .VPImage.dark[data-v-6db2186b]{display:none}.dark .VPImage.light[data-v-6db2186b]{display:none}.title[data-v-6d2fb2d9]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}.title[data-v-6d2fb2d9]:hover{opacity:.6}@media (min-width: 960px){.title[data-v-6d2fb2d9]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-6d2fb2d9]{border-bottom-color:var(--vp-c-divider)}}[data-v-6d2fb2d9] .logo{margin-right:8px;height:24px}/*! @docsearch/css 3.3.3 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"\bb "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:32px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--636b0e38);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.icon[data-v-a8b5c975]{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;fill:var(--vp-c-text-3);transition:fill .25s;flex-shrink:0}.VPNavBarMenuLink[data-v-f2ec7ecf]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-f2ec7ecf],.VPNavBarMenuLink[data-v-f2ec7ecf]:hover{color:var(--vp-c-brand)}.VPMenuGroup+.VPMenuLink[data-v-88f937c6]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-88f937c6]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-88f937c6]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-88f937c6]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-b66affaf]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-b66affaf]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-b66affaf]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-b66affaf]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);transition:color .25s}.VPMenu[data-v-e7ea1737]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e7ea1737] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e7ea1737] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e7ea1737] .group:last-child{padding-bottom:0}.VPMenu[data-v-e7ea1737] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e7ea1737] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e7ea1737] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e7ea1737] .action{padding-left:24px}.VPFlyout[data-v-96001b6b]{position:relative}.VPFlyout[data-v-96001b6b]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-96001b6b]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-96001b6b]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-96001b6b]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-96001b6b]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-96001b6b],.button[aria-expanded=true]+.menu[data-v-96001b6b]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-96001b6b]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-96001b6b]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-96001b6b]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-96001b6b]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-96001b6b]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-96001b6b]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPNavBarMenu[data-v-bdedfc22]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-bdedfc22]{display:flex}}.VPNavBarTranslations[data-v-fdaf79b7]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-fdaf79b7]{display:flex;align-items:center}}.title[data-v-fdaf79b7]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPSwitch[data-v-f3c41672]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-f3c41672]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-f3c41672]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-f3c41672]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-f3c41672] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-f3c41672] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-0d529b6d]{opacity:1}.moon[data-v-0d529b6d],.dark .sun[data-v-0d529b6d]{opacity:0}.dark .moon[data-v-0d529b6d]{opacity:1}.dark .VPSwitchAppearance[data-v-0d529b6d] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-da3f667a]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-da3f667a]{display:flex;align-items:center}}.VPSocialLink[data-v-e57698f6]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-e57698f6]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-e57698f6]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-f6988cfb]{display:flex;flex-wrap:wrap;justify-content:center}.VPNavBarSocialLinks[data-v-2ab2a029]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-2ab2a029]{display:flex;align-items:center}}.VPNavBarExtra[data-v-66bb1f24]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-66bb1f24]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-66bb1f24]{display:none}}.trans-title[data-v-66bb1f24]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-66bb1f24],.item.social-links[data-v-66bb1f24]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-66bb1f24]{min-width:176px}.appearance-action[data-v-66bb1f24]{margin-right:-2px}.social-links-list[data-v-66bb1f24]{margin:-4px -8px}.VPNavBarHamburger[data-v-e5dd9c1c]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e5dd9c1c]{display:none}}.container[data-v-e5dd9c1c]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e5dd9c1c]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e5dd9c1c]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .middle[data-v-e5dd9c1c],.VPNavBarHamburger.active:hover .bottom[data-v-e5dd9c1c]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e5dd9c1c],.middle[data-v-e5dd9c1c],.bottom[data-v-e5dd9c1c]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e5dd9c1c]{top:0;left:0;transform:translate(0)}.middle[data-v-e5dd9c1c]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e5dd9c1c]{top:12px;left:0;transform:translate(4px)}.VPNavBar[data-v-be450ad9]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);transition:border-color .5s,background-color .5s;pointer-events:none}.VPNavBar.has-sidebar[data-v-be450ad9]{border-bottom-color:var(--vp-c-gutter)}@media (min-width: 768px){.VPNavBar[data-v-be450ad9]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-be450ad9]{border-bottom-color:transparent;padding:0}.VPNavBar.fill[data-v-be450ad9]:not(.has-sidebar){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-be450ad9]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container[data-v-be450ad9] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-be450ad9]{max-width:100%}}.title[data-v-be450ad9]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-be450ad9]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-be450ad9]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-be450ad9]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-be450ad9]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-be450ad9]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-be450ad9]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .content-body[data-v-be450ad9],.VPNavBar.fill .content-body[data-v-be450ad9]{position:relative;background-color:var(--vp-nav-bg-color)}}.menu+.translations[data-v-be450ad9]:before,.menu+.appearance[data-v-be450ad9]:before,.menu+.social-links[data-v-be450ad9]:before,.translations+.appearance[data-v-be450ad9]:before,.appearance+.social-links[data-v-be450ad9]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-be450ad9]:before,.translations+.appearance[data-v-be450ad9]:before{margin-right:16px}.appearance+.social-links[data-v-be450ad9]:before{margin-left:16px}.social-links[data-v-be450ad9]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-be450ad9]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-be450ad9]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-be450ad9]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-c328f34f]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-c328f34f]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-3d20956d]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-3d20956d]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-7478538b]{display:block}.title[data-v-7478538b]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-a9a19324]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-a9a19324]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-a9a19324]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-a9a19324]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-a9a19324]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-a9a19324]{transform:rotate(45deg)}.button[data-v-a9a19324]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-a9a19324]:hover{color:var(--vp-c-brand)}.button-icon[data-v-a9a19324]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-a9a19324]:first-child{padding-top:0}.group+.group[data-v-a9a19324],.group+.item[data-v-a9a19324]{padding-top:4px}.VPNavScreenAppearance[data-v-7e6603c2]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-7e6603c2]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-8982effe]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-8982effe]{height:auto}.title[data-v-8982effe]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-8982effe]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-8982effe]{margin-right:8px}.icon.chevron[data-v-8982effe]{margin-left:4px}.list[data-v-8982effe]{padding:4px 0 0 24px}.link[data-v-8982effe]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-724636ae]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-724636ae],.VPNavScreen.fade-leave-active[data-v-724636ae]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-724636ae],.VPNavScreen.fade-leave-active .container[data-v-724636ae]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-724636ae],.VPNavScreen.fade-leave-to[data-v-724636ae]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-724636ae],.VPNavScreen.fade-leave-to .container[data-v-724636ae]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-724636ae]{display:none}}.container[data-v-724636ae]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-724636ae],.menu+.appearance[data-v-724636ae],.translations+.appearance[data-v-724636ae]{margin-top:24px}.menu+.social-links[data-v-724636ae]{margin-top:16px}.appearance+.social-links[data-v-724636ae]{margin-top:16px}.VPNav[data-v-0fa0e57d]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-0fa0e57d]{position:fixed}}.VPLocalNav[data-v-2817d72e]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color);transition:border-color .5s,background-color .5s}@media (min-width: 960px){.VPLocalNav[data-v-2817d72e]{display:none}}.menu[data-v-2817d72e]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-2817d72e]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-2817d72e]{padding:0 32px}}.menu-icon[data-v-2817d72e]{margin-right:8px;width:16px;height:16px;fill:currentColor}.top-link[data-v-2817d72e]{display:block;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.top-link[data-v-2817d72e]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.top-link[data-v-2817d72e]{padding:12px 32px 11px}}.VPSidebarItem.level-0[data-v-983f6b21]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-983f6b21]{padding-bottom:10px}.item[data-v-983f6b21]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-983f6b21]{cursor:pointer}.indicator[data-v-983f6b21]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-983f6b21],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-983f6b21],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-983f6b21],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-983f6b21]{background-color:var(--vp-c-brand)}.link[data-v-983f6b21]{display:flex;align-items:center;flex-grow:1}.text[data-v-983f6b21]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-983f6b21]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-983f6b21],.VPSidebarItem.level-2 .text[data-v-983f6b21],.VPSidebarItem.level-3 .text[data-v-983f6b21],.VPSidebarItem.level-4 .text[data-v-983f6b21],.VPSidebarItem.level-5 .text[data-v-983f6b21]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-983f6b21],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-983f6b21],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-983f6b21],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-983f6b21],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-983f6b21],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-983f6b21]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-983f6b21],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-983f6b21],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-983f6b21],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-983f6b21],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-983f6b21],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-983f6b21]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-983f6b21],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-983f6b21],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-983f6b21],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-983f6b21],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-983f6b21],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-983f6b21]{color:var(--vp-c-brand)}.caret[data-v-983f6b21]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s}.item:hover .caret[data-v-983f6b21]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-983f6b21]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-983f6b21]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-983f6b21]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-983f6b21],.VPSidebarItem.level-2 .items[data-v-983f6b21],.VPSidebarItem.level-3 .items[data-v-983f6b21],.VPSidebarItem.level-4 .items[data-v-983f6b21],.VPSidebarItem.level-5 .items[data-v-983f6b21]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-983f6b21]{display:none}.VPSidebar[data-v-c79ccefa]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease}.VPSidebar.open[data-v-c79ccefa]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-c79ccefa]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-c79ccefa]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-c79ccefa]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-c79ccefa]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-c79ccefa]{outline:0}.group+.group[data-v-c79ccefa]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-c79ccefa]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPButton[data-v-a7c4128c]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-a7c4128c]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-a7c4128c]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-a7c4128c]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-a7c4128c]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-a7c4128c]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-a7c4128c]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-a7c4128c]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-a7c4128c]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-a7c4128c]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-a7c4128c]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-a7c4128c]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-a7c4128c]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}.VPHero[data-v-c39d0f9a]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-c39d0f9a]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-c39d0f9a]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-c39d0f9a]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-c39d0f9a]{flex-direction:row}}.main[data-v-c39d0f9a]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-c39d0f9a]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-c39d0f9a]{text-align:left}}@media (min-width: 960px){.main[data-v-c39d0f9a]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-c39d0f9a]{max-width:592px}}.name[data-v-c39d0f9a],.text[data-v-c39d0f9a]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-c39d0f9a],.VPHero.has-image .text[data-v-c39d0f9a]{margin:0 auto}.name[data-v-c39d0f9a]{color:var(--vp-home-hero-name-color)}.clip[data-v-c39d0f9a]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-c39d0f9a],.text[data-v-c39d0f9a]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-c39d0f9a],.text[data-v-c39d0f9a]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-c39d0f9a],.VPHero.has-image .text[data-v-c39d0f9a]{margin:0}}.tagline[data-v-c39d0f9a]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-c39d0f9a]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-c39d0f9a]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-c39d0f9a]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-c39d0f9a]{margin:0}}.actions[data-v-c39d0f9a]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-c39d0f9a]{justify-content:center}@media (min-width: 640px){.actions[data-v-c39d0f9a]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-c39d0f9a]{justify-content:flex-start}}.action[data-v-c39d0f9a]{flex-shrink:0;padding:6px}.image[data-v-c39d0f9a]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-c39d0f9a]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-c39d0f9a]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-c39d0f9a]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-c39d0f9a]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-c39d0f9a]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-c39d0f9a]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-c39d0f9a]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-c39d0f9a]{width:320px;height:320px}}[data-v-c39d0f9a] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-c39d0f9a] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-c39d0f9a] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-a5828f43]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-a5828f43]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-a5828f43]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-a5828f43] .VPImage{width:fit-content;margin-bottom:20px}.icon[data-v-a5828f43]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-a5828f43]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-a5828f43]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-a5828f43]{padding-top:8px}.link-text-value[data-v-a5828f43]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-a5828f43]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-6816157f]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-6816157f]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-6816157f]{padding:0 64px}}.container[data-v-6816157f]{margin:0 auto;max-width:1152px}.items[data-v-6816157f]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-6816157f]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-6816157f],.item.grid-4[data-v-6816157f],.item.grid-6[data-v-6816157f]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-6816157f],.item.grid-4[data-v-6816157f]{width:50%}.item.grid-3[data-v-6816157f],.item.grid-6[data-v-6816157f]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-6816157f]{width:25%}}.VPHome[data-v-b07783ac]{padding-bottom:96px}.VPHome[data-v-b07783ac] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-b07783ac]{padding-bottom:128px}}.root[data-v-1188541a]{position:relative;z-index:1}.nested[data-v-1188541a]{padding-left:13px}.outline-link[data-v-1188541a]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-1188541a]:hover,.outline-link.active[data-v-1188541a]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-1188541a]{padding-left:13px}.VPDocAsideOutline[data-v-5dd9d5f6]{display:none}.VPDocAsideOutline.has-outline[data-v-5dd9d5f6]{display:block}.content[data-v-5dd9d5f6]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-5dd9d5f6]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-5dd9d5f6]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-cdc66372]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-cdc66372]{flex-grow:1}.VPDocAside[data-v-cdc66372] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-cdc66372] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-cdc66372] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-355aa5ef]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-355aa5ef]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-2813752b]{margin-top:64px}.edit-info[data-v-2813752b]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-2813752b]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-2813752b]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-2813752b]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-2813752b]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-2813752b]{border-top:1px solid var(--vp-c-divider);padding-top:24px}@media (min-width: 640px){.prev-next[data-v-2813752b]{display:flex}}.pager.has-prev[data-v-2813752b]{padding-top:8px}@media (min-width: 640px){.pager[data-v-2813752b]{display:flex;flex-direction:column;flex-shrink:0;width:50%}.pager.has-prev[data-v-2813752b]{padding-top:0;padding-left:16px}}.pager-link[data-v-2813752b]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-2813752b]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-2813752b]{margin-left:auto;text-align:right}.desc[data-v-2813752b]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-2813752b]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDoc[data-v-c5936a1e]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-c5936a1e]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-c5936a1e]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-c5936a1e]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-c5936a1e]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-c5936a1e]{display:flex;justify-content:center}.VPDoc .aside[data-v-c5936a1e]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-c5936a1e]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-c5936a1e]{max-width:1104px}}.container[data-v-c5936a1e]{margin:0 auto;width:100%}.aside[data-v-c5936a1e]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.aside-container[data-v-c5936a1e]{position:sticky;top:0;margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1 - 32px);padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px);height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-c5936a1e]::-webkit-scrollbar{display:none}.aside-curtain[data-v-c5936a1e]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-c5936a1e]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-c5936a1e]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-c5936a1e]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-c5936a1e]{order:1;margin:0;min-width:640px}}.content-container[data-v-c5936a1e]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-c5936a1e]{max-width:688px}.VPContent[data-v-0bd490fb]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-0bd490fb]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-0bd490fb]{margin:0}@media (min-width: 960px){.VPContent[data-v-0bd490fb]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-0bd490fb]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-0bd490fb]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-d24360a6]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-d24360a6]{display:none}@media (min-width: 768px){.VPFooter[data-v-d24360a6]{padding:32px}}.container[data-v-d24360a6]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-d24360a6],.copyright[data-v-d24360a6]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.message[data-v-d24360a6]{order:2}.copyright[data-v-d24360a6]{order:1}.Layout[data-v-93a960b4]{display:flex;flex-direction:column;min-height:100vh}.NotFound[data-v-63c9cdeb]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-63c9cdeb]{padding:96px 32px 168px}}.code[data-v-63c9cdeb]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-63c9cdeb]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-63c9cdeb]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-63c9cdeb]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-63c9cdeb]{padding-top:20px}.link[data-v-63c9cdeb]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-63c9cdeb]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.VPHomeSponsors[data-v-3c6e61c2]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-3c6e61c2]{margin:0 auto;max-width:1152px}.love[data-v-3c6e61c2]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-3c6e61c2]{width:28px;height:28px;fill:currentColor}.message[data-v-3c6e61c2]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-3c6e61c2]{padding-top:32px}.action[data-v-3c6e61c2]{padding-top:40px;text-align:center}.VPTeamPage[data-v-10b00018]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-10b00018]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-10b00018-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-10b00018-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-10b00018-s],.VPTeamMembers+.VPTeamPageSection[data-v-10b00018-s]{margin-top:96px}}.VPTeamMembers[data-v-10b00018-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-10b00018-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-10b00018-s]{padding:0 64px}}.VPTeamPageTitle[data-v-bf2cbdac]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-bf2cbdac]{padding:80px 64px 48px}}.title[data-v-bf2cbdac]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-bf2cbdac]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-bf2cbdac]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-bf2cbdac]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-b1a88750]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-b1a88750]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-b1a88750]{padding:0 64px}}.title[data-v-b1a88750]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-b1a88750]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-b1a88750]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-b1a88750]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-b1a88750]{padding-top:40px}.VPTeamMembersItem[data-v-1739ab5f]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-1739ab5f]{padding:32px}.VPTeamMembersItem.small .data[data-v-1739ab5f]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-1739ab5f]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-1739ab5f]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-1739ab5f]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-1739ab5f]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-1739ab5f]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-1739ab5f]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-1739ab5f]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-1739ab5f]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-1739ab5f]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-1739ab5f]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-1739ab5f]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-1739ab5f]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-1739ab5f]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-1739ab5f]{text-align:center}.avatar[data-v-1739ab5f]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-1739ab5f]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-1739ab5f]{margin:0;font-weight:600}.affiliation[data-v-1739ab5f]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-1739ab5f]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-1739ab5f]:hover{color:var(--vp-c-brand)}.desc[data-v-1739ab5f]{margin:0 auto}.links[data-v-1739ab5f]{display:flex;justify-content:center;height:56px}.sp-link[data-v-1739ab5f]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-1739ab5f]:hover,.sp .sp-link.link[data-v-1739ab5f]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-1739ab5f]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-04685dce]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-04685dce]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-04685dce]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-04685dce]{max-width:876px}.VPTeamMembers.medium .container[data-v-04685dce]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-04685dce]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-04685dce]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-04685dce]{max-width:760px}.container[data-v-04685dce]{display:grid;gap:24px;margin:0 auto;max-width:1152px}html:not(.dark){--vp-c-text-dark-3: #ccc;--vp-code-block-bg: rgba(238, 238, 238, .5);--vp-code-line-highlight-color: rgba(238, 238, 238, 1)} diff --git a/assets/style.960546df.css b/assets/style.960546df.css new file mode 100644 index 0000000..4855806 --- /dev/null +++ b/assets/style.960546df.css @@ -0,0 +1 @@ +@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: rgba(60, 60, 67, .29);--vp-c-divider: rgba(60, 60, 67, .12);--vp-c-gutter: rgba(60, 60, 67, .12);--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-brand: var(--vp-c-green);--vp-c-brand-light: var(--vp-c-green-light);--vp-c-brand-lighter: var(--vp-c-green-lighter);--vp-c-brand-dark: var(--vp-c-green-dark);--vp-c-brand-darker: var(--vp-c-green-darker);--vp-c-mute: #f6f6f7;--vp-c-mute-light: #f9f9fc;--vp-c-mute-lighter: #ffffff;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #313136;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #313136;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #313136;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #313136;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #313136;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #2c2c30;--vp-c-mute-darker: #252529}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-c-code-dimm: var(--vp-c-text-dark-3);--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #292b30;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root:not(.dark) .vp-adaptive-theme{--vp-c-code-dimm: var(--vp-c-text-2);--vp-code-block-color: var(--vp-c-text-1);--vp-code-block-bg: #f8f8f8;--vp-code-block-divider-color: var(--vp-c-divider);--vp-code-line-highlight-color: #ececec;--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-copy-code-bg: #e2e2e2;--vp-code-copy-code-hover-bg: #dcdcdc;--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-tab-divider: var(--vp-c-divider);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1)}:root{--vp-button-brand-border: var(--vp-c-brand-lighter);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-lighter);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-lighter);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darker);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft-up);--vp-custom-block-info-code-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-border: var(--vp-c-green);--vp-custom-block-tip-text: var(--vp-c-green-dark);--vp-custom-block-tip-bg: var(--vp-c-bg-soft-up);--vp-custom-block-tip-code-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft-up);--vp-custom-block-warning-code-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft-up);--vp-custom-block-danger-code-bg: var(--vp-c-bg-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg)}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-bg-soft-up);--vp-badge-tip-border: var(--vp-c-green-dark);--vp-badge-tip-text: var(--vp-c-green);--vp-badge-tip-bg: var(--vp-c-green-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow-dark);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red-dark);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600}.custom-block a:hover{text-decoration:underline}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden}.vp-code-group .tabs:after{position:absolute;right:0;bottom:0;left:0;height:1px;background-color:var(--vp-code-tab-divider);content:""}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:10;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-]{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active{display:block}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.vp-doc a:hover{text-decoration:underline}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block a:hover{text-decoration:underline}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand);transition:color .25s}.vp-doc a:hover>code{color:var(--vp-c-brand-dark)}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-code-dimm);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-25e7a79f]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:10px;padding:0 8px;line-height:18px;font-size:12px;font-weight:600;transform:translateY(-2px)}h1 .VPBadge[data-v-25e7a79f],h2 .VPBadge[data-v-25e7a79f],h3 .VPBadge[data-v-25e7a79f],h4 .VPBadge[data-v-25e7a79f],h5 .VPBadge[data-v-25e7a79f],h6 .VPBadge[data-v-25e7a79f]{vertical-align:top}h2 .VPBadge[data-v-25e7a79f]{border-radius:11px;line-height:20px}.VPBadge.info[data-v-25e7a79f]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-25e7a79f]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-25e7a79f]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-25e7a79f]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPSkipLink[data-v-2c9ae505]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-2c9ae505]:focus{height:auto;width:auto;clip:auto;clip-path:none}.dark .VPSkipLink[data-v-2c9ae505]{color:var(--vp-c-green)}@media (min-width: 1280px){.VPSkipLink[data-v-2c9ae505]{top:14px;left:16px}}.VPBackdrop[data-v-e1d64053]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-e1d64053],.VPBackdrop.fade-leave-to[data-v-e1d64053]{opacity:0}.VPBackdrop.fade-leave-active[data-v-e1d64053]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-e1d64053]{display:none}}html:not(.dark) .VPImage.dark[data-v-476e52f2]{display:none}.dark .VPImage.light[data-v-476e52f2]{display:none}.title[data-v-63054451]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}.title[data-v-63054451]:hover{opacity:.6}@media (min-width: 960px){.title[data-v-63054451]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-63054451]{border-bottom-color:var(--vp-c-divider)}}[data-v-63054451] .logo{margin-right:8px;height:24px}/*! @docsearch/css 3.3.4 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:32px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.DocSearch-Screen-Icon>svg{margin:auto}.icon[data-v-b9c81148]{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;fill:var(--vp-c-text-3);transition:fill .25s;flex-shrink:0}.VPNavBarMenuLink[data-v-4bf5bc56]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-4bf5bc56],.VPNavBarMenuLink[data-v-4bf5bc56]:hover{color:var(--vp-c-brand)}.VPMenuGroup+.VPMenuLink[data-v-a1ef6480]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-a1ef6480]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-a1ef6480]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-a1ef6480]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-47e5f791]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-47e5f791]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-47e5f791]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-47e5f791]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-ac85a304]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-ac85a304] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-ac85a304] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-ac85a304] .group:last-child{padding-bottom:0}.VPMenu[data-v-ac85a304] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-ac85a304] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-ac85a304] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-ac85a304] .action{padding-left:24px}.VPFlyout[data-v-0cf29794]{position:relative}.VPFlyout[data-v-0cf29794]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-0cf29794]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-0cf29794]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-0cf29794]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-0cf29794]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-0cf29794],.button[aria-expanded=true]+.menu[data-v-0cf29794]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-0cf29794]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-0cf29794]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-0cf29794]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-0cf29794]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-0cf29794]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-0cf29794]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPNavBarMenu[data-v-28faa41e]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-28faa41e]{display:flex}}.VPNavBarTranslations[data-v-07b31215]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-07b31215]{display:flex;align-items:center}}.title[data-v-07b31215]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPSwitch[data-v-3c43ee29]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-3c43ee29]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-3c43ee29]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-3c43ee29]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-3c43ee29] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-3c43ee29] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-6b62b019]{opacity:1}.moon[data-v-6b62b019],.dark .sun[data-v-6b62b019]{opacity:0}.dark .moon[data-v-6b62b019]{opacity:1}.dark .VPSwitchAppearance[data-v-6b62b019] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-775a4a12]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-775a4a12]{display:flex;align-items:center}}.VPSocialLink[data-v-136b02c9]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-136b02c9]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-136b02c9]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-ce53282b]{display:flex;flex-wrap:wrap;justify-content:center}.VPNavBarSocialLinks[data-v-ae7fc1f8]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-ae7fc1f8]{display:flex;align-items:center}}.VPNavBarExtra[data-v-d18b6ce3]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-d18b6ce3]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-d18b6ce3]{display:none}}.trans-title[data-v-d18b6ce3]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-d18b6ce3],.item.social-links[data-v-d18b6ce3]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-d18b6ce3]{min-width:176px}.appearance-action[data-v-d18b6ce3]{margin-right:-2px}.social-links-list[data-v-d18b6ce3]{margin:-4px -8px}.VPNavBarHamburger[data-v-f9333fd1]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-f9333fd1]{display:none}}.container[data-v-f9333fd1]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-f9333fd1]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-f9333fd1]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-f9333fd1]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-f9333fd1]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-f9333fd1]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-f9333fd1]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-f9333fd1],.VPNavBarHamburger.active:hover .middle[data-v-f9333fd1],.VPNavBarHamburger.active:hover .bottom[data-v-f9333fd1]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-f9333fd1],.middle[data-v-f9333fd1],.bottom[data-v-f9333fd1]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-f9333fd1]{top:0;left:0;transform:translate(0)}.middle[data-v-f9333fd1]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-f9333fd1]{top:12px;left:0;transform:translate(4px)}.VPNavBar[data-v-a0583ea6]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);transition:border-color .5s,background-color .5s;pointer-events:none;white-space:nowrap}.VPNavBar.has-sidebar[data-v-a0583ea6]{border-bottom-color:var(--vp-c-gutter)}@media (min-width: 768px){.VPNavBar[data-v-a0583ea6]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-a0583ea6]{border-bottom-color:transparent;padding:0}.VPNavBar.fill[data-v-a0583ea6]:not(.has-sidebar){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-a0583ea6]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-a0583ea6],.container>.content[data-v-a0583ea6]{pointer-events:none}.container[data-v-a0583ea6] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-a0583ea6]{max-width:100%}}.title[data-v-a0583ea6]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-a0583ea6]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-a0583ea6]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-a0583ea6]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-a0583ea6]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-a0583ea6]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-a0583ea6]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .content-body[data-v-a0583ea6],.VPNavBar.fill .content-body[data-v-a0583ea6]{position:relative;background-color:var(--vp-nav-bg-color)}}.menu+.translations[data-v-a0583ea6]:before,.menu+.appearance[data-v-a0583ea6]:before,.menu+.social-links[data-v-a0583ea6]:before,.translations+.appearance[data-v-a0583ea6]:before,.appearance+.social-links[data-v-a0583ea6]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-a0583ea6]:before,.translations+.appearance[data-v-a0583ea6]:before{margin-right:16px}.appearance+.social-links[data-v-a0583ea6]:before{margin-left:16px}.social-links[data-v-a0583ea6]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-a0583ea6]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-a0583ea6]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-a0583ea6]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-7573d1e2]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-7573d1e2]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-9ef839c1]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-9ef839c1]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-c70bd8a5]{display:block}.title[data-v-c70bd8a5]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-7680be8d]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-7680be8d]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-7680be8d]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-7680be8d]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-7680be8d]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-7680be8d]{transform:rotate(45deg)}.button[data-v-7680be8d]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-7680be8d]:hover{color:var(--vp-c-brand)}.button-icon[data-v-7680be8d]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-7680be8d]:first-child{padding-top:0}.group+.group[data-v-7680be8d],.group+.item[data-v-7680be8d]{padding-top:4px}.VPNavScreenAppearance[data-v-66bd54ab]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-66bd54ab]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-cf592b29]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-cf592b29]{height:auto}.title[data-v-cf592b29]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-cf592b29]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-cf592b29]{margin-right:8px}.icon.chevron[data-v-cf592b29]{margin-left:4px}.list[data-v-cf592b29]{padding:4px 0 0 24px}.link[data-v-cf592b29]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-d6e1bc9f]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-d6e1bc9f],.VPNavScreen.fade-leave-active[data-v-d6e1bc9f]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-d6e1bc9f],.VPNavScreen.fade-leave-active .container[data-v-d6e1bc9f]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-d6e1bc9f],.VPNavScreen.fade-leave-to[data-v-d6e1bc9f]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-d6e1bc9f],.VPNavScreen.fade-leave-to .container[data-v-d6e1bc9f]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-d6e1bc9f]{display:none}}.container[data-v-d6e1bc9f]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-d6e1bc9f],.menu+.appearance[data-v-d6e1bc9f],.translations+.appearance[data-v-d6e1bc9f]{margin-top:24px}.menu+.social-links[data-v-d6e1bc9f]{margin-top:16px}.appearance+.social-links[data-v-d6e1bc9f]{margin-top:16px}.VPNav[data-v-16ebf574]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-16ebf574]{position:fixed}}.root[data-v-67126238]{position:relative;z-index:1}.nested[data-v-67126238]{padding-left:13px}.outline-link[data-v-67126238]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:500}.outline-link[data-v-67126238]:hover,.outline-link.active[data-v-67126238]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-67126238]{padding-left:13px}.VPLocalNavOutlineDropdown[data-v-755e9682]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-755e9682]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-755e9682]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-755e9682]{color:var(--vp-c-text-1)}.icon[data-v-755e9682]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-755e9682] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-755e9682]{transform:rotate(90deg)}.items[data-v-755e9682]{position:absolute;left:20px;right:20px;top:64px;background-color:var(--vp-local-nav-bg-color);padding:4px 10px 16px;border:1px solid var(--vp-c-divider);border-radius:8px;max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.top-link[data-v-755e9682]{display:block;color:var(--vp-c-brand);font-size:13px;font-weight:500;padding:6px 0;margin:0 13px 10px;border-bottom:1px solid var(--vp-c-divider)}.flyout-enter-active[data-v-755e9682]{transition:all .2s ease-out}.flyout-leave-active[data-v-755e9682]{transition:all .15s ease-in}.flyout-enter-from[data-v-755e9682],.flyout-leave-to[data-v-755e9682]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-3a9478a0]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color);transition:border-color .5s,background-color .5s}@media (min-width: 960px){.VPLocalNav[data-v-3a9478a0]{display:none}}.menu[data-v-3a9478a0]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-3a9478a0]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-3a9478a0]{padding:0 32px}}.menu-icon[data-v-3a9478a0]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-3a9478a0]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-3a9478a0]{padding:12px 32px 11px}}.VPSidebarItem.level-0[data-v-48116470]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-48116470]{padding-bottom:10px}.item[data-v-48116470]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-48116470]{cursor:pointer}.indicator[data-v-48116470]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-48116470],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-48116470],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-48116470],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-48116470]{background-color:var(--vp-c-brand)}.link[data-v-48116470]{display:flex;align-items:center;flex-grow:1}.text[data-v-48116470]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-48116470]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-48116470],.VPSidebarItem.level-2 .text[data-v-48116470],.VPSidebarItem.level-3 .text[data-v-48116470],.VPSidebarItem.level-4 .text[data-v-48116470],.VPSidebarItem.level-5 .text[data-v-48116470]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-48116470],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-48116470],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-48116470],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-48116470],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-48116470],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-48116470]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-48116470],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-48116470],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-48116470],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-48116470],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-48116470],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-48116470]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-48116470],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-48116470],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-48116470],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-48116470],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-48116470],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-48116470]{color:var(--vp-c-brand)}.caret[data-v-48116470]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s}.item:hover .caret[data-v-48116470]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-48116470]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-48116470]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-48116470]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-48116470],.VPSidebarItem.level-2 .items[data-v-48116470],.VPSidebarItem.level-3 .items[data-v-48116470],.VPSidebarItem.level-4 .items[data-v-48116470],.VPSidebarItem.level-5 .items[data-v-48116470]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-48116470]{display:none}.VPSidebar[data-v-b91d6e0e]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-b91d6e0e]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-b91d6e0e]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-b91d6e0e]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-b91d6e0e]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-b91d6e0e]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-b91d6e0e]{outline:0}.group+.group[data-v-b91d6e0e]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-b91d6e0e]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPButton[data-v-94e5e763]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-94e5e763]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-94e5e763]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-94e5e763]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-94e5e763]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-94e5e763]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-94e5e763]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-94e5e763]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-94e5e763]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-94e5e763]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-94e5e763]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-94e5e763]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-94e5e763]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}.VPHero[data-v-07c6506b]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-07c6506b]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-07c6506b]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-07c6506b]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-07c6506b]{flex-direction:row}}.main[data-v-07c6506b]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-07c6506b]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-07c6506b]{text-align:left}}@media (min-width: 960px){.main[data-v-07c6506b]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-07c6506b]{max-width:592px}}.name[data-v-07c6506b],.text[data-v-07c6506b]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-07c6506b],.VPHero.has-image .text[data-v-07c6506b]{margin:0 auto}.name[data-v-07c6506b]{color:var(--vp-home-hero-name-color)}.clip[data-v-07c6506b]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-07c6506b],.text[data-v-07c6506b]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-07c6506b],.text[data-v-07c6506b]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-07c6506b],.VPHero.has-image .text[data-v-07c6506b]{margin:0}}.tagline[data-v-07c6506b]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-07c6506b]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-07c6506b]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-07c6506b]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-07c6506b]{margin:0}}.actions[data-v-07c6506b]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-07c6506b]{justify-content:center}@media (min-width: 640px){.actions[data-v-07c6506b]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-07c6506b]{justify-content:flex-start}}.action[data-v-07c6506b]{flex-shrink:0;padding:6px}.image[data-v-07c6506b]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-07c6506b]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-07c6506b]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-07c6506b]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-07c6506b]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-07c6506b]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-07c6506b]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-07c6506b]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-07c6506b]{width:320px;height:320px}}[data-v-07c6506b] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-07c6506b] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-07c6506b] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-c5c6205f]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-c5c6205f]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-c5c6205f]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-c5c6205f] .VPImage{width:48px;height:48px;margin-bottom:20px}.icon[data-v-c5c6205f]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-c5c6205f]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-c5c6205f]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-c5c6205f]{padding-top:8px}.link-text-value[data-v-c5c6205f]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-c5c6205f]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-0ac775df]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-0ac775df]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-0ac775df]{padding:0 64px}}.container[data-v-0ac775df]{margin:0 auto;max-width:1152px}.items[data-v-0ac775df]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-0ac775df]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-0ac775df],.item.grid-4[data-v-0ac775df],.item.grid-6[data-v-0ac775df]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-0ac775df],.item.grid-4[data-v-0ac775df]{width:50%}.item.grid-3[data-v-0ac775df],.item.grid-6[data-v-0ac775df]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-0ac775df]{width:25%}}.VPHome[data-v-4d0df214]{padding-bottom:96px}.VPHome[data-v-4d0df214] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-4d0df214]{padding-bottom:128px}}.VPDocAsideOutline[data-v-adf7c583]{display:none}.VPDocAsideOutline.has-outline[data-v-adf7c583]{display:block}.content[data-v-adf7c583]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-adf7c583]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-adf7c583]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-2e0561cc]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-2e0561cc]{flex-grow:1}.VPDocAside[data-v-2e0561cc] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-2e0561cc] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-2e0561cc] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-ed90a614]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-ed90a614]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-576c8417]{margin-top:64px}.edit-info[data-v-576c8417]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-576c8417]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-576c8417]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-576c8417]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-576c8417]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-576c8417]{border-top:1px solid var(--vp-c-divider);padding-top:24px}@media (min-width: 640px){.prev-next[data-v-576c8417]{display:flex}}.pager.has-prev[data-v-576c8417]{padding-top:8px}@media (min-width: 640px){.pager[data-v-576c8417]{display:flex;flex-direction:column;flex-shrink:0;width:50%}.pager.has-prev[data-v-576c8417]{padding-top:0;padding-left:16px}}.pager-link[data-v-576c8417]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-576c8417]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-576c8417]{margin-left:auto;text-align:right}.desc[data-v-576c8417]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-576c8417]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-7e74e787]{margin-bottom:42px}.VPDocOutlineDropdown button[data-v-7e74e787]{display:block;font-size:14px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;border:1px solid var(--vp-c-border);padding:4px 12px;border-radius:8px}.VPDocOutlineDropdown button[data-v-7e74e787]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-7e74e787]{color:var(--vp-c-text-1)}.icon[data-v-7e74e787]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-7e74e787] .outline-link{font-size:13px}.open>.icon[data-v-7e74e787]{transform:rotate(90deg)}.items[data-v-7e74e787]{margin-top:10px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-ea85e93e]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-ea85e93e]{display:none}@media (min-width: 960px) and (max-width: 1280px){.VPDoc .VPDocOutlineDropdown[data-v-ea85e93e]{display:block}}@media (min-width: 768px){.VPDoc[data-v-ea85e93e]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-ea85e93e]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-ea85e93e]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-ea85e93e]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-ea85e93e]{display:flex;justify-content:center}.VPDoc .aside[data-v-ea85e93e]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-ea85e93e]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-ea85e93e]{max-width:1104px}}.container[data-v-ea85e93e]{margin:0 auto;width:100%}.aside[data-v-ea85e93e]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-ea85e93e]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-ea85e93e]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-ea85e93e]::-webkit-scrollbar{display:none}.aside-curtain[data-v-ea85e93e]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-ea85e93e]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-ea85e93e]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-ea85e93e]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-ea85e93e]{order:1;margin:0;min-width:640px}}.content-container[data-v-ea85e93e]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-ea85e93e]{max-width:688px}.NotFound[data-v-5639ec56]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-5639ec56]{padding:96px 32px 168px}}.code[data-v-5639ec56]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-5639ec56]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-5639ec56]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-5639ec56]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-5639ec56]{padding-top:20px}.link[data-v-5639ec56]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-5639ec56]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.VPContent[data-v-ffc44efb]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-ffc44efb]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-ffc44efb]{margin:0}@media (min-width: 960px){.VPContent[data-v-ffc44efb]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-ffc44efb]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-ffc44efb]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-88d1c6ab]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-88d1c6ab]{display:none}@media (min-width: 768px){.VPFooter[data-v-88d1c6ab]{padding:32px}}.container[data-v-88d1c6ab]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-88d1c6ab],.copyright[data-v-88d1c6ab]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.message[data-v-88d1c6ab]{order:2}.copyright[data-v-88d1c6ab]{order:1}.Layout[data-v-52c8a4d0]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-1f22cc97]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-1f22cc97]{margin:0 auto;max-width:1152px}.love[data-v-1f22cc97]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-1f22cc97]{width:28px;height:28px;fill:currentColor}.message[data-v-1f22cc97]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-1f22cc97]{padding-top:32px}.action[data-v-1f22cc97]{padding-top:40px;text-align:center}.VPTeamPage[data-v-1640cbf3]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-1640cbf3]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-1640cbf3-s],.VPTeamMembers+.VPTeamPageSection[data-v-1640cbf3-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-1640cbf3-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-1640cbf3-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-1640cbf3-s],.VPTeamMembers+.VPTeamPageSection[data-v-1640cbf3-s]{margin-top:96px}}.VPTeamMembers[data-v-1640cbf3-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-1640cbf3-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-1640cbf3-s]{padding:0 64px}}.VPTeamPageTitle[data-v-9d385a52]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-9d385a52]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-9d385a52]{padding:80px 64px 48px}}.title[data-v-9d385a52]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-9d385a52]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-9d385a52]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-9d385a52]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-7d7370be]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-7d7370be]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-7d7370be]{padding:0 64px}}.title[data-v-7d7370be]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-7d7370be]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-7d7370be]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-7d7370be]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-7d7370be]{padding-top:40px}.VPTeamMembersItem[data-v-c360a68b]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-c360a68b]{padding:32px}.VPTeamMembersItem.small .data[data-v-c360a68b]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-c360a68b]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-c360a68b]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-c360a68b]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-c360a68b]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-c360a68b]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-c360a68b]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-c360a68b]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-c360a68b]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-c360a68b]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-c360a68b]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-c360a68b]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-c360a68b]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-c360a68b]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-c360a68b]{text-align:center}.avatar[data-v-c360a68b]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-c360a68b]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-c360a68b]{margin:0;font-weight:600}.affiliation[data-v-c360a68b]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-c360a68b]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-c360a68b]:hover{color:var(--vp-c-brand)}.desc[data-v-c360a68b]{margin:0 auto}.desc[data-v-c360a68b] a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.links[data-v-c360a68b]{display:flex;justify-content:center;height:56px}.sp-link[data-v-c360a68b]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-c360a68b]:hover,.sp .sp-link.link[data-v-c360a68b]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-c360a68b]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-f60809b5]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-f60809b5]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-f60809b5]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-f60809b5]{max-width:876px}.VPTeamMembers.medium .container[data-v-f60809b5]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-f60809b5]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-f60809b5]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-f60809b5]{max-width:760px}.container[data-v-f60809b5]{display:grid;gap:24px;margin:0 auto;max-width:1152px} diff --git a/ecosystem/adapters/konata.html b/ecosystem/adapters/konata.html index 7e33e0d..d58e4f9 100644 --- a/ecosystem/adapters/konata.html +++ b/ecosystem/adapters/konata.html @@ -5,16 +5,18 @@ Flandre.Docs | Flandre.Docs - - - - - + + + + + + + -
Skip to content
On this page

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - +
Skip to content
On this page

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file diff --git a/ecosystem/adapters/onebot.html b/ecosystem/adapters/onebot.html index 3091086..a65dde9 100644 --- a/ecosystem/adapters/onebot.html +++ b/ecosystem/adapters/onebot.html @@ -5,14 +5,16 @@ OneBot 适配器 | Flandre.Docs - - - - - + + + + + + + -
Skip to content
On this page

OneBot 适配器

OneBot 适配器适配 OneBot v11 协议,主要对 QQ 平台提供支持。

注意事项

  • 当前只支持正向 WebSocket 通信方式。
  • 暂时仅支持了常用的 CQ 码。

启动 OneBot 服务

本节以 go-cqhttp 为例,搭建一个正常运行的 OneBot 服务。

前往 go-cqhttp 的 Release 页面,根据自己设备的架构选择合适的安装包或压缩包下载。

没有找到对应的文件?

由于 GitHub 限制了单个 Release 默认能显示的文件数量,你可能需要点击 Show all assets 来查看所有文件。

例如我的设备是 64 位 Windows 系统,选择 go-cqhttp_windows_amd64.zip 下载。

下载后解压到一个空文件夹,运行 go-cqhttp.exe(或其他可执行文件)。首次打开会创建一个配置文件 config.yml,使用文本编辑器打开它,至少更改或添加以下内容:

yaml
account: # 账号相关
+    
Skip to content
On this page

OneBot 适配器

OneBot 适配器适配 OneBot v11 协议,主要对 QQ 平台提供支持。

注意事项

  • 当前只支持正向 WebSocket 通信方式。
  • 暂时仅支持了常用的 CQ 码。

启动 OneBot 服务

本节以 go-cqhttp 为例,搭建一个正常运行的 OneBot 服务。

前往 go-cqhttp 的 Release 页面,根据自己设备的架构选择合适的安装包或压缩包下载。

没有找到对应的文件?

由于 GitHub 限制了单个 Release 默认能显示的文件数量,你可能需要点击 Show all assets 来查看所有文件。

例如我的设备是 64 位 Windows 系统,选择 go-cqhttp_windows_amd64.zip 下载。

下载后解压到一个空文件夹,运行 go-cqhttp.exe(或其他可执行文件)。首次打开会创建一个配置文件 config.yml,使用文本编辑器打开它,至少更改或添加以下内容:

yaml
account: # 账号相关
   uin: 12345678 # QQ账号
   password: '你的密码' # 密码为空时使用扫码登录
 
@@ -23,8 +25,7 @@
       # 正向 WebSocket 服务器监听地址 
       address: 127.0.0.1:8080 
       middlewares: 
-        <<: *default # 引用默认中间件 
-
account: # 账号相关
+        <<: *default # 引用默认中间件 
account: # 账号相关
   uin: 12345678 # QQ账号
   password: '你的密码' # 密码为空时使用扫码登录
 
@@ -35,8 +36,7 @@
       # 正向 WebSocket 服务器监听地址 
       address: 127.0.0.1:8080 
       middlewares: 
-        <<: *default # 引用默认中间件 
-

重新打开 go-cqhttp.exe,可能会提示登录验证,根据终端输出照做即可。输出以下信息则说明登陆成功:

[2023-03-04 22:21:35] [INFO]: 登录成功 欢迎使用: [机器人名称]
+        <<: *default # 引用默认中间件 

重新打开 go-cqhttp.exe,可能会提示登录验证,根据终端输出照做即可。输出以下信息则说明登陆成功:

[2023-03-04 22:21:35] [INFO]: 登录成功 欢迎使用: [机器人名称]
 [2023-03-04 22:21:35] [INFO]: 开始加载好友列表...
 [2023-03-04 22:21:35] [INFO]: 共加载 1 个好友.
 [2023-03-04 22:21:35] [INFO]: 开始加载群列表...
@@ -44,8 +44,7 @@
 [2023-03-04 22:21:35] [INFO]: 资源初始化完成, 开始处理信息.
 [2023-03-04 22:21:35] [INFO]: アトリは、高性能ですから!
 [2023-03-04 22:21:35] [INFO]: 正在检查更新.
-[2023-03-04 22:21:35] [INFO]: CQ WebSocket 服务器已启动: 127.0.0.1:8080
-
[2023-03-04 22:21:35] [INFO]: 登录成功 欢迎使用: [机器人名称]
+[2023-03-04 22:21:35] [INFO]: CQ WebSocket 服务器已启动: 127.0.0.1:8080
[2023-03-04 22:21:35] [INFO]: 登录成功 欢迎使用: [机器人名称]
 [2023-03-04 22:21:35] [INFO]: 开始加载好友列表...
 [2023-03-04 22:21:35] [INFO]: 共加载 1 个好友.
 [2023-03-04 22:21:35] [INFO]: 开始加载群列表...
@@ -53,24 +52,21 @@
 [2023-03-04 22:21:35] [INFO]: 资源初始化完成, 开始处理信息.
 [2023-03-04 22:21:35] [INFO]: アトリは、高性能ですから!
 [2023-03-04 22:21:35] [INFO]: 正在检查更新.
-[2023-03-04 22:21:35] [INFO]: CQ WebSocket 服务器已启动: 127.0.0.1:8080
-

添加适配器

搭建好 OneBot 服务端后,我们需要在 Flandre 应用中添加 OneBot 适配器,来和服务端进行交互:

csharp
var config = new OneBotAdapterConfig();
+[2023-03-04 22:21:35] [INFO]: CQ WebSocket 服务器已启动: 127.0.0.1:8080

添加适配器

搭建好 OneBot 服务端后,我们需要在 Flandre 应用中添加 OneBot 适配器,来和服务端进行交互:

csharp
var config = new OneBotAdapterConfig();
 config.Bots.Add(new OneBotBotConfig
 {
     Protocol = OneBotProtocol.WebSocket,
     Endpoint = "ws://127.0.0.1:8080" // 配置的 WebSocket 监听地址
 });
 
-builder.AddAdapter(new OneBotAdapter(config));
-
var config = new OneBotAdapterConfig();
+builder.Adapters.Add(new OneBotAdapter(config));
var config = new OneBotAdapterConfig();
 config.Bots.Add(new OneBotBotConfig
 {
     Protocol = OneBotProtocol.WebSocket,
     Endpoint = "ws://127.0.0.1:8080" // 配置的 WebSocket 监听地址
 });
 
-builder.AddAdapter(new OneBotAdapter(config));
-

如果你更倾向于使用独立的配置文件,你也可以这样做:

json
// appsettings.json
+builder.Adapters.Add(new OneBotAdapter(config));

如果你更倾向于使用独立的配置文件,你也可以这样做:

json
// appsettings.json
 {
   "Adapters": {
     "OneBot": {
@@ -82,8 +78,7 @@
       ]
     }
   }
-}
-
// appsettings.json
+}
// appsettings.json
 {
   "Adapters": {
     "OneBot": {
@@ -95,20 +90,27 @@
       ]
     }
   }
-}
-
csharp
builder.AddAdapter(new OneBotAdapter(
+}
csharp
builder.Adapters.Add(new OneBotAdapter(
     builder.Configuration
         .GetSection("Adapters:OneBot")
         .Get<OneBotAdapterConfig>()
-    ?? new OneBotAdapterConfig()));
-
builder.AddAdapter(new OneBotAdapter(
+    ?? new OneBotAdapterConfig()));
builder.Adapters.Add(new OneBotAdapter(
     builder.Configuration
         .GetSection("Adapters:OneBot")
         .Get<OneBotAdapterConfig>()
-    ?? new OneBotAdapterConfig()));
-

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - + ?? new OneBotAdapterConfig()));

扩展方法

我们也提供了几个扩展方法,稍微简化了一些:

首先安装 Flandre.Adapters.OneBot.Extensions NuGet 包,然后:

csharp
// 从 Configuration 中的 Adapters:OneBot 读取配置项
+builder.Adapters.AddOneBot();
+
+builder.Adapters.AddOneBot(IConfiguration configuration);
+
+builder.Adapters.AddOneBot(config => config.Xxx = /* ... */);
// 从 Configuration 中的 Adapters:OneBot 读取配置项
+builder.Adapters.AddOneBot();
+
+builder.Adapters.AddOneBot(IConfiguration configuration);
+
+builder.Adapters.AddOneBot(config => config.Xxx = /* ... */);

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file diff --git a/ecosystem/index.html b/ecosystem/index.html index eaa11ea..4e83fb3 100644 --- a/ecosystem/index.html +++ b/ecosystem/index.html @@ -5,16 +5,18 @@ 生态系统 | Flandre.Docs - - - - - + + + + + + + -
Skip to content
On this page

生态系统

这个分区介绍了 Flandre 的周边生态,包括适配器、插件等。

平台适配器

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - +
Skip to content
On this page

生态系统

这个分区介绍了 Flandre 的周边生态,包括适配器、插件等。

平台适配器

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file diff --git a/guide/basic-concepts.html b/guide/basic-concepts.html index 71dae10..ee581e0 100644 --- a/guide/basic-concepts.html +++ b/guide/basic-concepts.html @@ -5,16 +5,18 @@ 基本概念 | Flandre.Docs - - - - - + + + + + + + -
Skip to content
On this page

基本概念

群组/频道 - Guild/Channel

考虑到众多聊天平台具有不统一的架构(例如 Discord 的服务器、频道,QQ 的群聊),Flandre 将其抽象成两层:Guild 和 Channel。Guild 泛指大的群组构成,其中有许多的分区和成员;Channel 指各种不同功能的分区,也是用户们具体聊天的地方。

对于拥有 Discord 使用经验的用户来说这种结构很好理解;但在 QQ 这样只用一层群聊划分用户的平台,我们定义 Guild 为群聊的基本抽象,是群成员的一个集合,Channel 为群成员具体聊天的环境。例如发送群聊消息使用 SendChannelMessage,而获取群成员使用 GetGuildMember

出于方便目的,我们在文档中会将 Guild 译为 群组,Channel 译为 频道。在文档中,除非是特定平台相关的场景,我们都会用 群组/频道 代替 Guild/Channel。

为了能更好地理解,在这里整理了一个对照表,对应不同平台使用的不同术语:

FlandreOneBot (QQ)DiscordQQ 频道
群组/Guild群聊成员的一个抽象集合服务器 (Server)频道
频道/Channel群成员的具体聊天环境频道子频道

适配器 - Adapter

对于跨平台的实现方案,Flandre 参考诸多同类项目,使用了适配器 (Adapter) 模式。在适配器模式中,核心组件 (Flandre.Core) 不会发生变化,对于不同平台只需要编写对应的适配器,充当和 Core 通信的桥梁。

插件 - Plugin

插件是由开发者自行编写的功能模块,包含了 Bot 的各种行为逻辑,如指令、事件处理都是包含在一个个模块里的。

中间件 - Middleware

中间件是消息进出的管道。Flandre 的中间件设计参考了洋葱模型,便于对消息进行全面的控制。

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - +
Skip to content
On this page

基本概念

群组/频道 - Guild/Channel

考虑到众多聊天平台具有不统一的架构(例如 Discord 的服务器、频道,QQ 的群聊),Flandre 将其抽象成两层:Guild 和 Channel。Guild 泛指大的群组构成,其中有许多的分区和成员;Channel 指各种不同功能的分区,也是用户们具体聊天的地方。

对于拥有 Discord 使用经验的用户来说这种结构很好理解;但在 QQ 这样只用一层群聊划分用户的平台,我们定义 Guild 为群聊的基本抽象,是群成员的一个集合,Channel 为群成员具体聊天的环境。例如发送群聊消息使用 SendChannelMessage,而获取群成员使用 GetGuildMember

出于方便目的,我们在文档中会将 Guild 译为 群组,Channel 译为 频道。在文档中,除非是特定平台相关的场景,我们都会用 群组/频道 代替 Guild/Channel。

为了能更好地理解,在这里整理了一个对照表,对应不同平台使用的不同术语:

FlandreOneBot (QQ)DiscordQQ 频道
群组/Guild群聊成员的一个抽象集合服务器 (Server)频道
频道/Channel群成员的具体聊天环境频道子频道

适配器 - Adapter

对于跨平台的实现方案,Flandre 参考诸多同类项目,使用了适配器 (Adapter) 模式。在适配器模式中,核心组件 (Flandre.Core) 不会发生变化,对于不同平台只需要编写对应的适配器,充当和 Core 通信的桥梁。

插件 - Plugin

插件是由开发者自行编写的功能模块,包含了 Bot 的各种行为逻辑,如指令、事件处理都是包含在一个个模块里的。

中间件 - Middleware

中间件是消息进出的管道。Flandre 的中间件设计参考了洋葱模型,便于对消息进行全面的控制。

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file diff --git a/guide/basic/event.html b/guide/basic/event.html index a86ad2b..54aaf8a 100644 --- a/guide/basic/event.html +++ b/guide/basic/event.html @@ -5,14 +5,16 @@ 事件 (Event) | Flandre.Docs - - - - - + + + + + + + -
Skip to content
On this page

事件 (Event)

Flandre 中存在着许许多多的事件,监控着应用内各项数据的流动。

在一个插件中,我们可以十分方便地通过重写插件方法的方式来订阅一个事件:

csharp
public class ExamplePlugin : Plugin
+    
Skip to content
On this page

事件 (Event)

Flandre 中存在着许许多多的事件,监控着应用内各项数据的流动。

在一个插件中,我们可以十分方便地通过重写插件方法的方式来订阅一个事件:

csharp
public class ExamplePlugin : Plugin
 {
     /// <summary>
     /// 每次收到消息时触发。
@@ -28,8 +30,7 @@
     }
 }
 
-builder.AddPlugin<ExamplePlugin>();
-
public class ExamplePlugin : Plugin
+builder.AddPlugin<ExamplePlugin>();
public class ExamplePlugin : Plugin
 {
     /// <summary>
     /// 每次收到消息时触发。
@@ -45,14 +46,11 @@
     }
 }
 
-builder.AddPlugin<ExamplePlugin>();
-

如果想要使用更加传统的 += 式事件订阅方式,Flandre 同样支持,只是可能更加麻烦:

csharp
app.Bots.ForEach(bot =>
-    bot.OnMessageReceived +=(bot, e) => { /* ... */ });
-
app.Bots.ForEach(bot =>
-    bot.OnMessageReceived +=(bot, e) => { /* ... */ });
-

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - +builder.AddPlugin<ExamplePlugin>();

如果想要使用更加传统的 += 式事件订阅方式,Flandre 同样支持,只是可能更加麻烦:

csharp
app.Bots.ForEach(bot =>
+    bot.OnMessageReceived +=(bot, e) => { /* ... */ });
app.Bots.ForEach(bot =>
+    bot.OnMessageReceived +=(bot, e) => { /* ... */ });

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file diff --git a/guide/basic/middleware.html b/guide/basic/middleware.html index 50ec863..c442454 100644 --- a/guide/basic/middleware.html +++ b/guide/basic/middleware.html @@ -5,24 +5,24 @@ 中间件 (Middleware) | Flandre.Docs - - - - - + + + + + + + -
Skip to content
On this page

中间件 (Middleware)

相比事件,中间件只能处理消息流。但其更为灵活,同时提供了事件所不具有的能力——截断处理。

定义一个中间件:

csharp
app.UseMiddleware(async (ctx, next) => {
+    
Skip to content
On this page

中间件 (Middleware)

相比事件,中间件只能处理消息流。但其更为灵活,同时提供了事件所不具有的能力——截断处理。

定义一个中间件:

csharp
app.UseMiddleware(async (ctx, next) => {
     if (ctx.Message.GetText() == "pass me!")
         await next();
-});
-
app.UseMiddleware(async (ctx, next) => {
+});
app.UseMiddleware(async (ctx, next) => {
     if (ctx.Message.GetText() == "pass me!")
         await next();
-});
-

上面的中间件达到了一个效果:只有在消息文本为 pass me! 的时候,消息才会被传送至下一步处理。否则,消息将在此处被截断,不会向下传播。

Flandre 的中间件设计参考了洋葱模型。如果你有使用 ASP.NET Core 中间件,或是 Node.js 框架 Koa 的经验,就很容易理解。这里采用一张来自 ASP.NET Core 文档的图片来说明:

中间件模型

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - +});

上面的中间件达到了一个效果:只有在消息文本为 pass me! 的时候,消息才会被传送至下一步处理。否则,消息将在此处被截断,不会向下传播。

Flandre 的中间件设计参考了洋葱模型。如果你有使用 ASP.NET Core 中间件,或是 Node.js 框架 Koa 的经验,就很容易理解。这里采用一张来自 ASP.NET Core 文档的图片来说明:

中间件模型

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file diff --git a/guide/command/basic.html b/guide/command/basic.html index 9f7a1c7..d61dc99 100644 --- a/guide/command/basic.html +++ b/guide/command/basic.html @@ -5,14 +5,16 @@ 认识指令 | Flandre.Docs - - - - - + + + + + + + -
Skip to content
On this page

认识指令

指令是一个机器人的灵魂。指令系统是整个 Flandre 框架中最精华的部分,也是灵活度最高的部分。通过指令,开发者无需再繁琐地在事件处理里写判断逻辑,仅需简单的定义就能方便掌握用户提供的参数信息。

一条指令必须定义在一个插件里,并使用 [Command] 特性标注:

csharp
public class ExamplePlugin : Plugin
+    
Skip to content
On this page

认识指令

指令是一个机器人的灵魂。指令系统是整个 Flandre 框架中最精华的部分,也是灵活度最高的部分。通过指令,开发者无需再繁琐地在事件处理里写判断逻辑,仅需简单的定义就能方便掌握用户提供的参数信息。

一条指令必须定义在一个插件里,并使用 [Command] 特性标注:

csharp
public class ExamplePlugin : Plugin
 {
     [Command("test")]
     public string OnTest(CommandContext ctx, string name, int age)
@@ -21,8 +23,7 @@
     }
 }
 
-builder.AddPlugin<ExamplePlugin>();
-
public class ExamplePlugin : Plugin
+builder.Plugins.Add<ExamplePlugin>();
public class ExamplePlugin : Plugin
 {
     [Command("test")]
     public string OnTest(CommandContext ctx, string name, int age)
@@ -31,10 +32,9 @@
     }
 }
 
-builder.AddPlugin<ExamplePlugin>();
-

Flandre 会自动解析指令方法的参数列表,在用户调用指令时,便会在解析成功后,将解析结果自动作为实参传入该方法。

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - +builder.Plugins.Add<ExamplePlugin>();

Flandre 会自动解析指令方法的参数列表,在用户调用指令时,便会在解析成功后,将解析结果自动作为实参传入该方法。

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file diff --git a/guide/index.html b/guide/index.html index f75ecda..ded3346 100644 --- a/guide/index.html +++ b/guide/index.html @@ -5,16 +5,18 @@ 开发指南 | Flandre.Docs - - - - - + + + + + + + -
Skip to content
On this page

开发指南

欢迎来到 Project Flandre 的开发文档!

TIP

本指南面向对 .NET 开发有一定基础的开发者,所有代码示例均使用 C# 编写。

本指南主要介绍 Flandre.Framework 的开发。如果需要直接基于 Flandre.Core 开发,可以前往这里(Todo)查看相关文档。

本文档的结构组织参考了 Koishi.js,在此提出感谢。

Todo

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - +
Skip to content
On this page

开发指南

欢迎来到 Project Flandre 的开发文档!

TIP

本指南面向对 .NET 开发有一定基础的开发者,所有代码示例均使用 C# 编写。

本指南主要介绍 Flandre.Framework 的开发。如果需要直接基于 Flandre.Core 开发,可以前往这里(Todo)查看相关文档。

本文档的结构组织参考了 Koishi.js,在此提出感谢。

Todo

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file diff --git a/guide/start/setup.html b/guide/start/setup.html index ff55c7d..273fa04 100644 --- a/guide/start/setup.html +++ b/guide/start/setup.html @@ -5,28 +5,24 @@ 从模板创建项目 | Flandre.Docs - - - - - + + + + + + + -
Skip to content
On this page

从模板创建项目

Flandre 的开发至少需要 .NET 6 SDK,确保你已经正常安装完毕。如果不确定自己安装的是什么版本,可以使用 dotnet --info 命令查看。

我们提供了一个模板项目,可以帮助你快速上手 Flandre 的开发。仓库在这里

首先,打开终端(如 PowerShell),键入以下命令:

shell
dotnet new install Flandre.Templates
-
dotnet new install Flandre.Templates
-

创建一个名为 MyFirstFlandreApp 的新项目:

shell
dotnet new flandre -o MyFirstFlandreApp
-
dotnet new flandre -o MyFirstFlandreApp
-

接下来,你需要结合自身的需求,挑选一个合适的平台适配器 (Adapter) 并加入到应用中。你可以在适配器列表中寻找一个合适的。

在新创建项目中的 Program.cs,加入新的适配器:

csharp
// 安装一个适配器,并添加在这里。
+    
Skip to content
On this page

从模板创建项目

Flandre 的开发至少需要 .NET 6 SDK,确保你已经正常安装完毕。如果不确定自己安装的是什么版本,可以使用 dotnet --info 命令查看。

我们提供了一个模板项目,可以帮助你快速上手 Flandre 的开发。仓库在这里

首先,打开终端(如 PowerShell),键入以下命令:

shell
dotnet new install Flandre.Templates
dotnet new install Flandre.Templates

创建一个名为 MyFirstFlandreApp 的新项目:

shell
dotnet new flandre -o MyFirstFlandreApp
dotnet new flandre -o MyFirstFlandreApp

接下来,你需要结合自身的需求,挑选一个合适的平台适配器 (Adapter) 并加入到应用中。你可以在适配器列表中寻找一个合适的。

在新创建项目中的 Program.cs,加入新的适配器:

csharp
// 安装一个适配器,并添加在这里。
 var config = new YourAdapterConfig();
 // ...
-builder.AddAdapter(new YourAdapter(config));
-
// 安装一个适配器,并添加在这里。
+builder.Adapters.Add(new YourAdapter(config));
// 安装一个适配器,并添加在这里。
 var config = new YourAdapterConfig();
 // ...
-builder.AddAdapter(new YourAdapter(config));
-

接下来,你将了解到和 Flandre 进行基础交互的知识。

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - +builder.Adapters.Add(new YourAdapter(config));

接下来,你将了解到和 Flandre 进行基础交互的知识。

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index 443ea03..ac78d31 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"guide_basic_event.md":"13f1ec22","guide_basic-concepts.md":"c572cc6e","guide_start_setup.md":"89bd94dc","ecosystem_adapters_onebot.md":"a2dac503","index.md":"1e553521","guide_basic_middleware.md":"518af36b","guide_index.md":"990624f0","guide_command_basic.md":"e50adc0c","ecosystem_adapters_konata.md":"f1b50e57","ecosystem_index.md":"518ab9c0"} +{"ecosystem_adapters_konata.md":"eedf4cf4","guide_start_setup.md":"a8a26f35","index.md":"f171baf6","ecosystem_index.md":"4effed6d","guide_basic_event.md":"658d3cd1","guide_basic-concepts.md":"7b693fbc","ecosystem_adapters_onebot.md":"238084b5","guide_basic_middleware.md":"5f20498a","guide_command_basic.md":"4d0e9905","guide_index.md":"df54dfa1"} diff --git a/index.html b/index.html index dc10655..a2f608b 100644 --- a/index.html +++ b/index.html @@ -5,16 +5,18 @@ Flandre | Flandre.Docs - - - - - + + + + + + + -
Skip to content

Flandre

跨平台、现代化的聊天机器人框架

基于 .NET 6 开发,一套代码,多平台服务

原生跨平台

Flandre 为跨平台而生,对聊天平台的结构进行抽象化,采用适配器模式进行兼容,使得开发者可以通过一套统一接口控制不同平台的机器人,同时提供了良好的开发体验。

灵活的开发方式

Flandre 提供两种开发方式,分别是完整的开发框架 Flandre.Framework,以及易于嵌入已有程序的 Flandre.Core。两种方式可按需使用,带来最佳的开发体验。

开箱即用的指令系统

Flandre.Framework 实现了一套开箱即用的指令解析系统,而无需开发者自己造轮子。仅需简单的定义,就能获得完整的参数检查、参数解析等等功能。

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

- - +
Skip to content

Flandre

跨平台、现代化的聊天机器人框架

基于 .NET 6 开发,一套代码,多平台服务

原生跨平台

Flandre 为跨平台而生,对聊天平台的结构进行抽象化,采用适配器模式进行兼容,使得开发者可以通过一套统一接口控制不同平台的机器人,同时提供了良好的开发体验。

灵活的开发方式

Flandre 提供两种开发方式,分别是完整的开发框架 Flandre.Framework,以及易于嵌入已有程序的 Flandre.Core。两种方式可按需使用,带来最佳的开发体验。

开箱即用的指令系统

Flandre.Framework 实现了一套开箱即用的指令解析系统,而无需开发者自己造轮子。仅需简单的定义,就能获得完整的参数检查、参数解析等等功能。

所有文档均采用 CC-BY-NC-SA 4.0 许可协议

+ \ No newline at end of file