From 5136f457f1e20e7ca72115f5ff1ddc4862901732 Mon Sep 17 00:00:00 2001 From: Dmitriy Pleshevskiy Date: Fri, 6 Sep 2024 01:11:51 +0300 Subject: [PATCH] return simplex chat to the contacts --- Makefile | 4 +-- dist/404.html | 26 ++++++++-------- ....html-Dwh2w4FP.js => 404.html-K48krAc8.js} | 2 +- dist/assets/app-CICBSUru.js | 30 ------------------- dist/assets/app-YqJ2N5FF.js | 30 +++++++++++++++++++ ...tml-D2WI0AD-.js => index.html-BCgSEOwK.js} | 2 +- dist/assets/index.html-CRXC2eW2.js | 1 - dist/assets/index.html-D3SBAZ5R.js | 1 + dist/assets/style-BACGJ9Qw.css | 1 - dist/assets/style-DOZUTAXU.css | 1 + ...tml-dR21TKIc.js => works.html-DDM5nDLC.js} | 2 +- ...tml-ClPWTWbv.js => works.html-EdO4hOM5.js} | 2 +- dist/eng/index.html | 28 ++++++++--------- dist/eng/works.html | 26 ++++++++-------- dist/index.html | 28 ++++++++--------- dist/sitemap.xml | 2 +- dist/works.html | 26 ++++++++-------- docs/eng/index.md | 4 +++ docs/index.md | 3 ++ 19 files changed, 113 insertions(+), 106 deletions(-) rename dist/assets/{404.html-Dwh2w4FP.js => 404.html-K48krAc8.js} (91%) delete mode 100644 dist/assets/app-CICBSUru.js create mode 100644 dist/assets/app-YqJ2N5FF.js rename dist/assets/{index.html-D2WI0AD-.js => index.html-BCgSEOwK.js} (55%) delete mode 100644 dist/assets/index.html-CRXC2eW2.js create mode 100644 dist/assets/index.html-D3SBAZ5R.js delete mode 100644 dist/assets/style-BACGJ9Qw.css create mode 100644 dist/assets/style-DOZUTAXU.css rename dist/assets/{works.html-dR21TKIc.js => works.html-DDM5nDLC.js} (99%) rename dist/assets/{works.html-ClPWTWbv.js => works.html-EdO4hOM5.js} (99%) diff --git a/Makefile b/Makefile index 1f85b12..d6a4f4a 100644 --- a/Makefile +++ b/Makefile @@ -6,14 +6,14 @@ help: .PHONY: build build: - pnpm run docs:build --dest $(PREFIX) + pnpm run build --dest $(PREFIX) .PHONY: install install: build .PHONY: dev dev: - pnpm run docs:dev + pnpm run dev .PHONY: deps deps: diff --git a/dist/404.html b/dist/404.html index 9af7f16..bf0590e 100644 --- a/dist/404.html +++ b/dist/404.html @@ -3,41 +3,41 @@ - + Дмитрий Плешевский - - - + + + -

404

Верните страницу!
Вернуться на главную
- +

404

Мы потеряли страницу...
Вернуться на главную
+ diff --git a/dist/assets/404.html-Dwh2w4FP.js b/dist/assets/404.html-K48krAc8.js similarity index 91% rename from dist/assets/404.html-Dwh2w4FP.js rename to dist/assets/404.html-K48krAc8.js index afab415..02c29a0 100644 --- a/dist/assets/404.html-Dwh2w4FP.js +++ b/dist/assets/404.html-K48krAc8.js @@ -1 +1 @@ -import{_ as t,c as e,o,a}from"./app-CICBSUru.js";const n={},r=a("p",null,"404 Not Found",-1),c=[r];function s(l,p){return o(),e("div",null,c)}const i=t(n,[["render",s],["__file","404.html.vue"]]),m=JSON.parse('{"path":"/404.html","title":"","lang":"ru-RU","frontmatter":{"layout":"NotFound","head":[["meta",{"property":"og:url","content":"https://pleshevski.ru/404.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\"}"]]},"headers":[],"git":{},"filePathRelative":null}');export{i as comp,m as data}; +import{_ as t,c as e,o,a}from"./app-YqJ2N5FF.js";const n={},r=a("p",null,"404 Not Found",-1),c=[r];function s(l,p){return o(),e("div",null,c)}const i=t(n,[["render",s],["__file","404.html.vue"]]),m=JSON.parse('{"path":"/404.html","title":"","lang":"ru-RU","frontmatter":{"layout":"NotFound","head":[["meta",{"property":"og:url","content":"https://pleshevski.ru/404.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\"}"]]},"headers":[],"git":{},"filePathRelative":null}');export{i as comp,m as data}; diff --git a/dist/assets/app-CICBSUru.js b/dist/assets/app-CICBSUru.js deleted file mode 100644 index 5e87973..0000000 --- a/dist/assets/app-CICBSUru.js +++ /dev/null @@ -1,30 +0,0 @@ -/** -* @vue/shared v3.4.36 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function Do(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const Pe={},an=[],nt=()=>{},ga=()=>!1,Jn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Oo=e=>e.startsWith("onUpdate:"),$e=Object.assign,Io=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ma=Object.prototype.hasOwnProperty,ce=(e,t)=>ma.call(e,t),X=Array.isArray,cn=e=>Ir(e)==="[object Map]",ki=e=>Ir(e)==="[object Set]",ne=e=>typeof e=="function",Te=e=>typeof e=="string",Nt=e=>typeof e=="symbol",ye=e=>e!==null&&typeof e=="object",Li=e=>(ye(e)||ne(e))&&ne(e.then)&&ne(e.catch),Ei=Object.prototype.toString,Ir=e=>Ei.call(e),va=e=>Ir(e).slice(8,-1),xi=e=>Ir(e)==="[object Object]",Mo=e=>Te(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,un=Do(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Mr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},_a=/-(\w)/g,Ye=Mr(e=>e.replace(_a,(t,n)=>n?n.toUpperCase():"")),ba=/\B([A-Z])/g,Ht=Mr(e=>e.replace(ba,"-$1").toLowerCase()),Qn=Mr(e=>e.charAt(0).toUpperCase()+e.slice(1)),Yr=Mr(e=>e?`on${Qn(e)}`:""),It=(e,t)=>!Object.is(e,t),Xr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},ya=e=>{const t=parseFloat(e);return isNaN(t)?e:t},wa=e=>{const t=Te(e)?Number(e):NaN;return isNaN(t)?e:t};let ms;const Ti=()=>ms||(ms=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Yn(e){if(X(e)){const t={};for(let n=0;n{if(n){const r=n.split(Ca);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Be(e){let t="";if(Te(e))t=e;else if(X(e))for(let n=0;n!!(e&&e.__v_isRef===!0),le=e=>Te(e)?e:e==null?"":X(e)||ye(e)&&(e.toString===Ei||!ne(e.toString))?Di(e)?le(e.value):JSON.stringify(e,Oi,2):String(e),Oi=(e,t)=>Di(t)?Oi(e,t.value):cn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[Zr(r,s)+" =>"]=o,n),{})}:ki(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Zr(n))}:Nt(t)?Zr(t):ye(t)&&!X(t)&&!xi(t)?String(t):t,Zr=(e,t="")=>{var n;return Nt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.36 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Je;class xa{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Je,!t&&Je&&(this.index=(Je.scopes||(Je.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Je;try{return Je=this,t()}finally{Je=n}}}on(){Je=this}off(){Je=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),jt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Dt,n=Jt;try{return Dt=!0,Jt=this,this._runnings++,vs(this),this.fn()}finally{_s(this),this._runnings--,Jt=n,Dt=t}}stop(){this.active&&(vs(this),_s(this),this.onStop&&this.onStop(),this.active=!1)}}function Ra(e){return e.value}function vs(e){e._trackId++,e._depsLength=0}function _s(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},Cr=new WeakMap,Qt=Symbol(""),_o=Symbol("");function Ge(e,t,n){if(Dt&&Jt){let r=Cr.get(e);r||Cr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=Vi(()=>r.delete(n))),Ni(Jt,o)}}function _t(e,t,n,r,o,s){const i=Cr.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&X(e)){const a=Number(r);i.forEach((c,f)=>{(f==="length"||!Nt(f)&&f>=a)&&l.push(c)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":X(e)?Mo(n)&&l.push(i.get("length")):(l.push(i.get(Qt)),cn(e)&&l.push(i.get(_o)));break;case"delete":X(e)||(l.push(i.get(Qt)),cn(e)&&l.push(i.get(_o)));break;case"set":cn(e)&&l.push(i.get(Qt));break}No();for(const a of l)a&&Hi(a,4);Ho()}function Da(e,t){const n=Cr.get(e);return n&&n.get(t)}const Oa=Do("__proto__,__v_isRef,__isVue"),ji=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nt)),bs=Ia();function Ia(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=fe(this);for(let s=0,i=this.length;s{e[t]=function(...n){Vt(),No();const r=fe(this)[t].apply(this,n);return Ho(),jt(),r}}),e}function Ma(e){Nt(e)||(e=String(e));const t=fe(this);return Ge(t,"has",e),t.hasOwnProperty(e)}class Fi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(o?s?za:Ki:s?Ui:Wi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=X(t);if(!o){if(i&&ce(bs,n))return Reflect.get(bs,n,r);if(n==="hasOwnProperty")return Ma}const l=Reflect.get(t,n,r);return(Nt(n)?ji.has(n):Oa(n))||(o||Ge(t,"get",n),s)?l:He(l)?i&&Mo(n)?l:l.value:ye(l)?o?Nr(l):Xn(l):l}}class Bi extends Fi{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const a=en(s);if(!mn(r)&&!en(r)&&(s=fe(s),r=fe(r)),!X(t)&&He(s)&&!He(r))return a?!1:(s.value=r,!0)}const i=X(t)&&Mo(n)?Number(n)e,$r=e=>Reflect.getPrototypeOf(e);function lr(e,t,n=!1,r=!1){e=e.__v_raw;const o=fe(e),s=fe(t);n||(It(t,s)&&Ge(o,"get",t),Ge(o,"get",s));const{has:i}=$r(o),l=r?Vo:n?Bo:jn;if(i.call(o,t))return l(e.get(t));if(i.call(o,s))return l(e.get(s));e!==o&&e.get(t)}function ar(e,t=!1){const n=this.__v_raw,r=fe(n),o=fe(e);return t||(It(e,o)&&Ge(r,"has",e),Ge(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function cr(e,t=!1){return e=e.__v_raw,!t&&Ge(fe(e),"iterate",Qt),Reflect.get(e,"size",e)}function ys(e,t=!1){!t&&!mn(e)&&!en(e)&&(e=fe(e));const n=fe(this);return $r(n).has.call(n,e)||(n.add(e),_t(n,"add",e,e)),this}function ws(e,t,n=!1){!n&&!mn(t)&&!en(t)&&(t=fe(t));const r=fe(this),{has:o,get:s}=$r(r);let i=o.call(r,e);i||(e=fe(e),i=o.call(r,e));const l=s.call(r,e);return r.set(e,t),i?It(t,l)&&_t(r,"set",e,t):_t(r,"add",e,t),this}function Ss(e){const t=fe(this),{has:n,get:r}=$r(t);let o=n.call(t,e);o||(e=fe(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&_t(t,"delete",e,void 0),s}function Cs(){const e=fe(this),t=e.size!==0,n=e.clear();return t&&_t(e,"clear",void 0,void 0),n}function ur(e,t){return function(r,o){const s=this,i=s.__v_raw,l=fe(i),a=t?Vo:e?Bo:jn;return!e&&Ge(l,"iterate",Qt),i.forEach((c,f)=>r.call(o,a(c),a(f),s))}}function fr(e,t,n){return function(...r){const o=this.__v_raw,s=fe(o),i=cn(s),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,c=o[e](...r),f=n?Vo:t?Bo:jn;return!t&&Ge(s,"iterate",a?_o:Qt),{next(){const{value:u,done:p}=c.next();return p?{value:u,done:p}:{value:l?[f(u[0]),f(u[1])]:f(u),done:p}},[Symbol.iterator](){return this}}}}function Pt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ja(){const e={get(s){return lr(this,s)},get size(){return cr(this)},has:ar,add:ys,set:ws,delete:Ss,clear:Cs,forEach:ur(!1,!1)},t={get(s){return lr(this,s,!1,!0)},get size(){return cr(this)},has:ar,add(s){return ys.call(this,s,!0)},set(s,i){return ws.call(this,s,i,!0)},delete:Ss,clear:Cs,forEach:ur(!1,!0)},n={get(s){return lr(this,s,!0)},get size(){return cr(this,!0)},has(s){return ar.call(this,s,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:ur(!0,!1)},r={get(s){return lr(this,s,!0,!0)},get size(){return cr(this,!0)},has(s){return ar.call(this,s,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:ur(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=fr(s,!1,!1),n[s]=fr(s,!0,!1),t[s]=fr(s,!1,!0),r[s]=fr(s,!0,!0)}),[e,n,t,r]}const[Fa,Ba,Wa,Ua]=ja();function jo(e,t){const n=t?e?Ua:Wa:e?Ba:Fa;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ce(n,o)&&o in r?n:r,o,s)}const Ka={get:jo(!1,!1)},Ga={get:jo(!1,!0)},qa={get:jo(!0,!1)};const Wi=new WeakMap,Ui=new WeakMap,Ki=new WeakMap,za=new WeakMap;function Ja(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Qa(e){return e.__v_skip||!Object.isExtensible(e)?0:Ja(va(e))}function Xn(e){return en(e)?e:Fo(e,!1,Na,Ka,Wi)}function Gi(e){return Fo(e,!1,Va,Ga,Ui)}function Nr(e){return Fo(e,!0,Ha,qa,Ki)}function Fo(e,t,n,r,o){if(!ye(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=Qa(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return o.set(e,l),l}function fn(e){return en(e)?fn(e.__v_raw):!!(e&&e.__v_isReactive)}function en(e){return!!(e&&e.__v_isReadonly)}function mn(e){return!!(e&&e.__v_isShallow)}function qi(e){return e?!!e.__v_raw:!1}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function Ya(e){return Object.isExtensible(e)&&Ai(e,"__v_skip",!0),e}const jn=e=>ye(e)?Xn(e):e,Bo=e=>ye(e)?Nr(e):e;class zi{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new $o(()=>t(this._value),()=>On(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=fe(this);return(!t._cacheable||t.effect.dirty)&&It(t._value,t._value=t.effect.run())&&On(t,4),Wo(t),t.effect._dirtyLevel>=2&&On(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Xa(e,t,n=!1){let r,o;const s=ne(e);return s?(r=e,o=nt):(r=e.get,o=e.set),new zi(r,o,s||!o,n)}function Wo(e){var t;Dt&&Jt&&(e=fe(e),Ni(Jt,(t=e.dep)!=null?t:e.dep=Vi(()=>e.dep=void 0,e instanceof zi?e:void 0)))}function On(e,t=4,n,r){e=fe(e);const o=e.dep;o&&Hi(o,t)}function He(e){return!!(e&&e.__v_isRef===!0)}function ue(e){return Ji(e,!1)}function yn(e){return Ji(e,!0)}function Ji(e,t){return He(e)?e:new Za(e,t)}class Za{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:fe(t),this._value=n?t:jn(t)}get value(){return Wo(this),this._value}set value(t){const n=this.__v_isShallow||mn(t)||en(t);t=n?t:fe(t),It(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:jn(t),On(this,4))}}function Yt(e){return He(e)?e.value:e}const ec={get:(e,t,n)=>Yt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return He(o)&&!He(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Qi(e){return fn(e)?e:new Proxy(e,ec)}class tc{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Wo(this),()=>On(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function nc(e){return new tc(e)}function Yi(e){const t=X(e)?new Array(e.length):{};for(const n in e)t[n]=Xi(e,n);return t}class rc{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,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 Da(fe(this._object),this._key)}}class oc{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function sc(e,t,n){return He(e)?e:ne(e)?new oc(e):ye(e)&&arguments.length>1?Xi(e,t,n):ue(e)}function Xi(e,t,n){const r=e[t];return He(r)?r:new rc(e,t,n)}/** -* @vue/runtime-core v3.4.36 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Ot(e,t,n,r){try{return r?e(...r):e()}catch(o){Zn(o,t,n)}}function rt(e,t,n,r){if(ne(e)){const o=Ot(e,t,n,r);return o&&Li(o)&&o.catch(s=>{Zn(s,t,n)}),o}if(X(e)){const o=[];for(let s=0;s>>1,o=Ve[r],s=Bn(o);sdt&&Ve.splice(t,1)}function cc(e){X(e)?dn.push(...e):(!Et||!Et.includes(e,e.allowRecurse?Gt+1:Gt))&&dn.push(e),el()}function Ps(e,t,n=Fn?dt+1:0){for(;nBn(n)-Bn(r));if(dn.length=0,Et){Et.push(...t);return}for(Et=t,Gt=0;Gte.id==null?1/0:e.id,uc=(e,t)=>{const n=Bn(e)-Bn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function tl(e){bo=!1,Fn=!0,Ve.sort(uc);try{for(dt=0;dt{r._d&&Ms(-1);const s=kr(t);let i;try{i=e(...o)}finally{kr(s),r._d&&Ms(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Lr(e,t){if(Me===null)return e;const n=Ur(Me),r=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Ko(()=>{e.isUnmounting=!0}),e}const Ze=[Function,Array],nl={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ze,onEnter:Ze,onAfterEnter:Ze,onEnterCancelled:Ze,onBeforeLeave:Ze,onLeave:Ze,onAfterLeave:Ze,onLeaveCancelled:Ze,onBeforeAppear:Ze,onAppear:Ze,onAfterAppear:Ze,onAppearCancelled:Ze},rl=e=>{const t=e.subTree;return t.component?rl(t.component):t},pc={name:"BaseTransition",props:nl,setup(e,{slots:t}){const n=Wr(),r=hc();return()=>{const o=t.default&&sl(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){for(const p of o)if(p.type!==Fe){s=p;break}}const i=fe(e),{mode:l}=i;if(r.isLeaving)return eo(s);const a=ks(s);if(!a)return eo(s);let c=yo(a,i,r,n,p=>c=p);Er(a,c);const f=n.subTree,u=f&&ks(f);if(u&&u.type!==Fe&&!qt(a,u)&&rl(n).type!==Fe){const p=yo(u,i,r,n);if(Er(u,p),l==="out-in"&&a.type!==Fe)return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},eo(s);l==="in-out"&&a.type!==Fe&&(p.delayLeave=(g,_,y)=>{const k=ol(r,u);k[String(u.key)]=u,g[xt]=()=>{_(),g[xt]=void 0,delete c.delayedLeave},c.delayedLeave=y})}return s}}},gc=pc;function ol(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function yo(e,t,n,r,o){const{appear:s,mode:i,persisted:l=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:f,onEnterCancelled:u,onBeforeLeave:p,onLeave:g,onAfterLeave:_,onLeaveCancelled:y,onBeforeAppear:k,onAppear:A,onAfterAppear:b,onAppearCancelled:m}=t,S=String(e.key),V=ol(n,e),O=(j,L)=>{j&&rt(j,r,9,L)},K=(j,L)=>{const U=L[1];O(j,L),X(j)?j.every(R=>R.length<=1)&&U():j.length<=1&&U()},Z={mode:i,persisted:l,beforeEnter(j){let L=a;if(!n.isMounted)if(s)L=k||a;else return;j[xt]&&j[xt](!0);const U=V[S];U&&qt(e,U)&&U.el[xt]&&U.el[xt](),O(L,[j])},enter(j){let L=c,U=f,R=u;if(!n.isMounted)if(s)L=A||c,U=b||f,R=m||u;else return;let ee=!1;const ve=j[dr]=_e=>{ee||(ee=!0,_e?O(R,[j]):O(U,[j]),Z.delayedLeave&&Z.delayedLeave(),j[dr]=void 0)};L?K(L,[j,ve]):ve()},leave(j,L){const U=String(e.key);if(j[dr]&&j[dr](!0),n.isUnmounting)return L();O(p,[j]);let R=!1;const ee=j[xt]=ve=>{R||(R=!0,L(),ve?O(y,[j]):O(_,[j]),j[xt]=void 0,V[U]===e&&delete V[U])};V[U]=e,g?K(g,[j,ee]):ee()},clone(j){const L=yo(j,t,n,r,o);return o&&o(L),L}};return Z}function eo(e){if(er(e))return e=Mt(e),e.children=null,e}function ks(e){if(!er(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ne(n.default))return n.default()}}function Er(e,t){e.shapeFlag&6&&e.component?Er(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 sl(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function mc(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:i=!0,onError:l}=e;let a=null,c,f=0;const u=()=>(f++,a=null,p()),p=()=>{let g;return a||(g=a=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((y,k)=>{l(_,()=>y(u()),()=>k(_),f+1)});throw _}).then(_=>g!==a&&a?a:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),c=_,_)))};return he({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const g=Ie;if(c)return()=>to(c,g);const _=b=>{a=null,Zn(b,g,13,!r)};if(i&&g.suspense||nr)return p().then(b=>()=>to(b,g)).catch(b=>(_(b),()=>r?te(r,{error:b}):null));const y=ue(!1),k=ue(),A=ue(!!o);return o&&setTimeout(()=>{A.value=!1},o),s!=null&&setTimeout(()=>{if(!y.value&&!k.value){const b=new Error(`Async component timed out after ${s}ms.`);_(b),k.value=b}},s),p().then(()=>{y.value=!0,g.parent&&er(g.parent.vnode)&&(g.parent.effect.dirty=!0,Hr(g.parent.update))}).catch(b=>{_(b),k.value=b}),()=>{if(y.value&&c)return to(c,g);if(k.value&&r)return te(r,{error:k.value});if(n&&!A.value)return te(n)}}})}function to(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=te(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const er=e=>e.type.__isKeepAlive;function vc(e,t){il(e,"a",t)}function _c(e,t){il(e,"da",t)}function il(e,t,n=Ie){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(jr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)er(o.parent.vnode)&&bc(r,t,n,o),o=o.parent}}function bc(e,t,n,r){const o=jr(t,e,r,!0);Fr(()=>{Io(r[t],o)},n)}function jr(e,t,n=Ie,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{Vt();const l=tr(n),a=rt(t,n,e,i);return l(),jt(),a});return r?o.unshift(s):o.push(s),s}}const wt=e=>(t,n=Ie)=>{(!nr||e==="sp")&&jr(e,(...r)=>t(...r),n)},yc=wt("bm"),qe=wt("m"),wc=wt("bu"),Sc=wt("u"),Ko=wt("bum"),Fr=wt("um"),Cc=wt("sp"),Pc=wt("rtg"),kc=wt("rtc");function Lc(e,t=Ie){jr("ec",e,t)}const Ec="components";function Go(e,t){return Ac(Ec,e,!0,t)||e}const xc=Symbol.for("v-ndc");function Ac(e,t,n=!0,r=!1){const o=Me||Ie;if(o){const s=o.type;{const l=wu(s,!1);if(l&&(l===t||l===Ye(t)||l===Qn(Ye(t))))return s}const i=Ls(o[e]||s[e],t)||Ls(o.appContext[e],t);return!i&&r?s:i}}function Ls(e,t){return e&&(e[t]||e[Ye(t)]||e[Qn(Ye(t))])}function bt(e,t,n,r){let o;const s=n;if(X(e)||Te(e)){o=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,s));else{const i=Object.keys(e);o=new Array(i.length);for(let l=0,a=i.length;lTr(t)?!(t.type===Fe||t.type===be&&!ll(t.children)):!0)?e:null}const wo=e=>e?El(e)?Ur(e):wo(e.parent):null,In=$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=>wo(e.parent),$root:e=>wo(e.root),$emit:e=>e.emit,$options:e=>qo(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Hr(e.update)}),$nextTick:e=>e.n||(e.n=wn.bind(e.proxy)),$watch:e=>tu.bind(e)}),no=(e,t)=>e!==Pe&&!e.__isScriptSetup&&ce(e,t),Tc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:l,appContext:a}=e;let c;if(t[0]!=="$"){const g=i[t];if(g!==void 0)switch(g){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(no(r,t))return i[t]=1,r[t];if(o!==Pe&&ce(o,t))return i[t]=2,o[t];if((c=e.propsOptions[0])&&ce(c,t))return i[t]=3,s[t];if(n!==Pe&&ce(n,t))return i[t]=4,n[t];So&&(i[t]=0)}}const f=In[t];let u,p;if(f)return t==="$attrs"&&Ge(e.attrs,"get",""),f(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==Pe&&ce(n,t))return i[t]=4,n[t];if(p=a.config.globalProperties,ce(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return no(o,t)?(o[t]=n,!0):r!==Pe&&ce(r,t)?(r[t]=n,!0):ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){let l;return!!n[i]||e!==Pe&&ce(e,i)||no(t,i)||(l=s[0])&&ce(l,i)||ce(r,i)||ce(In,i)||ce(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Es(e){return X(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let So=!0;function Rc(e){const t=qo(e),n=e.proxy,r=e.ctx;So=!1,t.beforeCreate&&xs(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:l,provide:a,inject:c,created:f,beforeMount:u,mounted:p,beforeUpdate:g,updated:_,activated:y,deactivated:k,beforeDestroy:A,beforeUnmount:b,destroyed:m,unmounted:S,render:V,renderTracked:O,renderTriggered:K,errorCaptured:Z,serverPrefetch:j,expose:L,inheritAttrs:U,components:R,directives:ee,filters:ve}=t;if(c&&Dc(c,r,null),i)for(const oe in i){const Q=i[oe];ne(Q)&&(r[oe]=Q.bind(n))}if(o){const oe=o.call(n,n);ye(oe)&&(e.data=Xn(oe))}if(So=!0,s)for(const oe in s){const Q=s[oe],De=ne(Q)?Q.bind(n,n):ne(Q.get)?Q.get.bind(n,n):nt,Ct=!ne(Q)&&ne(Q.set)?Q.set.bind(n):nt,ct=T({get:De,set:Ct});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>ct.value,set:Ue=>ct.value=Ue})}if(l)for(const oe in l)al(l[oe],r,n,oe);if(a){const oe=ne(a)?a.call(n):a;Reflect.ownKeys(oe).forEach(Q=>{Xt(Q,oe[Q])})}f&&xs(f,e,"c");function z(oe,Q){X(Q)?Q.forEach(De=>oe(De.bind(n))):Q&&oe(Q.bind(n))}if(z(yc,u),z(qe,p),z(wc,g),z(Sc,_),z(vc,y),z(_c,k),z(Lc,Z),z(kc,O),z(Pc,K),z(Ko,b),z(Fr,S),z(Cc,j),X(L))if(L.length){const oe=e.exposed||(e.exposed={});L.forEach(Q=>{Object.defineProperty(oe,Q,{get:()=>n[Q],set:De=>n[Q]=De})})}else e.exposed||(e.exposed={});V&&e.render===nt&&(e.render=V),U!=null&&(e.inheritAttrs=U),R&&(e.components=R),ee&&(e.directives=ee)}function Dc(e,t,n=nt){X(e)&&(e=Co(e));for(const r in e){const o=e[r];let s;ye(o)?"default"in o?s=We(o.from||r,o.default,!0):s=We(o.from||r):s=We(o),He(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function xs(e,t,n){rt(X(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function al(e,t,n,r){const o=r.includes(".")?Sl(n,r):()=>n[r];if(Te(e)){const s=t[e];ne(s)&&Ne(o,s)}else if(ne(e))Ne(o,e.bind(n));else if(ye(e))if(X(e))e.forEach(s=>al(s,t,n,r));else{const s=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(s)&&Ne(o,s,e)}}function qo(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let a;return l?a=l:!o.length&&!n&&!r?a=t:(a={},o.length&&o.forEach(c=>xr(a,c,i,!0)),xr(a,t,i)),ye(t)&&s.set(t,a),a}function xr(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&xr(e,s,n,!0),o&&o.forEach(i=>xr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Oc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Oc={data:As,props:Ts,emits:Ts,methods:Rn,computed:Rn,beforeCreate:je,created:je,beforeMount:je,mounted:je,beforeUpdate:je,updated:je,beforeDestroy:je,beforeUnmount:je,destroyed:je,unmounted:je,activated:je,deactivated:je,errorCaptured:je,serverPrefetch:je,components:Rn,directives:Rn,watch:Mc,provide:As,inject:Ic};function As(e,t){return t?e?function(){return $e(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function Ic(e,t){return Rn(Co(e),Co(t))}function Co(e){if(X(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}const ul={},fl=()=>Object.create(ul),dl=e=>Object.getPrototypeOf(e)===ul;function Hc(e,t,n,r=!1){const o={},s=fl();e.propsDefaults=Object.create(null),hl(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:Gi(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Vc(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,l=fe(o),[a]=e.propsOptions;let c=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let u=0;u{a=!0;const[p,g]=pl(u,t,!0);$e(i,p),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!a)return ye(e)&&r.set(e,an),an;if(X(s))for(let f=0;fe[0]==="_"||e==="$stable",zo=e=>X(e)?e.map(tt):[tt(e)],Fc=(e,t,n)=>{if(t._n)return t;const r=xe((...o)=>zo(t(...o)),n);return r._c=!1,r},ml=(e,t,n)=>{const r=e._ctx;for(const o in e){if(gl(o))continue;const s=e[o];if(ne(s))t[o]=Fc(o,s,r);else if(s!=null){const i=zo(s);t[o]=()=>i}}},vl=(e,t)=>{const n=zo(t);e.slots.default=()=>n},_l=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},Bc=(e,t,n)=>{const r=e.slots=fl();if(e.vnode.shapeFlag&32){const o=t._;o?(_l(r,t,n),n&&Ai(r,"_",o,!0)):ml(t,r)}else t&&vl(e,t)},Wc=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=Pe;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:_l(o,t,n):(s=!t.$stable,ml(t,o)),i=t}else t&&(vl(e,t),i={default:1});if(s)for(const l in o)!gl(l)&&i[l]==null&&delete o[l]};function Ar(e,t,n,r,o=!1){if(X(e)){e.forEach((p,g)=>Ar(p,t&&(X(t)?t[g]:t),n,r,o));return}if(hn(r)&&!o)return;const s=r.shapeFlag&4?Ur(r.component):r.el,i=o?null:s,{i:l,r:a}=e,c=t&&t.r,f=l.refs===Pe?l.refs={}:l.refs,u=l.setupState;if(c!=null&&c!==a&&(Te(c)?(f[c]=null,ce(u,c)&&(u[c]=null)):He(c)&&(c.value=null)),ne(a))Ot(a,l,12,[i,f]);else{const p=Te(a),g=He(a);if(p||g){const _=()=>{if(e.f){const y=p?ce(u,a)?u[a]:f[a]:a.value;o?X(y)&&Io(y,s):X(y)?y.includes(s)||y.push(s):p?(f[a]=[s],ce(u,a)&&(u[a]=f[a])):(a.value=[s],e.k&&(f[e.k]=a.value))}else p?(f[a]=i,ce(u,a)&&(u[a]=i)):g&&(a.value=i,e.k&&(f[e.k]=i))};i?(_.id=-1,Ke(_,n)):_()}}}const Uc=Symbol("_vte"),Kc=e=>e.__isTeleport;let Ds=!1;const sn=()=>{Ds||(console.error("Hydration completed but contains mismatches."),Ds=!0)},Gc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",qc=e=>e.namespaceURI.includes("MathML"),hr=e=>{if(Gc(e))return"svg";if(qc(e))return"mathml"},pr=e=>e.nodeType===8;function zc(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:c}}=e,f=(m,S)=>{if(!S.hasChildNodes()){n(null,m,S),Pr(),S._vnode=m;return}u(S.firstChild,m,null,null,null),Pr(),S._vnode=m},u=(m,S,V,O,K,Z=!1)=>{Z=Z||!!S.dynamicChildren;const j=pr(m)&&m.data==="[",L=()=>y(m,S,V,O,K,j),{type:U,ref:R,shapeFlag:ee,patchFlag:ve}=S;let _e=m.nodeType;S.el=m,ve===-2&&(Z=!1,S.dynamicChildren=null);let z=null;switch(U){case Zt:_e!==3?S.children===""?(a(S.el=o(""),i(m),m),z=m):z=L():(m.data!==S.children&&(sn(),m.data=S.children),z=s(m));break;case Fe:b(m)?(z=s(m),A(S.el=m.content.firstChild,m,V)):_e!==8||j?z=L():z=s(m);break;case $n:if(j&&(m=s(m),_e=m.nodeType),_e===1||_e===3){z=m;const oe=!S.children.length;for(let Q=0;Q{Z=Z||!!S.dynamicChildren;const{type:j,props:L,patchFlag:U,shapeFlag:R,dirs:ee,transition:ve}=S,_e=j==="input"||j==="option";if(_e||U!==-1){ee&&ft(S,null,V,"created");let z=!1;if(b(m)){z=bl(O,ve)&&V&&V.vnode.props&&V.vnode.props.appear;const Q=m.content.firstChild;z&&ve.beforeEnter(Q),A(Q,m,V),S.el=m=Q}if(R&16&&!(L&&(L.innerHTML||L.textContent))){let Q=g(m.firstChild,S,m,V,O,K,Z);for(;Q;){sn();const De=Q;Q=Q.nextSibling,l(De)}}else R&8&&m.textContent!==S.children&&(sn(),m.textContent=S.children);if(L){if(_e||!Z||U&48){const Q=m.tagName.includes("-");for(const De in L)(_e&&(De.endsWith("value")||De==="indeterminate")||Jn(De)&&!un(De)||De[0]==="."||Q)&&r(m,De,null,L[De],void 0,V)}else if(L.onClick)r(m,"onClick",null,L.onClick,void 0,V);else if(U&4&&fn(L.style))for(const Q in L.style)L.style[Q]}let oe;(oe=L&&L.onVnodeBeforeMount)&&et(oe,V,S),ee&&ft(S,null,V,"beforeMount"),((oe=L&&L.onVnodeMounted)||ee||z)&&Pl(()=>{oe&&et(oe,V,S),z&&ve.enter(m),ee&&ft(S,null,V,"mounted")},O)}return m.nextSibling},g=(m,S,V,O,K,Z,j)=>{j=j||!!S.dynamicChildren;const L=S.children,U=L.length;for(let R=0;R{const{slotScopeIds:j}=S;j&&(K=K?K.concat(j):j);const L=i(m),U=g(s(m),S,L,V,O,K,Z);return U&&pr(U)&&U.data==="]"?s(S.anchor=U):(sn(),a(S.anchor=c("]"),L,U),U)},y=(m,S,V,O,K,Z)=>{if(sn(),S.el=null,Z){const U=k(m);for(;;){const R=s(m);if(R&&R!==U)l(R);else break}}const j=s(m),L=i(m);return l(m),n(null,S,L,j,V,O,hr(L),K),j},k=(m,S="[",V="]")=>{let O=0;for(;m;)if(m=s(m),m&&pr(m)&&(m.data===S&&O++,m.data===V)){if(O===0)return s(m);O--}return m},A=(m,S,V)=>{const O=S.parentNode;O&&O.replaceChild(m,S);let K=V;for(;K;)K.vnode.el===S&&(K.vnode.el=K.subTree.el=m),K=K.parent},b=m=>m.nodeType===1&&m.tagName.toLowerCase()==="template";return[f,u]}const Ke=Pl;function Jc(e){return Qc(e,zc)}function Qc(e,t){const n=Ti();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:l,createComment:a,setText:c,setElementText:f,parentNode:u,nextSibling:p,setScopeId:g=nt,insertStaticContent:_}=e,y=(d,h,v,P=null,w=null,x=null,N=void 0,I=null,M=!!h.dynamicChildren)=>{if(d===h)return;d&&!qt(d,h)&&(P=C(d),Ue(d,w,x,!0),d=null),h.patchFlag===-2&&(M=!1,h.dynamicChildren=null);const{type:E,ref:B,shapeFlag:J}=h;switch(E){case Zt:k(d,h,v,P);break;case Fe:A(d,h,v,P);break;case $n:d==null&&b(h,v,P,N);break;case be:R(d,h,v,P,w,x,N,I,M);break;default:J&1?V(d,h,v,P,w,x,N,I,M):J&6?ee(d,h,v,P,w,x,N,I,M):(J&64||J&128)&&E.process(d,h,v,P,w,x,N,I,M,G)}B!=null&&w&&Ar(B,d&&d.ref,x,h||d,!h)},k=(d,h,v,P)=>{if(d==null)r(h.el=l(h.children),v,P);else{const w=h.el=d.el;h.children!==d.children&&c(w,h.children)}},A=(d,h,v,P)=>{d==null?r(h.el=a(h.children||""),v,P):h.el=d.el},b=(d,h,v,P)=>{[d.el,d.anchor]=_(d.children,h,v,P,d.el,d.anchor)},m=({el:d,anchor:h},v,P)=>{let w;for(;d&&d!==h;)w=p(d),r(d,v,P),d=w;r(h,v,P)},S=({el:d,anchor:h})=>{let v;for(;d&&d!==h;)v=p(d),o(d),d=v;o(h)},V=(d,h,v,P,w,x,N,I,M)=>{h.type==="svg"?N="svg":h.type==="math"&&(N="mathml"),d==null?O(h,v,P,w,x,N,I,M):j(d,h,w,x,N,I,M)},O=(d,h,v,P,w,x,N,I)=>{let M,E;const{props:B,shapeFlag:J,transition:q,dirs:re}=d;if(M=d.el=i(d.type,x,B&&B.is,B),J&8?f(M,d.children):J&16&&Z(d.children,M,null,P,w,ro(d,x),N,I),re&&ft(d,null,P,"created"),K(M,d,d.scopeId,N,P),B){for(const Se in B)Se!=="value"&&!un(Se)&&s(M,Se,null,B[Se],x,P);"value"in B&&s(M,"value",null,B.value,x),(E=B.onVnodeBeforeMount)&&et(E,P,d)}re&&ft(d,null,P,"beforeMount");const se=bl(w,q);se&&q.beforeEnter(M),r(M,h,v),((E=B&&B.onVnodeMounted)||se||re)&&Ke(()=>{E&&et(E,P,d),se&&q.enter(M),re&&ft(d,null,P,"mounted")},w)},K=(d,h,v,P,w)=>{if(v&&g(d,v),P)for(let x=0;x{for(let E=M;E{const I=h.el=d.el;let{patchFlag:M,dynamicChildren:E,dirs:B}=h;M|=d.patchFlag&16;const J=d.props||Pe,q=h.props||Pe;let re;if(v&&Bt(v,!1),(re=q.onVnodeBeforeUpdate)&&et(re,v,h,d),B&&ft(h,d,v,"beforeUpdate"),v&&Bt(v,!0),(J.innerHTML&&q.innerHTML==null||J.textContent&&q.textContent==null)&&f(I,""),E?L(d.dynamicChildren,E,I,v,P,ro(h,w),x):N||Q(d,h,I,null,v,P,ro(h,w),x,!1),M>0){if(M&16)U(I,J,q,v,w);else if(M&2&&J.class!==q.class&&s(I,"class",null,q.class,w),M&4&&s(I,"style",J.style,q.style,w),M&8){const se=h.dynamicProps;for(let Se=0;Se{re&&et(re,v,h,d),B&&ft(h,d,v,"updated")},P)},L=(d,h,v,P,w,x,N)=>{for(let I=0;I{if(h!==v){if(h!==Pe)for(const x in h)!un(x)&&!(x in v)&&s(d,x,h[x],null,w,P);for(const x in v){if(un(x))continue;const N=v[x],I=h[x];N!==I&&x!=="value"&&s(d,x,I,N,w,P)}"value"in v&&s(d,"value",h.value,v.value,w)}},R=(d,h,v,P,w,x,N,I,M)=>{const E=h.el=d?d.el:l(""),B=h.anchor=d?d.anchor:l("");let{patchFlag:J,dynamicChildren:q,slotScopeIds:re}=h;re&&(I=I?I.concat(re):re),d==null?(r(E,v,P),r(B,v,P),Z(h.children||[],v,B,w,x,N,I,M)):J>0&&J&64&&q&&d.dynamicChildren?(L(d.dynamicChildren,q,v,w,x,N,I),(h.key!=null||w&&h===w.subTree)&&yl(d,h,!0)):Q(d,h,v,B,w,x,N,I,M)},ee=(d,h,v,P,w,x,N,I,M)=>{h.slotScopeIds=I,d==null?h.shapeFlag&512?w.ctx.activate(h,v,P,N,M):ve(h,v,P,w,x,N,M):_e(d,h,M)},ve=(d,h,v,P,w,x,N)=>{const I=d.component=mu(d,P,w);if(er(d)&&(I.ctx.renderer=G),vu(I,!1,N),I.asyncDep){if(w&&w.registerDep(I,z,N),!d.el){const M=I.subTree=te(Fe);A(null,M,h,v)}}else z(I,d,h,v,w,x,N)},_e=(d,h,v)=>{const P=h.component=d.component;if(iu(d,h,v))if(P.asyncDep&&!P.asyncResolved){oe(P,h,v);return}else P.next=h,ac(P.update),P.effect.dirty=!0,P.update();else h.el=d.el,P.vnode=h},z=(d,h,v,P,w,x,N)=>{const I=()=>{if(d.isMounted){let{next:B,bu:J,u:q,parent:re,vnode:se}=d;{const on=wl(d);if(on){B&&(B.el=se.el,oe(d,B,N)),on.asyncDep.then(()=>{d.isUnmounted||I()});return}}let Se=B,ge;Bt(d,!1),B?(B.el=se.el,oe(d,B,N)):B=se,J&&Xr(J),(ge=B.props&&B.props.onVnodeBeforeUpdate)&&et(ge,re,B,se),Bt(d,!0);const Oe=oo(d),ot=d.subTree;d.subTree=Oe,y(ot,Oe,u(ot.el),C(ot),d,w,x),B.el=Oe.el,Se===null&&lu(d,Oe.el),q&&Ke(q,w),(ge=B.props&&B.props.onVnodeUpdated)&&Ke(()=>et(ge,re,B,se),w)}else{let B;const{el:J,props:q}=h,{bm:re,m:se,parent:Se}=d,ge=hn(h);if(Bt(d,!1),re&&Xr(re),!ge&&(B=q&&q.onVnodeBeforeMount)&&et(B,Se,h),Bt(d,!0),J&&Ce){const Oe=()=>{d.subTree=oo(d),Ce(J,d.subTree,d,w,null)};ge?h.type.__asyncLoader().then(()=>!d.isUnmounted&&Oe()):Oe()}else{const Oe=d.subTree=oo(d);y(null,Oe,v,P,d,w,x),h.el=Oe.el}if(se&&Ke(se,w),!ge&&(B=q&&q.onVnodeMounted)){const Oe=h;Ke(()=>et(B,Se,Oe),w)}(h.shapeFlag&256||Se&&hn(Se.vnode)&&Se.vnode.shapeFlag&256)&&d.a&&Ke(d.a,w),d.isMounted=!0,h=v=P=null}},M=d.effect=new $o(I,nt,()=>Hr(E),d.scope),E=d.update=()=>{M.dirty&&M.run()};E.i=d,E.id=d.uid,Bt(d,!0),E()},oe=(d,h,v)=>{h.component=d;const P=d.vnode.props;d.vnode=h,d.next=null,Vc(d,h.props,P,v),Wc(d,h.children,v),Vt(),Ps(d),jt()},Q=(d,h,v,P,w,x,N,I,M=!1)=>{const E=d&&d.children,B=d?d.shapeFlag:0,J=h.children,{patchFlag:q,shapeFlag:re}=h;if(q>0){if(q&128){Ct(E,J,v,P,w,x,N,I,M);return}else if(q&256){De(E,J,v,P,w,x,N,I,M);return}}re&8?(B&16&&Xe(E,w,x),J!==E&&f(v,J)):B&16?re&16?Ct(E,J,v,P,w,x,N,I,M):Xe(E,w,x,!0):(B&8&&f(v,""),re&16&&Z(J,v,P,w,x,N,I,M))},De=(d,h,v,P,w,x,N,I,M)=>{d=d||an,h=h||an;const E=d.length,B=h.length,J=Math.min(E,B);let q;for(q=0;qB?Xe(d,w,x,!0,!1,J):Z(h,v,P,w,x,N,I,M,J)},Ct=(d,h,v,P,w,x,N,I,M)=>{let E=0;const B=h.length;let J=d.length-1,q=B-1;for(;E<=J&&E<=q;){const re=d[E],se=h[E]=M?At(h[E]):tt(h[E]);if(qt(re,se))y(re,se,v,null,w,x,N,I,M);else break;E++}for(;E<=J&&E<=q;){const re=d[J],se=h[q]=M?At(h[q]):tt(h[q]);if(qt(re,se))y(re,se,v,null,w,x,N,I,M);else break;J--,q--}if(E>J){if(E<=q){const re=q+1,se=req)for(;E<=J;)Ue(d[E],w,x,!0),E++;else{const re=E,se=E,Se=new Map;for(E=se;E<=q;E++){const ze=h[E]=M?At(h[E]):tt(h[E]);ze.key!=null&&Se.set(ze.key,E)}let ge,Oe=0;const ot=q-se+1;let on=!1,hs=0;const Pn=new Array(ot);for(E=0;E=ot){Ue(ze,w,x,!0);continue}let ut;if(ze.key!=null)ut=Se.get(ze.key);else for(ge=se;ge<=q;ge++)if(Pn[ge-se]===0&&qt(ze,h[ge])){ut=ge;break}ut===void 0?Ue(ze,w,x,!0):(Pn[ut-se]=E+1,ut>=hs?hs=ut:on=!0,y(ze,h[ut],v,null,w,x,N,I,M),Oe++)}const ps=on?Yc(Pn):an;for(ge=ps.length-1,E=ot-1;E>=0;E--){const ze=se+E,ut=h[ze],gs=ze+1{const{el:x,type:N,transition:I,children:M,shapeFlag:E}=d;if(E&6){ct(d.component.subTree,h,v,P);return}if(E&128){d.suspense.move(h,v,P);return}if(E&64){N.move(d,h,v,G);return}if(N===be){r(x,h,v);for(let J=0;JI.enter(x),w);else{const{leave:J,delayLeave:q,afterLeave:re}=I,se=()=>r(x,h,v),Se=()=>{J(x,()=>{se(),re&&re()})};q?q(x,se,Se):Se()}else r(x,h,v)},Ue=(d,h,v,P=!1,w=!1)=>{const{type:x,props:N,ref:I,children:M,dynamicChildren:E,shapeFlag:B,patchFlag:J,dirs:q,cacheIndex:re}=d;if(J===-2&&(w=!1),I!=null&&Ar(I,null,v,d,!0),re!=null&&(h.renderCache[re]=void 0),B&256){h.ctx.deactivate(d);return}const se=B&1&&q,Se=!hn(d);let ge;if(Se&&(ge=N&&N.onVnodeBeforeUnmount)&&et(ge,h,d),B&6)ir(d.component,v,P);else{if(B&128){d.suspense.unmount(v,P);return}se&&ft(d,null,h,"beforeUnmount"),B&64?d.type.remove(d,h,v,G,P):E&&!E.hasOnce&&(x!==be||J>0&&J&64)?Xe(E,h,v,!1,!0):(x===be&&J&384||!w&&B&16)&&Xe(M,h,v),P&&nn(d)}(Se&&(ge=N&&N.onVnodeUnmounted)||se)&&Ke(()=>{ge&&et(ge,h,d),se&&ft(d,null,h,"unmounted")},v)},nn=d=>{const{type:h,el:v,anchor:P,transition:w}=d;if(h===be){rn(v,P);return}if(h===$n){S(d);return}const x=()=>{o(v),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(d.shapeFlag&1&&w&&!w.persisted){const{leave:N,delayLeave:I}=w,M=()=>N(v,x);I?I(d.el,x,M):M()}else x()},rn=(d,h)=>{let v;for(;d!==h;)v=p(d),o(d),d=v;o(h)},ir=(d,h,v)=>{const{bum:P,scope:w,update:x,subTree:N,um:I,m:M,a:E}=d;Os(M),Os(E),P&&Xr(P),w.stop(),x&&(x.active=!1,Ue(N,d,h,v)),I&&Ke(I,h),Ke(()=>{d.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},Xe=(d,h,v,P=!1,w=!1,x=0)=>{for(let N=x;N{if(d.shapeFlag&6)return C(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const h=p(d.anchor||d.el),v=h&&h[Uc];return v?p(v):h};let F=!1;const H=(d,h,v)=>{d==null?h._vnode&&Ue(h._vnode,null,null,!0):y(h._vnode||null,d,h,null,null,null,v),F||(F=!0,Ps(),Pr(),F=!1),h._vnode=d},G={p:y,um:Ue,m:ct,r:nn,mt:ve,mc:Z,pc:Q,pbc:L,n:C,o:e};let pe,Ce;return t&&([pe,Ce]=t(G)),{render:H,hydrate:pe,createApp:Nc(H,pe)}}function ro({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Bt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function bl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function yl(e,t,n=!1){const r=e.children,o=t.children;if(X(r)&&X(o))for(let s=0;s>1,e[n[l]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function wl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:wl(t)}function Os(e){if(e)for(let t=0;tWe(Xc);function eu(e,t){return Jo(e,null,t)}const gr={};function Ne(e,t,n){return Jo(e,t,n)}function Jo(e,t,{immediate:n,deep:r,flush:o,once:s,onTrack:i,onTrigger:l}=Pe){if(t&&s){const O=t;t=(...K)=>{O(...K),V()}}const a=Ie,c=O=>r===!0?O:Rt(O,r===!1?1:void 0);let f,u=!1,p=!1;if(He(e)?(f=()=>e.value,u=mn(e)):fn(e)?(f=()=>c(e),u=!0):X(e)?(p=!0,u=e.some(O=>fn(O)||mn(O)),f=()=>e.map(O=>{if(He(O))return O.value;if(fn(O))return c(O);if(ne(O))return Ot(O,a,2)})):ne(e)?t?f=()=>Ot(e,a,2):f=()=>(g&&g(),rt(e,a,3,[_])):f=nt,t&&r){const O=f;f=()=>Rt(O())}let g,_=O=>{g=m.onStop=()=>{Ot(O,a,4),g=m.onStop=void 0}},y;if(nr)if(_=nt,t?n&&rt(t,a,3,[f(),p?[]:void 0,_]):f(),o==="sync"){const O=Zc();y=O.__watcherHandles||(O.__watcherHandles=[])}else return nt;let k=p?new Array(e.length).fill(gr):gr;const A=()=>{if(!(!m.active||!m.dirty))if(t){const O=m.run();(r||u||(p?O.some((K,Z)=>It(K,k[Z])):It(O,k)))&&(g&&g(),rt(t,a,3,[O,k===gr?void 0:p&&k[0]===gr?[]:k,_]),k=O)}else m.run()};A.allowRecurse=!!t;let b;o==="sync"?b=A:o==="post"?b=()=>Ke(A,a&&a.suspense):(A.pre=!0,a&&(A.id=a.uid),b=()=>Hr(A));const m=new $o(f,nt,b),S=Ii(),V=()=>{m.stop(),S&&Io(S.effects,m)};return t?n?A():k=m.run():o==="post"?Ke(m.run.bind(m),a&&a.suspense):m.run(),y&&y.push(V),V}function tu(e,t,n){const r=this.proxy,o=Te(e)?e.includes(".")?Sl(r,e):()=>r[e]:e.bind(r,r);let s;ne(t)?s=t:(s=t.handler,n=t);const i=tr(this),l=Jo(o,s.bind(r),n);return i(),l}function Sl(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{Rt(r,t,n)});else if(xi(e)){for(const r in e)Rt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Rt(e[r],t,n)}return e}const nu=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ye(t)}Modifiers`]||e[`${Ht(t)}Modifiers`];function ru(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Pe;let o=n;const s=t.startsWith("update:"),i=s&&nu(r,t.slice(7));i&&(i.trim&&(o=n.map(f=>Te(f)?f.trim():f)),i.number&&(o=n.map(ya)));let l,a=r[l=Yr(t)]||r[l=Yr(Ye(t))];!a&&s&&(a=r[l=Yr(Ht(t))]),a&&rt(a,e,6,o);const c=r[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,rt(c,e,6,o)}}function Cl(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},l=!1;if(!ne(e)){const a=c=>{const f=Cl(c,t,!0);f&&(l=!0,$e(i,f))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(ye(e)&&r.set(e,null),null):(X(s)?s.forEach(a=>i[a]=null):$e(i,s),ye(e)&&r.set(e,i),i)}function Br(e,t){return!e||!Jn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Ht(t))||ce(e,t))}function oo(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:i,attrs:l,emit:a,render:c,renderCache:f,props:u,data:p,setupState:g,ctx:_,inheritAttrs:y}=e,k=kr(e);let A,b;try{if(n.shapeFlag&4){const S=o||r,V=S;A=tt(c.call(V,S,f,u,g,p,_)),b=l}else{const S=t;A=tt(S.length>1?S(u,{attrs:l,slots:i,emit:a}):S(u,null)),b=t.props?l:ou(l)}}catch(S){Nn.length=0,Zn(S,e,1),A=te(Fe)}let m=A;if(b&&y!==!1){const S=Object.keys(b),{shapeFlag:V}=m;S.length&&V&7&&(s&&S.some(Oo)&&(b=su(b,s)),m=Mt(m,b,!1,!0))}return n.dirs&&(m=Mt(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&(m.transition=n.transition),A=m,kr(k),A}const ou=e=>{let t;for(const n in e)(n==="class"||n==="style"||Jn(n))&&((t||(t={}))[n]=e[n]);return t},su=(e,t)=>{const n={};for(const r in e)(!Oo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function iu(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:l,patchFlag:a}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?Is(r,i,c):!!i;if(a&8){const f=t.dynamicProps;for(let u=0;ue.__isSuspense;function Pl(e,t){t&&t.pendingBranch?X(e)?t.effects.push(...e):t.effects.push(e):cc(e)}const be=Symbol.for("v-fgt"),Zt=Symbol.for("v-txt"),Fe=Symbol.for("v-cmt"),$n=Symbol.for("v-stc"),Nn=[];let Qe=null;function $(e=!1){Nn.push(Qe=e?null:[])}function cu(){Nn.pop(),Qe=Nn[Nn.length-1]||null}let Wn=1;function Ms(e){Wn+=e,e<0&&Qe&&(Qe.hasOnce=!0)}function kl(e){return e.dynamicChildren=Wn>0?Qe||an:null,cu(),Wn>0&&Qe&&Qe.push(e),e}function Y(e,t,n,r,o,s){return kl(W(e,t,n,r,o,s,!0))}function Ee(e,t,n,r,o){return kl(te(e,t,n,r,o,!0))}function Tr(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const Ll=({key:e})=>e??null,yr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Te(e)||He(e)||ne(e)?{i:Me,r:e,k:t,f:!!n}:e:null);function W(e,t=null,n=null,r=0,o=null,s=e===be?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ll(t),ref:t&&yr(t),scopeId:Vr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Me};return l?(Qo(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=Te(n)?8:16),Wn>0&&!i&&Qe&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&Qe.push(a),a}const te=uu;function uu(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===xc)&&(e=Fe),Tr(e)){const l=Mt(e,t,!0);return n&&Qo(l,n),Wn>0&&!s&&Qe&&(l.shapeFlag&6?Qe[Qe.indexOf(e)]=l:Qe.push(l)),l.patchFlag=-2,l}if(Su(e)&&(e=e.__vccOpts),t){t=fu(t);let{class:l,style:a}=t;l&&!Te(l)&&(t.class=Be(l)),ye(a)&&(qi(a)&&!X(a)&&(a=$e({},a)),t.style=Yn(a))}const i=Te(e)?1:au(e)?128:Kc(e)?64:ye(e)?4:ne(e)?2:0;return W(e,t,n,r,o,i,s,!0)}function fu(e){return e?qi(e)||dl(e)?$e({},e):e:null}function Mt(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:i,children:l,transition:a}=e,c=t?hu(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Ll(c),ref:t&&t.ref?n&&s?X(s)?s.concat(yr(t)):[s,yr(t)]:yr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==be?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Mt(e.ssContent),ssFallback:e.ssFallback&&Mt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&r&&Er(f,a.clone(f)),f}function $t(e=" ",t=0){return te(Zt,null,e,t)}function du(e,t){const n=te($n,null,e);return n.staticCount=t,n}function Ae(e="",t=!1){return t?($(),Ee(Fe,null,e)):te(Fe,null,e)}function tt(e){return e==null||typeof e=="boolean"?te(Fe):X(e)?te(be,null,e.slice()):typeof e=="object"?At(e):te(Zt,null,String(e))}function At(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Mt(e)}function Qo(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(X(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Qo(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!dl(t)?t._ctx=Me:o===3&&Me&&(Me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:Me},n=32):(t=String(t),r&64?(n=16,t=[$t(t)]):n=8);e.children=t,e.shapeFlag|=n}function hu(...e){const t={};for(let n=0;nIe||Me;let Rr,ko;{const e=Ti(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(i=>i(s)):o[0](s)}};Rr=t("__VUE_INSTANCE_SETTERS__",n=>Ie=n),ko=t("__VUE_SSR_SETTERS__",n=>nr=n)}const tr=e=>{const t=Ie;return Rr(e),e.scope.on(),()=>{e.scope.off(),Rr(t)}},$s=()=>{Ie&&Ie.scope.off(),Rr(null)};function El(e){return e.vnode.shapeFlag&4}let nr=!1;function vu(e,t=!1,n=!1){t&&ko(t);const{props:r,children:o}=e.vnode,s=El(e);Hc(e,r,s,t),Bc(e,o,n);const i=s?_u(e,t):void 0;return t&&ko(!1),i}function _u(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Tc);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?yu(e):null,s=tr(e);Vt();const i=Ot(r,e,0,[e.props,o]);if(jt(),s(),Li(i)){if(i.then($s,$s),t)return i.then(l=>{Ns(e,l,t)}).catch(l=>{Zn(l,e,0)});e.asyncDep=i}else Ns(e,i,t)}else xl(e,t)}function Ns(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ye(t)&&(e.setupState=Qi(t)),xl(e,n)}let Hs;function xl(e,t,n){const r=e.type;if(!e.render){if(!t&&Hs&&!r.render){const o=r.template||qo(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,c=$e($e({isCustomElement:s,delimiters:l},i),a);r.render=Hs(o,c)}}e.render=r.render||nt}{const o=tr(e);Vt();try{Rc(e)}finally{jt(),o()}}}const bu={get(e,t){return Ge(e,"get",""),e[t]}};function yu(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,bu),slots:e.slots,emit:e.emit,expose:t}}function Ur(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qi(Ya(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in In)return In[n](e)},has(t,n){return n in t||n in In}})):e.proxy}function wu(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function Su(e){return ne(e)&&"__vccOpts"in e}const T=(e,t)=>Xa(e,t,nr);function ke(e,t,n){const r=arguments.length;return r===2?ye(t)&&!X(t)?Tr(t)?te(e,null,[t]):te(e,t):te(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Tr(n)&&(n=[n]),te(e,t,n))}const Cu="3.4.36";/** -* @vue/runtime-dom v3.4.36 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const Pu="http://www.w3.org/2000/svg",ku="http://www.w3.org/1998/Math/MathML",vt=typeof document<"u"?document:null,Vs=vt&&vt.createElement("template"),Lu={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?vt.createElementNS(Pu,e):t==="mathml"?vt.createElementNS(ku,e):n?vt.createElement(e,{is:n}):vt.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>vt.createTextNode(e),createComment:e=>vt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>vt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Vs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Vs.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},kt="transition",kn="animation",Un=Symbol("_vtc"),rr=(e,{slots:t})=>ke(gc,Eu(e),t);rr.displayName="Transition";const Al={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};rr.props=$e({},nl,Al);const Wt=(e,t=[])=>{X(e)?e.forEach(n=>n(...t)):e&&e(...t)},js=e=>e?X(e)?e.some(t=>t.length>1):e.length>1:!1;function Eu(e){const t={};for(const R in e)R in Al||(t[R]=e[R]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:c=i,appearToClass:f=l,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,_=xu(o),y=_&&_[0],k=_&&_[1],{onBeforeEnter:A,onEnter:b,onEnterCancelled:m,onLeave:S,onLeaveCancelled:V,onBeforeAppear:O=A,onAppear:K=b,onAppearCancelled:Z=m}=t,j=(R,ee,ve)=>{Ut(R,ee?f:l),Ut(R,ee?c:i),ve&&ve()},L=(R,ee)=>{R._isLeaving=!1,Ut(R,u),Ut(R,g),Ut(R,p),ee&&ee()},U=R=>(ee,ve)=>{const _e=R?K:b,z=()=>j(ee,R,ve);Wt(_e,[ee,z]),Fs(()=>{Ut(ee,R?a:s),Lt(ee,R?f:l),js(_e)||Bs(ee,r,y,z)})};return $e(t,{onBeforeEnter(R){Wt(A,[R]),Lt(R,s),Lt(R,i)},onBeforeAppear(R){Wt(O,[R]),Lt(R,a),Lt(R,c)},onEnter:U(!1),onAppear:U(!0),onLeave(R,ee){R._isLeaving=!0;const ve=()=>L(R,ee);Lt(R,u),Lt(R,p),Ru(),Fs(()=>{R._isLeaving&&(Ut(R,u),Lt(R,g),js(S)||Bs(R,r,k,ve))}),Wt(S,[R,ve])},onEnterCancelled(R){j(R,!1),Wt(m,[R])},onAppearCancelled(R){j(R,!0),Wt(Z,[R])},onLeaveCancelled(R){L(R),Wt(V,[R])}})}function xu(e){if(e==null)return null;if(ye(e))return[so(e.enter),so(e.leave)];{const t=so(e);return[t,t]}}function so(e){return wa(e)}function Lt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Un]||(e[Un]=new Set)).add(t)}function Ut(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Un];n&&(n.delete(t),n.size||(e[Un]=void 0))}function Fs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Au=0;function Bs(e,t,n,r){const o=e._endId=++Au,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=Tu(e,t);if(!i)return r();const c=i+"end";let f=0;const u=()=>{e.removeEventListener(c,p),s()},p=g=>{g.target===e&&++f>=a&&u()};setTimeout(()=>{f(n[_]||"").split(", "),o=r(`${kt}Delay`),s=r(`${kt}Duration`),i=Ws(o,s),l=r(`${kn}Delay`),a=r(`${kn}Duration`),c=Ws(l,a);let f=null,u=0,p=0;t===kt?i>0&&(f=kt,u=i,p=s.length):t===kn?c>0&&(f=kn,u=c,p=a.length):(u=Math.max(i,c),f=u>0?i>c?kt:kn:null,p=f?f===kt?s.length:a.length:0);const g=f===kt&&/\b(transform|all)(,|$)/.test(r(`${kt}Property`).toString());return{type:f,timeout:u,propCount:p,hasTransform:g}}function Ws(e,t){for(;e.lengthUs(n)+Us(e[r])))}function Us(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Ru(){return document.body.offsetHeight}function Du(e,t,n){const r=e[Un];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Dr=Symbol("_vod"),Tl=Symbol("_vsh"),Or={beforeMount(e,{value:t},{transition:n}){e[Dr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Ln(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Ln(e,!0),r.enter(e)):r.leave(e,()=>{Ln(e,!1)}):Ln(e,t))},beforeUnmount(e,{value:t}){Ln(e,t)}};function Ln(e,t){e.style.display=t?e[Dr]:"none",e[Tl]=!t}const Ou=Symbol(""),Iu=/(^|;)\s*display\s*:/;function Mu(e,t,n){const r=e.style,o=Te(n);let s=!1;if(n&&!o){if(t)if(Te(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&wr(r,l,"")}else for(const i in t)n[i]==null&&wr(r,i,"");for(const i in n)i==="display"&&(s=!0),wr(r,i,n[i])}else if(o){if(t!==n){const i=r[Ou];i&&(n+=";"+i),r.cssText=n,s=Iu.test(n)}}else t&&e.removeAttribute("style");Dr in e&&(e[Dr]=s?r.display:"",e[Tl]&&(r.display="none"))}const Ks=/\s*!important$/;function wr(e,t,n){if(X(n))n.forEach(r=>wr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=$u(e,t);Ks.test(n)?e.setProperty(Ht(r),n.replace(Ks,""),"important"):e[r]=n}}const Gs=["Webkit","Moz","ms"],io={};function $u(e,t){const n=io[t];if(n)return n;let r=Ye(t);if(r!=="filter"&&r in e)return io[t]=r;r=Qn(r);for(let o=0;olo||(Bu.then(()=>lo=0),lo=Date.now());function Uu(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;rt(Ku(r,n.value),t,5,[r])};return n.value=e,n.attached=Wu(),n}function Ku(e,t){if(X(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Ys=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Gu=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?Du(e,r,i):t==="style"?Mu(e,n,r):Jn(t)?Oo(t)||ju(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qu(e,t,r,i))?(Nu(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&zs(e,t,r,i,s,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),zs(e,t,r,i))};function qu(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ys(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Ys(t)&&Te(n)?!1:t in e}const zu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Ju=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=Ht(o.key);if(t.some(i=>i===s||zu[i]===s))return e(o)})},Qu=$e({patchProp:Gu},Lu);let ao,Xs=!1;function Yu(){return ao=Xs?ao:Jc(Qu),Xs=!0,ao}const Xu=(...e)=>{const t=Yu().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=ef(r);if(o)return n(o,!0,Zu(o))},t};function Zu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ef(e){return Te(e)?document.querySelector(e):e}var or=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),tf=/.md((\?|#).*)?$/,nf=(e,t="/")=>or(e)||e.startsWith("/")&&!e.startsWith(t)&&!tf.test(e),Kr=e=>/^(https?:)?\/\//.test(e),Zs=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=t.substring(0,t.length-3)+".html":t.endsWith(".html")||(t=t+".html"),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},rf="http://.",of=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return Zs(new URL(`${n}/${e}`,rf).pathname)}return Zs(e)},sf=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},lf=/(#|\?)/,Rl=e=>{const[t,...n]=e.split(lf);return{pathname:t,hashAndQueries:n.join("")}},af=["link","meta","script","style","noscript","template"],cf=["title","base"],uf=([e,t,n])=>cf.includes(e)?e:af.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,ff=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=uf(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},df=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Dl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Ol=e=>e[0]==="/"?e.slice(1):e,Yo=e=>Object.prototype.toString.call(e)==="[object Object]",st=e=>typeof e=="string";const hf="modulepreload",pf=function(e){return"/"+e},ei={},En=function(t,n,r){let o=Promise.resolve();return n&&n.length>0&&(document.getElementsByTagName("link"),o=Promise.all(n.map(s=>{if(s=pf(s),s in ei)return;ei[s]=!0;const i=s.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${l}`))return;const a=document.createElement("link");if(a.rel=i?"stylesheet":hf,i||(a.as="script",a.crossOrigin=""),a.href=s,document.head.appendChild(a),i)return new Promise((c,f)=>{a.addEventListener("load",c),a.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${s}`)))})}))),o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},gf=JSON.parse("{}"),mf=Object.fromEntries([["/",{loader:()=>En(()=>import("./index.html-CRXC2eW2.js"),__vite__mapDeps([])),meta:{title:"Резюме"}}],["/works.html",{loader:()=>En(()=>import("./works.html-dR21TKIc.js"),__vite__mapDeps([])),meta:{title:"Работы"}}],["/eng/",{loader:()=>En(()=>import("./index.html-D2WI0AD-.js"),__vite__mapDeps([])),meta:{title:"Resume"}}],["/eng/works.html",{loader:()=>En(()=>import("./works.html-ClPWTWbv.js"),__vite__mapDeps([])),meta:{title:"Works"}}],["/404.html",{loader:()=>En(()=>import("./404.html-Dwh2w4FP.js"),__vite__mapDeps([])),meta:{title:""}}]]);/*! - * vue-router v4.4.2 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */const ln=typeof document<"u";function vf(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const me=Object.assign;function co(e,t){const n={};for(const r in t){const o=t[r];n[r]=it(o)?o.map(e):e(o)}return n}const Hn=()=>{},it=Array.isArray,Il=/#/g,_f=/&/g,bf=/\//g,yf=/=/g,wf=/\?/g,Ml=/\+/g,Sf=/%5B/g,Cf=/%5D/g,$l=/%5E/g,Pf=/%60/g,Nl=/%7B/g,kf=/%7C/g,Hl=/%7D/g,Lf=/%20/g;function Xo(e){return encodeURI(""+e).replace(kf,"|").replace(Sf,"[").replace(Cf,"]")}function Ef(e){return Xo(e).replace(Nl,"{").replace(Hl,"}").replace($l,"^")}function Lo(e){return Xo(e).replace(Ml,"%2B").replace(Lf,"+").replace(Il,"%23").replace(_f,"%26").replace(Pf,"`").replace(Nl,"{").replace(Hl,"}").replace($l,"^")}function xf(e){return Lo(e).replace(yf,"%3D")}function Af(e){return Xo(e).replace(Il,"%23").replace(wf,"%3F")}function Tf(e){return e==null?"":Af(e).replace(bf,"%2F")}function Kn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Rf=/\/$/,Df=e=>e.replace(Rf,"");function uo(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),s=t.slice(a+1,l>-1?l:t.length),o=e(s)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=$f(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:Kn(i)}}function Of(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ti(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function If(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&vn(t.matched[r],n.matched[o])&&Vl(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function vn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Vl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Mf(e[n],t[n]))return!1;return!0}function Mf(e,t){return it(e)?ni(e,t):it(t)?ni(t,e):e===t}function ni(e,t){return it(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function $f(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,l;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}const mt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Gn;(function(e){e.pop="pop",e.push="push"})(Gn||(Gn={}));var Vn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Vn||(Vn={}));function Nf(e){if(!e)if(ln){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Df(e)}const Hf=/^[^#]+#/;function Vf(e,t){return e.replace(Hf,"#")+t}function jf(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Gr=()=>({left:window.scrollX,top:window.scrollY});function Ff(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=jf(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function ri(e,t){return(history.state?history.state.position-t:-1)+e}const Eo=new Map;function Bf(e,t){Eo.set(e,t)}function Wf(e){const t=Eo.get(e);return Eo.delete(e),t}let Uf=()=>location.protocol+"//"+location.host;function jl(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let l=o.includes(e.slice(s))?e.slice(s).length:1,a=o.slice(l);return a[0]!=="/"&&(a="/"+a),ti(a,"")}return ti(n,e)+r+o}function Kf(e,t,n,r){let o=[],s=[],i=null;const l=({state:p})=>{const g=jl(e,location),_=n.value,y=t.value;let k=0;if(p){if(n.value=g,t.value=p,i&&i===_){i=null;return}k=y?p.position-y.position:0}else r(g);o.forEach(A=>{A(n.value,_,{delta:k,type:Gn.pop,direction:k?k>0?Vn.forward:Vn.back:Vn.unknown})})};function a(){i=n.value}function c(p){o.push(p);const g=()=>{const _=o.indexOf(p);_>-1&&o.splice(_,1)};return s.push(g),g}function f(){const{history:p}=window;p.state&&p.replaceState(me({},p.state,{scroll:Gr()}),"")}function u(){for(const p of s)p();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:a,listen:c,destroy:u}}function oi(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Gr():null}}function Gf(e){const{history:t,location:n}=window,r={value:jl(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,c,f){const u=e.indexOf("#"),p=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+a:Uf()+e+a;try{t[f?"replaceState":"pushState"](c,"",p),o.value=c}catch(g){console.error(g),n[f?"replace":"assign"](p)}}function i(a,c){const f=me({},t.state,oi(o.value.back,a,o.value.forward,!0),c,{position:o.value.position});s(a,f,!0),r.value=a}function l(a,c){const f=me({},o.value,t.state,{forward:a,scroll:Gr()});s(f.current,f,!0);const u=me({},oi(r.value,a,null),{position:f.position+1},c);s(a,u,!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function qf(e){e=Nf(e);const t=Gf(e),n=Kf(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=me({location:"",base:e,go:r,createHref:Vf.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function zf(e){return typeof e=="string"||e&&typeof e=="object"}function Fl(e){return typeof e=="string"||typeof e=="symbol"}const Bl=Symbol("");var si;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(si||(si={}));function _n(e,t){return me(new Error,{type:e,[Bl]:!0},t)}function gt(e,t){return e instanceof Error&&Bl in e&&(t==null||!!(e.type&t))}const ii="[^/]+?",Jf={sensitive:!1,strict:!1,start:!0,end:!0},Qf=/[.+*?^${}()[\]/\\]/g;function Yf(e,t){const n=me({},Jf,t),r=[];let o=n.start?"^":"";const s=[];for(const c of e){const f=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let u=0;ut.length?t.length===1&&t[0]===80?1:-1:0}function Wl(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const Zf={type:0,value:""},ed=/[a-zA-Z0-9_]/;function td(e){if(!e)return[[]];if(e==="/")return[[Zf]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${c}": ${g}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,c="",f="";function u(){c&&(n===0?s.push({type:0,value:c}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:c,regexp:f,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=a}for(;l{i(m)}:Hn}function i(u){if(Fl(u)){const p=r.get(u);p&&(r.delete(u),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(u);p>-1&&(n.splice(p,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function l(){return n}function a(u){const p=ld(u,n);n.splice(p,0,u),u.record.name&&!ci(u)&&r.set(u.record.name,u)}function c(u,p){let g,_={},y,k;if("name"in u&&u.name){if(g=r.get(u.name),!g)throw _n(1,{location:u});k=g.record.name,_=me(ai(p.params,g.keys.filter(m=>!m.optional).concat(g.parent?g.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),u.params&&ai(u.params,g.keys.map(m=>m.name))),y=g.stringify(_)}else if(u.path!=null)y=u.path,g=n.find(m=>m.re.test(y)),g&&(_=g.parse(y),k=g.record.name);else{if(g=p.name?r.get(p.name):n.find(m=>m.re.test(p.path)),!g)throw _n(1,{location:u,currentLocation:p});k=g.record.name,_=me({},p.params,u.params),y=g.stringify(_)}const A=[];let b=g;for(;b;)A.unshift(b.record),b=b.parent;return{name:k,path:y,params:_,matched:A,meta:id(A)}}e.forEach(u=>s(u));function f(){n.length=0,r.clear()}return{addRoute:s,resolve:c,removeRoute:i,clearRoutes:f,getRoutes:l,getRecordMatcher:o}}function ai(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function od(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:sd(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function sd(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ci(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function id(e){return e.reduce((t,n)=>me(t,n.meta),{})}function ui(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function ld(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;Wl(e,t[s])<0?r=s:n=s+1}const o=ad(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function ad(e){let t=e;for(;t=t.parent;)if(Ul(t)&&Wl(e,t)===0)return t}function Ul({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function cd(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Lo(s)):[r&&Lo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function ud(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=it(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const fd=Symbol(""),di=Symbol(""),qr=Symbol(""),Zo=Symbol(""),xo=Symbol("");function xn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Tt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const c=p=>{p===!1?a(_n(4,{from:n,to:t})):p instanceof Error?a(p):zf(p)?a(_n(2,{from:t,to:p})):(i&&r.enterCallbacks[o]===i&&typeof p=="function"&&i.push(p),l())},f=s(()=>e.call(r&&r.instances[o],t,n,c));let u=Promise.resolve(f);e.length<3&&(u=u.then(c)),u.catch(p=>a(p))})}function fo(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(dd(a)){const f=(a.__vccOpts||a)[t];f&&s.push(Tt(f,n,r,i,l,o))}else{let c=a();s.push(()=>c.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${i.path}"`));const u=vf(f)?f.default:f;i.components[l]=u;const g=(u.__vccOpts||u)[t];return g&&Tt(g,n,r,i,l,o)()}))}}return s}function dd(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function hi(e){const t=We(qr),n=We(Zo),r=T(()=>{const a=Yt(e.to);return t.resolve(a)}),o=T(()=>{const{matched:a}=r.value,{length:c}=a,f=a[c-1],u=n.matched;if(!f||!u.length)return-1;const p=u.findIndex(vn.bind(null,f));if(p>-1)return p;const g=pi(a[c-2]);return c>1&&pi(f)===g&&u[u.length-1].path!==g?u.findIndex(vn.bind(null,a[c-2])):p}),s=T(()=>o.value>-1&&md(n.params,r.value.params)),i=T(()=>o.value>-1&&o.value===n.matched.length-1&&Vl(n.params,r.value.params));function l(a={}){return gd(a)?t[Yt(e.replace)?"replace":"push"](Yt(e.to)).catch(Hn):Promise.resolve()}return{route:r,href:T(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const hd=he({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:hi,setup(e,{slots:t}){const n=Xn(hi(e)),{options:r}=We(qr),o=T(()=>({[gi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[gi(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:ke("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),pd=hd;function gd(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function md(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!it(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function pi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const gi=(e,t,n)=>e??t??n,vd=he({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=We(xo),o=T(()=>e.route||r.value),s=We(di,0),i=T(()=>{let c=Yt(s);const{matched:f}=o.value;let u;for(;(u=f[c])&&!u.components;)c++;return c}),l=T(()=>o.value.matched[i.value]);Xt(di,T(()=>i.value+1)),Xt(fd,l),Xt(xo,o);const a=ue();return Ne(()=>[a.value,l.value,e.name],([c,f,u],[p,g,_])=>{f&&(f.instances[u]=c,g&&g!==f&&c&&c===p&&(f.leaveGuards.size||(f.leaveGuards=g.leaveGuards),f.updateGuards.size||(f.updateGuards=g.updateGuards))),c&&f&&(!g||!vn(f,g)||!p)&&(f.enterCallbacks[u]||[]).forEach(y=>y(c))},{flush:"post"}),()=>{const c=o.value,f=e.name,u=l.value,p=u&&u.components[f];if(!p)return mi(n.default,{Component:p,route:c});const g=u.props[f],_=g?g===!0?c.params:typeof g=="function"?g(c):g:null,k=ke(p,me({},_,t,{onVnodeUnmounted:A=>{A.component.isUnmounted&&(u.instances[f]=null)},ref:a}));return mi(n.default,{Component:k,route:c})||k}}});function mi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const _d=vd;function bd(e){const t=rd(e.routes,e),n=e.parseQuery||cd,r=e.stringifyQuery||fi,o=e.history,s=xn(),i=xn(),l=xn(),a=yn(mt);let c=mt;ln&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=co.bind(null,C=>""+C),u=co.bind(null,Tf),p=co.bind(null,Kn);function g(C,F){let H,G;return Fl(C)?(H=t.getRecordMatcher(C),G=F):G=C,t.addRoute(G,H)}function _(C){const F=t.getRecordMatcher(C);F&&t.removeRoute(F)}function y(){return t.getRoutes().map(C=>C.record)}function k(C){return!!t.getRecordMatcher(C)}function A(C,F){if(F=me({},F||a.value),typeof C=="string"){const h=uo(n,C,F.path),v=t.resolve({path:h.path},F),P=o.createHref(h.fullPath);return me(h,v,{params:p(v.params),hash:Kn(h.hash),redirectedFrom:void 0,href:P})}let H;if(C.path!=null)H=me({},C,{path:uo(n,C.path,F.path).path});else{const h=me({},C.params);for(const v in h)h[v]==null&&delete h[v];H=me({},C,{params:u(h)}),F.params=u(F.params)}const G=t.resolve(H,F),pe=C.hash||"";G.params=f(p(G.params));const Ce=Of(r,me({},C,{hash:Ef(pe),path:G.path})),d=o.createHref(Ce);return me({fullPath:Ce,hash:pe,query:r===fi?ud(C.query):C.query||{}},G,{redirectedFrom:void 0,href:d})}function b(C){return typeof C=="string"?uo(n,C,a.value.path):me({},C)}function m(C,F){if(c!==C)return _n(8,{from:F,to:C})}function S(C){return K(C)}function V(C){return S(me(b(C),{replace:!0}))}function O(C){const F=C.matched[C.matched.length-1];if(F&&F.redirect){const{redirect:H}=F;let G=typeof H=="function"?H(C):H;return typeof G=="string"&&(G=G.includes("?")||G.includes("#")?G=b(G):{path:G},G.params={}),me({query:C.query,hash:C.hash,params:G.path!=null?{}:C.params},G)}}function K(C,F){const H=c=A(C),G=a.value,pe=C.state,Ce=C.force,d=C.replace===!0,h=O(H);if(h)return K(me(b(h),{state:typeof h=="object"?me({},pe,h.state):pe,force:Ce,replace:d}),F||H);const v=H;v.redirectedFrom=F;let P;return!Ce&&If(r,G,H)&&(P=_n(16,{to:v,from:G}),ct(G,G,!0,!1)),(P?Promise.resolve(P):L(v,G)).catch(w=>gt(w)?gt(w,2)?w:Ct(w):Q(w,v,G)).then(w=>{if(w){if(gt(w,2))return K(me({replace:d},b(w.to),{state:typeof w.to=="object"?me({},pe,w.to.state):pe,force:Ce}),F||v)}else w=R(v,G,!0,d,pe);return U(v,G,w),w})}function Z(C,F){const H=m(C,F);return H?Promise.reject(H):Promise.resolve()}function j(C){const F=rn.values().next().value;return F&&typeof F.runWithContext=="function"?F.runWithContext(C):C()}function L(C,F){let H;const[G,pe,Ce]=yd(C,F);H=fo(G.reverse(),"beforeRouteLeave",C,F);for(const h of G)h.leaveGuards.forEach(v=>{H.push(Tt(v,C,F))});const d=Z.bind(null,C,F);return H.push(d),Xe(H).then(()=>{H=[];for(const h of s.list())H.push(Tt(h,C,F));return H.push(d),Xe(H)}).then(()=>{H=fo(pe,"beforeRouteUpdate",C,F);for(const h of pe)h.updateGuards.forEach(v=>{H.push(Tt(v,C,F))});return H.push(d),Xe(H)}).then(()=>{H=[];for(const h of Ce)if(h.beforeEnter)if(it(h.beforeEnter))for(const v of h.beforeEnter)H.push(Tt(v,C,F));else H.push(Tt(h.beforeEnter,C,F));return H.push(d),Xe(H)}).then(()=>(C.matched.forEach(h=>h.enterCallbacks={}),H=fo(Ce,"beforeRouteEnter",C,F,j),H.push(d),Xe(H))).then(()=>{H=[];for(const h of i.list())H.push(Tt(h,C,F));return H.push(d),Xe(H)}).catch(h=>gt(h,8)?h:Promise.reject(h))}function U(C,F,H){l.list().forEach(G=>j(()=>G(C,F,H)))}function R(C,F,H,G,pe){const Ce=m(C,F);if(Ce)return Ce;const d=F===mt,h=ln?history.state:{};H&&(G||d?o.replace(C.fullPath,me({scroll:d&&h&&h.scroll},pe)):o.push(C.fullPath,pe)),a.value=C,ct(C,F,H,d),Ct()}let ee;function ve(){ee||(ee=o.listen((C,F,H)=>{if(!ir.listening)return;const G=A(C),pe=O(G);if(pe){K(me(pe,{replace:!0}),G).catch(Hn);return}c=G;const Ce=a.value;ln&&Bf(ri(Ce.fullPath,H.delta),Gr()),L(G,Ce).catch(d=>gt(d,12)?d:gt(d,2)?(K(d.to,G).then(h=>{gt(h,20)&&!H.delta&&H.type===Gn.pop&&o.go(-1,!1)}).catch(Hn),Promise.reject()):(H.delta&&o.go(-H.delta,!1),Q(d,G,Ce))).then(d=>{d=d||R(G,Ce,!1),d&&(H.delta&&!gt(d,8)?o.go(-H.delta,!1):H.type===Gn.pop&>(d,20)&&o.go(-1,!1)),U(G,Ce,d)}).catch(Hn)}))}let _e=xn(),z=xn(),oe;function Q(C,F,H){Ct(C);const G=z.list();return G.length?G.forEach(pe=>pe(C,F,H)):console.error(C),Promise.reject(C)}function De(){return oe&&a.value!==mt?Promise.resolve():new Promise((C,F)=>{_e.add([C,F])})}function Ct(C){return oe||(oe=!C,ve(),_e.list().forEach(([F,H])=>C?H(C):F()),_e.reset()),C}function ct(C,F,H,G){const{scrollBehavior:pe}=e;if(!ln||!pe)return Promise.resolve();const Ce=!H&&Wf(ri(C.fullPath,0))||(G||!H)&&history.state&&history.state.scroll||null;return wn().then(()=>pe(C,F,Ce)).then(d=>d&&Ff(d)).catch(d=>Q(d,C,F))}const Ue=C=>o.go(C);let nn;const rn=new Set,ir={currentRoute:a,listening:!0,addRoute:g,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:k,getRoutes:y,resolve:A,options:e,push:S,replace:V,go:Ue,back:()=>Ue(-1),forward:()=>Ue(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:z.add,isReady:De,install(C){const F=this;C.component("RouterLink",pd),C.component("RouterView",_d),C.config.globalProperties.$router=F,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>Yt(a)}),ln&&!nn&&a.value===mt&&(nn=!0,S(o.location).catch(pe=>{}));const H={};for(const pe in mt)Object.defineProperty(H,pe,{get:()=>a.value[pe],enumerable:!0});C.provide(qr,F),C.provide(Zo,Gi(H)),C.provide(xo,a);const G=C.unmount;rn.add(C),C.unmount=function(){rn.delete(C),rn.size<1&&(c=mt,ee&&ee(),ee=null,a.value=mt,nn=!1,oe=!1),G()}}};function Xe(C){return C.reduce((F,H)=>F.then(()=>j(H)),Promise.resolve())}return ir}function yd(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;ivn(c,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(c=>vn(c,a))||o.push(a))}return[n,r,o]}function tn(){return We(qr)}function St(e){return We(Zo)}var es=Symbol(""),pt=()=>{const e=We(es);if(!e)throw new Error("useClientData() is called without provider.");return e},wd=()=>pt().pageComponent,Sn=()=>pt().pageData,at=()=>pt().pageFrontmatter,Sd=()=>pt().pageHead,Cd=()=>pt().pageLang,Pd=()=>pt().pageLayout,sr=()=>pt().routeLocale,kd=()=>pt().routes,Kl=()=>pt().siteData,ts=()=>pt().siteLocaleData,Ld=Symbol(""),Ao=yn(gf),pn=yn(mf),Gl=(e,t)=>{const n=of(e,t);if(pn.value[n])return n;const r=encodeURI(n);if(pn.value[r])return r;const o=Ao.value[n]||Ao.value[r];return o||n},qn=(e,t)=>{const{pathname:n,hashAndQueries:r}=Rl(e),o=Gl(n,t),s=o+r;return pn.value[o]?{...pn.value[o],path:s,notFound:!1}:{...pn.value["/404.html"],path:s,notFound:!0}},Ed=(e,t)=>{const{pathname:n,hashAndQueries:r}=Rl(e);return Gl(n,t)+r},xd=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},zr=he({name:"RouteLink",props:{to:{type:String,required:!0},active:Boolean,activeClass:{type:String,default:"route-link-active"}},slots:Object,setup(e,{slots:t}){const n=tn(),r=St(),o=T(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${Ed(e.to,r.path).substring(1)}`);return()=>{var s;return ke("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(i={})=>{xd(i)&&n.push(e.to).catch()}},(s=t.default)==null?void 0:s.call(t))}}}),Cn=he({name:"AutoLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=sc(e,"config"),r=St(),o=Kl(),s=T(()=>or(n.value.link)),i=T(()=>n.value.target||(s.value?"_blank":void 0)),l=T(()=>i.value==="_blank"),a=T(()=>!s.value&&!l.value),c=T(()=>n.value.rel||(l.value?"noopener noreferrer":null)),f=T(()=>n.value.ariaLabel??n.value.text),u=T(()=>{if(n.value.exact)return!1;const g=Object.keys(o.value.locales);return g.length?g.every(_=>_!==n.value.link):n.value.link!=="/"}),p=T(()=>a.value?n.value.activeMatch?(n.value.activeMatch instanceof RegExp?n.value.activeMatch:new RegExp(n.value.activeMatch,"u")).test(r.path):u.value?r.path.startsWith(n.value.link):r.path===n.value.link:!1);return()=>{const{before:g,after:_,default:y}=t,k=(y==null?void 0:y(n.value))||[g==null?void 0:g(n.value),n.value.text,_==null?void 0:_(n.value)];return a.value?ke(zr,{class:"auto-link",to:n.value.link,active:p.value,"aria-label":f.value},()=>k):ke("a",{class:"auto-link external-link",href:n.value.link,"aria-label":f.value,rel:c.value,target:i.value},k)}}}),ns=he({name:"ClientOnly",setup(e,t){const n=ue(!1);return qe(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),rs=he({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=wd(),n=T(()=>{if(!e.path)return t.value;const r=qn(e.path);return mc(()=>r.loader().then(({comp:o})=>o))});return()=>ke(n.value)}}),Ad="Layout",Td="en-US",Kt=Xn({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=st(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return ff(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Td,resolvePageLayout:(e,t)=>{const n=st(e.frontmatter.layout)?e.frontmatter.layout:Ad;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>sf(e,decodeURI(t)),resolveSiteLocaleData:({base:e,locales:t,...n},r)=>{var o;return{...n,...t[r],head:[...((o=t[r])==null?void 0:o.head)??[],...n.head??[]]}}}),Ft=(e={})=>e,os=e=>Kr(e)?e:`/${Ol(e)}`;function Jr(e){return Ii()?(Ta(e),!0):!1}function ht(e){return typeof e=="function"?e():Yt(e)}const ss=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Rd=Object.prototype.toString,Dd=e=>Rd.call(e)==="[object Object]",To=()=>{};function ql(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const zl=e=>e();function Od(e,t={}){let n,r,o=To;const s=l=>{clearTimeout(l),o(),o=To};return l=>{const a=ht(e),c=ht(t.maxWait);return n&&s(n),a<=0||c!==void 0&&c<=0?(r&&(s(r),r=null),Promise.resolve(l())):new Promise((f,u)=>{o=t.rejectOnCancel?u:f,c&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,f(l())},c)),n=setTimeout(()=>{r&&s(r),r=null,f(l())},a)})}}function Id(e=zl){const t=ue(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:Nr(t),pause:n,resume:r,eventFilter:o}}function Md(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function $d(e){return Wr()}function Nd(e,t=200,n={}){return ql(Od(t,n),e)}function Hd(e,t,n={}){const{eventFilter:r=zl,...o}=n;return Ne(e,ql(r,t),o)}function Vd(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=Id(r);return{stop:Hd(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function is(e,t=!0,n){$d()?qe(e,n):t?e():wn(e)}function jd(e,t,n={}){const{immediate:r=!0}=n,o=ue(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function l(){o.value=!1,i()}function a(...c){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...c)},ht(t))}return r&&(o.value=!0,ss&&a()),Jr(l),{isPending:Nr(o),start:a,stop:l}}function Fd(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=He(e),s=ue(e);function i(l){if(arguments.length)return s.value=l,s.value;{const a=ht(n);return s.value=s.value===a?ht(r):a,s.value}}return o?i:[s,i]}function zt(e){var t;const n=ht(e);return(t=n==null?void 0:n.$el)!=null?t:n}const yt=ss?window:void 0,Jl=ss?window.navigator:void 0;function lt(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=yt):[t,n,r,o]=e,!t)return To;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},l=(f,u,p,g)=>(f.addEventListener(u,p,g),()=>f.removeEventListener(u,p,g)),a=Ne(()=>[zt(t),ht(o)],([f,u])=>{if(i(),!f)return;const p=Dd(u)?{...u}:u;s.push(...n.flatMap(g=>r.map(_=>l(f,g,_,p))))},{immediate:!0,flush:"post"}),c=()=>{a(),i()};return Jr(c),c}function Bd(){const e=ue(!1),t=Wr();return t&&qe(()=>{e.value=!0},t),e}function Qr(e){const t=Bd();return T(()=>(t.value,!!e()))}function ls(e,t={}){const{window:n=yt}=t,r=Qr(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=ue(!1),i=c=>{s.value=c.matches},l=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},a=eu(()=>{r.value&&(l(),o=n.matchMedia(ht(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return Jr(()=>{a(),l(),o=void 0}),s}function vi(e,t={}){const{controls:n=!1,navigator:r=Jl}=t,o=Qr(()=>r&&"permissions"in r);let s;const i=typeof e=="string"?{name:e}:e,l=ue(),a=()=>{s&&(l.value=s.state)},c=Md(async()=>{if(o.value){if(!s)try{s=await r.permissions.query(i),lt(s,"change",a),a()}catch{l.value="prompt"}return s}});return c(),n?{state:l,isSupported:o,query:c}:l}function Wd(e={}){const{navigator:t=Jl,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=Qr(()=>t&&"clipboard"in t),l=vi("clipboard-read"),a=vi("clipboard-write"),c=T(()=>i.value||s),f=ue(""),u=ue(!1),p=jd(()=>u.value=!1,o);function g(){i.value&&A(l.value)?t.clipboard.readText().then(b=>{f.value=b}):f.value=k()}c.value&&n&<(["copy","cut"],g);async function _(b=ht(r)){c.value&&b!=null&&(i.value&&A(a.value)?await t.clipboard.writeText(b):y(b),f.value=b,u.value=!0,p.start())}function y(b){const m=document.createElement("textarea");m.value=b??"",m.style.position="absolute",m.style.opacity="0",document.body.appendChild(m),m.select(),document.execCommand("copy"),m.remove()}function k(){var b,m,S;return(S=(m=(b=document==null?void 0:document.getSelection)==null?void 0:b.call(document))==null?void 0:m.toString())!=null?S:""}function A(b){return b==="granted"||b==="prompt"}return{isSupported:c,text:f,copied:u,copy:_}}const mr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},vr="__vueuse_ssr_handlers__",Ud=Kd();function Kd(){return vr in mr||(mr[vr]=mr[vr]||{}),mr[vr]}function Gd(e,t){return Ud[e]||t}function qd(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const zd={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},_i="vueuse-storage";function as(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:c=!1,shallow:f,window:u=yt,eventFilter:p,onError:g=L=>{console.error(L)},initOnMounted:_}=r,y=(f?yn:ue)(typeof t=="function"?t():t);if(!n)try{n=Gd("getDefaultStorage",()=>{var L;return(L=yt)==null?void 0:L.localStorage})()}catch(L){g(L)}if(!n)return y;const k=ht(t),A=qd(k),b=(o=r.serializer)!=null?o:zd[A],{pause:m,resume:S}=Vd(y,()=>O(y.value),{flush:s,deep:i,eventFilter:p});u&&l&&is(()=>{lt(u,"storage",Z),lt(u,_i,j),_&&Z()}),_||Z();function V(L,U){u&&u.dispatchEvent(new CustomEvent(_i,{detail:{key:e,oldValue:L,newValue:U,storageArea:n}}))}function O(L){try{const U=n.getItem(e);if(L==null)V(U,null),n.removeItem(e);else{const R=b.write(L);U!==R&&(n.setItem(e,R),V(U,R))}}catch(U){g(U)}}function K(L){const U=L?L.newValue:n.getItem(e);if(U==null)return a&&k!=null&&n.setItem(e,b.write(k)),k;if(!L&&c){const R=b.read(U);return typeof c=="function"?c(R,k):A==="object"&&!Array.isArray(R)?{...k,...R}:R}else return typeof U!="string"?U:b.read(U)}function Z(L){if(!(L&&L.storageArea!==n)){if(L&&L.key==null){y.value=k;return}if(!(L&&L.key!==e)){m();try{(L==null?void 0:L.newValue)!==b.write(y.value)&&(y.value=K(L))}catch(U){g(U)}finally{L?wn(S):S()}}}}function j(L){Z(L.detail)}return y}function Jd(e){return ls("(prefers-color-scheme: dark)",e)}function Qd(e,t,n={}){const{window:r=yt,...o}=n;let s;const i=Qr(()=>r&&"ResizeObserver"in r),l=()=>{s&&(s.disconnect(),s=void 0)},a=T(()=>Array.isArray(e)?e.map(u=>zt(u)):[zt(e)]),c=Ne(a,u=>{if(l(),i.value&&r){s=new ResizeObserver(t);for(const p of u)p&&s.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{l(),c()};return Jr(f),{isSupported:i,stop:f}}function Yd(e,t={width:0,height:0},n={}){const{window:r=yt,box:o="content-box"}=n,s=T(()=>{var u,p;return(p=(u=zt(e))==null?void 0:u.namespaceURI)==null?void 0:p.includes("svg")}),i=ue(t.width),l=ue(t.height),{stop:a}=Qd(e,([u])=>{const p=o==="border-box"?u.borderBoxSize:o==="content-box"?u.contentBoxSize:u.devicePixelContentBoxSize;if(r&&s.value){const g=zt(e);if(g){const _=g.getBoundingClientRect();i.value=_.width,l.value=_.height}}else if(p){const g=Array.isArray(p)?p:[p];i.value=g.reduce((_,{inlineSize:y})=>_+y,0),l.value=g.reduce((_,{blockSize:y})=>_+y,0)}else i.value=u.contentRect.width,l.value=u.contentRect.height},n);is(()=>{const u=zt(e);u&&(i.value="offsetWidth"in u?u.offsetWidth:t.width,l.value="offsetHeight"in u?u.offsetHeight:t.height)});const c=Ne(()=>zt(e),u=>{i.value=u?t.width:0,l.value=u?t.height:0});function f(){a(),c()}return{width:i,height:l,stop:f}}function Xd(e,t,n={}){const{window:r=yt}=n;return as(e,t,r==null?void 0:r.sessionStorage,n)}function Zd(e={}){const{window:t=yt,behavior:n="auto"}=e;if(!t)return{x:ue(0),y:ue(0)};const r=ue(t.scrollX),o=ue(t.scrollY),s=T({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=T({get(){return o.value},set(l){scrollTo({top:l,behavior:n})}});return lt(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:i}}function eh(e={}){const{window:t=yt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0}=e,i=ue(n),l=ue(r),a=()=>{t&&(s?(i.value=t.innerWidth,l.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight))};if(a(),is(a),lt("resize",a,{passive:!0}),o){const c=ls("(orientation: portrait)");Ne(c,()=>a())}return{width:i,height:l}}const bi=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},th=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=tn();lt("scroll",Nd(()=>{var _,y;const i=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(i-0)u.some(A=>A.hash===k.hash));for(let k=0;k=(((_=A.parentElement)==null?void 0:_.offsetTop)??0)-r,S=!b||i<(((y=b.parentElement)==null?void 0:y.offsetTop)??0)-r;if(!(m&&S))continue;const O=decodeURIComponent(o.currentRoute.value.hash),K=decodeURIComponent(A.hash);if(O===K)return;if(f){for(let Z=k+1;Z{const t=sr();return T(()=>e[t.value]??{})},ah=()=>{const e=kd();return T(()=>Object.keys(e.value))},ho=(e,t)=>{var r;const n=(r=Wr())==null?void 0:r.appContext.components;return n?e in n||Ye(e)in n||Qn(Ye(e))in n:!1},ch=e=>new Promise(t=>setTimeout(t,e)),uh=({selector:e=[...new Array(6)].map((r,o)=>`#vp-content h${o+1}`).join(","),levels:t=2,ignore:n=[]}={})=>{const r=Array.from(document.querySelectorAll(e)).filter(o=>o.id&&o.hasChildNodes()).map(o=>{const s=Number(o.tagName[1]);return{element:o,title:fh(o,n),link:"#"+o.id,slug:o.id,level:s}});return dh(r,t)},fh=(e,t=[])=>{let n="";if(t.length){const r=e.cloneNode(!0);r.querySelectorAll(t.join(",")).forEach(o=>o.remove()),n=r.textContent||""}else n=e.textContent||"";return n.trim()},dh=(e,t=2)=>{if(t===!1)return[];const[n,r]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;e=e.filter(s=>s.level>=n&&s.level<=r);const o=[];e:for(let s=0;s=0;l--){const a=e[l];if(a.levelst(e)&&e.startsWith(t),hh=Object.keys,Xl=e=>Yl(e,"/");var ph={"/eng/":{backToTop:"Back to top"},"/":{backToTop:"Вернуться к началу"}};const gh=he({name:"BackToTop",setup(){const e=at(),t=Ql(ph),n=yn(),{height:r}=Yd(n),{height:o}=eh(),{y:s}=Zd(),i=T(()=>e.value.backToTop!==!1&&s.value>100),l=T(()=>s.value/(r.value-o.value)*100);return qe(()=>{n.value=document.body}),()=>ke(rr,{name:"back-to-top"},()=>i.value?ke("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[ke("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":l.value},ke("svg",ke("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*l.value*.48} ${Math.PI*(100-l.value)*.48}`}))),ke("div",{class:"back-to-top-icon"})]):null)}}),mh=Ft({rootComponents:[gh]}),vh=Object.freeze(Object.defineProperty({__proto__:null,default:mh},Symbol.toStringTag,{value:"Module"})),_h=/language-(shellscript|shell|bash|sh|zsh)/,bh=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o,ignoreSelector:s=[],transform:i})=>{const l=ls("(max-width: 419px)"),a=T(()=>!l.value||o),c=Ql(n),f=Sn(),u=k=>{var b;if(k.hasAttribute("copy-code-registered"))return;const A=document.createElement("button");A.type="button",A.classList.add("vp-copy-code-button"),A.setAttribute("aria-label",c.value.copy),A.setAttribute("data-copied",c.value.copied),(b=k.parentElement)==null||b.insertBefore(A,k),k.setAttribute("copy-code-registered","")};Ne(()=>[f.value.path,a.value],async()=>{document.body.classList.toggle("copy-code-disabled",!a.value),a.value&&(await wn(),await ch(e),document.querySelectorAll(r.join(",")).forEach(u))},{immediate:!0});const{copy:g}=Wd({legacy:!0}),_=new WeakMap,y=(k,A,b)=>{const m=A.cloneNode(!0);s.length&&m.querySelectorAll(s.join(",")).forEach(V=>V.remove()),i&&i(m);let S=m.textContent||"";_h.test(k.className)&&(S=S.replace(/^ *(\$|>) /gm,"")),g(S).then(()=>{if(t<=0)return;b.classList.add("copied"),clearTimeout(_.get(b));const V=setTimeout(()=>{b.classList.remove("copied"),b.blur(),_.delete(b)},t);_.set(b,V)})};lt("click",k=>{const A=k.target;if(a.value&&A.matches('div[class*="language-"] > button.vp-copy-code-button')){const b=A.parentElement,m=A.nextElementSibling;if(!b||!m)return;y(b,m,A)}})};var yh={"/eng/":{copy:"Copy code",copied:"Copied"},"/":{copy:"Скопировать код",copied:"Скопировано"}},wh=['.theme-default-content div[class*="language-"] pre'];const Sh=Ft({setup:()=>{bh({selector:wh,locales:yh,duration:2e3,delay:500,showInMobile:!1})}}),Ch=Object.freeze(Object.defineProperty({__proto__:null,default:Sh},Symbol.toStringTag,{value:"Module"}));/** - * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT - */const ae={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=ae.isStarted();e=po(e,ae.settings.minimum,1),ae.status=e===1?null:e;const n=ae.render(!t),r=n.querySelector(ae.settings.barSelector),o=ae.settings.speed,s=ae.settings.easing;return n.offsetWidth,Ph(i=>{_r(r,{transform:"translate3d("+yi(e)+"%,0,0)",transition:"all "+o+"ms "+s}),e===1?(_r(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(()=>{_r(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(()=>{ae.remove(),i()},o)},o)):setTimeout(()=>i(),o)}),ae},isStarted:()=>typeof ae.status=="number",start:()=>{ae.status||ae.set(0);const e=()=>{setTimeout(()=>{ae.status&&(ae.trickle(),e())},ae.settings.trickleSpeed)};return ae.settings.trickle&&e(),ae},done:e=>!e&&!ae.status?ae:ae.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=ae.status;return t?(typeof e!="number"&&(e=(1-t)*po(Math.random()*t,.1,.95)),t=po(t+e,0,.994),ae.set(t)):ae.start()},trickle:()=>ae.inc(Math.random()*ae.settings.trickleRate),render:e=>{if(ae.isRendered())return document.getElementById("nprogress");wi(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=ae.settings.template;const n=t.querySelector(ae.settings.barSelector),r=e?"-100":yi(ae.status||0),o=document.querySelector(ae.settings.parent);return _r(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&wi(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{Si(document.documentElement,"nprogress-busy"),Si(document.querySelector(ae.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&kh(e)},isRendered:()=>!!document.getElementById("nprogress")},po=(e,t,n)=>en?n:e,yi=e=>(-1+e)*100,Ph=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),_r=function(){const e=["Webkit","O","Moz","ms"],t={};function n(i){return i.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(l,a){return a.toUpperCase()})}function r(i){const l=document.body.style;if(i in l)return i;let a=e.length;const c=i.charAt(0).toUpperCase()+i.slice(1);let f;for(;a--;)if(f=e[a]+c,f in l)return f;return i}function o(i){return i=n(i),t[i]??(t[i]=r(i))}function s(i,l,a){l=o(l),i.style[l]=a}return function(i,l){for(const a in l){const c=l[a];c!==void 0&&Object.prototype.hasOwnProperty.call(l,a)&&s(i,a,c)}}}(),Zl=(e,t)=>(typeof e=="string"?e:cs(e)).indexOf(" "+t+" ")>=0,wi=(e,t)=>{const n=cs(e),r=n+t;Zl(n,t)||(e.className=r.substring(1))},Si=(e,t)=>{const n=cs(e);if(!Zl(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},cs=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),kh=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},Lh=()=>{qe(()=>{const e=tn(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ae.start()}),e.afterEach(n=>{t.add(n.path),ae.done()})})},Eh=Ft({setup(){Lh()}}),xh=Object.freeze(Object.defineProperty({__proto__:null,default:Eh},Symbol.toStringTag,{value:"Module"})),Ah=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Th=JSON.parse(`{"repo":"https://git.pleshevski.ru/pleshevskiy/pleshevski.ru","locales":{"/":{"selectLanguageName":"Русский","navbar":["/","/works"],"notFound":["Верните страницу!","Мы потеряли страницу...","Вы заблокированы в лабиринте.","Искали кота?","Страница украдена.","Ошиблись в параллельной вселенной."],"backToHome":"Вернуться на главную","worksTable":{"name":"Название","description":"Описание","role":"Роль","technologies":"Технологии","status":"Статус","dates":"Даты"}},"/eng/":{"selectLanguageName":"English","navbar":["/eng/","/eng/works"],"notFound":["Return the page!","We lost a page...","You're blocked in a labyrinth.","Looking for a cat?","The page has been stolen.","Wrong turn in parallel universe."],"backToHome":"Back to home","worksTable":{"name":"Name","description":"Description","role":"Role","technologies":"Technologies","status":"Status","dates":"Dates"}}},"colorMode":"auto","colorModeSwitch":true,"navbar":[],"logo":null,"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","sidebar":"heading","sidebarDepth":2,"editLink":true,"editLinkText":"Edit this page","lastUpdated":true,"lastUpdatedText":"Last Updated","contributors":true,"contributorsText":"Contributors","notFound":["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],"backToHome":"Take me home","openInNewWindow":"open in new window","toggleColorMode":"toggle color mode","toggleSidebar":"toggle sidebar"}`),Rh=ue(Th),ea=()=>Rh,ta=Symbol(""),Dh=()=>{const e=We(ta);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Oh=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Ih=Ft({enhance({app:e}){const t=ea(),n=e._context.provides[es],r=T(()=>Oh(t.value,n.routeLocale.value));e.provide(ta,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Mh=Object.freeze(Object.defineProperty({__proto__:null,default:Ih},Symbol.toStringTag,{value:"Module"})),$h=()=>ea(),Re=()=>Dh(),na=Symbol(""),Nh=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.classList.toggle("dark",n),r.dataset.theme=n?"dark":"light"};qe(()=>{Ne(e,t,{immediate:!0})}),Fr(()=>t())},us=()=>{const e=We(na);if(!e)throw new Error("useDarkMode() is called without provider.");return e},Hh=()=>{const e=Re(),t=Jd(),n=as("vuepress-color-scheme",e.value.colorMode),r=T({get(){return e.value.colorModeSwitch?n.value==="auto"?t.value:n.value==="dark":e.value.colorMode==="dark"},set(o){o===t.value?n.value="auto":n.value=o?"dark":"light"}});Xt(na,r),Nh(r)};let go=null,An=null;const Vh={wait:()=>go,pending:()=>{go=new Promise(e=>An=e)},resolve:()=>{An==null||An(),go=null,An=null}},ra=()=>Vh,bn=(e,t)=>{const{notFound:n,meta:r,path:o}=qn(e,t);return n?{text:o,link:o}:{text:r.title||o,link:o}},Ci=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),jh=(e,t)=>{if(t.hash===e)return!0;const n=Ci(t.path),r=Ci(e);return n===r},oa=(e,t)=>e.link&&jh(e.link,t)?!0:"children"in e?e.children.some(n=>oa(n,t)):!1,sa=e=>!nf(e)&&!or(e),ia=e=>!Kr(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,Fh={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},Bh=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=ia(e);return n!==null?Fh[n]:null},Wh=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Bh({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,Kr(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,Ol(`${Dl(n)}/${r}`)):null},gn=(e="",t="")=>Xl(t)||or(t)?t:`${df(e)}${t}`,Sr=ue([]),Uh=()=>{const e=tn(),t=Re(),n=at(),r=T(()=>n.value.sidebarDepth??t.value.sidebarDepth??2);e.beforeEach((s,i)=>{s.path!==i.path&&(Sr.value=[])});const o=()=>{if(r.value<=0){Sr.value=[];return}Sr.value=uh({selector:[...new Array(6)].map((s,i)=>`.theme-default-content h${i+1}`).join(","),levels:[2,r.value+1],ignore:[".vp-badge"]})};Ne(r,o),qe(o)},Kh=()=>Sr,la=Symbol("sidebarItems"),fs=()=>{const e=We(la);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},Gh=()=>{const e=Re(),t=at(),n=Sn(),r=St(),o=sr(),s=Kh(),i=T(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),l=T(()=>qh(i.value,n.value,r.path,o.value,s.value));Xt(la,l)},qh=(e,t,n,r,o)=>e===!1?[]:e==="heading"?aa(t,o):Array.isArray(e)?ca(e,o,n,r):Yo(e)?Jh(e,t,o,n):[],zh=e=>({text:e.title,link:e.link,children:ds(e.children)}),ds=e=>e?e.map(t=>zh(t)):[],aa=(e,t)=>[{text:e.title,children:ds(t)}],ca=(e,t,n,r="")=>{const o=(s,i)=>{var a;const l=st(s)?bn(gn(i,s)):st(s.link)?{...s,link:sa(s.link)?bn(gn(i,s.link)).link:s.link}:s;if("children"in l)return{...l,children:l.children.map(c=>o(c,gn(i,l.prefix)))};if(l.link===n){const c=((a=t[0])==null?void 0:a.level)===1?t[0].children:t;return{...l,children:ds(c)}}return l};return e.map(s=>o(s,r))},Jh=(e,t,n,r)=>{const o=hh(e).sort((s,i)=>i.length-s.length);for(const s of o)if(Yl(decodeURI(r),s)){const i=e[s];return i?i==="heading"?aa(t,n):ca(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},Qh=he({__name:"Badge",props:{type:{default:"tip"},text:{default:""},vertical:{default:void 0}},setup(e,{expose:t}){t();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),we=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n};function Yh(e,t,n,r,o,s){return $(),Y("span",{class:Be(["vp-badge",n.type]),style:Yn({verticalAlign:n.vertical})},[Le(e.$slots,"default",{},()=>[$t(le(n.text),1)])],6)}const Xh=we(Qh,[["render",Yh],["__file","Badge.vue"]]),Zh=he({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=ue([]),r=ue(-1),o=as("vuepress-code-group",{}),s=T(()=>n.value.map(c=>c.innerText).join(","));qe(()=>{Ne(()=>o.value[s.value],(c=-1)=>{r.value!==c&&(r.value=c)},{immediate:!0}),Ne(r,c=>{o.value[s.value]!==c&&(o.value[s.value]=c)})});const i=(c=r.value)=>{c{c>0?r.value=c-1:r.value=n.value.length-1,n.value[r.value].focus()},a=(c,f)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),r.value=f):c.key==="ArrowRight"?(c.preventDefault(),i(f)):c.key==="ArrowLeft"&&(c.preventDefault(),l(f))};return()=>{var f;const c=(((f=t.default)==null?void 0:f.call(t))||[]).filter(u=>u.type.name==="CodeGroupItem").map(u=>(u.props===null&&(u.props={}),u));return c.length===0?null:(r.value<0||r.value>c.length-1?(r.value=c.findIndex(u=>u.props.active===""||u.props.active===!0),r.value===-1&&(r.value=0)):c.forEach((u,p)=>{u.props.active=p===r.value}),ke("div",{class:"code-group"},[ke("div",{class:"code-group-nav",role:"tablist"},c.map((u,p)=>{const g=p===r.value;return ke("button",{ref:_=>{_&&(n.value[p]=_)},class:{"code-group-nav-tab":!0,active:g},role:"tab",ariaSelected:g,onClick:()=>r.value=p,onKeydown:_=>a(_,p)},u.props.title)})),c]))}}}),ep=he({name:"CodeGroupItem",__name:"CodeGroupItem",props:{title:{},active:{type:Boolean}},setup(e,{expose:t}){t();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}});function tp(e,t,n,r,o,s){return $(),Y("div",{class:Be(["code-group-item",{active:n.active}]),role:"tabpanel"},[Le(e.$slots,"default")],2)}const np=we(ep,[["render",tp],["__file","CodeGroupItem.vue"]]),rp=he({__name:"VPHomeFeatures",setup(e,{expose:t}){t();const n=at(),r=T(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),op={key:0,class:"vp-features"};function sp(e,t,n,r,o,s){return r.features.length?($(),Y("div",op,[($(!0),Y(be,null,bt(r.features,i=>($(),Y("div",{key:i.title,class:"vp-feature"},[W("h2",null,le(i.title),1),W("p",null,le(i.details),1)]))),128))])):Ae("",!0)}const ip=we(rp,[["render",sp],["__file","VPHomeFeatures.vue"]]),lp=he({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=at(),r=T(()=>n.value.footer),o=T(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),ap=["innerHTML"],cp=["textContent"];function up(e,t,n,r,o,s){return r.footer?($(),Y(be,{key:0},[r.footerHtml?($(),Y("div",{key:0,class:"vp-footer",innerHTML:r.footer},null,8,ap)):($(),Y("div",{key:1,class:"vp-footer",textContent:le(r.footer)},null,8,cp))],64)):Ae("",!0)}const fp=we(lp,[["render",up],["__file","VPHomeFooter.vue"]]),dp=he({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=at(),r=ts(),o=us(),s=T(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),i=T(()=>n.value.heroAlt||a.value||"hero"),l=T(()=>n.value.heroHeight||280),a=T(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),c=T(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),f=T(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:g,link:_,type:y="primary"})=>({text:g,link:_,type:y})):[]),p={frontmatter:n,siteLocale:r,isDarkMode:o,heroImage:s,heroAlt:i,heroHeight:l,heroText:a,tagline:c,actions:f,HomeHeroImage:()=>{if(!s.value)return null;const g=ke("img",{class:"vp-hero-image",src:os(s.value),alt:i.value,height:l.value});return n.value.heroImageDark===void 0?g:ke(ns,()=>g)},get AutoLink(){return Cn}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),hp={class:"vp-hero"},pp={key:0,id:"main-title"},gp={key:1,class:"vp-hero-description"},mp={key:2,class:"vp-hero-actions"};function vp(e,t,n,r,o,s){return $(),Y("header",hp,[te(r.HomeHeroImage),r.heroText?($(),Y("h1",pp,le(r.heroText),1)):Ae("",!0),r.tagline?($(),Y("p",gp,le(r.tagline),1)):Ae("",!0),r.actions.length?($(),Y("p",mp,[($(!0),Y(be,null,bt(r.actions,i=>($(),Ee(r.AutoLink,{key:i.text,class:Be(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):Ae("",!0)])}const _p=we(dp,[["render",vp],["__file","VPHomeHero.vue"]]),bp=he({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:ip,VPHomeFooter:fp,VPHomeHero:_p,get Content(){return rs}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),yp={class:"vp-home"},wp={class:"theme-default-content"};function Sp(e,t,n,r,o,s){return $(),Y("main",yp,[te(r.VPHomeHero),te(r.VPHomeFeatures),W("div",wp,[te(r.Content)]),te(r.VPHomeFooter)])}const Cp=we(bp,[["render",Sp],["__file","VPHome.vue"]]),Pp="719px",kp={mobile:Pp};var zn;(function(e){e.MOBILE="mobile"})(zn||(zn={}));const Lp={[zn.MOBILE]:Number.parseInt(kp.mobile.replace("px",""),10)},ua=(e,t)=>{const n=Lp[e];Number.isInteger(n)&&(lt("orientationchange",()=>t(n),!1),lt("resize",()=>t(n),!1),qe(()=>{t(n)}))},Ep=he({__name:"VPNavbarBrand",setup(e,{expose:t}){t();const n=sr(),r=ts(),o=Re(),s=us(),i=T(()=>o.value.home||n.value),l=T(()=>r.value.title),a=T(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),c=T(()=>o.value.logoAlt??l.value),f=T(()=>l.value.toLocaleUpperCase().trim()===c.value.toLocaleUpperCase().trim()),p={routeLocale:n,siteLocale:r,themeLocale:o,isDarkMode:s,navbarBrandLink:i,navbarBrandTitle:l,navbarBrandLogo:a,navbarBrandLogoAlt:c,navBarLogoAltMatchesTitle:f,NavbarBrandLogo:()=>{if(!a.value)return null;const g=ke("img",{class:"vp-site-logo",src:os(a.value),alt:c.value});return o.value.logoDark===void 0?g:ke(ns,()=>g)},get RouteLink(){return zr}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),xp=["aria-hidden"];function Ap(e,t,n,r,o,s){return $(),Ee(r.RouteLink,{to:r.navbarBrandLink},{default:xe(()=>[te(r.NavbarBrandLogo),r.navbarBrandTitle?($(),Y("span",{key:0,class:Be(["vp-site-name",{"vp-hide-mobile":r.navbarBrandLogo}]),"aria-hidden":r.navBarLogoAltMatchesTitle},le(r.navbarBrandTitle),11,xp)):Ae("",!0)]),_:1},8,["to"])}const Tp=we(Ep,[["render",Ap],["__file","VPNavbarBrand.vue"]]),fa=(e,t="")=>st(e)?bn(gn(t,e)):"children"in e?{...e,children:e.children.map(n=>fa(n,gn(t,e.prefix)))}:{...e,link:sa(e.link)?bn(gn(t,e.link)).link:e.link},Rp=()=>{const e=Re();return T(()=>(e.value.navbar||[]).map(t=>fa(t)))},Dp=()=>{const e=Re(),t=T(()=>e.value.repo),n=T(()=>t.value?ia(t.value):null),r=T(()=>t.value&&!Kr(t.value)?`https://github.com/${t.value}`:t.value),o=T(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return T(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},Op=()=>{const e=St(),t=ah(),n=sr(),r=Kl(),o=ts(),s=$h(),i=Re();return T(()=>{const l=Object.keys(r.value.locales);if(l.length<2)return[];const a=e.path,c=e.fullPath;return[{text:`${i.value.selectLanguageText}`,ariaLabel:`${i.value.selectLanguageAriaLabel??i.value.selectLanguageText}`,children:l.map(u=>{var A,b;const p=((A=r.value.locales)==null?void 0:A[u])??{},g=((b=s.value.locales)==null?void 0:b[u])??{},_=`${p.lang}`,y=g.selectLanguageName??_;if(_===o.value.lang)return{text:y,activeMatch:".",link:e.fullPath};const k=a.replace(n.value,u);return{text:y,link:t.value.some(m=>m===k)?c.replace(a,k):g.home??u}})}]})},Ip=he({__name:"VPDropdownTransition",setup(e,{expose:t}){t();const o={setHeight:s=>{s.style.height=s.scrollHeight+"px"},unsetHeight:s=>{s.style.height=""}};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function Mp(e,t,n,r,o,s){return $(),Ee(rr,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:xe(()=>[Le(e.$slots,"default")]),_:3})}const da=we(Ip,[["render",Mp],["__file","VPDropdownTransition.vue"]]),$p=he({__name:"VPNavbarDropdown",props:{item:{}},setup(e,{expose:t}){t();const n=e,{item:r}=Yi(n),o=St(),s=ue(!1),i=T(()=>r.value.ariaLabel||r.value.text),l=(f,u)=>u[u.length-1]===f,a=f=>{const u=f.detail===0;s.value=u?!s.value:!1};Ne(()=>o.path,()=>{s.value=!1});const c={props:n,item:r,route:o,open:s,dropdownAriaLabel:i,isLastItemOfArray:l,handleDropdown:a,VPDropdownTransition:da,get AutoLink(){return Cn}};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}),Np=["aria-label"],Hp={class:"title"},Vp=W("span",{class:"arrow down"},null,-1),jp=["aria-label"],Fp={class:"title"},Bp={class:"vp-navbar-dropdown"},Wp={class:"vp-navbar-dropdown-subtitle"},Up={key:1},Kp={class:"vp-navbar-dropdown-subitem-wrapper"};function Gp(e,t,n,r,o,s){return $(),Y("div",{class:Be(["vp-navbar-dropdown-wrapper",{open:r.open}])},[W("button",{class:"vp-navbar-dropdown-title",type:"button","aria-label":r.dropdownAriaLabel,onClick:r.handleDropdown},[W("span",Hp,le(r.item.text),1),Vp],8,Np),W("button",{class:"vp-navbar-dropdown-title-mobile",type:"button","aria-label":r.dropdownAriaLabel,onClick:t[0]||(t[0]=i=>r.open=!r.open)},[W("span",Fp,le(r.item.text),1),W("span",{class:Be(["arrow",r.open?"down":"right"])},null,2)],8,jp),te(r.VPDropdownTransition,null,{default:xe(()=>[Lr(W("ul",Bp,[($(!0),Y(be,null,bt(r.item.children,i=>($(),Y("li",{key:i.text,class:"vp-navbar-dropdown-item"},["children"in i?($(),Y(be,{key:0},[W("h4",Wp,[i.link?($(),Ee(r.AutoLink,{key:0,config:i,onFocusout:l=>r.isLastItemOfArray(i,r.item.children)&&i.children.length===0&&(r.open=!1)},null,8,["config","onFocusout"])):($(),Y("span",Up,le(i.text),1))]),W("ul",Kp,[($(!0),Y(be,null,bt(i.children,l=>($(),Y("li",{key:l.link,class:"vp-navbar-dropdown-subitem"},[te(r.AutoLink,{config:l,onFocusout:a=>r.isLastItemOfArray(l,i.children)&&r.isLastItemOfArray(i,r.item.children)&&(r.open=!1)},null,8,["config","onFocusout"])]))),128))])],64)):($(),Ee(r.AutoLink,{key:1,config:i,onFocusout:l=>r.isLastItemOfArray(i,r.item.children)&&(r.open=!1)},null,8,["config","onFocusout"]))]))),128))],512),[[Or,r.open]])]),_:1})],2)}const qp=we($p,[["render",Gp],["__file","VPNavbarDropdown.vue"]]),zp=he({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=Rp(),r=Op(),o=Dp(),s=ue(!1),i=T(()=>Re().value.navbarLabel??"site navigation"),l=T(()=>[...n.value,...r.value,...o.value]);ua(zn.MOBILE,c=>{s.value=window.innerWidth($(),Y("div",{key:i.text,class:"vp-navbar-item"},["children"in i?($(),Ee(r.VPNavbarDropdown,{key:0,class:Be({mobile:r.isMobile}),item:i},null,8,["class","item"])):($(),Ee(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,Jp)):Ae("",!0)}const ha=we(zp,[["render",Qp],["__file","VPNavbarItems.vue"]]),Yp={},Xp={class:"dark-icon",viewBox:"0 0 32 32"},Zp=W("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1),eg=[Zp];function tg(e,t){return $(),Y("svg",Xp,eg)}const ng=we(Yp,[["render",tg],["__file","VPDarkIcon.vue"]]),rg={},og={class:"light-icon",viewBox:"0 0 32 32"},sg=du('',9),ig=[sg];function lg(e,t){return $(),Y("svg",og,ig)}const ag=we(rg,[["render",lg],["__file","VPLightIcon.vue"]]),cg=he({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=Re(),r=us(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:ng,VPLightIcon:ag};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),ug=["title"];function fg(e,t,n,r,o,s){return $(),Y("button",{class:"vp-toggle-color-mode-button",title:r.themeLocale.toggleColorMode,onClick:r.toggleColorMode},[Lr(te(r.VPLightIcon,null,null,512),[[Or,!r.isDarkMode]]),Lr(te(r.VPDarkIcon,null,null,512),[[Or,r.isDarkMode]])],8,ug)}const dg=we(cg,[["render",fg],["__file","VPToggleColorModeButton.vue"]]),hg=he({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:Re()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),pg=["title"],gg=W("div",{class:"icon","aria-hidden":"true"},[W("span"),W("span"),W("span")],-1),mg=[gg];function vg(e,t,n,r,o,s){return $(),Y("div",{class:"vp-toggle-sidebar-button",title:r.themeLocale.toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},mg,8,pg)}const _g=we(hg,[["render",vg],["__file","VPToggleSidebarButton.vue"]]),bg=he({__name:"VPNavbar",emits:["toggle-sidebar"],setup(e,{expose:t}){t();const n=Re(),r=ue(null),o=ue(null),s=ue(0),i=T(()=>s.value?{maxWidth:s.value+"px"}:{}),l=(c,f)=>{var g,_,y;const u=(y=(_=(g=c==null?void 0:c.ownerDocument)==null?void 0:g.defaultView)==null?void 0:_.getComputedStyle(c,null))==null?void 0:y[f],p=Number.parseInt(u,10);return Number.isNaN(p)?0:p};ua(zn.MOBILE,c=>{var u;const f=l(r.value,"paddingLeft")+l(r.value,"paddingRight");window.innerWidthe.$emit("toggle-sidebar"))}),W("span",wg,[te(r.VPNavbarBrand)],512),W("div",{class:"vp-navbar-items-wrapper",style:Yn(r.linksWrapperStyle)},[Le(e.$slots,"before"),te(r.VPNavbarItems,{class:"vp-hide-mobile"}),Le(e.$slots,"after"),r.themeLocale.colorModeSwitch?($(),Ee(r.VPToggleColorModeButton,{key:0})):Ae("",!0),te(i)],4)],512)}const Cg=we(bg,[["render",Sg],["__file","VPNavbar.vue"]]),Pg=()=>{const e=Re(),t=Sn(),n=at();return T(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},kg=()=>{const e=Re(),t=Sn(),n=at();return T(()=>{if(!(n.value.editLink??e.value.editLink??!0))return null;const{repo:o,docsRepo:s=o,docsBranch:i="main",docsDir:l="",editLinkText:a}=e.value;if(!s)return null;const c=Wh({docsRepo:s,docsBranch:i,docsDir:l,filePathRelative:t.value.filePathRelative,editLinkPattern:n.value.editLinkPattern??e.value.editLinkPattern});return c?{text:a??"Edit this page",link:c}:null})},Lg=()=>{const e=Re(),t=Sn(),n=at();return T(()=>{var s,i;return!(n.value.lastUpdated??e.value.lastUpdated??!0)||!((s=t.value.git)!=null&&s.updatedTime)?null:new Date((i=t.value.git)==null?void 0:i.updatedTime).toLocaleString()})},Eg={},xg={class:"edit-icon",viewBox:"0 0 1024 1024"},Ag=W("g",{fill:"currentColor"},[W("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),W("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})],-1),Tg=[Ag];function Rg(e,t){return $(),Y("svg",xg,Tg)}const Dg=we(Eg,[["render",Rg],["__file","VPEditIcon.vue"]]),Og=he({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=Re(),r=kg(),o=Lg(),s=Pg(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:Dg,get AutoLink(){return Cn}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),Ig={class:"vp-page-meta"},Mg={key:0,class:"vp-meta-item edit-link"},$g={class:"vp-meta-item git-info"},Ng={key:0,class:"vp-meta-item last-updated"},Hg={class:"meta-item-label"},Vg={class:"meta-item-info"},jg={key:1,class:"vp-meta-item contributors"},Fg={class:"meta-item-label"},Bg={class:"meta-item-info"},Wg=["title"];function Ug(e,t,n,r,o,s){const i=Go("ClientOnly");return $(),Y("footer",Ig,[r.editLink?($(),Y("div",Mg,[te(r.AutoLink,{class:"label",config:r.editLink},{before:xe(()=>[te(r.VPEditIcon)]),_:1},8,["config"])])):Ae("",!0),W("div",$g,[r.lastUpdated?($(),Y("div",Ng,[W("span",Hg,le(r.themeLocale.lastUpdatedText)+": ",1),te(i,null,{default:xe(()=>[W("span",Vg,le(r.lastUpdated),1)]),_:1})])):Ae("",!0),r.contributors&&r.contributors.length?($(),Y("div",jg,[W("span",Fg,le(r.themeLocale.contributorsText)+": ",1),W("span",Bg,[($(!0),Y(be,null,bt(r.contributors,(l,a)=>($(),Y(be,{key:a},[W("span",{class:"contributor",title:`email: ${l.email}`},le(l.name),9,Wg),a!==r.contributors.length-1?($(),Y(be,{key:0},[$t(", ")],64)):Ae("",!0)],64))),128))])])):Ae("",!0)])])}const Kg=we(Og,[["render",Ug],["__file","VPPageMeta.vue"]]),Gg=()=>{const e=tn(),t=St();return n=>{n&&(Xl(n)?t.path!==n&&e.push(n):or(n)?window==null||window.open(n):e.push(encodeURI(n)))}},Pi=(e,t)=>e===!1?!1:st(e)?bn(e,t):Yo(e)?{...e,link:bn(e.link,t).link}:null,Ro=(e,t,n)=>{const r=e.findIndex(s=>s.link===t);if(r!==-1){const s=e[r+n];return s?s.link?s:"prefix"in s&&!qn(s.prefix).notFound?{...s,link:s.prefix}:null:null}for(const s of e)if("children"in s){const i=Ro(s.children,t,n);if(i)return i}const o=e.findIndex(s=>"prefix"in s&&s.prefix===t);if(o!==-1){const s=e[o+n];return s?s.link?s:"prefix"in s&&!qn(s.prefix).notFound?{...s,link:s.prefix}:null:null}return null},qg=()=>{const e=at(),t=Re(),n=fs(),r=St(),o=T(()=>{const i=Pi(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:Ro(n.value,r.path,-1))}),s=T(()=>{const i=Pi(e.value.next,r.path);return i===!1?null:i??(t.value.next===!1?null:Ro(n.value,r.path,1))});return{prevLink:o,nextLink:s}},zg=he({__name:"VPPageNav",setup(e,{expose:t}){t();const n=Re(),r=Gg(),{prevLink:o,nextLink:s}=qg(),i=T(()=>Re().value.pageNavbarLabel??"page navigation");lt("keydown",a=>{a.altKey&&(a.key==="ArrowRight"?s.value&&(r(s.value.link),a.preventDefault()):a.key==="ArrowLeft"&&o.value&&(r(o.value.link),a.preventDefault()))});const l={themeLocale:n,navigate:r,prevLink:o,nextLink:s,navbarLabel:i,get AutoLink(){return Cn}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),Jg=["aria-label"],Qg={class:"hint"},Yg=W("span",{class:"arrow left"},null,-1),Xg={class:"link"},Zg={class:"hint"},em=W("span",{class:"arrow right"},null,-1),tm={class:"link"};function nm(e,t,n,r,o,s){return r.prevLink||r.nextLink?($(),Y("nav",{key:0,class:"vp-page-nav","aria-label":r.navbarLabel},[r.prevLink?($(),Ee(r.AutoLink,{key:0,class:"prev",config:r.prevLink},{default:xe(()=>[W("div",Qg,[Yg,$t(" "+le(r.themeLocale.prev??"Prev"),1)]),W("div",Xg,[W("span",null,le(r.prevLink.text),1)])]),_:1},8,["config"])):Ae("",!0),r.nextLink?($(),Ee(r.AutoLink,{key:1,class:"next",config:r.nextLink},{default:xe(()=>[W("div",Zg,[$t(le(r.themeLocale.next??"Next")+" ",1),em]),W("div",tm,[W("span",null,le(r.nextLink.text),1)])]),_:1},8,["config"])):Ae("",!0)],8,Jg)):Ae("",!0)}const rm=we(zg,[["render",nm],["__file","VPPageNav.vue"]]),om=he({__name:"VPPage",setup(e,{expose:t}){t(),Uh();const n={VPPageMeta:Kg,VPPageNav:rm,get Content(){return rs}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),sm={class:"vp-page"},im={class:"theme-default-content"};function lm(e,t,n,r,o,s){return $(),Y("main",sm,[Le(e.$slots,"top"),W("div",im,[Le(e.$slots,"content-top"),te(r.Content),Le(e.$slots,"content-bottom")]),te(r.VPPageMeta),te(r.VPPageNav),Le(e.$slots,"bottom")])}const am=we(om,[["render",lm],["__file","VPPage.vue"]]),cm=he({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=Yi(n),s=St(),i=tn(),l=T(()=>"collapsible"in r.value&&r.value.collapsible),a=T(()=>oa(r.value,s)),c=T(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:a.value,collapsible:l.value})),f=T(()=>l.value?a.value:!0),[u,p]=Fd(f.value),g=k=>{l.value&&(k.preventDefault(),p())},_=i.afterEach(k=>{wn(()=>{u.value=f.value})});Ko(()=>{_()});const y={props:n,item:r,depth:o,route:s,router:i,collapsible:l,isActive:a,itemClass:c,isOpenDefault:f,isOpen:u,toggleIsOpen:p,onClick:g,unregisterRouterHook:_,VPDropdownTransition:da,get AutoLink(){return Cn}};return Object.defineProperty(y,"__isScriptSetup",{enumerable:!1,value:!0}),y}}),um={class:"vp-sidebar-children"};function fm(e,t,n,r,o,s){const i=Go("VPSidebarItem",!0);return $(),Y("li",null,[r.item.link?($(),Ee(r.AutoLink,{key:0,class:Be(r.itemClass),config:r.item},null,8,["class","config"])):($(),Y("p",{key:1,tabindex:"0",class:Be(r.itemClass),onClick:r.onClick,onKeydown:Ju(r.onClick,["enter"])},[$t(le(r.item.text)+" ",1),r.collapsible?($(),Y("span",{key:0,class:Be(["arrow",r.isOpen?"down":"right"])},null,2)):Ae("",!0)],34)),"children"in r.item&&r.item.children.length?($(),Ee(r.VPDropdownTransition,{key:2},{default:xe(()=>[Lr(W("ul",um,[($(!0),Y(be,null,bt(r.item.children,l=>($(),Ee(i,{key:`${r.depth}${l.text}${l.link}`,item:l,depth:r.depth+1},null,8,["item","depth"]))),128))],512),[[Or,r.isOpen]])]),_:1})):Ae("",!0)])}const dm=we(cm,[["render",fm],["__file","VPSidebarItem.vue"]]),hm=he({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=St(),r=fs();qe(()=>{Ne(()=>n.hash,s=>{const i=document.querySelector(".vp-sidebar");if(!i)return;const l=document.querySelector(`.vp-sidebar a.vp-sidebar-item[href="${n.path}${s}"]`);if(!l)return;const{top:a,height:c}=i.getBoundingClientRect(),{top:f,height:u}=l.getBoundingClientRect();fa+c&&l.scrollIntoView(!1)})});const o={route:n,sidebarItems:r,VPSidebarItem:dm};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),pm={key:0,class:"vp-sidebar-items"};function gm(e,t,n,r,o,s){return r.sidebarItems.length?($(),Y("ul",pm,[($(!0),Y(be,null,bt(r.sidebarItems,i=>($(),Ee(r.VPSidebarItem,{key:`${i.text}${i.link}`,item:i},null,8,["item"]))),128))])):Ae("",!0)}const mm=we(hm,[["render",gm],["__file","VPSidebarItems.vue"]]),vm=he({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:ha,VPSidebarItems:mm};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),_m={class:"vp-sidebar"};function bm(e,t,n,r,o,s){return $(),Y("aside",_m,[te(r.VPNavbarItems),Le(e.$slots,"top"),te(r.VPSidebarItems),Le(e.$slots,"bottom")])}const ym=we(vm,[["render",bm],["__file","VPSidebar.vue"]]),wm=he({__name:"Layout",setup(e,{expose:t}){t();const n=Sn(),r=at(),o=Re(),s=T(()=>r.value.navbar!==!1&&o.value.navbar!==!1),i=fs(),l=ue(!1),a=m=>{l.value=typeof m=="boolean"?m:!l.value},c={x:0,y:0},f=m=>{c.x=m.changedTouches[0].clientX,c.y=m.changedTouches[0].clientY},u=m=>{const S=m.changedTouches[0].clientX-c.x,V=m.changedTouches[0].clientY-c.y;Math.abs(S)>Math.abs(V)&&Math.abs(S)>40&&(S>0&&c.x<=80?a(!0):a(!1))},p=T(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),g=T(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":l.value,"external-link-icon":p.value},r.value.pageClass]);let _;qe(()=>{_=tn().afterEach(()=>{a(!1)})}),Fr(()=>{_()});const y=ra(),k=y.resolve,A=y.pending,b={page:n,frontmatter:r,themeLocale:o,shouldShowNavbar:s,sidebarItems:i,isSidebarOpen:l,toggleSidebar:a,touchStart:c,onTouchStart:f,onTouchEnd:u,enableExternalLinkIcon:p,containerClass:g,get unregisterRouterHook(){return _},set unregisterRouterHook(m){_=m},scrollPromise:y,onBeforeEnter:k,onBeforeLeave:A,VPHome:Cp,VPNavbar:Cg,VPPage:am,VPSidebar:ym};return Object.defineProperty(b,"__isScriptSetup",{enumerable:!1,value:!0}),b}});function Sm(e,t,n,r,o,s){return $(),Y("div",{class:Be(["vp-theme-container",r.containerClass]),onTouchstart:r.onTouchStart,onTouchend:r.onTouchEnd},[Le(e.$slots,"navbar",{},()=>[r.shouldShowNavbar?($(),Ee(r.VPNavbar,{key:0,onToggleSidebar:r.toggleSidebar},{before:xe(()=>[Le(e.$slots,"navbar-before")]),after:xe(()=>[Le(e.$slots,"navbar-after")]),_:3})):Ae("",!0)]),W("div",{class:"vp-sidebar-mask",onClick:t[0]||(t[0]=i=>r.toggleSidebar(!1))}),Le(e.$slots,"sidebar",{},()=>[te(r.VPSidebar,null,{top:xe(()=>[Le(e.$slots,"sidebar-top")]),bottom:xe(()=>[Le(e.$slots,"sidebar-bottom")]),_:3})]),Le(e.$slots,"page",{},()=>[r.frontmatter.home?($(),Ee(r.VPHome,{key:0})):($(),Ee(rr,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:r.onBeforeEnter,onBeforeLeave:r.onBeforeLeave},{default:xe(()=>[($(),Ee(r.VPPage,{key:r.page.path},{top:xe(()=>[Le(e.$slots,"page-top")]),"content-top":xe(()=>[Le(e.$slots,"page-content-top")]),"content-bottom":xe(()=>[Le(e.$slots,"page-content-bottom")]),bottom:xe(()=>[Le(e.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34)}const pa=we(wm,[["render",Sm],["__file","Layout.vue"]]),Cm=he({__name:"NotFound",setup(e,{expose:t}){t();const n=sr(),r=Re(),o=r.value.notFound??["Not Found"],s=()=>o[Math.floor(Math.random()*o.length)],i=r.value.home??n.value,l=r.value.backToHome??"Back to home",a={routeLocale:n,themeLocale:r,messages:o,getMsg:s,homeLink:i,homeText:l,get RouteLink(){return zr}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Pm=e=>(fc("data-v-056523ff"),e=e(),dc(),e),km={class:"vp-theme-container"},Lm={class:"page"},Em={class:"theme-default-content"},xm=Pm(()=>W("h1",null,"404",-1));function Am(e,t,n,r,o,s){return $(),Y("div",km,[W("main",Lm,[W("div",Em,[xm,W("blockquote",null,le(r.getMsg()),1),te(r.RouteLink,{to:r.homeLink},{default:xe(()=>[$t(le(r.homeText),1)]),_:1},8,["to"])])])])}const Tm=we(Cm,[["render",Am],["__scopeId","data-v-056523ff"],["__file","NotFound.vue"]]),Rm=Ft({enhance({app:e,router:t}){ho("Badge")||e.component("Badge",Xh),ho("CodeGroup")||e.component("CodeGroup",Zh),ho("CodeGroupItem")||e.component("CodeGroupItem",np),e.component("VPSearch",()=>{const r=e.component("Docsearch")||e.component("SearchBox");return r?ke(r):null});const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await ra().wait(),n(...r))},setup(){Hh(),Gh()},layouts:{Layout:pa,NotFound:Tm}}),Dm=Object.freeze(Object.defineProperty({__proto__:null,default:Rm},Symbol.toStringTag,{value:"Module"})),Om=Object.entries;var Im={autoLocale:!1,switchLocale:!1,localeConfig:{"/eng/":["en-US"]},defaultLocale:"/eng/",localeFallback:!0,defaultBehavior:"defaultLocale"};const Mm=Im;Om(Mm.localeConfig);Xd("VUEPRESS_REDIRECT_LOCALES",{});const $m=Ft({setup(){},rootComponents:[]}),Nm=Object.freeze(Object.defineProperty({__proto__:null,default:$m},Symbol.toStringTag,{value:"Module"}));var ie=(e=>(e.Collaborator="collaborator",e.Author="author",e.TechLead="tech lead",e.TeamLead="team lead",e.Developer="developer",e))(ie||{}),de=(e=>(e.ActiveDeveloped="actively-developed",e.PassivelyMaintained="passively-maintained",e.AsIs="as-is",e.Experimental="experimental",e.LookingForMaintainer="looking-for-maintainer",e.Deprecated="deprecated",e))(de||{}),D=(e=>(e.C="C",e.Go="Go",e.JavaScript="JS",e.TypeScript="TS",e.Rust="Rust",e.Python="Python",e.Php="PHP",e.Deno="Deno",e.NodeJS="NodeJS",e.Flask="Flask",e.React="React",e.Antd="Antd",e.Postgresql="PostgreSQL",e.Docker="Docker",e.Drone="Drone CI",e.Woodpecker="Woodpecker CI",e.Bash="Bash",e.TreeSitter="TreeSitter",e.Nix="Nix",e.Lua="Lua",e.Sqlite="Sqlite",e.Vue="Vue",e.Vuepress="Vuepress",e.Godot="Godot",e.Haskell="Haskell",e))(D||{});const Hm=[{name:"picsg",url:"/pleshevskiy/picsg",description:"A tool for steganographing information in a picture encoded using the Vernam cipher.",roles:[ie.Author],technologies:[D.Haskell],startDate:new Date("2024-04-13"),endDate:new Date("2024-07-25"),status:de.AsIs},{name:"Mindustry tools",url:"/pleshevskiy/mindustry-tools",description:"Tools for the Mindustry game",roles:[ie.Author],technologies:[D.Nix,D.Godot],startDate:new Date("2024-01-07"),status:de.PassivelyMaintained},{name:"Master Progress Rosmintrud tools",url:"https://rosmintrud.masterprogress.ru",description:"Internal service to prepare documents for the rosmintrud (SPA)",roles:[ie.TechLead],technologies:[D.Deno,D.Sqlite,D.TypeScript,D.Vue,D.Docker,D.Woodpecker,D.Nix],startDate:new Date("2023-07-03"),status:de.PassivelyMaintained},{name:"yandexgpt_tg_bot",url:"/pleshevskiy/yandexgpt_tg_bot",description:"The Telegram bot to describe article with link by YandexGPT.",roles:[ie.Author],technologies:[D.JavaScript,D.NodeJS,D.Nix],startDate:new Date("2023-06-27"),endDate:new Date("2024-07-25"),status:de.AsIs},{name:"tree-sitter-plpgsql",url:"/pleshevskiy/tree-sitter-plpgsql",description:"plpgsql grammar for tree-sitter",roles:[ie.Author],technologies:[D.C,D.JavaScript,D.TreeSitter,D.Nix],startDate:new Date("2023-01-05"),status:de.PassivelyMaintained},{name:"wd2",url:"/pleshevskiy/wd2",description:"A wrapper over d2 which allows to use additional configs from d2 file",roles:[ie.Author],technologies:[D.Bash,D.Nix],startDate:new Date("2022-12-12"),endDate:new Date("2023-07-31"),status:de.AsIs},{name:"tree-sitter-d2",url:"/pleshevskiy/tree-sitter-d2",description:"d2 grammar for tree-sitter",roles:[ie.Author],technologies:[D.C,D.JavaScript,D.TreeSitter,D.Nix],startDate:new Date("2022-12-04"),status:de.ActiveDeveloped},{name:"nix2lua",url:"/mynix/nix2lua",description:"This is a small but functional library that converts your nix configurations into lua format.",roles:[ie.Author],technologies:[D.Nix,D.Lua],startDate:new Date("2022-11-22"),status:de.PassivelyMaintained},{name:"vnetod",url:"/pleshevskiy/vnetod",description:"Dotenv section switcher",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-07-29"),status:de.PassivelyMaintained},{name:"estring",url:"/pleshevskiy/estring",description:"A simple way to parse a string using type annotations.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-07-23"),endDate:new Date("2024-07-25"),status:de.AsIs},{name:"enve",url:"/pleshevskiy/enve",description:"It helps you work with environment variables and convert it to any type using only type annotations",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-07-18"),endDate:new Date("2024-07-25"),status:de.AsIs},{name:"docker stack drone plugin",url:"/pleshevskiy/docker_stack",description:"Deploy to production using `docker stack deploy`",roles:[ie.Author],technologies:[D.Docker,D.Drone,D.Woodpecker],startDate:new Date("2022-06-06"),endDate:new Date("2024-07-25"),status:de.AsIs},{name:"dexios",url:"/github/dexios",description:"Dexios is a fast, secure, and open source command-line encryption tool.",roles:[ie.Collaborator],technologies:[D.Rust],startDate:new Date("2022-06-01"),endDate:new Date("2023-02-28")},{name:"recipes",url:"/pleshevskiy/recipes",description:"Site with recipes which cares about privacy",roles:[ie.Author],technologies:[D.TypeScript,D.Deno,D.Rust],startDate:new Date("2022-05-04"),status:de.PassivelyMaintained},{name:"pleshevski.ru",url:"/pleshevskiy/pleshevski.ru",description:"Source code of my personal site",roles:[ie.Author],technologies:[D.TypeScript,D.Vue,D.Vuepress,D.Nix],startDate:new Date("2022-03-16"),status:de.PassivelyMaintained},{name:"paren",url:"/pleshevskiy/paren",description:"Library for parsing and rendering information.",roles:[ie.Author],technologies:[D.TypeScript,D.Deno],startDate:new Date("2022-03-14"),endDate:new Date("2024-07-25"),status:de.Experimental},{name:"hwt",url:"/pleshevskiy/hwt",description:"healthy workaholic timer – A tool that keeps you from breaking your health by working all day.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-02-04"),endDate:new Date("2024-07-25"),status:de.AsIs},{name:"ood_persistence",url:"/pleshevskiy/ood_persistence",description:"Asynchronous and synchronous interfaces and persistence implementations for your OOD architecture ",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2021-10-12"),endDate:new Date("2021-10-21"),status:de.Deprecated},{name:"migra",url:"/pleshevskiy/migra",description:"Simple SQL migration manager for your project.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2021-01-31"),endDate:new Date("2022-03-17"),status:de.AsIs},{name:"espruino-starter",url:"/pleshevskiy/espruino-starter",description:"Quickly start creating your new project on the espruino board or a board based on it.",roles:[ie.Author],technologies:[D.JavaScript],startDate:new Date("2021-08-23"),status:de.AsIs},{name:"react-rest-request",url:"/pleshevskiy/react-rest-request",description:"Minimalistic REST API client for React inspired by Apollo.",roles:[ie.Author],technologies:[D.TypeScript,D.React],startDate:new Date("2020-10-04"),endDate:new Date("2023-03-02"),status:de.Deprecated},{name:"sonic-channel",url:"/pleshevskiy/sonic-channel",description:"Rust client for sonic search backend.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2020-07-18"),status:de.PassivelyMaintained},{name:"itconfig",url:"/pleshevskiy/itconfig",description:"Easy build a configs from environment variables and use it in globally.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2019-12-22"),endDate:new Date("2022-07-24"),status:de.Deprecated},{name:"it-fsm",url:"/pleshevskiy/it-fsm",description:"Simple full-featured finite state machine for your project",roles:[ie.Author],technologies:[D.TypeScript,D.NodeJS,D.Deno],startDate:new Date("2019-10-11"),status:de.PassivelyMaintained},{name:"Cabinet Master Progress",url:"https://cabinet.masterprogress.ru",description:"Student's cabinet of the educational center Master Progress (SSR + SPA)",roles:[ie.TechLead],technologies:[D.Python,D.Flask,D.Postgresql,D.TypeScript,D.React,D.Docker,D.Woodpecker,D.Nix],startDate:new Date("2019-09-22"),status:de.PassivelyMaintained},{name:"genrss",url:"/pleshevskiy/genrss",description:"RSS generator for python",roles:[ie.Author],technologies:[D.Python],startDate:new Date("2019-07-23"),status:de.AsIs},{name:"marshmallow_pageinfo",url:"/pleshevskiy/marshmallow_pageinfo",description:"Page info marshmallow schema for api",roles:[ie.Author],technologies:[D.Python],startDate:new Date("2019-10-05"),endDate:new Date("2023-03-02"),status:de.AsIs},{name:"Binary Management",url:"https://www.binarymanagement.com",description:"Project management tool for interior designers",roles:[ie.Developer,ie.TechLead,ie.TeamLead],technologies:[D.TypeScript,D.NodeJS,D.React,D.Antd,D.Docker,D.Drone,D.Rust,D.Nix],startDate:new Date("2018-09-15"),status:de.ActiveDeveloped},{name:"Core Spirit",url:"https://corespirit.com",description:"Social platform focusing on human and planetary enhancement",roles:[ie.Developer],technologies:[D.TypeScript,D.NodeJS,D.Go,D.Python,D.React,D.Docker,D.Drone],startDate:new Date("2018-09-05"),endDate:new Date("2019-12-31")},{name:"Master Progress",url:"https://masterprogress.ru",description:"Main website of the educational center Master Progress (SSR + Forms)",roles:[ie.TechLead],technologies:[D.Python,D.Flask,D.JavaScript,D.Nix],startDate:new Date("2018-04-10"),status:de.PassivelyMaintained},{name:"ictmpl",url:"/pleshevskiy/ictmpl",description:"Generate projects from templates",roles:[ie.Author],technologies:[D.Python],startDate:new Date("2018-06-30"),endDate:new Date("2023-03-02"),status:de.AsIs},{name:"jjcrypto",url:"/pleshevskiy/jjcrypto",description:"Javascript encoder and decoder",roles:[ie.Author],technologies:[D.Php],startDate:new Date("2015-11-01"),endDate:new Date("2015-11-01"),status:de.AsIs}];function Vm(e){return e.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})}const jm=e=>e.url.startsWith("https://")?e.url:new URL(e.url,"https://git.pleshevski.ru").toString(),Fm=Object.freeze(Object.defineProperty({__proto__:null,getExternalLink:jm},Symbol.toStringTag,{value:"Module"}));function Tn(e){return(e==null?void 0:e.valueOf())??1/0}const Bm={name:"WorksPage",computed:{tableTheme(){return this.$themeLocale.worksTable??{}}}},Wm=he({...Bm,setup(e,{expose:t}){t();const n=T(()=>Hm.concat().sort((o,s)=>Tn(s.endDate)-Tn(o.endDate)||Tn(s.startDate)-Tn(o.startDate))),r={date2num:Tn,works:n,get renderDate(){return Vm},get w(){return Fm}};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Um=["href"],Km=["innerHTML"],Gm={key:0};function qm(e,t,n,r,o,s){return $(),Y("table",null,[W("thead",null,[W("tr",null,[W("th",null,le(s.tableTheme.name),1),W("th",null,le(s.tableTheme.description),1),W("th",null,le(s.tableTheme.role),1),W("th",null,le(s.tableTheme.technologies),1),W("th",null,le(s.tableTheme.status),1),W("th",null,le(s.tableTheme.dates),1)])]),W("tbody",null,[($(!0),Y(be,null,bt(r.works,i=>($(),Y("tr",null,[W("td",null,[W("a",{rel:"nofollow noopener",href:r.w.getExternalLink(i)},le(i.name),9,Um)]),W("td",null,le(i.description),1),W("td",{innerHTML:i.roles.join(", ")},null,8,Km),W("td",null,le(i.technologies.join(", ")),1),W("td",null,le(i.status),1),W("td",null,[W("div",null,[W("small",{class:Be({grey:i.endDate})},le(r.renderDate(i.startDate)),3)]),i.endDate?($(),Y("div",Gm,[W("small",null,le(r.renderDate(i.endDate)),1)])):Ae("",!0)])]))),256))])])}const zm=we(Wm,[["render",qm],["__file","ChronologicalWorksTable.vue"]]),Jm={__name:"WorksPage",setup(e,{expose:t}){t();const n={ParentLayout:pa,get ChronologicalWorksTable(){return zm}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},Qm={class:"works-table-wrapper"};function Ym(e,t,n,r,o,s){return $(),Ee(r.ParentLayout,null,{"page-bottom":xe(()=>[W("div",Qm,[te(r.ChronologicalWorksTable)])]),_:1})}const Xm=we(Jm,[["render",Ym],["__scopeId","data-v-765855fb"],["__file","WorksPage.vue"]]),Zm=Ft({layouts:{WorksPage:Xm}}),ev=Object.freeze(Object.defineProperty({__proto__:null,default:Zm},Symbol.toStringTag,{value:"Module"})),br=[lh,vh,Ch,xh,Ah,Mh,Dm,Nm,ev].map(e=>e.default).filter(Boolean),tv=JSON.parse('{"base":"/","lang":"ru-RU","title":"Дмитрий Плешевский","description":" ","head":[],"locales":{"/":{"lang":"ru-RU","title":"Дмитрий Плешевский"},"/eng/":{"lang":"en-US","title":"Dmitriy Pleshevskiy"}}}');var Dn=yn(tv),nv=qf,rv=()=>{const e=bd({history:nv(Dl("/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===mt){const r=qn(t.fullPath);if(r.path!==t.fullPath)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},ov=e=>{e.component("ClientOnly",ns),e.component("Content",rs),e.component("RouteLink",zr)},sv=(e,t,n)=>{const r=T(()=>t.currentRoute.value.path),o=nc((k,A)=>({get(){return k(),t.currentRoute.value.meta._pageChunk},set(b){t.currentRoute.value.meta._pageChunk=b,A()}})),s=T(()=>Kt.resolveLayouts(n)),i=T(()=>Kt.resolveRouteLocale(Dn.value.locales,r.value)),l=T(()=>Kt.resolveSiteLocaleData(Dn.value,i.value)),a=T(()=>o.value.comp),c=T(()=>o.value.data),f=T(()=>c.value.frontmatter),u=T(()=>Kt.resolvePageHeadTitle(c.value,l.value)),p=T(()=>Kt.resolvePageHead(u.value,f.value,l.value)),g=T(()=>Kt.resolvePageLang(c.value,l.value)),_=T(()=>Kt.resolvePageLayout(c.value,s.value)),y={layouts:s,pageData:c,pageComponent:a,pageFrontmatter:f,pageHead:p,pageHeadTitle:u,pageLang:g,pageLayout:_,redirects:Ao,routeLocale:i,routePath:r,routes:pn,siteData:Dn,siteLocaleData:l};return e.provide(es,y),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>u.value},$lang:{get:()=>g.value},$page:{get:()=>c.value},$routeLocale:{get:()=>i.value},$site:{get:()=>Dn.value},$siteLocale:{get:()=>l.value},$withBase:{get:()=>os}}),y},iv=()=>{const e=Sd(),t=Cd();let n=[];const r=()=>{e.value.forEach(i=>{const l=lv(i);l&&n.push(l)})},o=()=>{const i=[];return e.value.forEach(l=>{const a=av(l);a&&i.push(a)}),i},s=()=>{document.documentElement.lang=t.value;const i=o();n.forEach((l,a)=>{const c=i.findIndex(f=>l.isEqualNode(f));c===-1?(l.remove(),delete n[a]):i.splice(c,1)}),i.forEach(l=>document.head.appendChild(l)),n=[...n.filter(l=>!!l),...i]};Xt(Ld,s),qe(()=>{r(),Ne(e,s,{immediate:!1})})},lv=([e,t,n=""])=>{const r=Object.entries(t).map(([l,a])=>st(a)?`[${l}=${JSON.stringify(a)}]`:a===!0?`[${l}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(l=>l.innerText===n)||null},av=([e,t,n])=>{if(!st(e))return null;const r=document.createElement(e);return Yo(t)&&Object.entries(t).forEach(([o,s])=>{st(s)?r.setAttribute(o,s):s===!0&&r.setAttribute(o,"")}),st(n)&&r.appendChild(document.createTextNode(n)),r},cv=Xu,uv=async()=>{var n;const e=cv({name:"Vuepress",setup(){var s;iv();for(const i of br)(s=i.setup)==null||s.call(i);const r=br.flatMap(({rootComponents:i=[]})=>i.map(l=>ke(l))),o=Pd();return()=>[ke(o.value),r]}}),t=rv();ov(e),sv(e,t,br);for(const r of br)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:Dn}));return e.use(t),{app:e,router:t}};uv().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{we as _,W as a,$t as b,Y as c,uv as createVueApp,te as d,du as e,$ as o,Go as r,xe as w}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = [] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} diff --git a/dist/assets/app-YqJ2N5FF.js b/dist/assets/app-YqJ2N5FF.js new file mode 100644 index 0000000..31730f9 --- /dev/null +++ b/dist/assets/app-YqJ2N5FF.js @@ -0,0 +1,30 @@ +/** +* @vue/shared v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function No(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const Ce={},fn=[],nt=()=>{},Sa=()=>!1,Qn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ho=e=>e.startsWith("onUpdate:"),Ne=Object.assign,Vo=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ca=Object.prototype.hasOwnProperty,ce=(e,t)=>Ca.call(e,t),Z=Array.isArray,dn=e=>jr(e)==="[object Map]",Ri=e=>jr(e)==="[object Set]",ne=e=>typeof e=="function",Re=e=>typeof e=="string",jt=e=>typeof e=="symbol",be=e=>e!==null&&typeof e=="object",Oi=e=>(be(e)||ne(e))&&ne(e.then)&&ne(e.catch),Di=Object.prototype.toString,jr=e=>Di.call(e),Pa=e=>jr(e).slice(8,-1),Ii=e=>jr(e)==="[object Object]",jo=e=>Re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,hn=No(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Fr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ea=/-(\w)/g,Ye=Fr(e=>e.replace(Ea,(t,n)=>n?n.toUpperCase():"")),ka=/\B([A-Z])/g,Ft=Fr(e=>e.replace(ka,"-$1").toLowerCase()),Yn=Fr(e=>e.charAt(0).toUpperCase()+e.slice(1)),no=Fr(e=>e?`on${Yn(e)}`:""),$t=(e,t)=>!Object.is(e,t),ro=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},xa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},La=e=>{const t=Re(e)?Number(e):NaN;return isNaN(t)?e:t};let ys;const $i=()=>ys||(ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Xn(e){if(Z(e)){const t={};for(let n=0;n{if(n){const r=n.split(Ta);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function We(e){let t="";if(Re(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),ae=e=>Re(e)?e:e==null?"":Z(e)||be(e)&&(e.toString===Di||!ne(e.toString))?Hi(e)?ae(e.value):JSON.stringify(e,Vi,2):String(e),Vi=(e,t)=>Hi(t)?Vi(e,t.value):dn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[oo(r,s)+" =>"]=o,n),{})}:Ri(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>oo(n))}:jt(t)?oo(t):be(t)&&!Z(t)&&!Ii(t)?String(t):t,oo=(e,t="")=>{var n;return jt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Je;class Ma{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Je,!t&&Je&&(this.index=(Je.scopes||(Je.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Je;try{return Je=this,t()}finally{Je=n}}}on(){Je=this}off(){Je=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Wt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Dt,n=Zt;try{return Dt=!0,Zt=this,this._runnings++,ws(this),this.fn()}finally{Ss(this),this._runnings--,Zt=n,Dt=t}}stop(){this.active&&(ws(this),Ss(this),this.onStop&&this.onStop(),this.active=!1)}}function Na(e){return e.value}function ws(e){e._trackId++,e._depsLength=0}function Ss(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},Lr=new WeakMap,en=Symbol(""),Co=Symbol("");function qe(e,t,n){if(Dt&&Zt){let r=Lr.get(e);r||Lr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=Gi(()=>r.delete(n))),Wi(Zt,o)}}function bt(e,t,n,r,o,s){const i=Lr.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&Z(e)){const a=Number(r);i.forEach((u,f)=>{(f==="length"||!jt(f)&&f>=a)&&l.push(u)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":Z(e)?jo(n)&&l.push(i.get("length")):(l.push(i.get(en)),dn(e)&&l.push(i.get(Co)));break;case"delete":Z(e)||(l.push(i.get(en)),dn(e)&&l.push(i.get(Co)));break;case"set":dn(e)&&l.push(i.get(en));break}Wo();for(const a of l)a&&Ui(a,4);Uo()}function Ha(e,t){const n=Lr.get(e);return n&&n.get(t)}const Va=No("__proto__,__v_isRef,__isVue"),Ki=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(jt)),Cs=ja();function ja(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=ue(this);for(let s=0,i=this.length;s{e[t]=function(...n){Bt(),Wo();const r=ue(this)[t].apply(this,n);return Uo(),Wt(),r}}),e}function Fa(e){jt(e)||(e=String(e));const t=ue(this);return qe(t,"has",e),t.hasOwnProperty(e)}class qi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(o?s?ec:Yi:s?Qi:Ji).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=Z(t);if(!o){if(i&&ce(Cs,n))return Reflect.get(Cs,n,r);if(n==="hasOwnProperty")return Fa}const l=Reflect.get(t,n,r);return(jt(n)?Ki.has(n):Va(n))||(o||qe(t,"get",n),s)?l:He(l)?i&&jo(n)?l:l.value:be(l)?o?er(l):Zn(l):l}}class zi extends qi{constructor(t=!1){super(!1,t)}set(t,n,r,o){let s=t[n];if(!this._isShallow){const a=rn(s);if(!yn(r)&&!rn(r)&&(s=ue(s),r=ue(r)),!Z(t)&&He(s)&&!He(r))return a?!1:(s.value=r,!0)}const i=Z(t)&&jo(n)?Number(n)e,Br=e=>Reflect.getPrototypeOf(e);function ur(e,t,n=!1,r=!1){e=e.__v_raw;const o=ue(e),s=ue(t);n||($t(t,s)&&qe(o,"get",t),qe(o,"get",s));const{has:i}=Br(o),l=r?Go:n?zo:Fn;if(i.call(o,t))return l(e.get(t));if(i.call(o,s))return l(e.get(s));e!==o&&e.get(t)}function fr(e,t=!1){const n=this.__v_raw,r=ue(n),o=ue(e);return t||($t(e,o)&&qe(r,"has",e),qe(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function dr(e,t=!1){return e=e.__v_raw,!t&&qe(ue(e),"iterate",en),Reflect.get(e,"size",e)}function Ps(e,t=!1){!t&&!yn(e)&&!rn(e)&&(e=ue(e));const n=ue(this);return Br(n).has.call(n,e)||(n.add(e),bt(n,"add",e,e)),this}function Es(e,t,n=!1){!n&&!yn(t)&&!rn(t)&&(t=ue(t));const r=ue(this),{has:o,get:s}=Br(r);let i=o.call(r,e);i||(e=ue(e),i=o.call(r,e));const l=s.call(r,e);return r.set(e,t),i?$t(t,l)&&bt(r,"set",e,t):bt(r,"add",e,t),this}function ks(e){const t=ue(this),{has:n,get:r}=Br(t);let o=n.call(t,e);o||(e=ue(e),o=n.call(t,e)),r&&r.call(t,e);const s=t.delete(e);return o&&bt(t,"delete",e,void 0),s}function xs(){const e=ue(this),t=e.size!==0,n=e.clear();return t&&bt(e,"clear",void 0,void 0),n}function hr(e,t){return function(r,o){const s=this,i=s.__v_raw,l=ue(i),a=t?Go:e?zo:Fn;return!e&&qe(l,"iterate",en),i.forEach((u,f)=>r.call(o,a(u),a(f),s))}}function pr(e,t,n){return function(...r){const o=this.__v_raw,s=ue(o),i=dn(s),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,u=o[e](...r),f=n?Go:t?zo:Fn;return!t&&qe(s,"iterate",a?Co:en),{next(){const{value:c,done:p}=u.next();return p?{value:c,done:p}:{value:l?[f(c[0]),f(c[1])]:f(c),done:p}},[Symbol.iterator](){return this}}}}function Et(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ka(){const e={get(s){return ur(this,s)},get size(){return dr(this)},has:fr,add:Ps,set:Es,delete:ks,clear:xs,forEach:hr(!1,!1)},t={get(s){return ur(this,s,!1,!0)},get size(){return dr(this)},has:fr,add(s){return Ps.call(this,s,!0)},set(s,i){return Es.call(this,s,i,!0)},delete:ks,clear:xs,forEach:hr(!1,!0)},n={get(s){return ur(this,s,!0)},get size(){return dr(this,!0)},has(s){return fr.call(this,s,!0)},add:Et("add"),set:Et("set"),delete:Et("delete"),clear:Et("clear"),forEach:hr(!0,!1)},r={get(s){return ur(this,s,!0,!0)},get size(){return dr(this,!0)},has(s){return fr.call(this,s,!0)},add:Et("add"),set:Et("set"),delete:Et("delete"),clear:Et("clear"),forEach:hr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=pr(s,!1,!1),n[s]=pr(s,!0,!1),t[s]=pr(s,!1,!0),r[s]=pr(s,!0,!0)}),[e,n,t,r]}const[qa,za,Ja,Qa]=Ka();function Ko(e,t){const n=t?e?Qa:Ja:e?za:qa;return(r,o,s)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(ce(n,o)&&o in r?n:r,o,s)}const Ya={get:Ko(!1,!1)},Xa={get:Ko(!1,!0)},Za={get:Ko(!0,!1)};const Ji=new WeakMap,Qi=new WeakMap,Yi=new WeakMap,ec=new WeakMap;function tc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function nc(e){return e.__v_skip||!Object.isExtensible(e)?0:tc(Pa(e))}function Zn(e){return rn(e)?e:qo(e,!1,Wa,Ya,Ji)}function Xi(e){return qo(e,!1,Ga,Xa,Qi)}function er(e){return qo(e,!0,Ua,Za,Yi)}function qo(e,t,n,r,o){if(!be(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=o.get(e);if(s)return s;const i=nc(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return o.set(e,l),l}function pn(e){return rn(e)?pn(e.__v_raw):!!(e&&e.__v_isReactive)}function rn(e){return!!(e&&e.__v_isReadonly)}function yn(e){return!!(e&&e.__v_isShallow)}function Zi(e){return e?!!e.__v_raw:!1}function ue(e){const t=e&&e.__v_raw;return t?ue(t):e}function rc(e){return Object.isExtensible(e)&&Mi(e,"__v_skip",!0),e}const Fn=e=>be(e)?Zn(e):e,zo=e=>be(e)?er(e):e;class el{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Bo(()=>t(this._value),()=>Mn(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=ue(this);return(!t._cacheable||t.effect.dirty)&&$t(t._value,t._value=t.effect.run())&&Mn(t,4),Jo(t),t.effect._dirtyLevel>=2&&Mn(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function oc(e,t,n=!1){let r,o;const s=ne(e);return s?(r=e,o=nt):(r=e.get,o=e.set),new el(r,o,s||!o,n)}function Jo(e){var t;Dt&&Zt&&(e=ue(e),Wi(Zt,(t=e.dep)!=null?t:e.dep=Gi(()=>e.dep=void 0,e instanceof el?e:void 0)))}function Mn(e,t=4,n,r){e=ue(e);const o=e.dep;o&&Ui(o,t)}function He(e){return!!(e&&e.__v_isRef===!0)}function le(e){return tl(e,!1)}function yt(e){return tl(e,!0)}function tl(e,t){return He(e)?e:new sc(e,t)}class sc{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:ue(t),this._value=n?t:Fn(t)}get value(){return Jo(this),this._value}set value(t){const n=this.__v_isShallow||yn(t)||rn(t);t=n?t:ue(t),$t(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:Fn(t),Mn(this,4))}}function It(e){return He(e)?e.value:e}const ic={get:(e,t,n)=>It(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return He(o)&&!He(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function nl(e){return pn(e)?e:new Proxy(e,ic)}class lc{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Jo(this),()=>Mn(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function ac(e){return new lc(e)}function rl(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=ol(e,n);return t}class cc{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,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 Ha(ue(this._object),this._key)}}class uc{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function fc(e,t,n){return He(e)?e:ne(e)?new uc(e):be(e)&&arguments.length>1?ol(e,t,n):le(e)}function ol(e,t,n){const r=e[t];return He(r)?r:new cc(e,t,n)}/** +* @vue/runtime-core v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Mt(e,t,n,r){try{return r?e(...r):e()}catch(o){tr(o,t,n)}}function rt(e,t,n,r){if(ne(e)){const o=Mt(e,t,n,r);return o&&Oi(o)&&o.catch(s=>{tr(s,t,n)}),o}if(Z(e)){const o=[];for(let s=0;s>>1,o=Ve[r],s=Wn(o);sht&&Ve.splice(t,1)}function gc(e){Z(e)?gn.push(...e):(!Lt||!Lt.includes(e,e.allowRecurse?Qt+1:Qt))&&gn.push(e),il()}function Ls(e,t,n=Bn?ht+1:0){for(;nWn(n)-Wn(r));if(gn.length=0,Lt){Lt.push(...t);return}for(Lt=t,Qt=0;Qte.id==null?1/0:e.id,mc=(e,t)=>{const n=Wn(e)-Wn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ll(e){Po=!1,Bn=!0,Ve.sort(mc);try{for(ht=0;ht{r._d&&Vs(-1);const s=Tr(t);let i;try{i=e(...o)}finally{Tr(s),r._d&&Vs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Rr(e,t){if($e===null)return e;const n=zr($e),r=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Yo(()=>{e.isUnmounting=!0}),e}const Ze=[Function,Array],al={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ze,onEnter:Ze,onAfterEnter:Ze,onEnterCancelled:Ze,onBeforeLeave:Ze,onLeave:Ze,onAfterLeave:Ze,onLeaveCancelled:Ze,onBeforeAppear:Ze,onAppear:Ze,onAfterAppear:Ze,onAppearCancelled:Ze},cl=e=>{const t=e.subTree;return t.component?cl(t.component):t},yc={name:"BaseTransition",props:al,setup(e,{slots:t}){const n=rr(),r=bc();return()=>{const o=t.default&&fl(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){for(const p of o)if(p.type!==Be){s=p;break}}const i=ue(e),{mode:l}=i;if(r.isLeaving)return so(s);const a=As(s);if(!a)return so(s);let u=Eo(a,i,r,n,p=>u=p);Or(a,u);const f=n.subTree,c=f&&As(f);if(c&&c.type!==Be&&!Yt(a,c)&&cl(n).type!==Be){const p=Eo(c,i,r,n);if(Or(c,p),l==="out-in"&&a.type!==Be)return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},so(s);l==="in-out"&&a.type!==Be&&(p.delayLeave=(g,_,y)=>{const P=ul(r,c);P[String(c.key)]=c,g[At]=()=>{_(),g[At]=void 0,delete u.delayedLeave},u.delayedLeave=y})}return s}}},wc=yc;function ul(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Eo(e,t,n,r,o){const{appear:s,mode:i,persisted:l=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:f,onEnterCancelled:c,onBeforeLeave:p,onLeave:g,onAfterLeave:_,onLeaveCancelled:y,onBeforeAppear:P,onAppear:A,onAfterAppear:b,onAppearCancelled:m}=t,S=String(e.key),V=ul(n,e),O=(F,w)=>{F&&rt(F,r,9,w)},G=(F,w)=>{const $=w[1];O(F,w),Z(F)?F.every(x=>x.length<=1)&&$():F.length<=1&&$()},Q={mode:i,persisted:l,beforeEnter(F){let w=a;if(!n.isMounted)if(s)w=P||a;else return;F[At]&&F[At](!0);const $=V[S];$&&Yt(e,$)&&$.el[At]&&$.el[At](),O(w,[F])},enter(F){let w=u,$=f,x=c;if(!n.isMounted)if(s)w=A||u,$=b||f,x=m||c;else return;let ee=!1;const me=F[gr]=ve=>{ee||(ee=!0,ve?O(x,[F]):O($,[F]),Q.delayedLeave&&Q.delayedLeave(),F[gr]=void 0)};w?G(w,[F,me]):me()},leave(F,w){const $=String(e.key);if(F[gr]&&F[gr](!0),n.isUnmounting)return w();O(p,[F]);let x=!1;const ee=F[At]=me=>{x||(x=!0,w(),me?O(y,[F]):O(_,[F]),F[At]=void 0,V[$]===e&&delete V[$])};V[$]=e,g?G(g,[F,ee]):ee()},clone(F){const w=Eo(F,t,n,r,o);return o&&o(w),w}};return Q}function so(e){if(nr(e))return e=Nt(e),e.children=null,e}function As(e){if(!nr(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ne(n.default))return n.default()}}function Or(e,t){e.shapeFlag&6&&e.component?Or(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 fl(e,t=!1,n){let r=[],o=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function Sc(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:s,suspensible:i=!0,onError:l}=e;let a=null,u,f=0;const c=()=>(f++,a=null,p()),p=()=>{let g;return a||(g=a=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((y,P)=>{l(_,()=>y(c()),()=>P(_),f+1)});throw _}).then(_=>g!==a&&a?a:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),u=_,_)))};return de({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return u},setup(){const g=Me;if(u)return()=>io(u,g);const _=b=>{a=null,tr(b,g,13,!r)};if(i&&g.suspense||sr)return p().then(b=>()=>io(b,g)).catch(b=>(_(b),()=>r?te(r,{error:b}):null));const y=le(!1),P=le(),A=le(!!o);return o&&setTimeout(()=>{A.value=!1},o),s!=null&&setTimeout(()=>{if(!y.value&&!P.value){const b=new Error(`Async component timed out after ${s}ms.`);_(b),P.value=b}},s),p().then(()=>{y.value=!0,g.parent&&nr(g.parent.vnode)&&(g.parent.effect.dirty=!0,Wr(g.parent.update))}).catch(b=>{_(b),P.value=b}),()=>{if(y.value&&u)return io(u,g);if(P.value&&r)return te(r,{error:P.value});if(n&&!A.value)return te(n)}}})}function io(e,t){const{ref:n,props:r,children:o,ce:s}=t.vnode,i=te(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const nr=e=>e.type.__isKeepAlive;function Cc(e,t){dl(e,"a",t)}function Pc(e,t){dl(e,"da",t)}function dl(e,t,n=Me){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Gr(t,r,n),n){let o=n.parent;for(;o&&o.parent;)nr(o.parent.vnode)&&Ec(r,t,n,o),o=o.parent}}function Ec(e,t,n,r){const o=Gr(t,e,r,!0);Kr(()=>{Vo(r[t],o)},n)}function Gr(e,t,n=Me,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{Bt();const l=or(n),a=rt(t,n,e,i);return l(),Wt(),a});return r?o.unshift(s):o.push(s),s}}const St=e=>(t,n=Me)=>{(!sr||e==="sp")&&Gr(e,(...r)=>t(...r),n)},kc=St("bm"),je=St("m"),xc=St("bu"),Lc=St("u"),Yo=St("bum"),Kr=St("um"),Ac=St("sp"),Tc=St("rtg"),Rc=St("rtc");function Oc(e,t=Me){Gr("ec",e,t)}const Dc="components";function Xo(e,t){return Mc(Dc,e,!0,t)||e}const Ic=Symbol.for("v-ndc");function Mc(e,t,n=!0,r=!1){const o=$e||Me;if(o){const s=o.type;{const l=xu(s,!1);if(l&&(l===t||l===Ye(t)||l===Yn(Ye(t))))return s}const i=Ts(o[e]||s[e],t)||Ts(o.appContext[e],t);return!i&&r?s:i}}function Ts(e,t){return e&&(e[t]||e[Ye(t)]||e[Yn(Ye(t))])}function wt(e,t,n,r){let o;const s=n;if(Z(e)||Re(e)){o=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,s));else{const i=Object.keys(e);o=new Array(i.length);for(let l=0,a=i.length;lMr(t)?!(t.type===Be||t.type===_e&&!hl(t.children)):!0)?e:null}const ko=e=>e?Dl(e)?zr(e):ko(e.parent):null,$n=Ne(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=>ko(e.parent),$root:e=>ko(e.root),$emit:e=>e.emit,$options:e=>Zo(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Wr(e.update)}),$nextTick:e=>e.n||(e.n=Ut.bind(e.proxy)),$watch:e=>lu.bind(e)}),lo=(e,t)=>e!==Ce&&!e.__isScriptSetup&&ce(e,t),$c={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:l,appContext:a}=e;let u;if(t[0]!=="$"){const g=i[t];if(g!==void 0)switch(g){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(lo(r,t))return i[t]=1,r[t];if(o!==Ce&&ce(o,t))return i[t]=2,o[t];if((u=e.propsOptions[0])&&ce(u,t))return i[t]=3,s[t];if(n!==Ce&&ce(n,t))return i[t]=4,n[t];xo&&(i[t]=0)}}const f=$n[t];let c,p;if(f)return t==="$attrs"&&qe(e.attrs,"get",""),f(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(n!==Ce&&ce(n,t))return i[t]=4,n[t];if(p=a.config.globalProperties,ce(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return lo(o,t)?(o[t]=n,!0):r!==Ce&&ce(r,t)?(r[t]=n,!0):ce(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){let l;return!!n[i]||e!==Ce&&ce(e,i)||lo(t,i)||(l=s[0])&&ce(l,i)||ce(r,i)||ce($n,i)||ce(o.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Rs(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let xo=!0;function Nc(e){const t=Zo(e),n=e.proxy,r=e.ctx;xo=!1,t.beforeCreate&&Os(t.beforeCreate,e,"bc");const{data:o,computed:s,methods:i,watch:l,provide:a,inject:u,created:f,beforeMount:c,mounted:p,beforeUpdate:g,updated:_,activated:y,deactivated:P,beforeDestroy:A,beforeUnmount:b,destroyed:m,unmounted:S,render:V,renderTracked:O,renderTriggered:G,errorCaptured:Q,serverPrefetch:F,expose:w,inheritAttrs:$,components:x,directives:ee,filters:me}=t;if(u&&Hc(u,r,null),i)for(const oe in i){const Y=i[oe];ne(Y)&&(r[oe]=Y.bind(n))}if(o){const oe=o.call(n,n);be(oe)&&(e.data=Zn(oe))}if(xo=!0,s)for(const oe in s){const Y=s[oe],Oe=ne(Y)?Y.bind(n,n):ne(Y.get)?Y.get.bind(n,n):nt,Pt=!ne(Y)&&ne(Y.set)?Y.set.bind(n):nt,ut=R({get:Oe,set:Pt});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>ut.value,set:Ge=>ut.value=Ge})}if(l)for(const oe in l)pl(l[oe],r,n,oe);if(a){const oe=ne(a)?a.call(n):a;Reflect.ownKeys(oe).forEach(Y=>{tn(Y,oe[Y])})}f&&Os(f,e,"c");function z(oe,Y){Z(Y)?Y.forEach(Oe=>oe(Oe.bind(n))):Y&&oe(Y.bind(n))}if(z(kc,c),z(je,p),z(xc,g),z(Lc,_),z(Cc,y),z(Pc,P),z(Oc,Q),z(Rc,O),z(Tc,G),z(Yo,b),z(Kr,S),z(Ac,F),Z(w))if(w.length){const oe=e.exposed||(e.exposed={});w.forEach(Y=>{Object.defineProperty(oe,Y,{get:()=>n[Y],set:Oe=>n[Y]=Oe})})}else e.exposed||(e.exposed={});V&&e.render===nt&&(e.render=V),$!=null&&(e.inheritAttrs=$),x&&(e.components=x),ee&&(e.directives=ee)}function Hc(e,t,n=nt){Z(e)&&(e=Lo(e));for(const r in e){const o=e[r];let s;be(o)?"default"in o?s=Ue(o.from||r,o.default,!0):s=Ue(o.from||r):s=Ue(o),He(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Os(e,t,n){rt(Z(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function pl(e,t,n,r){const o=r.includes(".")?Ll(n,r):()=>n[r];if(Re(e)){const s=t[e];ne(s)&&Te(o,s)}else if(ne(e))Te(o,e.bind(n));else if(be(e))if(Z(e))e.forEach(s=>pl(s,t,n,r));else{const s=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(s)&&Te(o,s,e)}}function Zo(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let a;return l?a=l:!o.length&&!n&&!r?a=t:(a={},o.length&&o.forEach(u=>Dr(a,u,i,!0)),Dr(a,t,i)),be(t)&&s.set(t,a),a}function Dr(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Dr(e,s,n,!0),o&&o.forEach(i=>Dr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Vc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Vc={data:Ds,props:Is,emits:Is,methods:Dn,computed:Dn,beforeCreate:Fe,created:Fe,beforeMount:Fe,mounted:Fe,beforeUpdate:Fe,updated:Fe,beforeDestroy:Fe,beforeUnmount:Fe,destroyed:Fe,unmounted:Fe,activated:Fe,deactivated:Fe,errorCaptured:Fe,serverPrefetch:Fe,components:Dn,directives:Dn,watch:Fc,provide:Ds,inject:jc};function Ds(e,t){return t?e?function(){return Ne(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function jc(e,t){return Dn(Lo(e),Lo(t))}function Lo(e){if(Z(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}const ml={},vl=()=>Object.create(ml),_l=e=>Object.getPrototypeOf(e)===ml;function Uc(e,t,n,r=!1){const o={},s=vl();e.propsDefaults=Object.create(null),bl(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:Xi(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Gc(e,t,n,r){const{props:o,attrs:s,vnode:{patchFlag:i}}=e,l=ue(o),[a]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const f=e.vnode.dynamicProps;for(let c=0;c{a=!0;const[p,g]=yl(c,t,!0);Ne(i,p),g&&l.push(...g)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!a)return be(e)&&r.set(e,fn),fn;if(Z(s))for(let f=0;fe[0]==="_"||e==="$stable",es=e=>Z(e)?e.map(tt):[tt(e)],qc=(e,t,n)=>{if(t._n)return t;const r=Le((...o)=>es(t(...o)),n);return r._c=!1,r},Sl=(e,t,n)=>{const r=e._ctx;for(const o in e){if(wl(o))continue;const s=e[o];if(ne(s))t[o]=qc(o,s,r);else if(s!=null){const i=es(s);t[o]=()=>i}}},Cl=(e,t)=>{const n=es(t);e.slots.default=()=>n},Pl=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},zc=(e,t,n)=>{const r=e.slots=vl();if(e.vnode.shapeFlag&32){const o=t._;o?(Pl(r,t,n),n&&Mi(r,"_",o,!0)):Sl(t,r)}else t&&Cl(e,t)},Jc=(e,t,n)=>{const{vnode:r,slots:o}=e;let s=!0,i=Ce;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:Pl(o,t,n):(s=!t.$stable,Sl(t,o)),i=t}else t&&(Cl(e,t),i={default:1});if(s)for(const l in o)!wl(l)&&i[l]==null&&delete o[l]};function Ir(e,t,n,r,o=!1){if(Z(e)){e.forEach((p,g)=>Ir(p,t&&(Z(t)?t[g]:t),n,r,o));return}if(mn(r)&&!o)return;const s=r.shapeFlag&4?zr(r.component):r.el,i=o?null:s,{i:l,r:a}=e,u=t&&t.r,f=l.refs===Ce?l.refs={}:l.refs,c=l.setupState;if(u!=null&&u!==a&&(Re(u)?(f[u]=null,ce(c,u)&&(c[u]=null)):He(u)&&(u.value=null)),ne(a))Mt(a,l,12,[i,f]);else{const p=Re(a),g=He(a);if(p||g){const _=()=>{if(e.f){const y=p?ce(c,a)?c[a]:f[a]:a.value;o?Z(y)&&Vo(y,s):Z(y)?y.includes(s)||y.push(s):p?(f[a]=[s],ce(c,a)&&(c[a]=f[a])):(a.value=[s],e.k&&(f[e.k]=a.value))}else p?(f[a]=i,ce(c,a)&&(c[a]=i)):g&&(a.value=i,e.k&&(f[e.k]=i))};i?(_.id=-1,Ke(_,n)):_()}}}const Qc=Symbol("_vte"),Yc=e=>e.__isTeleport;let $s=!1;const cn=()=>{$s||(console.error("Hydration completed but contains mismatches."),$s=!0)},Xc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Zc=e=>e.namespaceURI.includes("MathML"),mr=e=>{if(Xc(e))return"svg";if(Zc(e))return"mathml"},vr=e=>e.nodeType===8;function eu(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:u}}=e,f=(m,S)=>{if(!S.hasChildNodes()){n(null,m,S),Ar(),S._vnode=m;return}c(S.firstChild,m,null,null,null),Ar(),S._vnode=m},c=(m,S,V,O,G,Q=!1)=>{Q=Q||!!S.dynamicChildren;const F=vr(m)&&m.data==="[",w=()=>y(m,S,V,O,G,F),{type:$,ref:x,shapeFlag:ee,patchFlag:me}=S;let ve=m.nodeType;S.el=m,me===-2&&(Q=!1,S.dynamicChildren=null);let z=null;switch($){case nn:ve!==3?S.children===""?(a(S.el=o(""),i(m),m),z=m):z=w():(m.data!==S.children&&(cn(),m.data=S.children),z=s(m));break;case Be:b(m)?(z=s(m),A(S.el=m.content.firstChild,m,V)):ve!==8||F?z=w():z=s(m);break;case Nn:if(F&&(m=s(m),ve=m.nodeType),ve===1||ve===3){z=m;const oe=!S.children.length;for(let Y=0;Y{Q=Q||!!S.dynamicChildren;const{type:F,props:w,patchFlag:$,shapeFlag:x,dirs:ee,transition:me}=S,ve=F==="input"||F==="option";if(ve||$!==-1){ee&&dt(S,null,V,"created");let z=!1;if(b(m)){z=El(O,me)&&V&&V.vnode.props&&V.vnode.props.appear;const Y=m.content.firstChild;z&&me.beforeEnter(Y),A(Y,m,V),S.el=m=Y}if(x&16&&!(w&&(w.innerHTML||w.textContent))){let Y=g(m.firstChild,S,m,V,O,G,Q);for(;Y;){cn();const Oe=Y;Y=Y.nextSibling,l(Oe)}}else x&8&&m.textContent!==S.children&&(cn(),m.textContent=S.children);if(w){if(ve||!Q||$&48){const Y=m.tagName.includes("-");for(const Oe in w)(ve&&(Oe.endsWith("value")||Oe==="indeterminate")||Qn(Oe)&&!hn(Oe)||Oe[0]==="."||Y)&&r(m,Oe,null,w[Oe],void 0,V)}else if(w.onClick)r(m,"onClick",null,w.onClick,void 0,V);else if($&4&&pn(w.style))for(const Y in w.style)w.style[Y]}let oe;(oe=w&&w.onVnodeBeforeMount)&&et(oe,V,S),ee&&dt(S,null,V,"beforeMount"),((oe=w&&w.onVnodeMounted)||ee||z)&&Tl(()=>{oe&&et(oe,V,S),z&&me.enter(m),ee&&dt(S,null,V,"mounted")},O)}return m.nextSibling},g=(m,S,V,O,G,Q,F)=>{F=F||!!S.dynamicChildren;const w=S.children,$=w.length;for(let x=0;x<$;x++){const ee=F?w[x]:w[x]=tt(w[x]),me=ee.type===nn;if(m){if(me&&!F){let ve=w[x+1];ve&&(ve=tt(ve)).type===nn&&(a(o(m.data.slice(ee.children.length)),V,s(m)),m.data=ee.children)}m=c(m,ee,O,G,Q,F)}else me&&!ee.children?a(ee.el=o(""),V):(cn(),n(null,ee,V,null,O,G,mr(V),Q))}return m},_=(m,S,V,O,G,Q)=>{const{slotScopeIds:F}=S;F&&(G=G?G.concat(F):F);const w=i(m),$=g(s(m),S,w,V,O,G,Q);return $&&vr($)&&$.data==="]"?s(S.anchor=$):(cn(),a(S.anchor=u("]"),w,$),$)},y=(m,S,V,O,G,Q)=>{if(cn(),S.el=null,Q){const $=P(m);for(;;){const x=s(m);if(x&&x!==$)l(x);else break}}const F=s(m),w=i(m);return l(m),n(null,S,w,F,V,O,mr(w),G),F},P=(m,S="[",V="]")=>{let O=0;for(;m;)if(m=s(m),m&&vr(m)&&(m.data===S&&O++,m.data===V)){if(O===0)return s(m);O--}return m},A=(m,S,V)=>{const O=S.parentNode;O&&O.replaceChild(m,S);let G=V;for(;G;)G.vnode.el===S&&(G.vnode.el=G.subTree.el=m),G=G.parent},b=m=>m.nodeType===1&&m.tagName.toLowerCase()==="template";return[f,c]}const Ke=Tl;function tu(e){return nu(e,eu)}function nu(e,t){const n=$i();n.__VUE__=!0;const{insert:r,remove:o,patchProp:s,createElement:i,createText:l,createComment:a,setText:u,setElementText:f,parentNode:c,nextSibling:p,setScopeId:g=nt,insertStaticContent:_}=e,y=(d,h,v,k=null,C=null,T=null,H=void 0,I=null,M=!!h.dynamicChildren)=>{if(d===h)return;d&&!Yt(d,h)&&(k=E(d),Ge(d,C,T,!0),d=null),h.patchFlag===-2&&(M=!1,h.dynamicChildren=null);const{type:L,ref:W,shapeFlag:J}=h;switch(L){case nn:P(d,h,v,k);break;case Be:A(d,h,v,k);break;case Nn:d==null&&b(h,v,k,H);break;case _e:x(d,h,v,k,C,T,H,I,M);break;default:J&1?V(d,h,v,k,C,T,H,I,M):J&6?ee(d,h,v,k,C,T,H,I,M):(J&64||J&128)&&L.process(d,h,v,k,C,T,H,I,M,K)}W!=null&&C&&Ir(W,d&&d.ref,T,h||d,!h)},P=(d,h,v,k)=>{if(d==null)r(h.el=l(h.children),v,k);else{const C=h.el=d.el;h.children!==d.children&&u(C,h.children)}},A=(d,h,v,k)=>{d==null?r(h.el=a(h.children||""),v,k):h.el=d.el},b=(d,h,v,k)=>{[d.el,d.anchor]=_(d.children,h,v,k,d.el,d.anchor)},m=({el:d,anchor:h},v,k)=>{let C;for(;d&&d!==h;)C=p(d),r(d,v,k),d=C;r(h,v,k)},S=({el:d,anchor:h})=>{let v;for(;d&&d!==h;)v=p(d),o(d),d=v;o(h)},V=(d,h,v,k,C,T,H,I,M)=>{h.type==="svg"?H="svg":h.type==="math"&&(H="mathml"),d==null?O(h,v,k,C,T,H,I,M):F(d,h,C,T,H,I,M)},O=(d,h,v,k,C,T,H,I)=>{let M,L;const{props:W,shapeFlag:J,transition:q,dirs:re}=d;if(M=d.el=i(d.type,T,W&&W.is,W),J&8?f(M,d.children):J&16&&Q(d.children,M,null,k,C,ao(d,T),H,I),re&&dt(d,null,k,"created"),G(M,d,d.scopeId,H,k),W){for(const we in W)we!=="value"&&!hn(we)&&s(M,we,null,W[we],T,k);"value"in W&&s(M,"value",null,W.value,T),(L=W.onVnodeBeforeMount)&&et(L,k,d)}re&&dt(d,null,k,"beforeMount");const se=El(C,q);se&&q.beforeEnter(M),r(M,h,v),((L=W&&W.onVnodeMounted)||se||re)&&Ke(()=>{L&&et(L,k,d),se&&q.enter(M),re&&dt(d,null,k,"mounted")},C)},G=(d,h,v,k,C)=>{if(v&&g(d,v),k)for(let T=0;T{for(let L=M;L{const I=h.el=d.el;let{patchFlag:M,dynamicChildren:L,dirs:W}=h;M|=d.patchFlag&16;const J=d.props||Ce,q=h.props||Ce;let re;if(v&&Kt(v,!1),(re=q.onVnodeBeforeUpdate)&&et(re,v,h,d),W&&dt(h,d,v,"beforeUpdate"),v&&Kt(v,!0),(J.innerHTML&&q.innerHTML==null||J.textContent&&q.textContent==null)&&f(I,""),L?w(d.dynamicChildren,L,I,v,k,ao(h,C),T):H||Y(d,h,I,null,v,k,ao(h,C),T,!1),M>0){if(M&16)$(I,J,q,v,C);else if(M&2&&J.class!==q.class&&s(I,"class",null,q.class,C),M&4&&s(I,"style",J.style,q.style,C),M&8){const se=h.dynamicProps;for(let we=0;we{re&&et(re,v,h,d),W&&dt(h,d,v,"updated")},k)},w=(d,h,v,k,C,T,H)=>{for(let I=0;I{if(h!==v){if(h!==Ce)for(const T in h)!hn(T)&&!(T in v)&&s(d,T,h[T],null,C,k);for(const T in v){if(hn(T))continue;const H=v[T],I=h[T];H!==I&&T!=="value"&&s(d,T,I,H,C,k)}"value"in v&&s(d,"value",h.value,v.value,C)}},x=(d,h,v,k,C,T,H,I,M)=>{const L=h.el=d?d.el:l(""),W=h.anchor=d?d.anchor:l("");let{patchFlag:J,dynamicChildren:q,slotScopeIds:re}=h;re&&(I=I?I.concat(re):re),d==null?(r(L,v,k),r(W,v,k),Q(h.children||[],v,W,C,T,H,I,M)):J>0&&J&64&&q&&d.dynamicChildren?(w(d.dynamicChildren,q,v,C,T,H,I),(h.key!=null||C&&h===C.subTree)&&kl(d,h,!0)):Y(d,h,v,W,C,T,H,I,M)},ee=(d,h,v,k,C,T,H,I,M)=>{h.slotScopeIds=I,d==null?h.shapeFlag&512?C.ctx.activate(h,v,k,H,M):me(h,v,k,C,T,H,M):ve(d,h,M)},me=(d,h,v,k,C,T,H)=>{const I=d.component=Su(d,k,C);if(nr(d)&&(I.ctx.renderer=K),Cu(I,!1,H),I.asyncDep){if(C&&C.registerDep(I,z,H),!d.el){const M=I.subTree=te(Be);A(null,M,h,v)}}else z(I,d,h,v,C,T,H)},ve=(d,h,v)=>{const k=h.component=d.component;if(du(d,h,v))if(k.asyncDep&&!k.asyncResolved){oe(k,h,v);return}else k.next=h,pc(k.update),k.effect.dirty=!0,k.update();else h.el=d.el,k.vnode=h},z=(d,h,v,k,C,T,H)=>{const I=()=>{if(d.isMounted){let{next:W,bu:J,u:q,parent:re,vnode:se}=d;{const an=xl(d);if(an){W&&(W.el=se.el,oe(d,W,H)),an.asyncDep.then(()=>{d.isUnmounted||I()});return}}let we=W,pe;Kt(d,!1),W?(W.el=se.el,oe(d,W,H)):W=se,J&&ro(J),(pe=W.props&&W.props.onVnodeBeforeUpdate)&&et(pe,re,W,se),Kt(d,!0);const Ie=co(d),ot=d.subTree;d.subTree=Ie,y(ot,Ie,c(ot.el),E(ot),d,C,T),W.el=Ie.el,we===null&&hu(d,Ie.el),q&&Ke(q,C),(pe=W.props&&W.props.onVnodeUpdated)&&Ke(()=>et(pe,re,W,se),C)}else{let W;const{el:J,props:q}=h,{bm:re,m:se,parent:we}=d,pe=mn(h);if(Kt(d,!1),re&&ro(re),!pe&&(W=q&&q.onVnodeBeforeMount)&&et(W,we,h),Kt(d,!0),J&&Se){const Ie=()=>{d.subTree=co(d),Se(J,d.subTree,d,C,null)};pe?h.type.__asyncLoader().then(()=>!d.isUnmounted&&Ie()):Ie()}else{const Ie=d.subTree=co(d);y(null,Ie,v,k,d,C,T),h.el=Ie.el}if(se&&Ke(se,C),!pe&&(W=q&&q.onVnodeMounted)){const Ie=h;Ke(()=>et(W,we,Ie),C)}(h.shapeFlag&256||we&&mn(we.vnode)&&we.vnode.shapeFlag&256)&&d.a&&Ke(d.a,C),d.isMounted=!0,h=v=k=null}},M=d.effect=new Bo(I,nt,()=>Wr(L),d.scope),L=d.update=()=>{M.dirty&&M.run()};L.i=d,L.id=d.uid,Kt(d,!0),L()},oe=(d,h,v)=>{h.component=d;const k=d.vnode.props;d.vnode=h,d.next=null,Gc(d,h.props,k,v),Jc(d,h.children,v),Bt(),Ls(d),Wt()},Y=(d,h,v,k,C,T,H,I,M=!1)=>{const L=d&&d.children,W=d?d.shapeFlag:0,J=h.children,{patchFlag:q,shapeFlag:re}=h;if(q>0){if(q&128){Pt(L,J,v,k,C,T,H,I,M);return}else if(q&256){Oe(L,J,v,k,C,T,H,I,M);return}}re&8?(W&16&&Xe(L,C,T),J!==L&&f(v,J)):W&16?re&16?Pt(L,J,v,k,C,T,H,I,M):Xe(L,C,T,!0):(W&8&&f(v,""),re&16&&Q(J,v,k,C,T,H,I,M))},Oe=(d,h,v,k,C,T,H,I,M)=>{d=d||fn,h=h||fn;const L=d.length,W=h.length,J=Math.min(L,W);let q;for(q=0;qW?Xe(d,C,T,!0,!1,J):Q(h,v,k,C,T,H,I,M,J)},Pt=(d,h,v,k,C,T,H,I,M)=>{let L=0;const W=h.length;let J=d.length-1,q=W-1;for(;L<=J&&L<=q;){const re=d[L],se=h[L]=M?Tt(h[L]):tt(h[L]);if(Yt(re,se))y(re,se,v,null,C,T,H,I,M);else break;L++}for(;L<=J&&L<=q;){const re=d[J],se=h[q]=M?Tt(h[q]):tt(h[q]);if(Yt(re,se))y(re,se,v,null,C,T,H,I,M);else break;J--,q--}if(L>J){if(L<=q){const re=q+1,se=req)for(;L<=J;)Ge(d[L],C,T,!0),L++;else{const re=L,se=L,we=new Map;for(L=se;L<=q;L++){const ze=h[L]=M?Tt(h[L]):tt(h[L]);ze.key!=null&&we.set(ze.key,L)}let pe,Ie=0;const ot=q-se+1;let an=!1,vs=0;const kn=new Array(ot);for(L=0;L=ot){Ge(ze,C,T,!0);continue}let ft;if(ze.key!=null)ft=we.get(ze.key);else for(pe=se;pe<=q;pe++)if(kn[pe-se]===0&&Yt(ze,h[pe])){ft=pe;break}ft===void 0?Ge(ze,C,T,!0):(kn[ft-se]=L+1,ft>=vs?vs=ft:an=!0,y(ze,h[ft],v,null,C,T,H,I,M),Ie++)}const _s=an?ru(kn):fn;for(pe=_s.length-1,L=ot-1;L>=0;L--){const ze=se+L,ft=h[ze],bs=ze+1{const{el:T,type:H,transition:I,children:M,shapeFlag:L}=d;if(L&6){ut(d.component.subTree,h,v,k);return}if(L&128){d.suspense.move(h,v,k);return}if(L&64){H.move(d,h,v,K);return}if(H===_e){r(T,h,v);for(let J=0;JI.enter(T),C);else{const{leave:J,delayLeave:q,afterLeave:re}=I,se=()=>r(T,h,v),we=()=>{J(T,()=>{se(),re&&re()})};q?q(T,se,we):we()}else r(T,h,v)},Ge=(d,h,v,k=!1,C=!1)=>{const{type:T,props:H,ref:I,children:M,dynamicChildren:L,shapeFlag:W,patchFlag:J,dirs:q,cacheIndex:re}=d;if(J===-2&&(C=!1),I!=null&&Ir(I,null,v,d,!0),re!=null&&(h.renderCache[re]=void 0),W&256){h.ctx.deactivate(d);return}const se=W&1&&q,we=!mn(d);let pe;if(we&&(pe=H&&H.onVnodeBeforeUnmount)&&et(pe,h,d),W&6)cr(d.component,v,k);else{if(W&128){d.suspense.unmount(v,k);return}se&&dt(d,null,h,"beforeUnmount"),W&64?d.type.remove(d,h,v,K,k):L&&!L.hasOnce&&(T!==_e||J>0&&J&64)?Xe(L,h,v,!1,!0):(T===_e&&J&384||!C&&W&16)&&Xe(M,h,v),k&&sn(d)}(we&&(pe=H&&H.onVnodeUnmounted)||se)&&Ke(()=>{pe&&et(pe,h,d),se&&dt(d,null,h,"unmounted")},v)},sn=d=>{const{type:h,el:v,anchor:k,transition:C}=d;if(h===_e){ln(v,k);return}if(h===Nn){S(d);return}const T=()=>{o(v),C&&!C.persisted&&C.afterLeave&&C.afterLeave()};if(d.shapeFlag&1&&C&&!C.persisted){const{leave:H,delayLeave:I}=C,M=()=>H(v,T);I?I(d.el,T,M):M()}else T()},ln=(d,h)=>{let v;for(;d!==h;)v=p(d),o(d),d=v;o(h)},cr=(d,h,v)=>{const{bum:k,scope:C,update:T,subTree:H,um:I,m:M,a:L}=d;Ns(M),Ns(L),k&&ro(k),C.stop(),T&&(T.active=!1,Ge(H,d,h,v)),I&&Ke(I,h),Ke(()=>{d.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},Xe=(d,h,v,k=!1,C=!1,T=0)=>{for(let H=T;H{if(d.shapeFlag&6)return E(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const h=p(d.anchor||d.el),v=h&&h[Qc];return v?p(v):h};let B=!1;const j=(d,h,v)=>{d==null?h._vnode&&Ge(h._vnode,null,null,!0):y(h._vnode||null,d,h,null,null,null,v),h._vnode=d,B||(B=!0,Ls(),Ar(),B=!1)},K={p:y,um:Ge,m:ut,r:sn,mt:me,mc:Q,pc:Y,pbc:w,n:E,o:e};let he,Se;return t&&([he,Se]=t(K)),{render:j,hydrate:he,createApp:Wc(j,he)}}function ao({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Kt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function El(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function kl(e,t,n=!1){const r=e.children,o=t.children;if(Z(r)&&Z(o))for(let s=0;s>1,e[n[l]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function xl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:xl(t)}function Ns(e){if(e)for(let t=0;tUe(ou);function iu(e,t){return ts(e,null,t)}const _r={};function Te(e,t,n){return ts(e,t,n)}function ts(e,t,{immediate:n,deep:r,flush:o,once:s,onTrack:i,onTrigger:l}=Ce){if(t&&s){const O=t;t=(...G)=>{O(...G),V()}}const a=Me,u=O=>r===!0?O:Ot(O,r===!1?1:void 0);let f,c=!1,p=!1;if(He(e)?(f=()=>e.value,c=yn(e)):pn(e)?(f=()=>u(e),c=!0):Z(e)?(p=!0,c=e.some(O=>pn(O)||yn(O)),f=()=>e.map(O=>{if(He(O))return O.value;if(pn(O))return u(O);if(ne(O))return Mt(O,a,2)})):ne(e)?t?f=()=>Mt(e,a,2):f=()=>(g&&g(),rt(e,a,3,[_])):f=nt,t&&r){const O=f;f=()=>Ot(O())}let g,_=O=>{g=m.onStop=()=>{Mt(O,a,4),g=m.onStop=void 0}},y;if(sr)if(_=nt,t?n&&rt(t,a,3,[f(),p?[]:void 0,_]):f(),o==="sync"){const O=su();y=O.__watcherHandles||(O.__watcherHandles=[])}else return nt;let P=p?new Array(e.length).fill(_r):_r;const A=()=>{if(!(!m.active||!m.dirty))if(t){const O=m.run();(r||c||(p?O.some((G,Q)=>$t(G,P[Q])):$t(O,P)))&&(g&&g(),rt(t,a,3,[O,P===_r?void 0:p&&P[0]===_r?[]:P,_]),P=O)}else m.run()};A.allowRecurse=!!t;let b;o==="sync"?b=A:o==="post"?b=()=>Ke(A,a&&a.suspense):(A.pre=!0,a&&(A.id=a.uid),b=()=>Wr(A));const m=new Bo(f,nt,b),S=Fo(),V=()=>{m.stop(),S&&Vo(S.effects,m)};return t?n?A():P=m.run():o==="post"?Ke(m.run.bind(m),a&&a.suspense):m.run(),y&&y.push(V),V}function lu(e,t,n){const r=this.proxy,o=Re(e)?e.includes(".")?Ll(r,e):()=>r[e]:e.bind(r,r);let s;ne(t)?s=t:(s=t.handler,n=t);const i=or(this),l=ts(o,s.bind(r),n);return i(),l}function Ll(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{Ot(r,t,n)});else if(Ii(e)){for(const r in e)Ot(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Ot(e[r],t,n)}return e}const au=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ye(t)}Modifiers`]||e[`${Ft(t)}Modifiers`];function cu(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ce;let o=n;const s=t.startsWith("update:"),i=s&&au(r,t.slice(7));i&&(i.trim&&(o=n.map(f=>Re(f)?f.trim():f)),i.number&&(o=n.map(xa)));let l,a=r[l=no(t)]||r[l=no(Ye(t))];!a&&s&&(a=r[l=no(Ft(t))]),a&&rt(a,e,6,o);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,rt(u,e,6,o)}}function Al(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const s=e.emits;let i={},l=!1;if(!ne(e)){const a=u=>{const f=Al(u,t,!0);f&&(l=!0,Ne(i,f))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(be(e)&&r.set(e,null),null):(Z(s)?s.forEach(a=>i[a]=null):Ne(i,s),be(e)&&r.set(e,i),i)}function qr(e,t){return!e||!Qn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Ft(t))||ce(e,t))}function co(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[s],slots:i,attrs:l,emit:a,render:u,renderCache:f,props:c,data:p,setupState:g,ctx:_,inheritAttrs:y}=e,P=Tr(e);let A,b;try{if(n.shapeFlag&4){const S=o||r,V=S;A=tt(u.call(V,S,f,c,g,p,_)),b=l}else{const S=t;A=tt(S.length>1?S(c,{attrs:l,slots:i,emit:a}):S(c,null)),b=t.props?l:uu(l)}}catch(S){Hn.length=0,tr(S,e,1),A=te(Be)}let m=A;if(b&&y!==!1){const S=Object.keys(b),{shapeFlag:V}=m;S.length&&V&7&&(s&&S.some(Ho)&&(b=fu(b,s)),m=Nt(m,b,!1,!0))}return n.dirs&&(m=Nt(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&(m.transition=n.transition),A=m,Tr(P),A}const uu=e=>{let t;for(const n in e)(n==="class"||n==="style"||Qn(n))&&((t||(t={}))[n]=e[n]);return t},fu=(e,t)=>{const n={};for(const r in e)(!Ho(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function du(e,t,n){const{props:r,children:o,component:s}=e,{props:i,children:l,patchFlag:a}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?Hs(r,i,u):!!i;if(a&8){const f=t.dynamicProps;for(let c=0;ce.__isSuspense;function Tl(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):gc(e)}const _e=Symbol.for("v-fgt"),nn=Symbol.for("v-txt"),Be=Symbol.for("v-cmt"),Nn=Symbol.for("v-stc"),Hn=[];let Qe=null;function N(e=!1){Hn.push(Qe=e?null:[])}function gu(){Hn.pop(),Qe=Hn[Hn.length-1]||null}let Un=1;function Vs(e){Un+=e,e<0&&Qe&&(Qe.hasOnce=!0)}function Rl(e){return e.dynamicChildren=Un>0?Qe||fn:null,gu(),Un>0&&Qe&&Qe.push(e),e}function X(e,t,n,r,o,s){return Rl(U(e,t,n,r,o,s,!0))}function xe(e,t,n,r,o){return Rl(te(e,t,n,r,o,!0))}function Mr(e){return e?e.__v_isVNode===!0:!1}function Yt(e,t){return e.type===t.type&&e.key===t.key}const Ol=({key:e})=>e??null,Er=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Re(e)||He(e)||ne(e)?{i:$e,r:e,k:t,f:!!n}:e:null);function U(e,t=null,n=null,r=0,o=null,s=e===_e?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ol(t),ref:t&&Er(t),scopeId:Ur,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:$e};return l?(ns(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=Re(n)?8:16),Un>0&&!i&&Qe&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&Qe.push(a),a}const te=mu;function mu(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Ic)&&(e=Be),Mr(e)){const l=Nt(e,t,!0);return n&&ns(l,n),Un>0&&!s&&Qe&&(l.shapeFlag&6?Qe[Qe.indexOf(e)]=l:Qe.push(l)),l.patchFlag=-2,l}if(Lu(e)&&(e=e.__vccOpts),t){t=vu(t);let{class:l,style:a}=t;l&&!Re(l)&&(t.class=We(l)),be(a)&&(Zi(a)&&!Z(a)&&(a=Ne({},a)),t.style=Xn(a))}const i=Re(e)?1:pu(e)?128:Yc(e)?64:be(e)?4:ne(e)?2:0;return U(e,t,n,r,o,i,s,!0)}function vu(e){return e?Zi(e)||_l(e)?Ne({},e):e:null}function Nt(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:i,children:l,transition:a}=e,u=t?bu(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Ol(u),ref:t&&t.ref?n&&s?Z(s)?s.concat(Er(t)):[s,Er(t)]:Er(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==_e?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Nt(e.ssContent),ssFallback:e.ssFallback&&Nt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&r&&Or(f,a.clone(f)),f}function Ht(e=" ",t=0){return te(nn,null,e,t)}function _u(e,t){const n=te(Nn,null,e);return n.staticCount=t,n}function Ae(e="",t=!1){return t?(N(),xe(Be,null,e)):te(Be,null,e)}function tt(e){return e==null||typeof e=="boolean"?te(Be):Z(e)?te(_e,null,e.slice()):typeof e=="object"?Tt(e):te(nn,null,String(e))}function Tt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Nt(e)}function ns(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),ns(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!_l(t)?t._ctx=$e:o===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:$e},n=32):(t=String(t),r&64?(n=16,t=[Ht(t)]):n=8);e.children=t,e.shapeFlag|=n}function bu(...e){const t={};for(let n=0;nMe||$e;let $r,To;{const e=$i(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),s=>{o.length>1?o.forEach(i=>i(s)):o[0](s)}};$r=t("__VUE_INSTANCE_SETTERS__",n=>Me=n),To=t("__VUE_SSR_SETTERS__",n=>sr=n)}const or=e=>{const t=Me;return $r(e),e.scope.on(),()=>{e.scope.off(),$r(t)}},js=()=>{Me&&Me.scope.off(),$r(null)};function Dl(e){return e.vnode.shapeFlag&4}let sr=!1;function Cu(e,t=!1,n=!1){t&&To(t);const{props:r,children:o}=e.vnode,s=Dl(e);Uc(e,r,s,t),zc(e,o,n);const i=s?Pu(e,t):void 0;return t&&To(!1),i}function Pu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,$c);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?ku(e):null,s=or(e);Bt();const i=Mt(r,e,0,[e.props,o]);if(Wt(),s(),Oi(i)){if(i.then(js,js),t)return i.then(l=>{Fs(e,l,t)}).catch(l=>{tr(l,e,0)});e.asyncDep=i}else Fs(e,i,t)}else Il(e,t)}function Fs(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:be(t)&&(e.setupState=nl(t)),Il(e,n)}let Bs;function Il(e,t,n){const r=e.type;if(!e.render){if(!t&&Bs&&!r.render){const o=r.template||Zo(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,u=Ne(Ne({isCustomElement:s,delimiters:l},i),a);r.render=Bs(o,u)}}e.render=r.render||nt}{const o=or(e);Bt();try{Nc(e)}finally{Wt(),o()}}}const Eu={get(e,t){return qe(e,"get",""),e[t]}};function ku(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Eu),slots:e.slots,emit:e.emit,expose:t}}function zr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(nl(rc(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in $n)return $n[n](e)},has(t,n){return n in t||n in $n}})):e.proxy}function xu(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function Lu(e){return ne(e)&&"__vccOpts"in e}const R=(e,t)=>oc(e,t,sr);function Pe(e,t,n){const r=arguments.length;return r===2?be(t)&&!Z(t)?Mr(t)?te(e,null,[t]):te(e,t):te(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Mr(n)&&(n=[n]),te(e,t,n))}const Au="3.4.38";/** +* @vue/runtime-dom v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Tu="http://www.w3.org/2000/svg",Ru="http://www.w3.org/1998/Math/MathML",_t=typeof document<"u"?document:null,Ws=_t&&_t.createElement("template"),Ou={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?_t.createElementNS(Tu,e):t==="mathml"?_t.createElementNS(Ru,e):n?_t.createElement(e,{is:n}):_t.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>_t.createTextNode(e),createComment:e=>_t.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>_t.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,s){const i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===s||!(o=o.nextSibling)););else{Ws.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Ws.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},kt="transition",xn="animation",Gn=Symbol("_vtc"),ir=(e,{slots:t})=>Pe(wc,Du(e),t);ir.displayName="Transition";const Ml={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};ir.props=Ne({},al,Ml);const qt=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},Us=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function Du(e){const t={};for(const x in e)x in Ml||(t[x]=e[x]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:s=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:u=i,appearToClass:f=l,leaveFromClass:c=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:g=`${n}-leave-to`}=e,_=Iu(o),y=_&&_[0],P=_&&_[1],{onBeforeEnter:A,onEnter:b,onEnterCancelled:m,onLeave:S,onLeaveCancelled:V,onBeforeAppear:O=A,onAppear:G=b,onAppearCancelled:Q=m}=t,F=(x,ee,me)=>{zt(x,ee?f:l),zt(x,ee?u:i),me&&me()},w=(x,ee)=>{x._isLeaving=!1,zt(x,c),zt(x,g),zt(x,p),ee&&ee()},$=x=>(ee,me)=>{const ve=x?G:b,z=()=>F(ee,x,me);qt(ve,[ee,z]),Gs(()=>{zt(ee,x?a:s),xt(ee,x?f:l),Us(ve)||Ks(ee,r,y,z)})};return Ne(t,{onBeforeEnter(x){qt(A,[x]),xt(x,s),xt(x,i)},onBeforeAppear(x){qt(O,[x]),xt(x,a),xt(x,u)},onEnter:$(!1),onAppear:$(!0),onLeave(x,ee){x._isLeaving=!0;const me=()=>w(x,ee);xt(x,c),xt(x,p),Nu(),Gs(()=>{x._isLeaving&&(zt(x,c),xt(x,g),Us(S)||Ks(x,r,P,me))}),qt(S,[x,me])},onEnterCancelled(x){F(x,!1),qt(m,[x])},onAppearCancelled(x){F(x,!0),qt(Q,[x])},onLeaveCancelled(x){w(x),qt(V,[x])}})}function Iu(e){if(e==null)return null;if(be(e))return[uo(e.enter),uo(e.leave)];{const t=uo(e);return[t,t]}}function uo(e){return La(e)}function xt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Gn]||(e[Gn]=new Set)).add(t)}function zt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Gn];n&&(n.delete(t),n.size||(e[Gn]=void 0))}function Gs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Mu=0;function Ks(e,t,n,r){const o=e._endId=++Mu,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=$u(e,t);if(!i)return r();const u=i+"end";let f=0;const c=()=>{e.removeEventListener(u,p),s()},p=g=>{g.target===e&&++f>=a&&c()};setTimeout(()=>{f(n[_]||"").split(", "),o=r(`${kt}Delay`),s=r(`${kt}Duration`),i=qs(o,s),l=r(`${xn}Delay`),a=r(`${xn}Duration`),u=qs(l,a);let f=null,c=0,p=0;t===kt?i>0&&(f=kt,c=i,p=s.length):t===xn?u>0&&(f=xn,c=u,p=a.length):(c=Math.max(i,u),f=c>0?i>u?kt:xn:null,p=f?f===kt?s.length:a.length:0);const g=f===kt&&/\b(transform|all)(,|$)/.test(r(`${kt}Property`).toString());return{type:f,timeout:c,propCount:p,hasTransform:g}}function qs(e,t){for(;e.lengthzs(n)+zs(e[r])))}function zs(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Nu(){return document.body.offsetHeight}function Hu(e,t,n){const r=e[Gn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Nr=Symbol("_vod"),$l=Symbol("_vsh"),Hr={beforeMount(e,{value:t},{transition:n}){e[Nr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Ln(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Ln(e,!0),r.enter(e)):r.leave(e,()=>{Ln(e,!1)}):Ln(e,t))},beforeUnmount(e,{value:t}){Ln(e,t)}};function Ln(e,t){e.style.display=t?e[Nr]:"none",e[$l]=!t}const Vu=Symbol(""),ju=/(^|;)\s*display\s*:/;function Fu(e,t,n){const r=e.style,o=Re(n);let s=!1;if(n&&!o){if(t)if(Re(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&kr(r,l,"")}else for(const i in t)n[i]==null&&kr(r,i,"");for(const i in n)i==="display"&&(s=!0),kr(r,i,n[i])}else if(o){if(t!==n){const i=r[Vu];i&&(n+=";"+i),r.cssText=n,s=ju.test(n)}}else t&&e.removeAttribute("style");Nr in e&&(e[Nr]=s?r.display:"",e[$l]&&(r.display="none"))}const Js=/\s*!important$/;function kr(e,t,n){if(Z(n))n.forEach(r=>kr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Bu(e,t);Js.test(n)?e.setProperty(Ft(r),n.replace(Js,""),"important"):e[r]=n}}const Qs=["Webkit","Moz","ms"],fo={};function Bu(e,t){const n=fo[t];if(n)return n;let r=Ye(t);if(r!=="filter"&&r in e)return fo[t]=r;r=Yn(r);for(let o=0;oho||(zu.then(()=>ho=0),ho=Date.now());function Qu(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;rt(Yu(r,n.value),t,5,[r])};return n.value=e,n.attached=Ju(),n}function Yu(e,t){if(Z(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const ti=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Xu=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?Hu(e,r,i):t==="style"?Fu(e,n,r):Qn(t)?Ho(t)||Ku(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Zu(e,t,r,i))?(Wu(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Xs(e,t,r,i,s,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Xs(e,t,r,i))};function Zu(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&ti(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return ti(t)&&Re(n)?!1:t in e}const ef={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},tf=(e,t)=>{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=o=>{if(!("key"in o))return;const s=Ft(o.key);if(t.some(i=>i===s||ef[i]===s))return e(o)})},nf=Ne({patchProp:Xu},Ou);let po,ni=!1;function rf(){return po=ni?po:tu(nf),ni=!0,po}const of=(...e)=>{const t=rf().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=lf(r);if(o)return n(o,!0,sf(o))},t};function sf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function lf(e){return Re(e)?document.querySelector(e):e}var lr=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),af=/.md((\?|#).*)?$/,cf=(e,t="/")=>lr(e)||e.startsWith("/")&&!e.startsWith(t)&&!af.test(e),Jr=e=>/^(https?:)?\/\//.test(e),ri=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=t.substring(0,t.length-3)+".html":t.endsWith(".html")||(t=t+".html"),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},uf="http://.",ff=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return ri(new URL(`${n}/${e}`,uf).pathname)}return ri(e)},df=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const s=o.split("/").length-r.split("/").length;return s!==0?s:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},hf=/(#|\?)/,Nl=e=>{const[t,...n]=e.split(hf);return{pathname:t,hashAndQueries:n.join("")}},pf=["link","meta","script","style","noscript","template"],gf=["title","base"],mf=([e,t,n])=>gf.includes(e)?e:pf.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,vf=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=mf(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},_f=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Hl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Vl=e=>e[0]==="/"?e.slice(1):e,rs=e=>Object.prototype.toString.call(e)==="[object Object]",st=e=>typeof e=="string";const bf="modulepreload",yf=function(e){return"/"+e},oi={},An=function(t,n,r){let o=Promise.resolve();return n&&n.length>0&&(document.getElementsByTagName("link"),o=Promise.all(n.map(s=>{if(s=yf(s),s in oi)return;oi[s]=!0;const i=s.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${l}`))return;const a=document.createElement("link");if(a.rel=i?"stylesheet":bf,i||(a.as="script",a.crossOrigin=""),a.href=s,document.head.appendChild(a),i)return new Promise((u,f)=>{a.addEventListener("load",u),a.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${s}`)))})}))),o.then(()=>t()).catch(s=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s})},wf=JSON.parse("{}"),Sf=Object.fromEntries([["/",{loader:()=>An(()=>import("./index.html-D3SBAZ5R.js"),__vite__mapDeps([])),meta:{title:"Резюме"}}],["/works.html",{loader:()=>An(()=>import("./works.html-DDM5nDLC.js"),__vite__mapDeps([])),meta:{title:"Работы"}}],["/eng/",{loader:()=>An(()=>import("./index.html-BCgSEOwK.js"),__vite__mapDeps([])),meta:{title:"Resume"}}],["/eng/works.html",{loader:()=>An(()=>import("./works.html-EdO4hOM5.js"),__vite__mapDeps([])),meta:{title:"Works"}}],["/404.html",{loader:()=>An(()=>import("./404.html-K48krAc8.js"),__vite__mapDeps([])),meta:{title:""}}]]);/*! + * vue-router v4.4.3 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const un=typeof document<"u";function Cf(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ge=Object.assign;function go(e,t){const n={};for(const r in t){const o=t[r];n[r]=it(o)?o.map(e):e(o)}return n}const Vn=()=>{},it=Array.isArray,jl=/#/g,Pf=/&/g,Ef=/\//g,kf=/=/g,xf=/\?/g,Fl=/\+/g,Lf=/%5B/g,Af=/%5D/g,Bl=/%5E/g,Tf=/%60/g,Wl=/%7B/g,Rf=/%7C/g,Ul=/%7D/g,Of=/%20/g;function os(e){return encodeURI(""+e).replace(Rf,"|").replace(Lf,"[").replace(Af,"]")}function Df(e){return os(e).replace(Wl,"{").replace(Ul,"}").replace(Bl,"^")}function Ro(e){return os(e).replace(Fl,"%2B").replace(Of,"+").replace(jl,"%23").replace(Pf,"%26").replace(Tf,"`").replace(Wl,"{").replace(Ul,"}").replace(Bl,"^")}function If(e){return Ro(e).replace(kf,"%3D")}function Mf(e){return os(e).replace(jl,"%23").replace(xf,"%3F")}function $f(e){return e==null?"":Mf(e).replace(Ef,"%2F")}function Kn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Nf=/\/$/,Hf=e=>e.replace(Nf,"");function mo(e,t,n="/"){let r,o={},s="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),s=t.slice(a+1,l>-1?l:t.length),o=e(s)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=Bf(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:Kn(i)}}function Vf(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function si(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function jf(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&wn(t.matched[r],n.matched[o])&&Gl(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function wn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Gl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Ff(e[n],t[n]))return!1;return!0}function Ff(e,t){return it(e)?ii(e,t):it(t)?ii(t,e):e===t}function ii(e,t){return it(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Bf(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let s=n.length-1,i,l;for(i=0;i1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(i).join("/")}const vt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var qn;(function(e){e.pop="pop",e.push="push"})(qn||(qn={}));var jn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(jn||(jn={}));function Wf(e){if(!e)if(un){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Hf(e)}const Uf=/^[^#]+#/;function Gf(e,t){return e.replace(Uf,"#")+t}function Kf(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Qr=()=>({left:window.scrollX,top:window.scrollY});function qf(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Kf(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function li(e,t){return(history.state?history.state.position-t:-1)+e}const Oo=new Map;function zf(e,t){Oo.set(e,t)}function Jf(e){const t=Oo.get(e);return Oo.delete(e),t}let Qf=()=>location.protocol+"//"+location.host;function Kl(e,t){const{pathname:n,search:r,hash:o}=t,s=e.indexOf("#");if(s>-1){let l=o.includes(e.slice(s))?e.slice(s).length:1,a=o.slice(l);return a[0]!=="/"&&(a="/"+a),si(a,"")}return si(n,e)+r+o}function Yf(e,t,n,r){let o=[],s=[],i=null;const l=({state:p})=>{const g=Kl(e,location),_=n.value,y=t.value;let P=0;if(p){if(n.value=g,t.value=p,i&&i===_){i=null;return}P=y?p.position-y.position:0}else r(g);o.forEach(A=>{A(n.value,_,{delta:P,type:qn.pop,direction:P?P>0?jn.forward:jn.back:jn.unknown})})};function a(){i=n.value}function u(p){o.push(p);const g=()=>{const _=o.indexOf(p);_>-1&&o.splice(_,1)};return s.push(g),g}function f(){const{history:p}=window;p.state&&p.replaceState(ge({},p.state,{scroll:Qr()}),"")}function c(){for(const p of s)p();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:a,listen:u,destroy:c}}function ai(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Qr():null}}function Xf(e){const{history:t,location:n}=window,r={value:Kl(e,n)},o={value:t.state};o.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,u,f){const c=e.indexOf("#"),p=c>-1?(n.host&&document.querySelector("base")?e:e.slice(c))+a:Qf()+e+a;try{t[f?"replaceState":"pushState"](u,"",p),o.value=u}catch(g){console.error(g),n[f?"replace":"assign"](p)}}function i(a,u){const f=ge({},t.state,ai(o.value.back,a,o.value.forward,!0),u,{position:o.value.position});s(a,f,!0),r.value=a}function l(a,u){const f=ge({},o.value,t.state,{forward:a,scroll:Qr()});s(f.current,f,!0);const c=ge({},ai(r.value,a,null),{position:f.position+1},u);s(a,c,!1),r.value=a}return{location:r,state:o,push:l,replace:i}}function Zf(e){e=Wf(e);const t=Xf(e),n=Yf(e,t.state,t.location,t.replace);function r(s,i=!0){i||n.pauseListeners(),history.go(s)}const o=ge({location:"",base:e,go:r,createHref:Gf.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function ed(e){return typeof e=="string"||e&&typeof e=="object"}function ql(e){return typeof e=="string"||typeof e=="symbol"}const zl=Symbol("");var ci;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ci||(ci={}));function Sn(e,t){return ge(new Error,{type:e,[zl]:!0},t)}function gt(e,t){return e instanceof Error&&zl in e&&(t==null||!!(e.type&t))}const ui="[^/]+?",td={sensitive:!1,strict:!1,start:!0,end:!0},nd=/[.+*?^${}()[\]/\\]/g;function rd(e,t){const n=ge({},td,t),r=[];let o=n.start?"^":"";const s=[];for(const u of e){const f=u.length?[]:[90];n.strict&&!u.length&&(o+="/");for(let c=0;ct.length?t.length===1&&t[0]===80?1:-1:0}function Jl(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const sd={type:0,value:""},id=/[a-zA-Z0-9_]/;function ld(e){if(!e)return[[]];if(e==="/")return[[sd]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${n})/"${u}": ${g}`)}let n=0,r=n;const o=[];let s;function i(){s&&o.push(s),s=[]}let l=0,a,u="",f="";function c(){u&&(n===0?s.push({type:0,value:u}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:f,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function p(){u+=a}for(;l{i(m)}:Vn}function i(c){if(ql(c)){const p=r.get(c);p&&(r.delete(c),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(c);p>-1&&(n.splice(p,1),c.record.name&&r.delete(c.record.name),c.children.forEach(i),c.alias.forEach(i))}}function l(){return n}function a(c){const p=hd(c,n);n.splice(p,0,c),c.record.name&&!hi(c)&&r.set(c.record.name,c)}function u(c,p){let g,_={},y,P;if("name"in c&&c.name){if(g=r.get(c.name),!g)throw Sn(1,{location:c});P=g.record.name,_=ge(di(p.params,g.keys.filter(m=>!m.optional).concat(g.parent?g.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),c.params&&di(c.params,g.keys.map(m=>m.name))),y=g.stringify(_)}else if(c.path!=null)y=c.path,g=n.find(m=>m.re.test(y)),g&&(_=g.parse(y),P=g.record.name);else{if(g=p.name?r.get(p.name):n.find(m=>m.re.test(p.path)),!g)throw Sn(1,{location:c,currentLocation:p});P=g.record.name,_=ge({},p.params,c.params),y=g.stringify(_)}const A=[];let b=g;for(;b;)A.unshift(b.record),b=b.parent;return{name:P,path:y,params:_,matched:A,meta:dd(A)}}e.forEach(c=>s(c));function f(){n.length=0,r.clear()}return{addRoute:s,resolve:u,removeRoute:i,clearRoutes:f,getRoutes:l,getRecordMatcher:o}}function di(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function ud(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:fd(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function fd(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function hi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function dd(e){return e.reduce((t,n)=>ge(t,n.meta),{})}function pi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function hd(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;Jl(e,t[s])<0?r=s:n=s+1}const o=pd(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function pd(e){let t=e;for(;t=t.parent;)if(Ql(t)&&Jl(e,t)===0)return t}function Ql({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function gd(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&Ro(s)):[r&&Ro(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function md(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=it(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const vd=Symbol(""),mi=Symbol(""),Yr=Symbol(""),ss=Symbol(""),Do=Symbol("");function Tn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Rt(e,t,n,r,o,s=i=>i()){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const u=p=>{p===!1?a(Sn(4,{from:n,to:t})):p instanceof Error?a(p):ed(p)?a(Sn(2,{from:t,to:p})):(i&&r.enterCallbacks[o]===i&&typeof p=="function"&&i.push(p),l())},f=s(()=>e.call(r&&r.instances[o],t,n,u));let c=Promise.resolve(f);e.length<3&&(c=c.then(u)),c.catch(p=>a(p))})}function vo(e,t,n,r,o=s=>s()){const s=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(_d(a)){const f=(a.__vccOpts||a)[t];f&&s.push(Rt(f,n,r,i,l,o))}else{let u=a();s.push(()=>u.then(f=>{if(!f)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${i.path}"`));const c=Cf(f)?f.default:f;i.components[l]=c;const g=(c.__vccOpts||c)[t];return g&&Rt(g,n,r,i,l,o)()}))}}return s}function _d(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function vi(e){const t=Ue(Yr),n=Ue(ss),r=R(()=>{const a=It(e.to);return t.resolve(a)}),o=R(()=>{const{matched:a}=r.value,{length:u}=a,f=a[u-1],c=n.matched;if(!f||!c.length)return-1;const p=c.findIndex(wn.bind(null,f));if(p>-1)return p;const g=_i(a[u-2]);return u>1&&_i(f)===g&&c[c.length-1].path!==g?c.findIndex(wn.bind(null,a[u-2])):p}),s=R(()=>o.value>-1&&Sd(n.params,r.value.params)),i=R(()=>o.value>-1&&o.value===n.matched.length-1&&Gl(n.params,r.value.params));function l(a={}){return wd(a)?t[It(e.replace)?"replace":"push"](It(e.to)).catch(Vn):Promise.resolve()}return{route:r,href:R(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const bd=de({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:vi,setup(e,{slots:t}){const n=Zn(vi(e)),{options:r}=Ue(Yr),o=R(()=>({[bi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[bi(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&t.default(n);return e.custom?s:Pe("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},s)}}}),yd=bd;function wd(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Sd(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!it(o)||o.length!==r.length||r.some((s,i)=>s!==o[i]))return!1}return!0}function _i(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const bi=(e,t,n)=>e??t??n,Cd=de({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ue(Do),o=R(()=>e.route||r.value),s=Ue(mi,0),i=R(()=>{let u=It(s);const{matched:f}=o.value;let c;for(;(c=f[u])&&!c.components;)u++;return u}),l=R(()=>o.value.matched[i.value]);tn(mi,R(()=>i.value+1)),tn(vd,l),tn(Do,o);const a=le();return Te(()=>[a.value,l.value,e.name],([u,f,c],[p,g,_])=>{f&&(f.instances[c]=u,g&&g!==f&&u&&u===p&&(f.leaveGuards.size||(f.leaveGuards=g.leaveGuards),f.updateGuards.size||(f.updateGuards=g.updateGuards))),u&&f&&(!g||!wn(f,g)||!p)&&(f.enterCallbacks[c]||[]).forEach(y=>y(u))},{flush:"post"}),()=>{const u=o.value,f=e.name,c=l.value,p=c&&c.components[f];if(!p)return yi(n.default,{Component:p,route:u});const g=c.props[f],_=g?g===!0?u.params:typeof g=="function"?g(u):g:null,P=Pe(p,ge({},_,t,{onVnodeUnmounted:A=>{A.component.isUnmounted&&(c.instances[f]=null)},ref:a}));return yi(n.default,{Component:P,route:u})||P}}});function yi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Pd=Cd;function Ed(e){const t=cd(e.routes,e),n=e.parseQuery||gd,r=e.stringifyQuery||gi,o=e.history,s=Tn(),i=Tn(),l=Tn(),a=yt(vt);let u=vt;un&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=go.bind(null,E=>""+E),c=go.bind(null,$f),p=go.bind(null,Kn);function g(E,B){let j,K;return ql(E)?(j=t.getRecordMatcher(E),K=B):K=E,t.addRoute(K,j)}function _(E){const B=t.getRecordMatcher(E);B&&t.removeRoute(B)}function y(){return t.getRoutes().map(E=>E.record)}function P(E){return!!t.getRecordMatcher(E)}function A(E,B){if(B=ge({},B||a.value),typeof E=="string"){const h=mo(n,E,B.path),v=t.resolve({path:h.path},B),k=o.createHref(h.fullPath);return ge(h,v,{params:p(v.params),hash:Kn(h.hash),redirectedFrom:void 0,href:k})}let j;if(E.path!=null)j=ge({},E,{path:mo(n,E.path,B.path).path});else{const h=ge({},E.params);for(const v in h)h[v]==null&&delete h[v];j=ge({},E,{params:c(h)}),B.params=c(B.params)}const K=t.resolve(j,B),he=E.hash||"";K.params=f(p(K.params));const Se=Vf(r,ge({},E,{hash:Df(he),path:K.path})),d=o.createHref(Se);return ge({fullPath:Se,hash:he,query:r===gi?md(E.query):E.query||{}},K,{redirectedFrom:void 0,href:d})}function b(E){return typeof E=="string"?mo(n,E,a.value.path):ge({},E)}function m(E,B){if(u!==E)return Sn(8,{from:B,to:E})}function S(E){return G(E)}function V(E){return S(ge(b(E),{replace:!0}))}function O(E){const B=E.matched[E.matched.length-1];if(B&&B.redirect){const{redirect:j}=B;let K=typeof j=="function"?j(E):j;return typeof K=="string"&&(K=K.includes("?")||K.includes("#")?K=b(K):{path:K},K.params={}),ge({query:E.query,hash:E.hash,params:K.path!=null?{}:E.params},K)}}function G(E,B){const j=u=A(E),K=a.value,he=E.state,Se=E.force,d=E.replace===!0,h=O(j);if(h)return G(ge(b(h),{state:typeof h=="object"?ge({},he,h.state):he,force:Se,replace:d}),B||j);const v=j;v.redirectedFrom=B;let k;return!Se&&jf(r,K,j)&&(k=Sn(16,{to:v,from:K}),ut(K,K,!0,!1)),(k?Promise.resolve(k):w(v,K)).catch(C=>gt(C)?gt(C,2)?C:Pt(C):Y(C,v,K)).then(C=>{if(C){if(gt(C,2))return G(ge({replace:d},b(C.to),{state:typeof C.to=="object"?ge({},he,C.to.state):he,force:Se}),B||v)}else C=x(v,K,!0,d,he);return $(v,K,C),C})}function Q(E,B){const j=m(E,B);return j?Promise.reject(j):Promise.resolve()}function F(E){const B=ln.values().next().value;return B&&typeof B.runWithContext=="function"?B.runWithContext(E):E()}function w(E,B){let j;const[K,he,Se]=kd(E,B);j=vo(K.reverse(),"beforeRouteLeave",E,B);for(const h of K)h.leaveGuards.forEach(v=>{j.push(Rt(v,E,B))});const d=Q.bind(null,E,B);return j.push(d),Xe(j).then(()=>{j=[];for(const h of s.list())j.push(Rt(h,E,B));return j.push(d),Xe(j)}).then(()=>{j=vo(he,"beforeRouteUpdate",E,B);for(const h of he)h.updateGuards.forEach(v=>{j.push(Rt(v,E,B))});return j.push(d),Xe(j)}).then(()=>{j=[];for(const h of Se)if(h.beforeEnter)if(it(h.beforeEnter))for(const v of h.beforeEnter)j.push(Rt(v,E,B));else j.push(Rt(h.beforeEnter,E,B));return j.push(d),Xe(j)}).then(()=>(E.matched.forEach(h=>h.enterCallbacks={}),j=vo(Se,"beforeRouteEnter",E,B,F),j.push(d),Xe(j))).then(()=>{j=[];for(const h of i.list())j.push(Rt(h,E,B));return j.push(d),Xe(j)}).catch(h=>gt(h,8)?h:Promise.reject(h))}function $(E,B,j){l.list().forEach(K=>F(()=>K(E,B,j)))}function x(E,B,j,K,he){const Se=m(E,B);if(Se)return Se;const d=B===vt,h=un?history.state:{};j&&(K||d?o.replace(E.fullPath,ge({scroll:d&&h&&h.scroll},he)):o.push(E.fullPath,he)),a.value=E,ut(E,B,j,d),Pt()}let ee;function me(){ee||(ee=o.listen((E,B,j)=>{if(!cr.listening)return;const K=A(E),he=O(K);if(he){G(ge(he,{replace:!0}),K).catch(Vn);return}u=K;const Se=a.value;un&&zf(li(Se.fullPath,j.delta),Qr()),w(K,Se).catch(d=>gt(d,12)?d:gt(d,2)?(G(d.to,K).then(h=>{gt(h,20)&&!j.delta&&j.type===qn.pop&&o.go(-1,!1)}).catch(Vn),Promise.reject()):(j.delta&&o.go(-j.delta,!1),Y(d,K,Se))).then(d=>{d=d||x(K,Se,!1),d&&(j.delta&&!gt(d,8)?o.go(-j.delta,!1):j.type===qn.pop&>(d,20)&&o.go(-1,!1)),$(K,Se,d)}).catch(Vn)}))}let ve=Tn(),z=Tn(),oe;function Y(E,B,j){Pt(E);const K=z.list();return K.length?K.forEach(he=>he(E,B,j)):console.error(E),Promise.reject(E)}function Oe(){return oe&&a.value!==vt?Promise.resolve():new Promise((E,B)=>{ve.add([E,B])})}function Pt(E){return oe||(oe=!E,me(),ve.list().forEach(([B,j])=>E?j(E):B()),ve.reset()),E}function ut(E,B,j,K){const{scrollBehavior:he}=e;if(!un||!he)return Promise.resolve();const Se=!j&&Jf(li(E.fullPath,0))||(K||!j)&&history.state&&history.state.scroll||null;return Ut().then(()=>he(E,B,Se)).then(d=>d&&qf(d)).catch(d=>Y(d,E,B))}const Ge=E=>o.go(E);let sn;const ln=new Set,cr={currentRoute:a,listening:!0,addRoute:g,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:P,getRoutes:y,resolve:A,options:e,push:S,replace:V,go:Ge,back:()=>Ge(-1),forward:()=>Ge(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:z.add,isReady:Oe,install(E){const B=this;E.component("RouterLink",yd),E.component("RouterView",Pd),E.config.globalProperties.$router=B,Object.defineProperty(E.config.globalProperties,"$route",{enumerable:!0,get:()=>It(a)}),un&&!sn&&a.value===vt&&(sn=!0,S(o.location).catch(he=>{}));const j={};for(const he in vt)Object.defineProperty(j,he,{get:()=>a.value[he],enumerable:!0});E.provide(Yr,B),E.provide(ss,Xi(j)),E.provide(Do,a);const K=E.unmount;ln.add(E),E.unmount=function(){ln.delete(E),ln.size<1&&(u=vt,ee&&ee(),ee=null,a.value=vt,sn=!1,oe=!1),K()}}};function Xe(E){return E.reduce((B,j)=>B.then(()=>F(j)),Promise.resolve())}return cr}function kd(e,t){const n=[],r=[],o=[],s=Math.max(t.matched.length,e.matched.length);for(let i=0;iwn(u,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>wn(u,a))||o.push(a))}return[n,r,o]}function on(){return Ue(Yr)}function Ct(e){return Ue(ss)}var is=Symbol(""),pt=()=>{const e=Ue(is);if(!e)throw new Error("useClientData() is called without provider.");return e},xd=()=>pt().pageComponent,Pn=()=>pt().pageData,ct=()=>pt().pageFrontmatter,Ld=()=>pt().pageHead,Ad=()=>pt().pageLang,Td=()=>pt().pageLayout,ar=()=>pt().routeLocale,Rd=()=>pt().routes,Yl=()=>pt().siteData,ls=()=>pt().siteLocaleData,Od=Symbol(""),Io=yt(wf),_n=yt(Sf),Xl=(e,t)=>{const n=ff(e,t);if(_n.value[n])return n;const r=encodeURI(n);if(_n.value[r])return r;const o=Io.value[n]||Io.value[r];return o||n},zn=(e,t)=>{const{pathname:n,hashAndQueries:r}=Nl(e),o=Xl(n,t),s=o+r;return _n.value[o]?{..._n.value[o],path:s,notFound:!1}:{..._n.value["/404.html"],path:s,notFound:!0}},Dd=(e,t)=>{const{pathname:n,hashAndQueries:r}=Nl(e);return Xl(n,t)+r},Id=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},Xr=de({name:"RouteLink",props:{to:{type:String,required:!0},active:Boolean,activeClass:{type:String,default:"route-link-active"}},slots:Object,setup(e,{slots:t}){const n=on(),r=Ct(),o=R(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${Dd(e.to,r.path).substring(1)}`);return()=>{var s;return Pe("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(i={})=>{Id(i)&&n.push(e.to).catch()}},(s=t.default)==null?void 0:s.call(t))}}}),En=de({name:"AutoLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=fc(e,"config"),r=Ct(),o=Yl(),s=R(()=>lr(n.value.link)),i=R(()=>n.value.target||(s.value?"_blank":void 0)),l=R(()=>i.value==="_blank"),a=R(()=>!s.value&&!l.value),u=R(()=>n.value.rel||(l.value?"noopener noreferrer":null)),f=R(()=>n.value.ariaLabel??n.value.text),c=R(()=>{if(n.value.exact)return!1;const g=Object.keys(o.value.locales);return g.length?g.every(_=>_!==n.value.link):n.value.link!=="/"}),p=R(()=>a.value?n.value.activeMatch?(n.value.activeMatch instanceof RegExp?n.value.activeMatch:new RegExp(n.value.activeMatch,"u")).test(r.path):c.value?r.path.startsWith(n.value.link):r.path===n.value.link:!1);return()=>{const{before:g,after:_,default:y}=t,P=(y==null?void 0:y(n.value))||[g==null?void 0:g(n.value),n.value.text,_==null?void 0:_(n.value)];return a.value?Pe(Xr,{class:"auto-link",to:n.value.link,active:p.value,"aria-label":f.value},()=>P):Pe("a",{class:"auto-link external-link",href:n.value.link,"aria-label":f.value,rel:u.value,target:i.value},P)}}}),as=de({name:"ClientOnly",setup(e,t){const n=le(!1);return je(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),cs=de({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=xd(),n=R(()=>{if(!e.path)return t.value;const r=zn(e.path);return Sc(()=>r.loader().then(({comp:o})=>o))});return()=>Pe(n.value)}}),Md="Layout",$d="en-US",Jt=Zn({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=st(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return vf(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||$d,resolvePageLayout:(e,t)=>{const n=st(e.frontmatter.layout)?e.frontmatter.layout:Md;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>df(e,decodeURI(t)),resolveSiteLocaleData:({base:e,locales:t,...n},r)=>{var o;return{...n,...t[r],head:[...((o=t[r])==null?void 0:o.head)??[],...n.head??[]]}}}),Gt=(e={})=>e,us=e=>Jr(e)?e:`/${Vl(e)}`;function Zr(e){return Fo()?(ji(e),!0):!1}function lt(e){return typeof e=="function"?e():It(e)}const fs=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Nd=Object.prototype.toString,Hd=e=>Nd.call(e)==="[object Object]",Mo=()=>{};function Zl(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const ea=e=>e();function Vd(e,t={}){let n,r,o=Mo;const s=l=>{clearTimeout(l),o(),o=Mo};return l=>{const a=lt(e),u=lt(t.maxWait);return n&&s(n),a<=0||u!==void 0&&u<=0?(r&&(s(r),r=null),Promise.resolve(l())):new Promise((f,c)=>{o=t.rejectOnCancel?c:f,u&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,f(l())},u)),n=setTimeout(()=>{r&&s(r),r=null,f(l())},a)})}}function jd(e=ea){const t=le(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:er(t),pause:n,resume:r,eventFilter:o}}function Fd(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function Bd(e){return rr()}function Wd(e,t=200,n={}){return Zl(Vd(t,n),e)}function Ud(e,t,n={}){const{eventFilter:r=ea,...o}=n;return Te(e,Zl(r,t),o)}function Gd(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=jd(r);return{stop:Ud(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function ds(e,t=!0,n){Bd()?je(e,n):t?e():Ut(e)}function Kd(e,t,n={}){const{immediate:r=!0}=n,o=le(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function l(){o.value=!1,i()}function a(...u){i(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...u)},lt(t))}return r&&(o.value=!0,fs&&a()),Zr(l),{isPending:er(o),start:a,stop:l}}function qd(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=He(e),s=le(e);function i(l){if(arguments.length)return s.value=l,s.value;{const a=lt(n);return s.value=s.value===a?lt(r):a,s.value}}return o?i:[s,i]}function Xt(e){var t;const n=lt(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Vt=fs?window:void 0,ta=fs?window.navigator:void 0;function at(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Vt):[t,n,r,o]=e,!t)return Mo;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},l=(f,c,p,g)=>(f.addEventListener(c,p,g),()=>f.removeEventListener(c,p,g)),a=Te(()=>[Xt(t),lt(o)],([f,c])=>{if(i(),!f)return;const p=Hd(c)?{...c}:c;s.push(...n.flatMap(g=>r.map(_=>l(f,g,_,p))))},{immediate:!0,flush:"post"}),u=()=>{a(),i()};return Zr(u),u}function zd(){const e=le(!1),t=rr();return t&&je(()=>{e.value=!0},t),e}function eo(e){const t=zd();return R(()=>(t.value,!!e()))}function hs(e,t={}){const{window:n=Vt}=t,r=eo(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=le(!1),i=u=>{s.value=u.matches},l=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},a=iu(()=>{r.value&&(l(),o=n.matchMedia(lt(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return Zr(()=>{a(),l(),o=void 0}),s}function wi(e,t={}){const{controls:n=!1,navigator:r=ta}=t,o=eo(()=>r&&"permissions"in r),s=yt(),i=typeof e=="string"?{name:e}:e,l=yt(),a=()=>{var f,c;l.value=(c=(f=s.value)==null?void 0:f.state)!=null?c:"prompt"};at(s,"change",a);const u=Fd(async()=>{if(o.value){if(!s.value)try{s.value=await r.permissions.query(i)}catch{s.value=void 0}finally{a()}if(n)return ue(s.value)}});return u(),n?{state:l,isSupported:o,query:u}:l}function Jd(e={}){const{navigator:t=ta,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=eo(()=>t&&"clipboard"in t),l=wi("clipboard-read"),a=wi("clipboard-write"),u=R(()=>i.value||s),f=le(""),c=le(!1),p=Kd(()=>c.value=!1,o);function g(){i.value&&A(l.value)?t.clipboard.readText().then(b=>{f.value=b}):f.value=P()}u.value&&n&&at(["copy","cut"],g);async function _(b=lt(r)){u.value&&b!=null&&(i.value&&A(a.value)?await t.clipboard.writeText(b):y(b),f.value=b,c.value=!0,p.start())}function y(b){const m=document.createElement("textarea");m.value=b??"",m.style.position="absolute",m.style.opacity="0",document.body.appendChild(m),m.select(),document.execCommand("copy"),m.remove()}function P(){var b,m,S;return(S=(m=(b=document==null?void 0:document.getSelection)==null?void 0:b.call(document))==null?void 0:m.toString())!=null?S:""}function A(b){return b==="granted"||b==="prompt"}return{isSupported:u,text:f,copied:c,copy:_}}const br=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},yr="__vueuse_ssr_handlers__",Qd=Yd();function Yd(){return yr in br||(br[yr]=br[yr]||{}),br[yr]}function Xd(e,t){return Qd[e]||t}function Zd(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const eh={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Si="vueuse-storage";function na(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:u=!1,shallow:f,window:c=Vt,eventFilter:p,onError:g=w=>{console.error(w)},initOnMounted:_}=r,y=(f?yt:le)(typeof t=="function"?t():t);if(!n)try{n=Xd("getDefaultStorage",()=>{var w;return(w=Vt)==null?void 0:w.localStorage})()}catch(w){g(w)}if(!n)return y;const P=lt(t),A=Zd(P),b=(o=r.serializer)!=null?o:eh[A],{pause:m,resume:S}=Gd(y,()=>O(y.value),{flush:s,deep:i,eventFilter:p});c&&l&&ds(()=>{n instanceof Storage?at(c,"storage",Q):at(c,Si,F),_&&Q()}),_||Q();function V(w,$){if(c){const x={key:e,oldValue:w,newValue:$,storageArea:n};c.dispatchEvent(n instanceof Storage?new StorageEvent("storage",x):new CustomEvent(Si,{detail:x}))}}function O(w){try{const $=n.getItem(e);if(w==null)V($,null),n.removeItem(e);else{const x=b.write(w);$!==x&&(n.setItem(e,x),V($,x))}}catch($){g($)}}function G(w){const $=w?w.newValue:n.getItem(e);if($==null)return a&&P!=null&&n.setItem(e,b.write(P)),P;if(!w&&u){const x=b.read($);return typeof u=="function"?u(x,P):A==="object"&&!Array.isArray(x)?{...P,...x}:x}else return typeof $!="string"?$:b.read($)}function Q(w){if(!(w&&w.storageArea!==n)){if(w&&w.key==null){y.value=P;return}if(!(w&&w.key!==e)){m();try{(w==null?void 0:w.newValue)!==b.write(y.value)&&(y.value=G(w))}catch($){g($)}finally{w?Ut(S):S()}}}}function F(w){Q(w.detail)}return y}function th(e){return hs("(prefers-color-scheme: dark)",e)}function nh(e,t,n={}){const{window:r=Vt,...o}=n;let s;const i=eo(()=>r&&"ResizeObserver"in r),l=()=>{s&&(s.disconnect(),s=void 0)},a=R(()=>{const c=lt(e);return Array.isArray(c)?c.map(p=>Xt(p)):[Xt(c)]}),u=Te(a,c=>{if(l(),i.value&&r){s=new ResizeObserver(t);for(const p of c)p&&s.observe(p,o)}},{immediate:!0,flush:"post"}),f=()=>{l(),u()};return Zr(f),{isSupported:i,stop:f}}function rh(e,t={width:0,height:0},n={}){const{window:r=Vt,box:o="content-box"}=n,s=R(()=>{var c,p;return(p=(c=Xt(e))==null?void 0:c.namespaceURI)==null?void 0:p.includes("svg")}),i=le(t.width),l=le(t.height),{stop:a}=nh(e,([c])=>{const p=o==="border-box"?c.borderBoxSize:o==="content-box"?c.contentBoxSize:c.devicePixelContentBoxSize;if(r&&s.value){const g=Xt(e);if(g){const _=g.getBoundingClientRect();i.value=_.width,l.value=_.height}}else if(p){const g=Array.isArray(p)?p:[p];i.value=g.reduce((_,{inlineSize:y})=>_+y,0),l.value=g.reduce((_,{blockSize:y})=>_+y,0)}else i.value=c.contentRect.width,l.value=c.contentRect.height},n);ds(()=>{const c=Xt(e);c&&(i.value="offsetWidth"in c?c.offsetWidth:t.width,l.value="offsetHeight"in c?c.offsetHeight:t.height)});const u=Te(()=>Xt(e),c=>{i.value=c?t.width:0,l.value=c?t.height:0});function f(){a(),u()}return{width:i,height:l,stop:f}}function oh(e={}){const{window:t=Vt,behavior:n="auto"}=e;if(!t)return{x:le(0),y:le(0)};const r=le(t.scrollX),o=le(t.scrollY),s=R({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=R({get(){return o.value},set(l){scrollTo({top:l,behavior:n})}});return at(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:i}}function sh(e={}){const{window:t=Vt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:s=!0,type:i="inner"}=e,l=le(n),a=le(r),u=()=>{t&&(i==="outer"?(l.value=t.outerWidth,a.value=t.outerHeight):s?(l.value=t.innerWidth,a.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(u(),ds(u),at("resize",u,{passive:!0}),o){const f=hs("(orientation: portrait)");Te(f,()=>u())}return{width:l,height:a}}const Ci=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},ih=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=on();at("scroll",Wd(()=>{var _,y;const i=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(i-0)c.some(A=>A.hash===P.hash));for(let P=0;P=(((_=A.parentElement)==null?void 0:_.offsetTop)??0)-r,S=!b||i<(((y=b.parentElement)==null?void 0:y.offsetTop)??0)-r;if(!(m&&S))continue;const O=decodeURIComponent(o.currentRoute.value.hash),G=decodeURIComponent(A.hash);if(O===G)return;if(f){for(let Q=P+1;Q{const t=ar();return R(()=>e[t.value]??{})},hh=()=>{const e=Rd();return R(()=>Object.keys(e.value))},_o=(e,t)=>{var r;const n=(r=rr())==null?void 0:r.appContext.components;return n?e in n||Ye(e)in n||Yn(Ye(e))in n:!1},ph=e=>new Promise(t=>{setTimeout(t,e)}),gh=(e,t=2)=>{if(t===!1)return[];const[n,r]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t,o=e.filter(i=>i.level>=n&&i.level<=r),s=[];e:for(let i=0;i=0;a--){const u=o[a];if(u.level{let n;if(t.length){const r=e.cloneNode(!0);r.querySelectorAll(t.join(",")).forEach(o=>{o.remove()}),n=r.textContent||""}else n=e.textContent||"";return n.trim()},vh=({selector:e=[...new Array(6)].map((r,o)=>`[vp-content] h${o+1}`).join(","),levels:t=2,ignore:n=[]}={})=>{const r=Array.from(document.querySelectorAll(e)).filter(o=>o.id&&o.hasChildNodes()).map(o=>{const s=Number(o.tagName[1]);return{element:o,title:mh(o,n),link:`#${o.id}`,slug:o.id,level:s}});return gh(r,t)},_h=e=>typeof e<"u",oa=(e,t)=>st(e)&&e.startsWith(t),{keys:bh}=Object,sa=e=>oa(e,"/");var yh={"/eng/":{backToTop:"Back to top"},"/":{backToTop:"Вернуться к началу"}};const wh=de({name:"BackToTop",setup(){const e=ct(),t=ra(yh),n=yt(),{height:r}=rh(n),{height:o}=sh(),{y:s}=oh(),i=R(()=>e.value.backToTop!==!1&&s.value>100),l=R(()=>s.value/(r.value-o.value)*100);return je(()=>{n.value=document.body}),()=>Pe(ir,{name:"back-to-top"},()=>i.value?Pe("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[Pe("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":l.value},Pe("svg",Pe("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*l.value*.48} ${Math.PI*(100-l.value)*.48}`}))),Pe("div",{class:"back-to-top-icon"})]):null)}}),Sh=Gt({rootComponents:[wh]}),Ch=Object.freeze(Object.defineProperty({__proto__:null,default:Sh},Symbol.toStringTag,{value:"Module"})),Ph=/language-(shellscript|shell|bash|sh|zsh)/,Eh=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o,ignoreSelector:s=[],transform:i})=>{const l=hs("(max-width: 419px)"),a=R(()=>!l.value||o),u=ra(n),f=Pn(),c=P=>{var b;if(P.hasAttribute("copy-code"))return;const A=document.createElement("button");A.type="button",A.classList.add("vp-copy-code-button"),A.setAttribute("aria-label",u.value.copy),A.setAttribute("data-copied",u.value.copied),(b=P.parentElement)==null||b.insertBefore(A,P),P.setAttribute("copy-code","")};Te(()=>[f.value.path,a.value],async()=>{document.body.classList.toggle("no-copy-code",!a.value),a.value&&(await Ut(),await ph(e),document.querySelectorAll(r.join(",")).forEach(c))},{immediate:!0});const{copy:g}=Jd({legacy:!0}),_=new WeakMap,y=async(P,A,b)=>{const m=A.cloneNode(!0);s.length&&m.querySelectorAll(s.join(",")).forEach(O=>{O.remove()}),i&&i(m);let S=m.textContent||"";if(Ph.test(P.className)&&(S=S.replace(/^ *(\$|>) /gm,"")),await g(S),t<=0)return;b.classList.add("copied"),clearTimeout(_.get(b));const V=setTimeout(()=>{b.classList.remove("copied"),b.blur(),_.delete(b)},t);_.set(b,V)};at("click",P=>{const A=P.target;if(a.value&&A.matches('div[class*="language-"] > button.vp-copy-code-button')){const b=A.parentElement,m=A.nextElementSibling;if(!b||!m)return;y(b,m,A)}})};var kh=[],xh={"/eng/":{copy:"Copy code",copied:"Copied"},"/":{copy:"Скопировать код",copied:"Скопировано"}},Lh=['[vp-content] div[class*="language-"] pre'];const Ah=Gt({setup:()=>{Eh({selector:Lh,ignoreSelector:kh,locales:xh,duration:2e3,delay:500,showInMobile:!1})}}),Th=Object.freeze(Object.defineProperty({__proto__:null,default:Ah},Symbol.toStringTag,{value:"Module"})),Rh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const Pi=(e,t)=>{e.classList.add(t)},Ei=(e,t)=>{e.classList.remove(t)},Oh=e=>{var t;(t=e==null?void 0:e.parentNode)==null||t.removeChild(e)},bo=(e,t,n)=>en?n:e,ki=e=>(-1+e)*100,Dh=(()=>{const e=[],t=()=>{const n=e.shift();n&&n(t)};return n=>{e.push(n),e.length===1&&t()}})(),Ih=e=>e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(t,n)=>n.toUpperCase()),wr=(()=>{const e=["Webkit","O","Moz","ms"],t={},n=s=>{const{style:i}=document.body;if(s in i)return s;const l=s.charAt(0).toUpperCase()+s.slice(1);let a=e.length;for(;a--;){const u=`${e[a]}${l}`;if(u in i)return u}return s},r=s=>{const i=Ih(s);return t[i]??(t[i]=n(i))},o=(s,i,l)=>{s.style[r(i)]=l};return(s,i)=>{for(const l in i){const a=i[l];Object.hasOwn(i,l)&&_h(a)&&o(s,l,a)}}})(),mt={minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},Ee={percent:null,isRendered:()=>!!document.getElementById("nprogress"),set:e=>{const{speed:t,easing:n}=mt,r=Ee.isStarted(),o=bo(e,mt.minimum,1);Ee.percent=o===1?null:o;const s=Ee.render(!r),i=s.querySelector(mt.barSelector);return s.offsetWidth,Dh(l=>{wr(i,{transform:`translate3d(${ki(o)}%,0,0)`,transition:`all ${t}ms ${n}`}),o===1?(wr(s,{transition:"none",opacity:"1"}),s.offsetWidth,setTimeout(()=>{wr(s,{transition:`all ${t}ms linear`,opacity:"0"}),setTimeout(()=>{Ee.remove(),l()},t)},t)):setTimeout(()=>{l()},t)}),Ee},isStarted:()=>typeof Ee.percent=="number",start:()=>{Ee.percent||Ee.set(0);const e=()=>{setTimeout(()=>{Ee.percent&&(Ee.trickle(),e())},mt.trickleSpeed)};return e(),Ee},done:e=>!e&&!Ee.percent?Ee:Ee.increase(.3+.5*Math.random()).set(1),increase:e=>{let{percent:t}=Ee;return t?(t=bo(t+(typeof e=="number"?e:(1-t)*bo(Math.random()*t,.1,.95)),0,.994),Ee.set(t)):Ee.start()},trickle:()=>Ee.increase(Math.random()*mt.trickleRate),render:e=>{if(Ee.isRendered())return document.getElementById("nprogress");Pi(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=mt.template;const n=t.querySelector(mt.barSelector),r=document.querySelector(mt.parent),o=e?"-100":ki(Ee.percent??0);return wr(n,{transition:"all 0 linear",transform:`translate3d(${o}%,0,0)`}),r&&(r!==document.body&&Pi(r,"nprogress-custom-parent"),r.appendChild(t)),t},remove:()=>{Ei(document.documentElement,"nprogress-busy"),Ei(document.querySelector(mt.parent),"nprogress-custom-parent"),Oh(document.getElementById("nprogress"))}},Mh=()=>{je(()=>{const e=on(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||Ee.start()}),e.afterEach(n=>{t.add(n.path),Ee.done()})})},$h=Gt({setup(){Mh()}}),Nh=Object.freeze(Object.defineProperty({__proto__:null,default:$h},Symbol.toStringTag,{value:"Module"})),Hh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Vh=JSON.parse(`{"repo":"https://git.pleshevski.ru/pleshevskiy/pleshevski.ru","locales":{"/":{"selectLanguageName":"Русский","navbar":["/","/works"],"notFound":["Верните страницу!","Мы потеряли страницу...","Вы заблокированы в лабиринте.","Искали кота?","Страница украдена.","Ошиблись в параллельной вселенной."],"backToHome":"Вернуться на главную","worksTable":{"name":"Название","description":"Описание","role":"Роль","technologies":"Технологии","status":"Статус","dates":"Даты"}},"/eng/":{"selectLanguageName":"English","navbar":["/eng/","/eng/works"],"notFound":["Return the page!","We lost a page...","You're blocked in a labyrinth.","Looking for a cat?","The page has been stolen.","Wrong turn in parallel universe."],"backToHome":"Back to home","worksTable":{"name":"Name","description":"Description","role":"Role","technologies":"Technologies","status":"Status","dates":"Dates"}}},"colorMode":"auto","colorModeSwitch":true,"navbar":[],"logo":null,"selectLanguageText":"Languages","selectLanguageAriaLabel":"Select language","sidebar":"heading","sidebarDepth":2,"editLink":true,"editLinkText":"Edit this page","lastUpdated":true,"lastUpdatedText":"Last Updated","contributors":true,"contributorsText":"Contributors","notFound":["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],"backToHome":"Take me home","openInNewWindow":"open in new window","toggleColorMode":"toggle color mode","toggleSidebar":"toggle sidebar"}`),jh=le(Vh),ia=()=>jh,la=Symbol(""),Fh=()=>{const e=Ue(la);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Bh=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Wh=Gt({enhance({app:e}){const t=ia(),n=e._context.provides[is],r=R(()=>Bh(t.value,n.routeLocale.value));e.provide(la,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Uh=Object.freeze(Object.defineProperty({__proto__:null,default:Wh},Symbol.toStringTag,{value:"Module"})),Gh=()=>ia(),De=()=>Fh(),aa=Symbol(""),Kh=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.dataset.theme=n?"dark":"light"};je(()=>{Te(e,t,{immediate:!0})}),Kr(()=>{t()})},to=()=>{const e=Ue(aa);if(!e)throw new Error("useDarkMode() is called without provider.");return e},qh=()=>{const e=De(),t=th(),n=na("vuepress-color-scheme",e.value.colorMode),r=R({get(){return e.value.colorModeSwitch?n.value==="auto"?t.value:n.value==="dark":e.value.colorMode==="dark"},set(o){o===t.value?n.value="auto":n.value=o?"dark":"light"}});tn(aa,r),Kh(r)};let yo=null,Rn=null;const zh={wait:()=>yo,pending:()=>{yo=new Promise(e=>{Rn=e})},resolve:()=>{Rn==null||Rn(),yo=null,Rn=null}},ca=()=>zh,Cn=(e,t)=>{const{notFound:n,meta:r,path:o}=zn(e,t);return n?{text:o,link:o}:{text:r.title||o,link:o}},xi=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),Jh=(e,t)=>{if(t.hash===e)return!0;const n=xi(t.path),r=xi(e);return n===r},ua=(e,t)=>e.link&&Jh(e.link,t)?!0:"children"in e?e.children.some(n=>ua(n,t)):!1,fa=e=>!cf(e)&&!lr(e),da=e=>!Jr(e)||e.includes("github.com")?"GitHub":e.includes("bitbucket.org")?"Bitbucket":e.includes("gitlab.com")?"GitLab":e.includes("gitee.com")?"Gitee":null,Qh={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},Yh=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=da(e);return n!==null?Qh[n]:null},Xh=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Yh({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,Jr(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,Vl(`${Hl(n)}/${r}`)):null},bn=(e="",t="")=>sa(t)||lr(t)?t:`${_f(e)}${t}`,xr=le([]),Zh=()=>{const e=on(),t=De(),n=ct(),r=R(()=>n.value.sidebarDepth??t.value.sidebarDepth??2);e.beforeEach((s,i)=>{s.path!==i.path&&(xr.value=[])});const o=()=>{if(r.value<=0){xr.value=[];return}xr.value=vh({levels:[2,r.value+1],ignore:[".vp-badge"]})};Te(r,o),je(o)},ep=()=>xr,tp=e=>({text:e.title,link:e.link,children:ps(e.children)}),ps=e=>e?e.map(t=>tp(t)):[],ha=(e,t)=>[{text:e.title,children:ps(t)}],pa=(e,t,n,r="")=>{const o=(s,i)=>{var a;const l=st(s)?Cn(bn(i,s)):st(s.link)?{...s,link:fa(s.link)?Cn(bn(i,s.link)).link:s.link}:s;if("children"in l)return{...l,children:l.children.map(u=>o(u,bn(i,l.prefix)))};if(l.link===n){const u=((a=t[0])==null?void 0:a.level)===1?t[0].children:t;return{...l,children:ps(u)}}return l};return e.map(s=>o(s,r))},np=(e,t,n,r)=>{const o=bh(e).sort((s,i)=>i.length-s.length);for(const s of o)if(oa(decodeURI(r),s)){const i=e[s];return i?i==="heading"?ha(t,n):pa(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},ga=Symbol("sidebarItems"),gs=()=>{const e=Ue(ga);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},rp=(e,t,n,r,o)=>e===!1?[]:e==="heading"?ha(t,o):Array.isArray(e)?pa(e,o,n,r):rs(e)?np(e,t,o,n):[],op=()=>{const e=De(),t=ct(),n=Pn(),r=Ct(),o=ar(),s=ep(),i=R(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),l=R(()=>rp(i.value,n.value,r.path,o.value,s.value));tn(ga,l)},sp=de({__name:"Badge",props:{type:{default:"tip"},text:{default:""},vertical:{default:void 0}},setup(e,{expose:t}){t();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),ye=(e,t)=>{const n=e.__vccOpts||e;for(const[r,o]of t)n[r]=o;return n};function ip(e,t,n,r,o,s){return N(),X("span",{class:We(["vp-badge",n.type]),style:Xn({verticalAlign:n.vertical})},[ke(e.$slots,"default",{},()=>[Ht(ae(n.text),1)])],6)}const lp=ye(sp,[["render",ip],["__file","Badge.vue"]]),ap=de({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=le([]),r=to(),o=le();je(()=>{if(!o.value)return;const c=o.value.querySelector('div[class*="language-"]');if(c&&c.dataset.highlighter==="shiki"){const p=c.style.getPropertyValue("--shiki-light"),g=c.style.getPropertyValue("--shiki-dark"),_=c.style.getPropertyValue("--shiki-light-bg"),y=c.style.getPropertyValue("--shiki-dark-bg");Te(r,P=>{o.value.style.setProperty("--vp-c-code-tab-bg",P?y:_),o.value.style.setProperty("--vp-c-code-tab-title",P?g:p)},{immediate:!0})}});const s=le(-1),i=na("vuepress-code-group",{}),l=R(()=>n.value.map(c=>c.innerText).join(","));je(()=>{Te(()=>i.value[l.value],(c=-1)=>{s.value!==c&&(s.value=c)},{immediate:!0}),Te(s,c=>{i.value[l.value]!==c&&(i.value[l.value]=c)})});const a=(c=s.value)=>{c{c>0?s.value=c-1:s.value=n.value.length-1,n.value[s.value].focus()},f=(c,p)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),s.value=p):c.key==="ArrowRight"?(c.preventDefault(),a(p)):c.key==="ArrowLeft"&&(c.preventDefault(),u(p))};return()=>{var p;const c=(((p=t.default)==null?void 0:p.call(t))??[]).filter(g=>g.type.name==="CodeGroupItem").map(g=>(g.props===null&&(g.props={}),g));return c.length===0?null:(s.value<0||s.value>c.length-1?(s.value=c.findIndex(g=>g.props.active===""||g.props.active===!0),s.value===-1&&(s.value=0)):c.forEach((g,_)=>{g.props.active=_===s.value}),Pe("div",{class:"code-group",ref:o},[Pe("div",{class:"code-group-nav",role:"tablist"},c.map((g,_)=>{const y=_===s.value;return Pe("button",{ref:P=>{P&&(n.value[_]=P)},class:{"code-group-nav-tab":!0,active:y},role:"tab",ariaSelected:y,onClick:()=>{s.value=_},onKeydown:P=>{f(P,_)}},g.props.title)})),c]))}}}),cp=de({name:"CodeGroupItem",__name:"CodeGroupItem",props:{title:{},active:{type:Boolean}},setup(e,{expose:t}){t();const n={};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}});function up(e,t,n,r,o,s){return N(),X("div",{class:We(["code-group-item",{active:n.active}]),role:"tabpanel"},[ke(e.$slots,"default")],2)}const fp=ye(cp,[["render",up],["__file","CodeGroupItem.vue"]]),dp=de({__name:"VPHomeFeatures",setup(e,{expose:t}){t();const n=ct(),r=R(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),hp={key:0,class:"vp-features"};function pp(e,t,n,r,o,s){return r.features.length?(N(),X("div",hp,[(N(!0),X(_e,null,wt(r.features,i=>(N(),X("div",{key:i.title,class:"vp-feature"},[U("h2",null,ae(i.title),1),U("p",null,ae(i.details),1)]))),128))])):Ae("",!0)}const gp=ye(dp,[["render",pp],["__file","VPHomeFeatures.vue"]]),mp=de({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=ct(),r=R(()=>n.value.footer),o=R(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),vp=["innerHTML"],_p=["textContent"];function bp(e,t,n,r,o,s){return r.footer?(N(),X(_e,{key:0},[r.footerHtml?(N(),X("div",{key:0,class:"vp-footer","vp-footer":"",innerHTML:r.footer},null,8,vp)):(N(),X("div",{key:1,class:"vp-footer","vp-footer":"",textContent:ae(r.footer)},null,8,_p))],64)):Ae("",!0)}const yp=ye(mp,[["render",bp],["__file","VPHomeFooter.vue"]]),wp=de({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=ct(),r=ls(),o=to(),s=R(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),i=R(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),l=R(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),a=R(()=>n.value.heroAlt||s.value||"hero"),u=R(()=>n.value.heroHeight??280),f=R(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:g,link:_,type:y="primary"})=>({text:g,link:_,type:y})):[]),p={frontmatter:n,siteLocale:r,isDarkMode:o,heroText:s,tagline:i,heroImage:l,heroAlt:a,heroHeight:u,actions:f,HomeHeroImage:()=>{if(!l.value)return null;const g=Pe("img",{class:"vp-hero-image",src:us(l.value),alt:a.value,height:u.value});return n.value.heroImageDark===void 0?g:Pe(as,()=>g)},get AutoLink(){return En}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Sp={class:"vp-hero"},Cp={key:0,id:"main-title"},Pp={key:1,class:"vp-hero-description"},Ep={key:2,class:"vp-hero-actions"};function kp(e,t,n,r,o,s){return N(),X("header",Sp,[te(r.HomeHeroImage),r.heroText?(N(),X("h1",Cp,ae(r.heroText),1)):Ae("",!0),r.tagline?(N(),X("p",Pp,ae(r.tagline),1)):Ae("",!0),r.actions.length?(N(),X("p",Ep,[(N(!0),X(_e,null,wt(r.actions,i=>(N(),xe(r.AutoLink,{key:i.text,class:We(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):Ae("",!0)])}const xp=ye(wp,[["render",kp],["__file","VPHomeHero.vue"]]),Lp=de({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:gp,VPHomeFooter:yp,VPHomeHero:xp,get Content(){return cs}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Ap={class:"vp-home"},Tp={class:"theme-default-content","vp-content":""};function Rp(e,t,n,r,o,s){return N(),X("main",Ap,[te(r.VPHomeHero),te(r.VPHomeFeatures),U("div",Tp,[te(r.Content)]),te(r.VPHomeFooter)])}const Op=ye(Lp,[["render",Rp],["__file","VPHome.vue"]]),Dp=de({__name:"VPNavbarBrand",setup(e,{expose:t}){t();const n=ar(),r=ls(),o=De(),s=to(),i=R(()=>o.value.home||n.value),l=R(()=>r.value.title),a=R(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),u=R(()=>o.value.logoAlt??l.value),f=R(()=>l.value.toLocaleUpperCase().trim()===u.value.toLocaleUpperCase().trim()),p={routeLocale:n,siteLocale:r,themeLocale:o,isDarkMode:s,navbarBrandLink:i,navbarBrandTitle:l,navbarBrandLogo:a,navbarBrandLogoAlt:u,navBarLogoAltMatchesTitle:f,NavbarBrandLogo:()=>{if(!a.value)return null;const g=Pe("img",{class:"vp-site-logo",src:us(a.value),alt:u.value});return o.value.logoDark===void 0?g:Pe(as,()=>g)},get RouteLink(){return Xr}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Ip=["aria-hidden"];function Mp(e,t,n,r,o,s){return N(),xe(r.RouteLink,{to:r.navbarBrandLink},{default:Le(()=>[te(r.NavbarBrandLogo),r.navbarBrandTitle?(N(),X("span",{key:0,class:We(["vp-site-name",{"vp-hide-mobile":r.navbarBrandLogo}]),"aria-hidden":r.navBarLogoAltMatchesTitle},ae(r.navbarBrandTitle),11,Ip)):Ae("",!0)]),_:1},8,["to"])}const $p=ye(Dp,[["render",Mp],["__file","VPNavbarBrand.vue"]]),Np=de({__name:"VPDropdownTransition",setup(e,{expose:t}){t();const o={setHeight:s=>{s.style.height=`${s.scrollHeight}px`},unsetHeight:s=>{s.style.height=""}};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function Hp(e,t,n,r,o,s){return N(),xe(ir,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:Le(()=>[ke(e.$slots,"default")]),_:3})}const ma=ye(Np,[["render",Hp],["__file","VPDropdownTransition.vue"]]),Vp=de({__name:"VPNavbarDropdown",props:{item:{}},setup(e,{expose:t}){t();const n=e,{item:r}=rl(n),o=Ct(),s=le(!1),i=R(()=>r.value.ariaLabel||r.value.text),l=(f,c)=>c[c.length-1]===f,a=f=>{const c=f.detail===0;s.value=c?!s.value:!1};Te(()=>o.path,()=>{s.value=!1});const u={props:n,item:r,route:o,open:s,dropdownAriaLabel:i,isLastItemOfArray:l,handleDropdown:a,VPDropdownTransition:ma,get AutoLink(){return En}};return Object.defineProperty(u,"__isScriptSetup",{enumerable:!1,value:!0}),u}}),jp=["aria-label"],Fp={class:"title"},Bp=U("span",{class:"arrow down"},null,-1),Wp=["aria-label"],Up={class:"title"},Gp={class:"vp-navbar-dropdown"},Kp={class:"vp-navbar-dropdown-subtitle"},qp={key:1},zp={class:"vp-navbar-dropdown-subitem-wrapper"};function Jp(e,t,n,r,o,s){return N(),X("div",{class:We(["vp-navbar-dropdown-wrapper",{open:r.open}])},[U("button",{class:"vp-navbar-dropdown-title",type:"button","aria-label":r.dropdownAriaLabel,onClick:r.handleDropdown},[U("span",Fp,ae(r.item.text),1),Bp],8,jp),U("button",{class:"vp-navbar-dropdown-title-mobile",type:"button","aria-label":r.dropdownAriaLabel,onClick:t[0]||(t[0]=i=>r.open=!r.open)},[U("span",Up,ae(r.item.text),1),U("span",{class:We(["arrow",r.open?"down":"right"])},null,2)],8,Wp),te(r.VPDropdownTransition,null,{default:Le(()=>[Rr(U("ul",Gp,[(N(!0),X(_e,null,wt(r.item.children,i=>(N(),X("li",{key:i.text,class:"vp-navbar-dropdown-item"},["children"in i?(N(),X(_e,{key:0},[U("h4",Kp,[i.link?(N(),xe(r.AutoLink,{key:0,config:i,onFocusout:l=>r.isLastItemOfArray(i,r.item.children)&&i.children.length===0&&(r.open=!1)},null,8,["config","onFocusout"])):(N(),X("span",qp,ae(i.text),1))]),U("ul",zp,[(N(!0),X(_e,null,wt(i.children,l=>(N(),X("li",{key:l.link,class:"vp-navbar-dropdown-subitem"},[te(r.AutoLink,{config:l,onFocusout:a=>r.isLastItemOfArray(l,i.children)&&r.isLastItemOfArray(i,r.item.children)&&(r.open=!1)},null,8,["config","onFocusout"])]))),128))])],64)):(N(),xe(r.AutoLink,{key:1,config:i,onFocusout:l=>r.isLastItemOfArray(i,r.item.children)&&(r.open=!1)},null,8,["config","onFocusout"]))]))),128))],512),[[Hr,r.open]])]),_:1})],2)}const Qp=ye(Vp,[["render",Jp],["__file","VPNavbarDropdown.vue"]]),va=(e,t="")=>st(e)?Cn(bn(t,e)):"children"in e?{...e,children:e.children.map(n=>va(n,bn(t,e.prefix)))}:{...e,link:fa(e.link)?Cn(bn(t,e.link)).link:e.link},Yp=()=>{const e=De();return R(()=>(e.value.navbar||[]).map(t=>va(t)))},Xp=()=>{const e=De(),t=R(()=>e.value.repo),n=R(()=>t.value?da(t.value):null),r=R(()=>t.value&&!Jr(t.value)?`https://github.com/${t.value}`:t.value),o=R(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return R(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},Zp=()=>{const e=Ct(),t=hh(),n=ar(),r=Yl(),o=ls(),s=Gh(),i=De();return R(()=>{const l=Object.keys(r.value.locales);if(l.length<2)return[];const a=e.path,u=e.fullPath;return[{text:`${i.value.selectLanguageText}`,ariaLabel:`${i.value.selectLanguageAriaLabel??i.value.selectLanguageText}`,children:l.map(c=>{var A,b;const p=((A=r.value.locales)==null?void 0:A[c])??{},g=((b=s.value.locales)==null?void 0:b[c])??{},_=`${p.lang}`,y=g.selectLanguageName??_;if(_===o.value.lang)return{text:y,activeMatch:".",link:e.fullPath};const P=a.replace(n.value,c);return{text:y,link:t.value.some(m=>m===P)?u.replace(a,P):g.home??c}})}]})},eg="719px",tg={mobile:eg};var Jn;(function(e){e.Mobile="mobile"})(Jn||(Jn={}));const ng={[Jn.Mobile]:Number.parseInt(tg.mobile.replace("px",""),10)},_a=(e,t)=>{const n=ng[e];Number.isInteger(n)&&(at("orientationchange",()=>{t(n)},!1),at("resize",()=>{t(n)},!1),je(()=>{t(n)}))},rg=de({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=Yp(),r=Zp(),o=Xp(),s=le(!1),i=R(()=>De().value.navbarLabel??"site navigation"),l=R(()=>[...n.value,...r.value,...o.value]);_a(Jn.Mobile,u=>{s.value=window.innerWidth(N(),X("div",{key:i.text,class:"vp-navbar-item"},["children"in i?(N(),xe(r.VPNavbarDropdown,{key:0,class:We({mobile:r.isMobile}),item:i},null,8,["class","item"])):(N(),xe(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,og)):Ae("",!0)}const ba=ye(rg,[["render",sg],["__file","VPNavbarItems.vue"]]),ig={},lg={class:"dark-icon",viewBox:"0 0 32 32"},ag=U("path",{d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z",fill:"currentColor"},null,-1),cg=[ag];function ug(e,t){return N(),X("svg",lg,cg)}const fg=ye(ig,[["render",ug],["__file","VPDarkIcon.vue"]]),dg={},hg={class:"light-icon",viewBox:"0 0 32 32"},pg=_u('',9),gg=[pg];function mg(e,t){return N(),X("svg",hg,gg)}const vg=ye(dg,[["render",mg],["__file","VPLightIcon.vue"]]),_g=de({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=De(),r=to(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:fg,VPLightIcon:vg};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),bg=["title"];function yg(e,t,n,r,o,s){return N(),X("button",{type:"button",class:"vp-toggle-color-mode-button",title:r.themeLocale.toggleColorMode,onClick:r.toggleColorMode},[Rr(te(r.VPLightIcon,null,null,512),[[Hr,!r.isDarkMode]]),Rr(te(r.VPDarkIcon,null,null,512),[[Hr,r.isDarkMode]])],8,bg)}const wg=ye(_g,[["render",yg],["__file","VPToggleColorModeButton.vue"]]),Sg=de({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:De()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Cg=["title"],Pg=U("div",{class:"icon","aria-hidden":"true"},[U("span"),U("span"),U("span")],-1),Eg=[Pg];function kg(e,t,n,r,o,s){return N(),X("div",{class:"vp-toggle-sidebar-button",title:r.themeLocale.toggleSidebar,"aria-expanded":"false",role:"button",tabindex:"0",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},Eg,8,Cg)}const xg=ye(Sg,[["render",kg],["__file","VPToggleSidebarButton.vue"]]),Lg=de({__name:"VPNavbar",emits:["toggleSidebar"],setup(e,{expose:t}){t();const n=De(),r=le(null),o=le(null),s=le(0),i=R(()=>s.value?{maxWidth:`${s.value}px`}:{}),l=(u,f)=>{var g;const c=(g=u==null?void 0:u.ownerDocument.defaultView)==null?void 0:g.getComputedStyle(u,null)[f],p=Number.parseInt(c,10);return Number.isNaN(p)?0:p};_a(Jn.Mobile,u=>{var c;const f=l(r.value,"paddingLeft")+l(r.value,"paddingRight");window.innerWidthe.$emit("toggleSidebar"))}),U("span",Tg,[te(r.VPNavbarBrand)],512),U("div",{class:"vp-navbar-items-wrapper",style:Xn(r.linksWrapperStyle)},[ke(e.$slots,"before"),te(r.VPNavbarItems,{class:"vp-hide-mobile"}),ke(e.$slots,"after"),r.themeLocale.colorModeSwitch?(N(),xe(r.VPToggleColorModeButton,{key:0})):Ae("",!0),te(i)],4)],512)}const Og=ye(Lg,[["render",Rg],["__file","VPNavbar.vue"]]),Dg={},Ig={class:"edit-icon",viewBox:"0 0 1024 1024"},Mg=U("g",{fill:"currentColor"},[U("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),U("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})],-1),$g=[Mg];function Ng(e,t){return N(),X("svg",Ig,$g)}const Hg=ye(Dg,[["render",Ng],["__file","VPEditIcon.vue"]]),Vg=()=>{const e=De(),t=Pn(),n=ct();return R(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},jg=()=>{const e=De(),t=Pn(),n=ct();return R(()=>{if(!(n.value.editLink??e.value.editLink??!0))return null;const{repo:o,docsRepo:s=o,docsBranch:i="main",docsDir:l="",editLinkText:a}=e.value;if(!s)return null;const u=Xh({docsRepo:s,docsBranch:i,docsDir:l,filePathRelative:t.value.filePathRelative,editLinkPattern:n.value.editLinkPattern??e.value.editLinkPattern});return u?{text:a??"Edit this page",link:u}:null})},Fg=()=>{const e=De(),t=Pn(),n=ct();return R(()=>{var s;return!(n.value.lastUpdated??e.value.lastUpdated??!0)||!((s=t.value.git)!=null&&s.updatedTime)?null:new Date(t.value.git.updatedTime).toLocaleString()})},Bg=de({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=De(),r=jg(),o=Fg(),s=Vg(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:Hg,get AutoLink(){return En}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),Wg={class:"vp-page-meta"},Ug={key:0,class:"vp-meta-item edit-link"},Gg={class:"vp-meta-item git-info"},Kg={key:0,class:"vp-meta-item last-updated"},qg={class:"meta-item-label"},zg={class:"meta-item-info"},Jg={key:1,class:"vp-meta-item contributors"},Qg={class:"meta-item-label"},Yg={class:"meta-item-info"},Xg=["title"];function Zg(e,t,n,r,o,s){const i=Xo("ClientOnly");return N(),X("footer",Wg,[r.editLink?(N(),X("div",Ug,[te(r.AutoLink,{class:"label",config:r.editLink},{before:Le(()=>[te(r.VPEditIcon)]),_:1},8,["config"])])):Ae("",!0),U("div",Gg,[r.lastUpdated?(N(),X("div",Kg,[U("span",qg,ae(r.themeLocale.lastUpdatedText)+": ",1),te(i,null,{default:Le(()=>[U("span",zg,ae(r.lastUpdated),1)]),_:1})])):Ae("",!0),r.contributors&&r.contributors.length?(N(),X("div",Jg,[U("span",Qg,ae(r.themeLocale.contributorsText)+": ",1),U("span",Yg,[(N(!0),X(_e,null,wt(r.contributors,(l,a)=>(N(),X(_e,{key:a},[U("span",{class:"contributor",title:`email: ${l.email}`},ae(l.name),9,Xg),a!==r.contributors.length-1?(N(),X(_e,{key:0},[Ht(", ")],64)):Ae("",!0)],64))),128))])])):Ae("",!0)])])}const em=ye(Bg,[["render",Zg],["__file","VPPageMeta.vue"]]),tm=()=>{const e=on(),t=Ct();return n=>{n&&(sa(n)?t.path!==n&&e.push(n):lr(n)?window.open(n):e.push(encodeURI(n)))}},Li=(e,t)=>e===!1?!1:st(e)?Cn(e,t):rs(e)?{...e,link:Cn(e.link,t).link}:null,$o=(e,t,n)=>{const r=e.findIndex(s=>s.link===t);if(r!==-1){const s=e[r+n];return s?s.link?s:"prefix"in s&&!zn(s.prefix).notFound?{...s,link:s.prefix}:null:null}for(const s of e)if("children"in s){const i=$o(s.children,t,n);if(i)return i}const o=e.findIndex(s=>"prefix"in s&&s.prefix===t);if(o!==-1){const s=e[o+n];return s?s.link?s:"prefix"in s&&!zn(s.prefix).notFound?{...s,link:s.prefix}:null:null}return null},nm=()=>{const e=ct(),t=De(),n=gs(),r=Ct(),o=R(()=>{const i=Li(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:$o(n.value,r.path,-1))}),s=R(()=>{const i=Li(e.value.next,r.path);return i===!1?null:i??(t.value.next===!1?null:$o(n.value,r.path,1))});return{prevLink:o,nextLink:s}},rm=de({__name:"VPPageNav",setup(e,{expose:t}){t();const n=De(),r=tm(),{prevLink:o,nextLink:s}=nm(),i=R(()=>n.value.pageNavbarLabel??"page navigation");at("keydown",a=>{a.altKey&&(a.key==="ArrowRight"?s.value&&(r(s.value.link),a.preventDefault()):a.key==="ArrowLeft"&&o.value&&(r(o.value.link),a.preventDefault()))});const l={themeLocale:n,navigate:r,prevLink:o,nextLink:s,navbarLabel:i,get AutoLink(){return En}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),om=["aria-label"],sm={class:"hint"},im=U("span",{class:"arrow left"},null,-1),lm={class:"link"},am={class:"hint"},cm=U("span",{class:"arrow right"},null,-1),um={class:"link"};function fm(e,t,n,r,o,s){return r.prevLink||r.nextLink?(N(),X("nav",{key:0,class:"vp-page-nav","aria-label":r.navbarLabel},[r.prevLink?(N(),xe(r.AutoLink,{key:0,class:"prev",config:r.prevLink},{default:Le(()=>[U("div",sm,[im,Ht(" "+ae(r.themeLocale.prev??"Prev"),1)]),U("div",lm,[U("span",null,ae(r.prevLink.text),1)])]),_:1},8,["config"])):Ae("",!0),r.nextLink?(N(),xe(r.AutoLink,{key:1,class:"next",config:r.nextLink},{default:Le(()=>[U("div",am,[Ht(ae(r.themeLocale.next??"Next")+" ",1),cm]),U("div",um,[U("span",null,ae(r.nextLink.text),1)])]),_:1},8,["config"])):Ae("",!0)],8,om)):Ae("",!0)}const dm=ye(rm,[["render",fm],["__file","VPPageNav.vue"]]),hm=de({__name:"VPPage",setup(e,{expose:t}){t(),Zh();const n={VPPageMeta:em,VPPageNav:dm,get Content(){return cs}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),pm={class:"vp-page"},gm={class:"theme-default-content","vp-content":""};function mm(e,t,n,r,o,s){return N(),X("main",pm,[ke(e.$slots,"top"),U("div",gm,[ke(e.$slots,"content-top"),te(r.Content),ke(e.$slots,"content-bottom")]),te(r.VPPageMeta),te(r.VPPageNav),ke(e.$slots,"bottom")])}const vm=ye(hm,[["render",mm],["__file","VPPage.vue"]]),_m=de({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=rl(n),s=Ct(),i=on(),l=R(()=>"collapsible"in r.value&&r.value.collapsible),a=R(()=>ua(r.value,s)),u=R(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:a.value,collapsible:l.value})),f=R(()=>l.value?a.value:!0),[c,p]=qd(f.value),g=P=>{l.value&&(P.preventDefault(),p())},_=i.afterEach(()=>{Ut(()=>{c.value=f.value})});Yo(()=>{_()});const y={props:n,item:r,depth:o,route:s,router:i,collapsible:l,isActive:a,itemClass:u,isOpenDefault:f,isOpen:c,toggleIsOpen:p,onClick:g,unregisterRouterHook:_,VPDropdownTransition:ma,get AutoLink(){return En}};return Object.defineProperty(y,"__isScriptSetup",{enumerable:!1,value:!0}),y}}),bm={class:"vp-sidebar-children"};function ym(e,t,n,r,o,s){const i=Xo("VPSidebarItem",!0);return N(),X("li",null,[r.item.link?(N(),xe(r.AutoLink,{key:0,class:We(r.itemClass),config:r.item},null,8,["class","config"])):(N(),X("p",{key:1,tabindex:"0",class:We(r.itemClass),onClick:r.onClick,onKeydown:tf(r.onClick,["enter"])},[Ht(ae(r.item.text)+" ",1),r.collapsible?(N(),X("span",{key:0,class:We(["arrow",r.isOpen?"down":"right"])},null,2)):Ae("",!0)],34)),"children"in r.item&&r.item.children.length?(N(),xe(r.VPDropdownTransition,{key:2},{default:Le(()=>[Rr(U("ul",bm,[(N(!0),X(_e,null,wt(r.item.children,l=>(N(),xe(i,{key:`${r.depth}${l.text}${l.link}`,item:l,depth:r.depth+1},null,8,["item","depth"]))),128))],512),[[Hr,r.isOpen]])]),_:1})):Ae("",!0)])}const wm=ye(_m,[["render",ym],["__file","VPSidebarItem.vue"]]),Sm=de({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=Ct(),r=gs();je(()=>{Te(()=>n.hash,s=>{const i=document.querySelector(".vp-sidebar");if(!i)return;const l=document.querySelector(`.vp-sidebar a.vp-sidebar-item[href="${n.path}${s}"]`);if(!l)return;const{top:a,height:u}=i.getBoundingClientRect(),{top:f,height:c}=l.getBoundingClientRect();fa+u&&l.scrollIntoView(!1)})});const o={route:n,sidebarItems:r,VPSidebarItem:wm};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),Cm={key:0,class:"vp-sidebar-items"};function Pm(e,t,n,r,o,s){return r.sidebarItems.length?(N(),X("ul",Cm,[(N(!0),X(_e,null,wt(r.sidebarItems,i=>(N(),xe(r.VPSidebarItem,{key:`${i.text}${i.link}`,item:i},null,8,["item"]))),128))])):Ae("",!0)}const Em=ye(Sm,[["render",Pm],["__file","VPSidebarItems.vue"]]),km=de({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:ba,VPSidebarItems:Em};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),xm={class:"vp-sidebar","vp-sidebar":""};function Lm(e,t,n,r,o,s){return N(),X("aside",xm,[te(r.VPNavbarItems),ke(e.$slots,"top"),te(r.VPSidebarItems),ke(e.$slots,"bottom")])}const Am=ye(km,[["render",Lm],["__file","VPSidebar.vue"]]),Tm=de({__name:"Layout",setup(e,{expose:t}){t();const n=Pn(),r=ct(),o=De(),s=R(()=>r.value.navbar!==!1&&o.value.navbar!==!1),i=gs(),l=le(!1),a=m=>{l.value=typeof m=="boolean"?m:!l.value},u={x:0,y:0},f=m=>{u.x=m.changedTouches[0].clientX,u.y=m.changedTouches[0].clientY},c=m=>{const S=m.changedTouches[0].clientX-u.x,V=m.changedTouches[0].clientY-u.y;Math.abs(S)>Math.abs(V)&&Math.abs(S)>40&&(S>0&&u.x<=80?a(!0):a(!1))},p=R(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),g=R(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":l.value,"external-link-icon":p.value},r.value.pageClass]);let _;je(()=>{_=on().afterEach(()=>{a(!1)})}),Kr(()=>{_()});const y=ca(),P=y.resolve,A=y.pending,b={page:n,frontmatter:r,themeLocale:o,shouldShowNavbar:s,sidebarItems:i,isSidebarOpen:l,toggleSidebar:a,touchStart:u,onTouchStart:f,onTouchEnd:c,enableExternalLinkIcon:p,containerClass:g,get unregisterRouterHook(){return _},set unregisterRouterHook(m){_=m},scrollPromise:y,onBeforeEnter:P,onBeforeLeave:A,VPHome:Op,VPNavbar:Og,VPPage:vm,VPSidebar:Am};return Object.defineProperty(b,"__isScriptSetup",{enumerable:!1,value:!0}),b}});function Rm(e,t,n,r,o,s){return N(),X("div",{class:We(["vp-theme-container",r.containerClass]),"vp-container":"",onTouchstart:r.onTouchStart,onTouchend:r.onTouchEnd},[ke(e.$slots,"navbar",{},()=>[r.shouldShowNavbar?(N(),xe(r.VPNavbar,{key:0,onToggleSidebar:r.toggleSidebar},{before:Le(()=>[ke(e.$slots,"navbar-before")]),after:Le(()=>[ke(e.$slots,"navbar-after")]),_:3})):Ae("",!0)]),U("div",{class:"vp-sidebar-mask",onClick:t[0]||(t[0]=i=>r.toggleSidebar(!1))}),ke(e.$slots,"sidebar",{},()=>[te(r.VPSidebar,null,{top:Le(()=>[ke(e.$slots,"sidebar-top")]),bottom:Le(()=>[ke(e.$slots,"sidebar-bottom")]),_:3})]),ke(e.$slots,"page",{},()=>[r.frontmatter.home?(N(),xe(r.VPHome,{key:0})):(N(),xe(ir,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:r.onBeforeEnter,onBeforeLeave:r.onBeforeLeave},{default:Le(()=>[(N(),xe(r.VPPage,{key:r.page.path},{top:Le(()=>[ke(e.$slots,"page-top")]),"content-top":Le(()=>[ke(e.$slots,"page-content-top")]),"content-bottom":Le(()=>[ke(e.$slots,"page-content-bottom")]),bottom:Le(()=>[ke(e.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34)}const ya=ye(Tm,[["render",Rm],["__file","Layout.vue"]]),Om=de({__name:"NotFound",setup(e,{expose:t}){t();const n=ar(),r=De(),o=r.value.notFound??["Not Found"],s=()=>o[Math.floor(Math.random()*o.length)],i=r.value.home??n.value,l=r.value.backToHome??"Back to home",a={routeLocale:n,themeLocale:r,messages:o,getMsg:s,homeLink:i,homeText:l,get RouteLink(){return Xr}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Dm=e=>(vc("data-v-1c3b23e8"),e=e(),_c(),e),Im={class:"vp-theme-container","vp-container":""},Mm={class:"page"},$m={class:"theme-default-content","vp-content":""},Nm=Dm(()=>U("h1",null,"404",-1));function Hm(e,t,n,r,o,s){return N(),X("div",Im,[U("main",Mm,[U("div",$m,[Nm,U("blockquote",null,ae(r.getMsg()),1),te(r.RouteLink,{to:r.homeLink},{default:Le(()=>[Ht(ae(r.homeText),1)]),_:1},8,["to"])])])])}const Vm=ye(Om,[["render",Hm],["__scopeId","data-v-1c3b23e8"],["__file","NotFound.vue"]]),jm=Gt({enhance({app:e,router:t}){_o("Badge")||e.component("Badge",lp),_o("CodeGroup")||e.component("CodeGroup",ap),_o("CodeGroupItem")||e.component("CodeGroupItem",fp),e.component("VPSearch",()=>{const r=e.component("Docsearch")??e.component("SearchBox");return r?Pe(r):null});const n=t.options.scrollBehavior;t.options.scrollBehavior=async(...r)=>(await ca().wait(),n(...r))},setup(){qh(),op()},layouts:{Layout:ya,NotFound:Vm}}),Fm=Object.freeze(Object.defineProperty({__proto__:null,default:jm},Symbol.toStringTag,{value:"Module"}));function Bm(e){return Fo()?(ji(e),!0):!1}function ms(e){return typeof e=="function"?e():It(e)}const Wm=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Um=Object.prototype.toString,Gm=e=>Um.call(e)==="[object Object]",Km=()=>{};function qm(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const wa=e=>e();function zm(e=wa){const t=le(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:er(t),pause:n,resume:r,eventFilter:o}}function Jm(e){return rr()}function Qm(e,t,n={}){const{eventFilter:r=wa,...o}=n;return Te(e,qm(r,t),o)}function Ym(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=zm(r);return{stop:Qm(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function Xm(e,t=!0,n){Jm()?je(e,n):t?e():Ut(e)}function Zm(e){var t;const n=ms(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Vr=Wm?window:void 0;function Ai(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Vr):[t,n,r,o]=e,!t)return Km;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},l=(f,c,p,g)=>(f.addEventListener(c,p,g),()=>f.removeEventListener(c,p,g)),a=Te(()=>[Zm(t),ms(o)],([f,c])=>{if(i(),!f)return;const p=Gm(c)?{...c}:c;s.push(...n.flatMap(g=>r.map(_=>l(f,g,_,p))))},{immediate:!0,flush:"post"}),u=()=>{a(),i()};return Bm(u),u}const Sr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Cr="__vueuse_ssr_handlers__",ev=tv();function tv(){return Cr in Sr||(Sr[Cr]=Sr[Cr]||{}),Sr[Cr]}function nv(e,t){return ev[e]||t}function rv(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const ov={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Ti="vueuse-storage";function sv(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:u=!1,shallow:f,window:c=Vr,eventFilter:p,onError:g=w=>{console.error(w)},initOnMounted:_}=r,y=(f?yt:le)(typeof t=="function"?t():t);if(!n)try{n=nv("getDefaultStorage",()=>{var w;return(w=Vr)==null?void 0:w.localStorage})()}catch(w){g(w)}if(!n)return y;const P=ms(t),A=rv(P),b=(o=r.serializer)!=null?o:ov[A],{pause:m,resume:S}=Ym(y,()=>O(y.value),{flush:s,deep:i,eventFilter:p});c&&l&&Xm(()=>{Ai(c,"storage",Q),Ai(c,Ti,F),_&&Q()}),_||Q();function V(w,$){c&&c.dispatchEvent(new CustomEvent(Ti,{detail:{key:e,oldValue:w,newValue:$,storageArea:n}}))}function O(w){try{const $=n.getItem(e);if(w==null)V($,null),n.removeItem(e);else{const x=b.write(w);$!==x&&(n.setItem(e,x),V($,x))}}catch($){g($)}}function G(w){const $=w?w.newValue:n.getItem(e);if($==null)return a&&P!=null&&n.setItem(e,b.write(P)),P;if(!w&&u){const x=b.read($);return typeof u=="function"?u(x,P):A==="object"&&!Array.isArray(x)?{...P,...x}:x}else return typeof $!="string"?$:b.read($)}function Q(w){if(!(w&&w.storageArea!==n)){if(w&&w.key==null){y.value=P;return}if(!(w&&w.key!==e)){m();try{(w==null?void 0:w.newValue)!==b.write(y.value)&&(y.value=G(w))}catch($){g($)}finally{w?Ut(S):S()}}}}function F(w){Q(w.detail)}return y}function iv(e,t,n={}){const{window:r=Vr}=n;return sv(e,t,r==null?void 0:r.sessionStorage,n)}const lv=Object.entries;var av={autoLocale:!1,switchLocale:!1,localeConfig:{"/eng/":["en-US"]},defaultLocale:"/eng/",localeFallback:!0,defaultBehavior:"defaultLocale"};const cv=av;lv(cv.localeConfig);iv("VUEPRESS_REDIRECT_LOCALES",{});const uv=Gt({setup(){},rootComponents:[]}),fv=Object.freeze(Object.defineProperty({__proto__:null,default:uv},Symbol.toStringTag,{value:"Module"}));var ie=(e=>(e.Collaborator="collaborator",e.Author="author",e.TechLead="tech lead",e.TeamLead="team lead",e.Developer="developer",e))(ie||{}),fe=(e=>(e.ActiveDeveloped="actively-developed",e.PassivelyMaintained="passively-maintained",e.AsIs="as-is",e.Experimental="experimental",e.LookingForMaintainer="looking-for-maintainer",e.Deprecated="deprecated",e))(fe||{}),D=(e=>(e.C="C",e.Go="Go",e.JavaScript="JS",e.TypeScript="TS",e.Rust="Rust",e.Python="Python",e.Php="PHP",e.Deno="Deno",e.NodeJS="NodeJS",e.Flask="Flask",e.React="React",e.Antd="Antd",e.Postgresql="PostgreSQL",e.Docker="Docker",e.Drone="Drone CI",e.Woodpecker="Woodpecker CI",e.Bash="Bash",e.TreeSitter="TreeSitter",e.Nix="Nix",e.Lua="Lua",e.Sqlite="Sqlite",e.Vue="Vue",e.Vuepress="Vuepress",e.Godot="Godot",e.Haskell="Haskell",e))(D||{});const dv=[{name:"picsg",url:"/pleshevskiy/picsg",description:"A tool for steganographing information in a picture encoded using the Vernam cipher.",roles:[ie.Author],technologies:[D.Haskell],startDate:new Date("2024-04-13"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"Mindustry tools",url:"/pleshevskiy/mindustry-tools",description:"Tools for the Mindustry game",roles:[ie.Author],technologies:[D.Nix,D.Godot],startDate:new Date("2024-01-07"),status:fe.PassivelyMaintained},{name:"Master Progress Rosmintrud tools",url:"https://rosmintrud.masterprogress.ru",description:"Internal service to prepare documents for the rosmintrud (SPA)",roles:[ie.TechLead],technologies:[D.Deno,D.Sqlite,D.TypeScript,D.Vue,D.Docker,D.Woodpecker,D.Nix],startDate:new Date("2023-07-03"),status:fe.PassivelyMaintained},{name:"yandexgpt_tg_bot",url:"/pleshevskiy/yandexgpt_tg_bot",description:"The Telegram bot to describe article with link by YandexGPT.",roles:[ie.Author],technologies:[D.JavaScript,D.NodeJS,D.Nix],startDate:new Date("2023-06-27"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"tree-sitter-plpgsql",url:"/pleshevskiy/tree-sitter-plpgsql",description:"plpgsql grammar for tree-sitter",roles:[ie.Author],technologies:[D.C,D.JavaScript,D.TreeSitter,D.Nix],startDate:new Date("2023-01-05"),status:fe.PassivelyMaintained},{name:"wd2",url:"/pleshevskiy/wd2",description:"A wrapper over d2 which allows to use additional configs from d2 file",roles:[ie.Author],technologies:[D.Bash,D.Nix],startDate:new Date("2022-12-12"),endDate:new Date("2023-07-31"),status:fe.AsIs},{name:"tree-sitter-d2",url:"/pleshevskiy/tree-sitter-d2",description:"d2 grammar for tree-sitter",roles:[ie.Author],technologies:[D.C,D.JavaScript,D.TreeSitter,D.Nix],startDate:new Date("2022-12-04"),status:fe.ActiveDeveloped},{name:"nix2lua",url:"/mynix/nix2lua",description:"This is a small but functional library that converts your nix configurations into lua format.",roles:[ie.Author],technologies:[D.Nix,D.Lua],startDate:new Date("2022-11-22"),status:fe.PassivelyMaintained},{name:"vnetod",url:"/pleshevskiy/vnetod",description:"Dotenv section switcher",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-07-29"),status:fe.PassivelyMaintained},{name:"estring",url:"/pleshevskiy/estring",description:"A simple way to parse a string using type annotations.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-07-23"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"enve",url:"/pleshevskiy/enve",description:"It helps you work with environment variables and convert it to any type using only type annotations",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-07-18"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"docker stack drone plugin",url:"/pleshevskiy/docker_stack",description:"Deploy to production using `docker stack deploy`",roles:[ie.Author],technologies:[D.Docker,D.Drone,D.Woodpecker],startDate:new Date("2022-06-06"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"dexios",url:"/github/dexios",description:"Dexios is a fast, secure, and open source command-line encryption tool.",roles:[ie.Collaborator],technologies:[D.Rust],startDate:new Date("2022-06-01"),endDate:new Date("2023-02-28")},{name:"recipes",url:"/pleshevskiy/recipes",description:"Site with recipes which cares about privacy",roles:[ie.Author],technologies:[D.TypeScript,D.Deno,D.Rust],startDate:new Date("2022-05-04"),status:fe.PassivelyMaintained},{name:"pleshevski.ru",url:"/pleshevskiy/pleshevski.ru",description:"Source code of my personal site",roles:[ie.Author],technologies:[D.TypeScript,D.Vue,D.Vuepress,D.Nix],startDate:new Date("2022-03-16"),status:fe.PassivelyMaintained},{name:"paren",url:"/pleshevskiy/paren",description:"Library for parsing and rendering information.",roles:[ie.Author],technologies:[D.TypeScript,D.Deno],startDate:new Date("2022-03-14"),endDate:new Date("2024-07-25"),status:fe.Experimental},{name:"hwt",url:"/pleshevskiy/hwt",description:"healthy workaholic timer – A tool that keeps you from breaking your health by working all day.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2022-02-04"),endDate:new Date("2024-07-25"),status:fe.AsIs},{name:"ood_persistence",url:"/pleshevskiy/ood_persistence",description:"Asynchronous and synchronous interfaces and persistence implementations for your OOD architecture ",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2021-10-12"),endDate:new Date("2021-10-21"),status:fe.Deprecated},{name:"migra",url:"/pleshevskiy/migra",description:"Simple SQL migration manager for your project.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2021-01-31"),endDate:new Date("2022-03-17"),status:fe.AsIs},{name:"espruino-starter",url:"/pleshevskiy/espruino-starter",description:"Quickly start creating your new project on the espruino board or a board based on it.",roles:[ie.Author],technologies:[D.JavaScript],startDate:new Date("2021-08-23"),status:fe.AsIs},{name:"react-rest-request",url:"/pleshevskiy/react-rest-request",description:"Minimalistic REST API client for React inspired by Apollo.",roles:[ie.Author],technologies:[D.TypeScript,D.React],startDate:new Date("2020-10-04"),endDate:new Date("2023-03-02"),status:fe.Deprecated},{name:"sonic-channel",url:"/pleshevskiy/sonic-channel",description:"Rust client for sonic search backend.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2020-07-18"),status:fe.PassivelyMaintained},{name:"itconfig",url:"/pleshevskiy/itconfig",description:"Easy build a configs from environment variables and use it in globally.",roles:[ie.Author],technologies:[D.Rust],startDate:new Date("2019-12-22"),endDate:new Date("2022-07-24"),status:fe.Deprecated},{name:"it-fsm",url:"/pleshevskiy/it-fsm",description:"Simple full-featured finite state machine for your project",roles:[ie.Author],technologies:[D.TypeScript,D.NodeJS,D.Deno],startDate:new Date("2019-10-11"),status:fe.PassivelyMaintained},{name:"Cabinet Master Progress",url:"https://cabinet.masterprogress.ru",description:"Student's cabinet of the educational center Master Progress (SSR + SPA)",roles:[ie.TechLead],technologies:[D.Python,D.Flask,D.Postgresql,D.TypeScript,D.React,D.Docker,D.Woodpecker,D.Nix],startDate:new Date("2019-09-22"),status:fe.PassivelyMaintained},{name:"genrss",url:"/pleshevskiy/genrss",description:"RSS generator for python",roles:[ie.Author],technologies:[D.Python],startDate:new Date("2019-07-23"),status:fe.AsIs},{name:"marshmallow_pageinfo",url:"/pleshevskiy/marshmallow_pageinfo",description:"Page info marshmallow schema for api",roles:[ie.Author],technologies:[D.Python],startDate:new Date("2019-10-05"),endDate:new Date("2023-03-02"),status:fe.AsIs},{name:"Binary Management",url:"https://www.binarymanagement.com",description:"Project management tool for interior designers",roles:[ie.Developer,ie.TechLead,ie.TeamLead],technologies:[D.TypeScript,D.NodeJS,D.React,D.Antd,D.Docker,D.Drone,D.Rust,D.Nix],startDate:new Date("2018-09-15"),status:fe.ActiveDeveloped},{name:"Core Spirit",url:"https://corespirit.com",description:"Social platform focusing on human and planetary enhancement",roles:[ie.Developer],technologies:[D.TypeScript,D.NodeJS,D.Go,D.Python,D.React,D.Docker,D.Drone],startDate:new Date("2018-09-05"),endDate:new Date("2019-12-31")},{name:"Master Progress",url:"https://masterprogress.ru",description:"Main website of the educational center Master Progress (SSR + Forms)",roles:[ie.TechLead],technologies:[D.Python,D.Flask,D.JavaScript,D.Nix],startDate:new Date("2018-04-10"),status:fe.PassivelyMaintained},{name:"ictmpl",url:"/pleshevskiy/ictmpl",description:"Generate projects from templates",roles:[ie.Author],technologies:[D.Python],startDate:new Date("2018-06-30"),endDate:new Date("2023-03-02"),status:fe.AsIs},{name:"jjcrypto",url:"/pleshevskiy/jjcrypto",description:"Javascript encoder and decoder",roles:[ie.Author],technologies:[D.Php],startDate:new Date("2015-11-01"),endDate:new Date("2015-11-01"),status:fe.AsIs}];function hv(e){return e.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})}const pv=e=>e.url.startsWith("https://")?e.url:new URL(e.url,"https://git.pleshevski.ru").toString(),gv=Object.freeze(Object.defineProperty({__proto__:null,getExternalLink:pv},Symbol.toStringTag,{value:"Module"}));function On(e){return(e==null?void 0:e.valueOf())??1/0}const mv={name:"WorksPage",computed:{tableTheme(){return this.$themeLocale.worksTable??{}}}},vv=de({...mv,setup(e,{expose:t}){t();const n=R(()=>dv.concat().sort((o,s)=>On(s.endDate)-On(o.endDate)||On(s.startDate)-On(o.startDate))),r={date2num:On,works:n,get renderDate(){return hv},get w(){return gv}};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),_v=["href"],bv=["innerHTML"],yv={key:0};function wv(e,t,n,r,o,s){return N(),X("table",null,[U("thead",null,[U("tr",null,[U("th",null,ae(s.tableTheme.name),1),U("th",null,ae(s.tableTheme.description),1),U("th",null,ae(s.tableTheme.role),1),U("th",null,ae(s.tableTheme.technologies),1),U("th",null,ae(s.tableTheme.status),1),U("th",null,ae(s.tableTheme.dates),1)])]),U("tbody",null,[(N(!0),X(_e,null,wt(r.works,i=>(N(),X("tr",null,[U("td",null,[U("a",{rel:"nofollow noopener",href:r.w.getExternalLink(i)},ae(i.name),9,_v)]),U("td",null,ae(i.description),1),U("td",{innerHTML:i.roles.join(", ")},null,8,bv),U("td",null,ae(i.technologies.join(", ")),1),U("td",null,ae(i.status),1),U("td",null,[U("div",null,[U("small",{class:We({grey:i.endDate})},ae(r.renderDate(i.startDate)),3)]),i.endDate?(N(),X("div",yv,[U("small",null,ae(r.renderDate(i.endDate)),1)])):Ae("",!0)])]))),256))])])}const Sv=ye(vv,[["render",wv],["__file","ChronologicalWorksTable.vue"]]),Cv={__name:"WorksPage",setup(e,{expose:t}){t();const n={ParentLayout:ya,get ChronologicalWorksTable(){return Sv}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},Pv={class:"works-table-wrapper"};function Ev(e,t,n,r,o,s){return N(),xe(r.ParentLayout,null,{"page-bottom":Le(()=>[U("div",Pv,[te(r.ChronologicalWorksTable)])]),_:1})}const kv=ye(Cv,[["render",Ev],["__scopeId","data-v-765855fb"],["__file","WorksPage.vue"]]),xv=Gt({layouts:{WorksPage:kv}}),Lv=Object.freeze(Object.defineProperty({__proto__:null,default:xv},Symbol.toStringTag,{value:"Module"})),Pr=[dh,Ch,Th,Rh,Nh,Hh,Uh,Fm,fv,Lv].map(e=>e.default).filter(Boolean),Av=JSON.parse('{"base":"/","lang":"ru-RU","title":"Дмитрий Плешевский","description":" ","head":[],"locales":{"/":{"lang":"ru-RU","title":"Дмитрий Плешевский"},"/eng/":{"lang":"en-US","title":"Dmitriy Pleshevskiy"}}}');var In=yt(Av),Tv=Zf,Rv=()=>{const e=Ed({history:Tv(Hl("/")),routes:[{name:"vuepress-route",path:"/:catchAll(.*)",components:{}}],scrollBehavior:(t,n,r)=>r||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{if(t.path!==n.path||n===vt){const r=zn(t.fullPath);if(r.path!==t.fullPath)return r.path;const o=await r.loader();t.meta={...r.meta,_pageChunk:o}}else t.path===n.path&&(t.meta=n.meta)}),e},Ov=e=>{e.component("ClientOnly",as),e.component("Content",cs),e.component("RouteLink",Xr)},Dv=(e,t,n)=>{const r=R(()=>t.currentRoute.value.path),o=ac((P,A)=>({get(){return P(),t.currentRoute.value.meta._pageChunk},set(b){t.currentRoute.value.meta._pageChunk=b,A()}})),s=R(()=>Jt.resolveLayouts(n)),i=R(()=>Jt.resolveRouteLocale(In.value.locales,r.value)),l=R(()=>Jt.resolveSiteLocaleData(In.value,i.value)),a=R(()=>o.value.comp),u=R(()=>o.value.data),f=R(()=>u.value.frontmatter),c=R(()=>Jt.resolvePageHeadTitle(u.value,l.value)),p=R(()=>Jt.resolvePageHead(c.value,f.value,l.value)),g=R(()=>Jt.resolvePageLang(u.value,l.value)),_=R(()=>Jt.resolvePageLayout(u.value,s.value)),y={layouts:s,pageData:u,pageComponent:a,pageFrontmatter:f,pageHead:p,pageHeadTitle:c,pageLang:g,pageLayout:_,redirects:Io,routeLocale:i,routePath:r,routes:_n,siteData:In,siteLocaleData:l};return e.provide(is,y),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>f.value},$head:{get:()=>p.value},$headTitle:{get:()=>c.value},$lang:{get:()=>g.value},$page:{get:()=>u.value},$routeLocale:{get:()=>i.value},$site:{get:()=>In.value},$siteLocale:{get:()=>l.value},$withBase:{get:()=>us}}),y},Iv=()=>{const e=Ld(),t=Ad();let n=[];const r=()=>{e.value.forEach(i=>{const l=Mv(i);l&&n.push(l)})},o=()=>{const i=[];return e.value.forEach(l=>{const a=$v(l);a&&i.push(a)}),i},s=()=>{document.documentElement.lang=t.value;const i=o();n.forEach((l,a)=>{const u=i.findIndex(f=>l.isEqualNode(f));u===-1?(l.remove(),delete n[a]):i.splice(u,1)}),i.forEach(l=>document.head.appendChild(l)),n=[...n.filter(l=>!!l),...i]};tn(Od,s),je(()=>{r(),Te(e,s,{immediate:!1})})},Mv=([e,t,n=""])=>{const r=Object.entries(t).map(([l,a])=>st(a)?`[${l}=${JSON.stringify(a)}]`:a===!0?`[${l}]`:"").join(""),o=`head > ${e}${r}`;return Array.from(document.querySelectorAll(o)).find(l=>l.innerText===n)||null},$v=([e,t,n])=>{if(!st(e))return null;const r=document.createElement(e);return rs(t)&&Object.entries(t).forEach(([o,s])=>{st(s)?r.setAttribute(o,s):s===!0&&r.setAttribute(o,"")}),st(n)&&r.appendChild(document.createTextNode(n)),r},Nv=of,Hv=async()=>{var n;const e=Nv({name:"Vuepress",setup(){var s;Iv();for(const i of Pr)(s=i.setup)==null||s.call(i);const r=Pr.flatMap(({rootComponents:i=[]})=>i.map(l=>Pe(l))),o=Td();return()=>[Pe(o.value),r]}}),t=Rv();Ov(e),Dv(e,t,Pr);for(const r of Pr)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:In}));return e.use(t),{app:e,router:t}};Hv().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{ye as _,U as a,Ht as b,X as c,Hv as createVueApp,te as d,_u as e,N as o,Xo as r,Le as w}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = [] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} diff --git a/dist/assets/index.html-D2WI0AD-.js b/dist/assets/index.html-BCgSEOwK.js similarity index 55% rename from dist/assets/index.html-D2WI0AD-.js rename to dist/assets/index.html-BCgSEOwK.js index 72bf10a..623af34 100644 --- a/dist/assets/index.html-D2WI0AD-.js +++ b/dist/assets/index.html-BCgSEOwK.js @@ -1 +1 @@ -import{_ as l,c as a,a as r,b as e,d as o,w as s,e as t,r as n,o as d}from"./app-CICBSUru.js";const c={},p=t('

Overview

My name is Dmitriy Pleshevskiy.

I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor.

Skills

Programming Languages:

  • TypeScript (prefer, solid 9-year exp)
  • SQL (prefer, solid 8-year exp)
  • Rust (prefer, solid 5-year exp)
  • Python (solid 9-year exp)
  • Haskell
  • Bash (8-year exp)
  • Java
  • C#
  • C++

Repositories:

  • PostgreSQL (prefer, solid 8-year exp)
  • MySQL
  • Sqlite
  • MsSQL
  • MongoDB
  • Reddis
  • Minio (prefer, solid 5-year exp)

I also have extensive experience in creating the following applications:

  • Traditional (SSR + Forms)
  • API (REST/GraphQL/WebSocket/EventSource)
  • Dynamic (SPA)
  • Hybrid (SSR + SPA)
  • Console
  • Cross-platform

Stack

Backend (Rust)

  • axum (prefer, solid 2-year exp)
  • async-graphql (prefer, solid 2-year exp)
  • shaku (prefer, solid 2-year exp)
  • bb8 + postgres-types (prefer, solid 5-year exp)
  • diesel (2-year exp)

Backend (Node.JS)

  • Apollo (solid 5-year exp)
  • Express (solid 9-year exp)
  • Nest.JS
  • Knex.js / Objection.js (solid 5-year exp)
  • Sequelize

Frontend

  • React (solid 8-year exp)
  • VueJS (prefer, solid 3-year exp)
  • Cypress (prefer, solid 3-year exp)
  • JQuery
  • Antd / Antdv
  • PostCSS (prefer, solid 5-year exp)
  • Sass (prefer, solid 8-year exp)
  • Less (weak 4-year exp)

DevOps

  • NixOS / NixOps / Nix dev shell (prefer, solid 3-year exp)
  • Docker Swarm (solid 6-year exp)
  • Kubernetes (weak 5-year exp)
  • Woodpecker CI (prefer, solid 4-year exp)
  • Drone CI (solid 3-year exp)
  • Gitlab CI (solid 7-year exp)
  • GitHub Actions (4-year exp)

Interests

Open-source projects are my passion! I develop, maintain and improve projects in my spare time.

Besides programming, I love to cook and spend time with my beloved family!

Contacts

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

',29);function h(m,u){const i=n("RouteLink");return d(),a("div",null,[r("p",null,[e("Always up-to-date link to "),o(i,{to:"/eng/"},{default:s(()=>[e("resume")]),_:1}),e(".")]),p])}const x=l(c,[["render",h],["__file","index.html.vue"]]),k=JSON.parse('{"path":"/eng/","title":"Resume","lang":"en-US","frontmatter":{"home":true,"title":"Resume","heroText":null,"head":[["link",{"rel":"alternate","hreflang":"ru-ru","href":"https://pleshevski.ru/"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/eng/"}],["meta",{"property":"og:site_name","content":"Dmitriy Pleshevskiy"}],["meta",{"property":"og:title","content":"Resume"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"ru-RU"}],["meta",{"property":"og:updated_time","content":"2024-08-07T07:36:38.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T07:36:38.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Resume\\"}"]]},"headers":[{"level":2,"title":"Overview","slug":"overview","link":"#overview","children":[]},{"level":2,"title":"Skills","slug":"skills","link":"#skills","children":[]},{"level":2,"title":"Stack","slug":"stack","link":"#stack","children":[]},{"level":2,"title":"Interests","slug":"interests","link":"#interests","children":[]},{"level":2,"title":"Contacts","slug":"contacts","link":"#contacts","children":[]},{"level":2,"title":"Links","slug":"links","link":"#links","children":[]}],"git":{"updatedTime":1723016198000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":5}]},"filePathRelative":"eng/index.md"}');export{x as comp,k as data}; +import{_ as l,c as a,a as r,b as e,d as o,w as s,e as t,r as n,o as d}from"./app-YqJ2N5FF.js";const c={},p=t('

Overview

My name is Dmitriy Pleshevskiy.

I'm an open source software enthusiast, a lead software developer, architect, team leader and also mentor.

Skills

Programming Languages:

  • TypeScript (prefer, solid 9-year exp)
  • SQL (prefer, solid 8-year exp)
  • Rust (prefer, solid 5-year exp)
  • Python (solid 9-year exp)
  • Haskell
  • Bash (8-year exp)
  • Java
  • C#
  • C++

Repositories:

  • PostgreSQL (prefer, solid 8-year exp)
  • MySQL
  • Sqlite
  • MsSQL
  • MongoDB
  • Reddis
  • Minio (prefer, solid 5-year exp)

I also have extensive experience in creating the following applications:

  • Traditional (SSR + Forms)
  • API (REST/GraphQL/WebSocket/EventSource)
  • Dynamic (SPA)
  • Hybrid (SSR + SPA)
  • Console
  • Cross-platform

Stack

Backend (Rust)

  • axum (prefer, solid 2-year exp)
  • async-graphql (prefer, solid 2-year exp)
  • shaku (prefer, solid 2-year exp)
  • bb8 + postgres-types (prefer, solid 5-year exp)
  • diesel (2-year exp)

Backend (Node.JS)

  • Apollo (solid 5-year exp)
  • Express (solid 9-year exp)
  • Nest.JS
  • Knex.js / Objection.js (solid 5-year exp)
  • Sequelize

Frontend

  • React (solid 8-year exp)
  • VueJS (prefer, solid 3-year exp)
  • Cypress (prefer, solid 3-year exp)
  • JQuery
  • Antd / Antdv
  • PostCSS (prefer, solid 5-year exp)
  • Sass (prefer, solid 8-year exp)
  • Less (weak 4-year exp)

DevOps

  • NixOS / NixOps / Nix dev shell (prefer, solid 3-year exp)
  • Docker Swarm (solid 6-year exp)
  • Kubernetes (weak 5-year exp)
  • Woodpecker CI (prefer, solid 4-year exp)
  • Drone CI (solid 3-year exp)
  • Gitlab CI (solid 7-year exp)
  • GitHub Actions (4-year exp)

Interests

Open-source projects are my passion! I develop, maintain and improve projects in my spare time.

Besides programming, I love to cook and spend time with my beloved family!

Contacts

Simplex (Prefer): Dmitriy Pleshevskiy

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

',30);function h(m,u){const i=n("RouteLink");return d(),a("div",null,[r("p",null,[e("Always up-to-date link to "),o(i,{to:"/eng/"},{default:s(()=>[e("resume")]),_:1}),e(".")]),p])}const x=l(c,[["render",h],["__file","index.html.vue"]]),k=JSON.parse('{"path":"/eng/","title":"Resume","lang":"en-US","frontmatter":{"home":true,"title":"Resume","heroText":null,"head":[["link",{"rel":"alternate","hreflang":"ru-ru","href":"https://pleshevski.ru/"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/eng/"}],["meta",{"property":"og:site_name","content":"Dmitriy Pleshevskiy"}],["meta",{"property":"og:title","content":"Resume"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"ru-RU"}],["meta",{"property":"og:updated_time","content":"2024-09-05T22:11:51.000Z"}],["meta",{"property":"article:modified_time","content":"2024-09-05T22:11:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Resume\\"}"]]},"headers":[{"level":2,"title":"Overview","slug":"overview","link":"#overview","children":[]},{"level":2,"title":"Skills","slug":"skills","link":"#skills","children":[]},{"level":2,"title":"Stack","slug":"stack","link":"#stack","children":[]},{"level":2,"title":"Interests","slug":"interests","link":"#interests","children":[]},{"level":2,"title":"Contacts","slug":"contacts","link":"#contacts","children":[]},{"level":2,"title":"Links","slug":"links","link":"#links","children":[]}],"git":{"updatedTime":1725574311000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":6}]},"filePathRelative":"eng/index.md"}');export{x as comp,k as data}; diff --git a/dist/assets/index.html-CRXC2eW2.js b/dist/assets/index.html-CRXC2eW2.js deleted file mode 100644 index 42214d1..0000000 --- a/dist/assets/index.html-CRXC2eW2.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,c as a,a as t,b as e,d as o,w as c,e as n,r,o as d}from"./app-CICBSUru.js";const s={},h=n('

Общие сведения

Меня зовут Дмитрий Плешевский.

Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий разработчик програмного обеспечения, архитектор, руководитель команды, а так же ментор.

Умения

Языки программирования:

  • TypeScript (предпочитаю, твёрдый 9-летний опыт)
  • SQL (предпочитаю, твёрдый 8-летний опыт)
  • Rust (предпочитаю, 5-летний опыт)
  • Python (твёрдый 9-летний опыт)
  • Haskell
  • Bash (8-летний опыт)
  • Java
  • C#
  • C++

Хранилища данных:

  • PostgreSQL (предпочитаю, твёрдый 8-летний опыт)
  • MySQL
  • Sqlite
  • MsSQL
  • MongoDB
  • Reddis
  • Minio (предпочитаю, твердый 5-летний опыт)

Я так же имею большой опыт в создании следующих типов приложений:

  • Традиционные (SSR + Forms)
  • API (REST/GraphQL/WebSocket/EventSource)
  • Динамическое (SPA)
  • Гибридное (SSR + SPA)
  • Консольные
  • Кроссплатформенные

Stack

Backend (Rust)

  • axum (предпочитаю, твёрдый 2-летний опыт)
  • async-graphql (предпочитаю, твёрдый 2-летний опыт)
  • shaku (предпочитаю, твёрдый 2-летний опыт)
  • bb8 + postgres-types (предпочитаю, твёрдый 5-летний опыт)
  • diesel (2-летний опыт)

Backend (Node.JS)

  • Apollo (твёрдый 5-летний опыт)
  • Express (твёрдый 9-летний опыт)
  • Nest.JS
  • Knex.js / Objection.js (твёрдый 5-летний опыт)
  • Sequelize

Frontend

  • React (твёрдый 8-летний опыт)
  • VueJS (предпочитаю, твёрдый 4-летний опыт)
  • Cypress (предпочитаю, твёрдый 3-летний опыт)
  • JQuery
  • Antd / Antdv
  • PostCSS (предпочитаю, твёрдый 5-летний опыт)
  • Sass (предпочитаю, твёрдый 8-летний опыт)
  • Less (слабый 4-летний опыт)

DevOps

  • NixOS / NixOps / Nix dev shell (предпочитаю, твёрдый 3-летний опыт)
  • Docker Swarm (твёрдый 6-летний опыт)
  • Kubernetes (слабый 5-летний опыт)
  • Woodpecker CI (твёрдый 4-летний опыт)
  • Drone CI (твёрдый 3-летний опыт)
  • Gitlab CI (твёрдый 7-летний опыт)
  • GitHub Actions (4-летний опыт)

Интересы

Open-source проекты - моя страсть! Разрабатываю, поддерживаю и улучшаю проекты в своё свободное время.

Помимо программирования я люблю готовить и проводить время со своей любимой семьей!

Контакты

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

Ссылки

',29);function p(u,m){const l=r("RouteLink");return d(),a("div",null,[t("p",null,[e("Всегда актуальная ссылка на "),o(l,{to:"/"},{default:c(()=>[e("резюме")]),_:1}),e(".")]),h])}const b=i(s,[["render",p],["__file","index.html.vue"]]),f=JSON.parse('{"path":"/","title":"Резюме","lang":"ru-RU","frontmatter":{"home":true,"title":"Резюме","heroText":null,"head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://pleshevski.ru/eng/"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:title","content":"Резюме"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-08-07T07:36:38.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T07:36:38.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Резюме\\"}"]]},"headers":[{"level":2,"title":"Общие сведения","slug":"общие-сведения","link":"#общие-сведения","children":[]},{"level":2,"title":"Умения","slug":"умения","link":"#умения","children":[]},{"level":2,"title":"Stack","slug":"stack","link":"#stack","children":[]},{"level":2,"title":"Интересы","slug":"интересы","link":"#интересы","children":[]},{"level":2,"title":"Контакты","slug":"контакты","link":"#контакты","children":[]},{"level":2,"title":"Ссылки","slug":"ссылки","link":"#ссылки","children":[]}],"git":{"updatedTime":1723016198000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":5}]},"filePathRelative":"index.md"}');export{b as comp,f as data}; diff --git a/dist/assets/index.html-D3SBAZ5R.js b/dist/assets/index.html-D3SBAZ5R.js new file mode 100644 index 0000000..7371350 --- /dev/null +++ b/dist/assets/index.html-D3SBAZ5R.js @@ -0,0 +1 @@ +import{_ as i,c as a,a as t,b as e,d as o,w as r,e as n,r as s,o as c}from"./app-YqJ2N5FF.js";const d={},h=n('

Общие сведения

Меня зовут Дмитрий Плешевский.

Я энтузиаст программного обеспечения с открытым исходным кодом, ведущий разработчик програмного обеспечения, архитектор, руководитель команды, а так же ментор.

Умения

Языки программирования:

  • TypeScript (предпочитаю, твёрдый 9-летний опыт)
  • SQL (предпочитаю, твёрдый 8-летний опыт)
  • Rust (предпочитаю, 5-летний опыт)
  • Python (твёрдый 9-летний опыт)
  • Haskell
  • Bash (8-летний опыт)
  • Java
  • C#
  • C++

Хранилища данных:

  • PostgreSQL (предпочитаю, твёрдый 8-летний опыт)
  • MySQL
  • Sqlite
  • MsSQL
  • MongoDB
  • Reddis
  • Minio (предпочитаю, твердый 5-летний опыт)

Я так же имею большой опыт в создании следующих типов приложений:

  • Традиционные (SSR + Forms)
  • API (REST/GraphQL/WebSocket/EventSource)
  • Динамическое (SPA)
  • Гибридное (SSR + SPA)
  • Консольные
  • Кроссплатформенные

Stack

Backend (Rust)

  • axum (предпочитаю, твёрдый 2-летний опыт)
  • async-graphql (предпочитаю, твёрдый 2-летний опыт)
  • shaku (предпочитаю, твёрдый 2-летний опыт)
  • bb8 + postgres-types (предпочитаю, твёрдый 5-летний опыт)
  • diesel (2-летний опыт)

Backend (Node.JS)

  • Apollo (твёрдый 5-летний опыт)
  • Express (твёрдый 9-летний опыт)
  • Nest.JS
  • Knex.js / Objection.js (твёрдый 5-летний опыт)
  • Sequelize

Frontend

  • React (твёрдый 8-летний опыт)
  • VueJS (предпочитаю, твёрдый 4-летний опыт)
  • Cypress (предпочитаю, твёрдый 3-летний опыт)
  • JQuery
  • Antd / Antdv
  • PostCSS (предпочитаю, твёрдый 5-летний опыт)
  • Sass (предпочитаю, твёрдый 8-летний опыт)
  • Less (слабый 4-летний опыт)

DevOps

  • NixOS / NixOps / Nix dev shell (предпочитаю, твёрдый 3-летний опыт)
  • Docker Swarm (твёрдый 6-летний опыт)
  • Kubernetes (слабый 5-летний опыт)
  • Woodpecker CI (твёрдый 4-летний опыт)
  • Drone CI (твёрдый 3-летний опыт)
  • Gitlab CI (твёрдый 7-летний опыт)
  • GitHub Actions (4-летний опыт)

Интересы

Open-source проекты - моя страсть! Разрабатываю, поддерживаю и улучшаю проекты в своё свободное время.

Помимо программирования я люблю готовить и проводить время со своей любимой семьей!

Контакты

Simplex (Предпочтительно): Dmitriy Pleshevskiy

Telegram: Dmitriy Pleshevskiy

Matrix: @pleshevskiy:matrix.org

Email: dmitriy[at]pleshevski[dot]ru

Ссылки

',30);function p(u,m){const l=s("RouteLink");return c(),a("div",null,[t("p",null,[e("Всегда актуальная ссылка на "),o(l,{to:"/"},{default:r(()=>[e("резюме")]),_:1}),e(".")]),h])}const f=i(d,[["render",p],["__file","index.html.vue"]]),x=JSON.parse('{"path":"/","title":"Резюме","lang":"ru-RU","frontmatter":{"home":true,"title":"Резюме","heroText":null,"head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://pleshevski.ru/eng/"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:title","content":"Резюме"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-09-05T22:11:51.000Z"}],["meta",{"property":"article:modified_time","content":"2024-09-05T22:11:51.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Резюме\\"}"]]},"headers":[{"level":2,"title":"Общие сведения","slug":"общие-сведения","link":"#общие-сведения","children":[]},{"level":2,"title":"Умения","slug":"умения","link":"#умения","children":[]},{"level":2,"title":"Stack","slug":"stack","link":"#stack","children":[]},{"level":2,"title":"Интересы","slug":"интересы","link":"#интересы","children":[]},{"level":2,"title":"Контакты","slug":"контакты","link":"#контакты","children":[]},{"level":2,"title":"Ссылки","slug":"ссылки","link":"#ссылки","children":[]}],"git":{"updatedTime":1725574311000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":6}]},"filePathRelative":"index.md"}');export{f as comp,x as data}; diff --git a/dist/assets/style-BACGJ9Qw.css b/dist/assets/style-BACGJ9Qw.css deleted file mode 100644 index d20b49c..0000000 --- a/dist/assets/style-BACGJ9Qw.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.vp-back-to-top-button{position:fixed!important;inset-inline-end:1rem;bottom:4rem;z-index:100;width:48px;height:48px;padding:12px;border-width:0;border-radius:50%;background:var(--back-to-top-bg-color);color:var(--back-to-top-color);box-shadow:2px 2px 10px 4px var(--back-to-top-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-color-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:24px;height:24px;margin:0 auto;background:var(--back-to-top-icon-color);-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cpath%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='4'%20d='M24.008%2014.1V42M12%2026l12-12l12%2012M12%206h24'%20/%3e%3c/svg%3e");--back-to-top-bg-color: #fff;--back-to-top-color: #3eaf7c;--back-to-top-icon-color: currentcolor;--back-to-top-color-hover: #71cda3;--back-to-top-shadow: rgb(0 0 0 / 20%)}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%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");--code-copied-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%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");--copy-code-color: var(--code-c-line-number, #9e9e9e);--copy-code-hover: var(--code-highlight-bg-color, rgb(0 0 0 / 50%))}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:before{content:"";display:inline-block;width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-color);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-hover)}.vp-copy-code-button.copied:before{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-hover);color:var(--copy-code-color);font-weight:500;line-height:1.25rem;white-space:nowrap}.copy-code-disabled .vp-copy-code-button{display:none}body:not(.copy-code-disabled) div[class*=language-]:hover:before{display:none}body:not(.copy-code-disabled) div[class*=language-]:hover .vp-copy-code-button{opacity:1}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{position:fixed;top:0;left:0;z-index:var(--nprogress-z-index);width:100%;height:2px;background:var(--nprogress-color)}:root{--code-padding-x: 1.25rem;--code-padding-y: 1rem;--code-border-radius: 6px;--code-line-height: 1.6;--code-font-family: consolas, monaco, "Andale Mono", "Ubuntu Mono", monospace}div[class*=language-]{position:relative;border-radius:var(--code-border-radius);background-color:var(--code-c-bg)}div[class*=language-]:before{content:attr(data-title);position:absolute;top:.8em;right:1em;z-index:3;color:var(--code-c-text);font-size:.75rem}div[class*=language-] pre{position:relative;z-index:1;overflow-x:auto;margin:.75rem 0;border-radius:var(--code-border-radius);font-size:14px;font-family:var(--code-font-family);line-height:var(--code-line-height)}div[class*=language-] pre code{display:block;box-sizing:border-box;width:-moz-fit-content;width:fit-content;min-width:100%;padding:var(--code-padding-y) var(--code-padding-x);background-color:transparent!important;overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}:root{--code-c-text: #f8f8f2;--code-c-bg: #2e3440;--code-c-highlight-bg: #343d4e;--code-c-line-number: rgba(248, 248, 242, .67)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#a3be8c}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#81a1c1}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,.token.important{color:#ebcb8b}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}:root{--code-line-number-width: 3.5rem}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-line-number-width);height:100%;border-right:1px solid var(--code-highlight-bg-color);border-radius:var(--code-border-radius) 0 0 var(--code-border-radius)}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--code-line-number-width)}div[class*=language-].line-numbers-mode code{padding-left:1rem}div[class*=language-].line-numbers-mode .line-numbers{counter-reset:line-number;position:absolute;top:0;width:var(--code-line-number-width);padding-top:var(--code-padding-y);color:var(--code-c-line-number, --code-c-text);font-size:.875em;line-height:var(--code-line-height);text-align:center}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:3;font-family:var(--code-font-family);-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);counter-increment:line-number}.vp-badge{display:inline-block;vertical-align:top;height:18px;padding:0 6px;border-radius:3px;color:var(--c-bg);font-weight:600;font-size:14px;line-height:18px;transition:color var(--t-color),background-color var(--t-color)}.vp-badge.tip{background-color:var(--c-badge-tip)}.vp-badge.warning{background-color:var(--c-badge-warning);color:var(--c-badge-warning-text)}.vp-badge.danger{background-color:var(--c-badge-danger);color:var(--c-badge-danger-text)}.vp-badge+.vp-badge{margin-left:5px}.code-group-nav{margin-top:.85rem;margin-bottom:calc(-1.7rem - 6px);padding-top:10px;padding-bottom:calc(1.7rem - 6px);padding-left:10px;border-top-left-radius:6px;border-top-right-radius:6px;background-color:var(--c-code-group-tab-bg)}@media (max-width: 419px){.code-group-nav{margin-right:-1.5rem;margin-left:-1.5rem;border-radius:0}}.code-group-nav-tab{padding:5px;border:0;background-color:transparent;color:var(--c-code-group-tab-title);font-weight:600;font-size:.85em;line-height:1.4;cursor:pointer}.code-group-nav-tab:focus{outline:none}.code-group-nav-tab:focus-visible{outline:1px solid var(--c-code-group-tab-outline)}.code-group-nav-tab.active{border-bottom:var(--c-code-group-tab-active-border) 1px solid}.code-group-item{display:none}.code-group-item.active{display:block}.code-group-item>pre{background-color:orange}.vp-features{display:flex;flex-wrap:wrap;place-content:stretch space-between;align-items:flex-start;margin-top:2.5rem;padding:1.2rem 0;border-top:1px solid var(--c-border);transition:border-color var(--t-color)}@media (max-width: 719px){.vp-features{flex-direction:column}}.vp-feature{flex-grow:1;flex-basis:30%;max-width:30%}@media (max-width: 719px){.vp-feature{max-width:100%;padding:0 2.5rem}}.vp-feature h2{padding-bottom:0;border-bottom:none;color:var(--c-text-light);font-weight:500;font-size:1.4rem}@media (max-width: 419px){.vp-feature h2{font-size:1.25rem}}.vp-feature p{color:var(--c-text-lighter)}.vp-footer{padding:2.5rem;border-top:1px solid var(--c-border);color:var(--c-text-lighter);text-align:center;transition:border-color var(--t-color)}.vp-hero{text-align:center}.vp-hero-image{display:block;max-width:100%;max-height:280px;margin:3rem auto 1.5rem}@media (max-width: 419px){.vp-hero-image{max-height:210px;margin:2rem auto 1.2rem}}#main-title{font-size:3rem}@media (max-width: 419px){#main-title{font-size:2rem}}#main-title,.vp-hero-description,.vp-hero-actions{margin:1.8rem auto}@media (max-width: 419px){#main-title,.vp-hero-description,.vp-hero-actions{margin:1.2rem auto}}.vp-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.vp-hero-description{max-width:35rem;color:var(--c-text-lightest);font-size:1.6rem;line-height:1.3}@media (max-width: 419px){.vp-hero-description{font-size:1.2rem}}.vp-hero-action-button{display:inline-block;box-sizing:border-box;padding:.8rem 1.6rem;border-width:2px;border-style:solid;border-radius:4px;font-size:1.2rem;transition:background-color var(--t-color)}@media (max-width: 419px){.vp-hero-action-button{padding:.6rem 1.2rem;font-size:1rem}}.vp-hero-action-button.primary{border-color:var(--c-brand);background-color:var(--c-brand);color:var(--c-bg)}.vp-hero-action-button.primary:hover{background-color:var(--c-brand-light)}.vp-hero-action-button.secondary{border-color:var(--c-brand);background-color:var(--c-bg);color:var(--c-brand)}.vp-hero-action-button.secondary:hover{background-color:var(--c-brand-light);color:var(--c-bg)}.vp-home{display:block;max-width:var(--homepage-width);margin:0 auto;padding:var(--navbar-height) 2rem 0}@media (max-width: 419px){.vp-home{padding-right:1.5rem;padding-left:1.5rem}}.vp-home .theme-default-content{margin:0;padding:0}.vp-site-logo{vertical-align:top;height:var(--navbar-line-height);margin-right:var(--navbar-padding-v)}.vp-site-name{position:relative;color:var(--c-text);font-weight:600;font-size:1.3rem}@media screen and (max-width: 719px){.vp-site-name{display:block;overflow:hidden;width:calc(100vw - 11rem);text-overflow:ellipsis;white-space:nowrap}}.vp-dropdown-enter-from,.vp-dropdown-leave-to{height:0!important}.vp-navbar-dropdown-wrapper{cursor:pointer}.vp-navbar-dropdown-wrapper:not(.mobile){height:1.8rem}.vp-navbar-dropdown-wrapper:not(.mobile):hover .vp-navbar-dropdown,.vp-navbar-dropdown-wrapper:not(.mobile).open .vp-navbar-dropdown{display:block!important}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown{overflow:hidden;transition:height .1s ease-out;padding-top:.5rem}.vp-navbar-dropdown-wrapper:not(.mobile) .vp-navbar-dropdown{position:absolute;top:100%;right:0;display:none;overflow-y:auto;box-sizing:border-box;height:auto!important;max-height:calc(100vh - 2.7rem);margin:0;padding:.6rem 0;border:1px solid var(--c-border);border-bottom-color:var(--c-border-dark);border-radius:.25rem;background-color:var(--c-bg-navbar);text-align:left;white-space:nowrap}.vp-navbar-dropdown-title{display:block;padding:inherit;border:none;background:transparent;color:var(--c-text);font-weight:500;font-size:.9rem;font-family:inherit;line-height:1.4rem;cursor:inherit}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title{display:none}.vp-navbar-dropdown-title:hover{border-color:transparent}.vp-navbar-dropdown-title-mobile{display:none;padding:inherit;border:none;background:transparent;color:var(--c-text);font-weight:600;font-size:inherit;font-family:inherit;line-height:1.4rem;cursor:inherit}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title-mobile{display:block}.vp-navbar-dropdown-title-mobile:hover{color:var(--c-text-accent)}.vp-navbar-dropdown-item{color:inherit;line-height:1.7rem}.vp-navbar-dropdown-item a{position:relative;display:block;margin-bottom:0;padding:0 1.5rem 0 1.25rem;border-bottom:none;font-weight:400;line-height:1.7rem}.vp-navbar-dropdown-item a:hover,.vp-navbar-dropdown-item a.route-link-active{color:var(--c-text-accent)}.vp-navbar-dropdown-item a.route-link-active:after{content:"";position:absolute;top:calc(50% - 2px);left:9px;width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:5px solid var(--c-text-accent)}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-item>a{font-size:15px;line-height:2rem}.vp-navbar-dropdown-subtitle{margin:.45rem 0 0;padding:1rem 0 .45rem;border-top:1px solid var(--c-border);font-size:.9rem}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subtitle{margin-top:0;padding-top:0;padding-bottom:0;border-top:0;font-size:15px;line-height:2rem}.vp-navbar-dropdown-item:first-child .vp-navbar-dropdown-subtitle{margin-top:0;padding-top:0;border-top:0}.vp-navbar-dropdown-subtitle>span{padding:0 1.5rem 0 1.25rem}.vp-navbar-dropdown-subtitle>a{font-weight:inherit}.vp-navbar-dropdown-subtitle>a.route-link-active:after{display:none}.vp-navbar-dropdown-subitem-wrapper{padding:0;list-style:none}.vp-navbar-dropdown-subitem{font-size:.9em}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subitem{padding-left:1rem;font-size:14px}.vp-navbar-items{display:inline-block}@media print{.vp-navbar-items{display:none}}.vp-navbar-items a{display:inline-block;color:inherit;line-height:1.4rem}.vp-navbar-items a:hover,.vp-navbar-items a.route-link-active{color:var(--c-text)}.vp-navbar-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:var(--navbar-line-height)}@media (max-width: 719px){.vp-navbar-item{margin-left:0}}.vp-navbar-item:first-child{margin-left:0}.vp-navbar-item a:hover,.vp-navbar-item a.route-link-active{color:var(--c-text-accent)}.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:-2px;border-bottom:2px solid var(--c-text-accent)}@media (max-width: 719px){.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:0;border-bottom:none}}.vp-toggle-color-mode-button{display:flex;margin:auto;margin-left:1rem;border:0;background:none;color:var(--c-text);opacity:.8;cursor:pointer}@media print{.vp-toggle-color-mode-button{display:none}}.vp-toggle-color-mode-button:hover{opacity:1}.vp-toggle-color-mode-button .light-icon,.vp-toggle-color-mode-button .dark-icon{width:1.25rem;height:1.25rem}.vp-toggle-sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block}}.vp-toggle-sidebar-button .icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;cursor:inherit}.vp-toggle-sidebar-button .icon span{display:inline-block;width:100%;height:2px;border-radius:2px;background-color:var(--c-text);transition:transform var(--t-transform)}.vp-toggle-sidebar-button .icon span:nth-child(2){margin:6px 0}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(1){transform:rotate(45deg) translate3d(5.5px,5.5px,0)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(2){transform:scale3d(0,1,1)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3){transform:rotate(-45deg) translate3d(6px,-6px,0)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(1),.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3){transform-origin:center}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - 2 * var(--navbar-padding-v) );position:fixed;top:0;right:0;left:0;z-index:20;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-padding-v) var(--navbar-padding-h);border-bottom:1px solid var(--c-border);background-color:var(--c-bg-navbar);line-height:var(--navbar-line-height);transition:background-color var(--t-color),border-color var(--t-color)}@media screen and (max-width: 719px){.vp-navbar{padding-left:4rem}}.vp-navbar-items-wrapper{position:absolute;top:var(--navbar-padding-v);right:var(--navbar-padding-h);display:flex;box-sizing:border-box;height:var(--navbar-line-height);padding-left:var(--navbar-padding-h);font-size:.9rem;white-space:nowrap}.vp-page-meta{max-width:var(--content-width);margin:0 auto;padding:.75rem 2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto}@media (max-width: 959px){.vp-page-meta{padding:2rem}}@media (max-width: 419px){.vp-page-meta{padding:1.5rem}}@media print{.vp-page-meta{margin:0!important;padding-right:0!important;padding-left:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--c-text-lighter)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--c-text-quote);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-right:.5rem;margin-bottom:.25rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .edit-icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-right:.25em}.vp-page-meta .last-updated,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .last-updated,.vp-page-meta .contributors{font-size:13px;text-align:start}}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-top:0;margin-right:auto;margin-left:auto;padding:1rem 2rem 0;border-top:1px solid var(--c-border);transition:border-top var(--t-color)}@media (max-width: 959px){.vp-page-nav{padding-right:1rem;padding-left:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .route-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--c-border);border-radius:.25rem}.vp-page-nav .route-link:hover{background:var(--c-bg-light)}.vp-page-nav .route-link .hint{color:var(--c-text-quote);font-size:.875rem;line-height:2}.vp-page-nav .prev{text-align:start}.vp-page-nav .next{text-align:end}.vp-page{display:block;padding-top:var(--navbar-height);padding-bottom:2rem;padding-left:var(--sidebar-width)}@media (max-width: 959px){.vp-page{padding-left:var(--sidebar-width-mobile)}}@media (max-width: 719px){.vp-page{padding-left:0}}.vp-page .theme-default-content{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.vp-page .theme-default-content{padding:2rem}}@media (max-width: 419px){.vp-page .theme-default-content{padding:1.5rem}}.vp-sidebar-item{border-left:.25rem solid transparent;color:var(--c-text);cursor:default}.vp-sidebar-item:focus-visible{outline-width:1px;outline-offset:-1px}.vp-sidebar-item.vp-sidebar-heading{box-sizing:border-box;width:100%;margin:0;padding:.35rem 1.5rem .35rem 1.25rem;font-weight:700;font-size:1.1em;transition:color .15s ease}.vp-sidebar-item.vp-sidebar-heading+.vp-sidebar-children{overflow:hidden;transition:height .1s ease-out;margin-bottom:.75rem}.vp-sidebar-item.collapsible{cursor:pointer}.vp-sidebar-item:not(.vp-sidebar-heading){display:inline-block;box-sizing:border-box;width:100%;margin:0;padding:.35rem 1rem .35rem 2rem;font-weight:400;font-size:1em;line-height:1.4}.vp-sidebar-item:not(.vp-sidebar-heading)+.vp-sidebar-children{padding-left:1rem;font-size:.95em}.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading){padding:.25rem 1rem .25rem 1.75rem}.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active{border-left-color:transparent;font-weight:500}a.vp-sidebar-heading+.vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active{border-left-color:transparent}.vp-sidebar-item.active:not(p.vp-sidebar-heading){border-left-color:var(--c-text-accent);color:var(--c-text-accent);font-weight:600}a.vp-sidebar-item{cursor:pointer}a.vp-sidebar-item:hover{color:var(--c-text-accent)}.vp-sidebar-items{margin:0;padding:1.5rem 0;list-style-type:none}@media (max-width: 719px){.vp-sidebar-items{padding:1rem 0}}.vp-sidebar-items ul{margin:0;padding:0;list-style-type:none}.vp-sidebar-items a{display:inline-block}.vp-sidebar{position:fixed;top:var(--navbar-height);bottom:0;left:0;z-index:10;overflow-y:auto;box-sizing:border-box;width:var(--sidebar-width);margin:0;border-right:1px solid var(--c-border);background-color:var(--c-bg-sidebar);font-size:16px;transition:transform var(--t-transform),background-color var(--t-color),border-color var(--t-color);scrollbar-color:var(--c-brand) var(--c-border);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{width:var(--sidebar-width-mobile);font-size:15px}}@media (max-width: 719px){.vp-sidebar{top:0;padding-top:var(--navbar-height);transform:translate(-100%)}}.vp-sidebar::-webkit-scrollbar{width:7px}.vp-sidebar::-webkit-scrollbar-track{background-color:var(--c-border)}.vp-sidebar::-webkit-scrollbar-thumb{background-color:var(--c-brand)}.vp-sidebar .vp-navbar-items{display:none;padding:.5rem 0 .75rem;border-bottom:1px solid var(--c-border);transition:border-color var(--t-color)}@media (max-width: 719px){.vp-sidebar .vp-navbar-items{display:block}.vp-sidebar .vp-navbar-items .vp-navbar-dropdown-item a.route-link-active:after{top:calc(1rem - 2px)}}.vp-sidebar .vp-navbar-items ul{margin:0;padding:0;list-style-type:none}.vp-sidebar .vp-navbar-items a{font-weight:600}.vp-sidebar .vp-navbar-item{display:block;padding:.5rem 0 .5rem 1.5rem;font-size:1.1em;line-height:1.25rem}.vp-sidebar-mask{position:fixed;top:0;left:0;z-index:9;display:none;width:100vw;height:100vh}.vp-theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.vp-theme-container.no-navbar .vp-sidebar{padding-top:0}}.vp-theme-container.no-navbar .vp-page{padding-top:0}.vp-theme-container.no-navbar .theme-default-content h1,.vp-theme-container.no-navbar .theme-default-content h2,.vp-theme-container.no-navbar .theme-default-content h3,.vp-theme-container.no-navbar .theme-default-content h4,.vp-theme-container.no-navbar .theme-default-content h5,.vp-theme-container.no-navbar .theme-default-content h6{margin-top:1.5rem;padding-top:0}.vp-theme-container.no-sidebar .vp-sidebar{display:none}@media (max-width: 719px){.vp-theme-container.no-sidebar .vp-sidebar{display:block}}.vp-theme-container.no-sidebar .vp-page{padding-left:0}@media (max-width: 719px){.vp-theme-container.sidebar-open .vp-sidebar{transform:translate(0)}.vp-theme-container.sidebar-open .vp-sidebar-mask{display:block}}.fade-slide-y-enter-active{transition:all .2s ease}.fade-slide-y-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-theme-container[data-v-056523ff]{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-theme-container[data-v-056523ff]{padding:2rem}}html,body{background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;margin:0;padding:0;color:#2c3e50;font-synthesis:style}a{color:#3eaf7c;font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px #00000026;line-height:1;letter-spacing:-.1em;text-align:center}:not(pre)>code{margin:0;padding:3px 6px;border-radius:4px;background:#7f7f7f1f;font-size:.875em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:#3eaf7c;font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{position:relative;color:inherit;text-decoration:none}a.header-anchor:hover:before{content:"¶";position:absolute;top:.4167em;left:-.75em;color:var(--c-brand);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--c-brand);outline:auto}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(odd){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{text-align:left;direction:ltr;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}@media print{pre{white-space:pre-wrap}}pre code{padding:0;border-radius:0}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a.header-anchor{text-decoration:none}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,:before,:after{background-attachment:initial!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important}}:root{--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--c-bg: #fff;--c-bg-light: #f3f4f5;--c-bg-lighter: #eee;--c-bg-dark: #ebebec;--c-bg-darker: #e6e6e6;--c-bg-navbar: var(--c-bg);--c-bg-sidebar: var(--c-bg);--c-bg-arrow: #ccc;--c-text: #2c3e50;--c-text-accent: var(--c-brand);--c-text-light: #3a5169;--c-text-lighter: #4e6e8e;--c-text-lightest: #6a8bad;--c-text-quote: #999;--c-border: #eaecef;--c-border-dark: #dfe2e5;--c-tip: #42b983;--c-tip-bg: var(--c-bg-light);--c-tip-title: var(--c-text);--c-tip-text: var(--c-text);--c-tip-text-accent: var(--c-text-accent);--c-warning: #ffc310;--c-warning-bg: #fffae3;--c-warning-bg-light: #fff3ba;--c-warning-bg-lighter: #fff0b0;--c-warning-border-dark: #f7dc91;--c-warning-details-bg: #fff5ca;--c-warning-title: #f1b300;--c-warning-text: #746000;--c-warning-text-accent: #edb100;--c-warning-text-light: #c1971c;--c-warning-text-quote: #ccab49;--c-danger: #f11e37;--c-danger-bg: #ffe0e0;--c-danger-bg-light: #ffcfde;--c-danger-bg-lighter: #ffc9c9;--c-danger-border-dark: #f1abab;--c-danger-details-bg: #ffd4d4;--c-danger-title: #ed1e2c;--c-danger-text: #600;--c-danger-text-accent: #bd1a1a;--c-danger-text-light: #b5474d;--c-danger-text-quote: #c15b5b;--c-details-bg: #eee;--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--c-bg);--c-code-group-tab-title: rgb(255 255 255 / 90%);--c-code-group-tab-bg: var(--code-bg-color);--c-code-group-tab-outline: var(var(--c-code-group-tab-title));--c-code-group-tab-active-border: var(--c-brand);--t-color: .3s ease;--t-transform: .3s ease;--font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 740px;--homepage-width: 960px;--external-link-icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");--external-link-icon-color: var(--c-text-quote)}.vp-back-to-top-button{--back-to-top-color: var(--c-brand);--back-to-top-color-hover: var(--c-brand-light);--back-to-top-bg-color: var(--c-bg)}.vp-catalog-wrapper{--catalog-bg-color: var(--c-bg);--catalog-bg-secondary-color: var(--c-bg-dark);--catalog-border-color: var(--c-border);--catalog-active-color: var(--c-brand);--catalog-hover-color: var(--c-brand-light)}.waline-wrapper{--waline-bg-color: var(--c-bg);--waline-bg-color-light: var(--c-bg-light);--waline-text-color: var(--c-color);--waline-border: 1px solid var(--c-border);--waline-border-color: var(--c-border);--waline-theme-color: var(--c-brand);--waline-active-color: var(--c-brand-light)}.DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-text-color: var(--c-text);--docsearch-highlight-color: var(--c-brand);--docsearch-muted-color: var(--c-text-quote);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--c-bg-light);--docsearch-searchbox-background: var(--c-bg-lighter);--docsearch-searchbox-focus-background: var(--c-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--c-brand);--docsearch-hit-color: var(--c-text-light);--docsearch-hit-active-color: var(--c-bg);--docsearch-hit-background: var(--c-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--c-border-dark);--docsearch-footer-background: var(--c-bg)}.medium-zoom-overlay{--medium-zoom-bg-color: var(--c-bg)}.vp-notice-wrapper{--notice-color: var(--c-text);--notice-bg-color: var(--c-bg);--notice-primary-color: var(--c-brand);--notice-primary-text-color: var(--c-bg);--notice-primary-hover-color: var(--c-brand-light);--notice-button-color: var(--c-bg-light);--notice-button-hover-color: var(--c-bg-lighter)}#nprogress{--nprogress-color: var(--c-brand)}body{--photo-swipe-bullet: var(--c-bg);--photo-swipe-bullet-active: var(--c-brand);--pwa-text-color: var(--c-text);--pwa-bg-color: var(--c-bg);--pwa-border-color: var(--c-brand);--pwa-btn-text-color: var(--c-bg);--pwa-btn-bg-color: var(--c-brand);--pwa-btn-hover-bg-color: var(--c-brand-light)}.redirect-modal-mask{--redirect-bg-color: var(--c-bg);--redirect-bg-color-light: var(--c-bg-light);--redirect-bg-color-lighter: var(--c-bg-lighter);--redirect-text-color: var(--c-text);--redirect-primary-color: var(--c-brand);--redirect-primary-hover-color: var(--c-brand-light);--redirect-primary-text-color: var(--c-bg)}.search-box{--search-bg-color: var(--c-bg);--search-accent-color: var(--c-brand);--search-text-color: var(--c-text);--search-border-color: var(--c-border);--search-item-text-color: var(--c-text-lighter);--search-item-focus-bg-color: var(--c-bg-light)}html.dark{--c-brand: #3aa675;--c-brand-light: #349469;--c-bg: #22272e;--c-bg-light: #2b313a;--c-bg-lighter: #262c34;--c-bg-dark: #343b44;--c-bg-darker: #37404c;--c-text: #adbac7;--c-text-light: #96a7b7;--c-text-lighter: #8b9eb0;--c-text-lightest: #8094a8;--c-border: #3e4c5a;--c-border-dark: #34404c;--c-tip: #318a62;--c-warning: #e0ad15;--c-warning-bg: #2d2f2d;--c-warning-bg-light: #423e2a;--c-warning-bg-lighter: #44442f;--c-warning-border-dark: #957c35;--c-warning-details-bg: #39392d;--c-warning-title: #fdca31;--c-warning-text: #d8d96d;--c-warning-text-accent: #ffbf00;--c-warning-text-light: #ddb84b;--c-warning-text-quote: #ccab49;--c-danger: #fc1e38;--c-danger-bg: #39232c;--c-danger-bg-light: #4b2b35;--c-danger-bg-lighter: #553040;--c-danger-border-dark: #a25151;--c-danger-details-bg: #482936;--c-danger-title: #fc2d3b;--c-danger-text: #ea9ca0;--c-danger-text-accent: #fd3636;--c-danger-text-light: #d9777c;--c-danger-text-quote: #d56b6b;--c-details-bg: #323843;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416}html.dark .DocSearch{--docsearch-logo-color: var(--c-text);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}html.dark body{--pwa-shadow-color: rgb(0 0 0 / 30%);--pwa-content-color: #ccc;--pwa-content-light-color: #999}html,body{background-color:var(--c-bg);transition:background-color var(--t-color)}html.dark{color-scheme:dark}body{color:var(--c-text);font-size:1rem;font-family:var(--font-family)}h2{border-color:var(--c-border);transition:border-color var(--t-color)}a{color:var(--c-text-accent)}code{background-color:var(--c-bg-light);color:var(--c-text-lighter);font-family:var(--code-font-family);transition:background-color var(--t-color)}p a code{color:var(--c-text-accent)}kbd{border-color:var(--c-border-dark);transition:border-color var(--t-color)}blockquote{border-color:var(--c-border-dark);color:var(--c-text-quote);transition:border-color var(--t-color)}hr{border-color:var(--c-border);transition:border-color var(--t-color)}table{transition:border-color var(--t-color)}tr:nth-child(odd){background-color:var(--c-bg-light);transition:background-color var(--t-color)}tr:nth-child(odd) code{background-color:var(--c-bg-dark)}th,td{border-color:var(--c-border-dark);transition:border-color var(--t-color)}.theme-default-content h1,.theme-default-content h2,.theme-default-content h3,.theme-default-content h4,.theme-default-content h5,.theme-default-content h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:0;padding-top:calc(1rem + var(--navbar-height))}.theme-default-content h1:first-child,.theme-default-content h2:first-child,.theme-default-content h3:first-child,.theme-default-content h4:first-child,.theme-default-content h5:first-child,.theme-default-content h6:first-child{margin-bottom:1rem}.theme-default-content h1:first-child+p,.theme-default-content h1:first-child+pre,.theme-default-content h1:first-child+.custom-container,.theme-default-content h2:first-child+p,.theme-default-content h2:first-child+pre,.theme-default-content h2:first-child+.custom-container,.theme-default-content h3:first-child+p,.theme-default-content h3:first-child+pre,.theme-default-content h3:first-child+.custom-container,.theme-default-content h4:first-child+p,.theme-default-content h4:first-child+pre,.theme-default-content h4:first-child+.custom-container,.theme-default-content h5:first-child+p,.theme-default-content h5:first-child+pre,.theme-default-content h5:first-child+.custom-container,.theme-default-content h6:first-child+p,.theme-default-content h6:first-child+pre,.theme-default-content h6:first-child+.custom-container{margin-top:2rem}@media (max-width: 419px){.theme-default-content h1{font-size:1.9rem}}.theme-default-content a:not(.header-anchor){text-decoration:underline}.theme-default-content img{max-width:100%}div[class*=language-]{margin:.75rem 0;transition:background-color var(--t-color),color var(--t-color)}@media (max-width: 419px){div[class*=language-]{--code-border-radius: 0;margin:.75rem -1.5rem}}div[class*=language-] .line.diff,div[class*=language-] .line.highlighted{transition:background-color var(--t-color)}.custom-container{transition:color var(--t-color),border-color var(--t-color),background-color var(--t-color)}.custom-container .custom-container-title{font-weight:600}.custom-container .custom-container-title:not(:only-child){margin-bottom:-.4rem}.custom-container.tip,.custom-container.warning,.custom-container.danger{margin:1rem 0;padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid}.custom-container.tip{border-color:var(--c-tip);background-color:var(--c-tip-bg);color:var(--c-tip-text)}.custom-container.tip .custom-container-title{color:var(--c-tip-title)}.custom-container.tip a{color:var(--c-tip-text-accent)}.custom-container.tip code{background-color:var(--c-bg-dark)}.custom-container.warning{--external-link-icon-color: var(--c-warning-text-quote);border-color:var(--c-warning);background-color:var(--c-warning-bg);color:var(--c-warning-text)}.custom-container.warning .custom-container-title{color:var(--c-warning-title)}.custom-container.warning a{color:var(--c-warning-text-accent)}.custom-container.warning blockquote{border-left-color:var(--c-warning-border-dark);color:var(--c-warning-text-quote)}.custom-container.warning code{background-color:var(--c-warning-bg-light);color:var(--c-warning-text-light)}.custom-container.warning details{background-color:var(--c-warning-details-bg)}.custom-container.warning details code{background-color:var(--c-warning-bg-lighter)}.custom-container.danger{--external-link-icon-color: var(--c-danger-text-quote);border-color:var(--c-danger);background-color:var(--c-danger-bg);color:var(--c-danger-text)}.custom-container.danger .custom-container-title{color:var(--c-danger-title)}.custom-container.danger a{color:var(--c-danger-text-accent)}.custom-container.danger blockquote{border-left-color:var(--c-danger-border-dark);color:var(--c-danger-text-quote)}.custom-container.danger code{background-color:var(--c-danger-bg-light);color:var(--c-danger-text-light)}.custom-container.danger details{background-color:var(--c-danger-details-bg)}.custom-container.danger details code{background-color:var(--c-danger-bg-lighter)}.custom-container.details{position:relative;display:block;margin:1.6em 0;padding:1.6em;border-radius:2px;background-color:var(--c-details-bg)}.custom-container.details code{background-color:var(--c-bg-darker)}.custom-container.details h4{margin-top:0}.custom-container.details figure:last-child,.custom-container.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-container.details summary{outline:none;cursor:pointer}.table-of-contents .vp-badge{vertical-align:middle}.arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}html.dark .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.arrow.down{transform:rotate(180deg)}.arrow.right{transform:rotate(90deg)}.arrow.left{transform:rotate(-90deg)}.vp-external-link-icon:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-icon-color);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .external-link:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-icon-color);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .theme-default-content a[href*="://"]:not(.no-external-link-icon):after,.external-link-icon .theme-default-content a[target=_blank]:not(.no-external-link-icon):after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-icon-color);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}@media screen and (max-width: 719px){.vp-hide-mobile{display:none}}#vp-comment{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){#vp-comment{padding:2rem}}@media (max-width: 419px){#vp-comment{padding:1.5rem}}.vp-navbar .DocSearch{transition:background-color var(--t-color)}.vp-navbar .search-box{vertical-align:top;flex:0 0 auto}.lang-modal-fade-enter-active,.lang-modal-fade-leave-active{transition:opacity .5s}.lang-modal-fade-enter,.lang-modal-fade-leave-to{opacity:0}.lang-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1499;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media print{.lang-modal-mask{display:none}}.lang-modal-wrapper{position:relative;z-index:1500;overflow:hidden;max-width:80vw;padding:1rem 2rem;border-radius:8px;background:var(--vp-bg);box-shadow:0 2px 6px 0 var(--card-shadow)}.lang-modal-action{display:block;width:100%;margin:1rem 0;padding:.5rem .75rem;border:none;border-radius:8px;background-color:var(--vp-bglt);color:var(--vp-c);cursor:pointer}.lang-modal-action:hover{background-color:var(--vp-bgl)}.lang-modal-action.primary{background-color:var(--vp-tc);color:var(--white)}.lang-modal-action.primary:hover{background-color:var(--vp-tcl)}.grey{color:#0006}.works-table-wrapper[data-v-765855fb]{margin:0 auto;padding:0 2rem;max-width:1224px;box-sizing:border-box}.works-table-wrapper[data-v-765855fb] table{width:100%}:root{--content-width: 960px}.vp-page .theme-default-content{padding-bottom:0!important}.vp-page-meta{display:none} diff --git a/dist/assets/style-DOZUTAXU.css b/dist/assets/style-DOZUTAXU.css new file mode 100644 index 0000000..3051d39 --- /dev/null +++ b/dist/assets/style-DOZUTAXU.css @@ -0,0 +1 @@ +@charset "UTF-8";.vp-back-to-top-button{position:fixed!important;inset-inline-end:1rem;bottom:4rem;z-index:100;width:48px;height:48px;padding:12px;border-width:0;border-radius:50%;background:var(--back-to-top-c-bg);color:var(--back-to-top-c-accent);box-shadow:2px 2px 10px 4px var(--back-to-top-c-shadow);cursor:pointer}@media (max-width: 959px){.vp-back-to-top-button{transform:scale(.8);transform-origin:100% 100%}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--back-to-top-c-accent-hover)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:24px;height:24px;margin:0 auto;background:var(--back-to-top-c-icon);-webkit-mask-image:var(--back-to-top-icon);mask-image:var(--back-to-top-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:cover;mask-size:cover}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}.vp-scroll-progress svg{width:100%;height:100%}.vp-scroll-progress circle{opacity:.9;transform:rotate(-90deg);transform-origin:50% 50%}.back-to-top-enter-active,.back-to-top-leave-active{transition:opacity .3s}.back-to-top-enter-from,.back-to-top-leave-to{opacity:0}:root{--back-to-top-z-index: 5;--back-to-top-icon: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2048%2048'%3e%3cpath%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='4'%20d='M24.008%2014.1V42M12%2026l12-12l12%2012M12%206h24'%20/%3e%3c/svg%3e");--back-to-top-c-bg: var(--vp-c-bg);--back-to-top-c-accent: var(--vp-c-accent);--back-to-top-c-accent-hover: var(--vp-c-accent-hover);--back-to-top-c-shadow: var(--vp-c-shadow);--back-to-top-c-icon: currentcolor}.vp-copy-code-button{position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-width:0;border-radius:.5rem;background:transparent;outline:none;opacity:0;cursor:pointer;transition:opacity .4s}@media print{.vp-copy-code-button{display:none}}.vp-copy-code-button:before{content:"";display:inline-block;width:1.25rem;height:1.25rem;padding:.625rem;background:currentcolor;color:var(--copy-code-c-text);font-size:1.25rem;-webkit-mask-image:var(--code-copy-icon);mask-image:var(--code-copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.vp-copy-code-button:focus,.vp-copy-code-button.copied{opacity:1}.vp-copy-code-button:hover,.vp-copy-code-button.copied{background:var(--copy-code-c-hover)}.vp-copy-code-button.copied:before{-webkit-mask-image:var(--code-copied-icon);mask-image:var(--code-copied-icon)}.vp-copy-code-button.copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--copy-code-c-hover);color:var(--copy-code-c-text);font-weight:500;line-height:1.25rem;white-space:nowrap}.no-copy-code .vp-copy-code-button{display:none}body:not(.no-copy-code) div[class*=language-]:hover:before{display:none}body:not(.no-copy-code) div[class*=language-]:hover .vp-copy-code-button{opacity:1}:root{--code-copy-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%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");--code-copied-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808080' stroke-width='2'%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");--copy-code-c-text: var(--code-c-line-number);--copy-code-c-hover: var(--code-c-highlight-bg)}.hint-container{position:relative;border-color:var(--hint-c-accent);background:var(--hint-c-bg);transition:background var(--vp-t-color),border-color var(--vp-t-color),color var(--vp-t-color)}@media print{.hint-container{page-break-inside:avoid}}.hint-container>.hint-container-title{color:var(--hint-c-title)}.hint-container :not(pre)>code{background:var(--note-c-soft)}.hint-container .hint-container-title{position:relative;margin-block:.75em;font-weight:600;line-height:1.25}.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin:.85rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution{margin-inline:-.75rem}}.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.important .hint-container-title,.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.caution .hint-container-title{padding-inline-start:0}}.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{content:" ";position:absolute;inset-inline-start:0;top:calc(50% - .6125em);width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.important .hint-container-title:before,.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.caution .hint-container-title:before{display:none}}.hint-container.important p,.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.caution p{line-height:1.5}.hint-container.important a,.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.caution a{color:var(--vp-c-accent)}.hint-container.important{--hint-c-accent: var(--important-c-accent);--hint-c-bg: var(--important-c-light);--hint-c-title: var(--important-c-dark);--hint-c-soft: var(--important-c-soft)}[data-theme=dark] .hint-container.important{--hint-c-bg: var(--important-c-dark);--hint-c-title: var(--important-c-light)}.hint-container.important>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z' fill='%23a371f7'/%3E%3C/svg%3E")}.hint-container.info{--hint-c-accent: var(--info-c-accent);--hint-c-bg: var(--info-c-light);--hint-c-title: var(--info-c-dark);--hint-c-soft: var(--info-c-soft)}[data-theme=dark] .hint-container.info{--hint-c-bg: var(--info-c-dark);--hint-c-title: var(--info-c-light)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.note{--hint-c-accent: var(--note-c-accent);--hint-c-bg: var(--note-c-light);--hint-c-title: var(--note-c-dark);--hint-c-soft: var(--note-c-soft)}[data-theme=dark] .hint-container.note{--hint-c-bg: var(--note-c-dark);--hint-c-title: var(--note-c-light)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.tip{--hint-c-accent: var(--tip-c-accent);--hint-c-bg: var(--tip-c-light);--hint-c-title: var(--tip-c-dark);--hint-c-soft: var(--tip-c-soft)}[data-theme=dark] .hint-container.tip{--hint-c-bg: var(--tip-c-dark);--hint-c-title: var(--tip-c-light)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.warning{--hint-c-accent: var(--warning-c-accent);--hint-c-bg: var(--warning-c-light);--hint-c-title: var(--warning-c-dark);--hint-c-soft: var(--warning-c-soft)}[data-theme=dark] .hint-container.warning{--hint-c-bg: var(--warning-c-dark);--hint-c-title: var(--warning-c-light)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.caution{--hint-c-accent: var(--caution-c-accent);--hint-c-bg: var(--caution-c-light);--hint-c-title: var(--caution-c-dark);--hint-c-soft: var(--caution-c-soft)}[data-theme=dark] .hint-container.caution{--hint-c-bg: var(--caution-c-dark);--hint-c-title: var(--caution-c-light)}.hint-container.caution>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.details{--detail-c-bg: var(--detail-c-light);--detail-c-icon: var(--detail-c-icon-light);position:relative;display:block;margin:1rem 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-c-bg);transition:background var(--vp-t-transform),color var(--vp-t-transform)}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}[data-theme=dark] .hint-container.details{--detail-c-bg: var(--detail-c-dark);--detail-c-icon: var(--detail-c-icon-dark)}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-c-accent)}.hint-container.details :not(pre)>code{background:var(--detail-c-soft)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker{display:none}.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;inset-inline-start:1.5rem;top:calc(50% - .75rem);width:1.5rem;height:1.5rem}.hint-container.details summary:before{border-radius:50%;background:var(--detail-c-icon);transition:background var(--vp-t-color),transform var(--vp-t-transform)}.hint-container.details summary:after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-t-transform);transform:rotate(90deg)}[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgb(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}:root{--important-c-accent: #a371f7;--important-c-light: #f4eefe;--important-c-dark: #230555;--important-c-soft: rgb(163 113 247 / 10%);--info-c-accent: #4cb3d4;--info-c-light: #eef9fd;--info-c-dark: #193c47;--info-c-soft: rgb(76 179 212 / 10%);--note-c-accent: #ccc;--note-c-light: #fdfdfe;--note-c-dark: #474748;--note-c-soft: rgb(212 213 216 / 20%);--tip-c-accent: #009400;--tip-c-light: #e6f6e6;--tip-c-dark: #003100;--tip-c-soft: rgb(0 148 0 / 15%);--warning-c-accent: #e6a700;--warning-c-light: #fff8e6;--warning-c-dark: #4d3800;--warning-c-soft: rgb(230 167 0 / 15%);--caution-c-accent: #e13238;--caution-c-light: #ffebec;--caution-c-dark: #4b1113;--caution-c-soft: rgb(225 50 56 / 15%);--detail-c-light: #eee;--detail-c-dark: #333;--detail-c-icon-light: #ccc;--detail-c-icon-dark: #555;--detail-c-soft: rgb(127 127 127 / 15%)}:root{--nprogress-c: var(--vp-c-accent);--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{position:fixed;top:0;left:0;z-index:var(--nprogress-z-index);width:100%;height:2px;background:var(--nprogress-c)}:root{--code-padding-x: 1.25rem;--code-padding-y: 1rem;--code-border-radius: 6px;--code-line-height: 1.6;--code-font-family: consolas, monaco, "Andale Mono", "Ubuntu Mono", monospace}div[class*=language-]{position:relative;border-radius:var(--code-border-radius);background-color:var(--code-c-bg)}div[class*=language-]:before{content:attr(data-title);position:absolute;top:.8em;right:1em;z-index:3;color:var(--code-c-text);font-size:.75rem}div[class*=language-] pre{position:relative;z-index:1;overflow-x:auto;margin:.75rem 0;border-radius:var(--code-border-radius);font-size:14px;font-family:var(--code-font-family);line-height:var(--code-line-height)}div[class*=language-] pre code{display:block;box-sizing:border-box;width:-moz-fit-content;width:fit-content;min-width:100%;padding:var(--code-padding-y) var(--code-padding-x);background-color:transparent!important;overflow-wrap:unset;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}:root{--code-c-text: #f8f8f2;--code-c-bg: #2e3440;--code-c-highlight-bg: #343d4e;--code-c-line-number: rgba(248, 248, 242, .67)}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:.7}.token.property,.token.tag,.token.constant,.token.symbol,.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#a3be8c}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#81a1c1}.token.atrule,.token.attr-value,.token.function,.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,.token.important{color:#ebcb8b}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}:root{--code-line-number-width: 3.5rem}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;left:0;width:var(--code-line-number-width);height:100%;border-right:1px solid var(--code-c-highlight-bg, var(--code-c-text));border-radius:var(--code-border-radius) 0 0 var(--code-border-radius);transition:border var(--t-color)}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--code-line-number-width)}div[class*=language-].line-numbers-mode code{padding-left:1rem}div[class*=language-].line-numbers-mode .line-numbers{counter-reset:line-number;position:absolute;top:0;width:var(--code-line-number-width);padding-top:var(--code-padding-y);color:var(--code-c-line-number, var(--code-c-text));font-size:.875em;line-height:var(--code-line-height);text-align:center}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:3;font-family:var(--code-font-family);-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);counter-increment:line-number}.vp-badge{display:inline-block;vertical-align:top;height:18px;padding:0 6px;border-radius:3px;color:var(--vp-c-accent-text);font-weight:600;font-size:14px;line-height:18px;transition:color var(--vp-t-color),background-color var(--vp-t-color)}.vp-badge.tip{background-color:var(--c-badge-tip)}.vp-badge.warning{background-color:var(--c-badge-warning);color:var(--c-badge-warning-text)}.vp-badge.danger{background-color:var(--c-badge-danger);color:var(--c-badge-danger-text)}.vp-badge+.vp-badge{margin-left:5px}.code-group-nav{margin-top:.85rem;margin-bottom:calc(-1.7rem - 6px);padding-top:10px;padding-bottom:calc(1.7rem - 6px);padding-left:10px;border-top-left-radius:6px;border-top-right-radius:6px;background-color:var(--vp-c-code-tab-bg);transition:background-color var(--t-color)}@media (max-width: 419px){.code-group-nav{margin-right:-1.5rem;margin-left:-1.5rem;border-radius:0}}.code-group-nav-tab{padding:5px;border:0;background-color:transparent;color:var(--vp-c-code-tab-title);font-weight:600;font-size:.85em;line-height:1.4;cursor:pointer}.code-group-nav-tab:focus{outline:none}.code-group-nav-tab:focus-visible{outline:1px solid}.code-group-nav-tab.active{border-bottom:var(--vp-c-code-tab-active) 1px solid}.code-group-item{display:none}.code-group-item.active{display:block}.code-group-item>pre{background-color:orange}.vp-features{display:flex;flex-wrap:wrap;place-content:stretch space-between;align-items:flex-start;margin-top:2.5rem;padding:1.2rem 0;border-top:1px solid var(--vp-c-gutter);transition:border-color var(--vp-t-color)}@media (max-width: 719px){.vp-features{flex-direction:column}}.vp-feature{flex-grow:1;flex-basis:30%;max-width:30%}@media (max-width: 719px){.vp-feature{max-width:100%;padding:0 2.5rem}}.vp-feature h2{padding-bottom:0;border-bottom:none;font-weight:500;font-size:1.4rem}@media (max-width: 419px){.vp-feature h2{font-size:1.25rem}}.vp-feature p{color:var(--vp-c-text-mute)}.vp-footer{padding:2.5rem;border-top:1px solid var(--vp-c-border);color:var(--vp-c-text-mute);text-align:center;transition:border-color var(--vp-t-color)}.vp-hero{text-align:center}.vp-hero-image{display:block;max-width:100%;max-height:280px;margin:3rem auto 1.5rem}@media (max-width: 419px){.vp-hero-image{max-height:210px;margin:2rem auto 1.2rem}}#main-title{font-size:3rem}@media (max-width: 419px){#main-title{font-size:2rem}}#main-title,.vp-hero-description,.vp-hero-actions{margin:1.8rem auto}@media (max-width: 419px){#main-title,.vp-hero-description,.vp-hero-actions{margin:1.2rem auto}}.vp-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.vp-hero-description{max-width:35rem;color:var(--vp-c-text-mute);font-size:1.6rem;line-height:1.3}@media (max-width: 419px){.vp-hero-description{font-size:1.2rem}}.vp-hero-action-button{display:inline-block;box-sizing:border-box;padding:.8rem 1.6rem;border-width:2px;border-style:solid;border-radius:4px;font-size:1.2rem;transition:background-color var(--vp-t-color)}@media (max-width: 419px){.vp-hero-action-button{padding:.6rem 1.2rem;font-size:1rem}}.vp-hero-action-button.primary{border-color:var(--vp-c-accent);background-color:var(--vp-c-accent);color:var(--vp-c-accent-text)}.vp-hero-action-button.primary:hover{background-color:var(--vp-c-accent-hover)}.vp-hero-action-button.secondary{border-color:var(--vp-c-accent);background-color:var(--vp-c-bg);color:var(--vp-c-accent)}.vp-hero-action-button.secondary:hover{background-color:var(--vp-c-accent-hover);color:var(--vp-c-accent-text)}.vp-home{display:block;max-width:var(--homepage-width);margin:0 auto;padding:var(--navbar-height) 2rem 0}@media (max-width: 419px){.vp-home{padding-right:1.5rem;padding-left:1.5rem}}.vp-home .theme-default-content{margin:0;padding:0}.vp-site-logo{vertical-align:top;height:var(--navbar-line-height);margin-right:var(--navbar-padding-v)}.vp-site-name{position:relative;color:var(--vp-c-text);font-weight:600;font-size:1.3rem}@media screen and (max-width: 719px){.vp-site-name{display:block;overflow:hidden;width:calc(100vw - 11rem);text-overflow:ellipsis;white-space:nowrap}}.vp-dropdown-enter-from,.vp-dropdown-leave-to{height:0!important}.vp-navbar-dropdown-wrapper{cursor:pointer}.vp-navbar-dropdown-wrapper:not(.mobile){height:1.8rem}.vp-navbar-dropdown-wrapper:not(.mobile):hover .vp-navbar-dropdown,.vp-navbar-dropdown-wrapper:not(.mobile).open .vp-navbar-dropdown{display:block!important}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown{overflow:hidden;transition:height .1s ease-out;padding-top:.5rem}.vp-navbar-dropdown-wrapper:not(.mobile) .vp-navbar-dropdown{position:absolute;top:100%;right:0;display:none;overflow-y:auto;box-sizing:border-box;height:auto!important;max-height:calc(100vh - 2.7rem);margin:0;padding:.6rem 0;border:1px solid var(--vp-c-border);border-radius:.25rem;background-color:var(--vp-navbar-c-bg);text-align:left;white-space:nowrap}.vp-navbar-dropdown-title{display:block;padding:inherit;border:none;background:transparent;color:var(--vp-c-text);font-weight:500;font-size:.9rem;font-family:inherit;line-height:1.4rem;cursor:inherit}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title{display:none}.vp-navbar-dropdown-title:hover{border-color:transparent}.vp-navbar-dropdown-title-mobile{display:none;padding:inherit;border:none;background:transparent;color:var(--vp-c-text);font-weight:600;font-size:inherit;font-family:inherit;line-height:1.4rem;cursor:inherit}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title-mobile{display:block}.vp-navbar-dropdown-title-mobile:hover{color:var(--vp-c-accent)}.vp-navbar-dropdown-item{color:inherit;line-height:1.7rem}.vp-navbar-dropdown-item a{position:relative;display:block;margin-bottom:0;padding:0 1.5rem 0 1.25rem;border-bottom:none;font-weight:400;line-height:1.7rem}.vp-navbar-dropdown-item a:hover,.vp-navbar-dropdown-item a.route-link-active{color:var(--vp-c-accent)}.vp-navbar-dropdown-item a.route-link-active:after{content:"";position:absolute;top:calc(50% - 2px);left:9px;width:0;height:0;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:5px solid var(--vp-c-accent)}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-item>a{font-size:15px;line-height:2rem}.vp-navbar-dropdown-subtitle{margin:.45rem 0 0;padding:1rem 0 .45rem;border-top:1px solid var(--vp-c-gutter);font-size:.9rem}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subtitle{margin-top:0;padding-top:0;padding-bottom:0;border-top:0;font-size:15px;line-height:2rem}.vp-navbar-dropdown-item:first-child .vp-navbar-dropdown-subtitle{margin-top:0;padding-top:0;border-top:0}.vp-navbar-dropdown-subtitle>span{padding:0 1.5rem 0 1.25rem}.vp-navbar-dropdown-subtitle>a{font-weight:inherit}.vp-navbar-dropdown-subtitle>a.route-link-active:after{display:none}.vp-navbar-dropdown-subitem-wrapper{padding:0;list-style:none}.vp-navbar-dropdown-subitem{font-size:.9em}.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subitem{padding-left:1rem;font-size:14px}.vp-navbar-items{display:inline-block}@media print{.vp-navbar-items{display:none}}.vp-navbar-items a{display:inline-block;color:inherit;line-height:1.4rem}.vp-navbar-items a:hover,.vp-navbar-items a.route-link-active{color:var(--vp-c-text)}.vp-navbar-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:var(--navbar-line-height)}@media (max-width: 719px){.vp-navbar-item{margin-left:0}}.vp-navbar-item:first-child{margin-left:0}.vp-navbar-item a:hover,.vp-navbar-item a.route-link-active{color:var(--vp-c-accent)}.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:-2px;border-bottom:2px solid var(--vp-c-accent)}@media (max-width: 719px){.vp-navbar-item>a:hover,.vp-navbar-item>a.route-link-active{margin-bottom:0;border-bottom:none}}.vp-toggle-color-mode-button{display:flex;margin:auto;margin-left:1rem;border:0;background:none;color:var(--vp-c-text);opacity:.8;cursor:pointer}@media print{.vp-toggle-color-mode-button{display:none}}.vp-toggle-color-mode-button:hover{opacity:1}.vp-toggle-color-mode-button .light-icon,.vp-toggle-color-mode-button .dark-icon{width:1.25rem;height:1.25rem}.vp-toggle-sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block}}.vp-toggle-sidebar-button .icon{display:flex;flex-direction:column;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;cursor:inherit}.vp-toggle-sidebar-button .icon span{display:inline-block;width:100%;height:2px;border-radius:2px;background-color:var(--vp-c-text);transition:transform var(--vp-t-transform)}.vp-toggle-sidebar-button .icon span:nth-child(2){margin:6px 0}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(1){transform:rotate(45deg) translate3d(5.5px,5.5px,0)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(2){transform:scale3d(0,1,1)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3){transform:rotate(-45deg) translate3d(6px,-6px,0)}.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(1),.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3){transform-origin:center}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - 2 * var(--navbar-padding-v) );position:fixed;top:0;right:0;left:0;z-index:20;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-padding-v) var(--navbar-padding-h);border-bottom:1px solid var(--vp-c-border);background-color:var(--vp-navbar-c-bg);line-height:var(--navbar-line-height);transition:background-color var(--vp-t-color),border-color var(--vp-t-color)}@media screen and (max-width: 719px){.vp-navbar{padding-left:4rem}}.vp-navbar-items-wrapper{position:absolute;top:var(--navbar-padding-v);right:var(--navbar-padding-h);display:flex;box-sizing:border-box;height:var(--navbar-line-height);padding-left:var(--navbar-padding-h);font-size:.9rem;white-space:nowrap}.vp-page-meta{max-width:var(--content-width);margin:0 auto;padding:.75rem 2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto}@media (max-width: 959px){.vp-page-meta{padding:2rem}}@media (max-width: 419px){.vp-page-meta{padding:1.5rem}}@media print{.vp-page-meta{margin:0!important;padding-right:0!important;padding-left:0!important}}@media (max-width: 719px){.vp-page-meta{display:block}}.vp-page-meta .vp-meta-item{flex-grow:1}.vp-page-meta .vp-meta-item .vp-meta-label{font-weight:500}.vp-page-meta .vp-meta-item .vp-meta-label:not(a){color:var(--vp-c-text-mute)}.vp-page-meta .vp-meta-item .vp-meta-info{color:var(--vp-c-text-mute);font-weight:400}.vp-page-meta .git-info{text-align:end}.vp-page-meta .edit-link{margin-top:.25rem;margin-right:.5rem;margin-bottom:.25rem;font-size:14px}@media print{.vp-page-meta .edit-link{display:none}}.vp-page-meta .edit-link .edit-icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-right:.25em}.vp-page-meta .last-updated,.vp-page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.vp-page-meta .last-updated,.vp-page-meta .contributors{font-size:13px;text-align:start}}.vp-page-nav{display:flex;flex-wrap:wrap;max-width:var(--content-width, 740px);min-height:2rem;margin-top:0;margin-right:auto;margin-left:auto;padding:1rem 2rem 0;border-top:1px solid var(--vp-c-gutter);transition:border-top var(--vp-t-color)}@media (max-width: 959px){.vp-page-nav{padding-right:1rem;padding-left:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .route-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--vp-c-gutter);border-radius:.25rem}.vp-page-nav .route-link:hover{background:var(--c-bg-soft)}.vp-page-nav .route-link .hint{color:var(--vp-c-text-mute);font-size:.875rem;line-height:2}.vp-page-nav .prev{text-align:start}.vp-page-nav .next{text-align:end}.vp-page{display:block;padding-top:var(--navbar-height);padding-bottom:2rem;padding-left:var(--sidebar-width)}@media (max-width: 959px){.vp-page{padding-left:var(--sidebar-width-mobile)}}@media (max-width: 719px){.vp-page{padding-left:0}}.vp-page .theme-default-content{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.vp-page .theme-default-content{padding:2rem}}@media (max-width: 419px){.vp-page .theme-default-content{padding:1.5rem}}.vp-sidebar-item{border-left:.25rem solid transparent;color:var(--vp-c-text);cursor:default}.vp-sidebar-item:focus-visible{outline-width:1px;outline-offset:-1px}.vp-sidebar-item.vp-sidebar-heading{box-sizing:border-box;width:100%;margin:0;padding:.35rem 1.5rem .35rem 1.25rem;font-weight:700;font-size:1.1em;transition:color .15s ease}.vp-sidebar-item.vp-sidebar-heading+.vp-sidebar-children{overflow:hidden;transition:height .1s ease-out;margin-bottom:.75rem}.vp-sidebar-item.collapsible{cursor:pointer}.vp-sidebar-item:not(.vp-sidebar-heading){display:inline-block;box-sizing:border-box;width:100%;margin:0;padding:.35rem 1rem .35rem 2rem;font-weight:400;font-size:1em;line-height:1.4}.vp-sidebar-item:not(.vp-sidebar-heading)+.vp-sidebar-children{padding-left:1rem;font-size:.95em}.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading){padding:.25rem 1rem .25rem 1.75rem}.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active{border-left-color:transparent;font-weight:500}a.vp-sidebar-heading+.vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active{border-left-color:transparent}.vp-sidebar-item.active:not(p.vp-sidebar-heading){border-left-color:var(--vp-c-accent);color:var(--vp-c-accent);font-weight:600}a.vp-sidebar-item{cursor:pointer}a.vp-sidebar-item:hover{color:var(--vp-c-accent)}.vp-sidebar-items{margin:0;padding:1.5rem 0;list-style-type:none}@media (max-width: 719px){.vp-sidebar-items{padding:1rem 0}}.vp-sidebar-items ul{margin:0;padding:0;list-style-type:none}.vp-sidebar-items a{display:inline-block}.vp-sidebar{position:fixed;top:var(--navbar-height);bottom:0;left:0;z-index:10;overflow-y:auto;box-sizing:border-box;width:var(--sidebar-width);margin:0;border-right:1px solid var(--vp-c-border);background-color:var(--vp-sidebar-c-bg);font-size:16px;transition:transform var(--vp-t-transform),background-color var(--vp-t-color),border-color var(--vp-t-color);scrollbar-color:var(--vp-c-accent) var(--vp-c-gutter);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{width:var(--sidebar-width-mobile);font-size:15px}}@media (max-width: 719px){.vp-sidebar{top:0;padding-top:var(--navbar-height);transform:translate(-100%)}}.vp-sidebar::-webkit-scrollbar{width:7px}.vp-sidebar::-webkit-scrollbar-track{background-color:var(--vp-c-gutter)}.vp-sidebar::-webkit-scrollbar-thumb{background-color:var(--vp-c-accent)}.vp-sidebar .vp-navbar-items{display:none;padding:.5rem 0 .75rem;border-bottom:1px solid var(--vp-c-gutter);transition:border-color var(--vp-t-color)}@media (max-width: 719px){.vp-sidebar .vp-navbar-items{display:block}.vp-sidebar .vp-navbar-items .vp-navbar-dropdown-item a.route-link-active:after{top:calc(1rem - 2px)}}.vp-sidebar .vp-navbar-items ul{margin:0;padding:0;list-style-type:none}.vp-sidebar .vp-navbar-items a{font-weight:600}.vp-sidebar .vp-navbar-item{display:block;padding:.5rem 0 .5rem 1.5rem;font-size:1.1em;line-height:1.25rem}.vp-sidebar-mask{position:fixed;top:0;left:0;z-index:9;display:none;width:100vw;height:100vh}.vp-theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.vp-theme-container.no-navbar .vp-sidebar{padding-top:0}}.vp-theme-container.no-navbar .vp-page{padding-top:0}.vp-theme-container.no-navbar .theme-default-content h1,.vp-theme-container.no-navbar .theme-default-content h2,.vp-theme-container.no-navbar .theme-default-content h3,.vp-theme-container.no-navbar .theme-default-content h4,.vp-theme-container.no-navbar .theme-default-content h5,.vp-theme-container.no-navbar .theme-default-content h6{margin-top:1.5rem;padding-top:0}.vp-theme-container.no-sidebar .vp-sidebar{display:none}@media (max-width: 719px){.vp-theme-container.no-sidebar .vp-sidebar{display:block}}.vp-theme-container.no-sidebar .vp-page{padding-left:0}@media (max-width: 719px){.vp-theme-container.sidebar-open .vp-sidebar{transform:translate(0)}.vp-theme-container.sidebar-open .vp-sidebar-mask{display:block}}.fade-slide-y-enter-active{transition:all .2s ease}.fade-slide-y-leave-active{transition:all .2s cubic-bezier(1,.5,.8,1)}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-theme-container[data-v-1c3b23e8]{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-theme-container[data-v-1c3b23e8]{padding:2rem}}:root{--vp-c-white: #fff;--vp-c-black: #000;--vp-c-grey-text: #dddde3;--vp-c-grey-hover: #e4e4e9;--vp-c-grey-bg: #ebebef;--vp-c-grey-soft: rgb(142 150 170 / 14%);--vp-c-indigo-text: #3451b2;--vp-c-indigo-hover: #3a5ccc;--vp-c-indigo-bg: #5672cd;--vp-c-indigo-soft: rgb(100 108 255 / 14%);--vp-c-purple-text: #6f42c1;--vp-c-purple-hover: #7e4cc9;--vp-c-purple-bg: #8e5cd9;--vp-c-purple-soft: rgb(159 122 234 / 14%);--vp-c-green-text: #18794e;--vp-c-green-hover: #299764;--vp-c-green-bg: #30a46c;--vp-c-green-soft: rgb(16 185 129 / 14%);--vp-c-yellow-text: #915930;--vp-c-yellow-hover: #946300;--vp-c-yellow-bg: #9f6a00;--vp-c-yellow-soft: rgb(234 179 8 / 14%);--vp-c-red-text: #b8272c;--vp-c-red-hover: #d5393e;--vp-c-red-bg: #e0575b;--vp-c-red-soft: rgb(244 63 94 / 14%)}[data-theme=dark]{--vp-c-white: #000;--vp-c-black: #fff;--vp-c-grey-text: #515c67;--vp-c-grey-hover: #414853;--vp-c-grey-bg: #32363f;--vp-c-grey-soft: rgb(101 117 133 / 16%);--vp-c-indigo-text: #a8b1ff;--vp-c-indigo-hover: #5c73e7;--vp-c-indigo-bg: #3e63dd;--vp-c-indigo-soft: rgb(100 108 255 / 16%);--vp-c-purple-text: #c8abfa;--vp-c-purple-hover: #a879e6;--vp-c-purple-bg: #8e5cd9;--vp-c-purple-soft: rgb(159 122 234 / 16%);--vp-c-green-text: #3dd68c;--vp-c-green-hover: #30a46c;--vp-c-green-bg: #298459;--vp-c-green-soft: rgb(16 185 129 / 16%);--vp-c-yellow-text: #f9b44e;--vp-c-yellow-hover: #da8b17;--vp-c-yellow-bg: #a46a0a;--vp-c-yellow-soft: rgb(234 179 8 / 16%);--vp-c-red-text: #f66f81;--vp-c-red-hover: #f14158;--vp-c-red-bg: #b62a3c;--vp-c-red-soft: rgb(244 63 94 / 16%)}html,body{background:var(--vp-c-bg)}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}@media print{html{font-size:12pt}}html[data-theme=dark]{color-scheme:dark}body{min-height:100vh;margin:0;padding:0;color:#2c3e50;font-synthesis:style}a{color:var(--vp-c-accent);font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px 0 var(--vp-c-shadow);line-height:1;letter-spacing:-.1em;text-align:center}:not(pre)>code{margin:0;padding:3px 6px;border-radius:4px;background:#7f7f7f1f;font-size:.875em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:var(--vp-c-accent);font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;overflow-wrap:break-word}h1:focus-visible,h2:focus-visible,h3:focus-visible,h4:focus-visible,h5:focus-visible,h6:focus-visible{outline:none}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{position:relative;color:inherit;text-decoration:none}a.header-anchor:hover:before{content:"¶";position:absolute;top:.4167em;left:-.75em;color:var(--vp-c-accent);font-size:.75em}a.header-anchor:focus-visible{outline:none}a.header-anchor:focus-visible:before{content:"¶";position:absolute;left:-.75em;color:var(--vp-c-accent);outline:auto}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(odd){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{text-align:left;direction:ltr;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}@media print{pre{white-space:pre-wrap}}pre code{padding:0;border-radius:0}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a.header-anchor{text-decoration:none}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,:before,:after{background-attachment:initial!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important}}:root{--vp-c-accent: #3eaf7c;--vp-c-accent-hover: #4abf8a;--vp-c-accent-text: var(--vp-c-white);--vp-c-bg: #fff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #fff;--vp-c-text: rgba(60 60 67);--vp-c-text-mute: rgb(60 60 67 / 78%);--vp-c-text-subtle: rgb(60 60 67 / 56%);--vp-c-border: #d7d9da;--vp-c-gutter: #eaecef;--vp-c-border-hard: #d1d4d7;--vp-c-shadow: rgb(0 0 0 / 15%);--vp-c-shadow-hard: #f1f3f5;--vp-c-control: #f8f9fa;--vp-c-control-hover: #f1f3f5;--vp-c-control-active: #e9ecef;--vp-c-control-disabled: #ccc;--vp-navbar-c-bg: var(--vp-c-bg);--vp-sidebar-c-bg: var(--vp-c-bg);--vp-c-code-tab-title: var(--code-c-text, rgb(255 255 255 / 90%));--vp-c-code-tab-bg: var(--code-bg-color, var(--code-c-bg));--vp-c-code-tab-active: var(--vp-c-accent);--c-badge-tip: var(--c-tip);--c-badge-warning: #ecc808;--c-badge-warning-text: var(--vp-c-bg);--c-badge-danger: #dc2626;--c-badge-danger-text: var(--vp-c-bg);--font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--navbar-height: 3.6rem;--navbar-padding-v: .7rem;--navbar-padding-h: 1.5rem;--sidebar-width: 20rem;--sidebar-width-mobile: calc(var(--sidebar-width) * .82);--content-width: 740px;--homepage-width: 960px;--vp-t-color: .3s ease;--vp-t-transform: .3s ease;--external-link-icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");--external-link-c-icon: var(--vp-c-text-mute)}.DocSearch{--docsearch-primary-color: var(--vp-c-accent);--docsearch-text-color: var(--vp-c-text);--docsearch-highlight-color: var(--vp-c-accent);--docsearch-muted-color: var(--vp-c-text-mute);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--vp-c-bg-alt);--docsearch-searchbox-background: var(--vp-c-gutter);--docsearch-searchbox-focus-background: var(--vp-c-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--vp-c-accent);--docsearch-hit-color: var(--vp-c-text-mute);--docsearch-hit-active-color: var(--vp-c-bg);--docsearch-hit-background: var(--vp-c-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--vp-c-border-hard);--docsearch-footer-background: var(--vp-c-bg)}.search-box{--search-c-item-text: var(--vp-c-text-subtle)}[data-theme=dark]{--vp-c-accent: #3aa675;--vp-c-accent-hover: #349469;--vp-c-bg: #22272e;--vp-c-bg-alt: #343b44;--vp-c-bg-elv: #22272e;--vp-c-text: #adbac7;--vp-c-text-mute: rgb(235 235 245 / 60%);--vp-c-text-subtle: rgb(235 235 245 / 38%);--vp-c-border: #3e4c5a;--vp-c-gutter: #373f4c;--vp-c-border-hard: #405064;--vp-c-shadow: rgb(0 0 0 / 30%);--vp-c-shadow-hard: #2f3841;--vp-c-control: #2d333b;--vp-c-control-hover: #2f3841;--vp-c-control-active: #333a44;--vp-c-control-disabled: #3e4c5a;--c-badge-warning: var(--c-warning);--c-badge-warning-text: #3c2e05;--c-badge-danger: var(--c-danger);--c-badge-danger-text: #401416}[data-theme=dark] .DocSearch{--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}html,body{background-color:var(--vp-c-bg);accent-color:var(--vp-c-accent);transition:background-color var(--vp-t-color)}[data-theme=dark]{color-scheme:dark}body{color:var(--vp-c-text);font-size:1rem;font-family:var(--font-family)}h2{border-color:var(--vp-c-gutter);transition:border-color var(--vp-t-color)}a{color:var(--vp-c-accent)}code{background-color:var(--vp-c-bg-alt);color:var(--vp-c-text-mute);font-family:var(--code-font-family);transition:background-color var(--vp-t-color)}p a code{color:var(--vp-c-accent)}kbd{border-color:var(--vp-c-border-hard);transition:border-color var(--vp-t-color)}blockquote{border-color:var(--vp-c-border-hard);color:var(--vp-c-text-mute);transition:border-color var(--vp-t-color)}hr{border-color:var(--vp-c-gutter);transition:border-color var(--vp-t-color)}table{transition:border-color var(--vp-t-color)}tr:nth-child(odd){background-color:var(--vp-c-bg-alt);transition:background-color var(--vp-t-color)}tr:nth-child(odd) code{background-color:var(--vp-c-gutter)}th,td{border-color:var(--vp-c-border-hard);transition:border-color var(--vp-t-color)}.theme-default-content h1,.theme-default-content h2,.theme-default-content h3,.theme-default-content h4,.theme-default-content h5,.theme-default-content h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:0;padding-top:calc(1rem + var(--navbar-height))}.theme-default-content h1:first-child,.theme-default-content h2:first-child,.theme-default-content h3:first-child,.theme-default-content h4:first-child,.theme-default-content h5:first-child,.theme-default-content h6:first-child{margin-bottom:1rem}.theme-default-content h1:first-child+p,.theme-default-content h1:first-child+pre,.theme-default-content h1:first-child+.custom-container,.theme-default-content h2:first-child+p,.theme-default-content h2:first-child+pre,.theme-default-content h2:first-child+.custom-container,.theme-default-content h3:first-child+p,.theme-default-content h3:first-child+pre,.theme-default-content h3:first-child+.custom-container,.theme-default-content h4:first-child+p,.theme-default-content h4:first-child+pre,.theme-default-content h4:first-child+.custom-container,.theme-default-content h5:first-child+p,.theme-default-content h5:first-child+pre,.theme-default-content h5:first-child+.custom-container,.theme-default-content h6:first-child+p,.theme-default-content h6:first-child+pre,.theme-default-content h6:first-child+.custom-container{margin-top:2rem}@media (max-width: 419px){.theme-default-content h1{font-size:1.9rem}}.theme-default-content a:not(.header-anchor){text-decoration:underline}.theme-default-content img{max-width:100%}div[class*=language-]{margin:.75rem 0;transition:background-color var(--vp-t-color),color var(--vp-t-color)}@media (max-width: 419px){div[class*=language-]{--code-border-radius: 0;margin:.75rem -1.5rem}}div[class*=language-] .line.diff,div[class*=language-] .line.highlighted{transition:background-color var(--vp-t-color)}.table-of-contents .vp-badge{vertical-align:middle}.arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;line-height:normal;transition:all .3s}[data-theme=dark] .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.arrow.down{transform:rotate(180deg)}.arrow.right{transform:rotate(90deg)}.arrow.left{transform:rotate(-90deg)}.vp-external-link-icon:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .external-link:after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}.external-link-icon .theme-default-content a[href*="://"]:not(.no-external-link-icon):after,.external-link-icon .theme-default-content a[target=_blank]:not(.no-external-link-icon):after{content:"";display:inline-block;flex-shrink:0;width:11px;height:11px;margin-top:-1px;margin-left:4px;background:var(--external-link-c-icon);-webkit-mask-image:var(--external-link-icon);mask-image:var(--external-link-icon)}@media screen and (max-width: 719px){.vp-hide-mobile{display:none}}.vp-comment{max-width:var(--content-width);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.vp-comment{padding:2rem}}@media (max-width: 419px){.vp-comment{padding:1.5rem}}.vp-navbar .DocSearch{transition:background-color var(--vp-t-color)}.vp-navbar .search-box{vertical-align:top;flex:0 0 auto}.lang-modal-fade-enter-active,.lang-modal-fade-leave-active{transition:opacity .5s}.lang-modal-fade-enter,.lang-modal-fade-leave-to{opacity:0}.lang-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1499;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media print{.lang-modal-mask{display:none}}.lang-modal-wrapper{position:relative;z-index:1500;overflow:hidden;max-width:80vw;padding:1rem 2rem;border-radius:8px;background:var(--vp-bg);box-shadow:0 2px 6px 0 var(--card-shadow)}.lang-modal-action{display:block;width:100%;margin:1rem 0;padding:.5rem .75rem;border:none;border-radius:8px;background-color:var(--vp-bglt);color:var(--vp-c);cursor:pointer}.lang-modal-action:hover{background-color:var(--vp-bgl)}.lang-modal-action.primary{background-color:var(--vp-tc);color:var(--white)}.lang-modal-action.primary:hover{background-color:var(--vp-tcl)}.grey{color:#0006}.works-table-wrapper[data-v-765855fb]{margin:0 auto;padding:0 2rem;max-width:1224px;box-sizing:border-box}.works-table-wrapper[data-v-765855fb] table{width:100%}:root{--content-width: 960px}.vp-page .theme-default-content{padding-bottom:0!important}.vp-page-meta{display:none} diff --git a/dist/assets/works.html-dR21TKIc.js b/dist/assets/works.html-DDM5nDLC.js similarity index 99% rename from dist/assets/works.html-dR21TKIc.js rename to dist/assets/works.html-DDM5nDLC.js index cf7a95e..9b7b82e 100644 --- a/dist/assets/works.html-dR21TKIc.js +++ b/dist/assets/works.html-DDM5nDLC.js @@ -1 +1 @@ -import{_ as e,c as r,o as l,e as a}from"./app-CICBSUru.js";const i={},o=a('

Выделенный опыт работы

Binary Management

  • Даты: Август 2018 – по настоящее время
  • Роли: Lead Fullstack Developer, Team Lead, Architect

Разработка инструмента управления проектами для дизайнеров интерьера.

Backend GraphQL API

Стек: Node.JS, Apollo, PostgreSQL, Redis, BullMQ

  • Перенес триггеры базы данных в бизнес-логику. Проще стало читать код, вносить изменение и система стала надежнее.
  • Ввёл практику написания unit тестов и интеграционных тестов. Самолично написал более 70% тестов всех тестов.
  • Добавил GraphQL подписки для динамичного обновления.
Frontend

Стек: React, Apollo, Antd

  • Сформировал UIKit и общие компоненты, оптимизировал сложные и нагруженные компоненты.
  • Изменил работу с API на фронтенде.
  • Внедрил практику написания интеграционных тестов с помощью cypress.
  • Полностью перенес проект на TypeScript. Сформировал изолированные модули системы.
Руководство командой
  • Ввёл практику TDD (Test-Driven Development).
  • Я привнес в проект "метод критической цепи", "метод буфера" и "метод планирования с конца". Помог команде войти в ритм, чтобы выпускать релизы каждую неделю небольшими партиями.
  • Составлял индивидуальный план развития для членов команды.
Архитектура
  • Разбил всю кодовую базу на модули по фичам.
  • Ускорил базу данных PostgreSQL, разбив данные компаний по отдельным схемам и применив партиципирование таблиц.
  • Добавил кеширование запросов с Redis.
  • Уменьшил затраты на инфраструткуру в 5 раз, перенес весь проект с kubernetes на NixOS.

Core Spirit (Back Office)

  • Даты: Август 2024 - по настоящее время
  • Роль: Lead Fullstack Developer

Разработка бэк-офиса для социальной платформы Core Spirit.

  • Интегрировал Dependabot, который помог обновить все устаревшие зависимости. Заменил webpack на vite.

Master Progress

  • Даты: Май 2018 - по настоящее время (Пассивная поддержка)
  • Роль: Tech Lead

Разработка веб-инфраструктуры образовательного центра Мастер Прогресс.


Core Spirit

  • Даты: Август 2018 - May 2020, Август 2024 - по настоящее время
  • Роль: Lead Fullstack Developer

Разработка социальной платформы, сфокусированной на улучшении человека и планеты.

  • REST API (Node.JS, Express, PostgreSQL) для основного сайта и бэк-офиса. Успел поработать с новой версией REST API на Go, PostgreSQL
  • Автопостер в различные социальные сети и мессенджеры (Facebook, LinkedIn, Twitter, Telegram).
  • Создал нейронную сеть для автоматической категоризации статей.

MERLION

  • Dates: March 2016 – May 2018
  • Role: Senior Fullstack developer

В этой компании было 6 значительных проектов, которые я успешно завершил:

  • Оптимизация создания рекламных страниц (PHP, JavaScript)
  • Поддержка основного традиционного сайта https://citilink.ru (PHP, JavaScript)
  • Разработка парсинга для мониторинга товаров на предмет изменения цены, количества/наличия на складе, рейтинга и других полей на основе данных с 55+ сайтов (Node.js, Express)
  • Работа с нейронными сетями для подбора товаров
  • Разработка приложений для распознавания лиц для Android (Java)

Хронология

В списке перечислены только публичные проекты.

',37),t=[o];function c(n,s){return l(),r("div",null,t)}const p=e(i,[["render",c],["__file","works.html.vue"]]),h=JSON.parse('{"path":"/works.html","title":"Работы","lang":"ru-RU","frontmatter":{"title":"Работы","layout":"WorksPage","sidebar":false,"head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://pleshevski.ru/eng/works.html"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/works.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:title","content":"Работы"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-08-07T08:48:54.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T08:48:54.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Работы\\"}"]]},"headers":[{"level":2,"title":"Выделенный опыт работы","slug":"выделенныи-опыт-работы","link":"#выделенныи-опыт-работы","children":[{"level":3,"title":"Binary Management","slug":"binary-management","link":"#binary-management","children":[]},{"level":3,"title":"Core Spirit (Back Office)","slug":"core-spirit-back-office","link":"#core-spirit-back-office","children":[]},{"level":3,"title":"Master Progress","slug":"master-progress","link":"#master-progress","children":[]},{"level":3,"title":"Core Spirit","slug":"core-spirit","link":"#core-spirit","children":[]},{"level":3,"title":"MERLION","slug":"merlion","link":"#merlion","children":[]}]},{"level":2,"title":"Хронология","slug":"хронология","link":"#хронология","children":[]}],"git":{"updatedTime":1723020534000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":5}]},"filePathRelative":"works.md"}');export{p as comp,h as data}; +import{_ as e,c as r,o as l,e as a}from"./app-YqJ2N5FF.js";const i={},o=a('

Выделенный опыт работы

Binary Management

  • Даты: Август 2018 – по настоящее время
  • Роли: Lead Fullstack Developer, Team Lead, Architect

Разработка инструмента управления проектами для дизайнеров интерьера.

Backend GraphQL API

Стек: Node.JS, Apollo, PostgreSQL, Redis, BullMQ

  • Перенес триггеры базы данных в бизнес-логику. Проще стало читать код, вносить изменение и система стала надежнее.
  • Ввёл практику написания unit тестов и интеграционных тестов. Самолично написал более 70% тестов всех тестов.
  • Добавил GraphQL подписки для динамичного обновления.
Frontend

Стек: React, Apollo, Antd

  • Сформировал UIKit и общие компоненты, оптимизировал сложные и нагруженные компоненты.
  • Изменил работу с API на фронтенде.
  • Внедрил практику написания интеграционных тестов с помощью cypress.
  • Полностью перенес проект на TypeScript. Сформировал изолированные модули системы.
Руководство командой
  • Ввёл практику TDD (Test-Driven Development).
  • Я привнес в проект "метод критической цепи", "метод буфера" и "метод планирования с конца". Помог команде войти в ритм, чтобы выпускать релизы каждую неделю небольшими партиями.
  • Составлял индивидуальный план развития для членов команды.
Архитектура
  • Разбил всю кодовую базу на модули по фичам.
  • Ускорил базу данных PostgreSQL, разбив данные компаний по отдельным схемам и применив партиципирование таблиц.
  • Добавил кеширование запросов с Redis.
  • Уменьшил затраты на инфраструткуру в 5 раз, перенес весь проект с kubernetes на NixOS.

Core Spirit (Back Office)

  • Даты: Август 2024 - по настоящее время
  • Роль: Lead Fullstack Developer

Разработка бэк-офиса для социальной платформы Core Spirit.

  • Интегрировал Dependabot, который помог обновить все устаревшие зависимости. Заменил webpack на vite.

Master Progress

  • Даты: Май 2018 - по настоящее время (Пассивная поддержка)
  • Роль: Tech Lead

Разработка веб-инфраструктуры образовательного центра Мастер Прогресс.


Core Spirit

  • Даты: Август 2018 - May 2020, Август 2024 - по настоящее время
  • Роль: Lead Fullstack Developer

Разработка социальной платформы, сфокусированной на улучшении человека и планеты.

  • REST API (Node.JS, Express, PostgreSQL) для основного сайта и бэк-офиса. Успел поработать с новой версией REST API на Go, PostgreSQL
  • Автопостер в различные социальные сети и мессенджеры (Facebook, LinkedIn, Twitter, Telegram).
  • Создал нейронную сеть для автоматической категоризации статей.

MERLION

  • Dates: March 2016 – May 2018
  • Role: Senior Fullstack developer

В этой компании было 6 значительных проектов, которые я успешно завершил:

  • Оптимизация создания рекламных страниц (PHP, JavaScript)
  • Поддержка основного традиционного сайта https://citilink.ru (PHP, JavaScript)
  • Разработка парсинга для мониторинга товаров на предмет изменения цены, количества/наличия на складе, рейтинга и других полей на основе данных с 55+ сайтов (Node.js, Express)
  • Работа с нейронными сетями для подбора товаров
  • Разработка приложений для распознавания лиц для Android (Java)

Хронология

В списке перечислены только публичные проекты.

',37),t=[o];function c(n,s){return l(),r("div",null,t)}const p=e(i,[["render",c],["__file","works.html.vue"]]),h=JSON.parse('{"path":"/works.html","title":"Работы","lang":"ru-RU","frontmatter":{"title":"Работы","layout":"WorksPage","sidebar":false,"head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://pleshevski.ru/eng/works.html"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/works.html"}],["meta",{"property":"og:site_name","content":"Дмитрий Плешевский"}],["meta",{"property":"og:title","content":"Работы"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"ru-RU"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-08-07T08:48:54.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T08:48:54.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Работы\\"}"]]},"headers":[{"level":2,"title":"Выделенный опыт работы","slug":"выделенныи-опыт-работы","link":"#выделенныи-опыт-работы","children":[{"level":3,"title":"Binary Management","slug":"binary-management","link":"#binary-management","children":[]},{"level":3,"title":"Core Spirit (Back Office)","slug":"core-spirit-back-office","link":"#core-spirit-back-office","children":[]},{"level":3,"title":"Master Progress","slug":"master-progress","link":"#master-progress","children":[]},{"level":3,"title":"Core Spirit","slug":"core-spirit","link":"#core-spirit","children":[]},{"level":3,"title":"MERLION","slug":"merlion","link":"#merlion","children":[]}]},{"level":2,"title":"Хронология","slug":"хронология","link":"#хронология","children":[]}],"git":{"updatedTime":1723020534000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":5}]},"filePathRelative":"works.md"}');export{p as comp,h as data}; diff --git a/dist/assets/works.html-ClPWTWbv.js b/dist/assets/works.html-EdO4hOM5.js similarity index 99% rename from dist/assets/works.html-ClPWTWbv.js rename to dist/assets/works.html-EdO4hOM5.js index 778b6e6..a02901f 100644 --- a/dist/assets/works.html-ClPWTWbv.js +++ b/dist/assets/works.html-EdO4hOM5.js @@ -1 +1 @@ -import{_ as e,c as t,o as r,e as o}from"./app-CICBSUru.js";const a={},i=o('

Highlighted working experience

Binary Management

  • Dates: August 2018 – currently
  • Roles: Lead Fullstack Developer, Team Lead, Architect

Development of a Project Management Tool for Interior Designers

Backend GraphQL API

Stack: Node.JS, Apollo, PostgreSQL, Redis, BullMQ

  • Migrated database triggers into business logic. Code became easier to read and maintain, and the system became more reliable.
  • Introduced unit testing and integration testing practices. I wrote over 70% of all tests myself.
  • Added GraphQL subscriptions for dynamic updates.
Frontend

Stack: React, Apollo, Antd

  • Formed a UIKit and general components, optimized complex and loaded components.
  • Changed API work on the frontend.
  • Introduced integration testing practice using Cypress.
  • Migrated the entire project to TypeScript. Created isolated system modules.
Leadership of the Team
  • Introduced TDD (Test-Driven Development) practices.
  • Brought the "Critical Chain Method", the "Buffer Method", and the "Backward Planning" method into the project. Helped the team get in sync, releasing small batches every week.
  • Created individual development plans for team members.
Architecture
  • Broke down the entire codebase into modules by feature.
  • Optimized PostgreSQL database, splitting company data into separate schemas and applying partitioning tables.
  • Added query caching with Redis.
  • Reduced infrastructure costs by 5 times, migrating the project from Kubernetes to NixOS.

Core Spirit (Back Office)

  • Даты: Август 2024 - currently
  • Роль: Lead Fullstack Developer

Development of the Back Office for Core Spirit social platform.

  • Integrated Dependabot, which helped update all outdated dependencies. Replaced webpack with vite.

Master Progress

  • Dates: May 2018 - currently (Passively maintained)
  • Role: Tech Lead

Development web infrastructure of the educational center Master Progress

  • The main site (Python, Flask).
  • Student's cabinet (Python, Flask, TypeScript, React, PostgreSQL).
  • A tool for rosmintrud (Deno, Vue, Typescript)
  • A complete infrastructure was created on NixOS. Before that, I had created an infrastructure using Drone CI / Woodpecker CI and Docker swarm, which has been running for over 5 years.

Core Spirit

  • Dates: August 2018 - May 2020, August 2024 - currently
  • Role: Lead Fullstack Developer

Development of Social platform focusing on human and planetary enhancement.

  • A REST API (using Node.JS, Express, and PostgreSQL) for the main website and back office. I also got to work with a new version of the REST API using Go and PostgreSQL.
  • Auto poster to various social networks and messengers (Facebook, LinkedIn, Twitter, Telegram).
  • Neural network for automatic categorization of articles.

MERLION

  • Dates: March 2016 – May 2018
  • Role: Senior Fullstack developer

In this company there were 6 considerable projects I have successfully completed:

  • optimize the creation of promotional pages (PHP, JavaScript)
  • support main traditional site https://citilink.ru (PHP, JavaScript)
  • development of parsing to monitor products for changes in price, quantity/availability in stock, rating and other fields based on data from 55 websites (Node.JS, Express)
  • work with neural networks for matching of goods
  • development face recognition apps for Android (Java)

Chronology

Public projects only.

',37),n=[i];function l(s,c){return r(),t("div",null,n)}const p=e(a,[["render",l],["__file","works.html.vue"]]),h=JSON.parse('{"path":"/eng/works.html","title":"Works","lang":"en-US","frontmatter":{"title":"Works","layout":"WorksPage","sidebar":false,"head":[["link",{"rel":"alternate","hreflang":"ru-ru","href":"https://pleshevski.ru/works.html"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/eng/works.html"}],["meta",{"property":"og:site_name","content":"Dmitriy Pleshevskiy"}],["meta",{"property":"og:title","content":"Works"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"ru-RU"}],["meta",{"property":"og:updated_time","content":"2024-08-07T08:48:54.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T08:48:54.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Works\\"}"]]},"headers":[{"level":2,"title":"Highlighted working experience","slug":"highlighted-working-experience","link":"#highlighted-working-experience","children":[{"level":3,"title":"Binary Management","slug":"binary-management","link":"#binary-management","children":[]},{"level":3,"title":"Core Spirit (Back Office)","slug":"core-spirit-back-office","link":"#core-spirit-back-office","children":[]},{"level":3,"title":"Master Progress","slug":"master-progress","link":"#master-progress","children":[]},{"level":3,"title":"Core Spirit","slug":"core-spirit","link":"#core-spirit","children":[]}]},{"level":2,"title":"Chronology","slug":"chronology","link":"#chronology","children":[]}],"git":{"updatedTime":1723020534000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":4}]},"filePathRelative":"eng/works.md"}');export{p as comp,h as data}; +import{_ as e,c as t,o as r,e as o}from"./app-YqJ2N5FF.js";const a={},i=o('

Highlighted working experience

Binary Management

  • Dates: August 2018 – currently
  • Roles: Lead Fullstack Developer, Team Lead, Architect

Development of a Project Management Tool for Interior Designers

Backend GraphQL API

Stack: Node.JS, Apollo, PostgreSQL, Redis, BullMQ

  • Migrated database triggers into business logic. Code became easier to read and maintain, and the system became more reliable.
  • Introduced unit testing and integration testing practices. I wrote over 70% of all tests myself.
  • Added GraphQL subscriptions for dynamic updates.
Frontend

Stack: React, Apollo, Antd

  • Formed a UIKit and general components, optimized complex and loaded components.
  • Changed API work on the frontend.
  • Introduced integration testing practice using Cypress.
  • Migrated the entire project to TypeScript. Created isolated system modules.
Leadership of the Team
  • Introduced TDD (Test-Driven Development) practices.
  • Brought the "Critical Chain Method", the "Buffer Method", and the "Backward Planning" method into the project. Helped the team get in sync, releasing small batches every week.
  • Created individual development plans for team members.
Architecture
  • Broke down the entire codebase into modules by feature.
  • Optimized PostgreSQL database, splitting company data into separate schemas and applying partitioning tables.
  • Added query caching with Redis.
  • Reduced infrastructure costs by 5 times, migrating the project from Kubernetes to NixOS.

Core Spirit (Back Office)

  • Даты: Август 2024 - currently
  • Роль: Lead Fullstack Developer

Development of the Back Office for Core Spirit social platform.

  • Integrated Dependabot, which helped update all outdated dependencies. Replaced webpack with vite.

Master Progress

  • Dates: May 2018 - currently (Passively maintained)
  • Role: Tech Lead

Development web infrastructure of the educational center Master Progress

  • The main site (Python, Flask).
  • Student's cabinet (Python, Flask, TypeScript, React, PostgreSQL).
  • A tool for rosmintrud (Deno, Vue, Typescript)
  • A complete infrastructure was created on NixOS. Before that, I had created an infrastructure using Drone CI / Woodpecker CI and Docker swarm, which has been running for over 5 years.

Core Spirit

  • Dates: August 2018 - May 2020, August 2024 - currently
  • Role: Lead Fullstack Developer

Development of Social platform focusing on human and planetary enhancement.

  • A REST API (using Node.JS, Express, and PostgreSQL) for the main website and back office. I also got to work with a new version of the REST API using Go and PostgreSQL.
  • Auto poster to various social networks and messengers (Facebook, LinkedIn, Twitter, Telegram).
  • Neural network for automatic categorization of articles.

MERLION

  • Dates: March 2016 – May 2018
  • Role: Senior Fullstack developer

In this company there were 6 considerable projects I have successfully completed:

  • optimize the creation of promotional pages (PHP, JavaScript)
  • support main traditional site https://citilink.ru (PHP, JavaScript)
  • development of parsing to monitor products for changes in price, quantity/availability in stock, rating and other fields based on data from 55 websites (Node.JS, Express)
  • work with neural networks for matching of goods
  • development face recognition apps for Android (Java)

Chronology

Public projects only.

',37),n=[i];function l(s,c){return r(),t("div",null,n)}const p=e(a,[["render",l],["__file","works.html.vue"]]),h=JSON.parse('{"path":"/eng/works.html","title":"Works","lang":"en-US","frontmatter":{"title":"Works","layout":"WorksPage","sidebar":false,"head":[["link",{"rel":"alternate","hreflang":"ru-ru","href":"https://pleshevski.ru/works.html"}],["meta",{"property":"og:url","content":"https://pleshevski.ru/eng/works.html"}],["meta",{"property":"og:site_name","content":"Dmitriy Pleshevskiy"}],["meta",{"property":"og:title","content":"Works"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"ru-RU"}],["meta",{"property":"og:updated_time","content":"2024-08-07T08:48:54.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-07T08:48:54.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Works\\"}"]]},"headers":[{"level":2,"title":"Highlighted working experience","slug":"highlighted-working-experience","link":"#highlighted-working-experience","children":[{"level":3,"title":"Binary Management","slug":"binary-management","link":"#binary-management","children":[]},{"level":3,"title":"Core Spirit (Back Office)","slug":"core-spirit-back-office","link":"#core-spirit-back-office","children":[]},{"level":3,"title":"Master Progress","slug":"master-progress","link":"#master-progress","children":[]},{"level":3,"title":"Core Spirit","slug":"core-spirit","link":"#core-spirit","children":[]}]},{"level":2,"title":"Chronology","slug":"chronology","link":"#chronology","children":[]}],"git":{"updatedTime":1723020534000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":4}]},"filePathRelative":"eng/works.md"}');export{p as comp,h as data}; diff --git a/dist/eng/index.html b/dist/eng/index.html index 22c830b..7ca23aa 100644 --- a/dist/eng/index.html +++ b/dist/eng/index.html @@ -3,41 +3,41 @@ - + - Resume | Dmitriy Pleshevskiy - - - + Resume | Dmitriy Pleshevskiy + + + -
- +
+ diff --git a/dist/eng/works.html b/dist/eng/works.html index a314c79..82627fe 100644 --- a/dist/eng/works.html +++ b/dist/eng/works.html @@ -3,41 +3,41 @@ - + Works | Dmitriy Pleshevskiy - - - + + + -
- +
+ diff --git a/dist/index.html b/dist/index.html index 245a966..e5c08dd 100644 --- a/dist/index.html +++ b/dist/index.html @@ -3,41 +3,41 @@ - + - Резюме | Дмитрий Плешевский - - - + Резюме | Дмитрий Плешевский + + + -
- +
+ diff --git a/dist/sitemap.xml b/dist/sitemap.xml index 95205c3..bb699aa 100644 --- a/dist/sitemap.xml +++ b/dist/sitemap.xml @@ -1,3 +1,3 @@ -https://pleshevski.ru/2024-08-07T07:36:38.000Zmonthlyhttps://pleshevski.ru/works.html2024-08-07T08:48:54.000Zmonthlyhttps://pleshevski.ru/eng/2024-08-07T07:36:38.000Zmonthlyhttps://pleshevski.ru/eng/works.html2024-08-07T08:48:54.000Zmonthly \ No newline at end of file +https://pleshevski.ru/2024-09-05T22:11:51.000Zmonthlyhttps://pleshevski.ru/works.html2024-08-07T08:48:54.000Zmonthlyhttps://pleshevski.ru/eng/2024-09-05T22:11:51.000Zmonthlyhttps://pleshevski.ru/eng/works.html2024-08-07T08:48:54.000Zmonthly \ No newline at end of file diff --git a/dist/works.html b/dist/works.html index 7207c88..34353b0 100644 --- a/dist/works.html +++ b/dist/works.html @@ -3,41 +3,41 @@ - + Работы | Дмитрий Плешевский - - - + + + -
- +
+ diff --git a/docs/eng/index.md b/docs/eng/index.md index d306be5..743ced3 100644 --- a/docs/eng/index.md +++ b/docs/eng/index.md @@ -96,6 +96,10 @@ Besides programming, I love to cook and spend time with my beloved family! ## Contacts +Simplex (Prefer): [Dmitriy +Pleshevskiy](https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FZKe4uxF4Z_aLJJOEsC-Y6hSkXgQS5-oc442JQGkyP8M%3D%40smp17.simplex.im%2F8JE7lkP68DZG-1DP8U8_njTlIz9fzRzf%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAxdWiN9so1FqPVTsKhS4Y2OK80zzUvsIZ1Yo77kYV6Co%253D%26srv%3Dogtwfxyi3h2h5weftjjpjmxclhb5ugufa5rcyrmg7j4xlch7qsr5nuqd.onion) + + Telegram: [Dmitriy Pleshevskiy](https://telegram.me/da_pranaya) Matrix: `@pleshevskiy:matrix.org` diff --git a/docs/index.md b/docs/index.md index b9dedd7..9235f70 100644 --- a/docs/index.md +++ b/docs/index.md @@ -98,6 +98,9 @@ Open-source проекты - моя страсть! Разрабатываю, п ## Контакты +Simplex (Предпочтительно): [Dmitriy +Pleshevskiy](https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FZKe4uxF4Z_aLJJOEsC-Y6hSkXgQS5-oc442JQGkyP8M%3D%40smp17.simplex.im%2F8JE7lkP68DZG-1DP8U8_njTlIz9fzRzf%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAxdWiN9so1FqPVTsKhS4Y2OK80zzUvsIZ1Yo77kYV6Co%253D%26srv%3Dogtwfxyi3h2h5weftjjpjmxclhb5ugufa5rcyrmg7j4xlch7qsr5nuqd.onion) + Telegram: [Dmitriy Pleshevskiy](https://telegram.me/da_pranaya) Matrix: `@pleshevskiy:matrix.org`