From 1e6303b2157e0ff68ec5dd988b84ffbba808fd6a Mon Sep 17 00:00:00 2001 From: Dmitriy Pleshevskiy Date: Thu, 25 Jul 2024 17:48:30 +0300 Subject: [PATCH] sort projects by date --- dist/404.html | 6 ++-- ....html-BY7PcDFN.js => 404.html-BBIICBHL.js} | 2 +- dist/assets/app-BkWeNt32.js | 30 +++++++++++++++++++ dist/assets/app-DVhfb_AK.js | 30 ------------------- ...tml-CFkWDF7K.js => index.html-Bt5-NjbQ.js} | 2 +- ...tml-Dey18qa3.js => index.html-CXTX8AI0.js} | 2 +- ...tml-D_1XWu_F.js => works.html-aZ7q92-5.js} | 2 +- ...tml-D_SQDS1j.js => works.html-kia6uxqT.js} | 2 +- dist/eng/index.html | 6 ++-- dist/eng/works.html | 8 ++--- dist/index.html | 6 ++-- dist/sitemap.xml | 2 +- dist/works.html | 10 +++---- .../ChronologicalWorksTable.vue | 22 +++++++++++--- 14 files changed, 72 insertions(+), 58 deletions(-) rename dist/assets/{404.html-BY7PcDFN.js => 404.html-BBIICBHL.js} (91%) create mode 100644 dist/assets/app-BkWeNt32.js delete mode 100644 dist/assets/app-DVhfb_AK.js rename dist/assets/{index.html-CFkWDF7K.js => index.html-Bt5-NjbQ.js} (98%) rename dist/assets/{index.html-Dey18qa3.js => index.html-CXTX8AI0.js} (99%) rename dist/assets/{works.html-D_1XWu_F.js => works.html-aZ7q92-5.js} (94%) rename dist/assets/{works.html-D_SQDS1j.js => works.html-kia6uxqT.js} (98%) diff --git a/dist/404.html b/dist/404.html index f02015c..c6aa394 100644 --- a/dist/404.html +++ b/dist/404.html @@ -33,11 +33,11 @@ Дмитрий Плешевский - - + +

404

Верните страницу!
Вернуться на главную
- + diff --git a/dist/assets/404.html-BY7PcDFN.js b/dist/assets/404.html-BBIICBHL.js similarity index 91% rename from dist/assets/404.html-BY7PcDFN.js rename to dist/assets/404.html-BBIICBHL.js index 99ed7b5..dad69fc 100644 --- a/dist/assets/404.html-BY7PcDFN.js +++ b/dist/assets/404.html-BBIICBHL.js @@ -1 +1 @@ -import{_ as t,c as e,o,a}from"./app-DVhfb_AK.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-BkWeNt32.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-BkWeNt32.js b/dist/assets/app-BkWeNt32.js new file mode 100644 index 0000000..1390650 --- /dev/null +++ b/dist/assets/app-BkWeNt32.js @@ -0,0 +1,30 @@ +/** +* @vue/shared v3.4.33 +* (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 Ce={},an=[],tt=()=>{},_a=()=>!1,Jn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Oo=e=>e.startsWith("onUpdate:"),Me=Object.assign,Io=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ba=Object.prototype.hasOwnProperty,ce=(e,t)=>ba.call(e,t),X=Array.isArray,cn=e=>Ir(e)==="[object Map]",Ei=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",Ai=e=>(ye(e)||ne(e))&&ne(e.then)&&ne(e.catch),Ti=Object.prototype.toString,Ir=e=>Ti.call(e),ya=e=>Ir(e).slice(8,-1),Ri=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))},wa=/-(\w)/g,Qe=Mr(e=>e.replace(wa,(t,n)=>n?n.toUpperCase():"")),Sa=/\B([A-Z])/g,Ht=Mr(e=>e.replace(Sa,"-$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})},Pa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ca=e=>{const t=Te(e)?Number(e):NaN;return isNaN(t)?e:t};let ms;const Oi=()=>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(La);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Fe(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===Ti||!ne(e.toString))?Mi(e)?le(e.value):JSON.stringify(e,$i,2):String(e),$i=(e,t)=>Mi(t)?$i(e,t.value):cn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[Zr(r,s)+" =>"]=o,n),{})}:Ei(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Zr(n))}:Nt(t)?Zr(t):ye(t)&&!X(t)&&!Ri(t)?String(t):t,Zr=(e,t="")=>{var n;return Nt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.33 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ze;class Ra{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ze,!t&&ze&&(this.index=(ze.scopes||(ze.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ze;try{return ze=this,t()}finally{ze=n}}}on(){ze=this}off(){ze=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 Ia(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},Pr=new WeakMap,Qt=Symbol(""),_o=Symbol("");function Ke(e,t,n){if(Dt&&Jt){let r=Pr.get(e);r||Pr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=Bi(()=>r.delete(n))),ji(Jt,o)}}function _t(e,t,n,r,o,s){const i=Pr.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&&Fi(a,4);Ho()}function Ma(e,t){const n=Pr.get(e);return n&&n.get(t)}const $a=Do("__proto__,__v_isRef,__isVue"),Wi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nt)),bs=Na();function Na(){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 Ha(e){Nt(e)||(e=String(e));const t=fe(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class Ui{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?Ya:zi:s?qi:Gi).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 Ha}const l=Reflect.get(t,n,r);return(Nt(n)?Wi.has(n):$a(n))||(o||Ke(t,"get",n),s)?l:Ne(l)?i&&Mo(n)?l:l.value:ye(l)?o?Nr(l):Xn(l):l}}class Ki extends Ui{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)&&Ne(s)&&!Ne(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)&&Ke(o,"get",t),Ke(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)&&Ke(r,"has",e),Ke(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&&Ke(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 Ps(){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&&Ke(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&&Ke(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 Ct(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Wa(){const e={get(s){return lr(this,s)},get size(){return cr(this)},has:ar,add:ys,set:ws,delete:Ss,clear:Ps,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:Ps,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:Ct("add"),set:Ct("set"),delete:Ct("delete"),clear:Ct("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:Ct("add"),set:Ct("set"),delete:Ct("delete"),clear:Ct("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[Ua,Ka,Ga,qa]=Wa();function jo(e,t){const n=t?e?qa:Ga:e?Ka:Ua;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 za={get:jo(!1,!1)},Ja={get:jo(!1,!0)},Qa={get:jo(!0,!1)};const Gi=new WeakMap,qi=new WeakMap,zi=new WeakMap,Ya=new WeakMap;function Xa(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Za(e){return e.__v_skip||!Object.isExtensible(e)?0:Xa(ya(e))}function Xn(e){return en(e)?e:Fo(e,!1,ja,za,Gi)}function Ji(e){return Fo(e,!1,Ba,Ja,qi)}function Nr(e){return Fo(e,!0,Fa,Qa,zi)}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=Za(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 ec(e){return Object.isExtensible(e)&&Di(e,"__v_skip",!0),e}const jn=e=>ye(e)?Xn(e):e,Bo=e=>ye(e)?Nr(e):e;class Yi{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 tc(e,t,n=!1){let r,o;const s=ne(e);return s?(r=e,o=tt):(r=e.get,o=e.set),new Yi(r,o,s||!o,n)}function Wo(e){var t;Dt&&Jt&&(e=fe(e),ji(Jt,(t=e.dep)!=null?t:e.dep=Bi(()=>e.dep=void 0,e instanceof Yi?e:void 0)))}function On(e,t=4,n,r){e=fe(e);const o=e.dep;o&&Fi(o,t)}function Ne(e){return!!(e&&e.__v_isRef===!0)}function ue(e){return Xi(e,!1)}function yn(e){return Xi(e,!0)}function Xi(e,t){return Ne(e)?e:new nc(e,t)}class nc{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 Ne(e)?e.value:e}const rc={get:(e,t,n)=>Yt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Ne(o)&&!Ne(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Zi(e){return fn(e)?e:new Proxy(e,rc)}class oc{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 sc(e){return new oc(e)}function el(e){const t=X(e)?new Array(e.length):{};for(const n in e)t[n]=tl(e,n);return t}class ic{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 Ma(fe(this._object),this._key)}}class lc{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function ac(e,t,n){return Ne(e)?e:ne(e)?new lc(e):ye(e)&&arguments.length>1?tl(e,t,n):ue(e)}function tl(e,t,n){const r=e[t];return Ne(r)?r:new ic(e,t,n)}/** +* @vue/runtime-core v3.4.33 +* (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 nt(e,t,n,r){if(ne(e)){const o=Ot(e,t,n,r);return o&&Ai(o)&&o.catch(s=>{Zn(s,t,n)}),o}if(X(e)){const o=[];for(let s=0;s>>1,o=He[r],s=Bn(o);sdt&&He.splice(t,1)}function dc(e){X(e)?dn.push(...e):(!xt||!xt.includes(e,e.allowRecurse?Gt+1:Gt))&&dn.push(e),rl()}function Cs(e,t,n=Fn?dt+1:0){for(;nBn(n)-Bn(r));if(dn.length=0,xt){xt.push(...t);return}for(xt=t,Gt=0;Gte.id==null?1/0:e.id,hc=(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 ol(e){bo=!1,Fn=!0,He.sort(hc);try{for(dt=0;dt{r._d&&Hs(-1);const s=kr(t);let i;try{i=e(...o)}finally{kr(s),r._d&&Hs(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Lr(e,t){if(Ie===null)return e;const n=Ur(Ie),r=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Ko(()=>{e.isUnmounting=!0}),e}const Xe=[Function,Array],sl={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Xe,onEnter:Xe,onAfterEnter:Xe,onEnterCancelled:Xe,onBeforeLeave:Xe,onLeave:Xe,onAfterLeave:Xe,onLeaveCancelled:Xe,onBeforeAppear:Xe,onAppear:Xe,onAfterAppear:Xe,onAppearCancelled:Xe},il=e=>{const t=e.subTree;return t.component?il(t.component):t},vc={name:"BaseTransition",props:sl,setup(e,{slots:t}){const n=Wr(),r=mc();return()=>{const o=t.default&&al(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){for(const p of o)if(p.type!==je){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);xr(a,c);const f=n.subTree,u=f&&ks(f);if(u&&u.type!==je&&!qt(a,u)&&il(n).type!==je){const p=yo(u,i,r,n);if(xr(u,p),l==="out-in"&&a.type!==je)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!==je&&(p.delayLeave=(g,_,S)=>{const k=ll(r,u);k[String(u.key)]=u,g[Et]=()=>{_(),g[Et]=void 0,delete c.delayedLeave},c.delayedLeave=S})}return s}}},_c=vc;function ll(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:S,onBeforeAppear:k,onAppear:R,onAfterAppear:b,onAppearCancelled:m}=t,w=String(e.key),V=ll(n,e),O=(j,L)=>{j&&nt(j,r,9,L)},G=(j,L)=>{const U=L[1];O(j,L),X(j)?j.every(T=>T.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[Et]&&j[Et](!0);const U=V[w];U&&qt(e,U)&&U.el[Et]&&U.el[Et](),O(L,[j])},enter(j){let L=c,U=f,T=u;if(!n.isMounted)if(s)L=R||c,U=b||f,T=m||u;else return;let ee=!1;const ve=j[dr]=_e=>{ee||(ee=!0,_e?O(T,[j]):O(U,[j]),Z.delayedLeave&&Z.delayedLeave(),j[dr]=void 0)};L?G(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 T=!1;const ee=j[Et]=ve=>{T||(T=!0,L(),ve?O(S,[j]):O(_,[j]),j[Et]=void 0,V[U]===e&&delete V[U])};V[U]=e,g?G(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 xr(e,t){e.shapeFlag&6&&e.component?xr(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 al(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 bc(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((S,k)=>{l(_,()=>S(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=Oe;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 S=ue(!1),k=ue(),R=ue(!!o);return o&&setTimeout(()=>{R.value=!1},o),s!=null&&setTimeout(()=>{if(!S.value&&!k.value){const b=new Error(`Async component timed out after ${s}ms.`);_(b),k.value=b}},s),p().then(()=>{S.value=!0,g.parent&&er(g.parent.vnode)&&(g.parent.effect.dirty=!0,Hr(g.parent.update))}).catch(b=>{_(b),k.value=b}),()=>{if(S.value&&c)return to(c,g);if(k.value&&r)return te(r,{error:k.value});if(n&&!R.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 yc(e,t){cl(e,"a",t)}function wc(e,t){cl(e,"da",t)}function cl(e,t,n=Oe){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)&&Sc(r,t,n,o),o=o.parent}}function Sc(e,t,n,r){const o=jr(t,e,r,!0);Fr(()=>{Io(r[t],o)},n)}function jr(e,t,n=Oe,r=!1){if(n){const o=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{Vt();const l=tr(n),a=nt(t,n,e,i);return l(),jt(),a});return r?o.unshift(s):o.push(s),s}}const wt=e=>(t,n=Oe)=>{(!nr||e==="sp")&&jr(e,(...r)=>t(...r),n)},Pc=wt("bm"),Ge=wt("m"),Cc=wt("bu"),kc=wt("u"),Ko=wt("bum"),Fr=wt("um"),Lc=wt("sp"),xc=wt("rtg"),Ec=wt("rtc");function Ac(e,t=Oe){jr("ec",e,t)}const Tc="components";function Go(e,t){return Dc(Tc,e,!0,t)||e}const Rc=Symbol.for("v-ndc");function Dc(e,t,n=!0,r=!1){const o=Ie||Oe;if(o){const s=o.type;{const l=Cu(s,!1);if(l&&(l===t||l===Qe(t)||l===Qn(Qe(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[Qe(t)]||e[Qn(Qe(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===je||t.type===be&&!ul(t.children)):!0)?e:null}const wo=e=>e?Tl(e)?Ur(e):wo(e.parent):null,In=Me(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=>ou.bind(e)}),no=(e,t)=>e!==Ce&&!e.__isScriptSetup&&ce(e,t),Oc={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!==Ce&&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!==Ce&&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"&&Ke(e.attrs,"get",""),f(e);if((u=l.__cssModules)&&(u=u[t]))return u;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 no(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)||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 xs(e){return X(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let So=!0;function Ic(e){const t=qo(e),n=e.proxy,r=e.ctx;So=!1,t.beforeCreate&&Es(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:S,deactivated:k,beforeDestroy:R,beforeUnmount:b,destroyed:m,unmounted:w,render:V,renderTracked:O,renderTriggered:G,errorCaptured:Z,serverPrefetch:j,expose:L,inheritAttrs:U,components:T,directives:ee,filters:ve}=t;if(c&&Mc(c,r,null),i)for(const oe in i){const K=i[oe];ne(K)&&(r[oe]=K.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 K=s[oe],rt=ne(K)?K.bind(n,n):ne(K.get)?K.get.bind(n,n):tt,Pt=!ne(K)&&ne(K.set)?K.set.bind(n):tt,ct=A({get:rt,set:Pt});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>ct.value,set:We=>ct.value=We})}if(l)for(const oe in l)fl(l[oe],r,n,oe);if(a){const oe=ne(a)?a.call(n):a;Reflect.ownKeys(oe).forEach(K=>{Xt(K,oe[K])})}f&&Es(f,e,"c");function J(oe,K){X(K)?K.forEach(rt=>oe(rt.bind(n))):K&&oe(K.bind(n))}if(J(Pc,u),J(Ge,p),J(Cc,g),J(kc,_),J(yc,S),J(wc,k),J(Ac,Z),J(Ec,O),J(xc,G),J(Ko,b),J(Fr,w),J(Lc,j),X(L))if(L.length){const oe=e.exposed||(e.exposed={});L.forEach(K=>{Object.defineProperty(oe,K,{get:()=>n[K],set:rt=>n[K]=rt})})}else e.exposed||(e.exposed={});V&&e.render===tt&&(e.render=V),U!=null&&(e.inheritAttrs=U),T&&(e.components=T),ee&&(e.directives=ee)}function Mc(e,t,n=tt){X(e)&&(e=Po(e));for(const r in e){const o=e[r];let s;ye(o)?"default"in o?s=Be(o.from||r,o.default,!0):s=Be(o.from||r):s=Be(o),Ne(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Es(e,t,n){nt(X(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function fl(e,t,n,r){const o=r.includes(".")?kl(n,r):()=>n[r];if(Te(e)){const s=t[e];ne(s)&&$e(o,s)}else if(ne(e))$e(o,e.bind(n));else if(ye(e))if(X(e))e.forEach(s=>fl(s,t,n,r));else{const s=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(s)&&$e(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=>Er(a,c,i,!0)),Er(a,t,i)),ye(t)&&s.set(t,a),a}function Er(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Er(e,s,n,!0),o&&o.forEach(i=>Er(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=$c[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const $c={data:As,props:Ts,emits:Ts,methods:Rn,computed:Rn,beforeCreate:Ve,created:Ve,beforeMount:Ve,mounted:Ve,beforeUpdate:Ve,updated:Ve,beforeDestroy:Ve,beforeUnmount:Ve,destroyed:Ve,unmounted:Ve,activated:Ve,deactivated:Ve,errorCaptured:Ve,serverPrefetch:Ve,components:Rn,directives:Rn,watch:Hc,provide:As,inject:Nc};function As(e,t){return t?e?function(){return Me(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function Nc(e,t){return Rn(Po(e),Po(t))}function Po(e){if(X(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}const hl={},pl=()=>Object.create(hl),gl=e=>Object.getPrototypeOf(e)===hl;function Fc(e,t,n,r=!1){const o={},s=pl();e.propsDefaults=Object.create(null),ml(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:Ji(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Bc(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]=vl(u,t,!0);Me(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;f-1,g[1]=S<0||_-1||ce(g,"default"))&&l.push(u)}}}const c=[i,l];return ye(e)&&r.set(e,c),c}function Rs(e){return e[0]!=="$"&&!un(e)}function Ds(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Os(e,t){return Ds(e)===Ds(t)}function Is(e,t){return X(t)?t.findIndex(n=>Os(n,e)):ne(t)&&Os(t,e)?0:-1}const _l=e=>e[0]==="_"||e==="$stable",zo=e=>X(e)?e.map(et):[et(e)],Uc=(e,t,n)=>{if(t._n)return t;const r=Ee((...o)=>zo(t(...o)),n);return r._c=!1,r},bl=(e,t,n)=>{const r=e._ctx;for(const o in e){if(_l(o))continue;const s=e[o];if(ne(s))t[o]=Uc(o,s,r);else if(s!=null){const i=zo(s);t[o]=()=>i}}},yl=(e,t)=>{const n=zo(t);e.slots.default=()=>n},wl=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},Kc=(e,t,n)=>{const r=e.slots=pl();if(e.vnode.shapeFlag&32){const o=t._;o?(wl(r,t,n),n&&Di(r,"_",o,!0)):bl(t,r)}else t&&yl(e,t)},Gc=(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:wl(o,t,n):(s=!t.$stable,bl(t,o)),i=t}else t&&(yl(e,t),i={default:1});if(s)for(const l in o)!_l(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===Ce?l.refs={}:l.refs,u=l.setupState;if(c!=null&&c!==a&&(Te(c)?(f[c]=null,ce(u,c)&&(u[c]=null)):Ne(c)&&(c.value=null)),ne(a))Ot(a,l,12,[i,f]);else{const p=Te(a),g=Ne(a);if(p||g){const _=()=>{if(e.f){const S=p?ce(u,a)?u[a]:f[a]:a.value;o?X(S)&&Io(S,s):X(S)?S.includes(s)||S.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,Ue(_,n)):_()}}}const qc=Symbol("_vte"),zc=e=>e.__isTeleport;let Ms=!1;const sn=()=>{Ms||(console.error("Hydration completed but contains mismatches."),Ms=!0)},Jc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Qc=e=>e.namespaceURI.includes("MathML"),hr=e=>{if(Jc(e))return"svg";if(Qc(e))return"mathml"},pr=e=>e.nodeType===8;function Yc(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:c}}=e,f=(m,w)=>{if(!w.hasChildNodes()){n(null,m,w),Cr(),w._vnode=m;return}u(w.firstChild,m,null,null,null),Cr(),w._vnode=m},u=(m,w,V,O,G,Z=!1)=>{Z=Z||!!w.dynamicChildren;const j=pr(m)&&m.data==="[",L=()=>S(m,w,V,O,G,j),{type:U,ref:T,shapeFlag:ee,patchFlag:ve}=w;let _e=m.nodeType;w.el=m,ve===-2&&(Z=!1,w.dynamicChildren=null);let J=null;switch(U){case Zt:_e!==3?w.children===""?(a(w.el=o(""),i(m),m),J=m):J=L():(m.data!==w.children&&(sn(),m.data=w.children),J=s(m));break;case je:b(m)?(J=s(m),R(w.el=m.content.firstChild,m,V)):_e!==8||j?J=L():J=s(m);break;case $n:if(j&&(m=s(m),_e=m.nodeType),_e===1||_e===3){J=m;const oe=!w.children.length;for(let K=0;K{Z=Z||!!w.dynamicChildren;const{type:j,props:L,patchFlag:U,shapeFlag:T,dirs:ee,transition:ve}=w,_e=j==="input"||j==="option";if(_e||U!==-1){ee&&ft(w,null,V,"created");let J=!1;if(b(m)){J=Sl(O,ve)&&V&&V.vnode.props&&V.vnode.props.appear;const K=m.content.firstChild;J&&ve.beforeEnter(K),R(K,m,V),w.el=m=K}if(T&16&&!(L&&(L.innerHTML||L.textContent))){let K=g(m.firstChild,w,m,V,O,G,Z);for(;K;){sn();const rt=K;K=K.nextSibling,l(rt)}}else T&8&&m.textContent!==w.children&&(sn(),m.textContent=w.children);if(L){if(_e||!Z||U&48)for(const K in L)(_e&&(K.endsWith("value")||K==="indeterminate")||Jn(K)&&!un(K)||K[0]===".")&&r(m,K,null,L[K],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 K in L.style)L.style[K]}let oe;(oe=L&&L.onVnodeBeforeMount)&&Ze(oe,V,w),ee&&ft(w,null,V,"beforeMount"),((oe=L&&L.onVnodeMounted)||ee||J)&&xl(()=>{oe&&Ze(oe,V,w),J&&ve.enter(m),ee&&ft(w,null,V,"mounted")},O)}return m.nextSibling},g=(m,w,V,O,G,Z,j)=>{j=j||!!w.dynamicChildren;const L=w.children,U=L.length;for(let T=0;T{const{slotScopeIds:j}=w;j&&(G=G?G.concat(j):j);const L=i(m),U=g(s(m),w,L,V,O,G,Z);return U&&pr(U)&&U.data==="]"?s(w.anchor=U):(sn(),a(w.anchor=c("]"),L,U),U)},S=(m,w,V,O,G,Z)=>{if(sn(),w.el=null,Z){const U=k(m);for(;;){const T=s(m);if(T&&T!==U)l(T);else break}}const j=s(m),L=i(m);return l(m),n(null,w,L,j,V,O,hr(L),G),j},k=(m,w="[",V="]")=>{let O=0;for(;m;)if(m=s(m),m&&pr(m)&&(m.data===w&&O++,m.data===V)){if(O===0)return s(m);O--}return m},R=(m,w,V)=>{const O=w.parentNode;O&&O.replaceChild(m,w);let G=V;for(;G;)G.vnode.el===w&&(G.vnode.el=G.subTree.el=m),G=G.parent},b=m=>m.nodeType===1&&m.tagName.toLowerCase()==="template";return[f,u]}const Ue=xl;function Xc(e){return Zc(e,Yc)}function Zc(e,t){const n=Oi();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=tt,insertStaticContent:_}=e,S=(d,h,v,C=null,y=null,E=null,N=void 0,I=null,M=!!h.dynamicChildren)=>{if(d===h)return;d&&!qt(d,h)&&(C=P(d),We(d,y,E,!0),d=null),h.patchFlag===-2&&(M=!1,h.dynamicChildren=null);const{type:x,ref:B,shapeFlag:Q}=h;switch(x){case Zt:k(d,h,v,C);break;case je:R(d,h,v,C);break;case $n:d==null&&b(h,v,C,N);break;case be:T(d,h,v,C,y,E,N,I,M);break;default:Q&1?V(d,h,v,C,y,E,N,I,M):Q&6?ee(d,h,v,C,y,E,N,I,M):(Q&64||Q&128)&&x.process(d,h,v,C,y,E,N,I,M,q)}B!=null&&y&&Ar(B,d&&d.ref,E,h||d,!h)},k=(d,h,v,C)=>{if(d==null)r(h.el=l(h.children),v,C);else{const y=h.el=d.el;h.children!==d.children&&c(y,h.children)}},R=(d,h,v,C)=>{d==null?r(h.el=a(h.children||""),v,C):h.el=d.el},b=(d,h,v,C)=>{[d.el,d.anchor]=_(d.children,h,v,C,d.el,d.anchor)},m=({el:d,anchor:h},v,C)=>{let y;for(;d&&d!==h;)y=p(d),r(d,v,C),d=y;r(h,v,C)},w=({el:d,anchor:h})=>{let v;for(;d&&d!==h;)v=p(d),o(d),d=v;o(h)},V=(d,h,v,C,y,E,N,I,M)=>{h.type==="svg"?N="svg":h.type==="math"&&(N="mathml"),d==null?O(h,v,C,y,E,N,I,M):j(d,h,y,E,N,I,M)},O=(d,h,v,C,y,E,N,I)=>{let M,x;const{props:B,shapeFlag:Q,transition:z,dirs:re}=d;if(M=d.el=i(d.type,E,B&&B.is,B),Q&8?f(M,d.children):Q&16&&Z(d.children,M,null,C,y,ro(d,E),N,I),re&&ft(d,null,C,"created"),G(M,d,d.scopeId,N,C),B){for(const Se in B)Se!=="value"&&!un(Se)&&s(M,Se,null,B[Se],E,C);"value"in B&&s(M,"value",null,B.value,E),(x=B.onVnodeBeforeMount)&&Ze(x,C,d)}re&&ft(d,null,C,"beforeMount");const se=Sl(y,z);se&&z.beforeEnter(M),r(M,h,v),((x=B&&B.onVnodeMounted)||se||re)&&Ue(()=>{x&&Ze(x,C,d),se&&z.enter(M),re&&ft(d,null,C,"mounted")},y)},G=(d,h,v,C,y)=>{if(v&&g(d,v),C)for(let E=0;E{for(let x=M;x{const I=h.el=d.el;let{patchFlag:M,dynamicChildren:x,dirs:B}=h;M|=d.patchFlag&16;const Q=d.props||Ce,z=h.props||Ce;let re;if(v&&Bt(v,!1),(re=z.onVnodeBeforeUpdate)&&Ze(re,v,h,d),B&&ft(h,d,v,"beforeUpdate"),v&&Bt(v,!0),(Q.innerHTML&&z.innerHTML==null||Q.textContent&&z.textContent==null)&&f(I,""),x?L(d.dynamicChildren,x,I,v,C,ro(h,y),E):N||K(d,h,I,null,v,C,ro(h,y),E,!1),M>0){if(M&16)U(I,Q,z,v,y);else if(M&2&&Q.class!==z.class&&s(I,"class",null,z.class,y),M&4&&s(I,"style",Q.style,z.style,y),M&8){const se=h.dynamicProps;for(let Se=0;Se{re&&Ze(re,v,h,d),B&&ft(h,d,v,"updated")},C)},L=(d,h,v,C,y,E,N)=>{for(let I=0;I{if(h!==v){if(h!==Ce)for(const E in h)!un(E)&&!(E in v)&&s(d,E,h[E],null,y,C);for(const E in v){if(un(E))continue;const N=v[E],I=h[E];N!==I&&E!=="value"&&s(d,E,I,N,y,C)}"value"in v&&s(d,"value",h.value,v.value,y)}},T=(d,h,v,C,y,E,N,I,M)=>{const x=h.el=d?d.el:l(""),B=h.anchor=d?d.anchor:l("");let{patchFlag:Q,dynamicChildren:z,slotScopeIds:re}=h;re&&(I=I?I.concat(re):re),d==null?(r(x,v,C),r(B,v,C),Z(h.children||[],v,B,y,E,N,I,M)):Q>0&&Q&64&&z&&d.dynamicChildren?(L(d.dynamicChildren,z,v,y,E,N,I),(h.key!=null||y&&h===y.subTree)&&Pl(d,h,!0)):K(d,h,v,B,y,E,N,I,M)},ee=(d,h,v,C,y,E,N,I,M)=>{h.slotScopeIds=I,d==null?h.shapeFlag&512?y.ctx.activate(h,v,C,N,M):ve(h,v,C,y,E,N,M):_e(d,h,M)},ve=(d,h,v,C,y,E,N)=>{const I=d.component=bu(d,C,y);if(er(d)&&(I.ctx.renderer=q),yu(I,!1,N),I.asyncDep){if(y&&y.registerDep(I,J,N),!d.el){const M=I.subTree=te(je);R(null,M,h,v)}}else J(I,d,h,v,y,E,N)},_e=(d,h,v)=>{const C=h.component=d.component;if(cu(d,h,v))if(C.asyncDep&&!C.asyncResolved){oe(C,h,v);return}else C.next=h,fc(C.update),C.effect.dirty=!0,C.update();else h.el=d.el,C.vnode=h},J=(d,h,v,C,y,E,N)=>{const I=()=>{if(d.isMounted){let{next:B,bu:Q,u:z,parent:re,vnode:se}=d;{const on=Cl(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,Q&&Xr(Q),(ge=B.props&&B.props.onVnodeBeforeUpdate)&&Ze(ge,re,B,se),Bt(d,!0);const De=oo(d),ot=d.subTree;d.subTree=De,S(ot,De,u(ot.el),P(ot),d,y,E),B.el=De.el,Se===null&&uu(d,De.el),z&&Ue(z,y),(ge=B.props&&B.props.onVnodeUpdated)&&Ue(()=>Ze(ge,re,B,se),y)}else{let B;const{el:Q,props:z}=h,{bm:re,m:se,parent:Se}=d,ge=hn(h);if(Bt(d,!1),re&&Xr(re),!ge&&(B=z&&z.onVnodeBeforeMount)&&Ze(B,Se,h),Bt(d,!0),Q&&Pe){const De=()=>{d.subTree=oo(d),Pe(Q,d.subTree,d,y,null)};ge?h.type.__asyncLoader().then(()=>!d.isUnmounted&&De()):De()}else{const De=d.subTree=oo(d);S(null,De,v,C,d,y,E),h.el=De.el}if(se&&Ue(se,y),!ge&&(B=z&&z.onVnodeMounted)){const De=h;Ue(()=>Ze(B,Se,De),y)}(h.shapeFlag&256||Se&&hn(Se.vnode)&&Se.vnode.shapeFlag&256)&&d.a&&Ue(d.a,y),d.isMounted=!0,h=v=C=null}},M=d.effect=new $o(I,tt,()=>Hr(x),d.scope),x=d.update=()=>{M.dirty&&M.run()};x.i=d,x.id=d.uid,Bt(d,!0),x()},oe=(d,h,v)=>{h.component=d;const C=d.vnode.props;d.vnode=h,d.next=null,Bc(d,h.props,C,v),Gc(d,h.children,v),Vt(),Cs(d),jt()},K=(d,h,v,C,y,E,N,I,M=!1)=>{const x=d&&d.children,B=d?d.shapeFlag:0,Q=h.children,{patchFlag:z,shapeFlag:re}=h;if(z>0){if(z&128){Pt(x,Q,v,C,y,E,N,I,M);return}else if(z&256){rt(x,Q,v,C,y,E,N,I,M);return}}re&8?(B&16&&Ye(x,y,E),Q!==x&&f(v,Q)):B&16?re&16?Pt(x,Q,v,C,y,E,N,I,M):Ye(x,y,E,!0):(B&8&&f(v,""),re&16&&Z(Q,v,C,y,E,N,I,M))},rt=(d,h,v,C,y,E,N,I,M)=>{d=d||an,h=h||an;const x=d.length,B=h.length,Q=Math.min(x,B);let z;for(z=0;zB?Ye(d,y,E,!0,!1,Q):Z(h,v,C,y,E,N,I,M,Q)},Pt=(d,h,v,C,y,E,N,I,M)=>{let x=0;const B=h.length;let Q=d.length-1,z=B-1;for(;x<=Q&&x<=z;){const re=d[x],se=h[x]=M?At(h[x]):et(h[x]);if(qt(re,se))S(re,se,v,null,y,E,N,I,M);else break;x++}for(;x<=Q&&x<=z;){const re=d[Q],se=h[z]=M?At(h[z]):et(h[z]);if(qt(re,se))S(re,se,v,null,y,E,N,I,M);else break;Q--,z--}if(x>Q){if(x<=z){const re=z+1,se=rez)for(;x<=Q;)We(d[x],y,E,!0),x++;else{const re=x,se=x,Se=new Map;for(x=se;x<=z;x++){const qe=h[x]=M?At(h[x]):et(h[x]);qe.key!=null&&Se.set(qe.key,x)}let ge,De=0;const ot=z-se+1;let on=!1,hs=0;const Cn=new Array(ot);for(x=0;x=ot){We(qe,y,E,!0);continue}let ut;if(qe.key!=null)ut=Se.get(qe.key);else for(ge=se;ge<=z;ge++)if(Cn[ge-se]===0&&qt(qe,h[ge])){ut=ge;break}ut===void 0?We(qe,y,E,!0):(Cn[ut-se]=x+1,ut>=hs?hs=ut:on=!0,S(qe,h[ut],v,null,y,E,N,I,M),De++)}const ps=on?eu(Cn):an;for(ge=ps.length-1,x=ot-1;x>=0;x--){const qe=se+x,ut=h[qe],gs=qe+1{const{el:E,type:N,transition:I,children:M,shapeFlag:x}=d;if(x&6){ct(d.component.subTree,h,v,C);return}if(x&128){d.suspense.move(h,v,C);return}if(x&64){N.move(d,h,v,q);return}if(N===be){r(E,h,v);for(let Q=0;QI.enter(E),y);else{const{leave:Q,delayLeave:z,afterLeave:re}=I,se=()=>r(E,h,v),Se=()=>{Q(E,()=>{se(),re&&re()})};z?z(E,se,Se):Se()}else r(E,h,v)},We=(d,h,v,C=!1,y=!1)=>{const{type:E,props:N,ref:I,children:M,dynamicChildren:x,shapeFlag:B,patchFlag:Q,dirs:z,cacheIndex:re}=d;if(Q===-2&&(y=!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&&z,Se=!hn(d);let ge;if(Se&&(ge=N&&N.onVnodeBeforeUnmount)&&Ze(ge,h,d),B&6)ir(d.component,v,C);else{if(B&128){d.suspense.unmount(v,C);return}se&&ft(d,null,h,"beforeUnmount"),B&64?d.type.remove(d,h,v,q,C):x&&!x.hasOnce&&(E!==be||Q>0&&Q&64)?Ye(x,h,v,!1,!0):(E===be&&Q&384||!y&&B&16)&&Ye(M,h,v),C&&nn(d)}(Se&&(ge=N&&N.onVnodeUnmounted)||se)&&Ue(()=>{ge&&Ze(ge,h,d),se&&ft(d,null,h,"unmounted")},v)},nn=d=>{const{type:h,el:v,anchor:C,transition:y}=d;if(h===be){rn(v,C);return}if(h===$n){w(d);return}const E=()=>{o(v),y&&!y.persisted&&y.afterLeave&&y.afterLeave()};if(d.shapeFlag&1&&y&&!y.persisted){const{leave:N,delayLeave:I}=y,M=()=>N(v,E);I?I(d.el,E,M):M()}else E()},rn=(d,h)=>{let v;for(;d!==h;)v=p(d),o(d),d=v;o(h)},ir=(d,h,v)=>{const{bum:C,scope:y,update:E,subTree:N,um:I,m:M,a:x}=d;$s(M),$s(x),C&&Xr(C),y.stop(),E&&(E.active=!1,We(N,d,h,v)),I&&Ue(I,h),Ue(()=>{d.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},Ye=(d,h,v,C=!1,y=!1,E=0)=>{for(let N=E;N{if(d.shapeFlag&6)return P(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 F=!1;const H=(d,h,v)=>{d==null?h._vnode&&We(h._vnode,null,null,!0):S(h._vnode||null,d,h,null,null,null,v),F||(F=!0,Cs(),Cr(),F=!1),h._vnode=d},q={p:S,um:We,m:ct,r:nn,mt:ve,mc:Z,pc:K,pbc:L,n:P,o:e};let pe,Pe;return t&&([pe,Pe]=t(q)),{render:H,hydrate:pe,createApp:jc(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 Sl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Pl(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 Cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Cl(t)}function $s(e){if(e)for(let t=0;tBe(tu);function ru(e,t){return Jo(e,null,t)}const gr={};function $e(e,t,n){return Jo(e,t,n)}function Jo(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=Oe,c=O=>r===!0?O:Rt(O,r===!1?1:void 0);let f,u=!1,p=!1;if(Ne(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(Ne(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(),nt(e,a,3,[_])):f=tt,t&&r){const O=f;f=()=>Rt(O())}let g,_=O=>{g=m.onStop=()=>{Ot(O,a,4),g=m.onStop=void 0}},S;if(nr)if(_=tt,t?n&&nt(t,a,3,[f(),p?[]:void 0,_]):f(),o==="sync"){const O=nu();S=O.__watcherHandles||(O.__watcherHandles=[])}else return tt;let k=p?new Array(e.length).fill(gr):gr;const R=()=>{if(!(!m.active||!m.dirty))if(t){const O=m.run();(r||u||(p?O.some((G,Z)=>It(G,k[Z])):It(O,k)))&&(g&&g(),nt(t,a,3,[O,k===gr?void 0:p&&k[0]===gr?[]:k,_]),k=O)}else m.run()};R.allowRecurse=!!t;let b;o==="sync"?b=R:o==="post"?b=()=>Ue(R,a&&a.suspense):(R.pre=!0,a&&(R.id=a.uid),b=()=>Hr(R));const m=new $o(f,tt,b),w=Ni(),V=()=>{m.stop(),w&&Io(w.effects,m)};return t?n?R():k=m.run():o==="post"?Ue(m.run.bind(m),a&&a.suspense):m.run(),S&&S.push(V),V}function ou(e,t,n){const r=this.proxy,o=Te(e)?e.includes(".")?kl(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 kl(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{Rt(r,t,n)});else if(Ri(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 su=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Qe(t)}Modifiers`]||e[`${Ht(t)}Modifiers`];function iu(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Ce;let o=n;const s=t.startsWith("update:"),i=s&&su(r,t.slice(7));i&&(i.trim&&(o=n.map(f=>Te(f)?f.trim():f)),i.number&&(o=n.map(Pa)));let l,a=r[l=Yr(t)]||r[l=Yr(Qe(t))];!a&&s&&(a=r[l=Yr(Ht(t))]),a&&nt(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,nt(c,e,6,o)}}function Ll(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=Ll(c,t,!0);f&&(l=!0,Me(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):Me(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:S}=e,k=kr(e);let R,b;try{if(n.shapeFlag&4){const w=o||r,V=w;R=et(c.call(V,w,f,u,g,p,_)),b=l}else{const w=t;R=et(w.length>1?w(u,{attrs:l,slots:i,emit:a}):w(u,null)),b=t.props?l:lu(l)}}catch(w){Nn.length=0,Zn(w,e,1),R=te(je)}let m=R;if(b&&S!==!1){const w=Object.keys(b),{shapeFlag:V}=m;w.length&&V&7&&(s&&w.some(Oo)&&(b=au(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),R=m,kr(k),R}const lu=e=>{let t;for(const n in e)(n==="class"||n==="style"||Jn(n))&&((t||(t={}))[n]=e[n]);return t},au=(e,t)=>{const n={};for(const r in e)(!Oo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function cu(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?Ns(r,i,c):!!i;if(a&8){const f=t.dynamicProps;for(let u=0;ue.__isSuspense;function xl(e,t){t&&t.pendingBranch?X(e)?t.effects.push(...e):t.effects.push(e):dc(e)}const be=Symbol.for("v-fgt"),Zt=Symbol.for("v-txt"),je=Symbol.for("v-cmt"),$n=Symbol.for("v-stc"),Nn=[];let Je=null;function $(e=!1){Nn.push(Je=e?null:[])}function du(){Nn.pop(),Je=Nn[Nn.length-1]||null}let Wn=1;function Hs(e){Wn+=e,e<0&&Je&&(Je.hasOnce=!0)}function El(e){return e.dynamicChildren=Wn>0?Je||an:null,du(),Wn>0&&Je&&Je.push(e),e}function Y(e,t,n,r,o,s){return El(W(e,t,n,r,o,s,!0))}function xe(e,t,n,r,o){return El(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 Al=({key:e})=>e??null,yr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Te(e)||Ne(e)||ne(e)?{i:Ie,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&&Al(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:Ie};return l?(Qo(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=Te(n)?8:16),Wn>0&&!i&&Je&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&Je.push(a),a}const te=hu;function hu(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Rc)&&(e=je),Tr(e)){const l=Mt(e,t,!0);return n&&Qo(l,n),Wn>0&&!s&&Je&&(l.shapeFlag&6?Je[Je.indexOf(e)]=l:Je.push(l)),l.patchFlag=-2,l}if(ku(e)&&(e=e.__vccOpts),t){t=pu(t);let{class:l,style:a}=t;l&&!Te(l)&&(t.class=Fe(l)),ye(a)&&(Qi(a)&&!X(a)&&(a=Me({},a)),t.style=Yn(a))}const i=Te(e)?1:fu(e)?128:zc(e)?64:ye(e)?4:ne(e)?2:0;return W(e,t,n,r,o,i,s,!0)}function pu(e){return e?Qi(e)||gl(e)?Me({},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?mu(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Al(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&&xr(f,a.clone(f)),f}function $t(e=" ",t=0){return te(Zt,null,e,t)}function gu(e,t){const n=te($n,null,e);return n.staticCount=t,n}function Ae(e="",t=!1){return t?($(),xe(je,null,e)):te(je,null,e)}function et(e){return e==null||typeof e=="boolean"?te(je):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&&!gl(t)?t._ctx=Ie:o===3&&Ie&&(Ie.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:Ie},n=32):(t=String(t),r&64?(n=16,t=[$t(t)]):n=8);e.children=t,e.shapeFlag|=n}function mu(...e){const t={};for(let n=0;nOe||Ie;let Rr,ko;{const e=Oi(),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=>Oe=n),ko=t("__VUE_SSR_SETTERS__",n=>nr=n)}const tr=e=>{const t=Oe;return Rr(e),e.scope.on(),()=>{e.scope.off(),Rr(t)}},Vs=()=>{Oe&&Oe.scope.off(),Rr(null)};function Tl(e){return e.vnode.shapeFlag&4}let nr=!1;function yu(e,t=!1,n=!1){t&&ko(t);const{props:r,children:o}=e.vnode,s=Tl(e);Fc(e,r,s,t),Kc(e,o,n);const i=s?wu(e,t):void 0;return t&&ko(!1),i}function wu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Oc);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?Pu(e):null,s=tr(e);Vt();const i=Ot(r,e,0,[e.props,o]);if(jt(),s(),Ai(i)){if(i.then(Vs,Vs),t)return i.then(l=>{js(e,l,t)}).catch(l=>{Zn(l,e,0)});e.asyncDep=i}else js(e,i,t)}else Rl(e,t)}function js(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ye(t)&&(e.setupState=Zi(t)),Rl(e,n)}let Fs;function Rl(e,t,n){const r=e.type;if(!e.render){if(!t&&Fs&&!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=Me(Me({isCustomElement:s,delimiters:l},i),a);r.render=Fs(o,c)}}e.render=r.render||tt}{const o=tr(e);Vt();try{Ic(e)}finally{jt(),o()}}}const Su={get(e,t){return Ke(e,"get",""),e[t]}};function Pu(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Su),slots:e.slots,emit:e.emit,expose:t}}function Ur(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Zi(ec(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 Cu(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function ku(e){return ne(e)&&"__vccOpts"in e}const A=(e,t)=>tc(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 Lu="3.4.33";/** +* @vue/runtime-dom v3.4.33 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const xu="http://www.w3.org/2000/svg",Eu="http://www.w3.org/1998/Math/MathML",vt=typeof document<"u"?document:null,Bs=vt&&vt.createElement("template"),Au={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(xu,e):t==="mathml"?vt.createElementNS(Eu,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{Bs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Bs.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(_c,Tu(e),t);rr.displayName="Transition";const Dl={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=Me({},sl,Dl);const Wt=(e,t=[])=>{X(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ws=e=>e?X(e)?e.some(t=>t.length>1):e.length>1:!1;function Tu(e){const t={};for(const T in e)T in Dl||(t[T]=e[T]);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,_=Ru(o),S=_&&_[0],k=_&&_[1],{onBeforeEnter:R,onEnter:b,onEnterCancelled:m,onLeave:w,onLeaveCancelled:V,onBeforeAppear:O=R,onAppear:G=b,onAppearCancelled:Z=m}=t,j=(T,ee,ve)=>{Ut(T,ee?f:l),Ut(T,ee?c:i),ve&&ve()},L=(T,ee)=>{T._isLeaving=!1,Ut(T,u),Ut(T,g),Ut(T,p),ee&&ee()},U=T=>(ee,ve)=>{const _e=T?G:b,J=()=>j(ee,T,ve);Wt(_e,[ee,J]),Us(()=>{Ut(ee,T?a:s),Lt(ee,T?f:l),Ws(_e)||Ks(ee,r,S,J)})};return Me(t,{onBeforeEnter(T){Wt(R,[T]),Lt(T,s),Lt(T,i)},onBeforeAppear(T){Wt(O,[T]),Lt(T,a),Lt(T,c)},onEnter:U(!1),onAppear:U(!0),onLeave(T,ee){T._isLeaving=!0;const ve=()=>L(T,ee);Lt(T,u),Lt(T,p),Iu(),Us(()=>{T._isLeaving&&(Ut(T,u),Lt(T,g),Ws(w)||Ks(T,r,k,ve))}),Wt(w,[T,ve])},onEnterCancelled(T){j(T,!1),Wt(m,[T])},onAppearCancelled(T){j(T,!0),Wt(Z,[T])},onLeaveCancelled(T){L(T),Wt(V,[T])}})}function Ru(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 Ca(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 Us(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Du=0;function Ks(e,t,n,r){const o=e._endId=++Du,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=Ou(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=Gs(o,s),l=r(`${kn}Delay`),a=r(`${kn}Duration`),c=Gs(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 Gs(e,t){for(;e.lengthqs(n)+qs(e[r])))}function qs(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Iu(){return document.body.offsetHeight}function Mu(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"),Ol=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[Ol]=!t}const $u=Symbol(""),Nu=/(^|;)\s*display\s*:/;function Hu(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[$u];i&&(n+=";"+i),r.cssText=n,s=Nu.test(n)}}else t&&e.removeAttribute("style");Dr in e&&(e[Dr]=s?r.display:"",e[Ol]&&(r.display="none"))}const zs=/\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=Vu(e,t);zs.test(n)?e.setProperty(Ht(r),n.replace(zs,""),"important"):e[r]=n}}const Js=["Webkit","Moz","ms"],io={};function Vu(e,t){const n=io[t];if(n)return n;let r=Qe(t);if(r!=="filter"&&r in e)return io[t]=r;r=Qn(r);for(let o=0;olo||(Ku.then(()=>lo=0),lo=Date.now());function qu(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;nt(zu(r,n.value),t,5,[r])};return n.value=e,n.attached=Gu(),n}function zu(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 ei=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ju=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?Mu(e,r,i):t==="style"?Hu(e,n,r):Jn(t)?Oo(t)||Wu(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Qu(e,t,r,i))?(ju(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ys(e,t,r,i,s,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Ys(e,t,r,i))};function Qu(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&ei(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 ei(t)&&Te(n)?!1:t in e}const Yu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Xu=(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||Yu[i]===s))return e(o)})},Zu=Me({patchProp:Ju},Au);let ao,ti=!1;function ef(){return ao=ti?ao:Xc(Zu),ti=!0,ao}const tf=(...e)=>{const t=ef().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=rf(r);if(o)return n(o,!0,nf(o))},t};function nf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function rf(e){return Te(e)?document.querySelector(e):e}var or=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),of=/.md((\?|#).*)?$/,sf=(e,t="/")=>or(e)||e.startsWith("/")&&!e.startsWith(t)&&!of.test(e),Kr=e=>/^(https?:)?\/\//.test(e),ni=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},lf="http://.",af=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return ni(new URL(`${n}/${e}`,lf).pathname)}return ni(e)},cf=(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"/"},uf=/(#|\?)/,Il=e=>{const[t,...n]=e.split(uf);return{pathname:t,hashAndQueries:n.join("")}},ff=["link","meta","script","style","noscript","template"],df=["title","base"],hf=([e,t,n])=>df.includes(e)?e:ff.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,pf=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=hf(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},gf=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Ml=e=>e[e.length-1]==="/"?e.slice(0,-1):e,$l=e=>e[0]==="/"?e.slice(1):e,Yo=e=>Object.prototype.toString.call(e)==="[object Object]",st=e=>typeof e=="string";const mf="modulepreload",vf=function(e){return"/"+e},ri={},xn=function(t,n,r){let o=Promise.resolve();return n&&n.length>0&&(document.getElementsByTagName("link"),o=Promise.all(n.map(s=>{if(s=vf(s),s in ri)return;ri[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":mf,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})},_f=JSON.parse("{}"),bf=Object.fromEntries([["/",{loader:()=>xn(()=>import("./index.html-CXTX8AI0.js"),__vite__mapDeps([])),meta:{title:"Резюме"}}],["/works.html",{loader:()=>xn(()=>import("./works.html-aZ7q92-5.js"),__vite__mapDeps([])),meta:{title:"Работы"}}],["/eng/",{loader:()=>xn(()=>import("./index.html-Bt5-NjbQ.js"),__vite__mapDeps([])),meta:{title:"Resume"}}],["/eng/works.html",{loader:()=>xn(()=>import("./works.html-kia6uxqT.js"),__vite__mapDeps([])),meta:{title:"Works"}}],["/404.html",{loader:()=>xn(()=>import("./404.html-BBIICBHL.js"),__vite__mapDeps([])),meta:{title:""}}]]);/*! + * vue-router v4.4.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const ln=typeof document<"u";function yf(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,Nl=/#/g,wf=/&/g,Sf=/\//g,Pf=/=/g,Cf=/\?/g,Hl=/\+/g,kf=/%5B/g,Lf=/%5D/g,Vl=/%5E/g,xf=/%60/g,jl=/%7B/g,Ef=/%7C/g,Fl=/%7D/g,Af=/%20/g;function Xo(e){return encodeURI(""+e).replace(Ef,"|").replace(kf,"[").replace(Lf,"]")}function Tf(e){return Xo(e).replace(jl,"{").replace(Fl,"}").replace(Vl,"^")}function Lo(e){return Xo(e).replace(Hl,"%2B").replace(Af,"+").replace(Nl,"%23").replace(wf,"%26").replace(xf,"`").replace(jl,"{").replace(Fl,"}").replace(Vl,"^")}function Rf(e){return Lo(e).replace(Pf,"%3D")}function Df(e){return Xo(e).replace(Nl,"%23").replace(Cf,"%3F")}function Of(e){return e==null?"":Df(e).replace(Sf,"%2F")}function Kn(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const If=/\/$/,Mf=e=>e.replace(If,"");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=Vf(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:Kn(i)}}function $f(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function oi(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Nf(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])&&Bl(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 Bl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Hf(e[n],t[n]))return!1;return!0}function Hf(e,t){return it(e)?si(e,t):it(t)?si(t,e):e===t}function si(e,t){return it(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Vf(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 jf(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),Mf(e)}const Ff=/^[^#]+#/;function Bf(e,t){return e.replace(Ff,"#")+t}function Wf(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 Uf(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=Wf(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 ii(e,t){return(history.state?history.state.position-t:-1)+e}const xo=new Map;function Kf(e,t){xo.set(e,t)}function Gf(e){const t=xo.get(e);return xo.delete(e),t}let qf=()=>location.protocol+"//"+location.host;function Wl(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),oi(a,"")}return oi(n,e)+r+o}function zf(e,t,n,r){let o=[],s=[],i=null;const l=({state:p})=>{const g=Wl(e,location),_=n.value,S=t.value;let k=0;if(p){if(n.value=g,t.value=p,i&&i===_){i=null;return}k=S?p.position-S.position:0}else r(g);o.forEach(R=>{R(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 li(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 Jf(e){const{history:t,location:n}=window,r={value:Wl(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:qf()+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,li(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({},li(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=jf(e);const t=Jf(e),n=zf(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:Bf.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 Yf(e){return typeof e=="string"||e&&typeof e=="object"}function Ul(e){return typeof e=="string"||typeof e=="symbol"}const Kl=Symbol("");var ai;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ai||(ai={}));function _n(e,t){return me(new Error,{type:e,[Kl]:!0},t)}function gt(e,t){return e instanceof Error&&Kl in e&&(t==null||!!(e.type&t))}const ci="[^/]+?",Xf={sensitive:!1,strict:!1,start:!0,end:!0},Zf=/[.+*?^${}()[\]/\\]/g;function ed(e,t){const n=me({},Xf,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 Gl(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const nd={type:0,value:""},rd=/[a-zA-Z0-9_]/;function od(e){if(!e)return[[]];if(e==="/")return[[nd]];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(Ul(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=ud(u,n);n.splice(p,0,u),u.record.name&&!di(u)&&r.set(u.record.name,u)}function c(u,p){let g,_={},S,k;if("name"in u&&u.name){if(g=r.get(u.name),!g)throw _n(1,{location:u});k=g.record.name,_=me(fi(p.params,g.keys.filter(m=>!m.optional).concat(g.parent?g.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),u.params&&fi(u.params,g.keys.map(m=>m.name))),S=g.stringify(_)}else if(u.path!=null)S=u.path,g=n.find(m=>m.re.test(S)),g&&(_=g.parse(S),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),S=g.stringify(_)}const R=[];let b=g;for(;b;)R.unshift(b.record),b=b.parent;return{name:k,path:S,params:_,matched:R,meta:cd(R)}}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 fi(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function ld(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:ad(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 ad(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 di(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function cd(e){return e.reduce((t,n)=>me(t,n.meta),{})}function hi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function ud(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;Gl(e,t[s])<0?r=s:n=s+1}const o=fd(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function fd(e){let t=e;for(;t=t.parent;)if(ql(t)&&Gl(e,t)===0)return t}function ql({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function dd(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 hd(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 pd=Symbol(""),gi=Symbol(""),qr=Symbol(""),Zo=Symbol(""),Eo=Symbol("");function En(){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):Yf(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(gd(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=yf(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 gd(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function mi(e){const t=Be(qr),n=Be(Zo),r=A(()=>{const a=Yt(e.to);return t.resolve(a)}),o=A(()=>{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=vi(a[c-2]);return c>1&&vi(f)===g&&u[u.length-1].path!==g?u.findIndex(vn.bind(null,a[c-2])):p}),s=A(()=>o.value>-1&&bd(n.params,r.value.params)),i=A(()=>o.value>-1&&o.value===n.matched.length-1&&Bl(n.params,r.value.params));function l(a={}){return _d(a)?t[Yt(e.replace)?"replace":"push"](Yt(e.to)).catch(Hn):Promise.resolve()}return{route:r,href:A(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const md=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:mi,setup(e,{slots:t}){const n=Xn(mi(e)),{options:r}=Be(qr),o=A(()=>({[_i(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[_i(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)}}}),vd=md;function _d(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 bd(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 vi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const _i=(e,t,n)=>e??t??n,yd=he({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Be(Eo),o=A(()=>e.route||r.value),s=Be(gi,0),i=A(()=>{let c=Yt(s);const{matched:f}=o.value;let u;for(;(u=f[c])&&!u.components;)c++;return c}),l=A(()=>o.value.matched[i.value]);Xt(gi,A(()=>i.value+1)),Xt(pd,l),Xt(Eo,o);const a=ue();return $e(()=>[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(S=>S(c))},{flush:"post"}),()=>{const c=o.value,f=e.name,u=l.value,p=u&&u.components[f];if(!p)return bi(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:R=>{R.component.isUnmounted&&(u.instances[f]=null)},ref:a}));return bi(n.default,{Component:k,route:c})||k}}});function bi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const wd=yd;function Sd(e){const t=id(e.routes,e),n=e.parseQuery||dd,r=e.stringifyQuery||pi,o=e.history,s=En(),i=En(),l=En(),a=yn(mt);let c=mt;ln&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=co.bind(null,P=>""+P),u=co.bind(null,Of),p=co.bind(null,Kn);function g(P,F){let H,q;return Ul(P)?(H=t.getRecordMatcher(P),q=F):q=P,t.addRoute(q,H)}function _(P){const F=t.getRecordMatcher(P);F&&t.removeRoute(F)}function S(){return t.getRoutes().map(P=>P.record)}function k(P){return!!t.getRecordMatcher(P)}function R(P,F){if(F=me({},F||a.value),typeof P=="string"){const h=uo(n,P,F.path),v=t.resolve({path:h.path},F),C=o.createHref(h.fullPath);return me(h,v,{params:p(v.params),hash:Kn(h.hash),redirectedFrom:void 0,href:C})}let H;if(P.path!=null)H=me({},P,{path:uo(n,P.path,F.path).path});else{const h=me({},P.params);for(const v in h)h[v]==null&&delete h[v];H=me({},P,{params:u(h)}),F.params=u(F.params)}const q=t.resolve(H,F),pe=P.hash||"";q.params=f(p(q.params));const Pe=$f(r,me({},P,{hash:Tf(pe),path:q.path})),d=o.createHref(Pe);return me({fullPath:Pe,hash:pe,query:r===pi?hd(P.query):P.query||{}},q,{redirectedFrom:void 0,href:d})}function b(P){return typeof P=="string"?uo(n,P,a.value.path):me({},P)}function m(P,F){if(c!==P)return _n(8,{from:F,to:P})}function w(P){return G(P)}function V(P){return w(me(b(P),{replace:!0}))}function O(P){const F=P.matched[P.matched.length-1];if(F&&F.redirect){const{redirect:H}=F;let q=typeof H=="function"?H(P):H;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=b(q):{path:q},q.params={}),me({query:P.query,hash:P.hash,params:q.path!=null?{}:P.params},q)}}function G(P,F){const H=c=R(P),q=a.value,pe=P.state,Pe=P.force,d=P.replace===!0,h=O(H);if(h)return G(me(b(h),{state:typeof h=="object"?me({},pe,h.state):pe,force:Pe,replace:d}),F||H);const v=H;v.redirectedFrom=F;let C;return!Pe&&Nf(r,q,H)&&(C=_n(16,{to:v,from:q}),ct(q,q,!0,!1)),(C?Promise.resolve(C):L(v,q)).catch(y=>gt(y)?gt(y,2)?y:Pt(y):K(y,v,q)).then(y=>{if(y){if(gt(y,2))return G(me({replace:d},b(y.to),{state:typeof y.to=="object"?me({},pe,y.to.state):pe,force:Pe}),F||v)}else y=T(v,q,!0,d,pe);return U(v,q,y),y})}function Z(P,F){const H=m(P,F);return H?Promise.reject(H):Promise.resolve()}function j(P){const F=rn.values().next().value;return F&&typeof F.runWithContext=="function"?F.runWithContext(P):P()}function L(P,F){let H;const[q,pe,Pe]=Pd(P,F);H=fo(q.reverse(),"beforeRouteLeave",P,F);for(const h of q)h.leaveGuards.forEach(v=>{H.push(Tt(v,P,F))});const d=Z.bind(null,P,F);return H.push(d),Ye(H).then(()=>{H=[];for(const h of s.list())H.push(Tt(h,P,F));return H.push(d),Ye(H)}).then(()=>{H=fo(pe,"beforeRouteUpdate",P,F);for(const h of pe)h.updateGuards.forEach(v=>{H.push(Tt(v,P,F))});return H.push(d),Ye(H)}).then(()=>{H=[];for(const h of Pe)if(h.beforeEnter)if(it(h.beforeEnter))for(const v of h.beforeEnter)H.push(Tt(v,P,F));else H.push(Tt(h.beforeEnter,P,F));return H.push(d),Ye(H)}).then(()=>(P.matched.forEach(h=>h.enterCallbacks={}),H=fo(Pe,"beforeRouteEnter",P,F,j),H.push(d),Ye(H))).then(()=>{H=[];for(const h of i.list())H.push(Tt(h,P,F));return H.push(d),Ye(H)}).catch(h=>gt(h,8)?h:Promise.reject(h))}function U(P,F,H){l.list().forEach(q=>j(()=>q(P,F,H)))}function T(P,F,H,q,pe){const Pe=m(P,F);if(Pe)return Pe;const d=F===mt,h=ln?history.state:{};H&&(q||d?o.replace(P.fullPath,me({scroll:d&&h&&h.scroll},pe)):o.push(P.fullPath,pe)),a.value=P,ct(P,F,H,d),Pt()}let ee;function ve(){ee||(ee=o.listen((P,F,H)=>{if(!ir.listening)return;const q=R(P),pe=O(q);if(pe){G(me(pe,{replace:!0}),q).catch(Hn);return}c=q;const Pe=a.value;ln&&Kf(ii(Pe.fullPath,H.delta),Gr()),L(q,Pe).catch(d=>gt(d,12)?d:gt(d,2)?(G(d.to,q).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),K(d,q,Pe))).then(d=>{d=d||T(q,Pe,!1),d&&(H.delta&&!gt(d,8)?o.go(-H.delta,!1):H.type===Gn.pop&>(d,20)&&o.go(-1,!1)),U(q,Pe,d)}).catch(Hn)}))}let _e=En(),J=En(),oe;function K(P,F,H){Pt(P);const q=J.list();return q.length?q.forEach(pe=>pe(P,F,H)):console.error(P),Promise.reject(P)}function rt(){return oe&&a.value!==mt?Promise.resolve():new Promise((P,F)=>{_e.add([P,F])})}function Pt(P){return oe||(oe=!P,ve(),_e.list().forEach(([F,H])=>P?H(P):F()),_e.reset()),P}function ct(P,F,H,q){const{scrollBehavior:pe}=e;if(!ln||!pe)return Promise.resolve();const Pe=!H&&Gf(ii(P.fullPath,0))||(q||!H)&&history.state&&history.state.scroll||null;return wn().then(()=>pe(P,F,Pe)).then(d=>d&&Uf(d)).catch(d=>K(d,P,F))}const We=P=>o.go(P);let nn;const rn=new Set,ir={currentRoute:a,listening:!0,addRoute:g,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:k,getRoutes:S,resolve:R,options:e,push:w,replace:V,go:We,back:()=>We(-1),forward:()=>We(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:J.add,isReady:rt,install(P){const F=this;P.component("RouterLink",vd),P.component("RouterView",wd),P.config.globalProperties.$router=F,Object.defineProperty(P.config.globalProperties,"$route",{enumerable:!0,get:()=>Yt(a)}),ln&&!nn&&a.value===mt&&(nn=!0,w(o.location).catch(pe=>{}));const H={};for(const pe in mt)Object.defineProperty(H,pe,{get:()=>a.value[pe],enumerable:!0});P.provide(qr,F),P.provide(Zo,Ji(H)),P.provide(Eo,a);const q=P.unmount;rn.add(P),P.unmount=function(){rn.delete(P),rn.size<1&&(c=mt,ee&&ee(),ee=null,a.value=mt,nn=!1,oe=!1),q()}}};function Ye(P){return P.reduce((F,H)=>F.then(()=>j(H)),Promise.resolve())}return ir}function Pd(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 Be(qr)}function St(e){return Be(Zo)}var es=Symbol(""),pt=()=>{const e=Be(es);if(!e)throw new Error("useClientData() is called without provider.");return e},Cd=()=>pt().pageComponent,Sn=()=>pt().pageData,at=()=>pt().pageFrontmatter,kd=()=>pt().pageHead,Ld=()=>pt().pageLang,xd=()=>pt().pageLayout,sr=()=>pt().routeLocale,Ed=()=>pt().routes,zl=()=>pt().siteData,ts=()=>pt().siteLocaleData,Ad=Symbol(""),Ao=yn(_f),pn=yn(bf),Jl=(e,t)=>{const n=af(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}=Il(e),o=Jl(n,t),s=o+r;return pn.value[o]?{...pn.value[o],path:s,notFound:!1}:{...pn.value["/404.html"],path:s,notFound:!0}},Td=(e,t)=>{const{pathname:n,hashAndQueries:r}=Il(e);return Jl(n,t)+r},Rd=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=A(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${Td(e.to,r.path).substring(1)}`);return()=>{var s;return ke("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(i={})=>{Rd(i)&&n.push(e.to).catch()}},(s=t.default)==null?void 0:s.call(t))}}}),Pn=he({name:"AutoLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=ac(e,"config"),r=St(),o=zl(),s=A(()=>or(n.value.link)),i=A(()=>n.value.target||(s.value?"_blank":void 0)),l=A(()=>i.value==="_blank"),a=A(()=>!s.value&&!l.value),c=A(()=>n.value.rel||(l.value?"noopener noreferrer":null)),f=A(()=>n.value.ariaLabel??n.value.text),u=A(()=>{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=A(()=>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:S}=t,k=(S==null?void 0:S(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 Ge(()=>{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=Cd(),n=A(()=>{if(!e.path)return t.value;const r=qn(e.path);return bc(()=>r.loader().then(({comp:o})=>o))});return()=>ke(n.value)}}),Dd="Layout",Od="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 pf(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Od,resolvePageLayout:(e,t)=>{const n=st(e.frontmatter.layout)?e.frontmatter.layout:Dd;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>cf(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:`/${$l(e)}`;function Jr(e){return Ni()?(Oa(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 Id=Object.prototype.toString,Md=e=>Id.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 Yl=e=>e();function $d(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 Nd(e=Yl){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 Hd(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 Vd(e){return Wr()}function jd(e,t=200,n={}){return Ql($d(t,n),e)}function Fd(e,t,n={}){const{eventFilter:r=Yl,...o}=n;return $e(e,Ql(r,t),o)}function Bd(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=Nd(r);return{stop:Fd(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function is(e,t=!0,n){Vd()?Ge(e,n):t?e():wn(e)}function Wd(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 Ud(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Ne(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,Xl=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=$e(()=>[zt(t),ht(o)],([f,u])=>{if(i(),!f)return;const p=Md(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 Kd(){const e=ue(!1),t=Wr();return t&&Ge(()=>{e.value=!0},t),e}function Qr(e){const t=Kd();return A(()=>(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=ru(()=>{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 yi(e,t={}){const{controls:n=!1,navigator:r=Xl}=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=Hd(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 Gd(e={}){const{navigator:t=Xl,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=Qr(()=>t&&"clipboard"in t),l=yi("clipboard-read"),a=yi("clipboard-write"),c=A(()=>i.value||s),f=ue(""),u=ue(!1),p=Wd(()=>u.value=!1,o);function g(){i.value&&R(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&&R(a.value)?await t.clipboard.writeText(b):S(b),f.value=b,u.value=!0,p.start())}function S(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,w;return(w=(m=(b=document==null?void 0:document.getSelection)==null?void 0:b.call(document))==null?void 0:m.toString())!=null?w:""}function R(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__",qd=zd();function zd(){return vr in mr||(mr[vr]=mr[vr]||{}),mr[vr]}function Jd(e,t){return qd[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 Yd={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()}},wi="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,S=(f?yn:ue)(typeof t=="function"?t():t);if(!n)try{n=Jd("getDefaultStorage",()=>{var L;return(L=yt)==null?void 0:L.localStorage})()}catch(L){g(L)}if(!n)return S;const k=ht(t),R=Qd(k),b=(o=r.serializer)!=null?o:Yd[R],{pause:m,resume:w}=Bd(S,()=>O(S.value),{flush:s,deep:i,eventFilter:p});u&&l&&is(()=>{lt(u,"storage",Z),lt(u,wi,j),_&&Z()}),_||Z();function V(L,U){u&&u.dispatchEvent(new CustomEvent(wi,{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 T=b.write(L);U!==T&&(n.setItem(e,T),V(U,T))}}catch(U){g(U)}}function G(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 T=b.read(U);return typeof c=="function"?c(T,k):R==="object"&&!Array.isArray(T)?{...k,...T}:T}else return typeof U!="string"?U:b.read(U)}function Z(L){if(!(L&&L.storageArea!==n)){if(L&&L.key==null){S.value=k;return}if(!(L&&L.key!==e)){m();try{(L==null?void 0:L.newValue)!==b.write(S.value)&&(S.value=G(L))}catch(U){g(U)}finally{L?wn(w):w()}}}}function j(L){Z(L.detail)}return S}function Xd(e){return ls("(prefers-color-scheme: dark)",e)}function Zd(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=A(()=>Array.isArray(e)?e.map(u=>zt(u)):[zt(e)]),c=$e(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 eh(e,t={width:0,height:0},n={}){const{window:r=yt,box:o="content-box"}=n,s=A(()=>{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}=Zd(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:S})=>_+S,0),l.value=g.reduce((_,{blockSize:S})=>_+S,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=$e(()=>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 th(e,t,n={}){const{window:r=yt}=n;return as(e,t,r==null?void 0:r.sessionStorage,n)}function nh(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=A({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=A({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 rh(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)");$e(c,()=>a())}return{width:i,height:l}}const Si=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},oh=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=tn();lt("scroll",jd(()=>{var _,S;const i=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(i-0)u.some(R=>R.hash===k.hash));for(let k=0;k=(((_=R.parentElement)==null?void 0:_.offsetTop)??0)-r,w=!b||i<(((S=b.parentElement)==null?void 0:S.offsetTop)??0)-r;if(!(m&&w))continue;const O=decodeURIComponent(o.currentRoute.value.hash),G=decodeURIComponent(R.hash);if(O===G)return;if(f){for(let Z=k+1;Z{const t=sr();return A(()=>e[t.value]??{})},fh=()=>{const e=Ed();return A(()=>Object.keys(e.value))},ho=(e,t)=>{var r;const n=(r=Wr())==null?void 0:r.appContext.components;return n?e in n||Qe(e)in n||Qn(Qe(e))in n:!1},dh=e=>new Promise(t=>setTimeout(t,e)),hh=({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:ph(o,n),link:"#"+o.id,slug:o.id,level:s}});return gh(r,t)},ph=(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()},gh=(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),mh=Object.keys,ta=e=>ea(e,"/");var vh={"/eng/":{backToTop:"Back to top"},"/":{backToTop:"Вернуться к началу"}};const _h=he({name:"BackToTop",setup(){const e=at(),t=Zl(vh),n=yn(),{height:r}=eh(n),{height:o}=rh(),{y:s}=nh(),i=A(()=>e.value.backToTop!==!1&&s.value>100),l=A(()=>s.value/(r.value-o.value)*100);return Ge(()=>{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)}}),bh=Ft({rootComponents:[_h]}),yh=Object.freeze(Object.defineProperty({__proto__:null,default:bh},Symbol.toStringTag,{value:"Module"})),wh=/language-(shellscript|shell|bash|sh|zsh)/,Sh=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o,ignoreSelector:s=[],transform:i})=>{const l=ls("(max-width: 419px)"),a=A(()=>!l.value||o),c=Zl(n),f=Sn(),u=k=>{var b;if(k.hasAttribute("copy-code-registered"))return;const R=document.createElement("button");R.type="button",R.classList.add("vp-copy-code-button"),R.setAttribute("aria-label",c.value.copy),R.setAttribute("data-copied",c.value.copied),(b=k.parentElement)==null||b.insertBefore(R,k),k.setAttribute("copy-code-registered","")};$e(()=>[f.value.path,a.value],async()=>{document.body.classList.toggle("copy-code-disabled",!a.value),a.value&&(await wn(),await dh(e),document.querySelectorAll(r.join(",")).forEach(u))},{immediate:!0});const{copy:g}=Gd({legacy:!0}),_=new WeakMap,S=(k,R,b)=>{const m=R.cloneNode(!0);s.length&&m.querySelectorAll(s.join(",")).forEach(V=>V.remove()),i&&i(m);let w=m.textContent||"";wh.test(k.className)&&(w=w.replace(/^ *(\$|>) /gm,"")),g(w).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 R=k.target;if(a.value&&R.matches('div[class*="language-"] > button.vp-copy-code-button')){const b=R.parentElement,m=R.nextElementSibling;if(!b||!m)return;S(b,m,R)}})};var Ph={"/eng/":{copy:"Copy code",copied:"Copied"},"/":{copy:"Скопировать код",copied:"Скопировано"}},Ch=['.theme-default-content div[class*="language-"] pre'];const kh=Ft({setup:()=>{Sh({selector:Ch,locales:Ph,duration:2e3,delay:500,showInMobile:!1})}}),Lh=Object.freeze(Object.defineProperty({__proto__:null,default:kh},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,xh(i=>{_r(r,{transform:"translate3d("+Pi(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");Ci(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":Pi(ae.status||0),o=document.querySelector(ae.settings.parent);return _r(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&Ci(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{ki(document.documentElement,"nprogress-busy"),ki(document.querySelector(ae.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&Eh(e)},isRendered:()=>!!document.getElementById("nprogress")},po=(e,t,n)=>en?n:e,Pi=e=>(-1+e)*100,xh=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)}}}(),na=(e,t)=>(typeof e=="string"?e:cs(e)).indexOf(" "+t+" ")>=0,Ci=(e,t)=>{const n=cs(e),r=n+t;na(n,t)||(e.className=r.substring(1))},ki=(e,t)=>{const n=cs(e);if(!na(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},cs=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),Eh=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},Ah=()=>{Ge(()=>{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()})})},Th=Ft({setup(){Ah()}}),Rh=Object.freeze(Object.defineProperty({__proto__:null,default:Th},Symbol.toStringTag,{value:"Module"})),Dh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Oh=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"}`),Ih=ue(Oh),ra=()=>Ih,oa=Symbol(""),Mh=()=>{const e=Be(oa);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},$h=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Nh=Ft({enhance({app:e}){const t=ra(),n=e._context.provides[es],r=A(()=>$h(t.value,n.routeLocale.value));e.provide(oa,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Hh=Object.freeze(Object.defineProperty({__proto__:null,default:Nh},Symbol.toStringTag,{value:"Module"})),Vh=()=>ra(),Re=()=>Mh(),sa=Symbol(""),jh=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.classList.toggle("dark",n),r.dataset.theme=n?"dark":"light"};Ge(()=>{$e(e,t,{immediate:!0})}),Fr(()=>t())},us=()=>{const e=Be(sa);if(!e)throw new Error("useDarkMode() is called without provider.");return e},Fh=()=>{const e=Re(),t=Xd(),n=as("vuepress-color-scheme",e.value.colorMode),r=A({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(sa,r),jh(r)};let go=null,An=null;const Bh={wait:()=>go,pending:()=>{go=new Promise(e=>An=e)},resolve:()=>{An==null||An(),go=null,An=null}},ia=()=>Bh,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}},Li=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),Wh=(e,t)=>{if(t.hash===e)return!0;const n=Li(t.path),r=Li(e);return n===r},la=(e,t)=>e.link&&Wh(e.link,t)?!0:"children"in e?e.children.some(n=>la(n,t)):!1,aa=e=>!sf(e)&&!or(e),ca=e=>!Kr(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,Uh={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"},Kh=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=ca(e);return n!==null?Uh[n]:null},Gh=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Kh({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,Kr(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,$l(`${Ml(n)}/${r}`)):null},gn=(e="",t="")=>ta(t)||or(t)?t:`${gf(e)}${t}`,Sr=ue([]),qh=()=>{const e=tn(),t=Re(),n=at(),r=A(()=>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=hh({selector:[...new Array(6)].map((s,i)=>`.theme-default-content h${i+1}`).join(","),levels:[2,r.value+1],ignore:[".vp-badge"]})};$e(r,o),Ge(o)},zh=()=>Sr,ua=Symbol("sidebarItems"),fs=()=>{const e=Be(ua);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},Jh=()=>{const e=Re(),t=at(),n=Sn(),r=St(),o=sr(),s=zh(),i=A(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),l=A(()=>Qh(i.value,n.value,r.path,o.value,s.value));Xt(ua,l)},Qh=(e,t,n,r,o)=>e===!1?[]:e==="heading"?fa(t,o):Array.isArray(e)?da(e,o,n,r):Yo(e)?Xh(e,t,o,n):[],Yh=e=>({text:e.title,link:e.link,children:ds(e.children)}),ds=e=>e?e.map(t=>Yh(t)):[],fa=(e,t)=>[{text:e.title,children:ds(t)}],da=(e,t,n,r="")=>{const o=(s,i)=>{var a;const l=st(s)?bn(gn(i,s)):st(s.link)?{...s,link:aa(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))},Xh=(e,t,n,r)=>{const o=mh(e).sort((s,i)=>i.length-s.length);for(const s of o)if(ea(decodeURI(r),s)){const i=e[s];return i?i==="heading"?fa(t,n):da(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},Zh=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 ep(e,t,n,r,o,s){return $(),Y("span",{class:Fe(["vp-badge",n.type]),style:Yn({verticalAlign:n.vertical})},[Le(e.$slots,"default",{},()=>[$t(le(n.text),1)])],6)}const tp=we(Zh,[["render",ep],["__file","Badge.vue"]]),np=he({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=ue([]),r=ue(-1),o=as("vuepress-code-group",{}),s=A(()=>n.value.map(c=>c.innerText).join(","));Ge(()=>{$e(()=>o.value[s.value],(c=-1)=>{r.value!==c&&(r.value=c)},{immediate:!0}),$e(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]))}}}),rp=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 op(e,t,n,r,o,s){return $(),Y("div",{class:Fe(["code-group-item",{active:n.active}]),role:"tabpanel"},[Le(e.$slots,"default")],2)}const sp=we(rp,[["render",op],["__file","CodeGroupItem.vue"]]),ip=he({__name:"VPHomeFeatures",setup(e,{expose:t}){t();const n=at(),r=A(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),lp={key:0,class:"vp-features"};function ap(e,t,n,r,o,s){return r.features.length?($(),Y("div",lp,[($(!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 cp=we(ip,[["render",ap],["__file","VPHomeFeatures.vue"]]),up=he({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=at(),r=A(()=>n.value.footer),o=A(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),fp=["innerHTML"],dp=["textContent"];function hp(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,fp)):($(),Y("div",{key:1,class:"vp-footer",textContent:le(r.footer)},null,8,dp))],64)):Ae("",!0)}const pp=we(up,[["render",hp],["__file","VPHomeFooter.vue"]]),gp=he({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=at(),r=ts(),o=us(),s=A(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),i=A(()=>n.value.heroAlt||a.value||"hero"),l=A(()=>n.value.heroHeight||280),a=A(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),c=A(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),f=A(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:g,link:_,type:S="primary"})=>({text:g,link:_,type:S})):[]),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 Pn}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),mp={class:"vp-hero"},vp={key:0,id:"main-title"},_p={key:1,class:"vp-hero-description"},bp={key:2,class:"vp-hero-actions"};function yp(e,t,n,r,o,s){return $(),Y("header",mp,[te(r.HomeHeroImage),r.heroText?($(),Y("h1",vp,le(r.heroText),1)):Ae("",!0),r.tagline?($(),Y("p",_p,le(r.tagline),1)):Ae("",!0),r.actions.length?($(),Y("p",bp,[($(!0),Y(be,null,bt(r.actions,i=>($(),xe(r.AutoLink,{key:i.text,class:Fe(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):Ae("",!0)])}const wp=we(gp,[["render",yp],["__file","VPHomeHero.vue"]]),Sp=he({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:cp,VPHomeFooter:pp,VPHomeHero:wp,get Content(){return rs}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Pp={class:"vp-home"},Cp={class:"theme-default-content"};function kp(e,t,n,r,o,s){return $(),Y("main",Pp,[te(r.VPHomeHero),te(r.VPHomeFeatures),W("div",Cp,[te(r.Content)]),te(r.VPHomeFooter)])}const Lp=we(Sp,[["render",kp],["__file","VPHome.vue"]]),xp="719px",Ep={mobile:xp};var zn;(function(e){e.MOBILE="mobile"})(zn||(zn={}));const Ap={[zn.MOBILE]:Number.parseInt(Ep.mobile.replace("px",""),10)},ha=(e,t)=>{const n=Ap[e];Number.isInteger(n)&&(lt("orientationchange",()=>t(n),!1),lt("resize",()=>t(n),!1),Ge(()=>{t(n)}))},Tp=he({__name:"VPNavbarBrand",setup(e,{expose:t}){t();const n=sr(),r=ts(),o=Re(),s=us(),i=A(()=>o.value.home||n.value),l=A(()=>r.value.title),a=A(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),c=A(()=>o.value.logoAlt??l.value),f=A(()=>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}}),Rp=["aria-hidden"];function Dp(e,t,n,r,o,s){return $(),xe(r.RouteLink,{to:r.navbarBrandLink},{default:Ee(()=>[te(r.NavbarBrandLogo),r.navbarBrandTitle?($(),Y("span",{key:0,class:Fe(["vp-site-name",{"vp-hide-mobile":r.navbarBrandLogo}]),"aria-hidden":r.navBarLogoAltMatchesTitle},le(r.navbarBrandTitle),11,Rp)):Ae("",!0)]),_:1},8,["to"])}const Op=we(Tp,[["render",Dp],["__file","VPNavbarBrand.vue"]]),pa=(e,t="")=>st(e)?bn(gn(t,e)):"children"in e?{...e,children:e.children.map(n=>pa(n,gn(t,e.prefix)))}:{...e,link:aa(e.link)?bn(gn(t,e.link)).link:e.link},Ip=()=>{const e=Re();return A(()=>(e.value.navbar||[]).map(t=>pa(t)))},Mp=()=>{const e=Re(),t=A(()=>e.value.repo),n=A(()=>t.value?ca(t.value):null),r=A(()=>t.value&&!Kr(t.value)?`https://github.com/${t.value}`:t.value),o=A(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return A(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},$p=()=>{const e=St(),t=fh(),n=sr(),r=zl(),o=ts(),s=Vh(),i=Re();return A(()=>{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 R,b;const p=((R=r.value.locales)==null?void 0:R[u])??{},g=((b=s.value.locales)==null?void 0:b[u])??{},_=`${p.lang}`,S=g.selectLanguageName??_;if(_===o.value.lang)return{text:S,activeMatch:".",link:e.fullPath};const k=a.replace(n.value,u);return{text:S,link:t.value.some(m=>m===k)?c.replace(a,k):g.home??u}})}]})},Np=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 Hp(e,t,n,r,o,s){return $(),xe(rr,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:Ee(()=>[Le(e.$slots,"default")]),_:3})}const ga=we(Np,[["render",Hp],["__file","VPDropdownTransition.vue"]]),Vp=he({__name:"VPNavbarDropdown",props:{item:{}},setup(e,{expose:t}){t();const n=e,{item:r}=el(n),o=St(),s=ue(!1),i=A(()=>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};$e(()=>o.path,()=>{s.value=!1});const c={props:n,item:r,route:o,open:s,dropdownAriaLabel:i,isLastItemOfArray:l,handleDropdown:a,VPDropdownTransition:ga,get AutoLink(){return Pn}};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}),jp=["aria-label"],Fp={class:"title"},Bp=W("span",{class:"arrow down"},null,-1),Wp=["aria-label"],Up={class:"title"},Kp={class:"vp-navbar-dropdown"},Gp={class:"vp-navbar-dropdown-subtitle"},qp={key:1},zp={class:"vp-navbar-dropdown-subitem-wrapper"};function Jp(e,t,n,r,o,s){return $(),Y("div",{class:Fe(["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",Fp,le(r.item.text),1),Bp],8,jp),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",Up,le(r.item.text),1),W("span",{class:Fe(["arrow",r.open?"down":"right"])},null,2)],8,Wp),te(r.VPDropdownTransition,null,{default:Ee(()=>[Lr(W("ul",Kp,[($(!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",Gp,[i.link?($(),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"])):($(),Y("span",qp,le(i.text),1))]),W("ul",zp,[($(!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)):($(),xe(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(Vp,[["render",Jp],["__file","VPNavbarDropdown.vue"]]),Yp=he({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=Ip(),r=$p(),o=Mp(),s=ue(!1),i=A(()=>Re().value.navbarLabel??"site navigation"),l=A(()=>[...n.value,...r.value,...o.value]);ha(zn.MOBILE,c=>{s.value=window.innerWidth($(),Y("div",{key:i.text,class:"vp-navbar-item"},["children"in i?($(),xe(r.VPNavbarDropdown,{key:0,class:Fe({mobile:r.isMobile}),item:i},null,8,["class","item"])):($(),xe(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,Xp)):Ae("",!0)}const ma=we(Yp,[["render",Zp],["__file","VPNavbarItems.vue"]]),eg={},tg={class:"dark-icon",viewBox:"0 0 32 32"},ng=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),rg=[ng];function og(e,t){return $(),Y("svg",tg,rg)}const sg=we(eg,[["render",og],["__file","VPDarkIcon.vue"]]),ig={},lg={class:"light-icon",viewBox:"0 0 32 32"},ag=gu('',9),cg=[ag];function ug(e,t){return $(),Y("svg",lg,cg)}const fg=we(ig,[["render",ug],["__file","VPLightIcon.vue"]]),dg=he({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=Re(),r=us(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:sg,VPLightIcon:fg};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),hg=["title"];function pg(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,hg)}const gg=we(dg,[["render",pg],["__file","VPToggleColorModeButton.vue"]]),mg=he({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:Re()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),vg=["title"],_g=W("div",{class:"icon","aria-hidden":"true"},[W("span"),W("span"),W("span")],-1),bg=[_g];function yg(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"))},bg,8,vg)}const wg=we(mg,[["render",yg],["__file","VPToggleSidebarButton.vue"]]),Sg=he({__name:"VPNavbar",emits:["toggle-sidebar"],setup(e,{expose:t}){t();const n=Re(),r=ue(null),o=ue(null),s=ue(0),i=A(()=>s.value?{maxWidth:s.value+"px"}:{}),l=(c,f)=>{var g,_,S;const u=(S=(_=(g=c==null?void 0:c.ownerDocument)==null?void 0:g.defaultView)==null?void 0:_.getComputedStyle(c,null))==null?void 0:S[f],p=Number.parseInt(u,10);return Number.isNaN(p)?0:p};ha(zn.MOBILE,c=>{var u;const f=l(r.value,"paddingLeft")+l(r.value,"paddingRight");window.innerWidthe.$emit("toggle-sidebar"))}),W("span",Cg,[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?($(),xe(r.VPToggleColorModeButton,{key:0})):Ae("",!0),te(i)],4)],512)}const Lg=we(Sg,[["render",kg],["__file","VPNavbar.vue"]]),xg=()=>{const e=Re(),t=Sn(),n=at();return A(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},Eg=()=>{const e=Re(),t=Sn(),n=at();return A(()=>{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=Gh({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})},Ag=()=>{const e=Re(),t=Sn(),n=at();return A(()=>{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()})},Tg={},Rg={class:"edit-icon",viewBox:"0 0 1024 1024"},Dg=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),Og=[Dg];function Ig(e,t){return $(),Y("svg",Rg,Og)}const Mg=we(Tg,[["render",Ig],["__file","VPEditIcon.vue"]]),$g=he({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=Re(),r=Eg(),o=Ag(),s=xg(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:Mg,get AutoLink(){return Pn}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),Ng={class:"vp-page-meta"},Hg={key:0,class:"vp-meta-item edit-link"},Vg={class:"vp-meta-item git-info"},jg={key:0,class:"vp-meta-item last-updated"},Fg={class:"meta-item-label"},Bg={class:"meta-item-info"},Wg={key:1,class:"vp-meta-item contributors"},Ug={class:"meta-item-label"},Kg={class:"meta-item-info"},Gg=["title"];function qg(e,t,n,r,o,s){const i=Go("ClientOnly");return $(),Y("footer",Ng,[r.editLink?($(),Y("div",Hg,[te(r.AutoLink,{class:"label",config:r.editLink},{before:Ee(()=>[te(r.VPEditIcon)]),_:1},8,["config"])])):Ae("",!0),W("div",Vg,[r.lastUpdated?($(),Y("div",jg,[W("span",Fg,le(r.themeLocale.lastUpdatedText)+": ",1),te(i,null,{default:Ee(()=>[W("span",Bg,le(r.lastUpdated),1)]),_:1})])):Ae("",!0),r.contributors&&r.contributors.length?($(),Y("div",Wg,[W("span",Ug,le(r.themeLocale.contributorsText)+": ",1),W("span",Kg,[($(!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,Gg),a!==r.contributors.length-1?($(),Y(be,{key:0},[$t(", ")],64)):Ae("",!0)],64))),128))])])):Ae("",!0)])])}const zg=we($g,[["render",qg],["__file","VPPageMeta.vue"]]),Jg=()=>{const e=tn(),t=St();return n=>{n&&(ta(n)?t.path!==n&&e.push(n):or(n)?window==null||window.open(n):e.push(encodeURI(n)))}},xi=(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=A(()=>{const i=xi(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:Ro(n.value,r.path,-1))}),s=A(()=>{const i=xi(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}},Yg=he({__name:"VPPageNav",setup(e,{expose:t}){t();const n=Re(),r=Jg(),{prevLink:o,nextLink:s}=Qg(),i=A(()=>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 Pn}};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),Xg=["aria-label"],Zg={class:"hint"},em=W("span",{class:"arrow left"},null,-1),tm={class:"link"},nm={class:"hint"},rm=W("span",{class:"arrow right"},null,-1),om={class:"link"};function sm(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?($(),xe(r.AutoLink,{key:0,class:"prev",config:r.prevLink},{default:Ee(()=>[W("div",Zg,[em,$t(" "+le(r.themeLocale.prev??"Prev"),1)]),W("div",tm,[W("span",null,le(r.prevLink.text),1)])]),_:1},8,["config"])):Ae("",!0),r.nextLink?($(),xe(r.AutoLink,{key:1,class:"next",config:r.nextLink},{default:Ee(()=>[W("div",nm,[$t(le(r.themeLocale.next??"Next")+" ",1),rm]),W("div",om,[W("span",null,le(r.nextLink.text),1)])]),_:1},8,["config"])):Ae("",!0)],8,Xg)):Ae("",!0)}const im=we(Yg,[["render",sm],["__file","VPPageNav.vue"]]),lm=he({__name:"VPPage",setup(e,{expose:t}){t(),qh();const n={VPPageMeta:zg,VPPageNav:im,get Content(){return rs}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),am={class:"vp-page"},cm={class:"theme-default-content"};function um(e,t,n,r,o,s){return $(),Y("main",am,[Le(e.$slots,"top"),W("div",cm,[Le(e.$slots,"content-top"),te(r.Content),Le(e.$slots,"content-bottom")]),te(r.VPPageMeta),te(r.VPPageNav),Le(e.$slots,"bottom")])}const fm=we(lm,[["render",um],["__file","VPPage.vue"]]),dm=he({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=el(n),s=St(),i=tn(),l=A(()=>"collapsible"in r.value&&r.value.collapsible),a=A(()=>la(r.value,s)),c=A(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:a.value,collapsible:l.value})),f=A(()=>l.value?a.value:!0),[u,p]=Ud(f.value),g=k=>{l.value&&(k.preventDefault(),p())},_=i.afterEach(k=>{wn(()=>{u.value=f.value})});Ko(()=>{_()});const S={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:ga,get AutoLink(){return Pn}};return Object.defineProperty(S,"__isScriptSetup",{enumerable:!1,value:!0}),S}}),hm={class:"vp-sidebar-children"};function pm(e,t,n,r,o,s){const i=Go("VPSidebarItem",!0);return $(),Y("li",null,[r.item.link?($(),xe(r.AutoLink,{key:0,class:Fe(r.itemClass),config:r.item},null,8,["class","config"])):($(),Y("p",{key:1,tabindex:"0",class:Fe(r.itemClass),onClick:r.onClick,onKeydown:Xu(r.onClick,["enter"])},[$t(le(r.item.text)+" ",1),r.collapsible?($(),Y("span",{key:0,class:Fe(["arrow",r.isOpen?"down":"right"])},null,2)):Ae("",!0)],34)),"children"in r.item&&r.item.children.length?($(),xe(r.VPDropdownTransition,{key:2},{default:Ee(()=>[Lr(W("ul",hm,[($(!0),Y(be,null,bt(r.item.children,l=>($(),xe(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 gm=we(dm,[["render",pm],["__file","VPSidebarItem.vue"]]),mm=he({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=St(),r=fs();Ge(()=>{$e(()=>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:gm};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),vm={key:0,class:"vp-sidebar-items"};function _m(e,t,n,r,o,s){return r.sidebarItems.length?($(),Y("ul",vm,[($(!0),Y(be,null,bt(r.sidebarItems,i=>($(),xe(r.VPSidebarItem,{key:`${i.text}${i.link}`,item:i},null,8,["item"]))),128))])):Ae("",!0)}const bm=we(mm,[["render",_m],["__file","VPSidebarItems.vue"]]),ym=he({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:ma,VPSidebarItems:bm};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),wm={class:"vp-sidebar"};function Sm(e,t,n,r,o,s){return $(),Y("aside",wm,[te(r.VPNavbarItems),Le(e.$slots,"top"),te(r.VPSidebarItems),Le(e.$slots,"bottom")])}const Pm=we(ym,[["render",Sm],["__file","VPSidebar.vue"]]),Cm=he({__name:"Layout",setup(e,{expose:t}){t();const n=Sn(),r=at(),o=Re(),s=A(()=>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 w=m.changedTouches[0].clientX-c.x,V=m.changedTouches[0].clientY-c.y;Math.abs(w)>Math.abs(V)&&Math.abs(w)>40&&(w>0&&c.x<=80?a(!0):a(!1))},p=A(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),g=A(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":l.value,"external-link-icon":p.value},r.value.pageClass]);let _;Ge(()=>{_=tn().afterEach(()=>{a(!1)})}),Fr(()=>{_()});const S=ia(),k=S.resolve,R=S.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:S,onBeforeEnter:k,onBeforeLeave:R,VPHome:Lp,VPNavbar:Lg,VPPage:fm,VPSidebar:Pm};return Object.defineProperty(b,"__isScriptSetup",{enumerable:!1,value:!0}),b}});function km(e,t,n,r,o,s){return $(),Y("div",{class:Fe(["vp-theme-container",r.containerClass]),onTouchstart:r.onTouchStart,onTouchend:r.onTouchEnd},[Le(e.$slots,"navbar",{},()=>[r.shouldShowNavbar?($(),xe(r.VPNavbar,{key:0,onToggleSidebar:r.toggleSidebar},{before:Ee(()=>[Le(e.$slots,"navbar-before")]),after:Ee(()=>[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:Ee(()=>[Le(e.$slots,"sidebar-top")]),bottom:Ee(()=>[Le(e.$slots,"sidebar-bottom")]),_:3})]),Le(e.$slots,"page",{},()=>[r.frontmatter.home?($(),xe(r.VPHome,{key:0})):($(),xe(rr,{key:1,name:"fade-slide-y",mode:"out-in",onBeforeEnter:r.onBeforeEnter,onBeforeLeave:r.onBeforeLeave},{default:Ee(()=>[($(),xe(r.VPPage,{key:r.page.path},{top:Ee(()=>[Le(e.$slots,"page-top")]),"content-top":Ee(()=>[Le(e.$slots,"page-content-top")]),"content-bottom":Ee(()=>[Le(e.$slots,"page-content-bottom")]),bottom:Ee(()=>[Le(e.$slots,"page-bottom")]),_:3}))]),_:3},8,["onBeforeEnter","onBeforeLeave"]))])],34)}const va=we(Cm,[["render",km],["__file","Layout.vue"]]),Lm=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}}),xm=e=>(pc("data-v-99131a8e"),e=e(),gc(),e),Em={class:"vp-theme-container"},Am={class:"page"},Tm={class:"theme-default-content"},Rm=xm(()=>W("h1",null,"404",-1));function Dm(e,t,n,r,o,s){return $(),Y("div",Em,[W("main",Am,[W("div",Tm,[Rm,W("blockquote",null,le(r.getMsg()),1),te(r.RouteLink,{to:r.homeLink},{default:Ee(()=>[$t(le(r.homeText),1)]),_:1},8,["to"])])])])}const Om=we(Lm,[["render",Dm],["__scopeId","data-v-99131a8e"],["__file","NotFound.vue"]]),Im=Ft({enhance({app:e,router:t}){ho("Badge")||e.component("Badge",tp),ho("CodeGroup")||e.component("CodeGroup",np),ho("CodeGroupItem")||e.component("CodeGroupItem",sp),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 ia().wait(),n(...r))},setup(){Fh(),Jh()},layouts:{Layout:va,NotFound:Om}}),Mm=Object.freeze(Object.defineProperty({__proto__:null,default:Im},Symbol.toStringTag,{value:"Module"})),$m=Object.entries;var Nm={autoLocale:!1,switchLocale:!1,localeConfig:{"/eng/":["en-US"]},defaultLocale:"/eng/",localeFallback:!0,defaultBehavior:"defaultLocale"};const Hm=Nm;$m(Hm.localeConfig);th("VUEPRESS_REDIRECT_LOCALES",{});const Vm=Ft({setup(){},rootComponents:[]}),jm=Object.freeze(Object.defineProperty({__proto__:null,default:Vm},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 Fm=[{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"),startDate: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 Bm(e){return e.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})}const Wm=e=>e.url.startsWith("https://")?e.url:new URL(e.url,"https://git.pleshevski.ru").toString(),Um=Object.freeze(Object.defineProperty({__proto__:null,getExternalLink:Wm},Symbol.toStringTag,{value:"Module"}));function Tn(e){return(e==null?void 0:e.valueOf())??1/0}const Km={name:"WorksPage",computed:{tableTheme(){return this.$themeLocale.worksTable??{}}}},Gm=he({...Km,setup(e,{expose:t}){t();const n=A(()=>Fm.concat().sort((o,s)=>Tn(s.endDate)-Tn(o.endDate)||Tn(s.startDate)-Tn(o.startDate))),r={date2num:Tn,works:n,get renderDate(){return Bm},get w(){return Um}};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),qm=["href"],zm=["innerHTML"],Jm={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,qm)]),W("td",null,le(i.description),1),W("td",{innerHTML:i.roles.join(", ")},null,8,zm),W("td",null,le(i.technologies.join(", ")),1),W("td",null,le(i.status),1),W("td",null,[W("div",null,[W("small",{class:Fe({grey:i.endDate})},le(r.renderDate(i.startDate)),3)]),i.endDate?($(),Y("div",Jm,[W("small",null,le(r.renderDate(i.endDate)),1)])):Ae("",!0)])]))),256))])])}const Ym=we(Gm,[["render",Qm],["__file","ChronologicalWorksTable.vue"]]),Xm={__name:"WorksPage",setup(e,{expose:t}){t();const n={ParentLayout:va,get ChronologicalWorksTable(){return Ym}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},Zm={class:"works-table-wrapper"};function ev(e,t,n,r,o,s){return $(),xe(r.ParentLayout,null,{"page-bottom":Ee(()=>[W("div",Zm,[te(r.ChronologicalWorksTable)])]),_:1})}const tv=we(Xm,[["render",ev],["__scopeId","data-v-765855fb"],["__file","WorksPage.vue"]]),nv=Ft({layouts:{WorksPage:tv}}),rv=Object.freeze(Object.defineProperty({__proto__:null,default:nv},Symbol.toStringTag,{value:"Module"})),br=[uh,yh,Lh,Rh,Dh,Hh,Mm,jm,rv].map(e=>e.default).filter(Boolean),ov=JSON.parse('{"base":"/","lang":"ru-RU","title":"Дмитрий Плешевский","description":" ","head":[],"locales":{"/":{"lang":"ru-RU","title":"Дмитрий Плешевский"},"/eng/":{"lang":"en-US","title":"Dmitriy Pleshevskiy"}}}');var Dn=yn(ov),sv=Qf,iv=()=>{const e=Sd({history:sv(Ml("/")),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},lv=e=>{e.component("ClientOnly",ns),e.component("Content",rs),e.component("RouteLink",zr)},av=(e,t,n)=>{const r=A(()=>t.currentRoute.value.path),o=sc((k,R)=>({get(){return k(),t.currentRoute.value.meta._pageChunk},set(b){t.currentRoute.value.meta._pageChunk=b,R()}})),s=A(()=>Kt.resolveLayouts(n)),i=A(()=>Kt.resolveRouteLocale(Dn.value.locales,r.value)),l=A(()=>Kt.resolveSiteLocaleData(Dn.value,i.value)),a=A(()=>o.value.comp),c=A(()=>o.value.data),f=A(()=>c.value.frontmatter),u=A(()=>Kt.resolvePageHeadTitle(c.value,l.value)),p=A(()=>Kt.resolvePageHead(u.value,f.value,l.value)),g=A(()=>Kt.resolvePageLang(c.value,l.value)),_=A(()=>Kt.resolvePageLayout(c.value,s.value)),S={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,S),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}}),S},cv=()=>{const e=kd(),t=Ld();let n=[];const r=()=>{e.value.forEach(i=>{const l=uv(i);l&&n.push(l)})},o=()=>{const i=[];return e.value.forEach(l=>{const a=fv(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(Ad,s),Ge(()=>{r(),$e(e,s,{immediate:!1})})},uv=([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},fv=([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},dv=tf,hv=async()=>{var n;const e=dv({name:"Vuepress",setup(){var s;cv();for(const i of br)(s=i.setup)==null||s.call(i);const r=br.flatMap(({rootComponents:i=[]})=>i.map(l=>ke(l))),o=xd();return()=>[ke(o.value),r]}}),t=iv();lv(e),av(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}};hv().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{we as _,W as a,$t as b,Y as c,hv as createVueApp,te as d,gu as e,$ as o,Go as r,Ee 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-DVhfb_AK.js b/dist/assets/app-DVhfb_AK.js deleted file mode 100644 index 06ac3c2..0000000 --- a/dist/assets/app-DVhfb_AK.js +++ /dev/null @@ -1,30 +0,0 @@ -/** -* @vue/shared v3.4.33 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function Ro(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const Pe={},an=[],tt=()=>{},va=()=>!1,zn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Oo=e=>e.startsWith("onUpdate:"),De=Object.assign,Io=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},_a=Object.prototype.hasOwnProperty,ce=(e,t)=>_a.call(e,t),X=Array.isArray,cn=e=>Ir(e)==="[object Map]",Ei=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",xi=e=>(ye(e)||ne(e))&&ne(e.then)&&ne(e.catch),Ai=Object.prototype.toString,Ir=e=>Ai.call(e),ba=e=>Ir(e).slice(8,-1),Ti=e=>Ir(e)==="[object Object]",Mo=e=>Te(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,un=Ro(",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))},ya=/-(\w)/g,Qe=Mr(e=>e.replace(ya,(t,n)=>n?n.toUpperCase():"")),wa=/\B([A-Z])/g,Ht=Mr(e=>e.replace(wa,"-$1").toLowerCase()),Jn=Mr(e=>e.charAt(0).toUpperCase()+e.slice(1)),Qr=Mr(e=>e?`on${Jn(e)}`:""),Mt=(e,t)=>!Object.is(e,t),Yr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Sa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ca=e=>{const t=Te(e)?Number(e):NaN;return isNaN(t)?e:t};let gs;const Oi=()=>gs||(gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Qn(e){if(X(e)){const t={};for(let n=0;n{if(n){const r=n.split(ka);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Fe(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===Ai||!ne(e.toString))?Mi(e)?le(e.value):JSON.stringify(e,Di,2):String(e),Di=(e,t)=>Mi(t)?Di(e,t.value):cn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],s)=>(n[Xr(r,s)+" =>"]=o,n),{})}:Ei(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Xr(n))}:Nt(t)?Xr(t):ye(t)&&!X(t)&&!Ti(t)?String(t):t,Xr=(e,t="")=>{var n;return Nt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.33 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let ze;class Ta{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ze,!t&&ze&&(this.index=(ze.scopes||(ze.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ze;try{return ze=this,t()}finally{ze=n}}}on(){ze=this}off(){ze=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),Vt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Ot,n=Jt;try{return Ot=!0,Jt=this,this._runnings++,ms(this),this.fn()}finally{vs(this),this._runnings--,Jt=n,Ot=t}}stop(){this.active&&(ms(this),vs(this),this.onStop&&this.onStop(),this.active=!1)}}function Ia(e){return e.value}function ms(e){e._trackId++,e._depsLength=0}function vs(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},Sr=new WeakMap,Qt=Symbol(""),vo=Symbol("");function Ke(e,t,n){if(Ot&&Jt){let r=Sr.get(e);r||Sr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=Fi(()=>r.delete(n))),ji(Jt,o)}}function _t(e,t,n,r,o,s){const i=Sr.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(vo)));break;case"delete":X(e)||(l.push(i.get(Qt)),cn(e)&&l.push(i.get(vo)));break;case"set":cn(e)&&l.push(i.get(Qt));break}$o();for(const a of l)a&&Vi(a,4);No()}function Ma(e,t){const n=Sr.get(e);return n&&n.get(t)}const Da=Ro("__proto__,__v_isRef,__isVue"),Bi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nt)),_s=$a();function $a(){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){jt(),$o();const r=fe(this)[t].apply(this,n);return No(),Vt(),r}}),e}function Na(e){Nt(e)||(e=String(e));const t=fe(this);return Ke(t,"has",e),t.hasOwnProperty(e)}class Wi{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?Qa:qi:s?Gi:Ki).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=X(t);if(!o){if(i&&ce(_s,n))return Reflect.get(_s,n,r);if(n==="hasOwnProperty")return Na}const l=Reflect.get(t,n,r);return(Nt(n)?Bi.has(n):Da(n))||(o||Ke(t,"get",n),s)?l:Ne(l)?i&&Mo(n)?l:l.value:ye(l)?o?$r(l):Yn(l):l}}class Ui extends Wi{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)&&Ne(s)&&!Ne(r))return a?!1:(s.value=r,!0)}const i=X(t)&&Mo(n)?Number(n)e,Dr=e=>Reflect.getPrototypeOf(e);function ir(e,t,n=!1,r=!1){e=e.__v_raw;const o=fe(e),s=fe(t);n||(Mt(t,s)&&Ke(o,"get",t),Ke(o,"get",s));const{has:i}=Dr(o),l=r?Ho:n?Fo: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 lr(e,t=!1){const n=this.__v_raw,r=fe(n),o=fe(e);return t||(Mt(e,o)&&Ke(r,"has",e),Ke(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function ar(e,t=!1){return e=e.__v_raw,!t&&Ke(fe(e),"iterate",Qt),Reflect.get(e,"size",e)}function bs(e,t=!1){!t&&!mn(e)&&!en(e)&&(e=fe(e));const n=fe(this);return Dr(n).has.call(n,e)||(n.add(e),_t(n,"add",e,e)),this}function ys(e,t,n=!1){!n&&!mn(t)&&!en(t)&&(t=fe(t));const r=fe(this),{has:o,get:s}=Dr(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?Mt(t,l)&&_t(r,"set",e,t):_t(r,"add",e,t),this}function ws(e){const t=fe(this),{has:n,get:r}=Dr(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 Ss(){const e=fe(this),t=e.size!==0,n=e.clear();return t&&_t(e,"clear",void 0,void 0),n}function cr(e,t){return function(r,o){const s=this,i=s.__v_raw,l=fe(i),a=t?Ho:e?Fo:jn;return!e&&Ke(l,"iterate",Qt),i.forEach((c,f)=>r.call(o,a(c),a(f),s))}}function ur(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?Ho:t?Fo:jn;return!t&&Ke(s,"iterate",a?vo: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 Ba(){const e={get(s){return ir(this,s)},get size(){return ar(this)},has:lr,add:bs,set:ys,delete:ws,clear:Ss,forEach:cr(!1,!1)},t={get(s){return ir(this,s,!1,!0)},get size(){return ar(this)},has:lr,add(s){return bs.call(this,s,!0)},set(s,i){return ys.call(this,s,i,!0)},delete:ws,clear:Ss,forEach:cr(!1,!0)},n={get(s){return ir(this,s,!0)},get size(){return ar(this,!0)},has(s){return lr.call(this,s,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:cr(!0,!1)},r={get(s){return ir(this,s,!0,!0)},get size(){return ar(this,!0)},has(s){return lr.call(this,s,!0)},add:Pt("add"),set:Pt("set"),delete:Pt("delete"),clear:Pt("clear"),forEach:cr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=ur(s,!1,!1),n[s]=ur(s,!0,!1),t[s]=ur(s,!1,!0),r[s]=ur(s,!0,!0)}),[e,n,t,r]}const[Wa,Ua,Ka,Ga]=Ba();function jo(e,t){const n=t?e?Ga:Ka:e?Ua:Wa;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 qa={get:jo(!1,!1)},za={get:jo(!1,!0)},Ja={get:jo(!0,!1)};const Ki=new WeakMap,Gi=new WeakMap,qi=new WeakMap,Qa=new WeakMap;function Ya(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Xa(e){return e.__v_skip||!Object.isExtensible(e)?0:Ya(ba(e))}function Yn(e){return en(e)?e:Vo(e,!1,ja,qa,Ki)}function zi(e){return Vo(e,!1,Fa,za,Gi)}function $r(e){return Vo(e,!0,Va,Ja,qi)}function Vo(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=Xa(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 Ji(e){return e?!!e.__v_raw:!1}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function Za(e){return Object.isExtensible(e)&&Ri(e,"__v_skip",!0),e}const jn=e=>ye(e)?Yn(e):e,Fo=e=>ye(e)?$r(e):e;class Qi{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 Do(()=>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)&&Mt(t._value,t._value=t.effect.run())&&On(t,4),Bo(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 ec(e,t,n=!1){let r,o;const s=ne(e);return s?(r=e,o=tt):(r=e.get,o=e.set),new Qi(r,o,s||!o,n)}function Bo(e){var t;Ot&&Jt&&(e=fe(e),ji(Jt,(t=e.dep)!=null?t:e.dep=Fi(()=>e.dep=void 0,e instanceof Qi?e:void 0)))}function On(e,t=4,n,r){e=fe(e);const o=e.dep;o&&Vi(o,t)}function Ne(e){return!!(e&&e.__v_isRef===!0)}function ue(e){return Yi(e,!1)}function yn(e){return Yi(e,!0)}function Yi(e,t){return Ne(e)?e:new tc(e,t)}class tc{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 Bo(this),this._value}set value(t){const n=this.__v_isShallow||mn(t)||en(t);t=n?t:fe(t),Mt(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:jn(t),On(this,4))}}function Yt(e){return Ne(e)?e.value:e}const nc={get:(e,t,n)=>Yt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Ne(o)&&!Ne(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function Xi(e){return fn(e)?e:new Proxy(e,nc)}class rc{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Bo(this),()=>On(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function oc(e){return new rc(e)}function Zi(e){const t=X(e)?new Array(e.length):{};for(const n in e)t[n]=el(e,n);return t}class sc{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 Ma(fe(this._object),this._key)}}class ic{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function lc(e,t,n){return Ne(e)?e:ne(e)?new ic(e):ye(e)&&arguments.length>1?el(e,t,n):ue(e)}function el(e,t,n){const r=e[t];return Ne(r)?r:new sc(e,t,n)}/** -* @vue/runtime-core v3.4.33 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function It(e,t,n,r){try{return r?e(...r):e()}catch(o){Xn(o,t,n)}}function nt(e,t,n,r){if(ne(e)){const o=It(e,t,n,r);return o&&xi(o)&&o.catch(s=>{Xn(s,t,n)}),o}if(X(e)){const o=[];for(let s=0;s>>1,o=He[r],s=Fn(o);sdt&&He.splice(t,1)}function fc(e){X(e)?dn.push(...e):(!Et||!Et.includes(e,e.allowRecurse?Gt+1:Gt))&&dn.push(e),nl()}function Cs(e,t,n=Vn?dt+1:0){for(;nFn(n)-Fn(r));if(dn.length=0,Et){Et.push(...t);return}for(Et=t,Gt=0;Gte.id==null?1/0:e.id,dc=(e,t)=>{const n=Fn(e)-Fn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function rl(e){_o=!1,Vn=!0,He.sort(dc);try{for(dt=0;dt{r._d&&Ns(-1);const s=Pr(t);let i;try{i=e(...o)}finally{Pr(s),r._d&&Ns(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function kr(e,t){if(Me===null)return e;const n=Wr(Me),r=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Uo(()=>{e.isUnmounting=!0}),e}const Xe=[Function,Array],ol={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Xe,onEnter:Xe,onAfterEnter:Xe,onEnterCancelled:Xe,onBeforeLeave:Xe,onLeave:Xe,onAfterLeave:Xe,onLeaveCancelled:Xe,onBeforeAppear:Xe,onAppear:Xe,onAfterAppear:Xe,onAppearCancelled:Xe},sl=e=>{const t=e.subTree;return t.component?sl(t.component):t},mc={name:"BaseTransition",props:ol,setup(e,{slots:t}){const n=Br(),r=gc();return()=>{const o=t.default&&ll(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){for(const p of o)if(p.type!==Ve){s=p;break}}const i=fe(e),{mode:l}=i;if(r.isLeaving)return Zr(s);const a=Ps(s);if(!a)return Zr(s);let c=bo(a,i,r,n,p=>c=p);Lr(a,c);const f=n.subTree,u=f&&Ps(f);if(u&&u.type!==Ve&&!qt(a,u)&&sl(n).type!==Ve){const p=bo(u,i,r,n);if(Lr(u,p),l==="out-in"&&a.type!==Ve)return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},Zr(s);l==="in-out"&&a.type!==Ve&&(p.delayLeave=(g,_,S)=>{const k=il(r,u);k[String(u.key)]=u,g[xt]=()=>{_(),g[xt]=void 0,delete c.delayedLeave},c.delayedLeave=S})}return s}}},vc=mc;function il(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 bo(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:S,onBeforeAppear:k,onAppear:R,onAfterAppear:b,onAppearCancelled:m}=t,w=String(e.key),j=il(n,e),I=(V,L)=>{V&&nt(V,r,9,L)},G=(V,L)=>{const U=L[1];I(V,L),X(V)?V.every(T=>T.length<=1)&&U():V.length<=1&&U()},Z={mode:i,persisted:l,beforeEnter(V){let L=a;if(!n.isMounted)if(s)L=k||a;else return;V[xt]&&V[xt](!0);const U=j[w];U&&qt(e,U)&&U.el[xt]&&U.el[xt](),I(L,[V])},enter(V){let L=c,U=f,T=u;if(!n.isMounted)if(s)L=R||c,U=b||f,T=m||u;else return;let ee=!1;const ve=V[fr]=_e=>{ee||(ee=!0,_e?I(T,[V]):I(U,[V]),Z.delayedLeave&&Z.delayedLeave(),V[fr]=void 0)};L?G(L,[V,ve]):ve()},leave(V,L){const U=String(e.key);if(V[fr]&&V[fr](!0),n.isUnmounting)return L();I(p,[V]);let T=!1;const ee=V[xt]=ve=>{T||(T=!0,L(),ve?I(S,[V]):I(_,[V]),V[xt]=void 0,j[U]===e&&delete j[U])};j[U]=e,g?G(g,[V,ee]):ee()},clone(V){const L=bo(V,t,n,r,o);return o&&o(L),L}};return Z}function Zr(e){if(Zn(e))return e=Dt(e),e.children=null,e}function Ps(e){if(!Zn(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 Lr(e,t){e.shapeFlag&6&&e.component?Lr(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 ll(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 _c(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((S,k)=>{l(_,()=>S(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()=>eo(c,g);const _=b=>{a=null,Xn(b,g,13,!r)};if(i&&g.suspense||tr)return p().then(b=>()=>eo(b,g)).catch(b=>(_(b),()=>r?te(r,{error:b}):null));const S=ue(!1),k=ue(),R=ue(!!o);return o&&setTimeout(()=>{R.value=!1},o),s!=null&&setTimeout(()=>{if(!S.value&&!k.value){const b=new Error(`Async component timed out after ${s}ms.`);_(b),k.value=b}},s),p().then(()=>{S.value=!0,g.parent&&Zn(g.parent.vnode)&&(g.parent.effect.dirty=!0,Nr(g.parent.update))}).catch(b=>{_(b),k.value=b}),()=>{if(S.value&&c)return eo(c,g);if(k.value&&r)return te(r,{error:k.value});if(n&&!R.value)return te(n)}}})}function eo(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 Zn=e=>e.type.__isKeepAlive;function bc(e,t){al(e,"a",t)}function yc(e,t){al(e,"da",t)}function al(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;)Zn(o.parent.vnode)&&wc(r,t,n,o),o=o.parent}}function wc(e,t,n,r){const o=jr(t,e,r,!0);Vr(()=>{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)=>{jt();const l=er(n),a=nt(t,n,e,i);return l(),Vt(),a});return r?o.unshift(s):o.push(s),s}}const wt=e=>(t,n=Ie)=>{(!tr||e==="sp")&&jr(e,(...r)=>t(...r),n)},Sc=wt("bm"),Ge=wt("m"),Cc=wt("bu"),Pc=wt("u"),Uo=wt("bum"),Vr=wt("um"),kc=wt("sp"),Lc=wt("rtg"),Ec=wt("rtc");function xc(e,t=Ie){jr("ec",e,t)}const Ac="components";function Ko(e,t){return Rc(Ac,e,!0,t)||e}const Tc=Symbol.for("v-ndc");function Rc(e,t,n=!0,r=!1){const o=Me||Ie;if(o){const s=o.type;{const l=Cu(s,!1);if(l&&(l===t||l===Qe(t)||l===Jn(Qe(t))))return s}const i=ks(o[e]||s[e],t)||ks(o.appContext[e],t);return!i&&r?s:i}}function ks(e,t){return e&&(e[t]||e[Qe(t)]||e[Jn(Qe(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;lAr(t)?!(t.type===Ve||t.type===be&&!cl(t.children)):!0)?e:null}const yo=e=>e?Al(e)?Wr(e):yo(e.parent):null,In=De(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=>yo(e.parent),$root:e=>yo(e.root),$emit:e=>e.emit,$options:e=>Go(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Nr(e.update)}),$nextTick:e=>e.n||(e.n=wn.bind(e.proxy)),$watch:e=>ru.bind(e)}),to=(e,t)=>e!==Pe&&!e.__isScriptSetup&&ce(e,t),Oc={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(to(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];wo&&(i[t]=0)}}const f=In[t];let u,p;if(f)return t==="$attrs"&&Ke(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 to(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)||to(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 Ls(e){return X(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let wo=!0;function Ic(e){const t=Go(e),n=e.proxy,r=e.ctx;wo=!1,t.beforeCreate&&Es(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:S,deactivated:k,beforeDestroy:R,beforeUnmount:b,destroyed:m,unmounted:w,render:j,renderTracked:I,renderTriggered:G,errorCaptured:Z,serverPrefetch:V,expose:L,inheritAttrs:U,components:T,directives:ee,filters:ve}=t;if(c&&Mc(c,r,null),i)for(const oe in i){const K=i[oe];ne(K)&&(r[oe]=K.bind(n))}if(o){const oe=o.call(n,n);ye(oe)&&(e.data=Yn(oe))}if(wo=!0,s)for(const oe in s){const K=s[oe],rt=ne(K)?K.bind(n,n):ne(K.get)?K.get.bind(n,n):tt,Ct=!ne(K)&&ne(K.set)?K.set.bind(n):tt,ct=A({get:rt,set:Ct});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>ct.value,set:We=>ct.value=We})}if(l)for(const oe in l)ul(l[oe],r,n,oe);if(a){const oe=ne(a)?a.call(n):a;Reflect.ownKeys(oe).forEach(K=>{Xt(K,oe[K])})}f&&Es(f,e,"c");function J(oe,K){X(K)?K.forEach(rt=>oe(rt.bind(n))):K&&oe(K.bind(n))}if(J(Sc,u),J(Ge,p),J(Cc,g),J(Pc,_),J(bc,S),J(yc,k),J(xc,Z),J(Ec,I),J(Lc,G),J(Uo,b),J(Vr,w),J(kc,V),X(L))if(L.length){const oe=e.exposed||(e.exposed={});L.forEach(K=>{Object.defineProperty(oe,K,{get:()=>n[K],set:rt=>n[K]=rt})})}else e.exposed||(e.exposed={});j&&e.render===tt&&(e.render=j),U!=null&&(e.inheritAttrs=U),T&&(e.components=T),ee&&(e.directives=ee)}function Mc(e,t,n=tt){X(e)&&(e=So(e));for(const r in e){const o=e[r];let s;ye(o)?"default"in o?s=Be(o.from||r,o.default,!0):s=Be(o.from||r):s=Be(o),Ne(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[r]=s}}function Es(e,t,n){nt(X(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function ul(e,t,n,r){const o=r.includes(".")?Pl(n,r):()=>n[r];if(Te(e)){const s=t[e];ne(s)&&$e(o,s)}else if(ne(e))$e(o,e.bind(n));else if(ye(e))if(X(e))e.forEach(s=>ul(s,t,n,r));else{const s=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(s)&&$e(o,s,e)}}function Go(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=>Er(a,c,i,!0)),Er(a,t,i)),ye(t)&&s.set(t,a),a}function Er(e,t,n,r=!1){const{mixins:o,extends:s}=t;s&&Er(e,s,n,!0),o&&o.forEach(i=>Er(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Dc[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Dc={data:xs,props:As,emits:As,methods:Tn,computed:Tn,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:Tn,directives:Tn,watch:Nc,provide:xs,inject:$c};function xs(e,t){return t?e?function(){return De(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function $c(e,t){return Tn(So(e),So(t))}function So(e){if(X(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}const dl={},hl=()=>Object.create(dl),pl=e=>Object.getPrototypeOf(e)===dl;function Vc(e,t,n,r=!1){const o={},s=hl();e.propsDefaults=Object.create(null),gl(e,t,o,s);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=r?o:zi(o):e.type.props?e.props=o:e.props=s,e.attrs=s}function Fc(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]=ml(u,t,!0);De(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;f-1,g[1]=S<0||_-1||ce(g,"default"))&&l.push(u)}}}const c=[i,l];return ye(e)&&r.set(e,c),c}function Ts(e){return e[0]!=="$"&&!un(e)}function Rs(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Os(e,t){return Rs(e)===Rs(t)}function Is(e,t){return X(t)?t.findIndex(n=>Os(n,e)):ne(t)&&Os(t,e)?0:-1}const vl=e=>e[0]==="_"||e==="$stable",qo=e=>X(e)?e.map(et):[et(e)],Wc=(e,t,n)=>{if(t._n)return t;const r=xe((...o)=>qo(t(...o)),n);return r._c=!1,r},_l=(e,t,n)=>{const r=e._ctx;for(const o in e){if(vl(o))continue;const s=e[o];if(ne(s))t[o]=Wc(o,s,r);else if(s!=null){const i=qo(s);t[o]=()=>i}}},bl=(e,t)=>{const n=qo(t);e.slots.default=()=>n},yl=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},Uc=(e,t,n)=>{const r=e.slots=hl();if(e.vnode.shapeFlag&32){const o=t._;o?(yl(r,t,n),n&&Ri(r,"_",o,!0)):_l(t,r)}else t&&bl(e,t)},Kc=(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:yl(o,t,n):(s=!t.$stable,_l(t,o)),i=t}else t&&(bl(e,t),i={default:1});if(s)for(const l in o)!vl(l)&&i[l]==null&&delete o[l]};function xr(e,t,n,r,o=!1){if(X(e)){e.forEach((p,g)=>xr(p,t&&(X(t)?t[g]:t),n,r,o));return}if(hn(r)&&!o)return;const s=r.shapeFlag&4?Wr(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)):Ne(c)&&(c.value=null)),ne(a))It(a,l,12,[i,f]);else{const p=Te(a),g=Ne(a);if(p||g){const _=()=>{if(e.f){const S=p?ce(u,a)?u[a]:f[a]:a.value;o?X(S)&&Io(S,s):X(S)?S.includes(s)||S.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,Ue(_,n)):_()}}}const Gc=Symbol("_vte"),qc=e=>e.__isTeleport;let Ms=!1;const sn=()=>{Ms||(console.error("Hydration completed but contains mismatches."),Ms=!0)},zc=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Jc=e=>e.namespaceURI.includes("MathML"),dr=e=>{if(zc(e))return"svg";if(Jc(e))return"mathml"},hr=e=>e.nodeType===8;function Qc(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:s,parentNode:i,remove:l,insert:a,createComment:c}}=e,f=(m,w)=>{if(!w.hasChildNodes()){n(null,m,w),Cr(),w._vnode=m;return}u(w.firstChild,m,null,null,null),Cr(),w._vnode=m},u=(m,w,j,I,G,Z=!1)=>{Z=Z||!!w.dynamicChildren;const V=hr(m)&&m.data==="[",L=()=>S(m,w,j,I,G,V),{type:U,ref:T,shapeFlag:ee,patchFlag:ve}=w;let _e=m.nodeType;w.el=m,ve===-2&&(Z=!1,w.dynamicChildren=null);let J=null;switch(U){case Zt:_e!==3?w.children===""?(a(w.el=o(""),i(m),m),J=m):J=L():(m.data!==w.children&&(sn(),m.data=w.children),J=s(m));break;case Ve:b(m)?(J=s(m),R(w.el=m.content.firstChild,m,j)):_e!==8||V?J=L():J=s(m);break;case Dn:if(V&&(m=s(m),_e=m.nodeType),_e===1||_e===3){J=m;const oe=!w.children.length;for(let K=0;K{Z=Z||!!w.dynamicChildren;const{type:V,props:L,patchFlag:U,shapeFlag:T,dirs:ee,transition:ve}=w,_e=V==="input"||V==="option";if(_e||U!==-1){ee&&ft(w,null,j,"created");let J=!1;if(b(m)){J=wl(I,ve)&&j&&j.vnode.props&&j.vnode.props.appear;const K=m.content.firstChild;J&&ve.beforeEnter(K),R(K,m,j),w.el=m=K}if(T&16&&!(L&&(L.innerHTML||L.textContent))){let K=g(m.firstChild,w,m,j,I,G,Z);for(;K;){sn();const rt=K;K=K.nextSibling,l(rt)}}else T&8&&m.textContent!==w.children&&(sn(),m.textContent=w.children);if(L){if(_e||!Z||U&48)for(const K in L)(_e&&(K.endsWith("value")||K==="indeterminate")||zn(K)&&!un(K)||K[0]===".")&&r(m,K,null,L[K],void 0,j);else if(L.onClick)r(m,"onClick",null,L.onClick,void 0,j);else if(U&4&&fn(L.style))for(const K in L.style)L.style[K]}let oe;(oe=L&&L.onVnodeBeforeMount)&&Ze(oe,j,w),ee&&ft(w,null,j,"beforeMount"),((oe=L&&L.onVnodeMounted)||ee||J)&&Ll(()=>{oe&&Ze(oe,j,w),J&&ve.enter(m),ee&&ft(w,null,j,"mounted")},I)}return m.nextSibling},g=(m,w,j,I,G,Z,V)=>{V=V||!!w.dynamicChildren;const L=w.children,U=L.length;for(let T=0;T{const{slotScopeIds:V}=w;V&&(G=G?G.concat(V):V);const L=i(m),U=g(s(m),w,L,j,I,G,Z);return U&&hr(U)&&U.data==="]"?s(w.anchor=U):(sn(),a(w.anchor=c("]"),L,U),U)},S=(m,w,j,I,G,Z)=>{if(sn(),w.el=null,Z){const U=k(m);for(;;){const T=s(m);if(T&&T!==U)l(T);else break}}const V=s(m),L=i(m);return l(m),n(null,w,L,V,j,I,dr(L),G),V},k=(m,w="[",j="]")=>{let I=0;for(;m;)if(m=s(m),m&&hr(m)&&(m.data===w&&I++,m.data===j)){if(I===0)return s(m);I--}return m},R=(m,w,j)=>{const I=w.parentNode;I&&I.replaceChild(m,w);let G=j;for(;G;)G.vnode.el===w&&(G.vnode.el=G.subTree.el=m),G=G.parent},b=m=>m.nodeType===1&&m.tagName.toLowerCase()==="template";return[f,u]}const Ue=Ll;function Yc(e){return Xc(e,Qc)}function Xc(e,t){const n=Oi();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=tt,insertStaticContent:_}=e,S=(d,h,v,P=null,y=null,x=null,N=void 0,M=null,D=!!h.dynamicChildren)=>{if(d===h)return;d&&!qt(d,h)&&(P=C(d),We(d,y,x,!0),d=null),h.patchFlag===-2&&(D=!1,h.dynamicChildren=null);const{type:E,ref:B,shapeFlag:Q}=h;switch(E){case Zt:k(d,h,v,P);break;case Ve:R(d,h,v,P);break;case Dn:d==null&&b(h,v,P,N);break;case be:T(d,h,v,P,y,x,N,M,D);break;default:Q&1?j(d,h,v,P,y,x,N,M,D):Q&6?ee(d,h,v,P,y,x,N,M,D):(Q&64||Q&128)&&E.process(d,h,v,P,y,x,N,M,D,q)}B!=null&&y&&xr(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 y=h.el=d.el;h.children!==d.children&&c(y,h.children)}},R=(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 y;for(;d&&d!==h;)y=p(d),r(d,v,P),d=y;r(h,v,P)},w=({el:d,anchor:h})=>{let v;for(;d&&d!==h;)v=p(d),o(d),d=v;o(h)},j=(d,h,v,P,y,x,N,M,D)=>{h.type==="svg"?N="svg":h.type==="math"&&(N="mathml"),d==null?I(h,v,P,y,x,N,M,D):V(d,h,y,x,N,M,D)},I=(d,h,v,P,y,x,N,M)=>{let D,E;const{props:B,shapeFlag:Q,transition:z,dirs:re}=d;if(D=d.el=i(d.type,x,B&&B.is,B),Q&8?f(D,d.children):Q&16&&Z(d.children,D,null,P,y,no(d,x),N,M),re&&ft(d,null,P,"created"),G(D,d,d.scopeId,N,P),B){for(const Se in B)Se!=="value"&&!un(Se)&&s(D,Se,null,B[Se],x,P);"value"in B&&s(D,"value",null,B.value,x),(E=B.onVnodeBeforeMount)&&Ze(E,P,d)}re&&ft(d,null,P,"beforeMount");const se=wl(y,z);se&&z.beforeEnter(D),r(D,h,v),((E=B&&B.onVnodeMounted)||se||re)&&Ue(()=>{E&&Ze(E,P,d),se&&z.enter(D),re&&ft(d,null,P,"mounted")},y)},G=(d,h,v,P,y)=>{if(v&&g(d,v),P)for(let x=0;x{for(let E=D;E{const M=h.el=d.el;let{patchFlag:D,dynamicChildren:E,dirs:B}=h;D|=d.patchFlag&16;const Q=d.props||Pe,z=h.props||Pe;let re;if(v&&Bt(v,!1),(re=z.onVnodeBeforeUpdate)&&Ze(re,v,h,d),B&&ft(h,d,v,"beforeUpdate"),v&&Bt(v,!0),(Q.innerHTML&&z.innerHTML==null||Q.textContent&&z.textContent==null)&&f(M,""),E?L(d.dynamicChildren,E,M,v,P,no(h,y),x):N||K(d,h,M,null,v,P,no(h,y),x,!1),D>0){if(D&16)U(M,Q,z,v,y);else if(D&2&&Q.class!==z.class&&s(M,"class",null,z.class,y),D&4&&s(M,"style",Q.style,z.style,y),D&8){const se=h.dynamicProps;for(let Se=0;Se{re&&Ze(re,v,h,d),B&&ft(h,d,v,"updated")},P)},L=(d,h,v,P,y,x,N)=>{for(let M=0;M{if(h!==v){if(h!==Pe)for(const x in h)!un(x)&&!(x in v)&&s(d,x,h[x],null,y,P);for(const x in v){if(un(x))continue;const N=v[x],M=h[x];N!==M&&x!=="value"&&s(d,x,M,N,y,P)}"value"in v&&s(d,"value",h.value,v.value,y)}},T=(d,h,v,P,y,x,N,M,D)=>{const E=h.el=d?d.el:l(""),B=h.anchor=d?d.anchor:l("");let{patchFlag:Q,dynamicChildren:z,slotScopeIds:re}=h;re&&(M=M?M.concat(re):re),d==null?(r(E,v,P),r(B,v,P),Z(h.children||[],v,B,y,x,N,M,D)):Q>0&&Q&64&&z&&d.dynamicChildren?(L(d.dynamicChildren,z,v,y,x,N,M),(h.key!=null||y&&h===y.subTree)&&Sl(d,h,!0)):K(d,h,v,B,y,x,N,M,D)},ee=(d,h,v,P,y,x,N,M,D)=>{h.slotScopeIds=M,d==null?h.shapeFlag&512?y.ctx.activate(h,v,P,N,D):ve(h,v,P,y,x,N,D):_e(d,h,D)},ve=(d,h,v,P,y,x,N)=>{const M=d.component=_u(d,P,y);if(Zn(d)&&(M.ctx.renderer=q),bu(M,!1,N),M.asyncDep){if(y&&y.registerDep(M,J,N),!d.el){const D=M.subTree=te(Ve);R(null,D,h,v)}}else J(M,d,h,v,y,x,N)},_e=(d,h,v)=>{const P=h.component=d.component;if(au(d,h,v))if(P.asyncDep&&!P.asyncResolved){oe(P,h,v);return}else P.next=h,uc(P.update),P.effect.dirty=!0,P.update();else h.el=d.el,P.vnode=h},J=(d,h,v,P,y,x,N)=>{const M=()=>{if(d.isMounted){let{next:B,bu:Q,u:z,parent:re,vnode:se}=d;{const on=Cl(d);if(on){B&&(B.el=se.el,oe(d,B,N)),on.asyncDep.then(()=>{d.isUnmounted||M()});return}}let Se=B,ge;Bt(d,!1),B?(B.el=se.el,oe(d,B,N)):B=se,Q&&Yr(Q),(ge=B.props&&B.props.onVnodeBeforeUpdate)&&Ze(ge,re,B,se),Bt(d,!0);const Oe=ro(d),ot=d.subTree;d.subTree=Oe,S(ot,Oe,u(ot.el),C(ot),d,y,x),B.el=Oe.el,Se===null&&cu(d,Oe.el),z&&Ue(z,y),(ge=B.props&&B.props.onVnodeUpdated)&&Ue(()=>Ze(ge,re,B,se),y)}else{let B;const{el:Q,props:z}=h,{bm:re,m:se,parent:Se}=d,ge=hn(h);if(Bt(d,!1),re&&Yr(re),!ge&&(B=z&&z.onVnodeBeforeMount)&&Ze(B,Se,h),Bt(d,!0),Q&&Ce){const Oe=()=>{d.subTree=ro(d),Ce(Q,d.subTree,d,y,null)};ge?h.type.__asyncLoader().then(()=>!d.isUnmounted&&Oe()):Oe()}else{const Oe=d.subTree=ro(d);S(null,Oe,v,P,d,y,x),h.el=Oe.el}if(se&&Ue(se,y),!ge&&(B=z&&z.onVnodeMounted)){const Oe=h;Ue(()=>Ze(B,Se,Oe),y)}(h.shapeFlag&256||Se&&hn(Se.vnode)&&Se.vnode.shapeFlag&256)&&d.a&&Ue(d.a,y),d.isMounted=!0,h=v=P=null}},D=d.effect=new Do(M,tt,()=>Nr(E),d.scope),E=d.update=()=>{D.dirty&&D.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,Fc(d,h.props,P,v),Kc(d,h.children,v),jt(),Cs(d),Vt()},K=(d,h,v,P,y,x,N,M,D=!1)=>{const E=d&&d.children,B=d?d.shapeFlag:0,Q=h.children,{patchFlag:z,shapeFlag:re}=h;if(z>0){if(z&128){Ct(E,Q,v,P,y,x,N,M,D);return}else if(z&256){rt(E,Q,v,P,y,x,N,M,D);return}}re&8?(B&16&&Ye(E,y,x),Q!==E&&f(v,Q)):B&16?re&16?Ct(E,Q,v,P,y,x,N,M,D):Ye(E,y,x,!0):(B&8&&f(v,""),re&16&&Z(Q,v,P,y,x,N,M,D))},rt=(d,h,v,P,y,x,N,M,D)=>{d=d||an,h=h||an;const E=d.length,B=h.length,Q=Math.min(E,B);let z;for(z=0;zB?Ye(d,y,x,!0,!1,Q):Z(h,v,P,y,x,N,M,D,Q)},Ct=(d,h,v,P,y,x,N,M,D)=>{let E=0;const B=h.length;let Q=d.length-1,z=B-1;for(;E<=Q&&E<=z;){const re=d[E],se=h[E]=D?At(h[E]):et(h[E]);if(qt(re,se))S(re,se,v,null,y,x,N,M,D);else break;E++}for(;E<=Q&&E<=z;){const re=d[Q],se=h[z]=D?At(h[z]):et(h[z]);if(qt(re,se))S(re,se,v,null,y,x,N,M,D);else break;Q--,z--}if(E>Q){if(E<=z){const re=z+1,se=rez)for(;E<=Q;)We(d[E],y,x,!0),E++;else{const re=E,se=E,Se=new Map;for(E=se;E<=z;E++){const qe=h[E]=D?At(h[E]):et(h[E]);qe.key!=null&&Se.set(qe.key,E)}let ge,Oe=0;const ot=z-se+1;let on=!1,ds=0;const Pn=new Array(ot);for(E=0;E=ot){We(qe,y,x,!0);continue}let ut;if(qe.key!=null)ut=Se.get(qe.key);else for(ge=se;ge<=z;ge++)if(Pn[ge-se]===0&&qt(qe,h[ge])){ut=ge;break}ut===void 0?We(qe,y,x,!0):(Pn[ut-se]=E+1,ut>=ds?ds=ut:on=!0,S(qe,h[ut],v,null,y,x,N,M,D),Oe++)}const hs=on?Zc(Pn):an;for(ge=hs.length-1,E=ot-1;E>=0;E--){const qe=se+E,ut=h[qe],ps=qe+1{const{el:x,type:N,transition:M,children:D,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,q);return}if(N===be){r(x,h,v);for(let Q=0;QM.enter(x),y);else{const{leave:Q,delayLeave:z,afterLeave:re}=M,se=()=>r(x,h,v),Se=()=>{Q(x,()=>{se(),re&&re()})};z?z(x,se,Se):Se()}else r(x,h,v)},We=(d,h,v,P=!1,y=!1)=>{const{type:x,props:N,ref:M,children:D,dynamicChildren:E,shapeFlag:B,patchFlag:Q,dirs:z,cacheIndex:re}=d;if(Q===-2&&(y=!1),M!=null&&xr(M,null,v,d,!0),re!=null&&(h.renderCache[re]=void 0),B&256){h.ctx.deactivate(d);return}const se=B&1&&z,Se=!hn(d);let ge;if(Se&&(ge=N&&N.onVnodeBeforeUnmount)&&Ze(ge,h,d),B&6)sr(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,q,P):E&&!E.hasOnce&&(x!==be||Q>0&&Q&64)?Ye(E,h,v,!1,!0):(x===be&&Q&384||!y&&B&16)&&Ye(D,h,v),P&&nn(d)}(Se&&(ge=N&&N.onVnodeUnmounted)||se)&&Ue(()=>{ge&&Ze(ge,h,d),se&&ft(d,null,h,"unmounted")},v)},nn=d=>{const{type:h,el:v,anchor:P,transition:y}=d;if(h===be){rn(v,P);return}if(h===Dn){w(d);return}const x=()=>{o(v),y&&!y.persisted&&y.afterLeave&&y.afterLeave()};if(d.shapeFlag&1&&y&&!y.persisted){const{leave:N,delayLeave:M}=y,D=()=>N(v,x);M?M(d.el,x,D):D()}else x()},rn=(d,h)=>{let v;for(;d!==h;)v=p(d),o(d),d=v;o(h)},sr=(d,h,v)=>{const{bum:P,scope:y,update:x,subTree:N,um:M,m:D,a:E}=d;Ds(D),Ds(E),P&&Yr(P),y.stop(),x&&(x.active=!1,We(N,d,h,v)),M&&Ue(M,h),Ue(()=>{d.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},Ye=(d,h,v,P=!1,y=!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[Gc];return v?p(v):h};let F=!1;const H=(d,h,v)=>{d==null?h._vnode&&We(h._vnode,null,null,!0):S(h._vnode||null,d,h,null,null,null,v),F||(F=!0,Cs(),Cr(),F=!1),h._vnode=d},q={p:S,um:We,m:ct,r:nn,mt:ve,mc:Z,pc:K,pbc:L,n:C,o:e};let pe,Ce;return t&&([pe,Ce]=t(q)),{render:H,hydrate:pe,createApp:jc(H,pe)}}function no({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 wl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Sl(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 Cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Cl(t)}function Ds(e){if(e)for(let t=0;tBe(eu);function nu(e,t){return zo(e,null,t)}const pr={};function $e(e,t,n){return zo(e,t,n)}function zo(e,t,{immediate:n,deep:r,flush:o,once:s,onTrack:i,onTrigger:l}=Pe){if(t&&s){const I=t;t=(...G)=>{I(...G),j()}}const a=Ie,c=I=>r===!0?I:Rt(I,r===!1?1:void 0);let f,u=!1,p=!1;if(Ne(e)?(f=()=>e.value,u=mn(e)):fn(e)?(f=()=>c(e),u=!0):X(e)?(p=!0,u=e.some(I=>fn(I)||mn(I)),f=()=>e.map(I=>{if(Ne(I))return I.value;if(fn(I))return c(I);if(ne(I))return It(I,a,2)})):ne(e)?t?f=()=>It(e,a,2):f=()=>(g&&g(),nt(e,a,3,[_])):f=tt,t&&r){const I=f;f=()=>Rt(I())}let g,_=I=>{g=m.onStop=()=>{It(I,a,4),g=m.onStop=void 0}},S;if(tr)if(_=tt,t?n&&nt(t,a,3,[f(),p?[]:void 0,_]):f(),o==="sync"){const I=tu();S=I.__watcherHandles||(I.__watcherHandles=[])}else return tt;let k=p?new Array(e.length).fill(pr):pr;const R=()=>{if(!(!m.active||!m.dirty))if(t){const I=m.run();(r||u||(p?I.some((G,Z)=>Mt(G,k[Z])):Mt(I,k)))&&(g&&g(),nt(t,a,3,[I,k===pr?void 0:p&&k[0]===pr?[]:k,_]),k=I)}else m.run()};R.allowRecurse=!!t;let b;o==="sync"?b=R:o==="post"?b=()=>Ue(R,a&&a.suspense):(R.pre=!0,a&&(R.id=a.uid),b=()=>Nr(R));const m=new Do(f,tt,b),w=$i(),j=()=>{m.stop(),w&&Io(w.effects,m)};return t?n?R():k=m.run():o==="post"?Ue(m.run.bind(m),a&&a.suspense):m.run(),S&&S.push(j),j}function ru(e,t,n){const r=this.proxy,o=Te(e)?e.includes(".")?Pl(r,e):()=>r[e]:e.bind(r,r);let s;ne(t)?s=t:(s=t.handler,n=t);const i=er(this),l=zo(o,s.bind(r),n);return i(),l}function Pl(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{Rt(r,t,n)});else if(Ti(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 ou=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Qe(t)}Modifiers`]||e[`${Ht(t)}Modifiers`];function su(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Pe;let o=n;const s=t.startsWith("update:"),i=s&&ou(r,t.slice(7));i&&(i.trim&&(o=n.map(f=>Te(f)?f.trim():f)),i.number&&(o=n.map(Sa)));let l,a=r[l=Qr(t)]||r[l=Qr(Qe(t))];!a&&s&&(a=r[l=Qr(Ht(t))]),a&&nt(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,nt(c,e,6,o)}}function kl(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=kl(c,t,!0);f&&(l=!0,De(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):De(i,s),ye(e)&&r.set(e,i),i)}function Fr(e,t){return!e||!zn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Ht(t))||ce(e,t))}function ro(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:S}=e,k=Pr(e);let R,b;try{if(n.shapeFlag&4){const w=o||r,j=w;R=et(c.call(j,w,f,u,g,p,_)),b=l}else{const w=t;R=et(w.length>1?w(u,{attrs:l,slots:i,emit:a}):w(u,null)),b=t.props?l:iu(l)}}catch(w){$n.length=0,Xn(w,e,1),R=te(Ve)}let m=R;if(b&&S!==!1){const w=Object.keys(b),{shapeFlag:j}=m;w.length&&j&7&&(s&&w.some(Oo)&&(b=lu(b,s)),m=Dt(m,b,!1,!0))}return n.dirs&&(m=Dt(m,null,!1,!0),m.dirs=m.dirs?m.dirs.concat(n.dirs):n.dirs),n.transition&&(m.transition=n.transition),R=m,Pr(k),R}const iu=e=>{let t;for(const n in e)(n==="class"||n==="style"||zn(n))&&((t||(t={}))[n]=e[n]);return t},lu=(e,t)=>{const n={};for(const r in e)(!Oo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function au(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?$s(r,i,c):!!i;if(a&8){const f=t.dynamicProps;for(let u=0;ue.__isSuspense;function Ll(e,t){t&&t.pendingBranch?X(e)?t.effects.push(...e):t.effects.push(e):fc(e)}const be=Symbol.for("v-fgt"),Zt=Symbol.for("v-txt"),Ve=Symbol.for("v-cmt"),Dn=Symbol.for("v-stc"),$n=[];let Je=null;function $(e=!1){$n.push(Je=e?null:[])}function fu(){$n.pop(),Je=$n[$n.length-1]||null}let Bn=1;function Ns(e){Bn+=e,e<0&&Je&&(Je.hasOnce=!0)}function El(e){return e.dynamicChildren=Bn>0?Je||an:null,fu(),Bn>0&&Je&&Je.push(e),e}function Y(e,t,n,r,o,s){return El(W(e,t,n,r,o,s,!0))}function Ee(e,t,n,r,o){return El(te(e,t,n,r,o,!0))}function Ar(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const xl=({key:e})=>e??null,br=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Te(e)||Ne(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&&xl(t),ref:t&&br(t),scopeId:Hr,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?(Jo(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=Te(n)?8:16),Bn>0&&!i&&Je&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&Je.push(a),a}const te=du;function du(e,t=null,n=null,r=0,o=null,s=!1){if((!e||e===Tc)&&(e=Ve),Ar(e)){const l=Dt(e,t,!0);return n&&Jo(l,n),Bn>0&&!s&&Je&&(l.shapeFlag&6?Je[Je.indexOf(e)]=l:Je.push(l)),l.patchFlag=-2,l}if(Pu(e)&&(e=e.__vccOpts),t){t=hu(t);let{class:l,style:a}=t;l&&!Te(l)&&(t.class=Fe(l)),ye(a)&&(Ji(a)&&!X(a)&&(a=De({},a)),t.style=Qn(a))}const i=Te(e)?1:uu(e)?128:qc(e)?64:ye(e)?4:ne(e)?2:0;return W(e,t,n,r,o,i,s,!0)}function hu(e){return e?Ji(e)||pl(e)?De({},e):e:null}function Dt(e,t,n=!1,r=!1){const{props:o,ref:s,patchFlag:i,children:l,transition:a}=e,c=t?gu(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&xl(c),ref:t&&t.ref?n&&s?X(s)?s.concat(br(t)):[s,br(t)]:br(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&&Dt(e.ssContent),ssFallback:e.ssFallback&&Dt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&r&&Lr(f,a.clone(f)),f}function $t(e=" ",t=0){return te(Zt,null,e,t)}function pu(e,t){const n=te(Dn,null,e);return n.staticCount=t,n}function Ae(e="",t=!1){return t?($(),Ee(Ve,null,e)):te(Ve,null,e)}function et(e){return e==null||typeof e=="boolean"?te(Ve):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:Dt(e)}function Jo(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),Jo(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!pl(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 gu(...e){const t={};for(let n=0;nIe||Me;let Tr,Po;{const e=Oi(),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)}};Tr=t("__VUE_INSTANCE_SETTERS__",n=>Ie=n),Po=t("__VUE_SSR_SETTERS__",n=>tr=n)}const er=e=>{const t=Ie;return Tr(e),e.scope.on(),()=>{e.scope.off(),Tr(t)}},Hs=()=>{Ie&&Ie.scope.off(),Tr(null)};function Al(e){return e.vnode.shapeFlag&4}let tr=!1;function bu(e,t=!1,n=!1){t&&Po(t);const{props:r,children:o}=e.vnode,s=Al(e);Vc(e,r,s,t),Uc(e,o,n);const i=s?yu(e,t):void 0;return t&&Po(!1),i}function yu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Oc);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?Su(e):null,s=er(e);jt();const i=It(r,e,0,[e.props,o]);if(Vt(),s(),xi(i)){if(i.then(Hs,Hs),t)return i.then(l=>{js(e,l,t)}).catch(l=>{Xn(l,e,0)});e.asyncDep=i}else js(e,i,t)}else Tl(e,t)}function js(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ye(t)&&(e.setupState=Xi(t)),Tl(e,n)}let Vs;function Tl(e,t,n){const r=e.type;if(!e.render){if(!t&&Vs&&!r.render){const o=r.template||Go(e).template;if(o){const{isCustomElement:s,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,c=De(De({isCustomElement:s,delimiters:l},i),a);r.render=Vs(o,c)}}e.render=r.render||tt}{const o=er(e);jt();try{Ic(e)}finally{Vt(),o()}}}const wu={get(e,t){return Ke(e,"get",""),e[t]}};function Su(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,wu),slots:e.slots,emit:e.emit,expose:t}}function Wr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xi(Za(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 Cu(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function Pu(e){return ne(e)&&"__vccOpts"in e}const A=(e,t)=>ec(e,t,tr);function ke(e,t,n){const r=arguments.length;return r===2?ye(t)&&!X(t)?Ar(t)?te(e,null,[t]):te(e,t):te(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ar(n)&&(n=[n]),te(e,t,n))}const ku="3.4.33";/** -* @vue/runtime-dom v3.4.33 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const Lu="http://www.w3.org/2000/svg",Eu="http://www.w3.org/1998/Math/MathML",vt=typeof document<"u"?document:null,Fs=vt&&vt.createElement("template"),xu={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(Lu,e):t==="mathml"?vt.createElementNS(Eu,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{Fs.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=Fs.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",Wn=Symbol("_vtc"),nr=(e,{slots:t})=>ke(vc,Au(e),t);nr.displayName="Transition";const Rl={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};nr.props=De({},ol,Rl);const Wt=(e,t=[])=>{X(e)?e.forEach(n=>n(...t)):e&&e(...t)},Bs=e=>e?X(e)?e.some(t=>t.length>1):e.length>1:!1;function Au(e){const t={};for(const T in e)T in Rl||(t[T]=e[T]);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,_=Tu(o),S=_&&_[0],k=_&&_[1],{onBeforeEnter:R,onEnter:b,onEnterCancelled:m,onLeave:w,onLeaveCancelled:j,onBeforeAppear:I=R,onAppear:G=b,onAppearCancelled:Z=m}=t,V=(T,ee,ve)=>{Ut(T,ee?f:l),Ut(T,ee?c:i),ve&&ve()},L=(T,ee)=>{T._isLeaving=!1,Ut(T,u),Ut(T,g),Ut(T,p),ee&&ee()},U=T=>(ee,ve)=>{const _e=T?G:b,J=()=>V(ee,T,ve);Wt(_e,[ee,J]),Ws(()=>{Ut(ee,T?a:s),Lt(ee,T?f:l),Bs(_e)||Us(ee,r,S,J)})};return De(t,{onBeforeEnter(T){Wt(R,[T]),Lt(T,s),Lt(T,i)},onBeforeAppear(T){Wt(I,[T]),Lt(T,a),Lt(T,c)},onEnter:U(!1),onAppear:U(!0),onLeave(T,ee){T._isLeaving=!0;const ve=()=>L(T,ee);Lt(T,u),Lt(T,p),Iu(),Ws(()=>{T._isLeaving&&(Ut(T,u),Lt(T,g),Bs(w)||Us(T,r,k,ve))}),Wt(w,[T,ve])},onEnterCancelled(T){V(T,!1),Wt(m,[T])},onAppearCancelled(T){V(T,!0),Wt(Z,[T])},onLeaveCancelled(T){L(T),Wt(j,[T])}})}function Tu(e){if(e==null)return null;if(ye(e))return[oo(e.enter),oo(e.leave)];{const t=oo(e);return[t,t]}}function oo(e){return Ca(e)}function Lt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Wn]||(e[Wn]=new Set)).add(t)}function Ut(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Wn];n&&(n.delete(t),n.size||(e[Wn]=void 0))}function Ws(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Ru=0;function Us(e,t,n,r){const o=e._endId=++Ru,s=()=>{o===e._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:a}=Ou(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=Ks(o,s),l=r(`${kn}Delay`),a=r(`${kn}Duration`),c=Ks(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 Ks(e,t){for(;e.lengthGs(n)+Gs(e[r])))}function Gs(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Iu(){return document.body.offsetHeight}function Mu(e,t,n){const r=e[Wn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Rr=Symbol("_vod"),Ol=Symbol("_vsh"),Or={beforeMount(e,{value:t},{transition:n}){e[Rr]=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[Rr]:"none",e[Ol]=!t}const Du=Symbol(""),$u=/(^|;)\s*display\s*:/;function Nu(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&&yr(r,l,"")}else for(const i in t)n[i]==null&&yr(r,i,"");for(const i in n)i==="display"&&(s=!0),yr(r,i,n[i])}else if(o){if(t!==n){const i=r[Du];i&&(n+=";"+i),r.cssText=n,s=$u.test(n)}}else t&&e.removeAttribute("style");Rr in e&&(e[Rr]=s?r.display:"",e[Ol]&&(r.display="none"))}const qs=/\s*!important$/;function yr(e,t,n){if(X(n))n.forEach(r=>yr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Hu(e,t);qs.test(n)?e.setProperty(Ht(r),n.replace(qs,""),"important"):e[r]=n}}const zs=["Webkit","Moz","ms"],so={};function Hu(e,t){const n=so[t];if(n)return n;let r=Qe(t);if(r!=="filter"&&r in e)return so[t]=r;r=Jn(r);for(let o=0;oio||(Uu.then(()=>io=0),io=Date.now());function Gu(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;nt(qu(r,n.value),t,5,[r])};return n.value=e,n.attached=Ku(),n}function qu(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 Zs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,zu=(e,t,n,r,o,s)=>{const i=o==="svg";t==="class"?Mu(e,r,i):t==="style"?Nu(e,n,r):zn(t)?Oo(t)||Bu(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ju(e,t,r,i))?(ju(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Qs(e,t,r,i,s,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Qs(e,t,r,i))};function Ju(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Zs(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 Zs(t)&&Te(n)?!1:t in e}const Qu={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Yu=(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||Qu[i]===s))return e(o)})},Xu=De({patchProp:zu},xu);let lo,ei=!1;function Zu(){return lo=ei?lo:Yc(Xu),ei=!0,lo}const ef=(...e)=>{const t=Zu().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=nf(r);if(o)return n(o,!0,tf(o))},t};function tf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function nf(e){return Te(e)?document.querySelector(e):e}var rr=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),rf=/.md((\?|#).*)?$/,of=(e,t="/")=>rr(e)||e.startsWith("/")&&!e.startsWith(t)&&!rf.test(e),Ur=e=>/^(https?:)?\/\//.test(e),ti=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},sf="http://.",lf=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return ti(new URL(`${n}/${e}`,sf).pathname)}return ti(e)},af=(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"/"},cf=/(#|\?)/,Il=e=>{const[t,...n]=e.split(cf);return{pathname:t,hashAndQueries:n.join("")}},uf=["link","meta","script","style","noscript","template"],ff=["title","base"],df=([e,t,n])=>ff.includes(e)?e:uf.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,hf=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=df(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},pf=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Ml=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Dl=e=>e[0]==="/"?e.slice(1):e,Qo=e=>Object.prototype.toString.call(e)==="[object Object]",st=e=>typeof e=="string";const gf="modulepreload",mf=function(e){return"/"+e},ni={},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=mf(s),s in ni)return;ni[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":gf,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})},vf=JSON.parse("{}"),_f=Object.fromEntries([["/",{loader:()=>En(()=>import("./index.html-Dey18qa3.js"),__vite__mapDeps([])),meta:{title:"Резюме"}}],["/works.html",{loader:()=>En(()=>import("./works.html-D_1XWu_F.js"),__vite__mapDeps([])),meta:{title:"Работы"}}],["/eng/",{loader:()=>En(()=>import("./index.html-CFkWDF7K.js"),__vite__mapDeps([])),meta:{title:"Resume"}}],["/eng/works.html",{loader:()=>En(()=>import("./works.html-D_SQDS1j.js"),__vite__mapDeps([])),meta:{title:"Works"}}],["/404.html",{loader:()=>En(()=>import("./404.html-BY7PcDFN.js"),__vite__mapDeps([])),meta:{title:""}}]]);/*! - * vue-router v4.4.0 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */const ln=typeof document<"u";function bf(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const me=Object.assign;function ao(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 Nn=()=>{},it=Array.isArray,$l=/#/g,yf=/&/g,wf=/\//g,Sf=/=/g,Cf=/\?/g,Nl=/\+/g,Pf=/%5B/g,kf=/%5D/g,Hl=/%5E/g,Lf=/%60/g,jl=/%7B/g,Ef=/%7C/g,Vl=/%7D/g,xf=/%20/g;function Yo(e){return encodeURI(""+e).replace(Ef,"|").replace(Pf,"[").replace(kf,"]")}function Af(e){return Yo(e).replace(jl,"{").replace(Vl,"}").replace(Hl,"^")}function ko(e){return Yo(e).replace(Nl,"%2B").replace(xf,"+").replace($l,"%23").replace(yf,"%26").replace(Lf,"`").replace(jl,"{").replace(Vl,"}").replace(Hl,"^")}function Tf(e){return ko(e).replace(Sf,"%3D")}function Rf(e){return Yo(e).replace($l,"%23").replace(Cf,"%3F")}function Of(e){return e==null?"":Rf(e).replace(wf,"%2F")}function Un(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const If=/\/$/,Mf=e=>e.replace(If,"");function co(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=Hf(r??t,n),{fullPath:r+(s&&"?")+s+i,path:r,query:o,hash:Un(i)}}function Df(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ri(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function $f(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])&&Fl(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 Fl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Nf(e[n],t[n]))return!1;return!0}function Nf(e,t){return it(e)?oi(e,t):it(t)?oi(t,e):e===t}function oi(e,t){return it(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Hf(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 Kn;(function(e){e.pop="pop",e.push="push"})(Kn||(Kn={}));var Hn;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Hn||(Hn={}));function jf(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),Mf(e)}const Vf=/^[^#]+#/;function Ff(e,t){return e.replace(Vf,"#")+t}function Bf(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 Kr=()=>({left:window.scrollX,top:window.scrollY});function Wf(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=Bf(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 si(e,t){return(history.state?history.state.position-t:-1)+e}const Lo=new Map;function Uf(e,t){Lo.set(e,t)}function Kf(e){const t=Lo.get(e);return Lo.delete(e),t}let Gf=()=>location.protocol+"//"+location.host;function Bl(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),ri(a,"")}return ri(n,e)+r+o}function qf(e,t,n,r){let o=[],s=[],i=null;const l=({state:p})=>{const g=Bl(e,location),_=n.value,S=t.value;let k=0;if(p){if(n.value=g,t.value=p,i&&i===_){i=null;return}k=S?p.position-S.position:0}else r(g);o.forEach(R=>{R(n.value,_,{delta:k,type:Kn.pop,direction:k?k>0?Hn.forward:Hn.back:Hn.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:Kr()}),"")}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 ii(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?Kr():null}}function zf(e){const{history:t,location:n}=window,r={value:Bl(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:Gf()+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,ii(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:Kr()});s(f.current,f,!0);const u=me({},ii(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 Jf(e){e=jf(e);const t=zf(e),n=qf(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:Ff.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 Qf(e){return typeof e=="string"||e&&typeof e=="object"}function Wl(e){return typeof e=="string"||typeof e=="symbol"}const Ul=Symbol("");var li;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(li||(li={}));function _n(e,t){return me(new Error,{type:e,[Ul]:!0},t)}function gt(e,t){return e instanceof Error&&Ul in e&&(t==null||!!(e.type&t))}const ai="[^/]+?",Yf={sensitive:!1,strict:!1,start:!0,end:!0},Xf=/[.+*?^${}()[\]/\\]/g;function Zf(e,t){const n=me({},Yf,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 Kl(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const td={type:0,value:""},nd=/[a-zA-Z0-9_]/;function rd(e){if(!e)return[[]];if(e==="/")return[[td]];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)}:Nn}function i(u){if(Wl(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=cd(u,n);n.splice(p,0,u),u.record.name&&!fi(u)&&r.set(u.record.name,u)}function c(u,p){let g,_={},S,k;if("name"in u&&u.name){if(g=r.get(u.name),!g)throw _n(1,{location:u});k=g.record.name,_=me(ui(p.params,g.keys.filter(m=>!m.optional).concat(g.parent?g.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),u.params&&ui(u.params,g.keys.map(m=>m.name))),S=g.stringify(_)}else if(u.path!=null)S=u.path,g=n.find(m=>m.re.test(S)),g&&(_=g.parse(S),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),S=g.stringify(_)}const R=[];let b=g;for(;b;)R.unshift(b.record),b=b.parent;return{name:k,path:S,params:_,matched:R,meta:ad(R)}}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 ui(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function id(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:ld(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 ld(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 fi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ad(e){return e.reduce((t,n)=>me(t,n.meta),{})}function di(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function cd(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;Kl(e,t[s])<0?r=s:n=s+1}const o=ud(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function ud(e){let t=e;for(;t=t.parent;)if(Gl(t)&&Kl(e,t)===0)return t}function Gl({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fd(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;os&&ko(s)):[r&&ko(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function dd(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 hd=Symbol(""),pi=Symbol(""),Gr=Symbol(""),Xo=Symbol(""),Eo=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):Qf(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 uo(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(pd(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=bf(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 pd(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function gi(e){const t=Be(Gr),n=Be(Xo),r=A(()=>{const a=Yt(e.to);return t.resolve(a)}),o=A(()=>{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=mi(a[c-2]);return c>1&&mi(f)===g&&u[u.length-1].path!==g?u.findIndex(vn.bind(null,a[c-2])):p}),s=A(()=>o.value>-1&&_d(n.params,r.value.params)),i=A(()=>o.value>-1&&o.value===n.matched.length-1&&Fl(n.params,r.value.params));function l(a={}){return vd(a)?t[Yt(e.replace)?"replace":"push"](Yt(e.to)).catch(Nn):Promise.resolve()}return{route:r,href:A(()=>r.value.href),isActive:s,isExactActive:i,navigate:l}}const gd=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:gi,setup(e,{slots:t}){const n=Yn(gi(e)),{options:r}=Be(Gr),o=A(()=>({[vi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[vi(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)}}}),md=gd;function vd(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 _d(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 mi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const vi=(e,t,n)=>e??t??n,bd=he({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Be(Eo),o=A(()=>e.route||r.value),s=Be(pi,0),i=A(()=>{let c=Yt(s);const{matched:f}=o.value;let u;for(;(u=f[c])&&!u.components;)c++;return c}),l=A(()=>o.value.matched[i.value]);Xt(pi,A(()=>i.value+1)),Xt(hd,l),Xt(Eo,o);const a=ue();return $e(()=>[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(S=>S(c))},{flush:"post"}),()=>{const c=o.value,f=e.name,u=l.value,p=u&&u.components[f];if(!p)return _i(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:R=>{R.component.isUnmounted&&(u.instances[f]=null)},ref:a}));return _i(n.default,{Component:k,route:c})||k}}});function _i(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const yd=bd;function wd(e){const t=sd(e.routes,e),n=e.parseQuery||fd,r=e.stringifyQuery||hi,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=ao.bind(null,C=>""+C),u=ao.bind(null,Of),p=ao.bind(null,Un);function g(C,F){let H,q;return Wl(C)?(H=t.getRecordMatcher(C),q=F):q=C,t.addRoute(q,H)}function _(C){const F=t.getRecordMatcher(C);F&&t.removeRoute(F)}function S(){return t.getRoutes().map(C=>C.record)}function k(C){return!!t.getRecordMatcher(C)}function R(C,F){if(F=me({},F||a.value),typeof C=="string"){const h=co(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:Un(h.hash),redirectedFrom:void 0,href:P})}let H;if(C.path!=null)H=me({},C,{path:co(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 q=t.resolve(H,F),pe=C.hash||"";q.params=f(p(q.params));const Ce=Df(r,me({},C,{hash:Af(pe),path:q.path})),d=o.createHref(Ce);return me({fullPath:Ce,hash:pe,query:r===hi?dd(C.query):C.query||{}},q,{redirectedFrom:void 0,href:d})}function b(C){return typeof C=="string"?co(n,C,a.value.path):me({},C)}function m(C,F){if(c!==C)return _n(8,{from:F,to:C})}function w(C){return G(C)}function j(C){return w(me(b(C),{replace:!0}))}function I(C){const F=C.matched[C.matched.length-1];if(F&&F.redirect){const{redirect:H}=F;let q=typeof H=="function"?H(C):H;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=b(q):{path:q},q.params={}),me({query:C.query,hash:C.hash,params:q.path!=null?{}:C.params},q)}}function G(C,F){const H=c=R(C),q=a.value,pe=C.state,Ce=C.force,d=C.replace===!0,h=I(H);if(h)return G(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&&$f(r,q,H)&&(P=_n(16,{to:v,from:q}),ct(q,q,!0,!1)),(P?Promise.resolve(P):L(v,q)).catch(y=>gt(y)?gt(y,2)?y:Ct(y):K(y,v,q)).then(y=>{if(y){if(gt(y,2))return G(me({replace:d},b(y.to),{state:typeof y.to=="object"?me({},pe,y.to.state):pe,force:Ce}),F||v)}else y=T(v,q,!0,d,pe);return U(v,q,y),y})}function Z(C,F){const H=m(C,F);return H?Promise.reject(H):Promise.resolve()}function V(C){const F=rn.values().next().value;return F&&typeof F.runWithContext=="function"?F.runWithContext(C):C()}function L(C,F){let H;const[q,pe,Ce]=Sd(C,F);H=uo(q.reverse(),"beforeRouteLeave",C,F);for(const h of q)h.leaveGuards.forEach(v=>{H.push(Tt(v,C,F))});const d=Z.bind(null,C,F);return H.push(d),Ye(H).then(()=>{H=[];for(const h of s.list())H.push(Tt(h,C,F));return H.push(d),Ye(H)}).then(()=>{H=uo(pe,"beforeRouteUpdate",C,F);for(const h of pe)h.updateGuards.forEach(v=>{H.push(Tt(v,C,F))});return H.push(d),Ye(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),Ye(H)}).then(()=>(C.matched.forEach(h=>h.enterCallbacks={}),H=uo(Ce,"beforeRouteEnter",C,F,V),H.push(d),Ye(H))).then(()=>{H=[];for(const h of i.list())H.push(Tt(h,C,F));return H.push(d),Ye(H)}).catch(h=>gt(h,8)?h:Promise.reject(h))}function U(C,F,H){l.list().forEach(q=>V(()=>q(C,F,H)))}function T(C,F,H,q,pe){const Ce=m(C,F);if(Ce)return Ce;const d=F===mt,h=ln?history.state:{};H&&(q||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(!sr.listening)return;const q=R(C),pe=I(q);if(pe){G(me(pe,{replace:!0}),q).catch(Nn);return}c=q;const Ce=a.value;ln&&Uf(si(Ce.fullPath,H.delta),Kr()),L(q,Ce).catch(d=>gt(d,12)?d:gt(d,2)?(G(d.to,q).then(h=>{gt(h,20)&&!H.delta&&H.type===Kn.pop&&o.go(-1,!1)}).catch(Nn),Promise.reject()):(H.delta&&o.go(-H.delta,!1),K(d,q,Ce))).then(d=>{d=d||T(q,Ce,!1),d&&(H.delta&&!gt(d,8)?o.go(-H.delta,!1):H.type===Kn.pop&>(d,20)&&o.go(-1,!1)),U(q,Ce,d)}).catch(Nn)}))}let _e=xn(),J=xn(),oe;function K(C,F,H){Ct(C);const q=J.list();return q.length?q.forEach(pe=>pe(C,F,H)):console.error(C),Promise.reject(C)}function rt(){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,q){const{scrollBehavior:pe}=e;if(!ln||!pe)return Promise.resolve();const Ce=!H&&Kf(si(C.fullPath,0))||(q||!H)&&history.state&&history.state.scroll||null;return wn().then(()=>pe(C,F,Ce)).then(d=>d&&Wf(d)).catch(d=>K(d,C,F))}const We=C=>o.go(C);let nn;const rn=new Set,sr={currentRoute:a,listening:!0,addRoute:g,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:k,getRoutes:S,resolve:R,options:e,push:w,replace:j,go:We,back:()=>We(-1),forward:()=>We(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:J.add,isReady:rt,install(C){const F=this;C.component("RouterLink",md),C.component("RouterView",yd),C.config.globalProperties.$router=F,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>Yt(a)}),ln&&!nn&&a.value===mt&&(nn=!0,w(o.location).catch(pe=>{}));const H={};for(const pe in mt)Object.defineProperty(H,pe,{get:()=>a.value[pe],enumerable:!0});C.provide(Gr,F),C.provide(Xo,zi(H)),C.provide(Eo,a);const q=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),q()}}};function Ye(C){return C.reduce((F,H)=>F.then(()=>V(H)),Promise.resolve())}return sr}function Sd(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 Be(Gr)}function St(e){return Be(Xo)}var Zo=Symbol(""),pt=()=>{const e=Be(Zo);if(!e)throw new Error("useClientData() is called without provider.");return e},Cd=()=>pt().pageComponent,Sn=()=>pt().pageData,at=()=>pt().pageFrontmatter,Pd=()=>pt().pageHead,kd=()=>pt().pageLang,Ld=()=>pt().pageLayout,or=()=>pt().routeLocale,Ed=()=>pt().routes,ql=()=>pt().siteData,es=()=>pt().siteLocaleData,xd=Symbol(""),xo=yn(vf),pn=yn(_f),zl=(e,t)=>{const n=lf(e,t);if(pn.value[n])return n;const r=encodeURI(n);if(pn.value[r])return r;const o=xo.value[n]||xo.value[r];return o||n},Gn=(e,t)=>{const{pathname:n,hashAndQueries:r}=Il(e),o=zl(n,t),s=o+r;return pn.value[o]?{...pn.value[o],path:s,notFound:!1}:{...pn.value["/404.html"],path:s,notFound:!0}},Ad=(e,t)=>{const{pathname:n,hashAndQueries:r}=Il(e);return zl(n,t)+r},Td=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}},qr=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=A(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${Ad(e.to,r.path).substring(1)}`);return()=>{var s;return ke("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(i={})=>{Td(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=lc(e,"config"),r=St(),o=ql(),s=A(()=>rr(n.value.link)),i=A(()=>n.value.target||(s.value?"_blank":void 0)),l=A(()=>i.value==="_blank"),a=A(()=>!s.value&&!l.value),c=A(()=>n.value.rel||(l.value?"noopener noreferrer":null)),f=A(()=>n.value.ariaLabel??n.value.text),u=A(()=>{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=A(()=>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:S}=t,k=(S==null?void 0:S(n.value))||[g==null?void 0:g(n.value),n.value.text,_==null?void 0:_(n.value)];return a.value?ke(qr,{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)}}}),ts=he({name:"ClientOnly",setup(e,t){const n=ue(!1);return Ge(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),ns=he({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=Cd(),n=A(()=>{if(!e.path)return t.value;const r=Gn(e.path);return _c(()=>r.loader().then(({comp:o})=>o))});return()=>ke(n.value)}}),Rd="Layout",Od="en-US",Kt=Yn({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 hf(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Od,resolvePageLayout:(e,t)=>{const n=st(e.frontmatter.layout)?e.frontmatter.layout:Rd;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>af(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,rs=e=>Ur(e)?e:`/${Dl(e)}`;function zr(e){return $i()?(Oa(e),!0):!1}function ht(e){return typeof e=="function"?e():Yt(e)}const os=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Id=Object.prototype.toString,Md=e=>Id.call(e)==="[object Object]",Ao=()=>{};function Jl(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 Ql=e=>e();function Dd(e,t={}){let n,r,o=Ao;const s=l=>{clearTimeout(l),o(),o=Ao};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 $d(e=Ql){const t=ue(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:$r(t),pause:n,resume:r,eventFilter:o}}function Nd(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 Hd(e){return Br()}function jd(e,t=200,n={}){return Jl(Dd(t,n),e)}function Vd(e,t,n={}){const{eventFilter:r=Ql,...o}=n;return $e(e,Jl(r,t),o)}function Fd(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:l,isActive:a}=$d(r);return{stop:Vd(e,t,{...o,eventFilter:s}),pause:i,resume:l,isActive:a}}function ss(e,t=!0,n){Hd()?Ge(e,n):t?e():wn(e)}function Bd(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,os&&a()),zr(l),{isPending:$r(o),start:a,stop:l}}function Wd(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Ne(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=os?window:void 0,Yl=os?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 Ao;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=$e(()=>[zt(t),ht(o)],([f,u])=>{if(i(),!f)return;const p=Md(u)?{...u}:u;s.push(...n.flatMap(g=>r.map(_=>l(f,g,_,p))))},{immediate:!0,flush:"post"}),c=()=>{a(),i()};return zr(c),c}function Ud(){const e=ue(!1),t=Br();return t&&Ge(()=>{e.value=!0},t),e}function Jr(e){const t=Ud();return A(()=>(t.value,!!e()))}function is(e,t={}){const{window:n=yt}=t,r=Jr(()=>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=nu(()=>{r.value&&(l(),o=n.matchMedia(ht(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return zr(()=>{a(),l(),o=void 0}),s}function bi(e,t={}){const{controls:n=!1,navigator:r=Yl}=t,o=Jr(()=>r&&"permissions"in r);let s;const i=typeof e=="string"?{name:e}:e,l=ue(),a=()=>{s&&(l.value=s.state)},c=Nd(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 Kd(e={}){const{navigator:t=Yl,read:n=!1,source:r,copiedDuring:o=1500,legacy:s=!1}=e,i=Jr(()=>t&&"clipboard"in t),l=bi("clipboard-read"),a=bi("clipboard-write"),c=A(()=>i.value||s),f=ue(""),u=ue(!1),p=Bd(()=>u.value=!1,o);function g(){i.value&&R(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&&R(a.value)?await t.clipboard.writeText(b):S(b),f.value=b,u.value=!0,p.start())}function S(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,w;return(w=(m=(b=document==null?void 0:document.getSelection)==null?void 0:b.call(document))==null?void 0:m.toString())!=null?w:""}function R(b){return b==="granted"||b==="prompt"}return{isSupported:c,text:f,copied:u,copy:_}}const gr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},mr="__vueuse_ssr_handlers__",Gd=qd();function qd(){return mr in gr||(gr[mr]=gr[mr]||{}),gr[mr]}function zd(e,t){return Gd[e]||t}function Jd(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 Qd={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()}},yi="vueuse-storage";function ls(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,S=(f?yn:ue)(typeof t=="function"?t():t);if(!n)try{n=zd("getDefaultStorage",()=>{var L;return(L=yt)==null?void 0:L.localStorage})()}catch(L){g(L)}if(!n)return S;const k=ht(t),R=Jd(k),b=(o=r.serializer)!=null?o:Qd[R],{pause:m,resume:w}=Fd(S,()=>I(S.value),{flush:s,deep:i,eventFilter:p});u&&l&&ss(()=>{lt(u,"storage",Z),lt(u,yi,V),_&&Z()}),_||Z();function j(L,U){u&&u.dispatchEvent(new CustomEvent(yi,{detail:{key:e,oldValue:L,newValue:U,storageArea:n}}))}function I(L){try{const U=n.getItem(e);if(L==null)j(U,null),n.removeItem(e);else{const T=b.write(L);U!==T&&(n.setItem(e,T),j(U,T))}}catch(U){g(U)}}function G(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 T=b.read(U);return typeof c=="function"?c(T,k):R==="object"&&!Array.isArray(T)?{...k,...T}:T}else return typeof U!="string"?U:b.read(U)}function Z(L){if(!(L&&L.storageArea!==n)){if(L&&L.key==null){S.value=k;return}if(!(L&&L.key!==e)){m();try{(L==null?void 0:L.newValue)!==b.write(S.value)&&(S.value=G(L))}catch(U){g(U)}finally{L?wn(w):w()}}}}function V(L){Z(L.detail)}return S}function Yd(e){return is("(prefers-color-scheme: dark)",e)}function Xd(e,t,n={}){const{window:r=yt,...o}=n;let s;const i=Jr(()=>r&&"ResizeObserver"in r),l=()=>{s&&(s.disconnect(),s=void 0)},a=A(()=>Array.isArray(e)?e.map(u=>zt(u)):[zt(e)]),c=$e(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 zr(f),{isSupported:i,stop:f}}function Zd(e,t={width:0,height:0},n={}){const{window:r=yt,box:o="content-box"}=n,s=A(()=>{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}=Xd(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:S})=>_+S,0),l.value=g.reduce((_,{blockSize:S})=>_+S,0)}else i.value=u.contentRect.width,l.value=u.contentRect.height},n);ss(()=>{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=$e(()=>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 eh(e,t,n={}){const{window:r=yt}=n;return ls(e,t,r==null?void 0:r.sessionStorage,n)}function th(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=A({get(){return r.value},set(l){scrollTo({left:l,behavior:n})}}),i=A({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 nh(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(),ss(a),lt("resize",a,{passive:!0}),o){const c=is("(orientation: portrait)");$e(c,()=>a())}return{width:i,height:l}}const wi=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},rh=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=tn();lt("scroll",jd(()=>{var _,S;const i=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(i-0)u.some(R=>R.hash===k.hash));for(let k=0;k=(((_=R.parentElement)==null?void 0:_.offsetTop)??0)-r,w=!b||i<(((S=b.parentElement)==null?void 0:S.offsetTop)??0)-r;if(!(m&&w))continue;const I=decodeURIComponent(o.currentRoute.value.hash),G=decodeURIComponent(R.hash);if(I===G)return;if(f){for(let Z=k+1;Z{const t=or();return A(()=>e[t.value]??{})},uh=()=>{const e=Ed();return A(()=>Object.keys(e.value))},fo=(e,t)=>{var r;const n=(r=Br())==null?void 0:r.appContext.components;return n?e in n||Qe(e)in n||Jn(Qe(e))in n:!1},fh=e=>new Promise(t=>setTimeout(t,e)),dh=({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:hh(o,n),link:"#"+o.id,slug:o.id,level:s}});return ph(r,t)},hh=(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()},ph=(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),gh=Object.keys,ea=e=>Zl(e,"/");var mh={"/eng/":{backToTop:"Back to top"},"/":{backToTop:"Вернуться к началу"}};const vh=he({name:"BackToTop",setup(){const e=at(),t=Xl(mh),n=yn(),{height:r}=Zd(n),{height:o}=nh(),{y:s}=th(),i=A(()=>e.value.backToTop!==!1&&s.value>100),l=A(()=>s.value/(r.value-o.value)*100);return Ge(()=>{n.value=document.body}),()=>ke(nr,{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)}}),_h=Ft({rootComponents:[vh]}),bh=Object.freeze(Object.defineProperty({__proto__:null,default:_h},Symbol.toStringTag,{value:"Module"})),yh=/language-(shellscript|shell|bash|sh|zsh)/,wh=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o,ignoreSelector:s=[],transform:i})=>{const l=is("(max-width: 419px)"),a=A(()=>!l.value||o),c=Xl(n),f=Sn(),u=k=>{var b;if(k.hasAttribute("copy-code-registered"))return;const R=document.createElement("button");R.type="button",R.classList.add("vp-copy-code-button"),R.setAttribute("aria-label",c.value.copy),R.setAttribute("data-copied",c.value.copied),(b=k.parentElement)==null||b.insertBefore(R,k),k.setAttribute("copy-code-registered","")};$e(()=>[f.value.path,a.value],async()=>{document.body.classList.toggle("copy-code-disabled",!a.value),a.value&&(await wn(),await fh(e),document.querySelectorAll(r.join(",")).forEach(u))},{immediate:!0});const{copy:g}=Kd({legacy:!0}),_=new WeakMap,S=(k,R,b)=>{const m=R.cloneNode(!0);s.length&&m.querySelectorAll(s.join(",")).forEach(j=>j.remove()),i&&i(m);let w=m.textContent||"";yh.test(k.className)&&(w=w.replace(/^ *(\$|>) /gm,"")),g(w).then(()=>{if(t<=0)return;b.classList.add("copied"),clearTimeout(_.get(b));const j=setTimeout(()=>{b.classList.remove("copied"),b.blur(),_.delete(b)},t);_.set(b,j)})};lt("click",k=>{const R=k.target;if(a.value&&R.matches('div[class*="language-"] > button.vp-copy-code-button')){const b=R.parentElement,m=R.nextElementSibling;if(!b||!m)return;S(b,m,R)}})};var Sh={"/eng/":{copy:"Copy code",copied:"Copied"},"/":{copy:"Скопировать код",copied:"Скопировано"}},Ch=['.theme-default-content div[class*="language-"] pre'];const Ph=Ft({setup:()=>{wh({selector:Ch,locales:Sh,duration:2e3,delay:500,showInMobile:!1})}}),kh=Object.freeze(Object.defineProperty({__proto__:null,default:Ph},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=ho(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,Lh(i=>{vr(r,{transform:"translate3d("+Si(e)+"%,0,0)",transition:"all "+o+"ms "+s}),e===1?(vr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(()=>{vr(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)*ho(Math.random()*t,.1,.95)),t=ho(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");Ci(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":Si(ae.status||0),o=document.querySelector(ae.settings.parent);return vr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&Ci(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{Pi(document.documentElement,"nprogress-busy"),Pi(document.querySelector(ae.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&Eh(e)},isRendered:()=>!!document.getElementById("nprogress")},ho=(e,t,n)=>en?n:e,Si=e=>(-1+e)*100,Lh=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),vr=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)}}}(),ta=(e,t)=>(typeof e=="string"?e:as(e)).indexOf(" "+t+" ")>=0,Ci=(e,t)=>{const n=as(e),r=n+t;ta(n,t)||(e.className=r.substring(1))},Pi=(e,t)=>{const n=as(e);if(!ta(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},as=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),Eh=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},xh=()=>{Ge(()=>{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()})})},Ah=Ft({setup(){xh()}}),Th=Object.freeze(Object.defineProperty({__proto__:null,default:Ah},Symbol.toStringTag,{value:"Module"})),Rh=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Oh=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"}`),Ih=ue(Oh),na=()=>Ih,ra=Symbol(""),Mh=()=>{const e=Be(ra);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Dh=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},$h=Ft({enhance({app:e}){const t=na(),n=e._context.provides[Zo],r=A(()=>Dh(t.value,n.routeLocale.value));e.provide(ra,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),Nh=Object.freeze(Object.defineProperty({__proto__:null,default:$h},Symbol.toStringTag,{value:"Module"})),Hh=()=>na(),Re=()=>Mh(),oa=Symbol(""),jh=e=>{const t=(n=e.value)=>{const r=window.document.documentElement;r.classList.toggle("dark",n),r.dataset.theme=n?"dark":"light"};Ge(()=>{$e(e,t,{immediate:!0})}),Vr(()=>t())},cs=()=>{const e=Be(oa);if(!e)throw new Error("useDarkMode() is called without provider.");return e},Vh=()=>{const e=Re(),t=Yd(),n=ls("vuepress-color-scheme",e.value.colorMode),r=A({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(oa,r),jh(r)};let po=null,An=null;const Fh={wait:()=>po,pending:()=>{po=new Promise(e=>An=e)},resolve:()=>{An==null||An(),po=null,An=null}},sa=()=>Fh,bn=(e,t)=>{const{notFound:n,meta:r,path:o}=Gn(e,t);return n?{text:o,link:o}:{text:r.title||o,link:o}},ki=e=>decodeURI(e).replace(/#.*$/,"").replace(/(index)?\.(md|html)$/,""),Bh=(e,t)=>{if(t.hash===e)return!0;const n=ki(t.path),r=ki(e);return n===r},ia=(e,t)=>e.link&&Bh(e.link,t)?!0:"children"in e?e.children.some(n=>ia(n,t)):!1,la=e=>!of(e)&&!rr(e),aa=e=>!Ur(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,Wh={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"},Uh=({docsRepo:e,editLinkPattern:t})=>{if(t)return t;const n=aa(e);return n!==null?Wh[n]:null},Kh=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:r,editLinkPattern:o})=>{if(!r)return null;const s=Uh({docsRepo:e,editLinkPattern:o});return s?s.replace(/:repo/,Ur(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,Dl(`${Ml(n)}/${r}`)):null},gn=(e="",t="")=>ea(t)||rr(t)?t:`${pf(e)}${t}`,wr=ue([]),Gh=()=>{const e=tn(),t=Re(),n=at(),r=A(()=>n.value.sidebarDepth??t.value.sidebarDepth??2);e.beforeEach((s,i)=>{s.path!==i.path&&(wr.value=[])});const o=()=>{if(r.value<=0){wr.value=[];return}wr.value=dh({selector:[...new Array(6)].map((s,i)=>`.theme-default-content h${i+1}`).join(","),levels:[2,r.value+1],ignore:[".vp-badge"]})};$e(r,o),Ge(o)},qh=()=>wr,ca=Symbol("sidebarItems"),us=()=>{const e=Be(ca);if(!e)throw new Error("useSidebarItems() is called without provider.");return e},zh=()=>{const e=Re(),t=at(),n=Sn(),r=St(),o=or(),s=qh(),i=A(()=>t.value.home?!1:t.value.sidebar??e.value.sidebar??"heading"),l=A(()=>Jh(i.value,n.value,r.path,o.value,s.value));Xt(ca,l)},Jh=(e,t,n,r,o)=>e===!1?[]:e==="heading"?ua(t,o):Array.isArray(e)?fa(e,o,n,r):Qo(e)?Yh(e,t,o,n):[],Qh=e=>({text:e.title,link:e.link,children:fs(e.children)}),fs=e=>e?e.map(t=>Qh(t)):[],ua=(e,t)=>[{text:e.title,children:fs(t)}],fa=(e,t,n,r="")=>{const o=(s,i)=>{var a;const l=st(s)?bn(gn(i,s)):st(s.link)?{...s,link:la(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:fs(c)}}return l};return e.map(s=>o(s,r))},Yh=(e,t,n,r)=>{const o=gh(e).sort((s,i)=>i.length-s.length);for(const s of o)if(Zl(decodeURI(r),s)){const i=e[s];return i?i==="heading"?ua(t,n):fa(i,n,r,s):[]}return console.warn(`${decodeURI(r)} is missing sidebar config.`),[]},Xh=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 Zh(e,t,n,r,o,s){return $(),Y("span",{class:Fe(["vp-badge",n.type]),style:Qn({verticalAlign:n.vertical})},[Le(e.$slots,"default",{},()=>[$t(le(n.text),1)])],6)}const ep=we(Xh,[["render",Zh],["__file","Badge.vue"]]),tp=he({name:"CodeGroup",slots:Object,setup(e,{slots:t}){const n=ue([]),r=ue(-1),o=ls("vuepress-code-group",{}),s=A(()=>n.value.map(c=>c.innerText).join(","));Ge(()=>{$e(()=>o.value[s.value],(c=-1)=>{r.value!==c&&(r.value=c)},{immediate:!0}),$e(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]))}}}),np=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 rp(e,t,n,r,o,s){return $(),Y("div",{class:Fe(["code-group-item",{active:n.active}]),role:"tabpanel"},[Le(e.$slots,"default")],2)}const op=we(np,[["render",rp],["__file","CodeGroupItem.vue"]]),sp=he({__name:"VPHomeFeatures",setup(e,{expose:t}){t();const n=at(),r=A(()=>n.value.features??[]),o={frontmatter:n,features:r};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),ip={key:0,class:"vp-features"};function lp(e,t,n,r,o,s){return r.features.length?($(),Y("div",ip,[($(!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 ap=we(sp,[["render",lp],["__file","VPHomeFeatures.vue"]]),cp=he({__name:"VPHomeFooter",setup(e,{expose:t}){t();const n=at(),r=A(()=>n.value.footer),o=A(()=>n.value.footerHtml),s={frontmatter:n,footer:r,footerHtml:o};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),up=["innerHTML"],fp=["textContent"];function dp(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,up)):($(),Y("div",{key:1,class:"vp-footer",textContent:le(r.footer)},null,8,fp))],64)):Ae("",!0)}const hp=we(cp,[["render",dp],["__file","VPHomeFooter.vue"]]),pp=he({__name:"VPHomeHero",setup(e,{expose:t}){t();const n=at(),r=es(),o=cs(),s=A(()=>o.value&&n.value.heroImageDark!==void 0?n.value.heroImageDark:n.value.heroImage),i=A(()=>n.value.heroAlt||a.value||"hero"),l=A(()=>n.value.heroHeight||280),a=A(()=>n.value.heroText===null?null:n.value.heroText||r.value.title||"Hello"),c=A(()=>n.value.tagline===null?null:n.value.tagline||r.value.description||"Welcome to your VuePress site"),f=A(()=>Array.isArray(n.value.actions)?n.value.actions.map(({text:g,link:_,type:S="primary"})=>({text:g,link:_,type:S})):[]),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:rs(s.value),alt:i.value,height:l.value});return n.value.heroImageDark===void 0?g:ke(ts,()=>g)},get AutoLink(){return Cn}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),gp={class:"vp-hero"},mp={key:0,id:"main-title"},vp={key:1,class:"vp-hero-description"},_p={key:2,class:"vp-hero-actions"};function bp(e,t,n,r,o,s){return $(),Y("header",gp,[te(r.HomeHeroImage),r.heroText?($(),Y("h1",mp,le(r.heroText),1)):Ae("",!0),r.tagline?($(),Y("p",vp,le(r.tagline),1)):Ae("",!0),r.actions.length?($(),Y("p",_p,[($(!0),Y(be,null,bt(r.actions,i=>($(),Ee(r.AutoLink,{key:i.text,class:Fe(["vp-hero-action-button",[i.type]]),config:i},null,8,["class","config"]))),128))])):Ae("",!0)])}const yp=we(pp,[["render",bp],["__file","VPHomeHero.vue"]]),wp=he({__name:"VPHome",setup(e,{expose:t}){t();const n={VPHomeFeatures:ap,VPHomeFooter:hp,VPHomeHero:yp,get Content(){return ns}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Sp={class:"vp-home"},Cp={class:"theme-default-content"};function Pp(e,t,n,r,o,s){return $(),Y("main",Sp,[te(r.VPHomeHero),te(r.VPHomeFeatures),W("div",Cp,[te(r.Content)]),te(r.VPHomeFooter)])}const kp=we(wp,[["render",Pp],["__file","VPHome.vue"]]),Lp="719px",Ep={mobile:Lp};var qn;(function(e){e.MOBILE="mobile"})(qn||(qn={}));const xp={[qn.MOBILE]:Number.parseInt(Ep.mobile.replace("px",""),10)},da=(e,t)=>{const n=xp[e];Number.isInteger(n)&&(lt("orientationchange",()=>t(n),!1),lt("resize",()=>t(n),!1),Ge(()=>{t(n)}))},Ap=he({__name:"VPNavbarBrand",setup(e,{expose:t}){t();const n=or(),r=es(),o=Re(),s=cs(),i=A(()=>o.value.home||n.value),l=A(()=>r.value.title),a=A(()=>s.value&&o.value.logoDark!==void 0?o.value.logoDark:o.value.logo),c=A(()=>o.value.logoAlt??l.value),f=A(()=>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:rs(a.value),alt:c.value});return o.value.logoDark===void 0?g:ke(ts,()=>g)},get RouteLink(){return qr}};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Tp=["aria-hidden"];function Rp(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:Fe(["vp-site-name",{"vp-hide-mobile":r.navbarBrandLogo}]),"aria-hidden":r.navBarLogoAltMatchesTitle},le(r.navbarBrandTitle),11,Tp)):Ae("",!0)]),_:1},8,["to"])}const Op=we(Ap,[["render",Rp],["__file","VPNavbarBrand.vue"]]),ha=(e,t="")=>st(e)?bn(gn(t,e)):"children"in e?{...e,children:e.children.map(n=>ha(n,gn(t,e.prefix)))}:{...e,link:la(e.link)?bn(gn(t,e.link)).link:e.link},Ip=()=>{const e=Re();return A(()=>(e.value.navbar||[]).map(t=>ha(t)))},Mp=()=>{const e=Re(),t=A(()=>e.value.repo),n=A(()=>t.value?aa(t.value):null),r=A(()=>t.value&&!Ur(t.value)?`https://github.com/${t.value}`:t.value),o=A(()=>r.value?e.value.repoLabel?e.value.repoLabel:n.value===null?"Source":n.value:null);return A(()=>!r.value||!o.value?[]:[{text:o.value,link:r.value}])},Dp=()=>{const e=St(),t=uh(),n=or(),r=ql(),o=es(),s=Hh(),i=Re();return A(()=>{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 R,b;const p=((R=r.value.locales)==null?void 0:R[u])??{},g=((b=s.value.locales)==null?void 0:b[u])??{},_=`${p.lang}`,S=g.selectLanguageName??_;if(_===o.value.lang)return{text:S,activeMatch:".",link:e.fullPath};const k=a.replace(n.value,u);return{text:S,link:t.value.some(m=>m===k)?c.replace(a,k):g.home??u}})}]})},$p=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 Np(e,t,n,r,o,s){return $(),Ee(nr,{name:"vp-dropdown",onEnter:r.setHeight,onAfterEnter:r.unsetHeight,onBeforeLeave:r.setHeight},{default:xe(()=>[Le(e.$slots,"default")]),_:3})}const pa=we($p,[["render",Np],["__file","VPDropdownTransition.vue"]]),Hp=he({__name:"VPNavbarDropdown",props:{item:{}},setup(e,{expose:t}){t();const n=e,{item:r}=Zi(n),o=St(),s=ue(!1),i=A(()=>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};$e(()=>o.path,()=>{s.value=!1});const c={props:n,item:r,route:o,open:s,dropdownAriaLabel:i,isLastItemOfArray:l,handleDropdown:a,VPDropdownTransition:pa,get AutoLink(){return Cn}};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}),jp=["aria-label"],Vp={class:"title"},Fp=W("span",{class:"arrow down"},null,-1),Bp=["aria-label"],Wp={class:"title"},Up={class:"vp-navbar-dropdown"},Kp={class:"vp-navbar-dropdown-subtitle"},Gp={key:1},qp={class:"vp-navbar-dropdown-subitem-wrapper"};function zp(e,t,n,r,o,s){return $(),Y("div",{class:Fe(["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",Vp,le(r.item.text),1),Fp],8,jp),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",Wp,le(r.item.text),1),W("span",{class:Fe(["arrow",r.open?"down":"right"])},null,2)],8,Bp),te(r.VPDropdownTransition,null,{default:xe(()=>[kr(W("ul",Up,[($(!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",Kp,[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",Gp,le(i.text),1))]),W("ul",qp,[($(!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 Jp=we(Hp,[["render",zp],["__file","VPNavbarDropdown.vue"]]),Qp=he({__name:"VPNavbarItems",setup(e,{expose:t}){t();const n=Ip(),r=Dp(),o=Mp(),s=ue(!1),i=A(()=>Re().value.navbarLabel??"site navigation"),l=A(()=>[...n.value,...r.value,...o.value]);da(qn.MOBILE,c=>{s.value=window.innerWidth($(),Y("div",{key:i.text,class:"vp-navbar-item"},["children"in i?($(),Ee(r.VPNavbarDropdown,{key:0,class:Fe({mobile:r.isMobile}),item:i},null,8,["class","item"])):($(),Ee(r.AutoLink,{key:1,config:i},null,8,["config"]))]))),128))],8,Yp)):Ae("",!0)}const ga=we(Qp,[["render",Xp],["__file","VPNavbarItems.vue"]]),Zp={},eg={class:"dark-icon",viewBox:"0 0 32 32"},tg=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),ng=[tg];function rg(e,t){return $(),Y("svg",eg,ng)}const og=we(Zp,[["render",rg],["__file","VPDarkIcon.vue"]]),sg={},ig={class:"light-icon",viewBox:"0 0 32 32"},lg=pu('',9),ag=[lg];function cg(e,t){return $(),Y("svg",ig,ag)}const ug=we(sg,[["render",cg],["__file","VPLightIcon.vue"]]),fg=he({__name:"VPToggleColorModeButton",setup(e,{expose:t}){t();const n=Re(),r=cs(),s={themeLocale:n,isDarkMode:r,toggleColorMode:()=>{r.value=!r.value},VPDarkIcon:og,VPLightIcon:ug};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),dg=["title"];function hg(e,t,n,r,o,s){return $(),Y("button",{class:"vp-toggle-color-mode-button",title:r.themeLocale.toggleColorMode,onClick:r.toggleColorMode},[kr(te(r.VPLightIcon,null,null,512),[[Or,!r.isDarkMode]]),kr(te(r.VPDarkIcon,null,null,512),[[Or,r.isDarkMode]])],8,dg)}const pg=we(fg,[["render",hg],["__file","VPToggleColorModeButton.vue"]]),gg=he({__name:"VPToggleSidebarButton",emits:["toggle"],setup(e,{expose:t}){t();const r={themeLocale:Re()};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),mg=["title"],vg=W("div",{class:"icon","aria-hidden":"true"},[W("span"),W("span"),W("span")],-1),_g=[vg];function bg(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"))},_g,8,mg)}const yg=we(gg,[["render",bg],["__file","VPToggleSidebarButton.vue"]]),wg=he({__name:"VPNavbar",emits:["toggle-sidebar"],setup(e,{expose:t}){t();const n=Re(),r=ue(null),o=ue(null),s=ue(0),i=A(()=>s.value?{maxWidth:s.value+"px"}:{}),l=(c,f)=>{var g,_,S;const u=(S=(_=(g=c==null?void 0:c.ownerDocument)==null?void 0:g.defaultView)==null?void 0:_.getComputedStyle(c,null))==null?void 0:S[f],p=Number.parseInt(u,10);return Number.isNaN(p)?0:p};da(qn.MOBILE,c=>{var u;const f=l(r.value,"paddingLeft")+l(r.value,"paddingRight");window.innerWidthe.$emit("toggle-sidebar"))}),W("span",Cg,[te(r.VPNavbarBrand)],512),W("div",{class:"vp-navbar-items-wrapper",style:Qn(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 kg=we(wg,[["render",Pg],["__file","VPNavbar.vue"]]),Lg=()=>{const e=Re(),t=Sn(),n=at();return A(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})},Eg=()=>{const e=Re(),t=Sn(),n=at();return A(()=>{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=Kh({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})},xg=()=>{const e=Re(),t=Sn(),n=at();return A(()=>{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()})},Ag={},Tg={class:"edit-icon",viewBox:"0 0 1024 1024"},Rg=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),Og=[Rg];function Ig(e,t){return $(),Y("svg",Tg,Og)}const Mg=we(Ag,[["render",Ig],["__file","VPEditIcon.vue"]]),Dg=he({__name:"VPPageMeta",setup(e,{expose:t}){t();const n=Re(),r=Eg(),o=xg(),s=Lg(),i={themeLocale:n,editLink:r,lastUpdated:o,contributors:s,VPEditIcon:Mg,get AutoLink(){return Cn}};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),$g={class:"vp-page-meta"},Ng={key:0,class:"vp-meta-item edit-link"},Hg={class:"vp-meta-item git-info"},jg={key:0,class:"vp-meta-item last-updated"},Vg={class:"meta-item-label"},Fg={class:"meta-item-info"},Bg={key:1,class:"vp-meta-item contributors"},Wg={class:"meta-item-label"},Ug={class:"meta-item-info"},Kg=["title"];function Gg(e,t,n,r,o,s){const i=Ko("ClientOnly");return $(),Y("footer",$g,[r.editLink?($(),Y("div",Ng,[te(r.AutoLink,{class:"label",config:r.editLink},{before:xe(()=>[te(r.VPEditIcon)]),_:1},8,["config"])])):Ae("",!0),W("div",Hg,[r.lastUpdated?($(),Y("div",jg,[W("span",Vg,le(r.themeLocale.lastUpdatedText)+": ",1),te(i,null,{default:xe(()=>[W("span",Fg,le(r.lastUpdated),1)]),_:1})])):Ae("",!0),r.contributors&&r.contributors.length?($(),Y("div",Bg,[W("span",Wg,le(r.themeLocale.contributorsText)+": ",1),W("span",Ug,[($(!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,Kg),a!==r.contributors.length-1?($(),Y(be,{key:0},[$t(", ")],64)):Ae("",!0)],64))),128))])])):Ae("",!0)])])}const qg=we(Dg,[["render",Gg],["__file","VPPageMeta.vue"]]),zg=()=>{const e=tn(),t=St();return n=>{n&&(ea(n)?t.path!==n&&e.push(n):rr(n)?window==null||window.open(n):e.push(encodeURI(n)))}},Li=(e,t)=>e===!1?!1:st(e)?bn(e,t):Qo(e)?{...e,link:bn(e.link,t).link}:null,To=(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&&!Gn(s.prefix).notFound?{...s,link:s.prefix}:null:null}for(const s of e)if("children"in s){const i=To(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&&!Gn(s.prefix).notFound?{...s,link:s.prefix}:null:null}return null},Jg=()=>{const e=at(),t=Re(),n=us(),r=St(),o=A(()=>{const i=Li(e.value.prev,r.path);return i===!1?null:i??(t.value.prev===!1?null:To(n.value,r.path,-1))}),s=A(()=>{const i=Li(e.value.next,r.path);return i===!1?null:i??(t.value.next===!1?null:To(n.value,r.path,1))});return{prevLink:o,nextLink:s}},Qg=he({__name:"VPPageNav",setup(e,{expose:t}){t();const n=Re(),r=zg(),{prevLink:o,nextLink:s}=Jg(),i=A(()=>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}}),Yg=["aria-label"],Xg={class:"hint"},Zg=W("span",{class:"arrow left"},null,-1),em={class:"link"},tm={class:"hint"},nm=W("span",{class:"arrow right"},null,-1),rm={class:"link"};function om(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",Xg,[Zg,$t(" "+le(r.themeLocale.prev??"Prev"),1)]),W("div",em,[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",tm,[$t(le(r.themeLocale.next??"Next")+" ",1),nm]),W("div",rm,[W("span",null,le(r.nextLink.text),1)])]),_:1},8,["config"])):Ae("",!0)],8,Yg)):Ae("",!0)}const sm=we(Qg,[["render",om],["__file","VPPageNav.vue"]]),im=he({__name:"VPPage",setup(e,{expose:t}){t(),Gh();const n={VPPageMeta:qg,VPPageNav:sm,get Content(){return ns}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),lm={class:"vp-page"},am={class:"theme-default-content"};function cm(e,t,n,r,o,s){return $(),Y("main",lm,[Le(e.$slots,"top"),W("div",am,[Le(e.$slots,"content-top"),te(r.Content),Le(e.$slots,"content-bottom")]),te(r.VPPageMeta),te(r.VPPageNav),Le(e.$slots,"bottom")])}const um=we(im,[["render",cm],["__file","VPPage.vue"]]),fm=he({__name:"VPSidebarItem",props:{item:{},depth:{default:0}},setup(e,{expose:t}){t();const n=e,{item:r,depth:o}=Zi(n),s=St(),i=tn(),l=A(()=>"collapsible"in r.value&&r.value.collapsible),a=A(()=>ia(r.value,s)),c=A(()=>({"vp-sidebar-item":!0,"vp-sidebar-heading":o.value===0,active:a.value,collapsible:l.value})),f=A(()=>l.value?a.value:!0),[u,p]=Wd(f.value),g=k=>{l.value&&(k.preventDefault(),p())},_=i.afterEach(k=>{wn(()=>{u.value=f.value})});Uo(()=>{_()});const S={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:pa,get AutoLink(){return Cn}};return Object.defineProperty(S,"__isScriptSetup",{enumerable:!1,value:!0}),S}}),dm={class:"vp-sidebar-children"};function hm(e,t,n,r,o,s){const i=Ko("VPSidebarItem",!0);return $(),Y("li",null,[r.item.link?($(),Ee(r.AutoLink,{key:0,class:Fe(r.itemClass),config:r.item},null,8,["class","config"])):($(),Y("p",{key:1,tabindex:"0",class:Fe(r.itemClass),onClick:r.onClick,onKeydown:Yu(r.onClick,["enter"])},[$t(le(r.item.text)+" ",1),r.collapsible?($(),Y("span",{key:0,class:Fe(["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(()=>[kr(W("ul",dm,[($(!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 pm=we(fm,[["render",hm],["__file","VPSidebarItem.vue"]]),gm=he({__name:"VPSidebarItems",setup(e,{expose:t}){t();const n=St(),r=us();Ge(()=>{$e(()=>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:pm};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),mm={key:0,class:"vp-sidebar-items"};function vm(e,t,n,r,o,s){return r.sidebarItems.length?($(),Y("ul",mm,[($(!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 _m=we(gm,[["render",vm],["__file","VPSidebarItems.vue"]]),bm=he({__name:"VPSidebar",setup(e,{expose:t}){t();const n={VPNavbarItems:ga,VPSidebarItems:_m};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),ym={class:"vp-sidebar"};function wm(e,t,n,r,o,s){return $(),Y("aside",ym,[te(r.VPNavbarItems),Le(e.$slots,"top"),te(r.VPSidebarItems),Le(e.$slots,"bottom")])}const Sm=we(bm,[["render",wm],["__file","VPSidebar.vue"]]),Cm=he({__name:"Layout",setup(e,{expose:t}){t();const n=Sn(),r=at(),o=Re(),s=A(()=>r.value.navbar!==!1&&o.value.navbar!==!1),i=us(),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 w=m.changedTouches[0].clientX-c.x,j=m.changedTouches[0].clientY-c.y;Math.abs(w)>Math.abs(j)&&Math.abs(w)>40&&(w>0&&c.x<=80?a(!0):a(!1))},p=A(()=>r.value.externalLinkIcon??o.value.externalLinkIcon??!0),g=A(()=>[{"no-navbar":!s.value,"no-sidebar":!i.value.length,"sidebar-open":l.value,"external-link-icon":p.value},r.value.pageClass]);let _;Ge(()=>{_=tn().afterEach(()=>{a(!1)})}),Vr(()=>{_()});const S=sa(),k=S.resolve,R=S.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:S,onBeforeEnter:k,onBeforeLeave:R,VPHome:kp,VPNavbar:kg,VPPage:um,VPSidebar:Sm};return Object.defineProperty(b,"__isScriptSetup",{enumerable:!1,value:!0}),b}});function Pm(e,t,n,r,o,s){return $(),Y("div",{class:Fe(["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(nr,{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 ma=we(Cm,[["render",Pm],["__file","Layout.vue"]]),km=he({__name:"NotFound",setup(e,{expose:t}){t();const n=or(),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 qr}};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Lm=e=>(hc("data-v-99131a8e"),e=e(),pc(),e),Em={class:"vp-theme-container"},xm={class:"page"},Am={class:"theme-default-content"},Tm=Lm(()=>W("h1",null,"404",-1));function Rm(e,t,n,r,o,s){return $(),Y("div",Em,[W("main",xm,[W("div",Am,[Tm,W("blockquote",null,le(r.getMsg()),1),te(r.RouteLink,{to:r.homeLink},{default:xe(()=>[$t(le(r.homeText),1)]),_:1},8,["to"])])])])}const Om=we(km,[["render",Rm],["__scopeId","data-v-99131a8e"],["__file","NotFound.vue"]]),Im=Ft({enhance({app:e,router:t}){fo("Badge")||e.component("Badge",ep),fo("CodeGroup")||e.component("CodeGroup",tp),fo("CodeGroupItem")||e.component("CodeGroupItem",op),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 sa().wait(),n(...r))},setup(){Vh(),zh()},layouts:{Layout:ma,NotFound:Om}}),Mm=Object.freeze(Object.defineProperty({__proto__:null,default:Im},Symbol.toStringTag,{value:"Module"})),Dm=Object.entries;var $m={autoLocale:!1,switchLocale:!1,localeConfig:{"/eng/":["en-US"]},defaultLocale:"/eng/",localeFallback:!0,defaultBehavior:"defaultLocale"};const Nm=$m;Dm(Nm.localeConfig);eh("VUEPRESS_REDIRECT_LOCALES",{});const Hm=Ft({setup(){},rootComponents:[]}),jm=Object.freeze(Object.defineProperty({__proto__:null,default:Hm},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||{}),O=(e=>(e.C="C",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.Godot="Godot",e.Haskell="Haskell",e))(O||{});const Vm=[{name:"picsg",url:"/pleshevskiy/picsg",description:"A tool for steganographing information in a picture encoded using the Vernam cipher.",roles:[ie.Author],technologies:[O.Haskell],startDate:new Date("2024-04-13"),status:de.AsIs},{name:"Mindustry tools",url:"/pleshevskiy/mindustry-tools",description:"Tools for the Mindustry game",roles:[ie.Author],technologies:[O.Nix,O.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:[O.Deno,O.Sqlite,O.TypeScript,O.Vue,O.Docker,O.Woodpecker,O.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:[O.JavaScript,O.NodeJS,O.Nix],startDate:new Date("2023-06-27"),status:de.PassivelyMaintained},{name:"tree-sitter-plpgsql",url:"/pleshevskiy/tree-sitter-plpgsql",description:"plpgsql grammar for tree-sitter",roles:[ie.Author],technologies:[O.C,O.JavaScript,O.TreeSitter,O.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:[O.Bash,O.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:[O.C,O.JavaScript,O.TreeSitter,O.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:[O.Nix,O.Lua],startDate:new Date("2022-11-22"),status:de.PassivelyMaintained},{name:"vnetod",url:"/pleshevskiy/vnetod",description:"Dotenv section switcher",roles:[ie.Author],technologies:[O.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:[O.Rust],startDate:new Date("2022-07-23"),status:de.PassivelyMaintained},{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:[O.Rust],startDate:new Date("2022-07-18"),status:de.PassivelyMaintained},{name:"docker stack drone plugin",url:"/drone_plugins/docker_stack",description:"Deploy to production using `docker stack deploy`",roles:[ie.Author],technologies:[O.Docker,O.Drone,O.Woodpecker],startDate:new Date("2022-06-06"),status:de.PassivelyMaintained},{name:"dexios",url:"/github/dexios",description:"Dexios is a fast, secure, and open source command-line encryption tool.",roles:[ie.Collaborator],technologies:[O.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:[O.TypeScript,O.Deno,O.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:[O.TypeScript,O.Deno,O.Docker,O.Woodpecker],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:[O.TypeScript,O.Deno],startDate:new Date("2022-03-14"),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:[O.Rust],startDate:new Date("2022-02-04"),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:[O.Rust],startDate:new Date("2021-10-12"),status:de.Deprecated},{name:"migra",url:"/pleshevskiy/migra",description:"Simple SQL migration manager for your project.",roles:[ie.Author],technologies:[O.Rust],startDate:new Date("2021-01-31"),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:[O.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:[O.TypeScript,O.React],startDate:new Date("2020-10-04"),status:de.Deprecated},{name:"sonic-channel",url:"/pleshevskiy/sonic-channel",description:"Rust client for sonic search backend.",roles:[ie.Author],technologies:[O.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:[O.Rust],startDate:new Date("2019-12-22"),status:de.Deprecated},{name:"it-fsm",url:"/pleshevskiy/it-fsm",description:"Simple full-featured finite state machine for your project",roles:[ie.Author],technologies:[O.TypeScript,O.NodeJS,O.Deno],startDate:new Date("2019"),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:[O.Python,O.Flask,O.Postgresql,O.TypeScript,O.React,O.Docker,O.Woodpecker,O.Nix],startDate:new Date("2019-09-22"),status:de.PassivelyMaintained},{name:"genrss",url:"/pleshevskiy/genrss",description:"RSS generator for python",roles:[ie.Author],technologies:[O.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:[O.Python],startDate:new Date("2019-10-05"),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:[O.TypeScript,O.NodeJS,O.React,O.Antd,O.Docker,O.Drone,O.Rust,O.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:[O.TypeScript,O.NodeJS,O.React,O.Docker,O.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:[O.Python,O.Flask,O.JavaScript,O.Docker,O.Woodpecker],startDate:new Date("2018-04-10"),status:de.PassivelyMaintained},{name:"ictmpl",url:"/pleshevskiy/ictmpl",description:"Generate projects from templates",roles:[ie.Author],technologies:[O.Python],startDate:new Date("2018-06-30"),status:de.AsIs},{name:"jjcrypto",url:"/pleshevskiy/jjcrypto",description:"Javascript encoder and decoder",roles:[ie.Author],technologies:[O.Php],startDate:new Date("2015-11-01"),status:de.AsIs}];function Fm(e){return e.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"})}const Bm=e=>e.url.startsWith("https://")?e.url:new URL(e.url,"https://git.pleshevski.ru").toString(),Wm=Object.freeze(Object.defineProperty({__proto__:null,getExternalLink:Bm},Symbol.toStringTag,{value:"Module"})),Um={name:"WorksPage",computed:{tableTheme(){return this.$themeLocale.worksTable??{}}}},Km=he({...Um,setup(e,{expose:t}){t();const n={get CHRONOLOGICAL_WORKS(){return Vm},get renderDate(){return Fm},get w(){return Wm}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),Gm=["href"],qm=["innerHTML"],zm={key:0};function Jm(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.CHRONOLOGICAL_WORKS,i=>($(),Y("tr",null,[W("td",null,[W("a",{rel:"nofollow noopener",href:r.w.getExternalLink(i)},le(i.name),9,Gm)]),W("td",null,le(i.description),1),W("td",{innerHTML:i.roles.join(", ")},null,8,qm),W("td",null,le(i.technologies.join(", ")),1),W("td",null,le(i.status),1),W("td",null,[W("div",null,[W("small",{class:Fe({grey:i.endDate})},le(r.renderDate(i.startDate)),3)]),i.endDate?($(),Y("div",zm,[W("small",null,le(r.renderDate(i.endDate)),1)])):Ae("",!0)])]))),256))])])}const Qm=we(Km,[["render",Jm],["__file","ChronologicalWorksTable.vue"]]),Ym={__name:"WorksPage",setup(e,{expose:t}){t();const n={ParentLayout:ma,get ChronologicalWorksTable(){return Qm}};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},Xm={class:"works-table-wrapper"};function Zm(e,t,n,r,o,s){return $(),Ee(r.ParentLayout,null,{"page-bottom":xe(()=>[W("div",Xm,[te(r.ChronologicalWorksTable)])]),_:1})}const ev=we(Ym,[["render",Zm],["__scopeId","data-v-765855fb"],["__file","WorksPage.vue"]]),tv=Ft({layouts:{WorksPage:ev}}),nv=Object.freeze(Object.defineProperty({__proto__:null,default:tv},Symbol.toStringTag,{value:"Module"})),_r=[ch,bh,kh,Th,Rh,Nh,Mm,jm,nv].map(e=>e.default).filter(Boolean),rv=JSON.parse('{"base":"/","lang":"ru-RU","title":"Дмитрий Плешевский","description":" ","head":[],"locales":{"/":{"lang":"ru-RU","title":"Дмитрий Плешевский"},"/eng/":{"lang":"en-US","title":"Dmitriy Pleshevskiy"}}}');var Rn=yn(rv),ov=Jf,sv=()=>{const e=wd({history:ov(Ml("/")),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=Gn(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},iv=e=>{e.component("ClientOnly",ts),e.component("Content",ns),e.component("RouteLink",qr)},lv=(e,t,n)=>{const r=A(()=>t.currentRoute.value.path),o=oc((k,R)=>({get(){return k(),t.currentRoute.value.meta._pageChunk},set(b){t.currentRoute.value.meta._pageChunk=b,R()}})),s=A(()=>Kt.resolveLayouts(n)),i=A(()=>Kt.resolveRouteLocale(Rn.value.locales,r.value)),l=A(()=>Kt.resolveSiteLocaleData(Rn.value,i.value)),a=A(()=>o.value.comp),c=A(()=>o.value.data),f=A(()=>c.value.frontmatter),u=A(()=>Kt.resolvePageHeadTitle(c.value,l.value)),p=A(()=>Kt.resolvePageHead(u.value,f.value,l.value)),g=A(()=>Kt.resolvePageLang(c.value,l.value)),_=A(()=>Kt.resolvePageLayout(c.value,s.value)),S={layouts:s,pageData:c,pageComponent:a,pageFrontmatter:f,pageHead:p,pageHeadTitle:u,pageLang:g,pageLayout:_,redirects:xo,routeLocale:i,routePath:r,routes:pn,siteData:Rn,siteLocaleData:l};return e.provide(Zo,S),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:()=>Rn.value},$siteLocale:{get:()=>l.value},$withBase:{get:()=>rs}}),S},av=()=>{const e=Pd(),t=kd();let n=[];const r=()=>{e.value.forEach(i=>{const l=cv(i);l&&n.push(l)})},o=()=>{const i=[];return e.value.forEach(l=>{const a=uv(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(xd,s),Ge(()=>{r(),$e(e,s,{immediate:!1})})},cv=([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},uv=([e,t,n])=>{if(!st(e))return null;const r=document.createElement(e);return Qo(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},fv=ef,dv=async()=>{var n;const e=fv({name:"Vuepress",setup(){var s;av();for(const i of _r)(s=i.setup)==null||s.call(i);const r=_r.flatMap(({rootComponents:i=[]})=>i.map(l=>ke(l))),o=Ld();return()=>[ke(o.value),r]}}),t=sv();iv(e),lv(e,t,_r);for(const r of _r)await((n=r.enhance)==null?void 0:n.call(r,{app:e,router:t,siteData:Rn}));return e.use(t),{app:e,router:t}};dv().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{we as _,W as a,$t as b,Y as c,dv as createVueApp,te as d,pu as e,$ as o,Ko 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/index.html-CFkWDF7K.js b/dist/assets/index.html-Bt5-NjbQ.js similarity index 98% rename from dist/assets/index.html-CFkWDF7K.js rename to dist/assets/index.html-Bt5-NjbQ.js index 7441b0e..2567458 100644 --- a/dist/assets/index.html-CFkWDF7K.js +++ b/dist/assets/index.html-Bt5-NjbQ.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-DVhfb_AK.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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":3}]},"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-BkWeNt32.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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":3}]},"filePathRelative":"eng/index.md"}');export{x as comp,k as data}; diff --git a/dist/assets/index.html-Dey18qa3.js b/dist/assets/index.html-CXTX8AI0.js similarity index 99% rename from dist/assets/index.html-Dey18qa3.js rename to dist/assets/index.html-CXTX8AI0.js index d4f003e..60805fe 100644 --- a/dist/assets/index.html-Dey18qa3.js +++ b/dist/assets/index.html-CXTX8AI0.js @@ -1 +1 @@ -import{_ as i,c as a,a as t,b as e,d as o,w as c,e as n,r as d,o as r}from"./app-DVhfb_AK.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=d("RouteLink");return r(),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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":3}]},"filePathRelative":"index.md"}');export{b as comp,f as data}; +import{_ as i,c as a,a as t,b as e,d as o,w as c,e as n,r as d,o as r}from"./app-BkWeNt32.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=d("RouteLink");return r(),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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":3}]},"filePathRelative":"index.md"}');export{b as comp,f as data}; diff --git a/dist/assets/works.html-D_1XWu_F.js b/dist/assets/works.html-aZ7q92-5.js similarity index 94% rename from dist/assets/works.html-D_1XWu_F.js rename to dist/assets/works.html-aZ7q92-5.js index 2686332..184bd6d 100644 --- a/dist/assets/works.html-D_1XWu_F.js +++ b/dist/assets/works.html-aZ7q92-5.js @@ -1 +1 @@ -import{_ as e,c as r,o as t,e as a}from"./app-DVhfb_AK.js";const l={},i=a('

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

Binary Management

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

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

  • Разработка GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ). Перенес триггеры базы данных в бизнес-логику. Написал интеграционные тесты на 70% api.
  • Разработка фронтенда (React, Antd). Сформировал uikit и общие компоненты, оптимизировал сложные и нагруженные компоненты. Полностью изменил работу с API на фронтенде. Внедрил практику написания интеграционных тестов с помощью cypress.
  • Полностью перенес проект на TypeScript. Сформировал изолированные модули системы.
  • Как руководитель команды, я привнес в проект метод критической цепи, метод буфера и метод планирования с конца. Помог команде войти в ритм, чтобы выпускать релизы каждую неделю небольшими партиями. Я также несколько раз составлял индивидуальный план развития для членов команды.

Master Progress

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

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

Core Spirit

  • Даты: Август 2018 - May 2020
  • Роль: Lead Fullstack Developer

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

  • REST API (Node.JS, Express, 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)

Хронология

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

',19),s=[i];function n(o,p){return t(),r("div",null,s)}const h=e(l,[["render",n],["__file","works.html.vue"]]),d=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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":[]}],"git":{"updatedTime":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":2}]},"filePathRelative":"works.md"}');export{h as comp,d as data}; +import{_ as e,c as r,o as t,e as a}from"./app-BkWeNt32.js";const l={},i=a('

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

Binary Management

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

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

  • Разработка GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ). Перенес триггеры базы данных в бизнес-логику. Написал интеграционные тесты на 70% api.
  • Разработка фронтенда (React, Antd). Сформировал uikit и общие компоненты, оптимизировал сложные и нагруженные компоненты. Полностью изменил работу с API на фронтенде. Внедрил практику написания интеграционных тестов с помощью cypress.
  • Полностью перенес проект на TypeScript. Сформировал изолированные модули системы.
  • Как руководитель команды, я привнес в проект метод критической цепи, метод буфера и метод планирования с конца. Помог команде войти в ритм, чтобы выпускать релизы каждую неделю небольшими партиями. Я также несколько раз составлял индивидуальный план развития для членов команды.

Master Progress

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

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

Core Spirit

  • Даты: Август 2018 - May 2020
  • Роль: Lead Fullstack Developer

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

  • REST API (Node.JS, Express, 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)

Хронология

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

',19),s=[i];function n(o,p){return t(),r("div",null,s)}const h=e(l,[["render",n],["__file","works.html.vue"]]),d=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-07-25T13:59:34.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T13:59:34.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":[]}],"git":{"updatedTime":1721915974000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":3}]},"filePathRelative":"works.md"}');export{h as comp,d as data}; diff --git a/dist/assets/works.html-D_SQDS1j.js b/dist/assets/works.html-kia6uxqT.js similarity index 98% rename from dist/assets/works.html-D_SQDS1j.js rename to dist/assets/works.html-kia6uxqT.js index 4383637..fa59b31 100644 --- a/dist/assets/works.html-D_SQDS1j.js +++ b/dist/assets/works.html-kia6uxqT.js @@ -1 +1 @@ -import{_ as e,c as t,o as r,e as o}from"./app-DVhfb_AK.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

  • Development of the GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ). Moved database triggers to business logic. Wrote integration tests on 70% api.
  • Development of the frontend (React, Antd). Formed uikit, shared components, redesigned the page generation gathering. Completely changed work with API on the frontend. Introduced the practice of writing integration tests using cypress
  • Completely ported the project to TypeScript. I have formed isolated modules of the system.
  • As a team leader, I brought the critical chain method, the buffer method, and the planning method to the project from the end. Helped the team get into a rhythm to make releases each week in small batches. A couple of times I also prepared an individual development plan for team members.

Master Progress

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

Development web infrastructure of the educational center Master Progress

Core Spirit

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

Development of Social platform focusing on human and planetary enhancement.

  • REST API (Node.JS, Express, PostgreSQL) for main site and backoffice.
  • 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.

',19),n=[i];function l(s,p){return r(),t("div",null,n)}const h=e(a,[["render",l],["__file","works.html.vue"]]),d=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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":2,"title":"Chronology","slug":"chronology","link":"#chronology","children":[]}],"git":{"updatedTime":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":2}]},"filePathRelative":"eng/works.md"}');export{h as comp,d as data}; +import{_ as e,c as t,o as r,e as o}from"./app-BkWeNt32.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

  • Development of the GraphQL API (Node.JS, Apollo, PostgreSQL, Redis, BullMQ). Moved database triggers to business logic. Wrote integration tests on 70% api.
  • Development of the frontend (React, Antd). Formed uikit, shared components, redesigned the page generation gathering. Completely changed work with API on the frontend. Introduced the practice of writing integration tests using cypress
  • Completely ported the project to TypeScript. I have formed isolated modules of the system.
  • As a team leader, I brought the critical chain method, the buffer method, and the planning method to the project from the end. Helped the team get into a rhythm to make releases each week in small batches. A couple of times I also prepared an individual development plan for team members.

Master Progress

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

Development web infrastructure of the educational center Master Progress

Core Spirit

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

Development of Social platform focusing on human and planetary enhancement.

  • REST API (Node.JS, Express, PostgreSQL) for main site and backoffice.
  • 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.

',19),n=[i];function l(s,p){return r(),t("div",null,n)}const h=e(a,[["render",l],["__file","works.html.vue"]]),d=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-07-25T12:12:09.000Z"}],["meta",{"property":"article:modified_time","content":"2024-07-25T12:12:09.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":2,"title":"Chronology","slug":"chronology","link":"#chronology","children":[]}],"git":{"updatedTime":1721909529000,"contributors":[{"name":"Dmitriy Pleshevskiy","email":"dmitriy@pleshevski.ru","commits":2}]},"filePathRelative":"eng/works.md"}');export{h as comp,d as data}; diff --git a/dist/eng/index.html b/dist/eng/index.html index 44ea76e..03137dc 100644 --- a/dist/eng/index.html +++ b/dist/eng/index.html @@ -33,11 +33,11 @@ Resume | Dmitriy Pleshevskiy - - + +
- + diff --git a/dist/eng/works.html b/dist/eng/works.html index 1f7232b..830798e 100644 --- a/dist/eng/works.html +++ b/dist/eng/works.html @@ -33,11 +33,11 @@ Works | Dmitriy Pleshevskiy - - + + -
- +
+ diff --git a/dist/index.html b/dist/index.html index f24e06d..37ce99a 100644 --- a/dist/index.html +++ b/dist/index.html @@ -33,11 +33,11 @@ Резюме | Дмитрий Плешевский - - + +
- + diff --git a/dist/sitemap.xml b/dist/sitemap.xml index 6bb1e1d..a6aa71f 100644 --- a/dist/sitemap.xml +++ b/dist/sitemap.xml @@ -1,3 +1,3 @@ -https://pleshevski.ru/2024-07-25T12:12:09.000Zmonthlyhttps://pleshevski.ru/works.html2024-07-25T12:12:09.000Zmonthlyhttps://pleshevski.ru/eng/2024-07-25T12:12:09.000Zmonthlyhttps://pleshevski.ru/eng/works.html2024-07-25T12:12:09.000Zmonthly \ No newline at end of file +https://pleshevski.ru/2024-07-25T12:12:09.000Zmonthlyhttps://pleshevski.ru/works.html2024-07-25T13:59:34.000Zmonthlyhttps://pleshevski.ru/eng/2024-07-25T12:12:09.000Zmonthlyhttps://pleshevski.ru/eng/works.html2024-07-25T12:12:09.000Zmonthly \ No newline at end of file diff --git a/dist/works.html b/dist/works.html index 1198fe9..df29a23 100644 --- a/dist/works.html +++ b/dist/works.html @@ -31,13 +31,13 @@ document.documentElement.dataset.theme = 'dark' } - Работы | Дмитрий Плешевский + Работы | Дмитрий Плешевский - - + + -
- +
+ diff --git a/docs/.vuepress/modules/work/ChronologicalWorksTable/ChronologicalWorksTable.vue b/docs/.vuepress/modules/work/ChronologicalWorksTable/ChronologicalWorksTable.vue index c82a6c6..a3c9dfb 100644 --- a/docs/.vuepress/modules/work/ChronologicalWorksTable/ChronologicalWorksTable.vue +++ b/docs/.vuepress/modules/work/ChronologicalWorksTable/ChronologicalWorksTable.vue @@ -1,4 +1,8 @@