{if(n!==r){for(const l in r){if((0,o.Gg)(l))continue;const a=r[l],f=n[l];a!==f&&"value"!==l&&c(t,l,f,a,u,e.children,i,s,Y)}if(n!==o.kT)for(const l in n)(0,o.Gg)(l)||l in r||c(t,l,n[l],null,u,e.children,i,s,Y);"value"in r&&c(t,"value",n.value,r.value)}},M=(t,e,n,r,o,s,c,u,a)=>{const f=e.el=t?t.el:l(""),p=e.anchor=t?t.anchor:l("");let{patchFlag:d,dynamicChildren:h,slotScopeIds:v}=e;v&&(u=u?u.concat(v):v),null==t?(i(f,n,r),i(p,n,r),R(e.children,n,p,o,s,c,u,a)):d>0&&64&d&&h&&t.dynamicChildren?(A(t.dynamicChildren,h,n,o,s,c,u),(null!=e.key||o&&e===o.subTree)&&Ae(t,e,!0)):G(t,e,n,p,o,s,c,u,a)},L=(t,e,n,r,o,i,s,c,u)=>{e.slotScopeIds=c,null==t?512&e.shapeFlag?o.ctx.activate(e,n,r,s,u):$(e,n,r,o,i,s,u):N(t,e,u)},$=(t,e,n,r,o,i,s)=>{const c=t.component=mn(t,r,o);if(vt(t)&&(c.ctx.renderer=et),Cn(c),c.asyncDep){if(o&&o.registerDep(c,U),!t.el){const t=c.subTree=en(Ne);_(null,t,e,n)}}else U(c,t,e,n,o,i,s)},N=(t,e,n)=>{const r=e.component=t.component;if(B(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void D(r,e,n);r.next=e,O(r.update),r.update()}else e.el=t.el,r.vnode=e},U=(t,e,n,i,s,c,u)=>{const l=()=>{if(t.isMounted){let e,{next:n,bu:r,u:i,parent:l,vnode:a}=t,f=n;0,Te(t,!1),n?(n.el=a.el,D(t,n,u)):n=a,r&&(0,o.ir)(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&dn(e,l,n,a),Te(t,!0);const p=J(t);0;const h=t.subTree;t.subTree=p,y(h,p,d(h.el),Q(h),t,s,c),n.el=p.el,null===f&&H(t,p.el),i&&Re(i,s),(e=n.props&&n.props.onVnodeUpdated)&&Re((()=>dn(e,l,n,a)),s)}else{let r;const{el:u,props:l}=e,{bm:a,m:f,parent:p}=t,d=ht(e);if(Te(t,!1),a&&(0,o.ir)(a),!d&&(r=l&&l.onVnodeBeforeMount)&&dn(r,p,e),Te(t,!0),u&&rt){const n=()=>{t.subTree=J(t),rt(u,t.subTree,t,s,null)};d?e.type.__asyncLoader().then((()=>!t.isUnmounted&&n())):n()}else{0;const r=t.subTree=J(t);0,y(null,r,n,i,t,s,c),e.el=r.el}if(f&&Re(f,s),!d&&(r=l&&l.onVnodeMounted)){const t=e;Re((()=>dn(r,p,t)),s)}(256&e.shapeFlag||p&&ht(p.vnode)&&256&p.vnode.shapeFlag)&&t.a&&Re(t.a,s),t.isMounted=!0,e=n=i=null}},a=t.effect=new r.qq(l,(()=>S(f)),t.scope),f=t.update=()=>a.run();f.id=t.uid,Te(t,!0),f()},D=(t,e,n)=>{e.component=t;const o=t.vnode.props;t.vnode=e,t.next=null,le(t,e.props,o,n),ke(t,e.children,n),(0,r.Jd)(),P(void 0,t.update),(0,r.lk)()},G=(t,e,n,r,o,i,s,c,u=!1)=>{const l=t&&t.children,a=t?t.shapeFlag:0,f=e.children,{patchFlag:d,shapeFlag:h}=e;if(d>0){if(128&d)return void q(l,f,n,r,o,i,s,c,u);if(256&d)return void V(l,f,n,r,o,i,s,c,u)}8&h?(16&a&&Y(l,o,i),f!==l&&p(n,f)):16&a?16&h?q(l,f,n,r,o,i,s,c,u):Y(l,o,i,!0):(8&a&&p(n,""),16&h&&R(f,n,r,o,i,s,c,u))},V=(t,e,n,r,i,s,c,u,l)=>{t=t||o.Z6,e=e||o.Z6;const a=t.length,f=e.length,p=Math.min(a,f);let d;for(d=0;df?Y(t,i,s,!0,!1,p):R(e,n,r,i,s,c,u,l,p)},q=(t,e,n,r,i,s,c,u,l)=>{let a=0;const f=e.length;let p=t.length-1,d=f-1;while(a<=p&&a<=d){const r=t[a],o=e[a]=l?an(e[a]):ln(e[a]);if(!Xe(r,o))break;y(r,o,n,null,i,s,c,u,l),a++}while(a<=p&&a<=d){const r=t[p],o=e[d]=l?an(e[d]):ln(e[d]);if(!Xe(r,o))break;y(r,o,n,null,i,s,c,u,l),p--,d--}if(a>p){if(a<=d){const t=d+1,o=td)while(a<=p)z(t[a],i,s,!0),a++;else{const h=a,v=a,m=new Map;for(a=v;a<=d;a++){const t=e[a]=l?an(e[a]):ln(e[a]);null!=t.key&&m.set(t.key,a)}let g,b=0;const _=d-v+1;let w=!1,x=0;const k=new Array(_);for(a=0;a<_;a++)k[a]=0;for(a=h;a<=p;a++){const r=t[a];if(b>=_){z(r,i,s,!0);continue}let o;if(null!=r.key)o=m.get(r.key);else for(g=v;g<=d;g++)if(0===k[g-v]&&Xe(r,e[g])){o=g;break}void 0===o?z(r,i,s,!0):(k[o-v]=a+1,o>=x?x=o:w=!0,y(r,e[o],n,null,i,s,c,u,l),b++)}const S=w?Fe(k):o.Z6;for(g=S.length-1,a=_-1;a>=0;a--){const t=v+a,o=e[t],p=t+1{const{el:s,type:c,transition:u,children:l,shapeFlag:a}=t;if(6&a)return void W(t.component.subTree,e,n,r);if(128&a)return void t.suspense.move(e,n,r);if(64&a)return void c.move(t,e,n,et);if(c===Le){i(s,e,n);for(let t=0;tu.enter(s)),o);else{const{leave:t,delayLeave:r,afterLeave:o}=u,c=()=>i(s,e,n),l=()=>{t(s,(()=>{c(),o&&o()}))};r?r(s,c,l):l()}else i(s,e,n)},z=(t,e,n,r=!1,o=!1)=>{const{type:i,props:s,ref:c,children:u,dynamicChildren:l,shapeFlag:a,patchFlag:f,dirs:p}=t;if(null!=c&&Ee(c,null,n,t,!0),256&a)return void e.ctx.deactivate(t);const d=1&a&&p,h=!ht(t);let v;if(h&&(v=s&&s.onVnodeBeforeUnmount)&&dn(v,e,t),6&a)Z(t.component,n,r);else{if(128&a)return void t.suspense.unmount(n,r);d&&Lt(t,null,e,"beforeUnmount"),64&a?t.type.remove(t,e,n,o,et,r):l&&(i!==Le||f>0&&64&f)?Y(l,e,n,!1,!0):(i===Le&&384&f||!o&&16&a)&&Y(u,e,n),r&&K(t)}(h&&(v=s&&s.onVnodeUnmounted)||d)&&Re((()=>{v&&dn(v,e,t),d&&Lt(t,null,e,"unmounted")}),n)},K=t=>{const{type:e,el:n,anchor:r,transition:o}=t;if(e===Le)return void X(n,r);if(e===Ue)return void k(t);const i=()=>{s(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&t.shapeFlag&&o&&!o.persisted){const{leave:e,delayLeave:r}=o,s=()=>e(n,i);r?r(t.el,i,s):s()}else i()},X=(t,e)=>{let n;while(t!==e)n=h(t),s(t),t=n;s(e)},Z=(t,e,n)=>{const{bum:r,scope:i,update:s,subTree:c,um:u}=t;r&&(0,o.ir)(r),i.stop(),s&&(s.active=!1,z(c,t,e,n)),u&&Re(u,e),Re((()=>{t.isUnmounted=!0}),e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},Y=(t,e,n,r=!1,o=!1,i=0)=>{for(let s=i;s6&t.shapeFlag?Q(t.component.subTree):128&t.shapeFlag?t.suspense.next():h(t.anchor||t.el),tt=(t,e,n)=>{null==t?e._vnode&&z(e._vnode,null,null,!0):y(e._vnode||null,t,e,null,null,null,n),I(),e._vnode=t},et={p:y,um:z,m:W,r:K,mt:$,mc:R,pc:G,pbc:A,n:Q,o:t};let nt,rt;return e&&([nt,rt]=e(et)),{render:tt,hydrate:nt,createApp:Oe(tt,nt)}}function Te({effect:t,update:e},n){t.allowRecurse=e.allowRecurse=n}function Ae(t,e,n=!1){const r=t.children,i=e.children;if((0,o.kJ)(r)&&(0,o.kJ)(i))for(let o=0;o>1,t[n[c]]0&&(e[r]=n[i-1]),n[i]=r)}}i=n.length,s=n[i-1];while(i-- >0)n[i]=s,s=e[s];return n}const Me=t=>t.__isTeleport;const Le=Symbol(void 0),$e=Symbol(void 0),Ne=Symbol(void 0),Ue=Symbol(void 0),De=[];let Je=null;function Ge(t=!1){De.push(Je=t?null:[])}function Ve(){De.pop(),Je=De[De.length-1]||null}let Be=1;function qe(t){Be+=t}function He(t){return t.dynamicChildren=Be>0?Je||o.Z6:null,Ve(),Be>0&&Je&&Je.push(t),t}function We(t,e,n,r,o,i){return He(tn(t,e,n,r,o,i,!0))}function ze(t,e,n,r,o){return He(en(t,e,n,r,o,!0))}function Ke(t){return!!t&&!0===t.__v_isVNode}function Xe(t,e){return t.type===e.type&&t.key===e.key}const Ze="__vInternal",Ye=({key:t})=>null!=t?t:null,Qe=({ref:t,ref_key:e,ref_for:n})=>null!=t?(0,o.HD)(t)||(0,r.dq)(t)||(0,o.mf)(t)?{i:$,r:t,k:e,f:!!n}:t:null;function tn(t,e=null,n=null,r=0,i=null,s=(t===Le?0:1),c=!1,u=!1){const l={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&Ye(e),ref:e&&Qe(e),scopeId:N,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null};return u?(fn(l,n),128&s&&t.normalize(l)):n&&(l.shapeFlag|=(0,o.HD)(n)?8:16),Be>0&&!c&&Je&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&Je.push(l),l}const en=nn;function nn(t,e=null,n=null,i=0,s=null,c=!1){if(t&&t!==Ut||(t=Ne),Ke(t)){const r=on(t,e,!0);return n&&fn(r,n),Be>0&&!c&&Je&&(6&r.shapeFlag?Je[Je.indexOf(t)]=r:Je.push(r)),r.patchFlag|=-2,r}if(An(t)&&(t=t.__vccOpts),e){e=rn(e);let{class:t,style:n}=e;t&&!(0,o.HD)(t)&&(e.class=(0,o.C_)(t)),(0,o.Kn)(n)&&((0,r.X3)(n)&&!(0,o.kJ)(n)&&(n=(0,o.l7)({},n)),e.style=(0,o.j5)(n))}const u=(0,o.HD)(t)?1:W(t)?128:Me(t)?64:(0,o.Kn)(t)?4:(0,o.mf)(t)?2:0;return tn(t,e,n,i,s,u,c,!0)}function rn(t){return t?(0,r.X3)(t)||Ze in t?(0,o.l7)({},t):t:null}function on(t,e,n=!1){const{props:r,ref:i,patchFlag:s,children:c}=t,u=e?pn(r||{},e):r,l={__v_isVNode:!0,__v_skip:!0,type:t.type,props:u,key:u&&Ye(u),ref:e&&e.ref?n&&i?(0,o.kJ)(i)?i.concat(Qe(e)):[i,Qe(e)]:Qe(e):i,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:c,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Le?-1===s?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&on(t.ssContent),ssFallback:t.ssFallback&&on(t.ssFallback),el:t.el,anchor:t.anchor};return l}function sn(t=" ",e=0){return en($e,null,t,e)}function cn(t,e){const n=en(Ue,null,t);return n.staticCount=e,n}function un(t="",e=!1){return e?(Ge(),ze(Ne,null,t)):en(Ne,null,t)}function ln(t){return null==t||"boolean"===typeof t?en(Ne):(0,o.kJ)(t)?en(Le,null,t.slice()):"object"===typeof t?an(t):en($e,null,String(t))}function an(t){return null===t.el||t.memo?t:on(t)}function fn(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if((0,o.kJ)(e))n=16;else if("object"===typeof e){if(65&r){const n=e.default;return void(n&&(n._c&&(n._d=!1),fn(t,n()),n._c&&(n._d=!0)))}{n=32;const r=e._;r||Ze in e?3===r&&$&&(1===$.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=$}}else(0,o.mf)(e)?(e={default:e,_ctx:$},n=32):(e=String(e),64&r?(n=16,e=[sn(e)]):n=8);t.children=e,t.shapeFlag|=n}function pn(...t){const e={};for(let n=0;ngn||$,bn=t=>{gn=t,t.scope.on()},_n=()=>{gn&&gn.scope.off(),gn=null};function wn(t){return 4&t.vnode.shapeFlag}let xn,kn,Sn=!1;function Cn(t,e=!1){Sn=e;const{props:n,children:r}=t.vnode,o=wn(t);ue(t,n,o,e),xe(t,r);const i=o?On(t,e):void 0;return Sn=!1,i}function On(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=(0,r.Xl)(new Proxy(t.ctx,Wt));const{setup:s}=n;if(s){const n=t.setupContext=s.length>1?Pn(t):null;bn(t),(0,r.Jd)();const u=i(s,t,0,[t.props,n]);if((0,r.lk)(),_n(),(0,o.tI)(u)){if(u.then(_n,_n),e)return u.then((n=>{En(t,n,e)})).catch((e=>{c(e,t,0)}));t.asyncDep=u}else En(t,u,e)}else jn(t,e)}function En(t,e,n){(0,o.mf)(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:(0,o.Kn)(e)&&(t.setupState=(0,r.WL)(e)),jn(t,n)}function jn(t,e,n){const i=t.type;if(!t.render){if(!e&&xn&&!i.render){const e=i.template;if(e){0;const{isCustomElement:n,compilerOptions:r}=t.appContext.config,{delimiters:s,compilerOptions:c}=i,u=(0,o.l7)((0,o.l7)({isCustomElement:n,delimiters:s},r),c);i.render=xn(e,u)}}t.render=i.render||o.dG,kn&&kn(t)}bn(t),(0,r.Jd)(),Kt(t),(0,r.lk)(),_n()}function Rn(t){return new Proxy(t.attrs,{get(e,n){return(0,r.j)(t,"get","$attrs"),e[n]}})}function Pn(t){const e=e=>{t.exposed=e||{}};let n;return{get attrs(){return n||(n=Rn(t))},slots:t.slots,emit:t.emit,expose:e}}function In(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(t.exposed)),{get(e,n){return n in e?e[n]:n in Ht?Ht[n](t):void 0}}))}function Tn(t,e=!0){return(0,o.mf)(t)?t.displayName||t.name:t.name||e&&t.__name}function An(t){return(0,o.mf)(t)&&"__vccOpts"in t}const Fn=(t,e)=>(0,r.Fl)(t,e,Sn);function Mn(t,e,n){const r=arguments.length;return 2===r?(0,o.Kn)(e)&&!(0,o.kJ)(e)?Ke(e)?en(t,null,[e]):en(t,e):en(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Ke(n)&&(n=[n]),en(t,e,n))}Symbol("");const Ln="3.2.37"},9242:function(t,e,n){"use strict";n.d(e,{nr:function(){return nt},ri:function(){return st}});var r=n(7139),o=n(3396);n(4870);const i="http://www.w3.org/2000/svg",s="undefined"!==typeof document?document:null,c=s&&s.createElement("template"),u={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const o=e?s.createElementNS(i,t):s.createElement(t,n?{is:n}:void 0);return"select"===t&&r&&null!=r.multiple&&o.setAttribute("multiple",r.multiple),o},createText:t=>s.createTextNode(t),createComment:t=>s.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>s.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},cloneNode(t){const e=t.cloneNode(!0);return"_value"in t&&(e._value=t._value),e},insertStaticContent(t,e,n,r,o,i){const s=n?n.previousSibling:e.lastChild;if(o&&(o===i||o.nextSibling)){while(1)if(e.insertBefore(o.cloneNode(!0),n),o===i||!(o=o.nextSibling))break}else{c.innerHTML=r?`${t} `:t;const o=c.content;if(r){const t=o.firstChild;while(t.firstChild)o.appendChild(t.firstChild);o.removeChild(t)}e.insertBefore(o,n)}return[s?s.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function l(t,e,n){const r=t._vtc;r&&(e=(e?[e,...r]:[...r]).join(" ")),null==e?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function a(t,e,n){const o=t.style,i=(0,r.HD)(n);if(n&&!i){for(const t in n)p(o,t,n[t]);if(e&&!(0,r.HD)(e))for(const t in e)null==n[t]&&p(o,t,"")}else{const r=o.display;i?e!==n&&(o.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(o.display=r)}}const f=/\s*!important$/;function p(t,e,n){if((0,r.kJ)(n))n.forEach((n=>p(t,e,n)));else if(null==n&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const o=v(t,e);f.test(n)?t.setProperty((0,r.rs)(o),n.replace(f,""),"important"):t[o]=n}}const d=["Webkit","Moz","ms"],h={};function v(t,e){const n=h[e];if(n)return n;let o=(0,r._A)(e);if("filter"!==o&&o in t)return h[e]=o;o=(0,r.kC)(o);for(let r=0;r{let t=Date.now,e=!1;if("undefined"!==typeof window){Date.now()>document.createEvent("Event").timeStamp&&(t=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);e=!!(n&&Number(n[1])<=53)}return[t,e]})();let w=0;const x=Promise.resolve(),k=()=>{w=0},S=()=>w||(x.then(k),w=b());function C(t,e,n,r){t.addEventListener(e,n,r)}function O(t,e,n,r){t.removeEventListener(e,n,r)}function E(t,e,n,r,o=null){const i=t._vei||(t._vei={}),s=i[e];if(r&&s)s.value=r;else{const[n,c]=R(e);if(r){const s=i[e]=P(r,o);C(t,n,s,c)}else s&&(O(t,n,s,c),i[e]=void 0)}}const j=/(?:Once|Passive|Capture)$/;function R(t){let e;if(j.test(t)){let n;e={};while(n=t.match(j))t=t.slice(0,t.length-n[0].length),e[n[0].toLowerCase()]=!0}return[(0,r.rs)(t.slice(2)),e]}function P(t,e){const n=t=>{const r=t.timeStamp||b();(_||r>=n.attached-1)&&(0,o.$d)(I(t,n.value),e,5,[t])};return n.value=t,n.attached=S(),n}function I(t,e){if((0,r.kJ)(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}const T=/^on[a-z]/,A=(t,e,n,o,i=!1,s,c,u,f)=>{"class"===e?l(t,o,i):"style"===e?a(t,n,o):(0,r.F7)(e)?(0,r.tR)(e)||E(t,e,n,o,c):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):F(t,e,o,i))?y(t,e,o,s,c,u,f):("true-value"===e?t._trueValue=o:"false-value"===e&&(t._falseValue=o),g(t,e,o,i))};function F(t,e,n,o){return o?"innerHTML"===e||"textContent"===e||!!(e in t&&T.test(e)&&(0,r.mf)(n)):"spellcheck"!==e&&"draggable"!==e&&"translate"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!T.test(e)||!(0,r.HD)(n))&&e in t))))}"undefined"!==typeof HTMLElement&&HTMLElement;const M="transition",L="animation",$=(t,{slots:e})=>(0,o.h)(o.P$,J(t),e);$.displayName="Transition";const N={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},U=($.props=(0,r.l7)({},o.P$.props,N),(t,e=[])=>{(0,r.kJ)(t)?t.forEach((t=>t(...e))):t&&t(...e)}),D=t=>!!t&&((0,r.kJ)(t)?t.some((t=>t.length>1)):t.length>1);function J(t){const e={};for(const r in t)r in N||(e[r]=t[r]);if(!1===t.css)return e;const{name:n="v",type:o,duration:i,enterFromClass:s=`${n}-enter-from`,enterActiveClass:c=`${n}-enter-active`,enterToClass:u=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:a=c,appearToClass:f=u,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=t,v=G(i),m=v&&v[0],g=v&&v[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:_,onLeave:w,onLeaveCancelled:x,onBeforeAppear:k=y,onAppear:S=b,onAppearCancelled:C=_}=e,O=(t,e,n)=>{q(t,e?f:u),q(t,e?a:c),n&&n()},E=(t,e)=>{t._isLeaving=!1,q(t,p),q(t,h),q(t,d),e&&e()},j=t=>(e,n)=>{const r=t?S:b,i=()=>O(e,t,n);U(r,[e,i]),H((()=>{q(e,t?l:s),B(e,t?f:u),D(r)||z(e,o,m,i)}))};return(0,r.l7)(e,{onBeforeEnter(t){U(y,[t]),B(t,s),B(t,c)},onBeforeAppear(t){U(k,[t]),B(t,l),B(t,a)},onEnter:j(!1),onAppear:j(!0),onLeave(t,e){t._isLeaving=!0;const n=()=>E(t,e);B(t,p),Y(),B(t,d),H((()=>{t._isLeaving&&(q(t,p),B(t,h),D(w)||z(t,o,g,n))})),U(w,[t,n])},onEnterCancelled(t){O(t,!1),U(_,[t])},onAppearCancelled(t){O(t,!0),U(C,[t])},onLeaveCancelled(t){E(t),U(x,[t])}})}function G(t){if(null==t)return null;if((0,r.Kn)(t))return[V(t.enter),V(t.leave)];{const e=V(t);return[e,e]}}function V(t){const e=(0,r.He)(t);return e}function B(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.add(e))),(t._vtc||(t._vtc=new Set)).add(e)}function q(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.remove(e)));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function H(t){requestAnimationFrame((()=>{requestAnimationFrame(t)}))}let W=0;function z(t,e,n,r){const o=t._endId=++W,i=()=>{o===t._endId&&r()};if(n)return setTimeout(i,n);const{type:s,timeout:c,propCount:u}=K(t,e);if(!s)return r();const l=s+"end";let a=0;const f=()=>{t.removeEventListener(l,p),i()},p=e=>{e.target===t&&++a>=u&&f()};setTimeout((()=>{a(n[t]||"").split(", "),o=r(M+"Delay"),i=r(M+"Duration"),s=X(o,i),c=r(L+"Delay"),u=r(L+"Duration"),l=X(c,u);let a=null,f=0,p=0;e===M?s>0&&(a=M,f=s,p=i.length):e===L?l>0&&(a=L,f=l,p=u.length):(f=Math.max(s,l),a=f>0?s>l?M:L:null,p=a?a===M?i.length:u.length:0);const d=a===M&&/\b(transform|all)(,|$)/.test(n[M+"Property"]);return{type:a,timeout:f,propCount:p,hasTransform:d}}function X(t,e){while(t.lengthZ(e)+Z(t[n]))))}function Z(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function Y(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Q=t=>{const e=t.props["onUpdate:modelValue"]||!1;return(0,r.kJ)(e)?t=>(0,r.ir)(e,t):e};function tt(t){t.target.composing=!0}function et(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const nt={created(t,{modifiers:{lazy:e,trim:n,number:o}},i){t._assign=Q(i);const s=o||i.props&&"number"===i.props.type;C(t,e?"change":"input",(e=>{if(e.target.composing)return;let o=t.value;n&&(o=o.trim()),s&&(o=(0,r.He)(o)),t._assign(o)})),n&&C(t,"change",(()=>{t.value=t.value.trim()})),e||(C(t,"compositionstart",tt),C(t,"compositionend",et),C(t,"change",et))},mounted(t,{value:e}){t.value=null==e?"":e},beforeUpdate(t,{value:e,modifiers:{lazy:n,trim:o,number:i}},s){if(t._assign=Q(s),t.composing)return;if(document.activeElement===t&&"range"!==t.type){if(n)return;if(o&&t.value.trim()===e)return;if((i||"number"===t.type)&&(0,r.He)(t.value)===e)return}const c=null==e?"":e;t.value!==c&&(t.value=c)}};const rt=(0,r.l7)({patchProp:A},u);let ot;function it(){return ot||(ot=(0,o.Us)(rt))}const st=(...t)=>{const e=it().createApp(...t);const{mount:n}=e;return e.mount=t=>{const o=ct(t);if(!o)return;const i=e._component;(0,r.mf)(i)||i.render||i.template||(i.template=o.innerHTML),o.innerHTML="";const s=n(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},e};function ct(t){if((0,r.HD)(t)){const e=document.querySelector(t);return e}return t}},7139:function(t,e,n){"use strict";function r(t,e){const n=Object.create(null),r=t.split(",");for(let o=0;o!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,{C_:function(){return d},DM:function(){return T},E9:function(){return rt},F7:function(){return S},Gg:function(){return B},HD:function(){return M},He:function(){return et},Kn:function(){return $},NO:function(){return x},Nj:function(){return tt},Od:function(){return E},PO:function(){return G},Pq:function(){return c},RI:function(){return R},S0:function(){return V},W7:function(){return J},WV:function(){return v},Z6:function(){return _},_A:function(){return W},_N:function(){return I},aU:function(){return Y},dG:function(){return w},e1:function(){return i},fY:function(){return r},hR:function(){return Z},hq:function(){return m},ir:function(){return Q},j5:function(){return l},kC:function(){return X},kJ:function(){return P},kT:function(){return b},l7:function(){return O},mf:function(){return F},rs:function(){return K},tI:function(){return N},tR:function(){return C},yA:function(){return u},yk:function(){return L},zw:function(){return g}});const o="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",i=r(o);const s="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",c=r(s);function u(t){return!!t||""===t}function l(t){if(P(t)){const e={};for(let n=0;n{if(t){const n=t.split(f);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function d(t){let e="";if(M(t))e=t;else if(P(t))for(let n=0;nv(t,e)))}const g=t=>M(t)?t:null==t?"":P(t)||$(t)&&(t.toString===U||!F(t.toString))?JSON.stringify(t,y,2):String(t),y=(t,e)=>e&&e.__v_isRef?y(t,e.value):I(e)?{[`Map(${e.size})`]:[...e.entries()].reduce(((t,[e,n])=>(t[`${e} =>`]=n,t)),{})}:T(e)?{[`Set(${e.size})`]:[...e.values()]}:!$(e)||P(e)||G(e)?e:String(e),b={},_=[],w=()=>{},x=()=>!1,k=/^on[^a-z]/,S=t=>k.test(t),C=t=>t.startsWith("onUpdate:"),O=Object.assign,E=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},j=Object.prototype.hasOwnProperty,R=(t,e)=>j.call(t,e),P=Array.isArray,I=t=>"[object Map]"===D(t),T=t=>"[object Set]"===D(t),A=t=>"[object Date]"===D(t),F=t=>"function"===typeof t,M=t=>"string"===typeof t,L=t=>"symbol"===typeof t,$=t=>null!==t&&"object"===typeof t,N=t=>$(t)&&F(t.then)&&F(t.catch),U=Object.prototype.toString,D=t=>U.call(t),J=t=>D(t).slice(8,-1),G=t=>"[object Object]"===D(t),V=t=>M(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,B=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),q=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},H=/-(\w)/g,W=q((t=>t.replace(H,((t,e)=>e?e.toUpperCase():"")))),z=/\B([A-Z])/g,K=q((t=>t.replace(z,"-$1").toLowerCase())),X=q((t=>t.charAt(0).toUpperCase()+t.slice(1))),Z=q((t=>t?`on${X(t)}`:"")),Y=(t,e)=>!Object.is(t,e),Q=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},et=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let nt;const rt=()=>nt||(nt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},89:function(t,e){"use strict";e.Z=(t,e)=>{const n=t.__vccOpts||t;for(const[r,o]of e)n[r]=o;return n}},65:function(t,e,n){"use strict";n.d(e,{MT:function(){return tt}});n(1703);var r=n(3396),o=n(4870);function i(){return s().__VUE_DEVTOOLS_GLOBAL_HOOK__}function s(){return"undefined"!==typeof navigator&&"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{}}const c="function"===typeof Proxy,u="devtools-plugin:setup",l="plugin:settings:set";let a,f;function p(){var t;return void 0!==a||("undefined"!==typeof window&&window.performance?(a=!0,f=window.performance):"undefined"!==typeof n.g&&(null===(t=n.g.perf_hooks)||void 0===t?void 0:t.performance)?(a=!0,f=n.g.perf_hooks.performance):a=!1),a}function d(){return p()?f.now():Date.now()}class h{constructor(t,e){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=e;const n={};if(t.settings)for(const s in t.settings){const e=t.settings[s];n[s]=e.defaultValue}const r=`__vue-devtools-plugin-settings__${t.id}`;let o=Object.assign({},n);try{const t=localStorage.getItem(r),e=JSON.parse(t);Object.assign(o,e)}catch(i){}this.fallbacks={getSettings(){return o},setSettings(t){try{localStorage.setItem(r,JSON.stringify(t))}catch(i){}o=t},now(){return d()}},e&&e.on(l,((t,e)=>{t===this.plugin.id&&this.fallbacks.setSettings(e)})),this.proxiedOn=new Proxy({},{get:(t,e)=>this.target?this.target.on[e]:(...t)=>{this.onQueue.push({method:e,args:t})}}),this.proxiedTarget=new Proxy({},{get:(t,e)=>this.target?this.target[e]:"on"===e?this.proxiedOn:Object.keys(this.fallbacks).includes(e)?(...t)=>(this.targetQueue.push({method:e,args:t,resolve:()=>{}}),this.fallbacks[e](...t)):(...t)=>new Promise((n=>{this.targetQueue.push({method:e,args:t,resolve:n})}))})}async setRealTarget(t){this.target=t;for(const e of this.onQueue)this.target.on[e.method](...e.args);for(const e of this.targetQueue)e.resolve(await this.target[e.method](...e.args))}}function v(t,e){const n=t,r=s(),o=i(),l=c&&n.enableEarlyProxy;if(!o||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&l){const t=l?new h(n,o):null,i=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];i.push({pluginDescriptor:n,setupFn:e,proxy:t}),t&&e(t.proxiedTarget)}else o.emit(u,t,e)}
-/*!
- * vuex v4.0.2
- * (c) 2021 Evan You
- * @license MIT
- */
-var m="store";function g(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function y(t){return null!==t&&"object"===typeof t}function b(t){return t&&"function"===typeof t.then}function _(t,e){return function(){return t(e)}}function w(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function x(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;S(t,n,[],t._modules.root,!0),k(t,n,e)}function k(t,e,n){var r=t._state;t.getters={},t._makeLocalGettersCache=Object.create(null);var i=t._wrappedGetters,s={};g(i,(function(e,n){s[n]=_(e,t),Object.defineProperty(t.getters,n,{get:function(){return s[n]()},enumerable:!0})})),t._state=(0,o.qj)({data:e}),t.strict&&P(t),r&&n&&t._withCommit((function(){r.data=null}))}function S(t,e,n,r,o){var i=!n.length,s=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[s],t._modulesNamespaceMap[s]=r),!i&&!o){var c=I(e,n.slice(0,-1)),u=n[n.length-1];t._withCommit((function(){c[u]=r.state}))}var l=r.context=C(t,s,n);r.forEachMutation((function(e,n){var r=s+n;E(t,r,e,l)})),r.forEachAction((function(e,n){var r=e.root?n:s+n,o=e.handler||e;j(t,r,o,l)})),r.forEachGetter((function(e,n){var r=s+n;R(t,r,e,l)})),r.forEachChild((function(r,i){S(t,e,n.concat(i),r,o)}))}function C(t,e,n){var r=""===e,o={dispatch:r?t.dispatch:function(n,r,o){var i=T(n,r,o),s=i.payload,c=i.options,u=i.type;return c&&c.root||(u=e+u),t.dispatch(u,s)},commit:r?t.commit:function(n,r,o){var i=T(n,r,o),s=i.payload,c=i.options,u=i.type;c&&c.root||(u=e+u),t.commit(u,s,c)}};return Object.defineProperties(o,{getters:{get:r?function(){return t.getters}:function(){return O(t,e)}},state:{get:function(){return I(t.state,n)}}}),o}function O(t,e){if(!t._makeLocalGettersCache[e]){var n={},r=e.length;Object.keys(t.getters).forEach((function(o){if(o.slice(0,r)===e){var i=o.slice(r);Object.defineProperty(n,i,{get:function(){return t.getters[o]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function E(t,e,n,r){var o=t._mutations[e]||(t._mutations[e]=[]);o.push((function(e){n.call(t,r.state,e)}))}function j(t,e,n,r){var o=t._actions[e]||(t._actions[e]=[]);o.push((function(e){var o=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e);return b(o)||(o=Promise.resolve(o)),t._devtoolHook?o.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):o}))}function R(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function P(t){(0,r.YP)((function(){return t._state.data}),(function(){0}),{deep:!0,flush:"sync"})}function I(t,e){return e.reduce((function(t,e){return t[e]}),t)}function T(t,e,n){return y(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}var A="vuex bindings",F="vuex:mutations",M="vuex:actions",L="vuex",$=0;function N(t,e){v({id:"org.vuejs.vuex",app:t,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:[A]},(function(n){n.addTimelineLayer({id:F,label:"Vuex Mutations",color:U}),n.addTimelineLayer({id:M,label:"Vuex Actions",color:U}),n.addInspector({id:L,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===t&&n.inspectorId===L)if(n.filter){var r=[];q(r,e._modules.root,n.filter,""),n.rootNodes=r}else n.rootNodes=[B(e._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===t&&n.inspectorId===L){var r=n.nodeId;O(e,r),n.state=H(z(e._modules,r),"root"===r?e.getters:e._makeLocalGettersCache,r)}})),n.on.editInspectorState((function(n){if(n.app===t&&n.inspectorId===L){var r=n.nodeId,o=n.path;"root"!==r&&(o=r.split("/").filter(Boolean).concat(o)),e._withCommit((function(){n.set(e._state.data,o,n.state.value)}))}})),e.subscribe((function(t,e){var r={};t.payload&&(r.payload=t.payload),r.state=e,n.notifyComponentUpdate(),n.sendInspectorTree(L),n.sendInspectorState(L),n.addTimelineEvent({layerId:F,event:{time:Date.now(),title:t.type,data:r}})})),e.subscribeAction({before:function(t,e){var r={};t.payload&&(r.payload=t.payload),t._id=$++,t._time=Date.now(),r.state=e,n.addTimelineEvent({layerId:M,event:{time:t._time,title:t.type,groupId:t._id,subtitle:"start",data:r}})},after:function(t,e){var r={},o=Date.now()-t._time;r.duration={_custom:{type:"duration",display:o+"ms",tooltip:"Action duration",value:o}},t.payload&&(r.payload=t.payload),r.state=e,n.addTimelineEvent({layerId:M,event:{time:Date.now(),title:t.type,groupId:t._id,subtitle:"end",data:r}})}})}))}var U=8702998,D=6710886,J=16777215,G={label:"namespaced",textColor:J,backgroundColor:D};function V(t){return t&&"root"!==t?t.split("/").slice(-2,-1)[0]:"Root"}function B(t,e){return{id:e||"root",label:V(e),tags:t.namespaced?[G]:[],children:Object.keys(t._children).map((function(n){return B(t._children[n],e+n+"/")}))}}function q(t,e,n,r){r.includes(n)&&t.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:e.namespaced?[G]:[]}),Object.keys(e._children).forEach((function(o){q(t,e._children[o],n,r+o+"/")}))}function H(t,e,n){e="root"===n?e:e[n];var r=Object.keys(e),o={state:Object.keys(t.state).map((function(e){return{key:e,editable:!0,value:t.state[e]}}))};if(r.length){var i=W(e);o.getters=Object.keys(i).map((function(t){return{key:t.endsWith("/")?V(t):t,editable:!1,value:K((function(){return i[t]}))}}))}return o}function W(t){var e={};return Object.keys(t).forEach((function(n){var r=n.split("/");if(r.length>1){var o=e,i=r.pop();r.forEach((function(t){o[t]||(o[t]={_custom:{value:{},display:t,tooltip:"Module",abstract:!0}}),o=o[t]._custom.value})),o[i]=K((function(){return t[n]}))}else e[n]=K((function(){return t[n]}))})),e}function z(t,e){var n=e.split("/").filter((function(t){return t}));return n.reduce((function(t,r,o){var i=t[r];if(!i)throw new Error('Missing module "'+r+'" for path "'+e+'".');return o===n.length-1?i:i._children}),"root"===e?t:t.root._children)}function K(t){try{return t()}catch(e){return e}}var X=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},Z={namespaced:{configurable:!0}};Z.namespaced.get=function(){return!!this._rawModule.namespaced},X.prototype.addChild=function(t,e){this._children[t]=e},X.prototype.removeChild=function(t){delete this._children[t]},X.prototype.getChild=function(t){return this._children[t]},X.prototype.hasChild=function(t){return t in this._children},X.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},X.prototype.forEachChild=function(t){g(this._children,t)},X.prototype.forEachGetter=function(t){this._rawModule.getters&&g(this._rawModule.getters,t)},X.prototype.forEachAction=function(t){this._rawModule.actions&&g(this._rawModule.actions,t)},X.prototype.forEachMutation=function(t){this._rawModule.mutations&&g(this._rawModule.mutations,t)},Object.defineProperties(X.prototype,Z);var Y=function(t){this.register([],t,!1)};function Q(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return void 0;Q(t.concat(r),e.getChild(r),n.modules[r])}}Y.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},Y.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},Y.prototype.update=function(t){Q([],this.root,t)},Y.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var o=new X(e,n);if(0===t.length)this.root=o;else{var i=this.get(t.slice(0,-1));i.addChild(t[t.length-1],o)}e.modules&&g(e.modules,(function(e,o){r.register(t.concat(o),e,n)}))},Y.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],r=e.getChild(n);r&&r.runtime&&e.removeChild(n)},Y.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};function tt(t){return new et(t)}var et=function(t){var e=this;void 0===t&&(t={});var n=t.plugins;void 0===n&&(n=[]);var r=t.strict;void 0===r&&(r=!1);var o=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new Y(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._devtools=o;var i=this,s=this,c=s.dispatch,u=s.commit;this.dispatch=function(t,e){return c.call(i,t,e)},this.commit=function(t,e,n){return u.call(i,t,e,n)},this.strict=r;var l=this._modules.root.state;S(this,l,[],this._modules.root),k(this,l),n.forEach((function(t){return t(e)}))},nt={state:{configurable:!0}};et.prototype.install=function(t,e){t.provide(e||m,this),t.config.globalProperties.$store=this;var n=void 0!==this._devtools&&this._devtools;n&&N(t,this)},nt.state.get=function(){return this._state.data},nt.state.set=function(t){0},et.prototype.commit=function(t,e,n){var r=this,o=T(t,e,n),i=o.type,s=o.payload,c=(o.options,{type:i,payload:s}),u=this._mutations[i];u&&(this._withCommit((function(){u.forEach((function(t){t(s)}))})),this._subscribers.slice().forEach((function(t){return t(c,r.state)})))},et.prototype.dispatch=function(t,e){var n=this,r=T(t,e),o=r.type,i=r.payload,s={type:o,payload:i},c=this._actions[o];if(c){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(s,n.state)}))}catch(l){0}var u=c.length>1?Promise.all(c.map((function(t){return t(i)}))):c[0](i);return new Promise((function(t,e){u.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(s,n.state)}))}catch(l){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(s,n.state,t)}))}catch(l){0}e(t)}))}))}},et.prototype.subscribe=function(t,e){return w(t,this._subscribers,e)},et.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return w(n,this._actionSubscribers,e)},et.prototype.watch=function(t,e,n){var o=this;return(0,r.YP)((function(){return t(o.state,o.getters)}),e,Object.assign({},n))},et.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._state.data=t}))},et.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),S(this,this.state,t,this._modules.get(t),n.preserveState),k(this,this.state)},et.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=I(e.state,t.slice(0,-1));delete n[t[t.length-1]]})),x(this)},et.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},et.prototype.hotUpdate=function(t){this._modules.update(t),x(this,!0)},et.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(et.prototype,nt);it((function(t,e){var n={};return rt(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=st(this.$store,"mapState",t);if(!r)return;e=r.context.state,n=r.context.getters}return"function"===typeof o?o.call(this,e,n):e[o]},n[r].vuex=!0})),n})),it((function(t,e){var n={};return rt(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.commit;if(t){var i=st(this.$store,"mapMutations",t);if(!i)return;r=i.context.commit}return"function"===typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}})),n})),it((function(t,e){var n={};return rt(e).forEach((function(e){var r=e.key,o=e.val;o=t+o,n[r]=function(){if(!t||st(this.$store,"mapGetters",t))return this.$store.getters[o]},n[r].vuex=!0})),n})),it((function(t,e){var n={};return rt(e).forEach((function(e){var r=e.key,o=e.val;n[r]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var i=st(this.$store,"mapActions",t);if(!i)return;r=i.context.dispatch}return"function"===typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}})),n}));function rt(t){return ot(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function ot(t){return Array.isArray(t)||y(t)}function it(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function st(t,e,n){var r=t._modulesNamespaceMap[n];return r}},2482:function(t,e,n){"use strict";function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n.d(e,{Z:function(){return r}})},2483:function(t,e,n){"use strict";n.d(e,{PO:function(){return U},p7:function(){return ee}});n(1703);var r=n(3396),o=n(4870);
-/*!
- * vue-router v4.1.3
- * (c) 2022 Eduardo San Martin Morote
- * @license MIT
- */
-const i="undefined"!==typeof window;function s(t){return t.__esModule||"Module"===t[Symbol.toStringTag]}const c=Object.assign;function u(t,e){const n={};for(const r in e){const o=e[r];n[r]=a(o)?o.map(t):t(o)}return n}const l=()=>{},a=Array.isArray;const f=/\/$/,p=t=>t.replace(f,"");function d(t,e,n="/"){let r,o={},i="",s="";const c=e.indexOf("#");let u=e.indexOf("?");return c=0&&(u=-1),u>-1&&(r=e.slice(0,u),i=e.slice(u+1,c>-1?c:e.length),o=t(i)),c>-1&&(r=r||e.slice(0,c),s=e.slice(c,e.length)),r=w(null!=r?r:e,n),{fullPath:r+(i&&"?")+i+s,path:r,query:o,hash:s}}function h(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function v(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function m(t,e,n){const r=e.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&g(e.matched[r],n.matched[o])&&y(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function g(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function y(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(!b(t[n],e[n]))return!1;return!0}function b(t,e){return a(t)?_(t,e):a(e)?_(e,t):t===e}function _(t,e){return a(e)?t.length===e.length&&t.every(((t,n)=>t===e[n])):1===t.length&&t[0]===e}function w(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),r=t.split("/");let o,i,s=n.length-1;for(o=0;o1&&s--}return n.slice(0,s).join("/")+"/"+r.slice(o-(o===r.length?1:0)).join("/")}var x,k;(function(t){t["pop"]="pop",t["push"]="push"})(x||(x={})),function(t){t["back"]="back",t["forward"]="forward",t["unknown"]=""}(k||(k={}));function S(t){if(!t)if(i){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return"/"!==t[0]&&"#"!==t[0]&&(t="/"+t),p(t)}const C=/^[^#]+#/;function O(t,e){return t.replace(C,"#")+e}function E(t,e){const n=document.documentElement.getBoundingClientRect(),r=t.getBoundingClientRect();return{behavior:e.behavior,left:r.left-n.left-(e.left||0),top:r.top-n.top-(e.top||0)}}const j=()=>({left:window.pageXOffset,top:window.pageYOffset});function R(t){let e;if("el"in t){const n=t.el,r="string"===typeof n&&n.startsWith("#");0;const o="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;e=E(o,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function P(t,e){const n=history.state?history.state.position-e:-1;return n+t}const I=new Map;function T(t,e){I.set(t,e)}function A(t){const e=I.get(t);return I.delete(t),e}let F=()=>location.protocol+"//"+location.host;function M(t,e){const{pathname:n,search:r,hash:o}=e,i=t.indexOf("#");if(i>-1){let e=o.includes(t.slice(i))?t.slice(i).length:1,n=o.slice(e);return"/"!==n[0]&&(n="/"+n),v(n,"")}const s=v(n,t);return s+r+o}function L(t,e,n,r){let o=[],i=[],s=null;const u=({state:i})=>{const c=M(t,location),u=n.value,l=e.value;let a=0;if(i){if(n.value=c,e.value=i,s&&s===u)return void(s=null);a=l?i.position-l.position:0}else r(c);o.forEach((t=>{t(n.value,u,{delta:a,type:x.pop,direction:a?a>0?k.forward:k.back:k.unknown})}))};function l(){s=n.value}function a(t){o.push(t);const e=()=>{const e=o.indexOf(t);e>-1&&o.splice(e,1)};return i.push(e),e}function f(){const{history:t}=window;t.state&&t.replaceState(c({},t.state,{scroll:j()}),"")}function p(){for(const t of i)t();i=[],window.removeEventListener("popstate",u),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",u),window.addEventListener("beforeunload",f),{pauseListeners:l,listen:a,destroy:p}}function $(t,e,n,r=!1,o=!1){return{back:t,current:e,forward:n,replaced:r,position:window.history.length,scroll:o?j():null}}function N(t){const{history:e,location:n}=window,r={value:M(t,n)},o={value:e.state};function i(r,i,s){const c=t.indexOf("#"),u=c>-1?(n.host&&document.querySelector("base")?t:t.slice(c))+r:F()+t+r;try{e[s?"replaceState":"pushState"](i,"",u),o.value=i}catch(l){console.error(l),n[s?"replace":"assign"](u)}}function s(t,n){const s=c({},e.state,$(o.value.back,t,o.value.forward,!0),n,{position:o.value.position});i(t,s,!0),r.value=t}function u(t,n){const s=c({},o.value,e.state,{forward:t,scroll:j()});i(s.current,s,!0);const u=c({},$(r.value,t,null),{position:s.position+1},n);i(t,u,!1),r.value=t}return o.value||i(r.value,{back:null,current:r.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:r,state:o,push:u,replace:s}}function U(t){t=S(t);const e=N(t),n=L(t,e.state,e.location,e.replace);function r(t,e=!0){e||n.pauseListeners(),history.go(t)}const o=c({location:"",base:t,go:r,createHref:O.bind(null,t)},e,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>e.state.value}),o}function D(t){return"string"===typeof t||t&&"object"===typeof t}function J(t){return"string"===typeof t||"symbol"===typeof t}const G={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},V=Symbol("");var B;(function(t){t[t["aborted"]=4]="aborted",t[t["cancelled"]=8]="cancelled",t[t["duplicated"]=16]="duplicated"})(B||(B={}));function q(t,e){return c(new Error,{type:t,[V]:!0},e)}function H(t,e){return t instanceof Error&&V in t&&(null==e||!!(t.type&e))}const W="[^/]+?",z={sensitive:!1,strict:!1,start:!0,end:!0},K=/[.+*?^${}()[\]/\\]/g;function X(t,e){const n=c({},z,e),r=[];let o=n.start?"^":"";const i=[];for(const c of t){const t=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let e=0;ee.length?1===e.length&&80===e[0]?1:-1:0}function Y(t,e){let n=0;const r=t.score,o=e.score;while(n0&&e[e.length-1]<0}const tt={type:0,value:""},et=/[a-zA-Z0-9_]/;function nt(t){if(!t)return[[]];if("/"===t)return[[tt]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(t){throw new Error(`ERR (${n})/"${l}": ${t}`)}let n=0,r=n;const o=[];let i;function s(){i&&o.push(i),i=[]}let c,u=0,l="",a="";function f(){l&&(0===n?i.push({type:0,value:l}):1===n||2===n||3===n?(i.length>1&&("*"===c||"+"===c)&&e(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:l,regexp:a,repeatable:"*"===c||"+"===c,optional:"*"===c||"?"===c})):e("Invalid state to consume buffer"),l="")}function p(){l+=c}while(u{s(h)}:l}function s(t){if(J(t)){const e=r.get(t);e&&(r.delete(t),n.splice(n.indexOf(e),1),e.children.forEach(s),e.alias.forEach(s))}else{const e=n.indexOf(t);e>-1&&(n.splice(e,1),t.record.name&&r.delete(t.record.name),t.children.forEach(s),t.alias.forEach(s))}}function u(){return n}function a(t){let e=0;while(e=0&&(t.record.path!==n[e].record.path||!ft(t,n[e])))e++;n.splice(e,0,t),t.record.name&&!ut(t)&&r.set(t.record.name,t)}function f(t,e){let o,i,s,u={};if("name"in t&&t.name){if(o=r.get(t.name),!o)throw q(1,{location:t});s=o.record.name,u=c(it(e.params,o.keys.filter((t=>!t.optional)).map((t=>t.name))),t.params),i=o.stringify(u)}else if("path"in t)i=t.path,o=n.find((t=>t.re.test(i))),o&&(u=o.parse(i),s=o.record.name);else{if(o=e.name?r.get(e.name):n.find((t=>t.re.test(e.path))),!o)throw q(1,{location:t,currentLocation:e});s=o.record.name,u=c({},e.params,t.params),i=o.stringify(u)}const l=[];let a=o;while(a)l.unshift(a.record),a=a.parent;return{name:s,path:i,params:u,matched:l,meta:lt(l)}}return e=at({strict:!1,end:!0,sensitive:!1},e),t.forEach((t=>i(t))),{addRoute:i,resolve:f,removeRoute:s,getRoutes:u,getRecordMatcher:o}}function it(t,e){const n={};for(const r of e)r in t&&(n[r]=t[r]);return n}function st(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:ct(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}}}function ct(t){const e={},n=t.props||!1;if("component"in t)e.default=n;else for(const r in t.components)e[r]="boolean"===typeof n?n:n[r];return e}function ut(t){while(t){if(t.record.aliasOf)return!0;t=t.parent}return!1}function lt(t){return t.reduce(((t,e)=>c(t,e.meta)),{})}function at(t,e){const n={};for(const r in t)n[r]=r in e?e[r]:t[r];return n}function ft(t,e){return e.children.some((e=>e===t||ft(t,e)))}const pt=/#/g,dt=/&/g,ht=/\//g,vt=/=/g,mt=/\?/g,gt=/\+/g,yt=/%5B/g,bt=/%5D/g,_t=/%5E/g,wt=/%60/g,xt=/%7B/g,kt=/%7C/g,St=/%7D/g,Ct=/%20/g;function Ot(t){return encodeURI(""+t).replace(kt,"|").replace(yt,"[").replace(bt,"]")}function Et(t){return Ot(t).replace(xt,"{").replace(St,"}").replace(_t,"^")}function jt(t){return Ot(t).replace(gt,"%2B").replace(Ct,"+").replace(pt,"%23").replace(dt,"%26").replace(wt,"`").replace(xt,"{").replace(St,"}").replace(_t,"^")}function Rt(t){return jt(t).replace(vt,"%3D")}function Pt(t){return Ot(t).replace(pt,"%23").replace(mt,"%3F")}function It(t){return null==t?"":Pt(t).replace(ht,"%2F")}function Tt(t){try{return decodeURIComponent(""+t)}catch(e){}return""+t}function At(t){const e={};if(""===t||"?"===t)return e;const n="?"===t[0],r=(n?t.slice(1):t).split("&");for(let o=0;ot&&jt(t))):[r&&jt(r)];o.forEach((t=>{void 0!==t&&(e+=(e.length?"&":"")+n,null!=t&&(e+="="+t))}))}return e}function Mt(t){const e={};for(const n in t){const r=t[n];void 0!==r&&(e[n]=a(r)?r.map((t=>null==t?null:""+t)):null==r?r:""+r)}return e}const Lt=Symbol(""),$t=Symbol(""),Nt=Symbol(""),Ut=Symbol(""),Dt=Symbol("");function Jt(){let t=[];function e(e){return t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}}function n(){t=[]}return{add:e,list:()=>t,reset:n}}function Gt(t,e,n,r,o){const i=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise(((s,c)=>{const u=t=>{!1===t?c(q(4,{from:n,to:e})):t instanceof Error?c(t):D(t)?c(q(2,{from:e,to:t})):(i&&r.enterCallbacks[o]===i&&"function"===typeof t&&i.push(t),s())},l=t.call(r&&r.instances[o],e,n,u);let a=Promise.resolve(l);t.length<3&&(a=a.then(u)),a.catch((t=>c(t)))}))}function Vt(t,e,n,r){const o=[];for(const i of t){0;for(const t in i.components){let c=i.components[t];if("beforeRouteEnter"===e||i.instances[t])if(Bt(c)){const s=c.__vccOpts||c,u=s[e];u&&o.push(Gt(u,n,r,i,t))}else{let u=c();0,o.push((()=>u.then((o=>{if(!o)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${i.path}"`));const c=s(o)?o.default:o;i.components[t]=c;const u=c.__vccOpts||c,l=u[e];return l&&Gt(l,n,r,i,t)()}))))}}}return o}function Bt(t){return"object"===typeof t||"displayName"in t||"props"in t||"__vccOpts"in t}function qt(t){const e=(0,r.f3)(Nt),n=(0,r.f3)(Ut),i=(0,r.Fl)((()=>e.resolve((0,o.SU)(t.to)))),s=(0,r.Fl)((()=>{const{matched:t}=i.value,{length:e}=t,r=t[e-1],o=n.matched;if(!r||!o.length)return-1;const s=o.findIndex(g.bind(null,r));if(s>-1)return s;const c=Xt(t[e-2]);return e>1&&Xt(r)===c&&o[o.length-1].path!==c?o.findIndex(g.bind(null,t[e-2])):s})),c=(0,r.Fl)((()=>s.value>-1&&Kt(n.params,i.value.params))),u=(0,r.Fl)((()=>s.value>-1&&s.value===n.matched.length-1&&y(n.params,i.value.params)));function a(n={}){return zt(n)?e[(0,o.SU)(t.replace)?"replace":"push"]((0,o.SU)(t.to)).catch(l):Promise.resolve()}return{route:i,href:(0,r.Fl)((()=>i.value.href)),isActive:c,isExactActive:u,navigate:a}}const Ht=(0,r.aZ)({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:qt,setup(t,{slots:e}){const n=(0,o.qj)(qt(t)),{options:i}=(0,r.f3)(Nt),s=(0,r.Fl)((()=>({[Zt(t.activeClass,i.linkActiveClass,"router-link-active")]:n.isActive,[Zt(t.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const o=e.default&&e.default(n);return t.custom?o:(0,r.h)("a",{"aria-current":n.isExactActive?t.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),Wt=Ht;function zt(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Kt(t,e){for(const n in e){const r=e[n],o=t[n];if("string"===typeof r){if(r!==o)return!1}else if(!a(o)||o.length!==r.length||r.some(((t,e)=>t!==o[e])))return!1}return!0}function Xt(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Zt=(t,e,n)=>null!=t?t:null!=e?e:n,Yt=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:n}){const i=(0,r.f3)(Dt),s=(0,r.Fl)((()=>t.route||i.value)),u=(0,r.f3)($t,0),l=(0,r.Fl)((()=>{let t=(0,o.SU)(u);const{matched:e}=s.value;let n;while((n=e[t])&&!n.components)t++;return t})),a=(0,r.Fl)((()=>s.value.matched[l.value]));(0,r.JJ)($t,(0,r.Fl)((()=>l.value+1))),(0,r.JJ)(Lt,a),(0,r.JJ)(Dt,s);const f=(0,o.iH)();return(0,r.YP)((()=>[f.value,a.value,t.name]),(([t,e,n],[r,o,i])=>{e&&(e.instances[n]=t,o&&o!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=o.leaveGuards),e.updateGuards.size||(e.updateGuards=o.updateGuards))),!t||!e||o&&g(e,o)&&r||(e.enterCallbacks[n]||[]).forEach((e=>e(t)))}),{flush:"post"}),()=>{const o=s.value,i=t.name,u=a.value,l=u&&u.components[i];if(!l)return Qt(n.default,{Component:l,route:o});const p=u.props[i],d=p?!0===p?o.params:"function"===typeof p?p(o):p:null,h=t=>{t.component.isUnmounted&&(u.instances[i]=null)},v=(0,r.h)(l,c({},d,e,{onVnodeUnmounted:h,ref:f}));return Qt(n.default,{Component:v,route:o})||v}}});function Qt(t,e){if(!t)return null;const n=t(e);return 1===n.length?n[0]:n}const te=Yt;function ee(t){const e=ot(t.routes,t),n=t.parseQuery||At,s=t.stringifyQuery||Ft,f=t.history;const p=Jt(),v=Jt(),g=Jt(),y=(0,o.XI)(G);let b=G;i&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const _=u.bind(null,(t=>""+t)),w=u.bind(null,It),k=u.bind(null,Tt);function S(t,n){let r,o;return J(t)?(r=e.getRecordMatcher(t),o=n):o=t,e.addRoute(o,r)}function C(t){const n=e.getRecordMatcher(t);n&&e.removeRoute(n)}function O(){return e.getRoutes().map((t=>t.record))}function E(t){return!!e.getRecordMatcher(t)}function I(t,r){if(r=c({},r||y.value),"string"===typeof t){const o=d(n,t,r.path),i=e.resolve({path:o.path},r),s=f.createHref(o.fullPath);return c(o,i,{params:k(i.params),hash:Tt(o.hash),redirectedFrom:void 0,href:s})}let o;if("path"in t)o=c({},t,{path:d(n,t.path,r.path).path});else{const e=c({},t.params);for(const t in e)null==e[t]&&delete e[t];o=c({},t,{params:w(t.params)}),r.params=w(r.params)}const i=e.resolve(o,r),u=t.hash||"";i.params=_(k(i.params));const l=h(s,c({},t,{hash:Et(u),path:i.path})),a=f.createHref(l);return c({fullPath:l,hash:u,query:s===Ft?Mt(t.query):t.query||{}},i,{redirectedFrom:void 0,href:a})}function F(t){return"string"===typeof t?d(n,t,y.value.path):c({},t)}function M(t,e){if(b!==t)return q(8,{from:e,to:t})}function L(t){return U(t)}function $(t){return L(c(F(t),{replace:!0}))}function N(t){const e=t.matched[t.matched.length-1];if(e&&e.redirect){const{redirect:n}=e;let r="function"===typeof n?n(t):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=F(r):{path:r},r.params={}),c({query:t.query,hash:t.hash,params:"path"in r?{}:t.params},r)}}function U(t,e){const n=b=I(t),r=y.value,o=t.state,i=t.force,u=!0===t.replace,l=N(n);if(l)return U(c(F(l),{state:o,force:i,replace:u}),e||n);const a=n;let f;return a.redirectedFrom=e,!i&&m(s,r,n)&&(f=q(16,{to:a,from:r}),nt(r,r,!0,!1)),(f?Promise.resolve(f):V(a,r)).catch((t=>H(t)?H(t,2)?t:et(t):Q(t,a,r))).then((t=>{if(t){if(H(t,2))return U(c({replace:u},F(t.to),{state:o,force:i}),e||a)}else t=W(a,r,!0,u,o);return B(a,r,t),t}))}function D(t,e){const n=M(t,e);return n?Promise.reject(n):Promise.resolve()}function V(t,e){let n;const[r,o,i]=re(t,e);n=Vt(r.reverse(),"beforeRouteLeave",t,e);for(const c of r)c.leaveGuards.forEach((r=>{n.push(Gt(r,t,e))}));const s=D.bind(null,t,e);return n.push(s),ne(n).then((()=>{n=[];for(const r of p.list())n.push(Gt(r,t,e));return n.push(s),ne(n)})).then((()=>{n=Vt(o,"beforeRouteUpdate",t,e);for(const r of o)r.updateGuards.forEach((r=>{n.push(Gt(r,t,e))}));return n.push(s),ne(n)})).then((()=>{n=[];for(const r of t.matched)if(r.beforeEnter&&!e.matched.includes(r))if(a(r.beforeEnter))for(const o of r.beforeEnter)n.push(Gt(o,t,e));else n.push(Gt(r.beforeEnter,t,e));return n.push(s),ne(n)})).then((()=>(t.matched.forEach((t=>t.enterCallbacks={})),n=Vt(i,"beforeRouteEnter",t,e),n.push(s),ne(n)))).then((()=>{n=[];for(const r of v.list())n.push(Gt(r,t,e));return n.push(s),ne(n)})).catch((t=>H(t,8)?t:Promise.reject(t)))}function B(t,e,n){for(const r of g.list())r(t,e,n)}function W(t,e,n,r,o){const s=M(t,e);if(s)return s;const u=e===G,l=i?history.state:{};n&&(r||u?f.replace(t.fullPath,c({scroll:u&&l&&l.scroll},o)):f.push(t.fullPath,o)),y.value=t,nt(t,e,n,u),et()}let z;function K(){z||(z=f.listen(((t,e,n)=>{if(!ct.listening)return;const r=I(t),o=N(r);if(o)return void U(c(o,{replace:!0}),r).catch(l);b=r;const s=y.value;i&&T(P(s.fullPath,n.delta),j()),V(r,s).catch((t=>H(t,12)?t:H(t,2)?(U(t.to,r).then((t=>{H(t,20)&&!n.delta&&n.type===x.pop&&f.go(-1,!1)})).catch(l),Promise.reject()):(n.delta&&f.go(-n.delta,!1),Q(t,r,s)))).then((t=>{t=t||W(r,s,!1),t&&(n.delta&&!H(t,8)?f.go(-n.delta,!1):n.type===x.pop&&H(t,20)&&f.go(-1,!1)),B(r,s,t)})).catch(l)})))}let X,Z=Jt(),Y=Jt();function Q(t,e,n){et(t);const r=Y.list();return r.length?r.forEach((r=>r(t,e,n))):console.error(t),Promise.reject(t)}function tt(){return X&&y.value!==G?Promise.resolve():new Promise(((t,e)=>{Z.add([t,e])}))}function et(t){return X||(X=!t,K(),Z.list().forEach((([e,n])=>t?n(t):e())),Z.reset()),t}function nt(e,n,o,s){const{scrollBehavior:c}=t;if(!i||!c)return Promise.resolve();const u=!o&&A(P(e.fullPath,0))||(s||!o)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>c(e,n,u))).then((t=>t&&R(t))).catch((t=>Q(t,e,n)))}const rt=t=>f.go(t);let it;const st=new Set,ct={currentRoute:y,listening:!0,addRoute:S,removeRoute:C,hasRoute:E,getRoutes:O,resolve:I,options:t,push:L,replace:$,go:rt,back:()=>rt(-1),forward:()=>rt(1),beforeEach:p.add,beforeResolve:v.add,afterEach:g.add,onError:Y.add,isReady:tt,install(t){const e=this;t.component("RouterLink",Wt),t.component("RouterView",te),t.config.globalProperties.$router=e,Object.defineProperty(t.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,o.SU)(y)}),i&&!it&&y.value===G&&(it=!0,L(f.location).catch((t=>{0})));const n={};for(const o in G)n[o]=(0,r.Fl)((()=>y.value[o]));t.provide(Nt,e),t.provide(Ut,(0,o.qj)(n)),t.provide(Dt,y);const s=t.unmount;st.add(t),t.unmount=function(){st.delete(t),st.size<1&&(b=G,z&&z(),z=null,y.value=G,it=!1,X=!1),s()}}};return ct}function ne(t){return t.reduce(((t,e)=>t.then((()=>e()))),Promise.resolve())}function re(t,e){const n=[],r=[],o=[],i=Math.max(e.matched.length,t.matched.length);for(let s=0;sg(t,i)))?r.push(i):n.push(i));const c=t.matched[s];c&&(e.matched.find((t=>g(t,c)))||o.push(c))}return[n,r,o]}}}]);
-//# sourceMappingURL=chunk-vendors.8748c580.js.map
\ No newline at end of file
diff --git a/docs/js/chunk-vendors.8748c580.js.map b/docs/js/chunk-vendors.8748c580.js.map
deleted file mode 100644
index 498f508..0000000
--- a/docs/js/chunk-vendors.8748c580.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"js/chunk-vendors.8748c580.js","mappings":"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","sources":["webpack://wavelovers/./node_modules/core-js/internals/a-callable.js","webpack://wavelovers/./node_modules/core-js/internals/a-possible-prototype.js","webpack://wavelovers/./node_modules/core-js/internals/an-object.js","webpack://wavelovers/./node_modules/core-js/internals/array-includes.js","webpack://wavelovers/./node_modules/core-js/internals/classof-raw.js","webpack://wavelovers/./node_modules/core-js/internals/classof.js","webpack://wavelovers/./node_modules/core-js/internals/clear-error-stack.js","webpack://wavelovers/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://wavelovers/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://wavelovers/./node_modules/core-js/internals/create-property-descriptor.js","webpack://wavelovers/./node_modules/core-js/internals/define-built-in.js","webpack://wavelovers/./node_modules/core-js/internals/define-global-property.js","webpack://wavelovers/./node_modules/core-js/internals/descriptors.js","webpack://wavelovers/./node_modules/core-js/internals/document-create-element.js","webpack://wavelovers/./node_modules/core-js/internals/engine-user-agent.js","webpack://wavelovers/./node_modules/core-js/internals/engine-v8-version.js","webpack://wavelovers/./node_modules/core-js/internals/enum-bug-keys.js","webpack://wavelovers/./node_modules/core-js/internals/error-stack-installable.js","webpack://wavelovers/./node_modules/core-js/internals/export.js","webpack://wavelovers/./node_modules/core-js/internals/fails.js","webpack://wavelovers/./node_modules/core-js/internals/function-apply.js","webpack://wavelovers/./node_modules/core-js/internals/function-bind-native.js","webpack://wavelovers/./node_modules/core-js/internals/function-call.js","webpack://wavelovers/./node_modules/core-js/internals/function-name.js","webpack://wavelovers/./node_modules/core-js/internals/function-uncurry-this.js","webpack://wavelovers/./node_modules/core-js/internals/get-built-in.js","webpack://wavelovers/./node_modules/core-js/internals/get-method.js","webpack://wavelovers/./node_modules/core-js/internals/global.js","webpack://wavelovers/./node_modules/core-js/internals/has-own-property.js","webpack://wavelovers/./node_modules/core-js/internals/hidden-keys.js","webpack://wavelovers/./node_modules/core-js/internals/ie8-dom-define.js","webpack://wavelovers/./node_modules/core-js/internals/indexed-object.js","webpack://wavelovers/./node_modules/core-js/internals/inherit-if-required.js","webpack://wavelovers/./node_modules/core-js/internals/inspect-source.js","webpack://wavelovers/./node_modules/core-js/internals/install-error-cause.js","webpack://wavelovers/./node_modules/core-js/internals/internal-state.js","webpack://wavelovers/./node_modules/core-js/internals/is-callable.js","webpack://wavelovers/./node_modules/core-js/internals/is-forced.js","webpack://wavelovers/./node_modules/core-js/internals/is-object.js","webpack://wavelovers/./node_modules/core-js/internals/is-pure.js","webpack://wavelovers/./node_modules/core-js/internals/is-symbol.js","webpack://wavelovers/./node_modules/core-js/internals/length-of-array-like.js","webpack://wavelovers/./node_modules/core-js/internals/make-built-in.js","webpack://wavelovers/./node_modules/core-js/internals/math-trunc.js","webpack://wavelovers/./node_modules/core-js/internals/native-symbol.js","webpack://wavelovers/./node_modules/core-js/internals/native-weak-map.js","webpack://wavelovers/./node_modules/core-js/internals/normalize-string-argument.js","webpack://wavelovers/./node_modules/core-js/internals/object-define-property.js","webpack://wavelovers/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://wavelovers/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://wavelovers/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://wavelovers/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://wavelovers/./node_modules/core-js/internals/object-keys-internal.js","webpack://wavelovers/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://wavelovers/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://wavelovers/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://wavelovers/./node_modules/core-js/internals/own-keys.js","webpack://wavelovers/./node_modules/core-js/internals/proxy-accessor.js","webpack://wavelovers/./node_modules/core-js/internals/require-object-coercible.js","webpack://wavelovers/./node_modules/core-js/internals/shared-key.js","webpack://wavelovers/./node_modules/core-js/internals/shared-store.js","webpack://wavelovers/./node_modules/core-js/internals/shared.js","webpack://wavelovers/./node_modules/core-js/internals/to-absolute-index.js","webpack://wavelovers/./node_modules/core-js/internals/to-indexed-object.js","webpack://wavelovers/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://wavelovers/./node_modules/core-js/internals/to-length.js","webpack://wavelovers/./node_modules/core-js/internals/to-object.js","webpack://wavelovers/./node_modules/core-js/internals/to-primitive.js","webpack://wavelovers/./node_modules/core-js/internals/to-property-key.js","webpack://wavelovers/./node_modules/core-js/internals/to-string-tag-support.js","webpack://wavelovers/./node_modules/core-js/internals/to-string.js","webpack://wavelovers/./node_modules/core-js/internals/try-to-string.js","webpack://wavelovers/./node_modules/core-js/internals/uid.js","webpack://wavelovers/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://wavelovers/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://wavelovers/./node_modules/core-js/internals/well-known-symbol.js","webpack://wavelovers/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://wavelovers/./node_modules/core-js/modules/es.error.cause.js","webpack://wavelovers/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://wavelovers/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://wavelovers/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://wavelovers/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://wavelovers/./node_modules/vue-loader/dist/exportHelper.js","webpack://wavelovers/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://wavelovers/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://wavelovers/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://wavelovers/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://wavelovers/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://wavelovers/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://wavelovers/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wavelovers/./node_modules/vue-router/dist/vue-router.mjs"],"sourcesContent":["var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isCallable = require('../internals/is-callable');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es-x/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es-x/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es-x/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","var $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.24.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: 'Β© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.24.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://github.com/tc39/proposal-error-cause\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n /**\r\n * @internal\r\n */\r\n this.active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n if (this.deferStop) {\r\n this.stop();\r\n }\r\n }\r\n }\r\n stop() {\r\n // stopped while running itself - defer the cleanup\r\n if (activeEffect === this) {\r\n this.deferStop = true;\r\n }\r\n else if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n const effects = isArray(dep) ? dep : [...dep];\r\n for (const effect of effects) {\r\n if (effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n for (const effect of effects) {\r\n if (!effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n}\r\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n/*#__PURE__*/\r\nObject.getOwnPropertyNames(Symbol)\r\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\r\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\r\n // function\r\n .filter(key => key !== 'arguments' && key !== 'caller')\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - skip unwrap for Array + integer key.\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow && !isReadonly(value)) {\r\n if (!isShallow(value)) {\r\n value = toRaw(value);\r\n oldValue = toRaw(oldValue);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"get\" /* GET */, key);\r\n }\r\n track(rawTarget, \"get\" /* GET */, rawKey);\r\n }\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"has\" /* HAS */, key);\r\n }\r\n track(rawTarget, \"has\" /* HAS */, rawKey);\r\n }\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* ADD */),\r\n set: createReadonlyMethod(\"set\" /* SET */),\r\n delete: createReadonlyMethod(\"delete\" /* DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* COLLECTION */;\r\n default:\r\n return 0 /* INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only specific value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n newVal = this.__v_isShallow ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = this.__v_isShallow ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a;\r\nconst tick = /*#__PURE__*/ Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isOn, hasOwn, isModelListener, hasChanged, remove, isObject, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* CREATED */]: 'created hook',\r\n [\"bm\" /* BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* UPDATED */]: 'updated',\r\n [\"bum\" /* BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* ACTIVATED */]: 'activated hook',\r\n [\"da\" /* DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* SETUP_FUNCTION */]: 'setup function',\r\n [1 /* RENDER_FUNCTION */]: 'render function',\r\n [2 /* WATCH_GETTER */]: 'watcher getter',\r\n [3 /* WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* VNODE_HOOK */]: 'vnode hook',\r\n [8 /* DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* FUNCTION_REF */]: 'ref function',\r\n [13 /* ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPreFlushCbs = [];\r\nlet activePreFlushCbs = null;\r\nlet preFlushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nlet currentPreFlushParentJob = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if ((!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) &&\r\n job !== currentPreFlushParentJob) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queueCb(cb, activeQueue, pendingQueue, index) {\r\n if (!isArray(cb)) {\r\n if (!activeQueue ||\r\n !activeQueue.includes(cb, cb.allowRecurse ? index + 1 : index)) {\r\n pendingQueue.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingQueue.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction queuePreFlushCb(cb) {\r\n queueCb(cb, activePreFlushCbs, pendingPreFlushCbs, preFlushIndex);\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n queueCb(cb, activePostFlushCbs, pendingPostFlushCbs, postFlushIndex);\r\n}\r\nfunction flushPreFlushCbs(seen, parentJob = null) {\r\n if (pendingPreFlushCbs.length) {\r\n currentPreFlushParentJob = parentJob;\r\n activePreFlushCbs = [...new Set(pendingPreFlushCbs)];\r\n pendingPreFlushCbs.length = 0;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (preFlushIndex = 0; preFlushIndex < activePreFlushCbs.length; preFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePreFlushCbs[preFlushIndex])) {\r\n continue;\r\n }\r\n activePreFlushCbs[preFlushIndex]();\r\n }\r\n activePreFlushCbs = null;\r\n preFlushIndex = 0;\r\n currentPreFlushParentJob = null;\r\n // recursively flush until it drains\r\n flushPreFlushCbs(seen, parentJob);\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n // flush any pre cbs queued during the flush (e.g. pre watchers)\r\n flushPreFlushCbs();\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n flushPreFlushCbs(seen);\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort((a, b) => getId(a) - getId(b));\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length ||\r\n pendingPreFlushCbs.length ||\r\n pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n cache.set(comp, null);\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n cache.set(comp, normalized);\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ELEMENT */ | 6 /* COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n // clone before mutating since the root may be a hoisted vnode\r\n root = cloneVNode(root);\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* COMPONENT */ | 1 /* ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n scheduler = () => queuePreFlushCb(job);\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n let child = children[0];\r\n if (children.length > 1) {\r\n let hasFound = false;\r\n // locate first non-comment child\r\n for (const c of children) {\r\n if (c.type !== Comment) {\r\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\r\n // warn more than one non-comment child\r\n warn(' can only be used on a single element or component. ' +\r\n 'Use for lists.');\r\n break;\r\n }\r\n child = c;\r\n hasFound = true;\r\n if (!(process.env.NODE_ENV !== 'production'))\r\n break;\r\n }\r\n }\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' &&\r\n mode !== 'out-in' &&\r\n mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* TRANSITION_HOOK */, args);\r\n };\r\n const callAsyncHook = (hook, args) => {\r\n const done = args[1];\r\n callHook(hook, args);\r\n if (isArray(hook)) {\r\n if (hook.every(hook => hook.length <= 1))\r\n done();\r\n }\r\n else if (hook.length <= 1) {\r\n done();\r\n }\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n callAsyncHook(hook, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n callAsyncHook(onLeave, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = children[i];\r\n // #5360 inherit parent key in case of \r\n const key = parentKey == null\r\n ? child.key\r\n : String(parentKey) + String(child.key != null ? child.key : i);\r\n // handle fragment children case, e.g. v-for\r\n if (child.type === Fragment) {\r\n if (child.patchFlag & 128 /* KEYED_FRAGMENT */)\r\n keyedFragmentCount++;\r\n ret = ret.concat(getTransitionRawChildren(child.children, keepComment, key));\r\n }\r\n // comment placeholders should be skipped, e.g. v-if\r\n else if (keepComment || child.type !== Comment) {\r\n ret.push(key != null ? cloneVNode(child, { key }) : child);\r\n }\r\n }\r\n // #1126 if a transition children list contains multiple sub fragments, these\r\n // fragments will be merged into a flat children array. Since each v-for\r\n // fragment may contain different static bindings inside, we need to de-op\r\n // these children to force full diffs to ensure correct behavior.\r\n if (keyedFragmentCount > 1) {\r\n for (let i = 0; i < ret.length; i++) {\r\n ret[i].patchFlag = -2 /* BAIL */;\r\n }\r\n }\r\n return ret;\r\n}\n\n// implementation, close to no-op\r\nfunction defineComponent(options) {\r\n return isFunction(options) ? { setup: options, name: options.name } : options;\r\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\r\nfunction defineAsyncComponent(source) {\r\n if (isFunction(source)) {\r\n source = { loader: source };\r\n }\r\n const { loader, loadingComponent, errorComponent, delay = 200, timeout, // undefined = never times out\r\n suspensible = true, onError: userOnError } = source;\r\n let pendingRequest = null;\r\n let resolvedComp;\r\n let retries = 0;\r\n const retry = () => {\r\n retries++;\r\n pendingRequest = null;\r\n return load();\r\n };\r\n const load = () => {\r\n let thisRequest;\r\n return (pendingRequest ||\r\n (thisRequest = pendingRequest =\r\n loader()\r\n .catch(err => {\r\n err = err instanceof Error ? err : new Error(String(err));\r\n if (userOnError) {\r\n return new Promise((resolve, reject) => {\r\n const userRetry = () => resolve(retry());\r\n const userFail = () => reject(err);\r\n userOnError(err, userRetry, userFail, retries + 1);\r\n });\r\n }\r\n else {\r\n throw err;\r\n }\r\n })\r\n .then((comp) => {\r\n if (thisRequest !== pendingRequest && pendingRequest) {\r\n return pendingRequest;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && !comp) {\r\n warn(`Async component loader resolved to undefined. ` +\r\n `If you are using retry(), make sure to return its return value.`);\r\n }\r\n // interop module default\r\n if (comp &&\r\n (comp.__esModule || comp[Symbol.toStringTag] === 'Module')) {\r\n comp = comp.default;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && comp && !isObject(comp) && !isFunction(comp)) {\r\n throw new Error(`Invalid async component load result: ${comp}`);\r\n }\r\n resolvedComp = comp;\r\n return comp;\r\n })));\r\n };\r\n return defineComponent({\r\n name: 'AsyncComponentWrapper',\r\n __asyncLoader: load,\r\n get __asyncResolved() {\r\n return resolvedComp;\r\n },\r\n setup() {\r\n const instance = currentInstance;\r\n // already resolved\r\n if (resolvedComp) {\r\n return () => createInnerComp(resolvedComp, instance);\r\n }\r\n const onError = (err) => {\r\n pendingRequest = null;\r\n handleError(err, instance, 13 /* ASYNC_COMPONENT_LOADER */, !errorComponent /* do not throw in dev if user provided error component */);\r\n };\r\n // suspense-controlled or SSR.\r\n if ((suspensible && instance.suspense) ||\r\n (isInSSRComponentSetup)) {\r\n return load()\r\n .then(comp => {\r\n return () => createInnerComp(comp, instance);\r\n })\r\n .catch(err => {\r\n onError(err);\r\n return () => errorComponent\r\n ? createVNode(errorComponent, {\r\n error: err\r\n })\r\n : null;\r\n });\r\n }\r\n const loaded = ref(false);\r\n const error = ref();\r\n const delayed = ref(!!delay);\r\n if (delay) {\r\n setTimeout(() => {\r\n delayed.value = false;\r\n }, delay);\r\n }\r\n if (timeout != null) {\r\n setTimeout(() => {\r\n if (!loaded.value && !error.value) {\r\n const err = new Error(`Async component timed out after ${timeout}ms.`);\r\n onError(err);\r\n error.value = err;\r\n }\r\n }, timeout);\r\n }\r\n load()\r\n .then(() => {\r\n loaded.value = true;\r\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\r\n // parent is keep-alive, force update so the loaded component's\r\n // name is taken into account\r\n queueJob(instance.parent.update);\r\n }\r\n })\r\n .catch(err => {\r\n onError(err);\r\n error.value = err;\r\n });\r\n return () => {\r\n if (loaded.value && resolvedComp) {\r\n return createInnerComp(resolvedComp, instance);\r\n }\r\n else if (error.value && errorComponent) {\r\n return createVNode(errorComponent, {\r\n error: error.value\r\n });\r\n }\r\n else if (loadingComponent && !delayed.value) {\r\n return createVNode(loadingComponent);\r\n }\r\n };\r\n }\r\n });\r\n}\r\nfunction createInnerComp(comp, { vnode: { ref, props, children, shapeFlag }, parent }) {\r\n const vnode = createVNode(comp, props, children);\r\n // ensure inner component inherits the async wrapper's ref owner\r\n vnode.ref = ref;\r\n return vnode;\r\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\r\nconst KeepAliveImpl = {\r\n name: `KeepAlive`,\r\n // Marker for special handling inside the renderer. We are not using a ===\r\n // check directly on KeepAlive in the renderer, because importing it directly\r\n // would prevent it from being tree-shaken.\r\n __isKeepAlive: true,\r\n props: {\r\n include: [String, RegExp, Array],\r\n exclude: [String, RegExp, Array],\r\n max: [String, Number]\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n // KeepAlive communicates with the instantiated renderer via the\r\n // ctx where the renderer passes in its internals,\r\n // and the KeepAlive instance exposes activate/deactivate implementations.\r\n // The whole point of this is to avoid importing KeepAlive directly in the\r\n // renderer to facilitate tree-shaking.\r\n const sharedContext = instance.ctx;\r\n // if the internal renderer is not registered, it indicates that this is server-side rendering,\r\n // for KeepAlive, we just need to render its children\r\n if (!sharedContext.renderer) {\r\n return () => {\r\n const children = slots.default && slots.default();\r\n return children && children.length === 1 ? children[0] : children;\r\n };\r\n }\r\n const cache = new Map();\r\n const keys = new Set();\r\n let current = null;\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n instance.__v_cache = cache;\r\n }\r\n const parentSuspense = instance.suspense;\r\n const { renderer: { p: patch, m: move, um: _unmount, o: { createElement } } } = sharedContext;\r\n const storageContainer = createElement('div');\r\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\r\n const instance = vnode.component;\r\n move(vnode, container, anchor, 0 /* ENTER */, parentSuspense);\r\n // in case props have changed\r\n patch(instance.vnode, vnode, container, anchor, instance, parentSuspense, isSVG, vnode.slotScopeIds, optimized);\r\n queuePostRenderEffect(() => {\r\n instance.isDeactivated = false;\r\n if (instance.a) {\r\n invokeArrayFns(instance.a);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n }, parentSuspense);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n // Update components tree\r\n devtoolsComponentAdded(instance);\r\n }\r\n };\r\n sharedContext.deactivate = (vnode) => {\r\n const instance = vnode.component;\r\n move(vnode, storageContainer, null, 1 /* LEAVE */, parentSuspense);\r\n queuePostRenderEffect(() => {\r\n if (instance.da) {\r\n invokeArrayFns(instance.da);\r\n }\r\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\r\n if (vnodeHook) {\r\n invokeVNodeHook(vnodeHook, instance.parent, vnode);\r\n }\r\n instance.isDeactivated = true;\r\n }, parentSuspense);\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n // Update components tree\r\n devtoolsComponentAdded(instance);\r\n }\r\n };\r\n function unmount(vnode) {\r\n // reset the shapeFlag so it can be properly unmounted\r\n resetShapeFlag(vnode);\r\n _unmount(vnode, instance, parentSuspense, true);\r\n }\r\n function pruneCache(filter) {\r\n cache.forEach((vnode, key) => {\r\n const name = getComponentName(vnode.type);\r\n if (name && (!filter || !filter(name))) {\r\n pruneCacheEntry(key);\r\n }\r\n });\r\n }\r\n function pruneCacheEntry(key) {\r\n const cached = cache.get(key);\r\n if (!current || cached.type !== current.type) {\r\n unmount(cached);\r\n }\r\n else if (current) {\r\n // current active instance should no longer be kept-alive.\r\n // we can't unmount it now but it might be later, so reset its flag now.\r\n resetShapeFlag(current);\r\n }\r\n cache.delete(key);\r\n keys.delete(key);\r\n }\r\n // prune cache on include/exclude prop change\r\n watch(() => [props.include, props.exclude], ([include, exclude]) => {\r\n include && pruneCache(name => matches(include, name));\r\n exclude && pruneCache(name => !matches(exclude, name));\r\n }, \r\n // prune post-render after `current` has been updated\r\n { flush: 'post', deep: true });\r\n // cache sub tree after render\r\n let pendingCacheKey = null;\r\n const cacheSubtree = () => {\r\n // fix #1621, the pendingCacheKey could be 0\r\n if (pendingCacheKey != null) {\r\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\r\n }\r\n };\r\n onMounted(cacheSubtree);\r\n onUpdated(cacheSubtree);\r\n onBeforeUnmount(() => {\r\n cache.forEach(cached => {\r\n const { subTree, suspense } = instance;\r\n const vnode = getInnerChild(subTree);\r\n if (cached.type === vnode.type) {\r\n // current instance will be unmounted as part of keep-alive's unmount\r\n resetShapeFlag(vnode);\r\n // but invoke its deactivated hook here\r\n const da = vnode.component.da;\r\n da && queuePostRenderEffect(da, suspense);\r\n return;\r\n }\r\n unmount(cached);\r\n });\r\n });\r\n return () => {\r\n pendingCacheKey = null;\r\n if (!slots.default) {\r\n return null;\r\n }\r\n const children = slots.default();\r\n const rawVNode = children[0];\r\n if (children.length > 1) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`KeepAlive should contain exactly one component child.`);\r\n }\r\n current = null;\r\n return children;\r\n }\r\n else if (!isVNode(rawVNode) ||\r\n (!(rawVNode.shapeFlag & 4 /* STATEFUL_COMPONENT */) &&\r\n !(rawVNode.shapeFlag & 128 /* SUSPENSE */))) {\r\n current = null;\r\n return rawVNode;\r\n }\r\n let vnode = getInnerChild(rawVNode);\r\n const comp = vnode.type;\r\n // for async components, name check should be based in its loaded\r\n // inner component if available\r\n const name = getComponentName(isAsyncWrapper(vnode)\r\n ? vnode.type.__asyncResolved || {}\r\n : comp);\r\n const { include, exclude, max } = props;\r\n if ((include && (!name || !matches(include, name))) ||\r\n (exclude && name && matches(exclude, name))) {\r\n current = vnode;\r\n return rawVNode;\r\n }\r\n const key = vnode.key == null ? comp : vnode.key;\r\n const cachedVNode = cache.get(key);\r\n // clone vnode if it's reused because we are going to mutate it\r\n if (vnode.el) {\r\n vnode = cloneVNode(vnode);\r\n if (rawVNode.shapeFlag & 128 /* SUSPENSE */) {\r\n rawVNode.ssContent = vnode;\r\n }\r\n }\r\n // #1513 it's possible for the returned vnode to be cloned due to attr\r\n // fallthrough or scopeId, so the vnode here may not be the final vnode\r\n // that is mounted. Instead of caching it directly, we store the pending\r\n // key and cache `instance.subTree` (the normalized vnode) in\r\n // beforeMount/beforeUpdate hooks.\r\n pendingCacheKey = key;\r\n if (cachedVNode) {\r\n // copy over mounted state\r\n vnode.el = cachedVNode.el;\r\n vnode.component = cachedVNode.component;\r\n if (vnode.transition) {\r\n // recursively update transition hooks on subTree\r\n setTransitionHooks(vnode, vnode.transition);\r\n }\r\n // avoid vnode being mounted as fresh\r\n vnode.shapeFlag |= 512 /* COMPONENT_KEPT_ALIVE */;\r\n // make this key the freshest\r\n keys.delete(key);\r\n keys.add(key);\r\n }\r\n else {\r\n keys.add(key);\r\n // prune oldest entry\r\n if (max && keys.size > parseInt(max, 10)) {\r\n pruneCacheEntry(keys.values().next().value);\r\n }\r\n }\r\n // avoid vnode being unmounted\r\n vnode.shapeFlag |= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n current = vnode;\r\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst KeepAlive = KeepAliveImpl;\r\nfunction matches(pattern, name) {\r\n if (isArray(pattern)) {\r\n return pattern.some((p) => matches(p, name));\r\n }\r\n else if (isString(pattern)) {\r\n return pattern.split(',').includes(name);\r\n }\r\n else if (pattern.test) {\r\n return pattern.test(name);\r\n }\r\n /* istanbul ignore next */\r\n return false;\r\n}\r\nfunction onActivated(hook, target) {\r\n registerKeepAliveHook(hook, \"a\" /* ACTIVATED */, target);\r\n}\r\nfunction onDeactivated(hook, target) {\r\n registerKeepAliveHook(hook, \"da\" /* DEACTIVATED */, target);\r\n}\r\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\r\n // cache the deactivate branch check wrapper for injected hooks so the same\r\n // hook can be properly deduped by the scheduler. \"__wdc\" stands for \"with\r\n // deactivation check\".\r\n const wrappedHook = hook.__wdc ||\r\n (hook.__wdc = () => {\r\n // only fire the hook if the target instance is NOT in a deactivated branch.\r\n let current = target;\r\n while (current) {\r\n if (current.isDeactivated) {\r\n return;\r\n }\r\n current = current.parent;\r\n }\r\n return hook();\r\n });\r\n injectHook(type, wrappedHook, target);\r\n // In addition to registering it on the target instance, we walk up the parent\r\n // chain and register it on all ancestor instances that are keep-alive roots.\r\n // This avoids the need to walk the entire component tree when invoking these\r\n // hooks, and more importantly, avoids the need to track child components in\r\n // arrays.\r\n if (target) {\r\n let current = target.parent;\r\n while (current && current.parent) {\r\n if (isKeepAlive(current.parent.vnode)) {\r\n injectToKeepAliveRoot(wrappedHook, type, target, current);\r\n }\r\n current = current.parent;\r\n }\r\n }\r\n}\r\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\r\n // injectHook wraps the original for error handling, so make sure to remove\r\n // the wrapped version.\r\n const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);\r\n onUnmounted(() => {\r\n remove(keepAliveRoot[type], injected);\r\n }, target);\r\n}\r\nfunction resetShapeFlag(vnode) {\r\n let shapeFlag = vnode.shapeFlag;\r\n if (shapeFlag & 256 /* COMPONENT_SHOULD_KEEP_ALIVE */) {\r\n shapeFlag -= 256 /* COMPONENT_SHOULD_KEEP_ALIVE */;\r\n }\r\n if (shapeFlag & 512 /* COMPONENT_KEPT_ALIVE */) {\r\n shapeFlag -= 512 /* COMPONENT_KEPT_ALIVE */;\r\n }\r\n vnode.shapeFlag = shapeFlag;\r\n}\r\nfunction getInnerChild(vnode) {\r\n return vnode.shapeFlag & 128 /* SUSPENSE */ ? vnode.ssContent : vnode;\r\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\r\n if (target) {\r\n const hooks = target[type] || (target[type] = []);\r\n // cache the error handling wrapper for injected hooks so the same hook\r\n // can be properly deduped by the scheduler. \"__weh\" stands for \"with error\r\n // handling\".\r\n const wrappedHook = hook.__weh ||\r\n (hook.__weh = (...args) => {\r\n if (target.isUnmounted) {\r\n return;\r\n }\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n // Set currentInstance during hook invocation.\r\n // This assumes the hook does not synchronously trigger other hooks, which\r\n // can only be false when the user does something really funky.\r\n setCurrentInstance(target);\r\n const res = callWithAsyncErrorHandling(hook, target, type, args);\r\n unsetCurrentInstance();\r\n resetTracking();\r\n return res;\r\n });\r\n if (prepend) {\r\n hooks.unshift(wrappedHook);\r\n }\r\n else {\r\n hooks.push(wrappedHook);\r\n }\r\n return wrappedHook;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, ''));\r\n warn(`${apiName} is called when there is no active component instance to be ` +\r\n `associated with. ` +\r\n `Lifecycle injection APIs can only be used during execution of setup().` +\r\n (` If you are using async setup(), make sure to register lifecycle ` +\r\n `hooks before the first await statement.`\r\n ));\r\n }\r\n}\r\nconst createHook = (lifecycle) => (hook, target = currentInstance) => \r\n// post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\r\n(!isInSSRComponentSetup || lifecycle === \"sp\" /* SERVER_PREFETCH */) &&\r\n injectHook(lifecycle, hook, target);\r\nconst onBeforeMount = createHook(\"bm\" /* BEFORE_MOUNT */);\r\nconst onMounted = createHook(\"m\" /* MOUNTED */);\r\nconst onBeforeUpdate = createHook(\"bu\" /* BEFORE_UPDATE */);\r\nconst onUpdated = createHook(\"u\" /* UPDATED */);\r\nconst onBeforeUnmount = createHook(\"bum\" /* BEFORE_UNMOUNT */);\r\nconst onUnmounted = createHook(\"um\" /* UNMOUNTED */);\r\nconst onServerPrefetch = createHook(\"sp\" /* SERVER_PREFETCH */);\r\nconst onRenderTriggered = createHook(\"rtg\" /* RENDER_TRIGGERED */);\r\nconst onRenderTracked = createHook(\"rtc\" /* RENDER_TRACKED */);\r\nfunction onErrorCaptured(hook, target = currentInstance) {\r\n injectHook(\"ec\" /* ERROR_CAPTURED */, hook, target);\r\n}\n\n/**\r\nRuntime helper for applying directives to a vnode. Example usage:\r\n\nconst comp = resolveComponent('comp')\r\nconst foo = resolveDirective('foo')\r\nconst bar = resolveDirective('bar')\r\n\nreturn withDirectives(h(comp), [\r\n [foo, this.x],\r\n [bar, this.y]\r\n])\r\n*/\r\nfunction validateDirectiveName(name) {\r\n if (isBuiltInDirective(name)) {\r\n warn('Do not use built-in directive ids as custom directive id: ' + name);\r\n }\r\n}\r\n/**\r\n * Adds directives to a VNode.\r\n */\r\nfunction withDirectives(vnode, directives) {\r\n const internalInstance = currentRenderingInstance;\r\n if (internalInstance === null) {\r\n (process.env.NODE_ENV !== 'production') && warn(`withDirectives can only be used inside render functions.`);\r\n return vnode;\r\n }\r\n const instance = getExposeProxy(internalInstance) ||\r\n internalInstance.proxy;\r\n const bindings = vnode.dirs || (vnode.dirs = []);\r\n for (let i = 0; i < directives.length; i++) {\r\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\r\n if (isFunction(dir)) {\r\n dir = {\r\n mounted: dir,\r\n updated: dir\r\n };\r\n }\r\n if (dir.deep) {\r\n traverse(value);\r\n }\r\n bindings.push({\r\n dir,\r\n instance,\r\n value,\r\n oldValue: void 0,\r\n arg,\r\n modifiers\r\n });\r\n }\r\n return vnode;\r\n}\r\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\r\n const bindings = vnode.dirs;\r\n const oldBindings = prevVNode && prevVNode.dirs;\r\n for (let i = 0; i < bindings.length; i++) {\r\n const binding = bindings[i];\r\n if (oldBindings) {\r\n binding.oldValue = oldBindings[i].value;\r\n }\r\n let hook = binding.dir[name];\r\n if (hook) {\r\n // disable tracking inside all lifecycle hooks\r\n // since they can potentially be called inside effects.\r\n pauseTracking();\r\n callWithAsyncErrorHandling(hook, instance, 8 /* DIRECTIVE_HOOK */, [\r\n vnode.el,\r\n binding,\r\n vnode,\r\n prevVNode\r\n ]);\r\n resetTracking();\r\n }\r\n }\r\n}\n\nconst COMPONENTS = 'components';\r\nconst DIRECTIVES = 'directives';\r\n/**\r\n * @private\r\n */\r\nfunction resolveComponent(name, maybeSelfReference) {\r\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\r\n}\r\nconst NULL_DYNAMIC_COMPONENT = Symbol();\r\n/**\r\n * @private\r\n */\r\nfunction resolveDynamicComponent(component) {\r\n if (isString(component)) {\r\n return resolveAsset(COMPONENTS, component, false) || component;\r\n }\r\n else {\r\n // invalid types will fallthrough to createVNode and raise warning\r\n return (component || NULL_DYNAMIC_COMPONENT);\r\n }\r\n}\r\n/**\r\n * @private\r\n */\r\nfunction resolveDirective(name) {\r\n return resolveAsset(DIRECTIVES, name);\r\n}\r\n// implementation\r\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\r\n const instance = currentRenderingInstance || currentInstance;\r\n if (instance) {\r\n const Component = instance.type;\r\n // explicit self name has highest priority\r\n if (type === COMPONENTS) {\r\n const selfName = getComponentName(Component, false /* do not include inferred name to avoid breaking existing code */);\r\n if (selfName &&\r\n (selfName === name ||\r\n selfName === camelize(name) ||\r\n selfName === capitalize(camelize(name)))) {\r\n return Component;\r\n }\r\n }\r\n const res = \r\n // local registration\r\n // check instance[type] first which is resolved for options API\r\n resolve(instance[type] || Component[type], name) ||\r\n // global registration\r\n resolve(instance.appContext[type], name);\r\n if (!res && maybeSelfReference) {\r\n // fallback to implicit self-reference\r\n return Component;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && warnMissing && !res) {\r\n const extra = type === COMPONENTS\r\n ? `\\nIf this is a native custom element, make sure to exclude it from ` +\r\n `component resolution via compilerOptions.isCustomElement.`\r\n : ``;\r\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\r\n }\r\n return res;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`resolve${capitalize(type.slice(0, -1))} ` +\r\n `can only be used in render() or setup().`);\r\n }\r\n}\r\nfunction resolve(registry, name) {\r\n return (registry &&\r\n (registry[name] ||\r\n registry[camelize(name)] ||\r\n registry[capitalize(camelize(name))]));\r\n}\n\n/**\r\n * Actual implementation\r\n */\r\nfunction renderList(source, renderItem, cache, index) {\r\n let ret;\r\n const cached = (cache && cache[index]);\r\n if (isArray(source) || isString(source)) {\r\n ret = new Array(source.length);\r\n for (let i = 0, l = source.length; i < l; i++) {\r\n ret[i] = renderItem(source[i], i, undefined, cached && cached[i]);\r\n }\r\n }\r\n else if (typeof source === 'number') {\r\n if ((process.env.NODE_ENV !== 'production') && !Number.isInteger(source)) {\r\n warn(`The v-for range expect an integer value but got ${source}.`);\r\n }\r\n ret = new Array(source);\r\n for (let i = 0; i < source; i++) {\r\n ret[i] = renderItem(i + 1, i, undefined, cached && cached[i]);\r\n }\r\n }\r\n else if (isObject(source)) {\r\n if (source[Symbol.iterator]) {\r\n ret = Array.from(source, (item, i) => renderItem(item, i, undefined, cached && cached[i]));\r\n }\r\n else {\r\n const keys = Object.keys(source);\r\n ret = new Array(keys.length);\r\n for (let i = 0, l = keys.length; i < l; i++) {\r\n const key = keys[i];\r\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\r\n }\r\n }\r\n }\r\n else {\r\n ret = [];\r\n }\r\n if (cache) {\r\n cache[index] = ret;\r\n }\r\n return ret;\r\n}\n\n/**\r\n * Compiler runtime helper for creating dynamic slots object\r\n * @private\r\n */\r\nfunction createSlots(slots, dynamicSlots) {\r\n for (let i = 0; i < dynamicSlots.length; i++) {\r\n const slot = dynamicSlots[i];\r\n // array of dynamic slot generated by \r\n if (isArray(slot)) {\r\n for (let j = 0; j < slot.length; j++) {\r\n slots[slot[j].name] = slot[j].fn;\r\n }\r\n }\r\n else if (slot) {\r\n // conditional single slot generated by \r\n slots[slot.name] = slot.fn;\r\n }\r\n }\r\n return slots;\r\n}\n\n/**\r\n * Compiler runtime helper for rendering ` `\r\n * @private\r\n */\r\nfunction renderSlot(slots, name, props = {}, \r\n// this is not a user-facing function, so the fallback is always generated by\r\n// the compiler and guaranteed to be a function returning an array\r\nfallback, noSlotted) {\r\n if (currentRenderingInstance.isCE ||\r\n (currentRenderingInstance.parent &&\r\n isAsyncWrapper(currentRenderingInstance.parent) &&\r\n currentRenderingInstance.parent.isCE)) {\r\n return createVNode('slot', name === 'default' ? null : { name }, fallback && fallback());\r\n }\r\n let slot = slots[name];\r\n if ((process.env.NODE_ENV !== 'production') && slot && slot.length > 1) {\r\n warn(`SSR-optimized slot function detected in a non-SSR-optimized render ` +\r\n `function. You need to mark this component with $dynamic-slots in the ` +\r\n `parent template.`);\r\n slot = () => [];\r\n }\r\n // a compiled slot disables block tracking by default to avoid manual\r\n // invocation interfering with template-based block tracking, but in\r\n // `renderSlot` we can be sure that it's template-based so we can force\r\n // enable it.\r\n if (slot && slot._c) {\r\n slot._d = false;\r\n }\r\n openBlock();\r\n const validSlotContent = slot && ensureValidVNode(slot(props));\r\n const rendered = createBlock(Fragment, { key: props.key || `_${name}` }, validSlotContent || (fallback ? fallback() : []), validSlotContent && slots._ === 1 /* STABLE */\r\n ? 64 /* STABLE_FRAGMENT */\r\n : -2 /* BAIL */);\r\n if (!noSlotted && rendered.scopeId) {\r\n rendered.slotScopeIds = [rendered.scopeId + '-s'];\r\n }\r\n if (slot && slot._c) {\r\n slot._d = true;\r\n }\r\n return rendered;\r\n}\r\nfunction ensureValidVNode(vnodes) {\r\n return vnodes.some(child => {\r\n if (!isVNode(child))\r\n return true;\r\n if (child.type === Comment)\r\n return false;\r\n if (child.type === Fragment &&\r\n !ensureValidVNode(child.children))\r\n return false;\r\n return true;\r\n })\r\n ? vnodes\r\n : null;\r\n}\n\n/**\r\n * For prefixing keys in v-on=\"obj\" with \"on\"\r\n * @private\r\n */\r\nfunction toHandlers(obj) {\r\n const ret = {};\r\n if ((process.env.NODE_ENV !== 'production') && !isObject(obj)) {\r\n warn(`v-on with no argument expects an object value.`);\r\n return ret;\r\n }\r\n for (const key in obj) {\r\n ret[toHandlerKey(key)] = obj[key];\r\n }\r\n return ret;\r\n}\n\n/**\r\n * #2437 In Vue 3, functional components do not have a public instance proxy but\r\n * they exist in the internal parent chain. For code that relies on traversing\r\n * public $parent chains, skip functional ones and go to the parent instead.\r\n */\r\nconst getPublicInstance = (i) => {\r\n if (!i)\r\n return null;\r\n if (isStatefulComponent(i))\r\n return getExposeProxy(i) || i.proxy;\r\n return getPublicInstance(i.parent);\r\n};\r\nconst publicPropertiesMap = \r\n// Move PURE marker to new line to workaround compiler discarding it\r\n// due to type annotation\r\n/*#__PURE__*/ extend(Object.create(null), {\r\n $: i => i,\r\n $el: i => i.vnode.el,\r\n $data: i => i.data,\r\n $props: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.props) : i.props),\r\n $attrs: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.attrs) : i.attrs),\r\n $slots: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.slots) : i.slots),\r\n $refs: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.refs) : i.refs),\r\n $parent: i => getPublicInstance(i.parent),\r\n $root: i => getPublicInstance(i.root),\r\n $emit: i => i.emit,\r\n $options: i => (__VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type),\r\n $forceUpdate: i => i.f || (i.f = () => queueJob(i.update)),\r\n $nextTick: i => i.n || (i.n = nextTick.bind(i.proxy)),\r\n $watch: i => (__VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP)\r\n});\r\nconst isReservedPrefix = (key) => key === '_' || key === '$';\r\nconst PublicInstanceProxyHandlers = {\r\n get({ _: instance }, key) {\r\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\r\n // for internal formatters to know that this is a Vue instance\r\n if ((process.env.NODE_ENV !== 'production') && key === '__isVue') {\r\n return true;\r\n }\r\n // prioritize
-
-
-
-
+
-
+ gtag('config', 'G-59FM5E4MVD');
+
+
+
+
+
-
-
+
+
diff --git a/public/README.md b/public/README.md
index 73ea44c..ac8140f 100644
--- a/public/README.md
+++ b/public/README.md
@@ -1,20 +1,20 @@
# Wavelovers
Wavelovers links: **[[rep](https://github.com/eugene-serb/wavelovers/), [site](https://wavelovers.ru/)]**.
-This is Wavelovers, a gamepad and gamepad vibration test tool that can also make a vibration massager out of a gamepad. It has 16 free vibration patterns to play with.
+This is Wavelovers, a gamepad vibration test tool that can also turn a gamepad into a vibrating massager. It has 16 free vibration patterns to play with, a pattern editor, and a manual mode.
Tech Stack:
***Vue.js***, ***Vuex***, ***Vue Router***, ***Typescript***, ***Javascript***, ***HTML***, ***CSS***, ***SCSS***, ***ESLint***, ***Babel***.
Commands:
- 1. npm install Project setup.
- 2. npm run serve Compiles and hot-reloads for development.
- 3. npm run build Compiles and minifies for production.
- 4. npm run lint Lints and fixes files.
+* npm install Project setup.
+* npm run serve Compiles and hot-reloads for development.
+* npm run build Compiles and minifies for production.
+* npm run lint Lints and fixes files.
Catalogs structure:
- ***/docs/*** production build.
- ***/ (root)*** dev files.
+ ***/docs/*** production build.
+ ***/(root)*** dev files.
If you are interested in this or my other projects, or would like to suggest and share ideas with me, or just talk to me, contact me: *[@eugene_serb](https://t.me/eugene_serb)*
diff --git a/public/about.html b/public/about.html
index 81263dc..1bd48ee 100644
--- a/public/about.html
+++ b/public/about.html
@@ -1,9 +1,9 @@
- Wavelovers β Redirect
-
-
+ Wavelovers β Redirect
+
+
diff --git a/public/css/styles.css b/public/css/styles.css
index 44d3d4d..59d3c00 100644
--- a/public/css/styles.css
+++ b/public/css/styles.css
@@ -1,6 +1,6 @@
/* ------------------------------ */
/* Wavelovers styles */
-/* version: dated 2022.08.12 */
+/* version: dated 2022.08.29 */
/* author: Eugene Serb */
/* ------------------------------ */
@@ -12,124 +12,124 @@
/* ------------------------------ */
:root {
- /* Simple colors */
- --color-white: #FFFFFF;
- --color-black: #000000;
- --color-milk: #F5F5F5;
- --color-coal: #3C3C3C;
- /* ---------------------- */
- /* Palette of five colors */
- --color-a: #E27396;
- --color-b: #EA9AB2;
- --color-c: #EFCFE3;
- --color-d: #EAF2D7;
- --color-e: #B3DEE2;
+ /* Simple colors */
+ --color-white: #FFFFFF;
+ --color-black: #000000;
+ --color-milk: #F5F5F5;
+ --color-coal: #3C3C3C;
+ /* ---------------------- */
+ /* Palette of five colors */
+ --color-a: #E27396;
+ --color-b: #EA9AB2;
+ --color-c: #EFCFE3;
+ --color-d: #EAF2D7;
+ --color-e: #B3DEE2;
}
:root {
- /* Base numbers */
- --number-border-radius: 8px;
- --number-border-size: 2px;
+ /* Base numbers */
+ --number-border-radius: 8px;
+ --number-border-size: 2px;
}
@media (prefers-color-scheme: light) {
- :root {
- /* Base colors */
- --color-border: var(--color-a);
- --color-background: var(--color-white);
- --color-text: var(--color-coal);
- --color-text-header: var(--color-coal);
- --color-link: var(--color-b);
- --color-link-hover: var(--color-a);
- --color-selection: var(--color-b);
- --color-fieldset-border: var(--color-c);
- --color-table-header-background: var(--color-b);
- --color-table-header-text: var(--color-white);
- --color-table-item: var(--color-c);
- /* Components colors */
- --color-header-background: var(--color-b);
- --color-header-borderline: var(--color-a);
- --color-header-selection: var(--color-a);
- --color-header-logo: var(--color-white);
- --color-header-navigation-link: var(--color-white);
- --color-header-navigation-link-hover: var(--color-white);
- --color-footer-borderline: var(--color-a);
- --color-footer-text: var(--color-coal);
- --color-content-item-background: var(--color-milk);
- --color-pattern-button: var(--color-c);
- --color-pattern-text: var(--color-white);
- }
+ :root {
+ /* Base colors */
+ --color-border: var(--color-a);
+ --color-background: var(--color-white);
+ --color-text: var(--color-coal);
+ --color-text-header: var(--color-coal);
+ --color-link: var(--color-b);
+ --color-link-hover: var(--color-a);
+ --color-selection: var(--color-b);
+ --color-fieldset-border: var(--color-c);
+ --color-table-header-background: var(--color-b);
+ --color-table-header-text: var(--color-white);
+ --color-table-item: var(--color-c);
+ /* Components colors */
+ --color-header-background: var(--color-b);
+ --color-header-borderline: var(--color-a);
+ --color-header-selection: var(--color-a);
+ --color-header-logo: var(--color-white);
+ --color-header-navigation-link: var(--color-white);
+ --color-header-navigation-link-hover: var(--color-white);
+ --color-footer-borderline: var(--color-a);
+ --color-footer-text: var(--color-coal);
+ --color-content-item-background: var(--color-milk);
+ --color-pattern-button: var(--color-c);
+ --color-pattern-text: var(--color-white);
+ }
}
@media (prefers-color-scheme: dark) {
- :root {
- /* Base colors */
- --color-border: var(--color-a);
- --color-background: var(--color-coal);
- --color-text: var(--color-coal);
- --color-text-header: var(--color-coal);
- --color-link: var(--color-b);
- --color-link-hover: var(--color-a);
- --color-selection: var(--color-b);
- --color-fieldset-border: var(--color-c);
- --color-table-header-background: var(--color-b);
- --color-table-header-text: var(--color-white);
- --color-table-item: var(--color-c);
- /* Components colors */
- --color-header-background: var(--color-a);
- --color-header-borderline: var(--color-b);
- --color-header-selection: var(--color-b);
- --color-header-logo: var(--color-white);
- --color-header-navigation-link: var(--color-white);
- --color-header-navigation-link-hover: var(--color-white);
- --color-footer-borderline: var(--color-a);
- --color-footer-text: var(--color-milk);
- --color-content-item-background: var(--color-c);
- --color-pattern-button: var(--color-milk);
- --color-pattern-text: var(--color-black);
- }
+ :root {
+ /* Base colors */
+ --color-border: var(--color-a);
+ --color-background: var(--color-coal);
+ --color-text: var(--color-coal);
+ --color-text-header: var(--color-coal);
+ --color-link: var(--color-b);
+ --color-link-hover: var(--color-a);
+ --color-selection: var(--color-b);
+ --color-fieldset-border: var(--color-c);
+ --color-table-header-background: var(--color-b);
+ --color-table-header-text: var(--color-white);
+ --color-table-item: var(--color-c);
+ /* Components colors */
+ --color-header-background: var(--color-a);
+ --color-header-borderline: var(--color-b);
+ --color-header-selection: var(--color-b);
+ --color-header-logo: var(--color-white);
+ --color-header-navigation-link: var(--color-white);
+ --color-header-navigation-link-hover: var(--color-white);
+ --color-footer-borderline: var(--color-a);
+ --color-footer-text: var(--color-milk);
+ --color-content-item-background: var(--color-c);
+ --color-pattern-button: var(--color-milk);
+ --color-pattern-text: var(--color-black);
+ }
}
*, ::after, ::before {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
}
html {
- font-family: 'Roboto', sans-serif;
- direction: ltr;
- font-size: 16px;
- line-height: 1.382em;
+ font-family: 'Roboto', sans-serif;
+ direction: ltr;
+ font-size: 16px;
+ line-height: 1.382em;
}
body {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- min-height: 100vh;
- background: var(--color-background);
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ min-height: 100vh;
+ background: var(--color-background);
}
::selection {
- background: var(--color-selection);
+ background: var(--color-selection);
}
:focus {
- border-bottom: 2px solid var(--color-selection);
+ border-bottom: 2px solid var(--color-selection);
}
:focus-visible {
- outline: 2px solid var(--color-selection);
- border-color: transparent;
+ outline: 2px solid var(--color-selection);
+ border-color: transparent;
}
h1, h2, h3, h4, h5, h6 {
- color: var(--color-text-header);
- font-weight: 500;
- margin-block-start: 0.382em;
- margin-block-end: 0.618em;
- line-height: 1.382em;
+ color: var(--color-text-header);
+ font-weight: 500;
+ margin-block-start: 0.382em;
+ margin-block-end: 0.618em;
+ line-height: 1.382em;
}
h1 { font-size: 2em; }
@@ -142,47 +142,50 @@ big { font-size: larger; }
small { font-size: smaller; }
span, p, article, blockquote {
- color: var(--color-text);
- font-weight: 300;
+ color: var(--color-text);
+ font-weight: 300;
+}
+
+ol, ul {
+ padding: 16px;
}
ul {
- padding: 16px;
- list-style-type: circle;
+ list-style-type: circle;
}
a {
- background-color: transparent;
- border-bottom: 2px solid transparent;
- font-weight: 500;
- color: var(--color-link);
- text-decoration: none;
+ background-color: transparent;
+ border-bottom: 2px solid transparent;
+ font-weight: 500;
+ color: var(--color-link);
+ text-decoration: none;
}
- a:hover {
- border-bottom: 2px solid var(--color-link-hover);
- color: var(--color-link-hover);
- transition: all 0.5s ease;
- text-decoration: none;
- }
+ a:hover {
+ border-bottom: 2px solid var(--color-link-hover);
+ color: var(--color-link-hover);
+ transition: all 0.5s ease;
+ text-decoration: none;
+ }
dl dd:last-child {
- margin-bottom: 0;
+ margin-bottom: 0;
}
dt {
- margin-bottom: 4px;
- font-size: 18px;
- font-weight: 500;
- font-style: oblique;
+ margin-bottom: 4px;
+ font-size: 18px;
+ font-weight: 500;
+ font-style: oblique;
}
dd {
- margin-bottom: 16px;
- padding-left: 16px;
- font-size: 16px;
- font-weight: 300;
- font-style: normal;
+ margin-bottom: 16px;
+ padding-left: 16px;
+ font-size: 16px;
+ font-weight: 300;
+ font-style: normal;
}
/* ----- */
@@ -190,189 +193,190 @@ dd {
/* ----- */
hr {
- margin-block-start: 0.5em;
- margin-block-end: 0.5em;
+ margin-block-start: 0.5em;
+ margin-block-end: 0.5em;
}
legend {
- padding: 2px 4px;
- text-align: left;
+ padding: 2px 4px;
+ text-align: left;
}
fieldset {
- border: 2px solid var(--color-border-alpha);
- border-radius: var(--number-border-radius);
- padding: 8px;
+ border: 2px solid var(--color-border-alpha);
+ border-radius: var(--number-border-radius);
+ padding: 8px;
}
button, textarea, select, input {
- padding: 4px 8px;
- border: 2px solid var(--color-link);
- border-radius: var(--number-border-radius);
- background: var(--color-milk);
- color: var(--color-text);
- font-size: 16px;
- line-height: 1.382em;
- white-space: nowrap;
+ padding: 4px 8px;
+ border: 2px solid var(--color-link);
+ border-radius: var(--number-border-radius);
+ background: var(--color-milk);
+ color: var(--color-text);
+ font-size: 16px;
+ line-height: 1.382em;
+ white-space: nowrap;
}
- button:hover, input:hover,
- textarea:hover, select:hover {
- border: 2px solid var(--color-link-hover);
- transition: all 0.5s ease;
- }
+
+ button:hover, input:hover,
+ textarea:hover, select:hover {
+ border: 2px solid var(--color-link-hover);
+ transition: all 0.5s ease;
+ }
option {
- background: var(--color-background);
- color: var(--color-text);
- font-size: 16px;
- line-height: 1.382em;
+ background: var(--color-background);
+ color: var(--color-text);
+ font-size: 16px;
+ line-height: 1.382em;
}
- option:hover {
- background-color: var(--color-selection);
- color: var(--color-white);
- }
+ option:hover {
+ background-color: var(--color-selection);
+ color: var(--color-white);
+ }
input[type=range] {
- width: 100%;
- margin: 8px 0;
- padding: 4px 0;
- border: 0px solid var(--color-link);
- -webkit-appearance: none;
+ width: 100%;
+ margin: 8px 0;
+ padding: 4px 0;
+ border: 0px solid var(--color-link);
+ -webkit-appearance: none;
}
- input[type=range]:hover {
- margin: 8px 0;
- padding: 4px 0;
- border: 0px solid var(--color-link-hover);
- }
+ input[type=range]:hover {
+ margin: 8px 0;
+ padding: 4px 0;
+ border: 0px solid var(--color-link-hover);
+ }
- input[type=range]:focus {
- outline: none;
- }
+ input[type=range]:focus {
+ outline: none;
+ }
- input[type=range]::-webkit-slider-runnable-track {
- width: 100%;
- height: 8px;
- cursor: pointer;
- box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
- background: var(--color-b);
- border-radius: 8px;
- border: 0px solid #000101;
- }
+ input[type=range]::-webkit-slider-runnable-track {
+ width: 100%;
+ height: 8px;
+ border: 0px solid #000101;
+ border-radius: 8px;
+ box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
+ background: var(--color-b);
+ cursor: pointer;
+ }
- input[type=range]::-webkit-slider-thumb {
- box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
- border: 0px solid #000000;
- height: 16px;
- width: 16px;
- border-radius: 8px;
- background: var(--color-a);
- cursor: pointer;
- -webkit-appearance: none;
- margin-top: -4px;
- }
+ input[type=range]::-webkit-slider-thumb {
+ -webkit-appearance: none;
+ width: 16px;
+ height: 16px;
+ margin-top: -4px;
+ border: 0px solid #000000;
+ border-radius: 8px;
+ box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
+ background: var(--color-a);
+ cursor: pointer;
+ }
- input[type=range]:focus::-webkit-slider-runnable-track {
- background: var(--color-b);
- }
+ input[type=range]:focus::-webkit-slider-runnable-track {
+ background: var(--color-b);
+ }
- input[type=range]::-moz-range-track {
- width: 100%;
- height: 8px;
- cursor: pointer;
- animate: 0.2s;
- box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
- background: var(--color-b);
- border-radius: 8px;
- border: 0px solid #000101;
- }
+ input[type=range]::-moz-range-track {
+ width: 100%;
+ height: 8px;
+ border: 0px solid #000101;
+ border-radius: 8px;
+ box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
+ background: var(--color-b);
+ cursor: pointer;
+ animate: 0.2s;
+ }
- input[type=range]::-moz-range-thumb {
- box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
- border: 0px solid #000000;
- height: 16px;
- width: 16px;
- border-radius: 8px;
- background: var(--color-a);
- cursor: pointer;
- }
+ input[type=range]::-moz-range-thumb {
+ width: 16px;
+ height: 16px;
+ border: 0px solid #000000;
+ border-radius: 8px;
+ box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
+ background: var(--color-a);
+ cursor: pointer;
+ }
- input[type=range]::-ms-track {
- width: 100%;
- height: 8px;
- cursor: pointer;
- animate: 0.2s;
- background: transparent;
- border-color: transparent;
- border-width: 8px 0;
- color: transparent;
- }
+ input[type=range]::-ms-track {
+ width: 100%;
+ height: 8px;
+ border-width: 8px 0;
+ border-color: transparent;
+ background: transparent;
+ color: transparent;
+ cursor: pointer;
+ animate: 0.2s;
+ }
- input[type=range]::-ms-fill-lower {
- background: var(--color-b);
- border: 0px solid #000101;
- border-radius: 8px;
- box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
- }
+ input[type=range]::-ms-fill-lower {
+ border: 0px solid #000101;
+ border-radius: 8px;
+ box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
+ background: var(--color-b);
+ }
- input[type=range]::-ms-fill-upper {
- background: var(--color-b);
- border: 0px solid #000101;
- border-radius: 8px;
- box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
- }
+ input[type=range]::-ms-fill-upper {
+ border: 0px solid #000101;
+ border-radius: 8px;
+ box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
+ background: var(--color-b);
+ }
- input[type=range]::-ms-thumb {
- box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
- border: 0px solid #000000;
- height: 16px;
- width: 16px;
- border-radius: 8px;
- background: var(--color-a);
- cursor: pointer;
- }
+ input[type=range]::-ms-thumb {
+ width: 16px;
+ height: 16px;
+ border: 0px solid #000000;
+ border-radius: 8px;
+ box-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d;
+ background: var(--color-a);
+ cursor: pointer;
+ }
- input[type=range]:focus::-ms-fill-lower {
- background: var(--color-b);
- }
+ input[type=range]:focus::-ms-fill-lower {
+ background: var(--color-b);
+ }
- input[type=range]:focus::-ms-fill-upper {
- background: var(--color-b);
- }
+ input[type=range]:focus::-ms-fill-upper {
+ background: var(--color-b);
+ }
/* ------ */
/* TABLES */
/* ------ */
table, th, td {
- width: 100%;
- padding: 8px;
- border-collapse: collapse;
- table-layout: fixed;
- font-weight: 400;
+ width: 100%;
+ padding: 8px;
+ border-collapse: collapse;
+ table-layout: fixed;
+ font-weight: 400;
}
.table_pink thead {
- border-bottom: 4px solid var(--color-table-item);
+ border-bottom: 4px solid var(--color-table-item);
}
- .table_pink thead > tr {
- background-color: var(--color-table-header-background);
- color: var(--color-table-header-text);
+ .table_pink thead > tr {
+ background-color: var(--color-table-header-background);
+ color: var(--color-table-header-text);
+ }
+
+ .table_pink thead > tr > th {
+ font-weight: 500;
}
- .table_pink thead > tr > th {
- font-weight: 500;
- }
-
.table_pink tbody > tr:nth-child(even) {
- background-color: var(--color-table-item);
- color: var(--color-white);
+ background-color: var(--color-table-item);
+ color: var(--color-white);
}
.table_pink tfoot {
- border-top: 4px solid var(--color-table-header-background);
+ border-top: 4px solid var(--color-table-header-background);
}
/* ------------- */
@@ -380,28 +384,28 @@ table, th, td {
/* ------------- */
.hidden {
- display: none !important;
+ display: none !important;
}
.visually-hidden {
- position: absolute;
- width: 1px;
- height: 1px;
- margin: -1px;
- border: 0;
- padding: 0;
- white-space: nowrap;
- clip-path: inset(100%);
- clip: rect(0 0 0 0);
- overflow: hidden;
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ margin: -1px;
+ border: 0;
+ padding: 0;
+ white-space: nowrap;
+ clip-path: inset(100%);
+ clip: rect(0 0 0 0);
+ overflow: hidden;
}
.container {
- width: 100%;
- max-width: 1080px;
- margin: 0 auto;
- padding-left: 16px;
- padding-right: 16px;
+ width: 100%;
+ max-width: 1080px;
+ margin: 0 auto;
+ padding-left: 16px;
+ padding-right: 16px;
}
/* ----------------- */
@@ -413,10 +417,10 @@ table, th, td {
/* --- */
.app {
- min-height: 100vh;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
}
/* ---- */
@@ -424,16 +428,16 @@ table, th, td {
/* ---- */
.page {
- flex-grow: 1;
- margin-top: 32px;
- margin-bottom: 32px;
+ flex-grow: 1;
+ margin-top: 32px;
+ margin-bottom: 32px;
}
@media only screen and (min-width: 540px) {
- .page {
- margin-top: 64px;
- margin-bottom: 64px;
- }
+ .page {
+ margin-top: 64px;
+ margin-bottom: 64px;
+ }
}
/* ---- */
@@ -441,12 +445,12 @@ table, th, td {
/* ---- */
.post {
- margin: 0 auto;
+ margin: 0 auto;
}
.post__header {
- text-align: center;
- margin-block-end: 32px;
+ text-align: center;
+ margin-block-end: 32px;
}
/* ------- */
@@ -455,42 +459,33 @@ table, th, td {
.content {
- margin-bottom: 64px;
+ margin-bottom: 64px;
}
.content__header {
- margin-top: 0;
- margin-bottom: 32px;
- padding-left: 16px;
- border: 2px solid var(--color-content-borderline);
- border-radius: var(--number-border-radius);
- color: var(--color-text-header);
- font-size: 1.8em;
+ margin-top: 0;
+ margin-bottom: 32px;
+ padding-left: 16px;
+ border: 2px solid var(--color-content-borderline);
+ border-radius: var(--number-border-radius);
+ color: var(--color-text-header);
+ font-size: 1.8em;
}
.content-item {
- margin-bottom: 16px;
- padding: 16px;
- border-radius: var(--number-border-radius);
- background: var(--color-content-item-background);
+ margin-bottom: 16px;
+ padding: 16px;
+ border-radius: var(--number-border-radius);
+ background: var(--color-content-item-background);
}
- .content-item__header {
- margin-bottom: 16px;
- text-align: center;
- }
+.content-item__header {
+ margin-bottom: 16px;
+ text-align: center;
+}
@media only screen and (min-width: 540px) {
- .content-item {
- padding: 32px;
- }
+ .content-item {
+ padding: 32px;
+ }
}
-
-/* ----- */
-/* PAGES */
-/* ----- */
-
-.link_hash {
- word-break: break-all;
-}
-
diff --git a/public/custom.html b/public/custom.html
index b601ca6..c9b6ffe 100644
--- a/public/custom.html
+++ b/public/custom.html
@@ -1,9 +1,9 @@
- Wavelovers β Redirect
-
-
+ Wavelovers β Redirect
+
+
diff --git a/public/diagnostic.html b/public/diagnostic.html
index 36c2c5f..f135eb8 100644
--- a/public/diagnostic.html
+++ b/public/diagnostic.html
@@ -1,9 +1,9 @@
- Wavelovers β Redirect
-
-
+ Wavelovers β Redirect
+
+
diff --git a/public/donate.html b/public/donate.html
index 80513b2..e2aa99a 100644
--- a/public/donate.html
+++ b/public/donate.html
@@ -1,9 +1,9 @@
- Wavelovers β Redirect
-
-
+ Wavelovers β Redirect
+
+
diff --git a/public/faq.html b/public/faq.html
index 738718f..47dc252 100644
--- a/public/faq.html
+++ b/public/faq.html
@@ -1,9 +1,9 @@
- Wavelovers β Redirect
-
-
+ Wavelovers β Redirect
+
+
diff --git a/public/index.html b/public/index.html
index a8a6f36..6750030 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,74 +1,74 @@
- Wavelovers
-
-
-
+ Wavelovers
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
-
-
-
+
+
+
-
-
+ ym(89252711, "init", {
+ clickmap: true,
+ trackLinks: true,
+ accurateTrackBounce: true,
+ webvisor: true
+ });
+
+
+
-
- You need to enable JavaScript to run this app.
-
+
+ You need to enable JavaScript to run this app.
+
diff --git a/public/manual.html b/public/manual.html
index c5b53cb..50e361f 100644
--- a/public/manual.html
+++ b/public/manual.html
@@ -1,9 +1,9 @@
- Wavelovers β Redirect
-
-
+ Wavelovers β Redirect
+
+
diff --git a/public/sitemap-internal.xml b/public/sitemap-internal.xml
index a85c1d2..9810c47 100644
--- a/public/sitemap-internal.xml
+++ b/public/sitemap-internal.xml
@@ -2,43 +2,43 @@
https://wavelovers.ru/
- 2022-08-12
+ 2022-08-31
weekly
1.0
https://wavelovers.ru/custom
- 2022-08-12
+ 2022-08-31
weekly
1.0
https://wavelovers.ru/manual
- 2022-08-12
+ 2022-08-31
weekly
1.0
https://wavelovers.ru/diagnostic
- 2022-08-12
+ 2022-08-31
weekly
1.0
https://wavelovers.ru/faq
- 2022-08-12
+ 2022-08-31
weekly
1.0
https://wavelovers.ru/about
- 2022-08-12
+ 2022-08-31
weekly
1.0
https://wavelovers.ru/donate
- 2022-08-12
+ 2022-08-31
weekly
1.0
diff --git a/public/sitemap.xml b/public/sitemap.xml
index ae89b5c..1e9a6ee 100644
--- a/public/sitemap.xml
+++ b/public/sitemap.xml
@@ -2,7 +2,7 @@
https://wavelovers.ru/sitemap-internal.xml
- 2022-08-12
+ 2022-08-31
diff --git a/src/App.vue b/src/App.vue
index c680d87..d3ad788 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,41 +1,47 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/src/components/AppCustom.vue b/src/components/AppCustom.vue
index da00b29..32874d9 100644
--- a/src/components/AppCustom.vue
+++ b/src/components/AppCustom.vue
@@ -1,125 +1,125 @@
ο»Ώ
-
-
-
- Press any gamepad button or connect a new gamepad to vibrate.
+
+
+
+ Press any gamepad button or connect a new gamepad to vibrate.
diff --git a/src/components/AppDiagnostic.vue b/src/components/AppDiagnostic.vue
index 60bf84f..72d0475 100644
--- a/src/components/AppDiagnostic.vue
+++ b/src/components/AppDiagnostic.vue
@@ -1,60 +1,33 @@
ο»Ώ
-
-
-
-
-
- Press any gamepad button or connect a new gamepad to vibrate.
+
+
+
+
+
+ Press any gamepad button or connect a new gamepad to vibrate.
diff --git a/src/components/AppManual.vue b/src/components/AppManual.vue
index fc0822d..444d547 100644
--- a/src/components/AppManual.vue
+++ b/src/components/AppManual.vue
@@ -1,198 +1,182 @@
ο»Ώ
-
-
-
- Weak Magnitude
-
-
-
- Strong Magnitude
-
-
-
-
- RT
- β Vibrate
-
-
- A
- β Combined Mode
-
-
- X
- β Strong Mode
-
-
- Y
- β Light Mode
-
-
- B
- β Lock Intensity
-
-
+
+
+
+ Weak Magnitude
+
+
+
+ Strong Magnitude
+
+
+
+
+ RT
+ β Vibrate
+
+
+ A
+ β Combined Mode
+
+
+ X
+ β Strong Mode
+
+
+ Y
+ β Light Mode
+
+
+ B
+ β Lock Intensity
+
-
-
Press any gamepad button or connect a new gamepad to vibrate.
+
+
+
Press any gamepad button or connect a new gamepad to vibrate.
diff --git a/src/components/AppPatterns.vue b/src/components/AppPatterns.vue
index d39a09f..baca22c 100644
--- a/src/components/AppPatterns.vue
+++ b/src/components/AppPatterns.vue
@@ -1,58 +1,58 @@
ο»Ώ
-
-
-
- Press any gamepad button or connect a new gamepad to vibrate.
+
+
+
+ Press any gamepad button or connect a new gamepad to vibrate.
diff --git a/src/components/DiagnosticItem.vue b/src/components/DiagnosticItem.vue
index c1fee61..d9dc305 100644
--- a/src/components/DiagnosticItem.vue
+++ b/src/components/DiagnosticItem.vue
@@ -1,101 +1,85 @@
ο»Ώ
-
-
#{{ gamepad.unit.index + 1 }}. {{ gamepad.unit.id }}
-
-
- A: {{ gamepad.unit.buttons[0].value.toFixed(2) }}
- B: {{ gamepad.unit.buttons[1].value.toFixed(2) }}
- X: {{ gamepad.unit.buttons[2].value.toFixed(2) }}
- Y: {{ gamepad.unit.buttons[3].value.toFixed(2) }}
-
-
- LB: {{ gamepad.unit.buttons[4].value.toFixed(2) }}
- RB: {{ gamepad.unit.buttons[5].value.toFixed(2) }}
- LT: {{ gamepad.unit.buttons[6].value.toFixed(2) }}
- RT: {{ gamepad.unit.buttons[7].value.toFixed(2) }}
-
-
- Back: {{ gamepad.unit.buttons[8].value.toFixed(2) }}
- Start: {{ gamepad.unit.buttons[9].value.toFixed(2) }}
- Left Stick: {{gamepad.unit.buttons[10].value.toFixed(2) }}
- Right Stick: {{ gamepad.unit.buttons[11].value.toFixed(2) }}
-
-
- Forward: {{ gamepad.unit.buttons[12].value.toFixed(2) }}
- Backward: {{ gamepad.unit.buttons[13].value.toFixed(2) }}
- Left: {{ gamepad.unit.buttons[14].value.toFixed(2) }}
- Right: {{ gamepad.unit.buttons[15].value.toFixed(2) }}
-
-
- Left Stick X: {{ gamepad.unit.axes[0] ? gamepad.unit.axes[0].toFixed(2) : 'missing' }}
- Left Stick Y: {{ gamepad.unit.axes[1] ? gamepad.unit.axes[1].toFixed(2) : 'missing' }}
- Right Stick X: {{ gamepad.unit.axes[2] ? gamepad.unit.axes[2].toFixed(2) : 'missing' }}
- Right Stick Y: {{ gamepad.unit.axes[3] ? gamepad.unit.axes[3].toFixed(2) : 'missing' }}
-
-
-
Vibration Actuator: {{ gamepad.unit.vibrationActuator ? 'Available' : 'missing' }}
+
+
#{{ gamepad.unit.index + 1 }}. {{ gamepad.unit.id }}
+
+
+ A: {{ gamepad.unit.buttons[0].value.toFixed(2) }}
+ B: {{ gamepad.unit.buttons[1].value.toFixed(2) }}
+ X: {{ gamepad.unit.buttons[2].value.toFixed(2) }}
+ Y: {{ gamepad.unit.buttons[3].value.toFixed(2) }}
+
+
+ LB: {{ gamepad.unit.buttons[4].value.toFixed(2) }}
+ RB: {{ gamepad.unit.buttons[5].value.toFixed(2) }}
+ LT: {{ gamepad.unit.buttons[6].value.toFixed(2) }}
+ RT: {{ gamepad.unit.buttons[7].value.toFixed(2) }}
+
+
+ Back: {{ gamepad.unit.buttons[8].value.toFixed(2) }}
+ Start: {{ gamepad.unit.buttons[9].value.toFixed(2) }}
+ Left Stick: {{gamepad.unit.buttons[10].value.toFixed(2) }}
+ Right Stick: {{ gamepad.unit.buttons[11].value.toFixed(2) }}
+
+
+ Forward: {{ gamepad.unit.buttons[12].value.toFixed(2) }}
+ Backward: {{ gamepad.unit.buttons[13].value.toFixed(2) }}
+ Left: {{ gamepad.unit.buttons[14].value.toFixed(2) }}
+ Right: {{ gamepad.unit.buttons[15].value.toFixed(2) }}
+
+
+ Left Stick X: {{ gamepad.unit.axes[0] ? gamepad.unit.axes[0].toFixed(2) : 'missing' }}
+ Left Stick Y: {{ gamepad.unit.axes[1] ? gamepad.unit.axes[1].toFixed(2) : 'missing' }}
+ Right Stick X: {{ gamepad.unit.axes[2] ? gamepad.unit.axes[2].toFixed(2) : 'missing' }}
+ Right Stick Y: {{ gamepad.unit.axes[3] ? gamepad.unit.axes[3].toFixed(2) : 'missing' }}
+
+
Vibration Actuator: {{ gamepad.unit.vibrationActuator ? 'Available' : 'missing' }}
+
diff --git a/src/components/FooterItem.vue b/src/components/FooterItem.vue
index 415da09..875fa54 100644
--- a/src/components/FooterItem.vue
+++ b/src/components/FooterItem.vue
@@ -1,54 +1,54 @@
-
+
diff --git a/src/components/GamepadItem.vue b/src/components/GamepadItem.vue
index 837499a..83f5be1 100644
--- a/src/components/GamepadItem.vue
+++ b/src/components/GamepadItem.vue
@@ -1,34 +1,34 @@
-
+
diff --git a/src/components/GamepadList.vue b/src/components/GamepadList.vue
index 01df810..f7a1487 100644
--- a/src/components/GamepadList.vue
+++ b/src/components/GamepadList.vue
@@ -1,34 +1,34 @@
-
-
-
+
+
+
+ export default defineComponent({
+ name: 'GamepadList',
+ props: {
+ gamepads: {
+ type: Array,
+ },
+ },
+ components: {
+ GamepadItem: GamepadItem,
+ },
+ });
+
diff --git a/src/components/HeaderItem.vue b/src/components/HeaderItem.vue
index 52be4a5..44699ef 100644
--- a/src/components/HeaderItem.vue
+++ b/src/components/HeaderItem.vue
@@ -1,144 +1,144 @@
-
+
diff --git a/src/components/MessageItem.vue b/src/components/MessageItem.vue
index f530b7d..b2068ce 100644
--- a/src/components/MessageItem.vue
+++ b/src/components/MessageItem.vue
@@ -1,33 +1,33 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/src/components/NavigationList.vue b/src/components/NavigationList.vue
index 3b69c21..43084e8 100644
--- a/src/components/NavigationList.vue
+++ b/src/components/NavigationList.vue
@@ -1,34 +1,34 @@
ο»Ώ
-
- Patterns
- Custom
- Manual
- Diagnostic
-
+
+ Patterns
+ Custom
+ Manual
+ Diagnostic
+
diff --git a/src/components/PatternItem.vue b/src/components/PatternItem.vue
index a25bcf3..ae7892f 100644
--- a/src/components/PatternItem.vue
+++ b/src/components/PatternItem.vue
@@ -1,101 +1,101 @@
-
diff --git a/src/components/PatternList.vue b/src/components/PatternList.vue
index 28c0d52..5eb2dd7 100644
--- a/src/components/PatternList.vue
+++ b/src/components/PatternList.vue
@@ -1,57 +1,57 @@
-
+
diff --git a/src/main.ts b/src/main.ts
index 3957738..872b817 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -3,5 +3,8 @@ import App from '@/App.vue';
import router from '@/router';
import store from '@/store';
-createApp(App).use(store).use(router).mount('#app');
+createApp(App)
+ .use(store)
+ .use(router)
+ .mount('#app');
diff --git a/src/mixins/ComputedGamepads.vue b/src/mixins/ComputedGamepads.vue
new file mode 100644
index 0000000..a426332
--- /dev/null
+++ b/src/mixins/ComputedGamepads.vue
@@ -0,0 +1,36 @@
+
diff --git a/src/models/IGamepad.ts b/src/models/IGamepad.ts
index d24fe99..1637361 100644
--- a/src/models/IGamepad.ts
+++ b/src/models/IGamepad.ts
@@ -2,14 +2,14 @@ import IVibrationActuator from '@/models/IVibrationActuator';
import IGamepadButton from '@/models/IGamepadButton';
interface IGamepad {
- readonly id: string;
- readonly index: number;
- readonly timestamp: number;
- readonly connected: boolean;
- readonly mapping: string;
- readonly axes: number[];
- readonly buttons: IGamepadButton[];
- readonly vibrationActuator: IVibrationActuator;
+ readonly id: string;
+ readonly index: number;
+ readonly timestamp: number;
+ readonly connected: boolean;
+ readonly mapping: string;
+ readonly axes: number[];
+ readonly buttons: IGamepadButton[];
+ readonly vibrationActuator: IVibrationActuator;
}
export default IGamepad;
diff --git a/src/models/IGamepadButton.ts b/src/models/IGamepadButton.ts
index e88c8de..de035e4 100644
--- a/src/models/IGamepadButton.ts
+++ b/src/models/IGamepadButton.ts
@@ -1,7 +1,7 @@
interface IGamepadButton {
- readonly pressed: boolean;
- readonly touched: boolean;
- readonly value: number;
+ readonly pressed: boolean;
+ readonly touched: boolean;
+ readonly value: number;
}
export default IGamepadButton;
diff --git a/src/models/IGamepadEvent.ts b/src/models/IGamepadEvent.ts
index dc3400a..bb4a395 100644
--- a/src/models/IGamepadEvent.ts
+++ b/src/models/IGamepadEvent.ts
@@ -1,7 +1,7 @@
import IGamepad from '@/models/IGamepad';
interface IGamepadEvent {
- readonly gamepad: IGamepad;
+ readonly gamepad: IGamepad;
}
export default IGamepadEvent;
diff --git a/src/models/IPatternUnit.ts b/src/models/IPatternUnit.ts
index 663f794..5bc3bb0 100644
--- a/src/models/IPatternUnit.ts
+++ b/src/models/IPatternUnit.ts
@@ -1,8 +1,8 @@
interface IPatternUnit {
- startDelay: number;
- duration: number;
- weakMagnitude: number;
- strongMagnitude: number;
+ startDelay: number;
+ duration: number;
+ weakMagnitude: number;
+ strongMagnitude: number;
}
export default IPatternUnit;
diff --git a/src/models/IVibrationActuator.ts b/src/models/IVibrationActuator.ts
index 2ecb641..94ba5ad 100644
--- a/src/models/IVibrationActuator.ts
+++ b/src/models/IVibrationActuator.ts
@@ -1,9 +1,9 @@
import TPatternUnit from '@/models/TPatternUnit';
interface IVibrationActuator {
- readonly type: string;
- reset(): void;
- playEffect(mode: string, pattern: TPatternUnit): void;
+ readonly type: string;
+ reset(): void;
+ playEffect(mode: string, pattern: TPatternUnit): void;
}
export default IVibrationActuator;
diff --git a/src/models/IVibrator.ts b/src/models/IVibrator.ts
index fd1b02f..cdff81c 100644
--- a/src/models/IVibrator.ts
+++ b/src/models/IVibrator.ts
@@ -2,16 +2,16 @@ import TPatternUnit from '@/models/TPatternUnit';
import IGamepad from '@/models/IGamepad';
interface IVibrator {
- unit: IGamepad;
- readonly id: number;
- readonly canVibrate: boolean;
- isVibrating: boolean;
- interval: number;
- update(): void;
- loop(pattern: TPatternUnit[]): void;
- vibrate(pattern: TPatternUnit): void;
- reset(): void;
- sleep(ms: number): Promise
;
+ unit: IGamepad;
+ readonly id: number;
+ readonly canVibrate: boolean;
+ isVibrating: boolean;
+ interval: number;
+ update(): void;
+ loop(pattern: TPatternUnit[]): Promise;
+ vibrate(pattern: TPatternUnit): void;
+ reset(): void;
+ sleep(ms: number): Promise;
}
export default IVibrator;
diff --git a/src/models/PatternUnit.ts b/src/models/PatternUnit.ts
index c1825cd..1619b40 100644
--- a/src/models/PatternUnit.ts
+++ b/src/models/PatternUnit.ts
@@ -2,20 +2,20 @@ import IPatternUnit from "@/models/IPatternUnit";
class PatternUnit implements IPatternUnit {
- startDelay: number;
- duration: number;
- weakMagnitude: number;
- strongMagnitude: number;
+ startDelay: number;
+ duration: number;
+ weakMagnitude: number;
+ strongMagnitude: number;
- constructor(
- startDelay: number, duration: number,
- weakMagnitude: number, strongMagnitude: number
- ) {
- this.startDelay = startDelay;
- this.duration = duration;
- this.weakMagnitude = weakMagnitude;
- this.strongMagnitude = strongMagnitude;
- }
+ constructor(
+ startDelay: number, duration: number,
+ weakMagnitude: number, strongMagnitude: number
+ ) {
+ this.startDelay = startDelay;
+ this.duration = duration;
+ this.weakMagnitude = weakMagnitude;
+ this.strongMagnitude = strongMagnitude;
+ }
}
export default PatternUnit;
diff --git a/src/models/TPattern.ts b/src/models/TPattern.ts
index ba32dc6..ba3fdf8 100644
--- a/src/models/TPattern.ts
+++ b/src/models/TPattern.ts
@@ -1,10 +1,10 @@
import TPatternUnit from '@/models/TPatternUnit';
type TPattern = {
- name: string;
- type: string;
- icon: string;
- pattern: TPatternUnit[];
+ name: string;
+ type: string;
+ icon: string;
+ pattern: TPatternUnit[];
}
export default TPattern;
diff --git a/src/models/TPatternUnit.ts b/src/models/TPatternUnit.ts
index 3eab492..04602db 100644
--- a/src/models/TPatternUnit.ts
+++ b/src/models/TPatternUnit.ts
@@ -1,8 +1,8 @@
type TPatternUnit = {
- startDelay: number;
- duration: number;
- weakMagnitude: number;
- strongMagnitude: number;
+ startDelay: number;
+ duration: number;
+ weakMagnitude: number;
+ strongMagnitude: number;
}
export default TPatternUnit;
diff --git a/src/models/Vibrator.ts b/src/models/Vibrator.ts
index c5ed7d5..bbfd16e 100644
--- a/src/models/Vibrator.ts
+++ b/src/models/Vibrator.ts
@@ -4,53 +4,53 @@ import IVibrator from '@/models/IVibrator';
class Vibrator implements IVibrator {
- unit: IGamepad;
- readonly id: number;
- readonly canVibrate: boolean;
- isVibrating: boolean;
- interval: number;
+ unit: IGamepad;
+ readonly id: number;
+ readonly canVibrate: boolean;
+ isVibrating: boolean;
+ interval: number;
- constructor(unit: IGamepad) {
- this.unit = unit;
- this.id = Date.now();
- this.canVibrate = (this.unit.vibrationActuator) ? true : false;
- this.isVibrating = false;
- this.update = this.update.bind(this);
- this.interval = setInterval(this.update, 1);
- }
+ constructor(unit: IGamepad) {
+ this.unit = unit;
+ this.id = Date.now();
+ this.canVibrate = (this.unit.vibrationActuator) ? true : false;
+ this.isVibrating = false;
+ this.update = this.update.bind(this);
+ this.interval = setInterval(this.update, 1);
+ }
- update(): void {
- const gamepads = navigator.getGamepads();
- this.unit = gamepads[this.unit.index] as unknown as IGamepad;
- }
+ update(): void {
+ const gamepads = navigator.getGamepads();
+ this.unit = gamepads[this.unit.index] as unknown as IGamepad;
+ }
- async loop(pattern: TPatternUnit[]) {
- this.isVibrating = true;
- const offsetTime = 10;
- while (this.isVibrating === true) {
- for (let i = 0; i < pattern.length; i++) {
- if (this.isVibrating === true) {
- this.vibrate(pattern[i]);
- await this.sleep(pattern[i].startDelay + pattern[i].duration - offsetTime);
- } else {
- return;
- }
- }
+ async loop(pattern: TPatternUnit[]): Promise {
+ this.isVibrating = true;
+ const offsetTime = 10;
+ while (this.isVibrating === true) {
+ for (let i = 0; i < pattern.length; i++) {
+ if (this.isVibrating === true) {
+ this.vibrate(pattern[i]);
+ await this.sleep(pattern[i].startDelay + pattern[i].duration - offsetTime);
+ } else {
+ return;
}
+ }
}
+ }
- vibrate(pattern: TPatternUnit): void {
- this.unit.vibrationActuator.playEffect('dual-rumble', pattern);
- }
+ vibrate(pattern: TPatternUnit): void {
+ this.unit.vibrationActuator.playEffect('dual-rumble', pattern);
+ }
- reset(): void {
- this.isVibrating = false;
- this.unit.vibrationActuator.reset();
- }
+ reset(): void {
+ this.isVibrating = false;
+ this.unit.vibrationActuator.reset();
+ }
- sleep(ms: number): Promise {
- return new Promise(resolve => setTimeout(resolve, ms));
- }
+ sleep(ms: number): Promise {
+ return new Promise(resolve => setTimeout(resolve, ms));
+ }
}
export default Vibrator;
diff --git a/src/router/assets/metas/404.ts b/src/router/assets/metas/404.ts
new file mode 100644
index 0000000..878a88f
--- /dev/null
+++ b/src/router/assets/metas/404.ts
@@ -0,0 +1,21 @@
+const meta = {
+ title: 'Wavelovers β Page not found',
+ metaTags: [
+ {
+ name: 'og:title',
+ content: 'Wavelovers β Page not found',
+ },
+ {
+ name: 'og:url',
+ content: 'https://wavelovers.ru/404',
+ },
+ ],
+ linkTags: [
+ {
+ rel: 'canonical',
+ href: 'https://wavelovers.ru/404',
+ },
+ ],
+};
+
+export default meta;
diff --git a/src/router/assets/metas/About.ts b/src/router/assets/metas/About.ts
new file mode 100644
index 0000000..b3136ed
--- /dev/null
+++ b/src/router/assets/metas/About.ts
@@ -0,0 +1,41 @@
+const meta = {
+ title: 'Wavelovers β About',
+ metaTags: [
+ {
+ name: 'keywords',
+ content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΡΠ΅ΠΊΠ»Π°ΠΌΠ°',
+ },
+ {
+ name: 'description',
+ content: 'Wavelovers. Page with information about the project and data on donations.',
+ },
+ {
+ name: 'og:title',
+ content: 'Wavelovers β About',
+ },
+ {
+ name: 'og:description',
+ content: 'Wavelovers. Page with information about the project and data on donations.',
+ },
+ {
+ name: 'og:url',
+ content: 'https://wavelovers.ru/about',
+ },
+ {
+ name: 'twitter:title',
+ content: 'Wavelovers β About',
+ },
+ {
+ name: 'twitter:description',
+ content: 'Wavelovers. Page with information about the project and data on donations.',
+ },
+ ],
+ linkTags: [
+ {
+ rel: 'canonical',
+ href: 'https://wavelovers.ru/about',
+ },
+ ],
+};
+
+export default meta;
diff --git a/src/router/assets/metas/Custom.ts b/src/router/assets/metas/Custom.ts
new file mode 100644
index 0000000..c95f258
--- /dev/null
+++ b/src/router/assets/metas/Custom.ts
@@ -0,0 +1,41 @@
+const meta = {
+ title: 'Wavelovers β Custom',
+ metaTags: [
+ {
+ name: 'keywords',
+ content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°',
+ },
+ {
+ name: 'description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ {
+ name: 'og:title',
+ content: 'Wavelovers β Custom',
+ },
+ {
+ name: 'og:description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ {
+ name: 'og:url',
+ content: 'https://wavelovers.ru/custom',
+ },
+ {
+ name: 'twitter:title',
+ content: 'Wavelovers β Custom',
+ },
+ {
+ name: 'twitter:description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ ],
+ linkTags: [
+ {
+ rel: 'canonical',
+ href: 'https://wavelovers.ru/custom',
+ },
+ ],
+};
+
+export default meta;
diff --git a/src/router/assets/metas/Diagnostic.ts b/src/router/assets/metas/Diagnostic.ts
new file mode 100644
index 0000000..8eefd36
--- /dev/null
+++ b/src/router/assets/metas/Diagnostic.ts
@@ -0,0 +1,41 @@
+const meta = {
+ title: 'Wavelovers β Diagnostic',
+ metaTags: [
+ {
+ name: 'keywords',
+ content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°',
+ },
+ {
+ name: 'description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ {
+ name: 'og:title',
+ content: 'Wavelovers β Diagnostic',
+ },
+ {
+ name: 'og:description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ {
+ name: 'og:url',
+ content: 'https://wavelovers.ru/diagnostic',
+ },
+ {
+ name: 'twitter:title',
+ content: 'Wavelovers β Diagnostic',
+ },
+ {
+ name: 'twitter:description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ ],
+ linkTags: [
+ {
+ rel: 'canonical',
+ href: 'https://wavelovers.ru/diagnostic',
+ },
+ ],
+};
+
+export default meta;
diff --git a/src/router/assets/metas/Donate.ts b/src/router/assets/metas/Donate.ts
new file mode 100644
index 0000000..efdafe3
--- /dev/null
+++ b/src/router/assets/metas/Donate.ts
@@ -0,0 +1,41 @@
+const meta = {
+ title: 'Wavelovers β Donate',
+ metaTags: [
+ {
+ name: 'keywords',
+ content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, Π·Π°Π΄ΠΎΠ½Π°ΡΠΈΡΡ, ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ, ΠΏΠΎΠΌΠΎΡΡ, ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΡ',
+ },
+ {
+ name: 'description',
+ content: 'Wavelovers. Donate to the author.',
+ },
+ {
+ name: 'og:title',
+ content: 'Wavelovers β Donate',
+ },
+ {
+ name: 'og:description',
+ content: 'Wavelovers. Donate to the author.',
+ },
+ {
+ name: 'og:url',
+ content: 'https://wavelovers.ru/donate',
+ },
+ {
+ name: 'twitter:title',
+ content: 'Wavelovers β Donate',
+ },
+ {
+ name: 'twitter:description',
+ content: 'Wavelovers. Donate to the author.',
+ },
+ ],
+ linkTags: [
+ {
+ rel: 'canonical',
+ href: 'https://wavelovers.ru/donate',
+ },
+ ],
+};
+
+export default meta;
diff --git a/src/router/assets/metas/Faq.ts b/src/router/assets/metas/Faq.ts
new file mode 100644
index 0000000..d48c89b
--- /dev/null
+++ b/src/router/assets/metas/Faq.ts
@@ -0,0 +1,41 @@
+const meta = {
+ title: 'Wavelovers β FAQ',
+ metaTags: [
+ {
+ name: 'keywords',
+ content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΡΠ°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ',
+ },
+ {
+ name: 'description',
+ content: 'Wavelovers. Frequently asked questions page.',
+ },
+ {
+ name: 'og:title',
+ content: 'Wavelovers β FAQ',
+ },
+ {
+ name: 'og:description',
+ content: 'Wavelovers. Frequently asked questions page.',
+ },
+ {
+ name: 'og:url',
+ content: 'https://wavelovers.ru/faq',
+ },
+ {
+ name: 'twitter:title',
+ content: 'Wavelovers β FAQ',
+ },
+ {
+ name: 'twitter:description',
+ content: 'Wavelovers. Frequently asked questions page.',
+ },
+ ],
+ linkTags: [
+ {
+ rel: 'canonical',
+ href: 'https://wavelovers.ru/faq',
+ },
+ ],
+};
+
+export default meta;
diff --git a/src/router/assets/metas/Manual.ts b/src/router/assets/metas/Manual.ts
new file mode 100644
index 0000000..605e59d
--- /dev/null
+++ b/src/router/assets/metas/Manual.ts
@@ -0,0 +1,41 @@
+const meta = {
+ title: 'Wavelovers β Manual',
+ metaTags: [
+ {
+ name: 'keywords',
+ content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°',
+ },
+ {
+ name: 'description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ {
+ name: 'og:title',
+ content: 'Wavelovers β Manual',
+ },
+ {
+ name: 'og:description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ {
+ name: 'og:url',
+ content: 'https://wavelovers.ru/manual',
+ },
+ {
+ name: 'twitter:title',
+ content: 'Wavelovers β Manual',
+ },
+ {
+ name: 'twitter:description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ ],
+ linkTags: [
+ {
+ rel: 'canonical',
+ href: 'https://wavelovers.ru/manual',
+ },
+ ],
+};
+
+export default meta;
diff --git a/src/router/assets/metas/Patterns.ts b/src/router/assets/metas/Patterns.ts
new file mode 100644
index 0000000..5a58f30
--- /dev/null
+++ b/src/router/assets/metas/Patterns.ts
@@ -0,0 +1,41 @@
+const meta = {
+ title: 'Wavelovers',
+ metaTags: [
+ {
+ name: 'keywords',
+ content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°',
+ },
+ {
+ name: 'description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ {
+ name: 'og:title',
+ content: 'Wavelovers',
+ },
+ {
+ name: 'og:description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ {
+ name: 'og:url',
+ content: 'https://wavelovers.ru/',
+ },
+ {
+ name: 'twitter:title',
+ content: 'Wavelovers',
+ },
+ {
+ name: 'twitter:description',
+ content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
+ },
+ ],
+ linkTags: [
+ {
+ rel: 'canonical',
+ href: 'https://wavelovers.ru/',
+ },
+ ],
+};
+
+export default meta;
diff --git a/src/router/assets/queries.ts b/src/router/assets/queries.ts
new file mode 100644
index 0000000..0b721e0
--- /dev/null
+++ b/src/router/assets/queries.ts
@@ -0,0 +1,30 @@
+import IQueryRoute from '@/router/models/IQueryRoute';
+
+const queries: Array = [
+ {
+ query: '/?custom',
+ path: '/custom',
+ },
+ {
+ query: '/?manual',
+ path: '/manual',
+ },
+ {
+ query: '/?diagnostic',
+ path: '/diagnostic',
+ },
+ {
+ query: '/?faq',
+ path: '/faq',
+ },
+ {
+ query: '/?about',
+ path: '/about',
+ },
+ {
+ query: '/?donate',
+ path: '/donate',
+ }
+];
+
+export default queries;
diff --git a/src/router/assets/routes.ts b/src/router/assets/routes.ts
new file mode 100644
index 0000000..6568bff
--- /dev/null
+++ b/src/router/assets/routes.ts
@@ -0,0 +1,66 @@
+import { RouteRecordRaw } from 'vue-router';
+import metaPatterns from '@/router/assets/metas/Patterns';
+import metaCustom from '@/router/assets/metas/Custom';
+import metaManual from '@/router/assets/metas/Manual';
+import metaDiagnostic from '@/router/assets/metas/Diagnostic';
+import metaFaq from '@/router/assets/metas/Faq';
+import metaAbout from '@/router/assets/metas/About';
+import metaDonate from '@/router/assets/metas/Donate';
+import meta404 from '@/router/assets/metas/404';
+
+const routes: Array = [
+ {
+ path: '/',
+ name: 'patterns-view',
+ component: () => import('@/views/PatternsView.vue'),
+ meta: metaPatterns,
+ },
+ {
+ path: '/custom',
+ name: 'custom-view',
+ component: () => import('@/views/CustomView.vue'),
+ meta: metaCustom,
+ },
+ {
+ path: '/manual',
+ name: 'manual-view',
+ component: () => import('@/views/ManualView.vue'),
+ meta: metaManual,
+ },
+ {
+ path: '/diagnostic',
+ name: 'diagnostic-view',
+ component: () => import('@/views/DiagnosticView.vue'),
+ meta: metaDiagnostic,
+ },
+ {
+ path: '/faq',
+ name: 'faq-view',
+ component: () => import('@/views/FaqView.vue'),
+ meta: metaFaq,
+ },
+ {
+ path: '/about',
+ name: 'about-view',
+ component: () => import('@/views/AboutView.vue'),
+ meta: metaAbout,
+ },
+ {
+ path: '/donate',
+ name: 'donate-view',
+ component: () => import('@/views/DonateView.vue'),
+ meta: metaDonate,
+ },
+ {
+ path: '/404',
+ name: '404',
+ component: () => import('@/views/NotFoundView.vue'),
+ meta: meta404,
+ },
+ {
+ path: '/:catchAll(.*)*',
+ redirect: '/404',
+ },
+];
+
+export default routes;
diff --git a/src/router/index.ts b/src/router/index.ts
index e50f966..7a46f88 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -1,354 +1,25 @@
-import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';
-import PatternsView from '@/views/PatternsView.vue';
+import {
+ createRouter, createWebHistory,
+ NavigationGuardNext, RouteLocationNormalized
+} from 'vue-router';
import QueryRouter from '@/router/modules/QueryRouter';
import MetaTagUpdater from '@/router/modules/MetaTagUpdater';
-
-const routes: Array = [
- {
- path: '/',
- name: 'patterns-view',
- component: PatternsView,
- meta: {
- title: 'Wavelovers',
- metaTags: [
- {
- name: 'keywords',
- content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°',
- },
- {
- name: 'description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- {
- name: 'og:title',
- content: 'Wavelovers',
- },
- {
- name: 'og:description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- {
- name: 'og:url',
- content: 'https://wavelovers.ru/',
- },
- {
- name: 'twitter:title',
- content: 'Wavelovers',
- },
- {
- name: 'twitter:description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- ],
- linkTags: [
- {
- rel: 'canonical',
- href: 'https://wavelovers.ru/',
- },
- ],
- },
- },
- {
- path: '/custom',
- name: 'custom-view',
- component: () => import('@/views/CustomView.vue'),
- meta: {
- title: 'Wavelovers β Custom',
- metaTags: [
- {
- name: 'keywords',
- content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°',
- },
- {
- name: 'description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- {
- name: 'og:title',
- content: 'Wavelovers β Custom',
- },
- {
- name: 'og:description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- {
- name: 'og:url',
- content: 'https://wavelovers.ru/custom',
- },
- {
- name: 'twitter:title',
- content: 'Wavelovers β Custom',
- },
- {
- name: 'twitter:description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- ],
- linkTags: [
- {
- rel: 'canonical',
- href: 'https://wavelovers.ru/custom',
- },
- ],
- },
- },
- {
- path: '/manual',
- name: 'manual-view',
- component: () => import('@/views/ManualView.vue'),
- meta: {
- title: 'Wavelovers β Manual',
- metaTags: [
- {
- name: 'keywords',
- content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°',
- },
- {
- name: 'description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- {
- name: 'og:title',
- content: 'Wavelovers β Manual',
- },
- {
- name: 'og:description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- {
- name: 'og:url',
- content: 'https://wavelovers.ru/manual',
- },
- {
- name: 'twitter:title',
- content: 'Wavelovers β Manual',
- },
- {
- name: 'twitter:description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- ],
- linkTags: [
- {
- rel: 'canonical',
- href: 'https://wavelovers.ru/manual',
- },
- ],
- },
- },
- {
- path: '/diagnostic',
- name: 'diagnostic-view',
- component: () => import('@/views/DiagnosticView.vue'),
- meta: {
- title: 'Wavelovers β Diagnostic',
- metaTags: [
- {
- name: 'keywords',
- content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°',
- },
- {
- name: 'description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- {
- name: 'og:title',
- content: 'Wavelovers β Diagnostic',
- },
- {
- name: 'og:description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- {
- name: 'og:url',
- content: 'https://wavelovers.ru/diagnostic',
- },
- {
- name: 'twitter:title',
- content: 'Wavelovers β Diagnostic',
- },
- {
- name: 'twitter:description',
- content: 'Wavelovers. Use your device vibration correctly. Make a massager out of a gamepad.',
- },
- ],
- linkTags: [
- {
- rel: 'canonical',
- href: 'https://wavelovers.ru/diagnostic',
- },
- ],
- },
- },
- {
- path: '/faq',
- name: 'faq-view',
- component: () => import('@/views/FaqView.vue'),
- meta: {
- title: 'Wavelovers β FAQ',
- metaTags: [
- {
- name: 'keywords',
- content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, FAQ, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΡΠ°ΡΡΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ',
- },
- {
- name: 'description',
- content: 'Wavelovers. Frequently asked questions page.',
- },
- {
- name: 'og:title',
- content: 'Wavelovers β FAQ',
- },
- {
- name: 'og:description',
- content: 'Wavelovers. Frequently asked questions page.',
- },
- {
- name: 'og:url',
- content: 'https://wavelovers.ru/faq',
- },
- {
- name: 'twitter:title',
- content: 'Wavelovers β FAQ',
- },
- {
- name: 'twitter:description',
- content: 'Wavelovers. Frequently asked questions page.',
- },
- ],
- linkTags: [
- {
- rel: 'canonical',
- href: 'https://wavelovers.ru/faq',
- },
- ],
- },
- },
- {
- path: '/about',
- name: 'about-view',
- component: () => import('@/views/AboutView.vue'),
- meta: {
- title: 'Wavelovers β About',
- metaTags: [
- {
- name: 'keywords',
- content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, advertise, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΡΠ΅ΠΊΠ»Π°ΠΌΠ°',
- },
- {
- name: 'description',
- content: 'Wavelovers. Page with information about the project and data on donations.',
- },
- {
- name: 'og:title',
- content: 'Wavelovers β About',
- },
- {
- name: 'og:description',
- content: 'Wavelovers. Page with information about the project and data on donations.',
- },
- {
- name: 'og:url',
- content: 'https://wavelovers.ru/about',
- },
- {
- name: 'twitter:title',
- content: 'Wavelovers β About',
- },
- {
- name: 'twitter:description',
- content: 'Wavelovers. Page with information about the project and data on donations.',
- },
- ],
- linkTags: [
- {
- rel: 'canonical',
- href: 'https://wavelovers.ru/about',
- },
- ],
- },
- },
- {
- path: '/donate',
- name: 'donate-view',
- component: () => import('@/views/DonateView.vue'),
- meta: {
- title: 'Wavelovers β Donate',
- metaTags: [
- {
- name: 'keywords',
- content: 'Wavelovers, Wave Lovers, Wavemaster, Wave Master, Vibration Master, Vibration, Gamepad, Gamepad Vibration, Gamepad Massager, Vibrate Gamepad, Phone Vibration, Gamepad Tester, Phone Vibration Tester, Vibration Tester, Massager, Vibrator, Satisfyer, Womanizer, Relax, Donate, Support, Π³Π΅ΠΉΠΌΠΏΠ°Π΄, Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΠ΅Ρ, Π²ΠΈΠ±ΡΠΎ, Π²ΠΈΠ±ΡΠΎΠΌΠ°ΡΡΠ°ΠΆΡΡ ΠΈΠ· Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ Π³Π΅ΠΉΠΌΠΏΠ°Π΄Π°, ΡΠ΅ΡΡΠ΅Ρ Π²ΠΈΠ±ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, Π·Π°Π΄ΠΎΠ½Π°ΡΠΈΡΡ, ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ, ΠΏΠΎΠΌΠΎΡΡ, ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°ΡΠΈΡΡ',
- },
- {
- name: 'description',
- content: 'Wavelovers. Donate to the author.',
- },
- {
- name: 'og:title',
- content: 'Wavelovers β Donate',
- },
- {
- name: 'og:description',
- content: 'Wavelovers. Donate to the author.',
- },
- {
- name: 'og:url',
- content: 'https://wavelovers.ru/donate',
- },
- {
- name: 'twitter:title',
- content: 'Wavelovers β Donate',
- },
- {
- name: 'twitter:description',
- content: 'Wavelovers. Donate to the author.',
- },
- ],
- linkTags: [
- {
- rel: 'canonical',
- href: 'https://wavelovers.ru/donate',
- },
- ],
- },
- },
- {
- path: '/404',
- name: '404',
- component: () => import('@/views/NotFoundView.vue'),
- meta: {
- title: 'Wavelovers β Page not found',
- metaTags: [
- {
- name: 'og:title',
- content: 'Wavelovers β Page not found',
- },
- {
- name: 'og:url',
- content: 'https://wavelovers.ru/404',
- },
- ],
- linkTags: [
- {
- rel: 'canonical',
- href: 'https://wavelovers.ru/404',
- },
- ],
- },
- },
- {
- path: '/:catchAll(.*)*',
- redirect: '/404',
- },
-];
+import routes from '@/router/assets/routes';
+import queries from '@/router/assets/queries';
const router = createRouter({
- history: createWebHistory(process.env.BASE_URL),
- routes,
+ history: createWebHistory(process.env.BASE_URL),
+ routes,
});
-router.beforeEach(QueryRouter.update);
-router.beforeEach(MetaTagUpdater.update);
+router.beforeEach((
+ to: RouteLocationNormalized,
+ from: RouteLocationNormalized,
+ next: NavigationGuardNext
+) => {
+ QueryRouter.update(to, from, next, router, queries);
+ MetaTagUpdater.update(to, from, next)
+});
export default router;
diff --git a/src/router/models/IQueryRoute.ts b/src/router/models/IQueryRoute.ts
new file mode 100644
index 0000000..6fce5f6
--- /dev/null
+++ b/src/router/models/IQueryRoute.ts
@@ -0,0 +1,6 @@
+interface IQueryRoute {
+ query: string;
+ path: string;
+}
+
+export default IQueryRoute;
diff --git a/src/router/modules/MetaTagUpdater.ts b/src/router/modules/MetaTagUpdater.ts
index 557f5ad..77c7636 100644
--- a/src/router/modules/MetaTagUpdater.ts
+++ b/src/router/modules/MetaTagUpdater.ts
@@ -1,47 +1,49 @@
-import { NavigationGuardNext, RouteLocationNormalized, RouteRecordNormalized } from "vue-router";
+import {
+ NavigationGuardNext, RouteLocationNormalized, RouteRecordNormalized
+} from "vue-router";
function appendTags(tagsArray: object[], type: string) {
- tagsArray.map((meta: object) => {
- const tag = document.createElement(type);
- (Object.keys(meta) as Array)
- .forEach((key) => {
- tag.setAttribute(key, meta[key] as string);
- });
- tag.setAttribute('data-vue-router-controlled', '');
- return tag;
- }).forEach(tag => document.head.appendChild(tag));
+ tagsArray.map((meta: object) => {
+ const tag = document.createElement(type);
+ (Object.keys(meta) as Array)
+ .forEach((key) => {
+ tag.setAttribute(key, meta[key] as string);
+ });
+ tag.setAttribute('data-vue-router-controlled', '');
+ return tag;
+ }).forEach(tag => document.head.appendChild(tag));
}
function updateMetatag(
- to: RouteLocationNormalized,
- from: RouteLocationNormalized,
- next: NavigationGuardNext
+ to: RouteLocationNormalized,
+ from: RouteLocationNormalized,
+ next: NavigationGuardNext
) {
- const nearestWithTitle: RouteRecordNormalized =
- to.matched.slice().reverse()
- .find(r => r.meta && r.meta.title) as RouteRecordNormalized;
- const nearestWithMeta: RouteRecordNormalized =
- to.matched.slice().reverse()
- .find(r => r.meta && r.meta.metaTags && r.meta.linkTags) as RouteRecordNormalized;
- if (nearestWithTitle) {
- document.title = nearestWithTitle.meta.title as string;
- }
- Array.from(document.querySelectorAll('[data-vue-router-controlled]'))
- .map(el => {
- if (el.parentNode) {
- el.parentNode.removeChild(el);
- }
- });
- if (!nearestWithMeta) return next();
- const linkTags: object[] = nearestWithMeta.meta.linkTags as object[];
- const metaTags: object[] = nearestWithMeta.meta.metaTags as object[];
- appendTags(linkTags, 'link');
- appendTags(metaTags, 'meta');
- return next();
+ const nearestWithTitle: RouteRecordNormalized =
+ to.matched.slice().reverse()
+ .find(r => r.meta && r.meta.title) as RouteRecordNormalized;
+ const nearestWithMeta: RouteRecordNormalized =
+ to.matched.slice().reverse()
+ .find(r => r.meta && r.meta.metaTags && r.meta.linkTags) as RouteRecordNormalized;
+ if (nearestWithTitle) {
+ document.title = nearestWithTitle.meta.title as string;
+ }
+ Array.from(document.querySelectorAll('[data-vue-router-controlled]'))
+ .map(el => {
+ if (el.parentNode) {
+ el.parentNode.removeChild(el);
+ }
+ });
+ if (!nearestWithMeta) return next();
+ const linkTags: object[] = nearestWithMeta.meta.linkTags as object[];
+ const metaTags: object[] = nearestWithMeta.meta.metaTags as object[];
+ appendTags(linkTags, 'link');
+ appendTags(metaTags, 'meta');
+ return next();
}
const MetaTagUpdater = {
- update: updateMetatag,
+ update: updateMetatag,
};
export default MetaTagUpdater;
diff --git a/src/router/modules/QueryRouter.ts b/src/router/modules/QueryRouter.ts
index 5032e58..f44195e 100644
--- a/src/router/modules/QueryRouter.ts
+++ b/src/router/modules/QueryRouter.ts
@@ -1,36 +1,25 @@
-import router from '@/router';
-import { NavigationGuardNext, RouteLocationNormalized } from "vue-router";
+import {
+ Router, NavigationGuardNext, RouteLocationNormalized
+} from "vue-router";
+import IQueryRoute from '@/router/models/IQueryRoute';
function updateRoute(
- to: RouteLocationNormalized,
- from: RouteLocationNormalized,
- next: NavigationGuardNext
-) {
- switch (to.fullPath) {
- case '/?custom':
- router.push('/custom');
- break;
- case '/?manual':
- router.push('/manual');
- break;
- case '/?diagnostic':
- router.push('/diagnostic');
- break;
- case '/?faq':
- router.push('/faq');
- break;
- case '/?about':
- router.push('/about');
- break;
- case '/?donate':
- router.push('/donate');
- break;
+ to: RouteLocationNormalized,
+ from: RouteLocationNormalized,
+ next: NavigationGuardNext,
+ router: Router,
+ routes: Array
+): void {
+ routes.forEach((route) => {
+ if (route.query === to.fullPath) {
+ router.push(route.path);
}
- return next();
+ });
+ return next();
}
const QueryRouter = {
- update: updateRoute,
+ update: updateRoute,
};
export default QueryRouter;
diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts
index 932180d..1de65a3 100644
--- a/src/shims-vue.d.ts
+++ b/src/shims-vue.d.ts
@@ -1,7 +1,7 @@
/* eslint-disable */
declare module '*.vue' {
- import type { DefineComponent } from 'vue';
- const component: DefineComponent<{}, {}, any>;
- export default component;
+ import type { DefineComponent } from 'vue';
+ const component: DefineComponent<{}, {}, any>;
+ export default component;
};
diff --git a/src/store/index.ts b/src/store/index.ts
index a332f12..92b5d51 100644
--- a/src/store/index.ts
+++ b/src/store/index.ts
@@ -5,58 +5,58 @@ import MPatterns from '@/store/modules/MPatterns';
import TPatternUnit from '@/models/TPatternUnit';
const store: Store = createStore({
- state: () => ({
- mode: 0 as number,
- isActive: false as boolean,
- }),
- getters: {
- mode: function (state: IRootState): number {
- return state.mode as number;
- },
- isActive: function (state: IRootState): boolean {
- return state.isActive as boolean;
- },
+ state: () => ({
+ mode: 0 as number,
+ isActive: false as boolean,
+ }),
+ getters: {
+ mode: function (state: IRootState): number {
+ return state.mode as number;
},
- mutations: {
- setMode: function (state: IRootState, mode: number): void {
- state.mode = mode as number;
- },
- setIsActive: function (state: IRootState, isActive: boolean): void {
- state.isActive = isActive as boolean;
- },
+ isActive: function (state: IRootState): boolean {
+ return state.isActive as boolean;
},
- actions: {
- setMode: function (context, index: number): void {
- context.commit('setMode', index as number);
- },
- setIsActive: function (context, isActive: boolean): void {
- context.commit('setIsActive', isActive as boolean);
- },
- change: function (context, index: number): void {
- if (context.getters.mode === index) {
- context.dispatch('setIsActive', !context.getters.isActive);
- } else {
- context.dispatch('setIsActive', true);
- context.dispatch('setMode', index);
- }
- if (context.getters.isActive === true) {
- context.dispatch('reset');
- context.dispatch('loop', context.getters.patterns[context.getters.mode].pattern);
- } else {
- context.dispatch('reset');
- }
- },
- startCustom: function (context, pattern: TPatternUnit[]): void {
- context.dispatch('setIsActive', false);
- context.dispatch('setMode', 0);
- context.dispatch('reset');
- context.dispatch('loop', pattern);
- },
+ },
+ mutations: {
+ setMode: function (state: IRootState, mode: number): void {
+ state.mode = mode as number;
},
- modules: {
- MGamepads: MGamepads,
- MPatterns: MPatterns,
+ setIsActive: function (state: IRootState, isActive: boolean): void {
+ state.isActive = isActive as boolean;
},
+ },
+ actions: {
+ setMode: function (context, index: number): void {
+ context.commit('setMode', index as number);
+ },
+ setIsActive: function (context, isActive: boolean): void {
+ context.commit('setIsActive', isActive as boolean);
+ },
+ change: function (context, index: number): void {
+ if (context.getters.mode === index) {
+ context.dispatch('setIsActive', !context.getters.isActive);
+ } else {
+ context.dispatch('setIsActive', true);
+ context.dispatch('setMode', index);
+ }
+ if (context.getters.isActive === true) {
+ context.dispatch('reset');
+ context.dispatch('loop', context.getters.patterns[context.getters.mode].pattern);
+ } else {
+ context.dispatch('reset');
+ }
+ },
+ startCustom: function (context, pattern: TPatternUnit[]): void {
+ context.dispatch('setIsActive', false);
+ context.dispatch('setMode', 0);
+ context.dispatch('reset');
+ context.dispatch('loop', pattern);
+ },
+ },
+ modules: {
+ MGamepads: MGamepads,
+ MPatterns: MPatterns,
+ },
});
export default store;
diff --git a/src/store/models/IGamepadsState.ts b/src/store/models/IGamepadsState.ts
index 85e0824..2edee99 100644
--- a/src/store/models/IGamepadsState.ts
+++ b/src/store/models/IGamepadsState.ts
@@ -1,7 +1,7 @@
import Vibrator from '@/models/Vibrator';
interface IGamepadsState {
- gamepads: Vibrator[];
+ gamepads: Vibrator[];
}
export default IGamepadsState;
diff --git a/src/store/models/IPatternState.ts b/src/store/models/IPatternState.ts
index cff8290..15a18ce 100644
--- a/src/store/models/IPatternState.ts
+++ b/src/store/models/IPatternState.ts
@@ -1,7 +1,7 @@
import TPattern from '@/models/TPattern';
interface IPatternState {
- patterns: TPattern[];
+ patterns: TPattern[];
}
export default IPatternState;
diff --git a/src/store/models/IRootState.ts b/src/store/models/IRootState.ts
index 07b2e4e..331eb36 100644
--- a/src/store/models/IRootState.ts
+++ b/src/store/models/IRootState.ts
@@ -1,6 +1,6 @@
interface IRootState {
- mode: number;
- isActive: boolean;
+ mode: number;
+ isActive: boolean;
}
export default IRootState;
diff --git a/src/store/modules/MGamepads.ts b/src/store/modules/MGamepads.ts
index 5948613..4f4083c 100644
--- a/src/store/modules/MGamepads.ts
+++ b/src/store/modules/MGamepads.ts
@@ -7,68 +7,68 @@ import IGamepadEvent from '@/models/IGamepadEvent';
import TPatternUnit from '@/models/TPatternUnit';
const MGamepads: Module = {
- state: () => ({
- gamepads: [] as Vibrator[],
- }),
- getters: {
- gamepads: function (state: IGamepadsState): Vibrator[] {
- return state.gamepads as Vibrator[];
- },
+ state: () => ({
+ gamepads: [] as Vibrator[],
+ }),
+ getters: {
+ gamepads: function (state: IGamepadsState): Vibrator[] {
+ return state.gamepads as Vibrator[];
},
- mutations: {
- addGamepad: function (state: IGamepadsState, gamepad: Vibrator): void {
- state.gamepads.push(gamepad as Vibrator);
- },
- deleteGamepad: function (state: IGamepadsState, index: number): void {
- state.gamepads.splice(index, 1);
- },
+ },
+ mutations: {
+ addGamepad: function (state: IGamepadsState, gamepad: Vibrator): void {
+ state.gamepads.push(gamepad as Vibrator);
},
- actions: {
- addGamepad: function (
- context: ActionContext,
- event: GamepadEvent
- ): void {
- const iEvent: IGamepadEvent = event as unknown as IGamepadEvent;
- if (context.getters.gamepads.length >= 1) {
- return;
- } else {
- context.commit('addGamepad', new Vibrator(iEvent.gamepad as IGamepad));
- }
- },
- deleteGamepad: function (
- context: ActionContext,
- event: GamepadEvent
- ): void {
- context.getters.gamepads.forEach((gamepad: Vibrator, index: number) => {
- if (gamepad.unit.id === event.gamepad.id) {
- context.commit('deleteGamepad', index as number);
- }
- });
- },
- loop: function (
- context: ActionContext,
- pattern: TPatternUnit[]
- ): void {
- context.getters.gamepads.forEach((gamepad: Vibrator) => {
- gamepad.loop(pattern);
- });
- },
- vibrate: function (
- context: ActionContext,
- pattern: TPatternUnit
- ): void {
- context.getters.gamepads.forEach((gamepad: Vibrator) => {
- gamepad.vibrate(pattern);
- });
- },
- reset: function (
- context: ActionContext
- ): void {
- context.getters.gamepads.forEach((gamepad: Vibrator) => {
- gamepad.reset();
- });
- },
+ deleteGamepad: function (state: IGamepadsState, index: number): void {
+ state.gamepads.splice(index, 1);
},
+ },
+ actions: {
+ addGamepad: function (
+ context: ActionContext,
+ event: GamepadEvent
+ ): void {
+ const iEvent: IGamepadEvent = event as unknown as IGamepadEvent;
+ if (context.getters.gamepads.length >= 1) {
+ return;
+ } else {
+ context.commit('addGamepad', new Vibrator(iEvent.gamepad as IGamepad));
+ }
+ },
+ deleteGamepad: function (
+ context: ActionContext,
+ event: GamepadEvent
+ ): void {
+ context.getters.gamepads.forEach((gamepad: Vibrator, index: number) => {
+ if (gamepad.unit.id === event.gamepad.id) {
+ context.commit('deleteGamepad', index as number);
+ }
+ });
+ },
+ loop: function (
+ context: ActionContext,
+ pattern: TPatternUnit[]
+ ): void {
+ context.getters.gamepads.forEach((gamepad: Vibrator) => {
+ gamepad.loop(pattern);
+ });
+ },
+ vibrate: function (
+ context: ActionContext,
+ pattern: TPatternUnit
+ ): void {
+ context.getters.gamepads.forEach((gamepad: Vibrator) => {
+ gamepad.vibrate(pattern);
+ });
+ },
+ reset: function (
+ context: ActionContext
+ ): void {
+ context.getters.gamepads.forEach((gamepad: Vibrator) => {
+ gamepad.reset();
+ });
+ },
+ },
};
export default MGamepads;
diff --git a/src/store/modules/MPatterns.ts b/src/store/modules/MPatterns.ts
index 0c6aa29..e2bc70a 100644
--- a/src/store/modules/MPatterns.ts
+++ b/src/store/modules/MPatterns.ts
@@ -4,39 +4,39 @@ import IPatternState from '@/store/models/IPatternState';
import TPattern from '@/models/TPattern';
const MPatterns: Module = {
- state: () => ({
- patterns: [] as TPattern[],
- }),
- getters: {
- patterns: function (state: IPatternState): TPattern[] {
- return state.patterns as TPattern[];
- },
+ state: () => ({
+ patterns: [] as TPattern[],
+ }),
+ getters: {
+ patterns: function (state: IPatternState): TPattern[] {
+ return state.patterns as TPattern[];
},
- mutations: {
- setPatterns: function (state: IPatternState, patterns: TPattern[]): void {
- state.patterns = patterns as TPattern[];
- },
+ },
+ mutations: {
+ setPatterns: function (state: IPatternState, patterns: TPattern[]): void {
+ state.patterns = patterns as TPattern[];
},
- actions: {
- loadPatterns: async function (
- context: ActionContext
- ): Promise {
- const url = 'https://wavelovers.ru/assets/patterns.json';
- try {
- const response: Response = await fetch(url);
- if (response.ok) {
- const json: TPattern[] = await response.json();
- context.commit('setPatterns', json as TPattern[]);
- } else {
- // eslint-disable-next-line
- console.log('Connect to the Internet for download more patterns...');
- }
- } catch (error) {
- // eslint-disable-next-line
- console.log(error);
- }
- },
+ },
+ actions: {
+ loadPatterns: async function (
+ context: ActionContext
+ ): Promise {
+ const url = 'https://wavelovers.ru/assets/patterns.json';
+ try {
+ const response: Response = await fetch(url);
+ if (response.ok) {
+ const json: TPattern[] = await response.json();
+ context.commit('setPatterns', json as TPattern[]);
+ } else {
+ // eslint-disable-next-line
+ console.log('Connect to the Internet for download more patterns...');
+ }
+ } catch (error) {
+ // eslint-disable-next-line
+ console.log(error);
+ }
},
+ },
};
export default MPatterns;
diff --git a/src/views/AboutView.vue b/src/views/AboutView.vue
index 9a6e039..a685d68 100644
--- a/src/views/AboutView.vue
+++ b/src/views/AboutView.vue
@@ -1,29 +1,67 @@
- Wavelovers About
-
-
-
-
Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.
-
-
Write me:
-
eugene.serb@gmail.com
-
-
Visit my homepage:
-
eugene-serb.github.io
-
-
-
-
If you have advertising suggestions, please mail me:
-
eugene.serb@gmail.com
-
-
+ Wavelovers About
+
+
+
+
+ Wavelovers is an assistant in relaxation, elimination of muscle pain and
+ other relaxing, wellness procedures, or simply a tester of the performance
+ of the gamepad, its buttons and vibration.
+
+
+
+ Wavelovers is free to use worldwide, in every corner of the planet,
+ all you need is a gamepad with vibration.
+
+
+
+
+ A dozen reasons to make friends with the Wavelovers vibration stimulator:
+
+ Reduces the risk of stroke.
+ Headaches and migraines are reduced.
+ Pain syndromes accompanying osteochondrosis and muscle pain are reduced.
+ Noise in the ears and numbness of the fingers pass.
+ Memory and vision improve, emotional state normalizes.
+ The work of muscles and blood vessels is normalized, blood circulation improves.
+ Meteorological dependence decreases.
+ Improves overall well-being and sleep, increases efficiency.
+ The ability to jump to the height of one's own height.
+ After training, the ability to fly and breathe underwater for up to an hour.
+ Gradual transformation into a superman. Walking through walls, cat vision, regeneration.
+ The ability to see the future and travel through time and to other galaxies.
+
+ P.S. The list is based on reviews, has not been verified by experts, and may not reflect reality. Don't take it for granted.
+
+
+
+ Hi! I am the author and developer of Wavelovers app and I want to thank you for using this app. If you have any ideas or wishes, you can write to me.
+
+ Write me:
+ eugene.serb@gmail.com
+
+ Visit my homepage:
+ eugene-serb.github.io
+
+
+
+ If you have advertising suggestions, please mail me:
+ eugene.serb@gmail.com
+
+
+
+
diff --git a/src/views/CustomView.vue b/src/views/CustomView.vue
index 0a6c578..59be505 100644
--- a/src/views/CustomView.vue
+++ b/src/views/CustomView.vue
@@ -1,17 +1,17 @@
- Wavelovers Custom
-
+ Wavelovers Custom
+
diff --git a/src/views/DiagnosticView.vue b/src/views/DiagnosticView.vue
index 5452592..0c7d687 100644
--- a/src/views/DiagnosticView.vue
+++ b/src/views/DiagnosticView.vue
@@ -1,17 +1,17 @@
- Wavelovers Diagnostic
-
+ Wavelovers Diagnostic
+
diff --git a/src/views/DonateView.vue b/src/views/DonateView.vue
index 79139cd..85956e0 100644
--- a/src/views/DonateView.vue
+++ b/src/views/DonateView.vue
@@ -1,30 +1,36 @@
- Wavelovers Donate
-
-
-
-
If you like this app, you can thank me and donate to me.
-
Why should you donate to Wavelovers?
-
- More donation = more money
- More money allows me buy more coffee
- More coffee makes me write more code
- More code means more features
- More features make you more happiness and productive
- More happiness and productive so you earn more money
- More money you earn more donation to me
-
-
Bitcoin:
-
bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5
-
-
+ Wavelovers Donate
+
+
+
+ If you like this app, you can thank me and donate to me.
+ Why should you donate to Wavelovers?
+
+ More donation = more money
+ More money allows me buy more coffee
+ More coffee makes me write more code
+ More code means more features
+ More features make you more happiness and productive
+ More happiness and productive so you earn more money
+ More money you earn more donation to me
+
+ Bitcoin:
+ bc1qspzgj7xrf099s2ej8f5zmm52xu0wkfurpezny5
+
+
+
+
diff --git a/src/views/FaqView.vue b/src/views/FaqView.vue
index 339e8cf..bf83186 100644
--- a/src/views/FaqView.vue
+++ b/src/views/FaqView.vue
@@ -1,51 +1,51 @@
- Wavelovers FAQ
-
-
-
-
- What is the purpose of this software?
- Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.
- Can I use this software as a hand massager?
- Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.
- I have a gamepad with vibration, what should I do before using it as a hand massager?
- I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.
- I'm having problems with the app or connecting my device to the app?
- Go to Troubleshooting.
-
-
-
-
-
If you are having difficulty detecting a gamepad by the browser, you can use the utility
-
Wavelovers Diagnostic
-
- The app does not see my device.
- Make sure you have a chromium-based browser, then update the app and reconnect your device.
- The application sees the gamepad, but writes that the vibration actuator is missing.
- This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.
- My question is not here.
- Write me eugene.serb@gmail.com
-
-
-
-
-
- Gamepad:
- X-Input and vibration actuator required.
- Browser:
- Google Chrome or any other Chromium-based browser is recommended.
- Operating System:
- Windows 7 or higher recommended.
-
-
-
+ Wavelovers FAQ
+
+
+
+
+ What is the purpose of this software?
+ Everyone decides for himself, but can be used as a gamepad vibration tester, or as a hand massager.
+ Can I use this software as a hand massager?
+ Yes of course. If you use this as a massager, then before the session I recommend consulting with a doctor.
+ I have a gamepad with vibration, what should I do before using it as a hand massager?
+ I recommend checking the device for correct operation, mechanical damage, and be sure to use an antiseptic.
+ I'm having problems with the app or connecting my device to the app?
+ Go to Troubleshooting.
+
+
+
+
+ If you are having difficulty detecting a gamepad by the browser, you can use the utility
+ Wavelovers Diagnostic
+
+ The app does not see my device.
+ Make sure you have a chromium-based browser, then update the app and reconnect your device.
+ The application sees the gamepad, but writes that the vibration actuator is missing.
+ This problem is specific to mozilla firefox browser and d-input mode. Check the system requirements before using the software.
+ My question is not here.
+ Write me eugene.serb@gmail.com
+
+
+
+
+
+ Gamepad:
+ X-Input and vibration actuator required.
+ Browser:
+ Google Chrome or any other Chromium-based browser is recommended.
+ Operating System:
+ Windows 7 or higher recommended.
+
+
+
diff --git a/src/views/ManualView.vue b/src/views/ManualView.vue
index 7f25f3a..99dfd96 100644
--- a/src/views/ManualView.vue
+++ b/src/views/ManualView.vue
@@ -1,17 +1,17 @@
- Wavelovers Manual
-
+ Wavelovers Manual
+
diff --git a/src/views/NotFoundView.vue b/src/views/NotFoundView.vue
index 8bd49f6..80e3433 100644
--- a/src/views/NotFoundView.vue
+++ b/src/views/NotFoundView.vue
@@ -1,17 +1,17 @@
- Wavelovers β 404
-
-
- 404. Page not Found.
-
-
+ Wavelovers β 404
+
+
+ 404. Page not Found.
+
+
diff --git a/src/views/PatternsView.vue b/src/views/PatternsView.vue
index 4e0c688..1ad7d48 100644
--- a/src/views/PatternsView.vue
+++ b/src/views/PatternsView.vue
@@ -1,17 +1,17 @@
- Wavelovers
-
+ Wavelovers
+
diff --git a/vue.config.js b/vue.config.js
index 5390c1e..c26d5a6 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,5 +1,5 @@
const { defineConfig } = require('@vue/cli-service');
module.exports = defineConfig({
- transpileDependencies: true,
+ transpileDependencies: true,
});