From d734cfe63dbbdf0983315f88d0444ed8d4627ded Mon Sep 17 00:00:00 2001 From: davay Date: Fri, 3 Nov 2023 13:33:12 +0700 Subject: [PATCH] deploy --- assets/index-4fa2dd85.js | 482 ----------------------------------- assets/index-4fa2dd85.js.map | 1 - assets/index-6fda5aab.js | 482 +++++++++++++++++++++++++++++++++++ assets/index-6fda5aab.js.map | 1 + assets/style-3f7d7901.css | 1 - assets/style-edf63a0d.css | 1 + index.html | 15 +- sitemap.xml | 2 +- 8 files changed, 487 insertions(+), 498 deletions(-) delete mode 100644 assets/index-4fa2dd85.js delete mode 100644 assets/index-4fa2dd85.js.map create mode 100644 assets/index-6fda5aab.js create mode 100644 assets/index-6fda5aab.js.map delete mode 100644 assets/style-3f7d7901.css create mode 100644 assets/style-edf63a0d.css diff --git a/assets/index-4fa2dd85.js b/assets/index-4fa2dd85.js deleted file mode 100644 index e5efb35..0000000 --- a/assets/index-4fa2dd85.js +++ /dev/null @@ -1,482 +0,0 @@ -(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function t(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerpolicy&&(i.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?i.credentials="include":r.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=t(r);fetch(r.href,i)}})();function nl(n,e){const t=Object.create(null),s=n.split(",");for(let r=0;r!!t[r.toLowerCase()]:r=>!!t[r]}const Ge={},gr=[],tn=()=>{},$m=()=>!1,Fm=/^on[^a-z]/,_a=n=>Fm.test(n),sl=n=>n.startsWith("onUpdate:"),nt=Object.assign,rl=(n,e)=>{const t=n.indexOf(e);t>-1&&n.splice(t,1)},Vm=Object.prototype.hasOwnProperty,Ne=(n,e)=>Vm.call(n,e),fe=Array.isArray,yr=n=>Br(n)==="[object Map]",ga=n=>Br(n)==="[object Set]",_u=n=>Br(n)==="[object Date]",Lm=n=>Br(n)==="[object RegExp]",be=n=>typeof n=="function",Qe=n=>typeof n=="string",ui=n=>typeof n=="symbol",Ue=n=>n!==null&&typeof n=="object",Md=n=>Ue(n)&&be(n.then)&&be(n.catch),kd=Object.prototype.toString,Br=n=>kd.call(n),Bm=n=>Br(n).slice(8,-1),Od=n=>Br(n)==="[object Object]",il=n=>Qe(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,vo=nl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ya=n=>{const e=Object.create(null);return t=>e[t]||(e[t]=n(t))},qm=/-(\w)/g,En=ya(n=>n.replace(qm,(e,t)=>t?t.toUpperCase():"")),jm=/\B([A-Z])/g,Js=ya(n=>n.replace(jm,"-$1").toLowerCase()),va=ya(n=>n.charAt(0).toUpperCase()+n.slice(1)),sc=ya(n=>n?`on${va(n)}`:""),hi=(n,e)=>!Object.is(n,e),vr=(n,e)=>{for(let t=0;t{Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value:t})},Um=n=>{const e=parseFloat(n);return isNaN(e)?n:e},Wm=n=>{const e=Qe(n)?Number(n):NaN;return isNaN(e)?n:e};let gu;const xc=()=>gu||(gu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function qe(n){if(fe(n)){const e={};for(let t=0;t{if(t){const s=t.split(Hm);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function bs(n){let e="";if(Qe(n))e=n;else if(fe(n))for(let t=0;tba(t,e))}const Be=n=>Qe(n)?n:n==null?"":fe(n)||Ue(n)&&(n.toString===kd||!be(n.toString))?JSON.stringify(n,Dd,2):String(n),Dd=(n,e)=>e&&e.__v_isRef?Dd(n,e.value):yr(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[s,r])=>(t[`${s} =>`]=r,t),{})}:ga(e)?{[`Set(${e.size})`]:[...e.values()]}:Ue(e)&&!fe(e)&&!Od(e)?String(e):e;let Pt;class Qm{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Pt,!e&&Pt&&(this.index=(Pt.scopes||(Pt.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=Pt;try{return Pt=this,e()}finally{Pt=t}}}on(){Pt=this}off(){Pt=this.parent}stop(e){if(this._active){let t,s;for(t=0,s=this.effects.length;t{const e=new Set(n);return e.w=0,e.n=0,e},$d=n=>(n.w&_s)>0,Fd=n=>(n.n&_s)>0,t_=({deps:n})=>{if(n.length)for(let e=0;e{const{deps:e}=n;if(e.length){let t=0;for(let s=0;s{(u==="length"||u>=c)&&a.push(l)})}else switch(t!==void 0&&a.push(o.get(t)),e){case"add":fe(n)?il(t)&&a.push(o.get("length")):(a.push(o.get(Bs)),yr(n)&&a.push(o.get(Ec)));break;case"delete":fe(n)||(a.push(o.get(Bs)),yr(n)&&a.push(o.get(Ec)));break;case"set":yr(n)&&a.push(o.get(Bs));break}if(a.length===1)a[0]&&Sc(a[0]);else{const c=[];for(const l of a)l&&c.push(...l);Sc(ol(c))}}function Sc(n,e){const t=fe(n)?n:[...n];for(const s of t)s.computed&&vu(s);for(const s of t)s.computed||vu(s)}function vu(n,e){(n!==Xt||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}function s_(n,e){var t;return(t=Mo.get(n))==null?void 0:t.get(e)}const r_=nl("__proto__,__v_isRef,__isVue"),Bd=new Set(Object.getOwnPropertyNames(Symbol).filter(n=>n!=="arguments"&&n!=="caller").map(n=>Symbol[n]).filter(ui)),i_=cl(),o_=cl(!1,!0),a_=cl(!0),bu=c_();function c_(){const n={};return["includes","indexOf","lastIndexOf"].forEach(e=>{n[e]=function(...t){const s=Ae(this);for(let i=0,o=this.length;i{n[e]=function(...t){qr();const s=Ae(this)[e].apply(this,t);return jr(),s}}),n}function l_(n){const e=Ae(this);return Ot(e,"has",n),e.hasOwnProperty(n)}function cl(n=!1,e=!1){return function(s,r,i){if(r==="__v_isReactive")return!n;if(r==="__v_isReadonly")return n;if(r==="__v_isShallow")return e;if(r==="__v_raw"&&i===(n?e?S_:zd:e?Wd:Ud).get(s))return s;const o=fe(s);if(!n){if(o&&Ne(bu,r))return Reflect.get(bu,r,i);if(r==="hasOwnProperty")return l_}const a=Reflect.get(s,r,i);return(ui(r)?Bd.has(r):r_(r))||(n||Ot(s,"get",r),e)?a:dt(a)?o&&il(r)?a:a.value:Ue(a)?n?qi(a):It(a):a}}const u_=qd(),h_=qd(!0);function qd(n=!1){return function(t,s,r,i){let o=t[s];if(Hs(o)&&dt(o)&&!dt(r))return!1;if(!n&&(!ko(r)&&!Hs(r)&&(o=Ae(o),r=Ae(r)),!fe(t)&&dt(o)&&!dt(r)))return o.value=r,!0;const a=fe(t)&&il(s)?Number(s)n,wa=n=>Reflect.getPrototypeOf(n);function so(n,e,t=!1,s=!1){n=n.__v_raw;const r=Ae(n),i=Ae(e);t||(e!==i&&Ot(r,"get",e),Ot(r,"get",i));const{has:o}=wa(r),a=s?ll:t?dl:di;if(o.call(r,e))return a(n.get(e));if(o.call(r,i))return a(n.get(i));n!==r&&n.get(e)}function ro(n,e=!1){const t=this.__v_raw,s=Ae(t),r=Ae(n);return e||(n!==r&&Ot(s,"has",n),Ot(s,"has",r)),n===r?t.has(n):t.has(n)||t.has(r)}function io(n,e=!1){return n=n.__v_raw,!e&&Ot(Ae(n),"iterate",Bs),Reflect.get(n,"size",n)}function wu(n){n=Ae(n);const e=Ae(this);return wa(e).has.call(e,n)||(e.add(n),Vn(e,"add",n,n)),this}function xu(n,e){e=Ae(e);const t=Ae(this),{has:s,get:r}=wa(t);let i=s.call(t,n);i||(n=Ae(n),i=s.call(t,n));const o=r.call(t,n);return t.set(n,e),i?hi(e,o)&&Vn(t,"set",n,e):Vn(t,"add",n,e),this}function Tu(n){const e=Ae(this),{has:t,get:s}=wa(e);let r=t.call(e,n);r||(n=Ae(n),r=t.call(e,n)),s&&s.call(e,n);const i=e.delete(n);return r&&Vn(e,"delete",n,void 0),i}function Eu(){const n=Ae(this),e=n.size!==0,t=n.clear();return e&&Vn(n,"clear",void 0,void 0),t}function oo(n,e){return function(s,r){const i=this,o=i.__v_raw,a=Ae(o),c=e?ll:n?dl:di;return!n&&Ot(a,"iterate",Bs),o.forEach((l,u)=>s.call(r,c(l),c(u),i))}}function ao(n,e,t){return function(...s){const r=this.__v_raw,i=Ae(r),o=yr(i),a=n==="entries"||n===Symbol.iterator&&o,c=n==="keys"&&o,l=r[n](...s),u=t?ll:e?dl:di;return!e&&Ot(i,"iterate",c?Ec:Bs),{next(){const{value:h,done:d}=l.next();return d?{value:h,done:d}:{value:a?[u(h[0]),u(h[1])]:u(h),done:d}},[Symbol.iterator](){return this}}}}function es(n){return function(...e){return n==="delete"?!1:this}}function g_(){const n={get(i){return so(this,i)},get size(){return io(this)},has:ro,add:wu,set:xu,delete:Tu,clear:Eu,forEach:oo(!1,!1)},e={get(i){return so(this,i,!1,!0)},get size(){return io(this)},has:ro,add:wu,set:xu,delete:Tu,clear:Eu,forEach:oo(!1,!0)},t={get(i){return so(this,i,!0)},get size(){return io(this,!0)},has(i){return ro.call(this,i,!0)},add:es("add"),set:es("set"),delete:es("delete"),clear:es("clear"),forEach:oo(!0,!1)},s={get(i){return so(this,i,!0,!0)},get size(){return io(this,!0)},has(i){return ro.call(this,i,!0)},add:es("add"),set:es("set"),delete:es("delete"),clear:es("clear"),forEach:oo(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=ao(i,!1,!1),t[i]=ao(i,!0,!1),e[i]=ao(i,!1,!0),s[i]=ao(i,!0,!0)}),[n,t,e,s]}const[y_,v_,b_,w_]=g_();function ul(n,e){const t=e?n?w_:b_:n?v_:y_;return(s,r,i)=>r==="__v_isReactive"?!n:r==="__v_isReadonly"?n:r==="__v_raw"?s:Reflect.get(Ne(t,r)&&r in s?t:s,r,i)}const x_={get:ul(!1,!1)},T_={get:ul(!1,!0)},E_={get:ul(!0,!1)},Ud=new WeakMap,Wd=new WeakMap,zd=new WeakMap,S_=new WeakMap;function C_(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function A_(n){return n.__v_skip||!Object.isExtensible(n)?0:C_(Bm(n))}function It(n){return Hs(n)?n:hl(n,!1,jd,x_,Ud)}function N_(n){return hl(n,!1,__,T_,Wd)}function qi(n){return hl(n,!0,m_,E_,zd)}function hl(n,e,t,s,r){if(!Ue(n)||n.__v_raw&&!(e&&n.__v_isReactive))return n;const i=r.get(n);if(i)return i;const o=A_(n);if(o===0)return n;const a=new Proxy(n,o===2?s:t);return r.set(n,a),a}function br(n){return Hs(n)?br(n.__v_raw):!!(n&&n.__v_isReactive)}function Hs(n){return!!(n&&n.__v_isReadonly)}function ko(n){return!!(n&&n.__v_isShallow)}function Hd(n){return br(n)||Hs(n)}function Ae(n){const e=n&&n.__v_raw;return e?Ae(e):n}function Gd(n){return No(n,"__v_skip",!0),n}const di=n=>Ue(n)?It(n):n,dl=n=>Ue(n)?qi(n):n;function fl(n){ds&&Xt&&(n=Ae(n),Ld(n.dep||(n.dep=ol())))}function pl(n,e){n=Ae(n);const t=n.dep;t&&Sc(t)}function dt(n){return!!(n&&n.__v_isRef===!0)}function Oe(n){return Kd(n,!1)}function Yd(n){return Kd(n,!0)}function Kd(n,e){return dt(n)?n:new M_(n,e)}class M_{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Ae(e),this._value=t?e:di(e)}get value(){return fl(this),this._value}set value(e){const t=this.__v_isShallow||ko(e)||Hs(e);e=t?e:Ae(e),hi(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:di(e),pl(this))}}function v(n){return dt(n)?n.value:n}const k_={get:(n,e,t)=>v(Reflect.get(n,e,t)),set:(n,e,t,s)=>{const r=n[e];return dt(r)&&!dt(t)?(r.value=t,!0):Reflect.set(n,e,t,s)}};function Zd(n){return br(n)?n:new Proxy(n,k_)}class O_{constructor(e){this.dep=void 0,this.__v_isRef=!0;const{get:t,set:s}=e(()=>fl(this),()=>pl(this));this._get=t,this._set=s}get value(){return this._get()}set value(e){this._set(e)}}function I_(n){return new O_(n)}class R_{constructor(e,t,s){this._object=e,this._key=t,this._defaultValue=s,this.__v_isRef=!0}get value(){const e=this._object[this._key];return e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return s_(Ae(this._object),this._key)}}class D_{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function P_(n,e,t){return dt(n)?n:be(n)?new D_(n):Ue(n)&&arguments.length>1?$_(n,e,t):Oe(n)}function $_(n,e,t){const s=n[e];return dt(s)?s:new R_(n,e,t)}class F_{constructor(e,t,s,r){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new al(e,()=>{this._dirty||(this._dirty=!0,pl(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const e=Ae(this);return fl(e),(e._dirty||!e._cacheable)&&(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function V_(n,e,t=!1){let s,r;const i=be(n);return i?(s=n,r=tn):(s=n.get,r=n.set),new F_(s,r,i||!r,t)}function fs(n,e,t,s){let r;try{r=s?n(...s):n()}catch(i){xa(i,e,t)}return r}function jt(n,e,t,s){if(be(n)){const i=fs(n,e,t,s);return i&&Md(i)&&i.catch(o=>{xa(o,e,t)}),i}const r=[];for(let i=0;i>>1;pi(yt[s])wn&&yt.splice(e,1)}function j_(n){fe(n)?wr.push(...n):(!Dn||!Dn.includes(n,n.allowRecurse?Is+1:Is))&&wr.push(n),Qd()}function Su(n,e=fi?wn+1:0){for(;epi(t)-pi(s)),Is=0;Isn.id==null?1/0:n.id,U_=(n,e)=>{const t=pi(n)-pi(e);if(t===0){if(n.pre&&!e.pre)return-1;if(e.pre&&!n.pre)return 1}return t};function ef(n){Cc=!1,fi=!0,yt.sort(U_);const e=tn;try{for(wn=0;wnQe(f)?f.trim():f)),h&&(r=t.map(Um))}let a,c=s[a=sc(e)]||s[a=sc(En(e))];!c&&i&&(c=s[a=sc(Js(e))]),c&&jt(c,n,6,r);const l=s[a+"Once"];if(l){if(!n.emitted)n.emitted={};else if(n.emitted[a])return;n.emitted[a]=!0,jt(l,n,6,r)}}function tf(n,e,t=!1){const s=e.emitsCache,r=s.get(n);if(r!==void 0)return r;const i=n.emits;let o={},a=!1;if(!be(n)){const c=l=>{const u=tf(l,e,!0);u&&(a=!0,nt(o,u))};!t&&e.mixins.length&&e.mixins.forEach(c),n.extends&&c(n.extends),n.mixins&&n.mixins.forEach(c)}return!i&&!a?(Ue(n)&&s.set(n,null),null):(fe(i)?i.forEach(c=>o[c]=null):nt(o,i),Ue(n)&&s.set(n,o),o)}function Ta(n,e){return!n||!_a(e)?!1:(e=e.slice(2).replace(/Once$/,""),Ne(n,e[0].toLowerCase()+e.slice(1))||Ne(n,Js(e))||Ne(n,e))}let _t=null,Ea=null;function Oo(n){const e=_t;return _t=n,Ea=n&&n.type.__scopeId||null,e}function Sa(n){Ea=n}function Ca(){Ea=null}const z_=n=>nn;function nn(n,e=_t,t){if(!e||n._n)return n;const s=(...r)=>{s._d&&Fu(-1);const i=Oo(e);let o;try{o=n(...r)}finally{Oo(i),s._d&&Fu(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function rc(n){const{type:e,vnode:t,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:a,attrs:c,emit:l,render:u,renderCache:h,data:d,setupState:f,ctx:p,inheritAttrs:m}=n;let g,_;const y=Oo(n);try{if(t.shapeFlag&4){const w=r||s;g=bn(u.call(w,w,h,i,f,d,p)),_=c}else{const w=e;g=bn(w.length>1?w(i,{attrs:c,slots:a,emit:l}):w(i,null)),_=e.props?c:H_(c)}}catch(w){ii.length=0,xa(w,n,1),g=ve(Ut)}let S=g;if(_&&m!==!1){const w=Object.keys(_),{shapeFlag:b}=S;w.length&&b&7&&(o&&w.some(sl)&&(_=G_(_,o)),S=Ln(S,_))}return t.dirs&&(S=Ln(S),S.dirs=S.dirs?S.dirs.concat(t.dirs):t.dirs),t.transition&&(S.transition=t.transition),g=S,Oo(y),g}const H_=n=>{let e;for(const t in n)(t==="class"||t==="style"||_a(t))&&((e||(e={}))[t]=n[t]);return e},G_=(n,e)=>{const t={};for(const s in n)(!sl(s)||!(s.slice(9)in e))&&(t[s]=n[s]);return t};function Y_(n,e,t){const{props:s,children:r,component:i}=n,{props:o,children:a,patchFlag:c}=e,l=i.emitsOptions;if(e.dirs||e.transition)return!0;if(t&&c>=0){if(c&1024)return!0;if(c&16)return s?Cu(s,o,l):!!o;if(c&8){const u=e.dynamicProps;for(let h=0;hn.__isSuspense;function Z_(n,e){e&&e.pendingBranch?fe(n)?e.effects.push(...n):e.effects.push(n):j_(n)}function sf(n,e){return gl(n,null,e)}const co={};function vt(n,e,t){return gl(n,e,t)}function gl(n,e,{immediate:t,deep:s,flush:r,onTrack:i,onTrigger:o}=Ge){var a;const c=Pd()===((a=ht)==null?void 0:a.scope)?ht:null;let l,u=!1,h=!1;if(dt(n)?(l=()=>n.value,u=ko(n)):br(n)?(l=()=>n,s=!0):fe(n)?(h=!0,u=n.some(w=>br(w)||ko(w)),l=()=>n.map(w=>{if(dt(w))return w.value;if(br(w))return Ps(w);if(be(w))return fs(w,c,2)})):be(n)?e?l=()=>fs(n,c,2):l=()=>{if(!(c&&c.isUnmounted))return d&&d(),jt(n,c,3,[f])}:l=tn,e&&s){const w=l;l=()=>Ps(w())}let d,f=w=>{d=y.onStop=()=>{fs(w,c,4)}},p;if(yi)if(f=tn,e?t&&jt(e,c,3,[l(),h?[]:void 0,f]):l(),r==="sync"){const w=Ug();p=w.__watcherHandles||(w.__watcherHandles=[])}else return tn;let m=h?new Array(n.length).fill(co):co;const g=()=>{if(y.active)if(e){const w=y.run();(s||u||(h?w.some((b,A)=>hi(b,m[A])):hi(w,m)))&&(d&&d(),jt(e,c,3,[w,m===co?void 0:h&&m[0]===co?[]:m,f]),m=w)}else y.run()};g.allowRecurse=!!e;let _;r==="sync"?_=g:r==="post"?_=()=>pt(g,c&&c.suspense):(g.pre=!0,c&&(g.id=c.uid),_=()=>_l(g));const y=new al(l,_);e?t?g():m=y.run():r==="post"?pt(y.run.bind(y),c&&c.suspense):y.run();const S=()=>{y.stop(),c&&c.scope&&rl(c.scope.effects,y)};return p&&p.push(S),S}function X_(n,e,t){const s=this.proxy,r=Qe(n)?n.includes(".")?rf(s,n):()=>s[n]:n.bind(s,s);let i;be(e)?i=e:(i=e.handler,t=e);const o=ht;Cr(this);const a=gl(r,i.bind(s),t);return o?Cr(o):qs(),a}function rf(n,e){const t=e.split(".");return()=>{let s=n;for(let r=0;r{Ps(t,e)});else if(Od(n))for(const t in n)Ps(n[t],e);return n}function mt(n,e){const t=_t;if(t===null)return n;const s=Ia(t)||t.proxy,r=n.dirs||(n.dirs=[]);for(let i=0;i{n.isMounted=!0}),bl(()=>{n.isUnmounting=!0}),n}const Lt=[Function,Array],af={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Lt,onEnter:Lt,onAfterEnter:Lt,onEnterCancelled:Lt,onBeforeLeave:Lt,onLeave:Lt,onAfterLeave:Lt,onLeaveCancelled:Lt,onBeforeAppear:Lt,onAppear:Lt,onAfterAppear:Lt,onAppearCancelled:Lt},Q_={name:"BaseTransition",props:af,setup(n,{slots:e}){const t=ji(),s=of();let r;return()=>{const i=e.default&&yl(e.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const m of i)if(m.type!==Ut){o=m;break}}const a=Ae(n),{mode:c}=a;if(s.isLeaving)return ic(o);const l=Au(o);if(!l)return ic(o);const u=mi(l,a,s,t);Sr(l,u);const h=t.subTree,d=h&&Au(h);let f=!1;const{getTransitionKey:p}=l.type;if(p){const m=p();r===void 0?r=m:m!==r&&(r=m,f=!0)}if(d&&d.type!==Ut&&(!hs(l,d)||f)){const m=mi(d,a,s,t);if(Sr(d,m),c==="out-in")return s.isLeaving=!0,m.afterLeave=()=>{s.isLeaving=!1,t.update.active!==!1&&t.update()},ic(o);c==="in-out"&&l.type!==Ut&&(m.delayLeave=(g,_,y)=>{const S=cf(s,d);S[String(d.key)]=d,g._leaveCb=()=>{_(),g._leaveCb=void 0,delete u.delayedLeave},u.delayedLeave=y})}return o}}},J_=Q_;function cf(n,e){const{leavingVNodes:t}=n;let s=t.get(e.type);return s||(s=Object.create(null),t.set(e.type,s)),s}function mi(n,e,t,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:l,onEnterCancelled:u,onBeforeLeave:h,onLeave:d,onAfterLeave:f,onLeaveCancelled:p,onBeforeAppear:m,onAppear:g,onAfterAppear:_,onAppearCancelled:y}=e,S=String(n.key),w=cf(t,n),b=(T,R)=>{T&&jt(T,s,9,R)},A=(T,R)=>{const O=R[1];b(T,R),fe(T)?T.every($=>$.length<=1)&&O():T.length<=1&&O()},N={mode:i,persisted:o,beforeEnter(T){let R=a;if(!t.isMounted)if(r)R=m||a;else return;T._leaveCb&&T._leaveCb(!0);const O=w[S];O&&hs(n,O)&&O.el._leaveCb&&O.el._leaveCb(),b(R,[T])},enter(T){let R=c,O=l,$=u;if(!t.isMounted)if(r)R=g||c,O=_||l,$=y||u;else return;let M=!1;const U=T._enterCb=L=>{M||(M=!0,L?b($,[T]):b(O,[T]),N.delayedLeave&&N.delayedLeave(),T._enterCb=void 0)};R?A(R,[T,U]):U()},leave(T,R){const O=String(n.key);if(T._enterCb&&T._enterCb(!0),t.isUnmounting)return R();b(h,[T]);let $=!1;const M=T._leaveCb=U=>{$||($=!0,R(),U?b(p,[T]):b(f,[T]),T._leaveCb=void 0,w[O]===n&&delete w[O])};w[O]=n,d?A(d,[T,M]):M()},clone(T){return mi(T,e,t,s)}};return N}function ic(n){if(Aa(n))return n=Ln(n),n.children=null,n}function Au(n){return Aa(n)?n.children?n.children[0]:void 0:n}function Sr(n,e){n.shapeFlag&6&&n.component?Sr(n.component.subTree,e):n.shapeFlag&128?(n.ssContent.transition=e.clone(n.ssContent),n.ssFallback.transition=e.clone(n.ssFallback)):n.transition=e}function yl(n,e=!1,t){let s=[],r=0;for(let i=0;i1)for(let i=0;int({name:n.name},e,{setup:n}))():n}const xr=n=>!!n.type.__asyncLoader,Aa=n=>n.type.__isKeepAlive,eg={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(n,{slots:e}){const t=ji(),s=t.ctx;if(!s.renderer)return()=>{const y=e.default&&e.default();return y&&y.length===1?y[0]:y};const r=new Map,i=new Set;let o=null;const a=t.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:h}}}=s,d=h("div");s.activate=(y,S,w,b,A)=>{const N=y.component;l(y,S,w,0,a),c(N.vnode,y,S,w,N,a,b,y.slotScopeIds,A),pt(()=>{N.isDeactivated=!1,N.a&&vr(N.a);const T=y.props&&y.props.onVnodeMounted;T&&Bt(T,N.parent,y)},a)},s.deactivate=y=>{const S=y.component;l(y,d,null,1,a),pt(()=>{S.da&&vr(S.da);const w=y.props&&y.props.onVnodeUnmounted;w&&Bt(w,S.parent,y),S.isDeactivated=!0},a)};function f(y){oc(y),u(y,t,a,!0)}function p(y){r.forEach((S,w)=>{const b=Ic(S.type);b&&(!y||!y(b))&&m(w)})}function m(y){const S=r.get(y);!o||!hs(S,o)?f(S):o&&oc(o),r.delete(y),i.delete(y)}vt(()=>[n.include,n.exclude],([y,S])=>{y&&p(w=>ti(y,w)),S&&p(w=>!ti(S,w))},{flush:"post",deep:!0});let g=null;const _=()=>{g!=null&&r.set(g,ac(t.subTree))};return ws(_),vl(_),bl(()=>{r.forEach(y=>{const{subTree:S,suspense:w}=t,b=ac(S);if(y.type===b.type&&y.key===b.key){oc(b);const A=b.component.da;A&&pt(A,w);return}f(y)})}),()=>{if(g=null,!e.default)return null;const y=e.default(),S=y[0];if(y.length>1)return o=null,y;if(!gi(S)||!(S.shapeFlag&4)&&!(S.shapeFlag&128))return o=null,S;let w=ac(S);const b=w.type,A=Ic(xr(w)?w.type.__asyncResolved||{}:b),{include:N,exclude:T,max:R}=n;if(N&&(!A||!ti(N,A))||T&&A&&ti(T,A))return o=w,S;const O=w.key==null?b:w.key,$=r.get(O);return w.el&&(w=Ln(w),S.shapeFlag&128&&(S.ssContent=w)),g=O,$?(w.el=$.el,w.component=$.component,w.transition&&Sr(w,w.transition),w.shapeFlag|=512,i.delete(O),i.add(O)):(i.add(O),R&&i.size>parseInt(R,10)&&m(i.values().next().value)),w.shapeFlag|=256,o=w,nf(S.type)?S:w}}},tg=eg;function ti(n,e){return fe(n)?n.some(t=>ti(t,e)):Qe(n)?n.split(",").includes(e):Lm(n)?n.test(e):!1}function ng(n,e){lf(n,"a",e)}function sg(n,e){lf(n,"da",e)}function lf(n,e,t=ht){const s=n.__wdc||(n.__wdc=()=>{let r=t;for(;r;){if(r.isDeactivated)return;r=r.parent}return n()});if(Na(e,s,t),t){let r=t.parent;for(;r&&r.parent;)Aa(r.parent.vnode)&&rg(s,e,t,r),r=r.parent}}function rg(n,e,t,s){const r=Na(e,n,s,!0);uf(()=>{rl(s[e],r)},t)}function oc(n){n.shapeFlag&=-257,n.shapeFlag&=-513}function ac(n){return n.shapeFlag&128?n.ssContent:n}function Na(n,e,t=ht,s=!1){if(t){const r=t[n]||(t[n]=[]),i=e.__weh||(e.__weh=(...o)=>{if(t.isUnmounted)return;qr(),Cr(t);const a=jt(e,t,n,o);return qs(),jr(),a});return s?r.unshift(i):r.push(i),i}}const Yn=n=>(e,t=ht)=>(!yi||n==="sp")&&Na(n,(...s)=>e(...s),t),ig=Yn("bm"),ws=Yn("m"),og=Yn("bu"),vl=Yn("u"),bl=Yn("bum"),uf=Yn("um"),ag=Yn("sp"),cg=Yn("rtg"),lg=Yn("rtc");function ug(n,e=ht){Na("ec",n,e)}const wl="components",hg="directives";function Gs(n,e){return Tl(wl,n,!0,e)||n}const hf=Symbol.for("v-ndc");function dg(n){return Qe(n)?Tl(wl,n,!1)||n:n||hf}function xl(n){return Tl(hg,n)}function Tl(n,e,t=!0,s=!1){const r=_t||ht;if(r){const i=r.type;if(n===wl){const a=Ic(i,!1);if(a&&(a===e||a===En(e)||a===va(En(e))))return i}const o=Nu(r[n]||i[n],e)||Nu(r.appContext[n],e);return!o&&s?i:o}}function Nu(n,e){return n&&(n[e]||n[En(e)]||n[va(En(e))])}function bt(n,e,t,s){let r;const i=t&&t[s];if(fe(n)||Qe(n)){r=new Array(n.length);for(let o=0,a=n.length;oe(o,a,void 0,i&&i[a]));else{const o=Object.keys(n);r=new Array(o.length);for(let a=0,c=o.length;agi(e)?!(e.type===Ut||e.type===Re&&!df(e.children)):!0)?n:null}const Ac=n=>n?Tf(n)?Ia(n)||n.proxy:Ac(n.parent):null,ri=nt(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>n.props,$attrs:n=>n.attrs,$slots:n=>n.slots,$refs:n=>n.refs,$parent:n=>Ac(n.parent),$root:n=>Ac(n.root),$emit:n=>n.emit,$options:n=>El(n),$forceUpdate:n=>n.f||(n.f=()=>_l(n.update)),$nextTick:n=>n.n||(n.n=Ur.bind(n.proxy)),$watch:n=>X_.bind(n)}),cc=(n,e)=>n!==Ge&&!n.__isScriptSetup&&Ne(n,e),fg={get({_:n},e){const{ctx:t,setupState:s,data:r,props:i,accessCache:o,type:a,appContext:c}=n;let l;if(e[0]!=="$"){const f=o[e];if(f!==void 0)switch(f){case 1:return s[e];case 2:return r[e];case 4:return t[e];case 3:return i[e]}else{if(cc(s,e))return o[e]=1,s[e];if(r!==Ge&&Ne(r,e))return o[e]=2,r[e];if((l=n.propsOptions[0])&&Ne(l,e))return o[e]=3,i[e];if(t!==Ge&&Ne(t,e))return o[e]=4,t[e];Nc&&(o[e]=0)}}const u=ri[e];let h,d;if(u)return e==="$attrs"&&Ot(n,"get",e),u(n);if((h=a.__cssModules)&&(h=h[e]))return h;if(t!==Ge&&Ne(t,e))return o[e]=4,t[e];if(d=c.config.globalProperties,Ne(d,e))return d[e]},set({_:n},e,t){const{data:s,setupState:r,ctx:i}=n;return cc(r,e)?(r[e]=t,!0):s!==Ge&&Ne(s,e)?(s[e]=t,!0):Ne(n.props,e)||e[0]==="$"&&e.slice(1)in n?!1:(i[e]=t,!0)},has({_:{data:n,setupState:e,accessCache:t,ctx:s,appContext:r,propsOptions:i}},o){let a;return!!t[o]||n!==Ge&&Ne(n,o)||cc(e,o)||(a=i[0])&&Ne(a,o)||Ne(s,o)||Ne(ri,o)||Ne(r.config.globalProperties,o)},defineProperty(n,e,t){return t.get!=null?n._.accessCache[e]=0:Ne(t,"value")&&this.set(n,e,t.value,null),Reflect.defineProperty(n,e,t)}};function Mu(n){return fe(n)?n.reduce((e,t)=>(e[t]=null,e),{}):n}let Nc=!0;function pg(n){const e=El(n),t=n.proxy,s=n.ctx;Nc=!1,e.beforeCreate&&ku(e.beforeCreate,n,"bc");const{data:r,computed:i,methods:o,watch:a,provide:c,inject:l,created:u,beforeMount:h,mounted:d,beforeUpdate:f,updated:p,activated:m,deactivated:g,beforeDestroy:_,beforeUnmount:y,destroyed:S,unmounted:w,render:b,renderTracked:A,renderTriggered:N,errorCaptured:T,serverPrefetch:R,expose:O,inheritAttrs:$,components:M,directives:U,filters:L}=e;if(l&&mg(l,s,null),o)for(const X in o){const te=o[X];be(te)&&(s[X]=te.bind(t))}if(r){const X=r.call(t,t);Ue(X)&&(n.data=It(X))}if(Nc=!0,i)for(const X in i){const te=i[X],ce=be(te)?te.bind(t,t):be(te.get)?te.get.bind(t,t):tn,me=!be(te)&&be(te.set)?te.set.bind(t):tn,ue=de({get:ce,set:me});Object.defineProperty(s,X,{enumerable:!0,configurable:!0,get:()=>ue.value,set:ye=>ue.value=ye})}if(a)for(const X in a)ff(a[X],s,t,X);if(c){const X=be(c)?c.call(t):c;Reflect.ownKeys(X).forEach(te=>{bo(te,X[te])})}u&&ku(u,n,"c");function Z(X,te){fe(te)?te.forEach(ce=>X(ce.bind(t))):te&&X(te.bind(t))}if(Z(ig,h),Z(ws,d),Z(og,f),Z(vl,p),Z(ng,m),Z(sg,g),Z(ug,T),Z(lg,A),Z(cg,N),Z(bl,y),Z(uf,w),Z(ag,R),fe(O))if(O.length){const X=n.exposed||(n.exposed={});O.forEach(te=>{Object.defineProperty(X,te,{get:()=>t[te],set:ce=>t[te]=ce})})}else n.exposed||(n.exposed={});b&&n.render===tn&&(n.render=b),$!=null&&(n.inheritAttrs=$),M&&(n.components=M),U&&(n.directives=U)}function mg(n,e,t=tn){fe(n)&&(n=Mc(n));for(const s in n){const r=n[s];let i;Ue(r)?"default"in r?i=sn(r.from||s,r.default,!0):i=sn(r.from||s):i=sn(r),dt(i)?Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):e[s]=i}}function ku(n,e,t){jt(fe(n)?n.map(s=>s.bind(e.proxy)):n.bind(e.proxy),e,t)}function ff(n,e,t,s){const r=s.includes(".")?rf(t,s):()=>t[s];if(Qe(n)){const i=e[n];be(i)&&vt(r,i)}else if(be(n))vt(r,n.bind(t));else if(Ue(n))if(fe(n))n.forEach(i=>ff(i,e,t,s));else{const i=be(n.handler)?n.handler.bind(t):e[n.handler];be(i)&&vt(r,i,n)}}function El(n){const e=n.type,{mixins:t,extends:s}=e,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=n.appContext,a=i.get(e);let c;return a?c=a:!r.length&&!t&&!s?c=e:(c={},r.length&&r.forEach(l=>Ro(c,l,o,!0)),Ro(c,e,o)),Ue(e)&&i.set(e,c),c}function Ro(n,e,t,s=!1){const{mixins:r,extends:i}=e;i&&Ro(n,i,t,!0),r&&r.forEach(o=>Ro(n,o,t,!0));for(const o in e)if(!(s&&o==="expose")){const a=_g[o]||t&&t[o];n[o]=a?a(n[o],e[o]):e[o]}return n}const _g={data:Ou,props:Iu,emits:Iu,methods:ni,computed:ni,beforeCreate:Tt,created:Tt,beforeMount:Tt,mounted:Tt,beforeUpdate:Tt,updated:Tt,beforeDestroy:Tt,beforeUnmount:Tt,destroyed:Tt,unmounted:Tt,activated:Tt,deactivated:Tt,errorCaptured:Tt,serverPrefetch:Tt,components:ni,directives:ni,watch:yg,provide:Ou,inject:gg};function Ou(n,e){return e?n?function(){return nt(be(n)?n.call(this,this):n,be(e)?e.call(this,this):e)}:e:n}function gg(n,e){return ni(Mc(n),Mc(e))}function Mc(n){if(fe(n)){const e={};for(let t=0;t1)return t&&be(e)?e.call(s&&s.proxy):e}}function wg(n,e,t,s=!1){const r={},i={};No(i,ka,1),n.propsDefaults=Object.create(null),mf(n,e,r,i);for(const o in n.propsOptions[0])o in r||(r[o]=void 0);t?n.props=s?r:N_(r):n.type.props?n.props=r:n.props=i,n.attrs=i}function xg(n,e,t,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=n,a=Ae(r),[c]=n.propsOptions;let l=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=n.vnode.dynamicProps;for(let h=0;h{c=!0;const[d,f]=_f(h,e,!0);nt(o,d),f&&a.push(...f)};!t&&e.mixins.length&&e.mixins.forEach(u),n.extends&&u(n.extends),n.mixins&&n.mixins.forEach(u)}if(!i&&!c)return Ue(n)&&s.set(n,gr),gr;if(fe(i))for(let u=0;u-1,f[1]=m<0||p-1||Ne(f,"default"))&&a.push(h)}}}const l=[o,a];return Ue(n)&&s.set(n,l),l}function Ru(n){return n[0]!=="$"}function Du(n){const e=n&&n.toString().match(/^\s*(function|class) (\w+)/);return e?e[2]:n===null?"null":""}function Pu(n,e){return Du(n)===Du(e)}function $u(n,e){return fe(e)?e.findIndex(t=>Pu(t,n)):be(e)&&Pu(e,n)?0:-1}const gf=n=>n[0]==="_"||n==="$stable",Sl=n=>fe(n)?n.map(bn):[bn(n)],Tg=(n,e,t)=>{if(e._n)return e;const s=nn((...r)=>Sl(e(...r)),t);return s._c=!1,s},yf=(n,e,t)=>{const s=n._ctx;for(const r in n){if(gf(r))continue;const i=n[r];if(be(i))e[r]=Tg(r,i,s);else if(i!=null){const o=Sl(i);e[r]=()=>o}}},vf=(n,e)=>{const t=Sl(e);n.slots.default=()=>t},Eg=(n,e)=>{if(n.vnode.shapeFlag&32){const t=e._;t?(n.slots=Ae(e),No(e,"_",t)):yf(e,n.slots={})}else n.slots={},e&&vf(n,e);No(n.slots,ka,1)},Sg=(n,e,t)=>{const{vnode:s,slots:r}=n;let i=!0,o=Ge;if(s.shapeFlag&32){const a=e._;a?t&&a===1?i=!1:(nt(r,e),!t&&a===1&&delete r._):(i=!e.$stable,yf(e,r)),o=e}else e&&(vf(n,e),o={default:1});if(i)for(const a in r)!gf(a)&&!(a in o)&&delete r[a]};function Oc(n,e,t,s,r=!1){if(fe(n)){n.forEach((d,f)=>Oc(d,e&&(fe(e)?e[f]:e),t,s,r));return}if(xr(s)&&!r)return;const i=s.shapeFlag&4?Ia(s.component)||s.component.proxy:s.el,o=r?null:i,{i:a,r:c}=n,l=e&&e.r,u=a.refs===Ge?a.refs={}:a.refs,h=a.setupState;if(l!=null&&l!==c&&(Qe(l)?(u[l]=null,Ne(h,l)&&(h[l]=null)):dt(l)&&(l.value=null)),be(c))fs(c,a,12,[o,u]);else{const d=Qe(c),f=dt(c);if(d||f){const p=()=>{if(n.f){const m=d?Ne(h,c)?h[c]:u[c]:c.value;r?fe(m)&&rl(m,i):fe(m)?m.includes(i)||m.push(i):d?(u[c]=[i],Ne(h,c)&&(h[c]=u[c])):(c.value=[i],n.k&&(u[n.k]=c.value))}else d?(u[c]=o,Ne(h,c)&&(h[c]=o)):f&&(c.value=o,n.k&&(u[n.k]=o))};o?(p.id=-1,pt(p,t)):p()}}}const pt=Z_;function Cg(n){return Ag(n)}function Ag(n,e){const t=xc();t.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:a,createComment:c,setText:l,setElementText:u,parentNode:h,nextSibling:d,setScopeId:f=tn,insertStaticContent:p}=n,m=(x,E,k,C=null,I=null,B=null,K=!1,j=null,G=!!E.dynamicChildren)=>{if(x===E)return;x&&!hs(x,E)&&(C=F(x),ye(x,I,B,!0),x=null),E.patchFlag===-2&&(G=!1,E.dynamicChildren=null);const{type:W,ref:ae,shapeFlag:re}=E;switch(W){case Ma:g(x,E,k,C);break;case Ut:_(x,E,k,C);break;case wo:x==null&&y(E,k,C,K);break;case Re:M(x,E,k,C,I,B,K,j,G);break;default:re&1?b(x,E,k,C,I,B,K,j,G):re&6?U(x,E,k,C,I,B,K,j,G):(re&64||re&128)&&W.process(x,E,k,C,I,B,K,j,G,Q)}ae!=null&&I&&Oc(ae,x&&x.ref,B,E||x,!E)},g=(x,E,k,C)=>{if(x==null)s(E.el=a(E.children),k,C);else{const I=E.el=x.el;E.children!==x.children&&l(I,E.children)}},_=(x,E,k,C)=>{x==null?s(E.el=c(E.children||""),k,C):E.el=x.el},y=(x,E,k,C)=>{[x.el,x.anchor]=p(x.children,E,k,C,x.el,x.anchor)},S=({el:x,anchor:E},k,C)=>{let I;for(;x&&x!==E;)I=d(x),s(x,k,C),x=I;s(E,k,C)},w=({el:x,anchor:E})=>{let k;for(;x&&x!==E;)k=d(x),r(x),x=k;r(E)},b=(x,E,k,C,I,B,K,j,G)=>{K=K||E.type==="svg",x==null?A(E,k,C,I,B,K,j,G):R(x,E,I,B,K,j,G)},A=(x,E,k,C,I,B,K,j)=>{let G,W;const{type:ae,props:re,shapeFlag:le,transition:_e,dirs:Ee}=x;if(G=x.el=o(x.type,B,re&&re.is,re),le&8?u(G,x.children):le&16&&T(x.children,G,null,C,I,B&&ae!=="foreignObject",K,j),Ee&&Cs(x,null,C,"created"),N(G,x,x.scopeId,K,C),re){for(const Ve in re)Ve!=="value"&&!vo(Ve)&&i(G,Ve,null,re[Ve],B,x.children,C,I,xe);"value"in re&&i(G,"value",null,re.value),(W=re.onVnodeBeforeMount)&&Bt(W,C,x)}Ee&&Cs(x,null,C,"beforeMount");const ze=(!I||I&&!I.pendingBranch)&&_e&&!_e.persisted;ze&&_e.beforeEnter(G),s(G,E,k),((W=re&&re.onVnodeMounted)||ze||Ee)&&pt(()=>{W&&Bt(W,C,x),ze&&_e.enter(G),Ee&&Cs(x,null,C,"mounted")},I)},N=(x,E,k,C,I)=>{if(k&&f(x,k),C)for(let B=0;B{for(let W=G;W{const j=E.el=x.el;let{patchFlag:G,dynamicChildren:W,dirs:ae}=E;G|=x.patchFlag&16;const re=x.props||Ge,le=E.props||Ge;let _e;k&&As(k,!1),(_e=le.onVnodeBeforeUpdate)&&Bt(_e,k,E,x),ae&&Cs(E,x,k,"beforeUpdate"),k&&As(k,!0);const Ee=I&&E.type!=="foreignObject";if(W?O(x.dynamicChildren,W,j,k,C,Ee,B):K||te(x,E,j,null,k,C,Ee,B,!1),G>0){if(G&16)$(j,E,re,le,k,C,I);else if(G&2&&re.class!==le.class&&i(j,"class",null,le.class,I),G&4&&i(j,"style",re.style,le.style,I),G&8){const ze=E.dynamicProps;for(let Ve=0;Ve{_e&&Bt(_e,k,E,x),ae&&Cs(E,x,k,"updated")},C)},O=(x,E,k,C,I,B,K)=>{for(let j=0;j{if(k!==C){if(k!==Ge)for(const j in k)!vo(j)&&!(j in C)&&i(x,j,k[j],null,K,E.children,I,B,xe);for(const j in C){if(vo(j))continue;const G=C[j],W=k[j];G!==W&&j!=="value"&&i(x,j,W,G,K,E.children,I,B,xe)}"value"in C&&i(x,"value",k.value,C.value)}},M=(x,E,k,C,I,B,K,j,G)=>{const W=E.el=x?x.el:a(""),ae=E.anchor=x?x.anchor:a("");let{patchFlag:re,dynamicChildren:le,slotScopeIds:_e}=E;_e&&(j=j?j.concat(_e):_e),x==null?(s(W,k,C),s(ae,k,C),T(E.children,k,ae,I,B,K,j,G)):re>0&&re&64&&le&&x.dynamicChildren?(O(x.dynamicChildren,le,k,I,B,K,j),(E.key!=null||I&&E===I.subTree)&&bf(x,E,!0)):te(x,E,k,ae,I,B,K,j,G)},U=(x,E,k,C,I,B,K,j,G)=>{E.slotScopeIds=j,x==null?E.shapeFlag&512?I.ctx.activate(E,k,C,K,G):L(E,k,C,I,B,K,G):ne(x,E,G)},L=(x,E,k,C,I,B,K)=>{const j=x.component=$g(x,C,I);if(Aa(x)&&(j.ctx.renderer=Q),Fg(j),j.asyncDep){if(I&&I.registerDep(j,Z),!x.el){const G=j.subTree=ve(Ut);_(null,G,E,k)}return}Z(j,x,E,k,I,B,K)},ne=(x,E,k)=>{const C=E.component=x.component;if(Y_(x,E,k))if(C.asyncDep&&!C.asyncResolved){X(C,E,k);return}else C.next=E,q_(C.update),C.update();else E.el=x.el,C.vnode=E},Z=(x,E,k,C,I,B,K)=>{const j=()=>{if(x.isMounted){let{next:ae,bu:re,u:le,parent:_e,vnode:Ee}=x,ze=ae,Ve;As(x,!1),ae?(ae.el=Ee.el,X(x,ae,K)):ae=Ee,re&&vr(re),(Ve=ae.props&&ae.props.onVnodeBeforeUpdate)&&Bt(Ve,_e,ae,Ee),As(x,!0);const ot=rc(x),Ht=x.subTree;x.subTree=ot,m(Ht,ot,h(Ht.el),F(Ht),x,I,B),ae.el=ot.el,ze===null&&K_(x,ot.el),le&&pt(le,I),(Ve=ae.props&&ae.props.onVnodeUpdated)&&pt(()=>Bt(Ve,_e,ae,Ee),I)}else{let ae;const{el:re,props:le}=E,{bm:_e,m:Ee,parent:ze}=x,Ve=xr(E);if(As(x,!1),_e&&vr(_e),!Ve&&(ae=le&&le.onVnodeBeforeMount)&&Bt(ae,ze,E),As(x,!0),re&&Se){const ot=()=>{x.subTree=rc(x),Se(re,x.subTree,x,I,null)};Ve?E.type.__asyncLoader().then(()=>!x.isUnmounted&&ot()):ot()}else{const ot=x.subTree=rc(x);m(null,ot,k,C,x,I,B),E.el=ot.el}if(Ee&&pt(Ee,I),!Ve&&(ae=le&&le.onVnodeMounted)){const ot=E;pt(()=>Bt(ae,ze,ot),I)}(E.shapeFlag&256||ze&&xr(ze.vnode)&&ze.vnode.shapeFlag&256)&&x.a&&pt(x.a,I),x.isMounted=!0,E=k=C=null}},G=x.effect=new al(j,()=>_l(W),x.scope),W=x.update=()=>G.run();W.id=x.uid,As(x,!0),W()},X=(x,E,k)=>{E.component=x;const C=x.vnode.props;x.vnode=E,x.next=null,xg(x,E.props,C,k),Sg(x,E.children,k),qr(),Su(),jr()},te=(x,E,k,C,I,B,K,j,G=!1)=>{const W=x&&x.children,ae=x?x.shapeFlag:0,re=E.children,{patchFlag:le,shapeFlag:_e}=E;if(le>0){if(le&128){me(W,re,k,C,I,B,K,j,G);return}else if(le&256){ce(W,re,k,C,I,B,K,j,G);return}}_e&8?(ae&16&&xe(W,I,B),re!==W&&u(k,re)):ae&16?_e&16?me(W,re,k,C,I,B,K,j,G):xe(W,I,B,!0):(ae&8&&u(k,""),_e&16&&T(re,k,C,I,B,K,j,G))},ce=(x,E,k,C,I,B,K,j,G)=>{x=x||gr,E=E||gr;const W=x.length,ae=E.length,re=Math.min(W,ae);let le;for(le=0;leae?xe(x,I,B,!0,!1,re):T(E,k,C,I,B,K,j,G,re)},me=(x,E,k,C,I,B,K,j,G)=>{let W=0;const ae=E.length;let re=x.length-1,le=ae-1;for(;W<=re&&W<=le;){const _e=x[W],Ee=E[W]=G?cs(E[W]):bn(E[W]);if(hs(_e,Ee))m(_e,Ee,k,null,I,B,K,j,G);else break;W++}for(;W<=re&&W<=le;){const _e=x[re],Ee=E[le]=G?cs(E[le]):bn(E[le]);if(hs(_e,Ee))m(_e,Ee,k,null,I,B,K,j,G);else break;re--,le--}if(W>re){if(W<=le){const _e=le+1,Ee=_ele)for(;W<=re;)ye(x[W],I,B,!0),W++;else{const _e=W,Ee=W,ze=new Map;for(W=Ee;W<=le;W++){const Dt=E[W]=G?cs(E[W]):bn(E[W]);Dt.key!=null&&ze.set(Dt.key,W)}let Ve,ot=0;const Ht=le-Ee+1;let or=!1,fu=0;const Kr=new Array(Ht);for(W=0;W=Ht){ye(Dt,I,B,!0);continue}let hn;if(Dt.key!=null)hn=ze.get(Dt.key);else for(Ve=Ee;Ve<=le;Ve++)if(Kr[Ve-Ee]===0&&hs(Dt,E[Ve])){hn=Ve;break}hn===void 0?ye(Dt,I,B,!0):(Kr[hn-Ee]=W+1,hn>=fu?fu=hn:or=!0,m(Dt,E[hn],k,null,I,B,K,j,G),ot++)}const pu=or?Ng(Kr):gr;for(Ve=pu.length-1,W=Ht-1;W>=0;W--){const Dt=Ee+W,hn=E[Dt],mu=Dt+1{const{el:B,type:K,transition:j,children:G,shapeFlag:W}=x;if(W&6){ue(x.component.subTree,E,k,C);return}if(W&128){x.suspense.move(E,k,C);return}if(W&64){K.move(x,E,k,Q);return}if(K===Re){s(B,E,k);for(let re=0;rej.enter(B),I);else{const{leave:re,delayLeave:le,afterLeave:_e}=j,Ee=()=>s(B,E,k),ze=()=>{re(B,()=>{Ee(),_e&&_e()})};le?le(B,Ee,ze):ze()}else s(B,E,k)},ye=(x,E,k,C=!1,I=!1)=>{const{type:B,props:K,ref:j,children:G,dynamicChildren:W,shapeFlag:ae,patchFlag:re,dirs:le}=x;if(j!=null&&Oc(j,null,k,x,!0),ae&256){E.ctx.deactivate(x);return}const _e=ae&1&&le,Ee=!xr(x);let ze;if(Ee&&(ze=K&&K.onVnodeBeforeUnmount)&&Bt(ze,E,x),ae&6)we(x.component,k,C);else{if(ae&128){x.suspense.unmount(k,C);return}_e&&Cs(x,null,E,"beforeUnmount"),ae&64?x.type.remove(x,E,k,I,Q,C):W&&(B!==Re||re>0&&re&64)?xe(W,E,k,!1,!0):(B===Re&&re&384||!I&&ae&16)&&xe(G,E,k),C&&rt(x)}(Ee&&(ze=K&&K.onVnodeUnmounted)||_e)&&pt(()=>{ze&&Bt(ze,E,x),_e&&Cs(x,null,E,"unmounted")},k)},rt=x=>{const{type:E,el:k,anchor:C,transition:I}=x;if(E===Re){it(k,C);return}if(E===wo){w(x);return}const B=()=>{r(k),I&&!I.persisted&&I.afterLeave&&I.afterLeave()};if(x.shapeFlag&1&&I&&!I.persisted){const{leave:K,delayLeave:j}=I,G=()=>K(k,B);j?j(x.el,B,G):G()}else B()},it=(x,E)=>{let k;for(;x!==E;)k=d(x),r(x),x=k;r(E)},we=(x,E,k)=>{const{bum:C,scope:I,update:B,subTree:K,um:j}=x;C&&vr(C),I.stop(),B&&(B.active=!1,ye(K,x,E,k)),j&&pt(j,E),pt(()=>{x.isUnmounted=!0},E),E&&E.pendingBranch&&!E.isUnmounted&&x.asyncDep&&!x.asyncResolved&&x.suspenseId===E.pendingId&&(E.deps--,E.deps===0&&E.resolve())},xe=(x,E,k,C=!1,I=!1,B=0)=>{for(let K=B;Kx.shapeFlag&6?F(x.component.subTree):x.shapeFlag&128?x.suspense.next():d(x.anchor||x.el),V=(x,E,k)=>{x==null?E._vnode&&ye(E._vnode,null,null,!0):m(E._vnode||null,x,E,null,null,null,k),Su(),Jd(),E._vnode=x},Q={p:m,um:ye,m:ue,r:rt,mt:L,mc:T,pc:te,pbc:O,n:F,o:n};let oe,Se;return e&&([oe,Se]=e(Q)),{render:V,hydrate:oe,createApp:bg(V,oe)}}function As({effect:n,update:e},t){n.allowRecurse=e.allowRecurse=t}function bf(n,e,t=!1){const s=n.children,r=e.children;if(fe(s)&&fe(r))for(let i=0;i>1,n[t[a]]0&&(e[s]=t[i-1]),t[i]=s)}}for(i=t.length,o=t[i-1];i-- >0;)t[i]=o,o=e[o];return t}const Mg=n=>n.__isTeleport,Re=Symbol.for("v-fgt"),Ma=Symbol.for("v-txt"),Ut=Symbol.for("v-cmt"),wo=Symbol.for("v-stc"),ii=[];let Qt=null;function H(n=!1){ii.push(Qt=n?null:[])}function kg(){ii.pop(),Qt=ii[ii.length-1]||null}let _i=1;function Fu(n){_i+=n}function wf(n){return n.dynamicChildren=_i>0?Qt||gr:null,kg(),_i>0&&Qt&&Qt.push(n),n}function ee(n,e,t,s,r,i){return wf(P(n,e,t,s,r,i,!0))}function et(n,e,t,s,r){return wf(ve(n,e,t,s,r,!0))}function gi(n){return n?n.__v_isVNode===!0:!1}function hs(n,e){return n.type===e.type&&n.key===e.key}const ka="__vInternal",xf=({key:n})=>n??null,xo=({ref:n,ref_key:e,ref_for:t})=>(typeof n=="number"&&(n=""+n),n!=null?Qe(n)||dt(n)||be(n)?{i:_t,r:n,k:e,f:!!t}:n:null);function P(n,e=null,t=null,s=0,r=null,i=n===Re?0:1,o=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:n,props:e,key:e&&xf(e),ref:e&&xo(e),scopeId:Ea,slotScopeIds:null,children:t,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:_t};return a?(Cl(c,t),i&128&&n.normalize(c)):t&&(c.shapeFlag|=Qe(t)?8:16),_i>0&&!o&&Qt&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Qt.push(c),c}const ve=Og;function Og(n,e=null,t=null,s=0,r=null,i=!1){if((!n||n===hf)&&(n=Ut),gi(n)){const a=Ln(n,e,!0);return t&&Cl(a,t),_i>0&&!i&&Qt&&(a.shapeFlag&6?Qt[Qt.indexOf(n)]=a:Qt.push(a)),a.patchFlag|=-2,a}if(qg(n)&&(n=n.__vccOpts),e){e=Ig(e);let{class:a,style:c}=e;a&&!Qe(a)&&(e.class=bs(a)),Ue(c)&&(Hd(c)&&!fe(c)&&(c=nt({},c)),e.style=qe(c))}const o=Qe(n)?1:nf(n)?128:Mg(n)?64:Ue(n)?4:be(n)?2:0;return P(n,e,t,s,r,o,i,!0)}function Ig(n){return n?Hd(n)||ka in n?nt({},n):n:null}function Ln(n,e,t=!1){const{props:s,ref:r,patchFlag:i,children:o}=n,a=e?Oa(s||{},e):s;return{__v_isVNode:!0,__v_skip:!0,type:n.type,props:a,key:a&&xf(a),ref:e&&e.ref?t&&r?fe(r)?r.concat(xo(e)):[r,xo(e)]:xo(e):r,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:o,target:n.target,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:e&&n.type!==Re?i===-1?16:i|16:i,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:n.transition,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&Ln(n.ssContent),ssFallback:n.ssFallback&&Ln(n.ssFallback),el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce}}function ps(n=" ",e=0){return ve(Ma,null,n,e)}function Rg(n,e){const t=ve(wo,null,n);return t.staticCount=e,t}function ut(n="",e=!1){return e?(H(),et(Ut,null,n)):ve(Ut,null,n)}function bn(n){return n==null||typeof n=="boolean"?ve(Ut):fe(n)?ve(Re,null,n.slice()):typeof n=="object"?cs(n):ve(Ma,null,String(n))}function cs(n){return n.el===null&&n.patchFlag!==-1||n.memo?n:Ln(n)}function Cl(n,e){let t=0;const{shapeFlag:s}=n;if(e==null)e=null;else if(fe(e))t=16;else if(typeof e=="object")if(s&65){const r=e.default;r&&(r._c&&(r._d=!1),Cl(n,r()),r._c&&(r._d=!0));return}else{t=32;const r=e._;!r&&!(ka in e)?e._ctx=_t:r===3&&_t&&(_t.slots._===1?e._=1:(e._=2,n.patchFlag|=1024))}else be(e)?(e={default:e,_ctx:_t},t=32):(e=String(e),s&64?(t=16,e=[ps(e)]):t=8);n.children=e,n.shapeFlag|=t}function Oa(...n){const e={};for(let t=0;tht||_t;let Al,ar,Vu="__VUE_INSTANCE_SETTERS__";(ar=xc()[Vu])||(ar=xc()[Vu]=[]),ar.push(n=>ht=n),Al=n=>{ar.length>1?ar.forEach(e=>e(n)):ar[0](n)};const Cr=n=>{Al(n),n.scope.on()},qs=()=>{ht&&ht.scope.off(),Al(null)};function Tf(n){return n.vnode.shapeFlag&4}let yi=!1;function Fg(n,e=!1){yi=e;const{props:t,children:s}=n.vnode,r=Tf(n);wg(n,t,r,e),Eg(n,s);const i=r?Vg(n,e):void 0;return yi=!1,i}function Vg(n,e){const t=n.type;n.accessCache=Object.create(null),n.proxy=Gd(new Proxy(n.ctx,fg));const{setup:s}=t;if(s){const r=n.setupContext=s.length>1?Bg(n):null;Cr(n),qr();const i=fs(s,n,0,[n.props,r]);if(jr(),qs(),Md(i)){if(i.then(qs,qs),e)return i.then(o=>{Lu(n,o,e)}).catch(o=>{xa(o,n,0)});n.asyncDep=i}else Lu(n,i,e)}else Ef(n,e)}function Lu(n,e,t){be(e)?n.type.__ssrInlineRender?n.ssrRender=e:n.render=e:Ue(e)&&(n.setupState=Zd(e)),Ef(n,t)}let Bu;function Ef(n,e,t){const s=n.type;if(!n.render){if(!e&&Bu&&!s.render){const r=s.template||El(n).template;if(r){const{isCustomElement:i,compilerOptions:o}=n.appContext.config,{delimiters:a,compilerOptions:c}=s,l=nt(nt({isCustomElement:i,delimiters:a},o),c);s.render=Bu(r,l)}}n.render=s.render||tn}Cr(n),qr(),pg(n),jr(),qs()}function Lg(n){return n.attrsProxy||(n.attrsProxy=new Proxy(n.attrs,{get(e,t){return Ot(n,"get","$attrs"),e[t]}}))}function Bg(n){const e=t=>{n.exposed=t||{}};return{get attrs(){return Lg(n)},slots:n.slots,emit:n.emit,expose:e}}function Ia(n){if(n.exposed)return n.exposeProxy||(n.exposeProxy=new Proxy(Zd(Gd(n.exposed)),{get(e,t){if(t in e)return e[t];if(t in ri)return ri[t](n)},has(e,t){return t in e||t in ri}}))}function Ic(n,e=!0){return be(n)?n.displayName||n.name:n.name||e&&n.__name}function qg(n){return be(n)&&"__vccOpts"in n}const de=(n,e)=>V_(n,e,yi);function Ra(n,e,t){const s=arguments.length;return s===2?Ue(e)&&!fe(e)?gi(e)?ve(n,null,[e]):ve(n,e):ve(n,null,e):(s>3?t=Array.prototype.slice.call(arguments,2):s===3&&gi(t)&&(t=[t]),ve(n,e,t))}const jg=Symbol.for("v-scx"),Ug=()=>sn(jg),Wg="3.3.4",zg="http://www.w3.org/2000/svg",Rs=typeof document<"u"?document:null,qu=Rs&&Rs.createElement("template"),Hg={insert:(n,e,t)=>{e.insertBefore(n,t||null)},remove:n=>{const e=n.parentNode;e&&e.removeChild(n)},createElement:(n,e,t,s)=>{const r=e?Rs.createElementNS(zg,n):Rs.createElement(n,t?{is:t}:void 0);return n==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:n=>Rs.createTextNode(n),createComment:n=>Rs.createComment(n),setText:(n,e)=>{n.nodeValue=e},setElementText:(n,e)=>{n.textContent=e},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>Rs.querySelector(n),setScopeId(n,e){n.setAttribute(e,"")},insertStaticContent(n,e,t,s,r,i){const o=t?t.previousSibling:e.lastChild;if(r&&(r===i||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),t),!(r===i||!(r=r.nextSibling)););else{qu.innerHTML=s?`${n}`:n;const a=qu.content;if(s){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}e.insertBefore(a,t)}return[o?o.nextSibling:e.firstChild,t?t.previousSibling:e.lastChild]}};function Gg(n,e,t){const s=n._vtc;s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?n.removeAttribute("class"):t?n.setAttribute("class",e):n.className=e}function Yg(n,e,t){const s=n.style,r=Qe(t);if(t&&!r){if(e&&!Qe(e))for(const i in e)t[i]==null&&Rc(s,i,"");for(const i in t)Rc(s,i,t[i])}else{const i=s.display;r?e!==t&&(s.cssText=t):e&&n.removeAttribute("style"),"_vod"in n&&(s.display=i)}}const ju=/\s*!important$/;function Rc(n,e,t){if(fe(t))t.forEach(s=>Rc(n,e,s));else if(t==null&&(t=""),e.startsWith("--"))n.setProperty(e,t);else{const s=Kg(n,e);ju.test(t)?n.setProperty(Js(s),t.replace(ju,""),"important"):n[s]=t}}const Uu=["Webkit","Moz","ms"],lc={};function Kg(n,e){const t=lc[e];if(t)return t;let s=En(e);if(s!=="filter"&&s in n)return lc[e]=s;s=va(s);for(let r=0;ruc||(t0.then(()=>uc=0),uc=Date.now());function s0(n,e){const t=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=t.attached)return;jt(r0(s,t.value),e,5,[s])};return t.value=n,t.attached=n0(),t}function r0(n,e){if(fe(e)){const t=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{t.call(n),n._stopped=!0},e.map(s=>r=>!r._stopped&&s&&s(r))}else return e}const Hu=/^on[a-z]/,i0=(n,e,t,s,r=!1,i,o,a,c)=>{e==="class"?Gg(n,s,r):e==="style"?Yg(n,t,s):_a(e)?sl(e)||Jg(n,e,t,s,o):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):o0(n,e,s,r))?Xg(n,e,s,i,o,a,c):(e==="true-value"?n._trueValue=s:e==="false-value"&&(n._falseValue=s),Zg(n,e,s,r))};function o0(n,e,t,s){return s?!!(e==="innerHTML"||e==="textContent"||e in n&&Hu.test(e)&&be(t)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&n.tagName==="INPUT"||e==="type"&&n.tagName==="TEXTAREA"||Hu.test(e)&&Qe(t)?!1:e in n}const ts="transition",Zr="animation",Da=(n,{slots:e})=>Ra(J_,Af(n),e);Da.displayName="Transition";const Cf={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},a0=Da.props=nt({},af,Cf),Ns=(n,e=[])=>{fe(n)?n.forEach(t=>t(...e)):n&&n(...e)},Gu=n=>n?fe(n)?n.some(e=>e.length>1):n.length>1:!1;function Af(n){const e={};for(const M in n)M in Cf||(e[M]=n[M]);if(n.css===!1)return e;const{name:t="v",type:s,duration:r,enterFromClass:i=`${t}-enter-from`,enterActiveClass:o=`${t}-enter-active`,enterToClass:a=`${t}-enter-to`,appearFromClass:c=i,appearActiveClass:l=o,appearToClass:u=a,leaveFromClass:h=`${t}-leave-from`,leaveActiveClass:d=`${t}-leave-active`,leaveToClass:f=`${t}-leave-to`}=n,p=c0(r),m=p&&p[0],g=p&&p[1],{onBeforeEnter:_,onEnter:y,onEnterCancelled:S,onLeave:w,onLeaveCancelled:b,onBeforeAppear:A=_,onAppear:N=y,onAppearCancelled:T=S}=e,R=(M,U,L)=>{rs(M,U?u:a),rs(M,U?l:o),L&&L()},O=(M,U)=>{M._isLeaving=!1,rs(M,h),rs(M,f),rs(M,d),U&&U()},$=M=>(U,L)=>{const ne=M?N:y,Z=()=>R(U,M,L);Ns(ne,[U,Z]),Yu(()=>{rs(U,M?c:i),Rn(U,M?u:a),Gu(ne)||Ku(U,s,m,Z)})};return nt(e,{onBeforeEnter(M){Ns(_,[M]),Rn(M,i),Rn(M,o)},onBeforeAppear(M){Ns(A,[M]),Rn(M,c),Rn(M,l)},onEnter:$(!1),onAppear:$(!0),onLeave(M,U){M._isLeaving=!0;const L=()=>O(M,U);Rn(M,h),Mf(),Rn(M,d),Yu(()=>{M._isLeaving&&(rs(M,h),Rn(M,f),Gu(w)||Ku(M,s,g,L))}),Ns(w,[M,L])},onEnterCancelled(M){R(M,!1),Ns(S,[M])},onAppearCancelled(M){R(M,!0),Ns(T,[M])},onLeaveCancelled(M){O(M),Ns(b,[M])}})}function c0(n){if(n==null)return null;if(Ue(n))return[hc(n.enter),hc(n.leave)];{const e=hc(n);return[e,e]}}function hc(n){return Wm(n)}function Rn(n,e){e.split(/\s+/).forEach(t=>t&&n.classList.add(t)),(n._vtc||(n._vtc=new Set)).add(e)}function rs(n,e){e.split(/\s+/).forEach(s=>s&&n.classList.remove(s));const{_vtc:t}=n;t&&(t.delete(e),t.size||(n._vtc=void 0))}function Yu(n){requestAnimationFrame(()=>{requestAnimationFrame(n)})}let l0=0;function Ku(n,e,t,s){const r=n._endId=++l0,i=()=>{r===n._endId&&s()};if(t)return setTimeout(i,t);const{type:o,timeout:a,propCount:c}=Nf(n,e);if(!o)return s();const l=o+"end";let u=0;const h=()=>{n.removeEventListener(l,d),i()},d=f=>{f.target===n&&++u>=c&&h()};setTimeout(()=>{u(t[p]||"").split(", "),r=s(`${ts}Delay`),i=s(`${ts}Duration`),o=Zu(r,i),a=s(`${Zr}Delay`),c=s(`${Zr}Duration`),l=Zu(a,c);let u=null,h=0,d=0;e===ts?o>0&&(u=ts,h=o,d=i.length):e===Zr?l>0&&(u=Zr,h=l,d=c.length):(h=Math.max(o,l),u=h>0?o>l?ts:Zr:null,d=u?u===ts?i.length:c.length:0);const f=u===ts&&/\b(transform|all)(,|$)/.test(s(`${ts}Property`).toString());return{type:u,timeout:h,propCount:d,hasTransform:f}}function Zu(n,e){for(;n.lengthXu(t)+Xu(n[s])))}function Xu(n){return Number(n.slice(0,-1).replace(",","."))*1e3}function Mf(){return document.body.offsetHeight}const kf=new WeakMap,Of=new WeakMap,If={name:"TransitionGroup",props:nt({},a0,{tag:String,moveClass:String}),setup(n,{slots:e}){const t=ji(),s=of();let r,i;return vl(()=>{if(!r.length)return;const o=n.moveClass||`${n.name||"v"}-move`;if(!m0(r[0].el,t.vnode.el,o))return;r.forEach(d0),r.forEach(f0);const a=r.filter(p0);Mf(),a.forEach(c=>{const l=c.el,u=l.style;Rn(l,o),u.transform=u.webkitTransform=u.transitionDuration="";const h=l._moveCb=d=>{d&&d.target!==l||(!d||/transform$/.test(d.propertyName))&&(l.removeEventListener("transitionend",h),l._moveCb=null,rs(l,o))};l.addEventListener("transitionend",h)})}),()=>{const o=Ae(n),a=Af(o);let c=o.tag||Re;r=i,i=e.default?yl(e.default()):[];for(let l=0;ldelete n.mode;If.props;const h0=If;function d0(n){const e=n.el;e._moveCb&&e._moveCb(),e._enterCb&&e._enterCb()}function f0(n){Of.set(n,n.el.getBoundingClientRect())}function p0(n){const e=kf.get(n),t=Of.get(n),s=e.left-t.left,r=e.top-t.top;if(s||r){const i=n.el.style;return i.transform=i.webkitTransform=`translate(${s}px,${r}px)`,i.transitionDuration="0s",n}}function m0(n,e,t){const s=n.cloneNode();n._vtc&&n._vtc.forEach(o=>{o.split(/\s+/).forEach(a=>a&&s.classList.remove(a))}),t.split(/\s+/).forEach(o=>o&&s.classList.add(o)),s.style.display="none";const r=e.nodeType===1?e:e.parentNode;r.appendChild(s);const{hasTransform:i}=Nf(s);return r.removeChild(s),i}const Qu=n=>{const e=n.props["onUpdate:modelValue"]||!1;return fe(e)?t=>vr(e,t):e},_0={deep:!0,created(n,e,t){n._assign=Qu(t),Sf(n,"change",()=>{const s=n._modelValue,r=g0(n),i=n.checked,o=n._assign;if(fe(s)){const a=Rd(s,r),c=a!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const l=[...s];l.splice(a,1),o(l)}}else if(ga(s)){const a=new Set(s);i?a.add(r):a.delete(r),o(a)}else o(Rf(n,i))})},mounted:Ju,beforeUpdate(n,e,t){n._assign=Qu(t),Ju(n,e,t)}};function Ju(n,{value:e,oldValue:t},s){n._modelValue=e,fe(e)?n.checked=Rd(e,s.props.value)>-1:ga(e)?n.checked=e.has(s.props.value):e!==t&&(n.checked=ba(e,Rf(n,!0)))}function g0(n){return"_value"in n?n._value:n.value}function Rf(n,e){const t=e?"_trueValue":"_falseValue";return t in n?n[t]:e}const y0=["ctrl","shift","alt","meta"],v0={stop:n=>n.stopPropagation(),prevent:n=>n.preventDefault(),self:n=>n.target!==n.currentTarget,ctrl:n=>!n.ctrlKey,shift:n=>!n.shiftKey,alt:n=>!n.altKey,meta:n=>!n.metaKey,left:n=>"button"in n&&n.button!==0,middle:n=>"button"in n&&n.button!==1,right:n=>"button"in n&&n.button!==2,exact:(n,e)=>y0.some(t=>n[`${t}Key`]&&!e.includes(t))},b0=(n,e)=>(t,...s)=>{for(let r=0;rt=>{if(!("key"in t))return;const s=Js(t.key);if(e.some(r=>r===s||w0[r]===s))return n(t)},Po={beforeMount(n,{value:e},{transition:t}){n._vod=n.style.display==="none"?"":n.style.display,t&&e?t.beforeEnter(n):Xr(n,e)},mounted(n,{value:e},{transition:t}){t&&e&&t.enter(n)},updated(n,{value:e,oldValue:t},{transition:s}){!e!=!t&&(s?e?(s.beforeEnter(n),Xr(n,!0),s.enter(n)):s.leave(n,()=>{Xr(n,!1)}):Xr(n,e))},beforeUnmount(n,{value:e}){Xr(n,e)}};function Xr(n,e){n.style.display=e?n._vod:"none"}const T0=nt({patchProp:i0},Hg);let eh;function E0(){return eh||(eh=Cg(T0))}const Df=(...n)=>{const e=E0().createApp(...n),{mount:t}=e;return e.mount=s=>{const r=S0(s);if(!r)return;const i=e._component;!be(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const o=t(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},e};function S0(n){return Qe(n)?document.querySelector(n):n}const C0={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},A0=P("path",{fill:"currentColor",d:"M248 144a8 8 0 0 1-16 0a96.11 96.11 0 0 0-96-96a88.1 88.1 0 0 0-88 88a80.09 80.09 0 0 0 80 80a72.08 72.08 0 0 0 72-72a64.07 64.07 0 0 0-64-64a56.06 56.06 0 0 0-56 56a48.05 48.05 0 0 0 48 48a40 40 0 0 0 40-40a32 32 0 0 0-32-32a24 24 0 0 0-24 24a16 16 0 0 0 16 16a8 8 0 0 0 8-8a8 8 0 0 1 0-16a16 16 0 0 1 16 16a24 24 0 0 1-24 24a32 32 0 0 1-32-32a40 40 0 0 1 40-40a48.05 48.05 0 0 1 48 48a56.06 56.06 0 0 1-56 56a64.07 64.07 0 0 1-64-64a72.08 72.08 0 0 1 72-72a80.09 80.09 0 0 1 80 80a88.1 88.1 0 0 1-88 88a96.11 96.11 0 0 1-96-96A104.11 104.11 0 0 1 136 32a112.12 112.12 0 0 1 112 112Z"},null,-1),N0=[A0];function M0(n,e){return H(),ee("svg",C0,N0)}const k0={name:"ph-spiral",render:M0},O0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},I0=P("path",{fill:"currentColor",d:"M4 9h4v11H4zm12 4h4v7h-4zm-6-9h4v16h-4z"},null,-1),R0=[I0];function D0(n,e){return H(),ee("svg",O0,R0)}const P0={name:"ic-outline-bar-chart",render:D0},$0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},F0=P("path",{fill:"currentColor",d:"M11 2.05v3.02a7.002 7.002 0 1 0 5.192 12.536l2.137 2.137A9.958 9.958 0 0 1 12 22C6.477 22 2 17.523 2 12c0-5.185 3.947-9.449 9-9.95ZM21.95 13a9.954 9.954 0 0 1-2.207 5.328l-2.137-2.136A6.964 6.964 0 0 0 18.93 13h3.022ZM13.002 2.05a10.004 10.004 0 0 1 8.95 8.95H18.93a7.005 7.005 0 0 0-5.928-5.929V2.049Z"},null,-1),V0=[F0];function L0(n,e){return H(),ee("svg",$0,V0)}const B0={name:"ri-donut-chart-fill",render:L0},q0={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},j0=P("path",{fill:"currentColor",d:"M15 5v10H5v2h10v10h2V17h10v-2H17V5z"},null,-1),U0=[j0];function W0(n,e){return H(),ee("svg",q0,U0)}const z0={name:"la-plus",render:W0},H0={style:{"vertical-align":"middle"},viewBox:"0 0 16 16",width:"1.2em",height:"1.2em"},G0=P("path",{fill:"currentColor",d:"M6.174 1.184a2 2 0 0 1 3.652 0A2 2 0 0 1 12.99 3.01a2 2 0 0 1 1.826 3.164a2 2 0 0 1 0 3.652a2 2 0 0 1-1.826 3.164a2 2 0 0 1-3.164 1.826a2 2 0 0 1-3.652 0A2 2 0 0 1 3.01 12.99a2 2 0 0 1-1.826-3.164a2 2 0 0 1 0-3.652A2 2 0 0 1 3.01 3.01a2 2 0 0 1 3.164-1.826zM8 1a1 1 0 0 0-.998 1.03l.01.091c.012.077.029.176.054.296c.049.241.122.542.213.887c.182.688.428 1.513.676 2.314L8 5.762l.045-.144c.248-.8.494-1.626.676-2.314c.091-.345.164-.646.213-.887a4.997 4.997 0 0 0 .064-.386L9 2a1 1 0 0 0-1-1zM2 9l.03-.002l.091-.01a4.99 4.99 0 0 0 .296-.054c.241-.049.542-.122.887-.213a60.59 60.59 0 0 0 2.314-.676L5.762 8l-.144-.045a60.59 60.59 0 0 0-2.314-.676a16.705 16.705 0 0 0-.887-.213a4.99 4.99 0 0 0-.386-.064L2 7a1 1 0 1 0 0 2zm7 5l-.002-.03a5.005 5.005 0 0 0-.064-.386a16.398 16.398 0 0 0-.213-.888a60.582 60.582 0 0 0-.676-2.314L8 10.238l-.045.144c-.248.8-.494 1.626-.676 2.314c-.091.345-.164.646-.213.887a4.996 4.996 0 0 0-.064.386L7 14a1 1 0 1 0 2 0zm-5.696-2.134l.025-.017a5.001 5.001 0 0 0 .303-.248c.184-.164.408-.377.661-.629A60.614 60.614 0 0 0 5.96 9.23l.103-.111l-.147.033a60.88 60.88 0 0 0-2.343.572c-.344.093-.64.18-.874.258a5.063 5.063 0 0 0-.367.138l-.027.014a1 1 0 1 0 1 1.732zM4.5 14.062a1 1 0 0 0 1.366-.366l.014-.027c.01-.02.021-.048.036-.084a5.09 5.09 0 0 0 .102-.283c.078-.233.165-.53.258-.874a60.6 60.6 0 0 0 .572-2.343l.033-.147l-.11.102a60.848 60.848 0 0 0-1.743 1.667a17.07 17.07 0 0 0-.629.66a5.06 5.06 0 0 0-.248.304l-.017.025a1 1 0 0 0 .366 1.366zm9.196-8.196a1 1 0 0 0-1-1.732l-.025.017a4.951 4.951 0 0 0-.303.248a16.69 16.69 0 0 0-.661.629A60.72 60.72 0 0 0 10.04 6.77l-.102.111l.147-.033a60.6 60.6 0 0 0 2.342-.572c.345-.093.642-.18.875-.258a4.993 4.993 0 0 0 .367-.138a.53.53 0 0 0 .027-.014zM11.5 1.938a1 1 0 0 0-1.366.366l-.014.027c-.01.02-.021.048-.036.084a5.09 5.09 0 0 0-.102.283c-.078.233-.165.53-.258.875a60.62 60.62 0 0 0-.572 2.342l-.033.147l.11-.102a60.848 60.848 0 0 0 1.743-1.667c.252-.253.465-.477.629-.66a5.001 5.001 0 0 0 .248-.304l.017-.025a1 1 0 0 0-.366-1.366zM14 9a1 1 0 0 0 0-2l-.03.002a4.996 4.996 0 0 0-.386.064c-.242.049-.543.122-.888.213c-.688.182-1.513.428-2.314.676L10.238 8l.144.045c.8.248 1.626.494 2.314.676c.345.091.646.164.887.213a4.996 4.996 0 0 0 .386.064L14 9zM1.938 4.5a1 1 0 0 0 .393 1.38l.084.035c.072.03.166.064.283.103c.233.078.53.165.874.258a60.88 60.88 0 0 0 2.343.572l.147.033l-.103-.111a60.584 60.584 0 0 0-1.666-1.742a16.705 16.705 0 0 0-.66-.629a4.996 4.996 0 0 0-.304-.248l-.025-.017a1 1 0 0 0-1.366.366zm2.196-1.196l.017.025a4.996 4.996 0 0 0 .248.303c.164.184.377.408.629.661A60.597 60.597 0 0 0 6.77 5.96l.111.102l-.033-.147a60.602 60.602 0 0 0-.572-2.342c-.093-.345-.18-.642-.258-.875a5.006 5.006 0 0 0-.138-.367l-.014-.027a1 1 0 1 0-1.732 1zm9.928 8.196a1 1 0 0 0-.366-1.366l-.027-.014a5 5 0 0 0-.367-.138c-.233-.078-.53-.165-.875-.258a60.619 60.619 0 0 0-2.342-.572l-.147-.033l.102.111a60.73 60.73 0 0 0 1.667 1.742c.253.252.477.465.66.629a4.946 4.946 0 0 0 .304.248l.025.017a1 1 0 0 0 1.366-.366zm-3.928 2.196a1 1 0 0 0 1.732-1l-.017-.025a5.065 5.065 0 0 0-.248-.303a16.705 16.705 0 0 0-.629-.661A60.462 60.462 0 0 0 9.23 10.04l-.111-.102l.033.147a60.6 60.6 0 0 0 .572 2.342c.093.345.18.642.258.875a4.985 4.985 0 0 0 .138.367a.575.575 0 0 0 .014.027zM8 9.5a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3z"},null,-1),Y0=[G0];function K0(n,e){return H(),ee("svg",H0,Y0)}const Z0={name:"bi-flower1",render:K0},X0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Q0=P("path",{fill:"currentColor",d:"M12 4C6.486 4 2 8.486 2 14a9.89 9.89 0 0 0 1.051 4.445c.17.34.516.555.895.555h16.107c.379 0 .726-.215.896-.555A9.89 9.89 0 0 0 22 14c0-5.514-4.486-10-10-10zm7.41 13H4.59A7.875 7.875 0 0 1 4 14c0-4.411 3.589-8 8-8s8 3.589 8 8a7.875 7.875 0 0 1-.59 3z"},null,-1),J0=P("path",{fill:"currentColor",d:"M10.939 12.939a1.53 1.53 0 0 0 0 2.561a1.53 1.53 0 0 0 2.121-.44l3.962-6.038a.034.034 0 0 0 0-.035a.033.033 0 0 0-.045-.01l-6.038 3.962z"},null,-1),e1=[Q0,J0];function t1(n,e){return H(),ee("svg",X0,e1)}const n1={name:"bx-tachometer",render:t1},s1={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},r1=P("path",{fill:"currentColor",d:"M237.66 18.34a8 8 0 0 0-11.32 0l-52.4 52.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L100 88.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-52.41 52.4a8 8 0 0 0 11.32 11.32l52.4-52.41l5.37 5.38a32 32 0 0 0 45.26 0L156 167.31l6.34 6.35a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l52.41-52.4a8 8 0 0 0 0-11.32Zm-116.29 161a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L100 111.31L144.69 156Zm57.94-57.94L156 144.69L111.31 100l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.68Zm-90.9-86.87a8 8 0 0 1 15.18-5.06l8 24a8 8 0 0 1-15.18 5.06Zm-64 58.94a8 8 0 0 1 10.12-5.06l24 8a8 8 0 0 1-5.06 15.18l-24-8a8 8 0 0 1-5.06-10.12Zm207.18 69.06a8 8 0 0 1-10.12 5.06l-24-8a8 8 0 0 1 5.06-15.18l24 8a8 8 0 0 1 5.06 10.12Zm-64 58.94a8 8 0 0 1-15.18 5.06l-8-24a8 8 0 0 1 15.18-5.06Z"},null,-1),i1=[r1];function o1(n,e){return H(),ee("svg",s1,i1)}const a1={name:"ph-plugs-connected",render:o1},c1={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},l1=P("path",{fill:"currentColor",d:"M17.65 6.35A7.958 7.958 0 0 0 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"},null,-1),u1=[l1];function h1(n,e){return H(),ee("svg",c1,u1)}const d1={name:"ic-baseline-refresh",render:h1};class Jt{constructor(e=!1){this.eventMap={},this.eventsSuspended=e==!0}addListener(e,t,s={}){if(typeof e=="string"&&e.length<1||e instanceof String&&e.length<1||typeof e!="string"&&!(e instanceof String)&&e!==Jt.ANY_EVENT)throw new TypeError("The 'event' parameter must be a string or EventEmitter.ANY_EVENT.");if(typeof t!="function")throw new TypeError("The callback must be a function.");const r=new th(e,this,t,s);return this.eventMap[e]||(this.eventMap[e]=[]),s.prepend?this.eventMap[e].unshift(r):this.eventMap[e].push(r),r}addOneTimeListener(e,t,s={}){s.remaining=1,this.addListener(e,t,s)}static get ANY_EVENT(){return Symbol.for("Any event")}hasListener(e,t){return e===void 0?this.eventMap[Jt.ANY_EVENT]&&this.eventMap[Jt.ANY_EVENT].length>0?!0:Object.entries(this.eventMap).some(([,s])=>s.length>0):this.eventMap[e]&&this.eventMap[e].length>0?t instanceof th?this.eventMap[e].filter(r=>r===t).length>0:typeof t=="function"?this.eventMap[e].filter(r=>r.callback===t).length>0:t==null:!1}get eventNames(){return Object.keys(this.eventMap)}getListeners(e){return this.eventMap[e]||[]}suspendEvent(e){this.getListeners(e).forEach(t=>{t.suspended=!0})}unsuspendEvent(e){this.getListeners(e).forEach(t=>{t.suspended=!1})}getListenerCount(e){return this.getListeners(e).length}emit(e,...t){if(typeof e!="string"&&!(e instanceof String))throw new TypeError("The 'event' parameter must be a string.");if(this.eventsSuspended)return;let s=[],r=this.eventMap[Jt.ANY_EVENT]||[];return this.eventMap[e]&&(r=r.concat(this.eventMap[e])),r.forEach(i=>{if(i.suspended)return;let o=[...t];Array.isArray(i.arguments)&&(o=o.concat(i.arguments)),i.remaining>0&&(s.push(i.callback.apply(i.context,o)),i.count++),--i.remaining<1&&i.remove()}),s}removeListener(e,t,s={}){if(e===void 0){this.eventMap={};return}else if(!this.eventMap[e])return;let r=this.eventMap[e].filter(i=>t&&i.callback!==t||s.remaining&&s.remaining!==i.remaining||s.context&&s.context!==i.context);r.length?this.eventMap[e]=r:delete this.eventMap[e]}async waitFor(e,t={}){return t.duration=parseInt(t.duration),(isNaN(t.duration)||t.duration<=0)&&(t.duration=1/0),new Promise((s,r)=>{let i,o=this.addListener(e,()=>{clearTimeout(i),s()},{remaining:1});t.duration!==1/0&&(i=setTimeout(()=>{o.remove(),r("The duration expired before the event was emitted.")},t.duration))})}get eventCount(){return Object.keys(this.eventMap).length}}let th=class{constructor(e,t,s,r={}){if(typeof e!="string"&&!(e instanceof String)&&e!==Jt.ANY_EVENT)throw new TypeError("The 'event' parameter must be a string or EventEmitter.ANY_EVENT.");if(!t)throw new ReferenceError("The 'target' parameter is mandatory.");if(typeof s!="function")throw new TypeError("The 'callback' must be a function.");r.arguments!==void 0&&!Array.isArray(r.arguments)&&(r.arguments=[r.arguments]),r=Object.assign({context:t,remaining:1/0,arguments:void 0,duration:1/0},r),r.duration!==1/0&&setTimeout(()=>this.remove(),r.duration),this.arguments=r.arguments,this.callback=s,this.context=r.context,this.count=0,this.event=e,this.remaining=parseInt(r.remaining)>=1?parseInt(r.remaining):1/0,this.suspended=!1,this.target=t}remove(){this.target.removeListener(this.event,this.callback,{context:this.context,remaining:this.remaining})}};/** - * The `Enumerations` class contains enumerations and arrays of elements used throughout the - * library. All its properties are static and should be referenced using the class name. For - * example: `Enumerations.CHANNEL_MESSAGES`. - * - * @license Apache-2.0 - * @since 3.0.0 - */class q{static get MIDI_CHANNEL_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MESSAGES enum has been deprecated. Use the Enumerations.CHANNEL_MESSAGES enum instead."),q.CHANNEL_MESSAGES}static get CHANNEL_MESSAGES(){return{noteoff:8,noteon:9,keyaftertouch:10,controlchange:11,programchange:12,channelaftertouch:13,pitchbend:14}}static get CHANNEL_NUMBERS(){return[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}static get MIDI_CHANNEL_NUMBERS(){return this.validation&&console.warn("The MIDI_CHANNEL_NUMBERS array has been deprecated. Use the Enumerations.CHANNEL_NUMBERS array instead."),[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}static get CHANNEL_MODE_MESSAGES(){return{allsoundoff:120,resetallcontrollers:121,localcontrol:122,allnotesoff:123,omnimodeoff:124,omnimodeon:125,monomodeon:126,polymodeon:127}}static get MIDI_CHANNEL_MODE_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MODE_MESSAGES enum has been deprecated. Use the Enumerations.CHANNEL_MODE_MESSAGES enum instead."),q.CHANNEL_MODE_MESSAGES}static get MIDI_CONTROL_CHANGE_MESSAGES(){return this.validation&&console.warn("The MIDI_CONTROL_CHANGE_MESSAGES enum has been deprecated. Use the Enumerations.CONTROL_CHANGE_MESSAGES array instead."),{bankselectcoarse:0,modulationwheelcoarse:1,breathcontrollercoarse:2,controller3:3,footcontrollercoarse:4,portamentotimecoarse:5,dataentrycoarse:6,volumecoarse:7,balancecoarse:8,controller9:9,pancoarse:10,expressioncoarse:11,effectcontrol1coarse:12,effectcontrol2coarse:13,controller14:14,controller15:15,generalpurposeslider1:16,generalpurposeslider2:17,generalpurposeslider3:18,generalpurposeslider4:19,controller20:20,controller21:21,controller22:22,controller23:23,controller24:24,controller25:25,controller26:26,controller27:27,controller28:28,controller29:29,controller30:30,controller31:31,bankselectfine:32,modulationwheelfine:33,breathcontrollerfine:34,controller35:35,footcontrollerfine:36,portamentotimefine:37,dataentryfine:38,volumefine:39,balancefine:40,controller41:41,panfine:42,expressionfine:43,effectcontrol1fine:44,effectcontrol2fine:45,controller46:46,controller47:47,controller48:48,controller49:49,controller50:50,controller51:51,controller52:52,controller53:53,controller54:54,controller55:55,controller56:56,controller57:57,controller58:58,controller59:59,controller60:60,controller61:61,controller62:62,controller63:63,holdpedal:64,portamento:65,sustenutopedal:66,softpedal:67,legatopedal:68,hold2pedal:69,soundvariation:70,resonance:71,soundreleasetime:72,soundattacktime:73,brightness:74,soundcontrol6:75,soundcontrol7:76,soundcontrol8:77,soundcontrol9:78,soundcontrol10:79,generalpurposebutton1:80,generalpurposebutton2:81,generalpurposebutton3:82,generalpurposebutton4:83,controller84:84,controller85:85,controller86:86,controller87:87,controller88:88,controller89:89,controller90:90,reverblevel:91,tremololevel:92,choruslevel:93,celestelevel:94,phaserlevel:95,databuttonincrement:96,databuttondecrement:97,nonregisteredparametercoarse:98,nonregisteredparameterfine:99,registeredparametercoarse:100,registeredparameterfine:101,controller102:102,controller103:103,controller104:104,controller105:105,controller106:106,controller107:107,controller108:108,controller109:109,controller110:110,controller111:111,controller112:112,controller113:113,controller114:114,controller115:115,controller116:116,controller117:117,controller118:118,controller119:119,allsoundoff:120,resetallcontrollers:121,localcontrol:122,allnotesoff:123,omnimodeoff:124,omnimodeon:125,monomodeon:126,polymodeon:127}}static get CONTROL_CHANGE_MESSAGES(){return[{number:0,name:"bankselectcoarse",description:"Bank Select (Coarse)",position:"msb"},{number:1,name:"modulationwheelcoarse",description:"Modulation Wheel (Coarse)",position:"msb"},{number:2,name:"breathcontrollercoarse",description:"Breath Controller (Coarse)",position:"msb"},{number:3,name:"controller3",description:"Undefined",position:"msb"},{number:4,name:"footcontrollercoarse",description:"Foot Controller (Coarse)",position:"msb"},{number:5,name:"portamentotimecoarse",description:"Portamento Time (Coarse)",position:"msb"},{number:6,name:"dataentrycoarse",description:"Data Entry (Coarse)",position:"msb"},{number:7,name:"volumecoarse",description:"Channel Volume (Coarse)",position:"msb"},{number:8,name:"balancecoarse",description:"Balance (Coarse)",position:"msb"},{number:9,name:"controller9",description:"Controller 9 (Coarse)",position:"msb"},{number:10,name:"pancoarse",description:"Pan (Coarse)",position:"msb"},{number:11,name:"expressioncoarse",description:"Expression Controller (Coarse)",position:"msb"},{number:12,name:"effectcontrol1coarse",description:"Effect Control 1 (Coarse)",position:"msb"},{number:13,name:"effectcontrol2coarse",description:"Effect Control 2 (Coarse)",position:"msb"},{number:14,name:"controller14",description:"Undefined",position:"msb"},{number:15,name:"controller15",description:"Undefined",position:"msb"},{number:16,name:"generalpurposecontroller1",description:"General Purpose Controller 1 (Coarse)",position:"msb"},{number:17,name:"generalpurposecontroller2",description:"General Purpose Controller 2 (Coarse)",position:"msb"},{number:18,name:"generalpurposecontroller3",description:"General Purpose Controller 3 (Coarse)",position:"msb"},{number:19,name:"generalpurposecontroller4",description:"General Purpose Controller 4 (Coarse)",position:"msb"},{number:20,name:"controller20",description:"Undefined",position:"msb"},{number:21,name:"controller21",description:"Undefined",position:"msb"},{number:22,name:"controller22",description:"Undefined",position:"msb"},{number:23,name:"controller23",description:"Undefined",position:"msb"},{number:24,name:"controller24",description:"Undefined",position:"msb"},{number:25,name:"controller25",description:"Undefined",position:"msb"},{number:26,name:"controller26",description:"Undefined",position:"msb"},{number:27,name:"controller27",description:"Undefined",position:"msb"},{number:28,name:"controller28",description:"Undefined",position:"msb"},{number:29,name:"controller29",description:"Undefined",position:"msb"},{number:30,name:"controller30",description:"Undefined",position:"msb"},{number:31,name:"controller31",description:"Undefined",position:"msb"},{number:32,name:"bankselectfine",description:"Bank Select (Fine)",position:"lsb"},{number:33,name:"modulationwheelfine",description:"Modulation Wheel (Fine)",position:"lsb"},{number:34,name:"breathcontrollerfine",description:"Breath Controller (Fine)",position:"lsb"},{number:35,name:"controller35",description:"Undefined",position:"lsb"},{number:36,name:"footcontrollerfine",description:"Foot Controller (Fine)",position:"lsb"},{number:37,name:"portamentotimefine",description:"Portamento Time (Fine)",position:"lsb"},{number:38,name:"dataentryfine",description:"Data Entry (Fine)",position:"lsb"},{number:39,name:"channelvolumefine",description:"Channel Volume (Fine)",position:"lsb"},{number:40,name:"balancefine",description:"Balance (Fine)",position:"lsb"},{number:41,name:"controller41",description:"Undefined",position:"lsb"},{number:42,name:"panfine",description:"Pan (Fine)",position:"lsb"},{number:43,name:"expressionfine",description:"Expression Controller (Fine)",position:"lsb"},{number:44,name:"effectcontrol1fine",description:"Effect control 1 (Fine)",position:"lsb"},{number:45,name:"effectcontrol2fine",description:"Effect control 2 (Fine)",position:"lsb"},{number:46,name:"controller46",description:"Undefined",position:"lsb"},{number:47,name:"controller47",description:"Undefined",position:"lsb"},{number:48,name:"controller48",description:"General Purpose Controller 1 (Fine)",position:"lsb"},{number:49,name:"controller49",description:"General Purpose Controller 2 (Fine)",position:"lsb"},{number:50,name:"controller50",description:"General Purpose Controller 3 (Fine)",position:"lsb"},{number:51,name:"controller51",description:"General Purpose Controller 4 (Fine)",position:"lsb"},{number:52,name:"controller52",description:"Undefined",position:"lsb"},{number:53,name:"controller53",description:"Undefined",position:"lsb"},{number:54,name:"controller54",description:"Undefined",position:"lsb"},{number:55,name:"controller55",description:"Undefined",position:"lsb"},{number:56,name:"controller56",description:"Undefined",position:"lsb"},{number:57,name:"controller57",description:"Undefined",position:"lsb"},{number:58,name:"controller58",description:"Undefined",position:"lsb"},{number:59,name:"controller59",description:"Undefined",position:"lsb"},{number:60,name:"controller60",description:"Undefined",position:"lsb"},{number:61,name:"controller61",description:"Undefined",position:"lsb"},{number:62,name:"controller62",description:"Undefined",position:"lsb"},{number:63,name:"controller63",description:"Undefined",position:"lsb"},{number:64,name:"damperpedal",description:"Damper Pedal On/Off"},{number:65,name:"portamento",description:"Portamento On/Off"},{number:66,name:"sostenuto",description:"Sostenuto On/Off"},{number:67,name:"softpedal",description:"Soft Pedal On/Off"},{number:68,name:"legatopedal",description:"Legato Pedal On/Off"},{number:69,name:"hold2",description:"Hold 2 On/Off"},{number:70,name:"soundvariation",description:"Sound Variation",position:"lsb"},{number:71,name:"resonance",description:"Resonance",position:"lsb"},{number:72,name:"releasetime",description:"Release Time",position:"lsb"},{number:73,name:"attacktime",description:"Attack Time",position:"lsb"},{number:74,name:"brightness",description:"Brightness",position:"lsb"},{number:75,name:"decaytime",description:"Decay Time",position:"lsb"},{number:76,name:"vibratorate",description:"Vibrato Rate",position:"lsb"},{number:77,name:"vibratodepth",description:"Vibrato Depth",position:"lsb"},{number:78,name:"vibratodelay",description:"Vibrato Delay",position:"lsb"},{number:79,name:"controller79",description:"Undefined",position:"lsb"},{number:80,name:"generalpurposecontroller5",description:"General Purpose Controller 5",position:"lsb"},{number:81,name:"generalpurposecontroller6",description:"General Purpose Controller 6",position:"lsb"},{number:82,name:"generalpurposecontroller7",description:"General Purpose Controller 7",position:"lsb"},{number:83,name:"generalpurposecontroller8",description:"General Purpose Controller 8",position:"lsb"},{number:84,name:"portamentocontrol",description:"Portamento Control",position:"lsb"},{number:85,name:"controller85",description:"Undefined"},{number:86,name:"controller86",description:"Undefined"},{number:87,name:"controller87",description:"Undefined"},{number:88,name:"highresolutionvelocityprefix",description:"High Resolution Velocity Prefix",position:"lsb"},{number:89,name:"controller89",description:"Undefined"},{number:90,name:"controller90",description:"Undefined"},{number:91,name:"effect1depth",description:"Effects 1 Depth (Reverb Send Level)"},{number:92,name:"effect2depth",description:"Effects 2 Depth"},{number:93,name:"effect3depth",description:"Effects 3 Depth (Chorus Send Level)"},{number:94,name:"effect4depth",description:"Effects 4 Depth"},{number:95,name:"effect5depth",description:"Effects 5 Depth"},{number:96,name:"dataincrement",description:"Data Increment"},{number:97,name:"datadecrement",description:"Data Decrement"},{number:98,name:"nonregisteredparameterfine",description:"Non-Registered Parameter Number (Fine)",position:"lsb"},{number:99,name:"nonregisteredparametercoarse",description:"Non-Registered Parameter Number (Coarse)",position:"msb"},{number:100,name:"registeredparameterfine",description:"Registered Parameter Number (Fine)",position:"lsb"},{number:101,name:"registeredparametercoarse",description:"Registered Parameter Number (Coarse)",position:"msb"},{number:102,name:"controller102",description:"Undefined"},{number:103,name:"controller103",description:"Undefined"},{number:104,name:"controller104",description:"Undefined"},{number:105,name:"controller105",description:"Undefined"},{number:106,name:"controller106",description:"Undefined"},{number:107,name:"controller107",description:"Undefined"},{number:108,name:"controller108",description:"Undefined"},{number:109,name:"controller109",description:"Undefined"},{number:110,name:"controller110",description:"Undefined"},{number:111,name:"controller111",description:"Undefined"},{number:112,name:"controller112",description:"Undefined"},{number:113,name:"controller113",description:"Undefined"},{number:114,name:"controller114",description:"Undefined"},{number:115,name:"controller115",description:"Undefined"},{number:116,name:"controller116",description:"Undefined"},{number:117,name:"controller117",description:"Undefined"},{number:118,name:"controller118",description:"Undefined"},{number:119,name:"controller119",description:"Undefined"},{number:120,name:"allsoundoff",description:"All Sound Off"},{number:121,name:"resetallcontrollers",description:"Reset All Controllers"},{number:122,name:"localcontrol",description:"Local Control On/Off"},{number:123,name:"allnotesoff",description:"All Notes Off"},{number:124,name:"omnimodeoff",description:"Omni Mode Off"},{number:125,name:"omnimodeon",description:"Omni Mode On"},{number:126,name:"monomodeon",description:"Mono Mode On"},{number:127,name:"polymodeon",description:"Poly Mode On"}]}static get REGISTERED_PARAMETERS(){return{pitchbendrange:[0,0],channelfinetuning:[0,1],channelcoarsetuning:[0,2],tuningprogram:[0,3],tuningbank:[0,4],modulationrange:[0,5],azimuthangle:[61,0],elevationangle:[61,1],gain:[61,2],distanceratio:[61,3],maximumdistance:[61,4],maximumdistancegain:[61,5],referencedistanceratio:[61,6],panspreadangle:[61,7],rollangle:[61,8]}}static get MIDI_REGISTERED_PARAMETERS(){return this.validation&&console.warn("The MIDI_REGISTERED_PARAMETERS enum has been deprecated. Use the Enumerations.REGISTERED_PARAMETERS enum instead."),q.MIDI_REGISTERED_PARAMETERS}static get SYSTEM_MESSAGES(){return{sysex:240,timecode:241,songposition:242,songselect:243,tunerequest:246,tuningrequest:246,sysexend:247,clock:248,start:250,continue:251,stop:252,activesensing:254,reset:255,midimessage:0,unknownsystemmessage:-1}}static get MIDI_SYSTEM_MESSAGES(){return this.validation&&console.warn("The MIDI_SYSTEM_MESSAGES enum has been deprecated. Use the Enumerations.SYSTEM_MESSAGES enum instead."),q.SYSTEM_MESSAGES}static get CHANNEL_EVENTS(){return["noteoff","controlchange","noteon","keyaftertouch","programchange","channelaftertouch","pitchbend","allnotesoff","allsoundoff","localcontrol","monomode","omnimode","resetallcontrollers","nrpn","nrpn-dataentrycoarse","nrpn-dataentryfine","nrpn-dataincrement","nrpn-datadecrement","rpn","rpn-dataentrycoarse","rpn-dataentryfine","rpn-dataincrement","rpn-datadecrement","nrpn-databuttonincrement","nrpn-databuttondecrement","rpn-databuttonincrement","rpn-databuttondecrement"]}}/** - * The `Note` class represents a single musical note such as `"D3"`, `"G#4"`, `"F-1"`, `"Gb7"`, etc. - * - * `Note` objects can be played back on a single channel by calling - * [`OutputChannel.playNote()`]{@link OutputChannel#playNote} or, on multiple channels of the same - * output, by calling [`Output.playNote()`]{@link Output#playNote}. - * - * The note has [`attack`](#attack) and [`release`](#release) velocities set at `0.5` by default. - * These can be changed by passing in the appropriate option. It is also possible to set a - * system-wide default for attack and release velocities by using the - * [`WebMidi.defaults`](WebMidi#defaults) property. - * - * If you prefer to work with raw MIDI values (`0` to `127`), you can use [`rawAttack`](#rawAttack) and - * [`rawRelease`](#rawRelease) to both get and set the values. - * - * The note may have a [`duration`](#duration). If it does, playback will be automatically stopped - * when the duration has elapsed by sending a `"noteoff"` event. By default, the duration is set to - * `Infinity`. In this case, it will never stop playing unless explicitly stopped by calling a - * method such as [`OutputChannel.stopNote()`]{@link OutputChannel#stopNote}, - * [`Output.stopNote()`]{@link Output#stopNote} or similar. - * - * @license Apache-2.0 - * @since 3.0.0 - */class $s{constructor(e,t={}){this.duration=Y.defaults.note.duration,this.attack=Y.defaults.note.attack,this.release=Y.defaults.note.release,t.duration!=null&&(this.duration=t.duration),t.attack!=null&&(this.attack=t.attack),t.rawAttack!=null&&(this.attack=J.from7bitToFloat(t.rawAttack)),t.release!=null&&(this.release=t.release),t.rawRelease!=null&&(this.release=J.from7bitToFloat(t.rawRelease)),Number.isInteger(e)?this.identifier=J.toNoteIdentifier(e):this.identifier=e}get identifier(){return this._name+(this._accidental||"")+this._octave}set identifier(e){const t=J.getNoteDetails(e);if(Y.validation&&!e)throw new Error("Invalid note identifier");this._name=t.name,this._accidental=t.accidental,this._octave=t.octave}get name(){return this._name}set name(e){if(Y.validation&&(e=e.toUpperCase(),!["C","D","E","F","G","A","B"].includes(e)))throw new Error("Invalid name value");this._name=e}get accidental(){return this._accidental}set accidental(e){if(Y.validation&&(e=e.toLowerCase(),!["#","##","b","bb"].includes(e)))throw new Error("Invalid accidental value");this._accidental=e}get octave(){return this._octave}set octave(e){if(Y.validation&&(e=parseInt(e),isNaN(e)))throw new Error("Invalid octave value");this._octave=e}get duration(){return this._duration}set duration(e){if(Y.validation&&(e=parseFloat(e),isNaN(e)||e===null||e<0))throw new RangeError("Invalid duration value.");this._duration=e}get attack(){return this._attack}set attack(e){if(Y.validation&&(e=parseFloat(e),isNaN(e)||!(e>=0&&e<=1)))throw new RangeError("Invalid attack value.");this._attack=e}get release(){return this._release}set release(e){if(Y.validation&&(e=parseFloat(e),isNaN(e)||!(e>=0&&e<=1)))throw new RangeError("Invalid release value.");this._release=e}get rawAttack(){return J.fromFloatTo7Bit(this._attack)}set rawAttack(e){this._attack=J.from7bitToFloat(e)}get rawRelease(){return J.fromFloatTo7Bit(this._release)}set rawRelease(e){this._release=J.from7bitToFloat(e)}get number(){return J.toNoteNumber(this.identifier)}getOffsetNumber(e=0,t=0){return Y.validation&&(e=parseInt(e)||0,t=parseInt(t)||0),Math.min(Math.max(this.number+e*12+t,0),127)}}/** - * The `Utilities` class contains general-purpose utility methods. All methods are static and - * should be called using the class name. For example: `Utilities.getNoteDetails("C4")`. - * - * @license Apache-2.0 - * @since 3.0.0 - */class J{static toNoteNumber(e,t=0){if(t=t==null?0:parseInt(t),isNaN(t))throw new RangeError("Invalid 'octaveOffset' value");typeof e!="string"&&(e="");const s=this.getNoteDetails(e);if(!s)throw new TypeError("Invalid note identifier");const r={C:0,D:2,E:4,F:5,G:7,A:9,B:11};let i=(s.octave+1+t)*12;if(i+=r[s.name],s.accidental&&(s.accidental.startsWith("b")?i-=s.accidental.length:i+=s.accidental.length),i<0||i>127)throw new RangeError("Invalid octaveOffset value");return i}static getNoteDetails(e){Number.isInteger(e)&&(e=this.toNoteIdentifier(e));const t=e.match(/^([CDEFGAB])(#{0,2}|b{0,2})(-?\d+)$/i);if(!t)throw new TypeError("Invalid note identifier");const s=t[1].toUpperCase(),r=parseInt(t[3]);let i=t[2].toLowerCase();return i=i===""?void 0:i,{accidental:i,identifier:s+(i||"")+r,name:s,octave:r}}static sanitizeChannels(e){let t;if(Y.validation){if(e==="all")t=["all"];else if(e==="none")return[]}return Array.isArray(e)?t=e:t=[e],t.indexOf("all")>-1&&(t=q.MIDI_CHANNEL_NUMBERS),t.map(function(s){return parseInt(s)}).filter(function(s){return s>=1&&s<=16})}static toTimestamp(e){let t=!1;const s=parseFloat(e);return isNaN(s)?!1:(typeof e=="string"&&e.substring(0,1)==="+"?s>=0&&(t=Y.time+s):s>=0&&(t=s),t)}static guessNoteNumber(e,t){t=parseInt(t)||0;let s=!1;if(Number.isInteger(e)&&e>=0&&e<=127)s=parseInt(e);else if(parseInt(e)>=0&&parseInt(e)<=127)s=parseInt(e);else if(typeof e=="string"||e instanceof String)try{s=this.toNoteNumber(e.trim(),t)}catch{return!1}return s}static toNoteIdentifier(e,t){if(e=parseInt(e),isNaN(e)||e<0||e>127)throw new RangeError("Invalid note number");if(t=t==null?0:parseInt(t),isNaN(t))throw new RangeError("Invalid octaveOffset value");const s=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],r=Math.floor(e/12-1)+t;return s[e%12]+r.toString()}static buildNote(e,t={}){if(t.octaveOffset=parseInt(t.octaveOffset)||0,e instanceof $s)return e;let s=this.guessNoteNumber(e,t.octaveOffset);if(s===!1)throw new TypeError(`The input could not be parsed as a note (${e})`);return t.octaveOffset=void 0,new $s(s,t)}static buildNoteArray(e,t={}){let s=[];return Array.isArray(e)||(e=[e]),e.forEach(r=>{s.push(this.buildNote(r,t))}),s}static from7bitToFloat(e){return e===1/0&&(e=127),e=parseInt(e)||0,Math.min(Math.max(e/127,0),1)}static fromFloatTo7Bit(e){return e===1/0&&(e=1),e=parseFloat(e)||0,Math.min(Math.max(Math.round(e*127),0),127)}static fromMsbLsbToFloat(e,t=0){Y.validation&&(e=Math.min(Math.max(parseInt(e)||0,0),127),t=Math.min(Math.max(parseInt(t)||0,0),127));const s=((e<<7)+t)/16383;return Math.min(Math.max(s,0),1)}static fromFloatToMsbLsb(e){Y.validation&&(e=Math.min(Math.max(parseFloat(e)||0,0),1));const t=Math.round(e*16383);return{msb:t>>7,lsb:t&127}}static offsetNumber(e,t=0,s=0){if(Y.validation){if(e=parseInt(e),isNaN(e))throw new Error("Invalid note number");t=parseInt(t)||0,s=parseInt(s)||0}return Math.min(Math.max(e+t*12+s,0),127)}static getPropertyByValue(e,t){return Object.keys(e).find(s=>e[s]===t)}static getCcNameByNumber(e){if(!(Y.validation&&(e=parseInt(e),!(e>=0&&e<=127))))return q.CONTROL_CHANGE_MESSAGES[e].name}static getCcNumberByName(e){let t=q.CONTROL_CHANGE_MESSAGES.find(s=>s.name===e);return t?t.number:q.MIDI_CONTROL_CHANGE_MESSAGES[e]}static getChannelModeByNumber(e){if(!(e>=120&&e<=127))return!1;for(let t in q.CHANNEL_MODE_MESSAGES)if(q.CHANNEL_MODE_MESSAGES.hasOwnProperty(t)&&e===q.CHANNEL_MODE_MESSAGES[t])return t;return!1}static get isNode(){return typeof process<"u"&&process.versions!=null&&process.versions.node!=null}static get isBrowser(){return typeof window<"u"&&typeof window.document<"u"}}/** - * The `OutputChannel` class represents a single output MIDI channel. `OutputChannel` objects are - * provided by an [`Output`](Output) port which, itself, is made available by a device. The - * `OutputChannel` object is derived from the host's MIDI subsystem and should not be instantiated - * directly. - * - * All 16 `OutputChannel` objects can be found inside the parent output's - * [`channels`]{@link Output#channels} property. - * - * @param {Output} output The [`Output`](Output) this channel belongs to. - * @param {number} number The MIDI channel number (`1` - `16`). - * - * @extends EventEmitter - * @license Apache-2.0 - * @since 3.0.0 - */class f1 extends Jt{constructor(e,t){super(),this._output=e,this._number=t,this._octaveOffset=0}destroy(){this._output=null,this._number=null,this._octaveOffset=0,this.removeListener()}send(e,t={time:0}){return this.output.send(e,t),this}sendKeyAftertouch(e,t,s={}){if(Y.validation){if(s.useRawValue&&(s.rawValue=s.useRawValue),isNaN(parseFloat(t)))throw new RangeError("Invalid key aftertouch value.");if(s.rawValue){if(!(t>=0&&t<=127&&Number.isInteger(t)))throw new RangeError("Key aftertouch raw value must be an integer between 0 and 127.")}else if(!(t>=0&&t<=1))throw new RangeError("Key aftertouch value must be a float between 0 and 1.")}s.rawValue||(t=J.fromFloatTo7Bit(t));const r=Y.octaveOffset+this.output.octaveOffset+this.octaveOffset;return Array.isArray(e)||(e=[e]),J.buildNoteArray(e).forEach(i=>{this.send([(q.CHANNEL_MESSAGES.keyaftertouch<<4)+(this.number-1),i.getOffsetNumber(r),t],{time:J.toTimestamp(s.time)})}),this}sendControlChange(e,t,s={}){if(typeof e=="string"&&(e=J.getCcNumberByName(e)),Array.isArray(t)||(t=[t]),Y.validation){if(e===void 0)throw new TypeError("Control change must be identified with a valid name or an integer between 0 and 127.");if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new TypeError("Control change number must be an integer between 0 and 127.");if(t=t.map(r=>{const i=Math.min(Math.max(parseInt(r),0),127);if(isNaN(i))throw new TypeError("Values must be integers between 0 and 127");return i}),t.length===2&&e>=32)throw new TypeError("To use a value array, the controller must be between 0 and 31")}return t.forEach((r,i)=>{this.send([(q.CHANNEL_MESSAGES.controlchange<<4)+(this.number-1),e+i*32,t[i]],{time:J.toTimestamp(s.time)})}),this}_selectNonRegisteredParameter(e,t={}){return this.sendControlChange(99,e[0],t),this.sendControlChange(98,e[1],t),this}_deselectRegisteredParameter(e={}){return this.sendControlChange(101,127,e),this.sendControlChange(100,127,e),this}_deselectNonRegisteredParameter(e={}){return this.sendControlChange(101,127,e),this.sendControlChange(100,127,e),this}_selectRegisteredParameter(e,t={}){return this.sendControlChange(101,e[0],t),this.sendControlChange(100,e[1],t),this}_setCurrentParameter(e,t={}){return e=[].concat(e),this.sendControlChange(6,e[0],t),e.length<2?this:(this.sendControlChange(38,e[1],t),this)}sendRpnDecrement(e,t={}){if(Array.isArray(e)||(e=q.REGISTERED_PARAMETERS[e]),Y.validation){if(e===void 0)throw new TypeError("The specified registered parameter is invalid.");let s=!1;if(Object.getOwnPropertyNames(q.REGISTERED_PARAMETERS).forEach(r=>{q.REGISTERED_PARAMETERS[r][0]===e[0]&&q.REGISTERED_PARAMETERS[r][1]===e[1]&&(s=!0)}),!s)throw new TypeError("The specified registered parameter is invalid.")}return this._selectRegisteredParameter(e,t),this.sendControlChange(97,0,t),this._deselectRegisteredParameter(t),this}sendRpnIncrement(e,t={}){if(Array.isArray(e)||(e=q.REGISTERED_PARAMETERS[e]),Y.validation){if(e===void 0)throw new TypeError("The specified registered parameter is invalid.");let s=!1;if(Object.getOwnPropertyNames(q.REGISTERED_PARAMETERS).forEach(r=>{q.REGISTERED_PARAMETERS[r][0]===e[0]&&q.REGISTERED_PARAMETERS[r][1]===e[1]&&(s=!0)}),!s)throw new TypeError("The specified registered parameter is invalid.")}return this._selectRegisteredParameter(e,t),this.sendControlChange(96,0,t),this._deselectRegisteredParameter(t),this}playNote(e,t={}){this.sendNoteOn(e,t);const s=Array.isArray(e)?e:[e];for(let r of s)if(parseInt(r.duration)>0){const i={time:(J.toTimestamp(t.time)||Y.time)+parseInt(r.duration),release:r.release,rawRelease:r.rawRelease};this.sendNoteOff(r,i)}else if(parseInt(t.duration)>0){const i={time:(J.toTimestamp(t.time)||Y.time)+parseInt(t.duration),release:t.release,rawRelease:t.rawRelease};this.sendNoteOff(r,i)}return this}sendNoteOff(e,t={}){if(Y.validation){if(t.rawRelease!=null&&!(t.rawRelease>=0&&t.rawRelease<=127))throw new RangeError("The 'rawRelease' option must be an integer between 0 and 127");if(t.release!=null&&!(t.release>=0&&t.release<=1))throw new RangeError("The 'release' option must be an number between 0 and 1");t.rawVelocity&&(t.rawRelease=t.velocity,console.warn("The 'rawVelocity' option is deprecated. Use 'rawRelease' instead.")),t.velocity&&(t.release=t.velocity,console.warn("The 'velocity' option is deprecated. Use 'attack' instead."))}let s=64;t.rawRelease!=null?s=t.rawRelease:isNaN(t.release)||(s=Math.round(t.release*127));const r=Y.octaveOffset+this.output.octaveOffset+this.octaveOffset;return J.buildNoteArray(e,{rawRelease:parseInt(s)}).forEach(i=>{this.send([(q.CHANNEL_MESSAGES.noteoff<<4)+(this.number-1),i.getOffsetNumber(r),i.rawRelease],{time:J.toTimestamp(t.time)})}),this}stopNote(e,t={}){return this.sendNoteOff(e,t)}sendNoteOn(e,t={}){if(Y.validation){if(t.rawAttack!=null&&!(t.rawAttack>=0&&t.rawAttack<=127))throw new RangeError("The 'rawAttack' option must be an integer between 0 and 127");if(t.attack!=null&&!(t.attack>=0&&t.attack<=1))throw new RangeError("The 'attack' option must be an number between 0 and 1");t.rawVelocity&&(t.rawAttack=t.velocity,t.rawRelease=t.release,console.warn("The 'rawVelocity' option is deprecated. Use 'rawAttack' or 'rawRelease'.")),t.velocity&&(t.attack=t.velocity,console.warn("The 'velocity' option is deprecated. Use 'attack' instead."))}let s=64;t.rawAttack!=null?s=t.rawAttack:isNaN(t.attack)||(s=Math.round(t.attack*127));const r=Y.octaveOffset+this.output.octaveOffset+this.octaveOffset;return J.buildNoteArray(e,{rawAttack:s}).forEach(i=>{this.send([(q.CHANNEL_MESSAGES.noteon<<4)+(this.number-1),i.getOffsetNumber(r),i.rawAttack],{time:J.toTimestamp(t.time)})}),this}sendChannelMode(e,t=0,s={}){if(typeof e=="string"&&(e=q.CHANNEL_MODE_MESSAGES[e]),Y.validation){if(e===void 0)throw new TypeError("Invalid channel mode message name or number.");if(isNaN(e)||!(e>=120&&e<=127))throw new TypeError("Invalid channel mode message number.");if(isNaN(parseInt(t))||t<0||t>127)throw new RangeError("Value must be an integer between 0 and 127.")}return this.send([(q.CHANNEL_MESSAGES.controlchange<<4)+(this.number-1),e,t],{time:J.toTimestamp(s.time)}),this}sendOmniMode(e,t={}){return e===void 0||e?this.sendChannelMode("omnimodeon",0,t):this.sendChannelMode("omnimodeoff",0,t),this}sendChannelAftertouch(e,t={}){if(Y.validation){if(isNaN(parseFloat(e)))throw new RangeError("Invalid channel aftertouch value.");if(t.rawValue){if(!(e>=0&&e<=127&&Number.isInteger(e)))throw new RangeError("Channel aftertouch raw value must be an integer between 0 and 127.")}else if(!(e>=0&&e<=1))throw new RangeError("Channel aftertouch value must be a float between 0 and 1.")}return this.send([(q.CHANNEL_MESSAGES.channelaftertouch<<4)+(this.number-1),Math.round(e*127)],{time:J.toTimestamp(t.time)}),this}sendMasterTuning(e,t={}){if(e=parseFloat(e)||0,Y.validation&&!(e>-65&&e<64))throw new RangeError("The value must be a decimal number larger than -65 and smaller than 64.");let s=Math.floor(e)+64,r=e-Math.floor(e);r=Math.round((r+1)/2*16383);let i=r>>7&127,o=r&127;return this.sendRpnValue("channelcoarsetuning",s,t),this.sendRpnValue("channelfinetuning",[i,o],t),this}sendModulationRange(e,t,s={}){if(Y.validation){if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new RangeError("The semitones value must be an integer between 0 and 127.");if(t!=null&&(!Number.isInteger(t)||!(t>=0&&t<=127)))throw new RangeError("If specified, the cents value must be an integer between 0 and 127.")}return t>=0&&t<=127||(t=0),this.sendRpnValue("modulationrange",[e,t],s),this}sendNrpnValue(e,t,s={}){if(t=[].concat(t),Y.validation){if(!Array.isArray(e)||!Number.isInteger(e[0])||!Number.isInteger(e[1]))throw new TypeError("The specified NRPN is invalid.");if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The first byte of the NRPN must be between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The second byte of the NRPN must be between 0 and 127.");t.forEach(r=>{if(!(r>=0&&r<=127))throw new RangeError("The data bytes of the NRPN must be between 0 and 127.")})}return this._selectNonRegisteredParameter(e,s),this._setCurrentParameter(t,s),this._deselectNonRegisteredParameter(s),this}sendPitchBend(e,t={}){if(Y.validation)if(t.rawValue&&Array.isArray(e)){if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The pitch bend MSB must be an integer between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The pitch bend LSB must be an integer between 0 and 127.")}else if(t.rawValue&&!Array.isArray(e)){if(!(e>=0&&e<=127))throw new RangeError("The pitch bend MSB must be an integer between 0 and 127.")}else{if(isNaN(e)||e===null)throw new RangeError("Invalid pitch bend value.");if(!(e>=-1&&e<=1))throw new RangeError("The pitch bend value must be a float between -1 and 1.")}let s=0,r=0;if(t.rawValue&&Array.isArray(e))s=e[0],r=e[1];else if(t.rawValue&&!Array.isArray(e))s=e;else{const i=J.fromFloatToMsbLsb((e+1)/2);s=i.msb,r=i.lsb}return this.send([(q.CHANNEL_MESSAGES.pitchbend<<4)+(this.number-1),r,s],{time:J.toTimestamp(t.time)}),this}sendPitchBendRange(e,t,s={}){if(Y.validation){if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new RangeError("The semitones value must be an integer between 0 and 127.");if(!Number.isInteger(t)||!(t>=0&&t<=127))throw new RangeError("The cents value must be an integer between 0 and 127.")}return this.sendRpnValue("pitchbendrange",[e,t],s),this}sendProgramChange(e,t={}){if(e=parseInt(e)||0,Y.validation&&!(e>=0&&e<=127))throw new RangeError("The program number must be between 0 and 127.");return this.send([(q.CHANNEL_MESSAGES.programchange<<4)+(this.number-1),e],{time:J.toTimestamp(t.time)}),this}sendRpnValue(e,t,s={}){if(Array.isArray(e)||(e=q.REGISTERED_PARAMETERS[e]),Y.validation){if(!Number.isInteger(e[0])||!Number.isInteger(e[1]))throw new TypeError("The specified NRPN is invalid.");if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The first byte of the RPN must be between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The second byte of the RPN must be between 0 and 127.");[].concat(t).forEach(r=>{if(!(r>=0&&r<=127))throw new RangeError("The data bytes of the RPN must be between 0 and 127.")})}return this._selectRegisteredParameter(e,s),this._setCurrentParameter(t,s),this._deselectRegisteredParameter(s),this}sendTuningBank(e,t={}){if(Y.validation&&(!Number.isInteger(e)||!(e>=0&&e<=127)))throw new RangeError("The tuning bank number must be between 0 and 127.");return this.sendRpnValue("tuningbank",e,t),this}sendTuningProgram(e,t={}){if(Y.validation&&(!Number.isInteger(e)||!(e>=0&&e<=127)))throw new RangeError("The tuning program number must be between 0 and 127.");return this.sendRpnValue("tuningprogram",e,t),this}sendLocalControl(e,t={}){return e?this.sendChannelMode("localcontrol",127,t):this.sendChannelMode("localcontrol",0,t)}sendAllNotesOff(e={}){return this.sendChannelMode("allnotesoff",0,e)}sendAllSoundOff(e={}){return this.sendChannelMode("allsoundoff",0,e)}sendResetAllControllers(e={}){return this.sendChannelMode("resetallcontrollers",0,e)}sendPolyphonicMode(e,t={}){return e==="mono"?this.sendChannelMode("monomodeon",0,t):this.sendChannelMode("polymodeon",0,t)}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get output(){return this._output}get number(){return this._number}}/** - * The `Output` class represents a single MIDI output port (not to be confused with a MIDI channel). - * A port is made available by a MIDI device. A MIDI device can advertise several input and output - * ports. Each port has 16 MIDI channels which can be accessed via the [`channels`](#channels) - * property. - * - * The `Output` object is automatically instantiated by the library according to the host's MIDI - * subsystem and should not be directly instantiated. - * - * You can access all available `Output` objects by referring to the - * [`WebMidi.outputs`](WebMidi#outputs) array or by using methods such as - * [`WebMidi.getOutputByName()`](WebMidi#getOutputByName) or - * [`WebMidi.getOutputById()`](WebMidi#getOutputById). - * - * @fires Output#opened - * @fires Output#disconnected - * @fires Output#closed - * - * @extends EventEmitter - * @license Apache-2.0 - */class Dc extends Jt{constructor(e){super(),this._midiOutput=e,this._octaveOffset=0,this.channels=[];for(let t=1;t<=16;t++)this.channels[t]=new f1(this,t);this._midiOutput.onstatechange=this._onStateChange.bind(this)}async destroy(){this.removeListener(),this.channels.forEach(e=>e.destroy()),this.channels=[],this._midiOutput&&(this._midiOutput.onstatechange=null),await this.close(),this._midiOutput=null}_onStateChange(e){let t={timestamp:Y.time};e.port.connection==="open"?(t.type="opened",t.target=this,t.port=t.target,this.emit("opened",t)):e.port.connection==="closed"&&e.port.state==="connected"?(t.type="closed",t.target=this,t.port=t.target,this.emit("closed",t)):e.port.connection==="closed"&&e.port.state==="disconnected"?(t.type="disconnected",t.port={connection:e.port.connection,id:e.port.id,manufacturer:e.port.manufacturer,name:e.port.name,state:e.port.state,type:e.port.type},this.emit("disconnected",t)):e.port.connection==="pending"&&e.port.state==="disconnected"||console.warn("This statechange event was not caught:",e.port.connection,e.port.state)}async open(){try{return await this._midiOutput.open(),Promise.resolve(this)}catch(e){return Promise.reject(e)}}async close(){this._midiOutput?await this._midiOutput.close():await Promise.resolve()}send(e,t={time:0},s=0){if(e instanceof Pf&&(e=J.isNode?e.data:e.rawData),e instanceof Uint8Array&&J.isNode&&(e=Array.from(e)),Y.validation){if(!Array.isArray(e)&&!(e instanceof Uint8Array)&&(e=[e],Array.isArray(t)&&(e=e.concat(t)),t=isNaN(s)?{time:0}:{time:s}),!(parseInt(e[0])>=128&&parseInt(e[0])<=255))throw new RangeError("The first byte (status) must be an integer between 128 and 255.");e.slice(1).forEach(r=>{if(r=parseInt(r),!(r>=0&&r<=255))throw new RangeError("Data bytes must be integers between 0 and 255.")}),t||(t={time:0})}return this._midiOutput.send(e,J.toTimestamp(t.time)),this}sendSysex(e,t=[],s={}){if(e=[].concat(e),t instanceof Uint8Array){const r=new Uint8Array(1+e.length+t.length+1);r[0]=q.SYSTEM_MESSAGES.sysex,r.set(Uint8Array.from(e),1),r.set(t,1+e.length),r[r.length-1]=q.SYSTEM_MESSAGES.sysexend,this.send(r,{time:s.time})}else{const r=e.concat(t,q.SYSTEM_MESSAGES.sysexend);this.send([q.SYSTEM_MESSAGES.sysex].concat(r),{time:s.time})}return this}clear(){return this._midiOutput.clear?this._midiOutput.clear():Y.validation&&console.warn("The 'clear()' method has not yet been implemented in your environment."),this}sendTimecodeQuarterFrame(e,t={}){if(Y.validation&&(e=parseInt(e),isNaN(e)||!(e>=0&&e<=127)))throw new RangeError("The value must be an integer between 0 and 127.");return this.send([q.SYSTEM_MESSAGES.timecode,e],{time:t.time}),this}sendSongPosition(e=0,t={}){e=Math.floor(e)||0;var s=e>>7&127,r=e&127;return this.send([q.SYSTEM_MESSAGES.songposition,s,r],{time:t.time}),this}sendSongSelect(e=0,t={}){if(Y.validation&&(e=parseInt(e),isNaN(e)||!(e>=0&&e<=127)))throw new RangeError("The program value must be between 0 and 127");return this.send([q.SYSTEM_MESSAGES.songselect,e],{time:t.time}),this}sendTuneRequest(e={}){return this.send([q.SYSTEM_MESSAGES.tunerequest],{time:e.time}),this}sendClock(e={}){return this.send([q.SYSTEM_MESSAGES.clock],{time:e.time}),this}sendStart(e={}){return this.send([q.SYSTEM_MESSAGES.start],{time:e.time}),this}sendContinue(e={}){return this.send([q.SYSTEM_MESSAGES.continue],{time:e.time}),this}sendStop(e={}){return this.send([q.SYSTEM_MESSAGES.stop],{time:e.time}),this}sendActiveSensing(e={}){return this.send([q.SYSTEM_MESSAGES.activesensing],{time:e.time}),this}sendReset(e={}){return this.send([q.SYSTEM_MESSAGES.reset],{time:e.time}),this}sendTuningRequest(e={}){return Y.validation&&console.warn("The sendTuningRequest() method has been deprecated. Use sendTuningRequest() instead."),this.sendTuneRequest(e)}sendKeyAftertouch(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendKeyAftertouch(e,t,s)}),this}sendControlChange(e,t,s={},r={}){if(Y.validation&&(Array.isArray(s)||Number.isInteger(s)||s==="all")){const i=s;s=r,s.channels=i,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)}return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendControlChange(e,t,s)}),this}sendPitchBendRange(e=0,t=0,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendPitchBendRange(e,t,s)}),this}setPitchBendRange(e=0,t=0,s="all",r={}){return Y.validation&&(console.warn("The setPitchBendRange() method is deprecated. Use sendPitchBendRange() instead."),r.channels=s,r.channels==="all"&&(r.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendPitchBendRange(e,t,r)}sendRpnValue(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendRpnValue(e,t,s)}),this}setRegisteredParameter(e,t=[],s="all",r={}){return Y.validation&&(console.warn("The setRegisteredParameter() method is deprecated. Use sendRpnValue() instead."),r.channels=s,r.channels==="all"&&(r.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendRpnValue(e,t,r)}sendChannelAftertouch(e,t={},s={}){if(Y.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const r=t;t=s,t.channels=r,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(r=>{this.channels[r].sendChannelAftertouch(e,t)}),this}sendPitchBend(e,t={},s={}){if(Y.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const r=t;t=s,t.channels=r,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(r=>{this.channels[r].sendPitchBend(e,t)}),this}sendProgramChange(e=0,t={},s={}){if(Y.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const r=t;t=s,t.channels=r,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(r=>{this.channels[r].sendProgramChange(e,t)}),this}sendModulationRange(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendModulationRange(e,t,s)}),this}setModulationRange(e=0,t=0,s="all",r={}){return Y.validation&&(console.warn("The setModulationRange() method is deprecated. Use sendModulationRange() instead."),r.channels=s,r.channels==="all"&&(r.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendModulationRange(e,t,r)}sendMasterTuning(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendMasterTuning(e,t)}),this}setMasterTuning(e,t={},s={}){return Y.validation&&(console.warn("The setMasterTuning() method is deprecated. Use sendMasterTuning() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendMasterTuning(e,s)}sendTuningProgram(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendTuningProgram(e,t)}),this}setTuningProgram(e,t="all",s={}){return Y.validation&&(console.warn("The setTuningProgram() method is deprecated. Use sendTuningProgram() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendTuningProgram(e,s)}sendTuningBank(e=0,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendTuningBank(e,t)}),this}setTuningBank(e,t="all",s={}){return Y.validation&&(console.warn("The setTuningBank() method is deprecated. Use sendTuningBank() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendTuningBank(e,s)}sendChannelMode(e,t=0,s={},r={}){if(Y.validation&&(Array.isArray(s)||Number.isInteger(s)||s==="all")){const i=s;s=r,s.channels=i,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)}return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendChannelMode(e,t,s)}),this}sendAllSoundOff(e={}){return e.channels==null&&(e.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(e.channels).forEach(t=>{this.channels[t].sendAllSoundOff(e)}),this}sendAllNotesOff(e={}){return e.channels==null&&(e.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(e.channels).forEach(t=>{this.channels[t].sendAllNotesOff(e)}),this}sendResetAllControllers(e={},t={}){if(Y.validation&&(Array.isArray(e)||Number.isInteger(e)||e==="all")){const s=e;e=t,e.channels=s,e.channels==="all"&&(e.channels=q.MIDI_CHANNEL_NUMBERS)}return e.channels==null&&(e.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(e.channels).forEach(s=>{this.channels[s].sendResetAllControllers(e)}),this}sendPolyphonicMode(e,t={},s={}){if(Y.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const r=t;t=s,t.channels=r,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(r=>{this.channels[r].sendPolyphonicMode(e,t)}),this}sendLocalControl(e,t={},s={}){if(Y.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const r=t;t=s,t.channels=r,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(r=>{this.channels[r].sendLocalControl(e,t)}),this}sendOmniMode(e,t={},s={}){if(Y.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const r=t;t=s,t.channels=r,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(r=>{this.channels[r].sendOmniMode(e,t)}),this}sendNrpnValue(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendNrpnValue(e,t,s)}),this}setNonRegisteredParameter(e,t=[],s="all",r={}){return Y.validation&&(console.warn("The setNonRegisteredParameter() method is deprecated. Use sendNrpnValue() instead."),r.channels=s,r.channels==="all"&&(r.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendNrpnValue(e,t,r)}sendRpnIncrement(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendRpnIncrement(e,t)}),this}incrementRegisteredParameter(e,t="all",s={}){return Y.validation&&(console.warn("The incrementRegisteredParameter() method is deprecated. Use sendRpnIncrement() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendRpnIncrement(e,s)}sendRpnDecrement(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendRpnDecrement(e,t)}),this}decrementRegisteredParameter(e,t="all",s={}){return Y.validation&&(console.warn("The decrementRegisteredParameter() method is deprecated. Use sendRpnDecrement() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendRpnDecrement(e,s)}sendNoteOff(e,t={},s={}){if(Y.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const r=t;t=s,t.channels=r,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(r=>{this.channels[r].sendNoteOff(e,t)}),this}stopNote(e,t){return this.sendNoteOff(e,t)}playNote(e,t={},s={}){if(Y.validation&&(t.rawVelocity&&console.warn("The 'rawVelocity' option is deprecated. Use 'rawAttack' instead."),t.velocity&&console.warn("The 'velocity' option is deprecated. Use 'velocity' instead."),Array.isArray(t)||Number.isInteger(t)||t==="all")){const r=t;t=s,t.channels=r,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(r=>{this.channels[r].playNote(e,t)}),this}sendNoteOn(e,t={},s={}){if(Y.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const r=t;t=s,t.channels=r,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(r=>{this.channels[r].sendNoteOn(e,t)}),this}get name(){return this._midiOutput.name}get id(){return this._midiOutput.id}get connection(){return this._midiOutput.connection}get manufacturer(){return this._midiOutput.manufacturer}get state(){return this._midiOutput.state}get type(){return this._midiOutput.type}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}}/** - * The `Forwarder` class allows the forwarding of MIDI messages to predetermined outputs. When you - * call its [`forward()`](#forward) method, it will send the specified [`Message`](Message) object - * to all the outputs listed in its [`destinations`](#destinations) property. - * - * If specific channels or message types have been defined in the [`channels`](#channels) or - * [`types`](#types) properties, only messages matching the channels/types will be forwarded. - * - * While it can be manually instantiated, you are more likely to come across a `Forwarder` object as - * the return value of the [`Input.addForwarder()`](Input#addForwarder) method. - * - * @license Apache-2.0 - * @since 3.0.0 - */class nh{constructor(e=[],t={}){this.destinations=[],this.types=[...Object.keys(q.SYSTEM_MESSAGES),...Object.keys(q.CHANNEL_MESSAGES)],this.channels=q.MIDI_CHANNEL_NUMBERS,this.suspended=!1,Array.isArray(e)||(e=[e]),t.types&&!Array.isArray(t.types)&&(t.types=[t.types]),t.channels&&!Array.isArray(t.channels)&&(t.channels=[t.channels]),Y.validation&&(e.forEach(s=>{if(!(s instanceof Dc))throw new TypeError("Destinations must be of type 'Output'.")}),t.types!==void 0&&t.types.forEach(s=>{if(!q.SYSTEM_MESSAGES.hasOwnProperty(s)&&!q.CHANNEL_MESSAGES.hasOwnProperty(s))throw new TypeError("Type must be a valid message type.")}),t.channels!==void 0&&t.channels.forEach(s=>{if(!q.MIDI_CHANNEL_NUMBERS.includes(s))throw new TypeError("MIDI channel must be between 1 and 16.")})),this.destinations=e,t.types&&(this.types=t.types),t.channels&&(this.channels=t.channels)}forward(e){this.suspended||this.types.includes(e.type)&&(e.channel&&!this.channels.includes(e.channel)||this.destinations.forEach(t=>{Y.validation&&!(t instanceof Dc)||t.send(e)}))}}/** - * The `InputChannel` class represents a single MIDI input channel (1-16) from a single input - * device. This object is derived from the host's MIDI subsystem and should not be instantiated - * directly. - * - * All 16 `InputChannel` objects can be found inside the input's [`channels`](Input#channels) - * property. - * - * @fires InputChannel#midimessage - * @fires InputChannel#unknownmessage - * - * @fires InputChannel#noteoff - * @fires InputChannel#noteon - * @fires InputChannel#keyaftertouch - * @fires InputChannel#programchange - * @fires InputChannel#channelaftertouch - * @fires InputChannel#pitchbend - * - * @fires InputChannel#allnotesoff - * @fires InputChannel#allsoundoff - * @fires InputChannel#localcontrol - * @fires InputChannel#monomode - * @fires InputChannel#omnimode - * @fires InputChannel#resetallcontrollers - * - * @fires InputChannel#event:nrpn - * @fires InputChannel#event:nrpn-dataentrycoarse - * @fires InputChannel#event:nrpn-dataentryfine - * @fires InputChannel#event:nrpn-dataincrement - * @fires InputChannel#event:nrpn-datadecrement - * @fires InputChannel#event:rpn - * @fires InputChannel#event:rpn-dataentrycoarse - * @fires InputChannel#event:rpn-dataentryfine - * @fires InputChannel#event:rpn-dataincrement - * @fires InputChannel#event:rpn-datadecrement - * - * @fires InputChannel#controlchange - * @fires InputChannel#event:controlchange-controllerxxx - * @fires InputChannel#event:controlchange-bankselectcoarse - * @fires InputChannel#event:controlchange-modulationwheelcoarse - * @fires InputChannel#event:controlchange-breathcontrollercoarse - * @fires InputChannel#event:controlchange-footcontrollercoarse - * @fires InputChannel#event:controlchange-portamentotimecoarse - * @fires InputChannel#event:controlchange-dataentrycoarse - * @fires InputChannel#event:controlchange-volumecoarse - * @fires InputChannel#event:controlchange-balancecoarse - * @fires InputChannel#event:controlchange-pancoarse - * @fires InputChannel#event:controlchange-expressioncoarse - * @fires InputChannel#event:controlchange-effectcontrol1coarse - * @fires InputChannel#event:controlchange-effectcontrol2coarse - * @fires InputChannel#event:controlchange-generalpurposecontroller1 - * @fires InputChannel#event:controlchange-generalpurposecontroller2 - * @fires InputChannel#event:controlchange-generalpurposecontroller3 - * @fires InputChannel#event:controlchange-generalpurposecontroller4 - * @fires InputChannel#event:controlchange-bankselectfine - * @fires InputChannel#event:controlchange-modulationwheelfine - * @fires InputChannel#event:controlchange-breathcontrollerfine - * @fires InputChannel#event:controlchange-footcontrollerfine - * @fires InputChannel#event:controlchange-portamentotimefine - * @fires InputChannel#event:controlchange-dataentryfine - * @fires InputChannel#event:controlchange-channelvolumefine - * @fires InputChannel#event:controlchange-balancefine - * @fires InputChannel#event:controlchange-panfine - * @fires InputChannel#event:controlchange-expressionfine - * @fires InputChannel#event:controlchange-effectcontrol1fine - * @fires InputChannel#event:controlchange-effectcontrol2fine - * @fires InputChannel#event:controlchange-damperpedal - * @fires InputChannel#event:controlchange-portamento - * @fires InputChannel#event:controlchange-sostenuto - * @fires InputChannel#event:controlchange-softpedal - * @fires InputChannel#event:controlchange-legatopedal - * @fires InputChannel#event:controlchange-hold2 - * @fires InputChannel#event:controlchange-soundvariation - * @fires InputChannel#event:controlchange-resonance - * @fires InputChannel#event:controlchange-releasetime - * @fires InputChannel#event:controlchange-attacktime - * @fires InputChannel#event:controlchange-brightness - * @fires InputChannel#event:controlchange-decaytime - * @fires InputChannel#event:controlchange-vibratorate - * @fires InputChannel#event:controlchange-vibratodepth - * @fires InputChannel#event:controlchange-vibratodelay - * @fires InputChannel#event:controlchange-generalpurposecontroller5 - * @fires InputChannel#event:controlchange-generalpurposecontroller6 - * @fires InputChannel#event:controlchange-generalpurposecontroller7 - * @fires InputChannel#event:controlchange-generalpurposecontroller8 - * @fires InputChannel#event:controlchange-portamentocontrol - * @fires InputChannel#event:controlchange-highresolutionvelocityprefix - * @fires InputChannel#event:controlchange-effect1depth - * @fires InputChannel#event:controlchange-effect2depth - * @fires InputChannel#event:controlchange-effect3depth - * @fires InputChannel#event:controlchange-effect4depth - * @fires InputChannel#event:controlchange-effect5depth - * @fires InputChannel#event:controlchange-dataincrement - * @fires InputChannel#event:controlchange-datadecrement - * @fires InputChannel#event:controlchange-nonregisteredparameterfine - * @fires InputChannel#event:controlchange-nonregisteredparametercoarse - * @fires InputChannel#event:controlchange-registeredparameterfine - * @fires InputChannel#event:controlchange-registeredparametercoarse - * @fires InputChannel#event:controlchange-allsoundoff - * @fires InputChannel#event:controlchange-resetallcontrollers - * @fires InputChannel#event:controlchange-localcontrol - * @fires InputChannel#event:controlchange-allnotesoff - * @fires InputChannel#event:controlchange-omnimodeoff - * @fires InputChannel#event:controlchange-omnimodeon - * @fires InputChannel#event:controlchange-monomodeon - * @fires InputChannel#event:controlchange-polymodeon - * @fires InputChannel#event: - * - * @extends EventEmitter - * @license Apache-2.0 - * @since 3.0.0 - */class p1 extends Jt{constructor(e,t){super(),this._input=e,this._number=t,this._octaveOffset=0,this._nrpnBuffer=[],this._rpnBuffer=[],this.parameterNumberEventsEnabled=!0,this.notesState=new Array(128).fill(!1)}destroy(){this._input=null,this._number=null,this._octaveOffset=0,this._nrpnBuffer=[],this.notesState=new Array(128).fill(!1),this.parameterNumberEventsEnabled=!1,this.removeListener()}_processMidiMessageEvent(e){const t=Object.assign({},e);t.port=this.input,t.target=this,t.type="midimessage",this.emit(t.type,t),this._parseEventForStandardMessages(t)}_parseEventForStandardMessages(e){const t=Object.assign({},e);t.type=t.message.type||"unknownmessage";const s=e.message.dataBytes[0],r=e.message.dataBytes[1];if(t.type==="noteoff"||t.type==="noteon"&&r===0)this.notesState[s]=!1,t.type="noteoff",t.note=new $s(J.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+Y.octaveOffset),{rawAttack:0,rawRelease:r}),t.value=J.from7bitToFloat(r),t.rawValue=r,t.velocity=t.note.release,t.rawVelocity=t.note.rawRelease;else if(t.type==="noteon")this.notesState[s]=!0,t.note=new $s(J.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+Y.octaveOffset),{rawAttack:r}),t.value=J.from7bitToFloat(r),t.rawValue=r,t.velocity=t.note.attack,t.rawVelocity=t.note.rawAttack;else if(t.type==="keyaftertouch")t.note=new $s(J.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+Y.octaveOffset)),t.value=J.from7bitToFloat(r),t.rawValue=r,t.identifier=t.note.identifier,t.key=t.note.number,t.rawKey=s;else if(t.type==="controlchange"){t.controller={number:s,name:q.CONTROL_CHANGE_MESSAGES[s].name,description:q.CONTROL_CHANGE_MESSAGES[s].description,position:q.CONTROL_CHANGE_MESSAGES[s].position},t.subtype=t.controller.name||"controller"+s,t.value=J.from7bitToFloat(r),t.rawValue=r;const i=Object.assign({},t);i.type=`${t.type}-controller${s}`,delete i.subtype,this.emit(i.type,i);const o=Object.assign({},t);o.type=`${t.type}-`+q.CONTROL_CHANGE_MESSAGES[s].name,delete o.subtype,o.type.indexOf("controller")!==0&&this.emit(o.type,o),t.message.dataBytes[0]>=120&&this._parseChannelModeMessage(t),this.parameterNumberEventsEnabled&&this._isRpnOrNrpnController(t.message.dataBytes[0])&&this._parseEventForParameterNumber(t)}else t.type==="programchange"?(t.value=s,t.rawValue=t.value):t.type==="channelaftertouch"?(t.value=J.from7bitToFloat(s),t.rawValue=s):t.type==="pitchbend"?(t.value=((r<<7)+s-8192)/8192,t.rawValue=(r<<7)+s):t.type="unknownmessage";this.emit(t.type,t)}_parseChannelModeMessage(e){const t=Object.assign({},e);t.type=t.controller.name,t.type==="localcontrol"&&(t.value=t.message.data[2]===127,t.rawValue=t.message.data[2]),t.type==="omnimodeon"?(t.type="omnimode",t.value=!0,t.rawValue=t.message.data[2]):t.type==="omnimodeoff"&&(t.type="omnimode",t.value=!1,t.rawValue=t.message.data[2]),t.type==="monomodeon"?(t.type="monomode",t.value=!0,t.rawValue=t.message.data[2]):t.type==="polymodeon"&&(t.type="monomode",t.value=!1,t.rawValue=t.message.data[2]),this.emit(t.type,t)}_parseEventForParameterNumber(e){const t=e.message.dataBytes[0],s=e.message.dataBytes[1];t===99||t===101?(this._nrpnBuffer=[],this._rpnBuffer=[],t===99?this._nrpnBuffer=[e.message]:s!==127&&(this._rpnBuffer=[e.message])):t===98||t===100?t===98?(this._rpnBuffer=[],this._nrpnBuffer.length===1?this._nrpnBuffer.push(e.message):this._nrpnBuffer=[]):(this._nrpnBuffer=[],this._rpnBuffer.length===1&&s!==127?this._rpnBuffer.push(e.message):this._rpnBuffer=[]):(t===6||t===38||t===96||t===97)&&(this._rpnBuffer.length===2?this._dispatchParameterNumberEvent("rpn",this._rpnBuffer[0].dataBytes[1],this._rpnBuffer[1].dataBytes[1],e):this._nrpnBuffer.length===2?this._dispatchParameterNumberEvent("nrpn",this._nrpnBuffer[0].dataBytes[1],this._nrpnBuffer[1].dataBytes[1],e):(this._nrpnBuffer=[],this._rpnBuffer=[]))}_isRpnOrNrpnController(e){return e===6||e===38||e===96||e===97||e===98||e===99||e===100||e===101}_dispatchParameterNumberEvent(e,t,s,r){e=e==="nrpn"?"nrpn":"rpn";const i={target:r.target,timestamp:r.timestamp,message:r.message,parameterMsb:t,parameterLsb:s,value:J.from7bitToFloat(r.message.dataBytes[1]),rawValue:r.message.dataBytes[1]};e==="rpn"?i.parameter=Object.keys(q.REGISTERED_PARAMETERS).find(c=>q.REGISTERED_PARAMETERS[c][0]===t&&q.REGISTERED_PARAMETERS[c][1]===s):i.parameter=(t<<7)+s;const o=q.CONTROL_CHANGE_MESSAGES[r.message.dataBytes[0]].name;i.type=`${e}-${o}`,this.emit(i.type,i);const a=Object.assign({},i);a.type==="nrpn-dataincrement"?a.type="nrpn-databuttonincrement":a.type==="nrpn-datadecrement"?a.type="nrpn-databuttondecrement":a.type==="rpn-dataincrement"?a.type="rpn-databuttonincrement":a.type==="rpn-datadecrement"&&(a.type="rpn-databuttondecrement"),this.emit(a.type,a),i.type=e,i.subtype=o,this.emit(i.type,i)}getChannelModeByNumber(e){return Y.validation&&(console.warn("The 'getChannelModeByNumber()' method has been moved to the 'Utilities' class."),e=Math.floor(e)),J.getChannelModeByNumber(e)}getCcNameByNumber(e){if(Y.validation&&(console.warn("The 'getCcNameByNumber()' method has been moved to the 'Utilities' class."),e=parseInt(e),!(e>=0&&e<=127)))throw new RangeError("Invalid control change number.");return J.getCcNameByNumber(e)}getNoteState(e){e instanceof $s&&(e=e.identifier);const t=J.guessNoteNumber(e,Y.octaveOffset+this.input.octaveOffset+this.octaveOffset);return this.notesState[t]}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get input(){return this._input}get number(){return this._number}get nrpnEventsEnabled(){return this.parameterNumberEventsEnabled}set nrpnEventsEnabled(e){this.validation&&(e=!!e),this.parameterNumberEventsEnabled=e}}/** - * The `Message` class represents a single MIDI message. It has several properties that make it - * easy to make sense of the binary data it contains. - * - * @license Apache-2.0 - * @since 3.0.0 - */class Pf{constructor(e){this.rawData=e,this.data=Array.from(this.rawData),this.statusByte=this.rawData[0],this.rawDataBytes=this.rawData.slice(1),this.dataBytes=this.data.slice(1),this.isChannelMessage=!1,this.isSystemMessage=!1,this.command=void 0,this.channel=void 0,this.manufacturerId=void 0,this.type=void 0,this.statusByte<240?(this.isChannelMessage=!0,this.command=this.statusByte>>4,this.channel=(this.statusByte&15)+1):(this.isSystemMessage=!0,this.command=this.statusByte),this.isChannelMessage?this.type=J.getPropertyByValue(q.CHANNEL_MESSAGES,this.command):this.isSystemMessage&&(this.type=J.getPropertyByValue(q.SYSTEM_MESSAGES,this.command)),this.statusByte===q.SYSTEM_MESSAGES.sysex&&(this.dataBytes[0]===0?(this.manufacturerId=this.dataBytes.slice(0,3),this.dataBytes=this.dataBytes.slice(3,this.rawDataBytes.length-1),this.rawDataBytes=this.rawDataBytes.slice(3,this.rawDataBytes.length-1)):(this.manufacturerId=[this.dataBytes[0]],this.dataBytes=this.dataBytes.slice(1,this.dataBytes.length-1),this.rawDataBytes=this.rawDataBytes.slice(1,this.rawDataBytes.length-1)))}}/** - * The `Input` class represents a single MIDI input port. This object is automatically instantiated - * by the library according to the host's MIDI subsystem and does not need to be directly - * instantiated. Instead, you can access all `Input` objects by referring to the - * [`WebMidi.inputs`](WebMidi#inputs) array. You can also retrieve inputs by using methods such as - * [`WebMidi.getInputByName()`](WebMidi#getInputByName) and - * [`WebMidi.getInputById()`](WebMidi#getInputById). - * - * Note that a single MIDI device may expose several inputs and/or outputs. - * - * **Important**: the `Input` class does not directly fire channel-specific MIDI messages - * (such as [`noteon`](InputChannel#event:noteon) or - * [`controlchange`](InputChannel#event:controlchange), etc.). The [`InputChannel`](InputChannel) - * object does that. However, you can still use the - * [`Input.addListener()`](#addListener) method to listen to channel-specific events on multiple - * [`InputChannel`](InputChannel) objects at once. - * - * @fires Input#opened - * @fires Input#disconnected - * @fires Input#closed - * @fires Input#midimessage - * - * @fires Input#sysex - * @fires Input#timecode - * @fires Input#songposition - * @fires Input#songselect - * @fires Input#tunerequest - * @fires Input#clock - * @fires Input#start - * @fires Input#continue - * @fires Input#stop - * @fires Input#activesensing - * @fires Input#reset - * - * @fires Input#unknownmidimessage - * - * @extends EventEmitter - * @license Apache-2.0 - */class m1 extends Jt{constructor(e){super(),this._midiInput=e,this._octaveOffset=0,this.channels=[];for(let t=1;t<=16;t++)this.channels[t]=new p1(this,t);this._forwarders=[],this._midiInput.onstatechange=this._onStateChange.bind(this),this._midiInput.onmidimessage=this._onMidiMessage.bind(this)}async destroy(){this.removeListener(),this.channels.forEach(e=>e.destroy()),this.channels=[],this._forwarders=[],this._midiInput&&(this._midiInput.onstatechange=null,this._midiInput.onmidimessage=null),await this.close(),this._midiInput=null}_onStateChange(e){let t={timestamp:Y.time,target:this,port:this};e.port.connection==="open"?(t.type="opened",this.emit("opened",t)):e.port.connection==="closed"&&e.port.state==="connected"?(t.type="closed",this.emit("closed",t)):e.port.connection==="closed"&&e.port.state==="disconnected"?(t.type="disconnected",t.port={connection:e.port.connection,id:e.port.id,manufacturer:e.port.manufacturer,name:e.port.name,state:e.port.state,type:e.port.type},this.emit("disconnected",t)):e.port.connection==="pending"&&e.port.state==="disconnected"||console.warn("This statechange event was not caught: ",e.port.connection,e.port.state)}_onMidiMessage(e){const t=new Pf(e.data),s={port:this,target:this,message:t,timestamp:e.timeStamp,type:"midimessage",data:t.data,rawData:t.data,statusByte:t.data[0],dataBytes:t.dataBytes};this.emit("midimessage",s),t.isSystemMessage?this._parseEvent(s):t.isChannelMessage&&this.channels[t.channel]._processMidiMessageEvent(s),this._forwarders.forEach(r=>r.forward(t))}_parseEvent(e){const t=Object.assign({},e);t.type=t.message.type||"unknownmidimessage",t.type==="songselect"&&(t.song=e.data[1]+1,t.value=e.data[1],t.rawValue=t.value),this.emit(t.type,t)}async open(){try{await this._midiInput.open()}catch(e){return Promise.reject(e)}return Promise.resolve(this)}async close(){if(!this._midiInput)return Promise.resolve(this);try{await this._midiInput.close()}catch(e){return Promise.reject(e)}return Promise.resolve(this)}getChannelModeByNumber(){Y.validation&&console.warn("The 'getChannelModeByNumber()' method has been moved to the 'Utilities' class.")}addListener(e,t,s={}){if(Y.validation&&typeof s=="function"){let r=t!=null?[].concat(t):void 0;t=s,s={channels:r}}if(q.CHANNEL_EVENTS.includes(e)){s.channels===void 0&&(s.channels=q.MIDI_CHANNEL_NUMBERS);let r=[];return J.sanitizeChannels(s.channels).forEach(i=>{r.push(this.channels[i].addListener(e,t,s))}),r}else return super.addListener(e,t,s)}addOneTimeListener(e,t,s={}){return s.remaining=1,this.addListener(e,t,s)}on(e,t,s,r){return this.addListener(e,t,s,r)}hasListener(e,t,s={}){if(Y.validation&&typeof s=="function"){let r=[].concat(t);t=s,s={channels:r}}return q.CHANNEL_EVENTS.includes(e)?(s.channels===void 0&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).every(r=>this.channels[r].hasListener(e,t))):super.hasListener(e,t)}removeListener(e,t,s={}){if(Y.validation&&typeof s=="function"){let r=[].concat(t);t=s,s={channels:r}}if(s.channels===void 0&&(s.channels=q.MIDI_CHANNEL_NUMBERS),e==null)return J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r]&&this.channels[r].removeListener()}),super.removeListener();q.CHANNEL_EVENTS.includes(e)?J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].removeListener(e,t,s)}):super.removeListener(e,t,s)}addForwarder(e,t={}){let s;return e instanceof nh?s=e:s=new nh(e,t),this._forwarders.push(s),s}removeForwarder(e){this._forwarders=this._forwarders.filter(t=>t!==e)}hasForwarder(e){return this._forwarders.includes(e)}get name(){return this._midiInput.name}get id(){return this._midiInput.id}get connection(){return this._midiInput.connection}get manufacturer(){return this._midiInput.manufacturer}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get state(){return this._midiInput.state}get type(){return this._midiInput.type}get nrpnEventsEnabled(){return Y.validation&&console.warn("The 'nrpnEventsEnabled' property has been moved to the 'InputChannel' class."),!1}}/** - * The `WebMidi` object makes it easier to work with the low-level Web MIDI API. Basically, it - * simplifies sending outgoing MIDI messages and reacting to incoming MIDI messages. - * - * When using the WebMidi.js library, you should know that the `WebMidi` class has already been - * instantiated. You cannot instantiate it yourself. If you use the **IIFE** version, you should - * simply use the global object called `WebMidi`. If you use the **CJS** (CommonJS) or **ESM** (ES6 - * module) version, you get an already-instantiated object when you import the module. - * - * @fires WebMidi#connected - * @fires WebMidi#disabled - * @fires WebMidi#disconnected - * @fires WebMidi#enabled - * @fires WebMidi#error - * @fires WebMidi#midiaccessgranted - * @fires WebMidi#portschanged - * - * @extends EventEmitter - * @license Apache-2.0 - */class _1 extends Jt{constructor(){super(),this.defaults={note:{attack:J.from7bitToFloat(64),release:J.from7bitToFloat(64),duration:1/0}},this.interface=null,this.validation=!0,this._inputs=[],this._disconnectedInputs=[],this._outputs=[],this._disconnectedOutputs=[],this._stateChangeQueue=[],this._octaveOffset=0}async enable(e={},t=!1){if(J.isNode){try{window.navigator}catch{global.navigator=await Object.getPrototypeOf(async function(){}).constructor(` - let jzz = await import("jzz"); - return jzz.default; - `)()}try{}catch{global.performance=await Object.getPrototypeOf(async function(){}).constructor(` - let perf_hooks = await import("perf_hooks"); - return perf_hooks.performance; - `)()}}if(this.validation=e.validation!==!1,this.validation&&(typeof e=="function"&&(e={callback:e,sysex:t}),t&&(e.sysex=!0)),this.enabled)return typeof e.callback=="function"&&e.callback(),Promise.resolve();const s={timestamp:this.time,target:this,type:"error",error:void 0},r={timestamp:this.time,target:this,type:"midiaccessgranted"},i={timestamp:this.time,target:this,type:"enabled"};try{typeof e.requestMIDIAccessFunction=="function"?this.interface=await e.requestMIDIAccessFunction({sysex:e.sysex,software:e.software}):this.interface=await navigator.requestMIDIAccess({sysex:e.sysex,software:e.software})}catch(o){return s.error=o,this.emit("error",s),typeof e.callback=="function"&&e.callback(o),Promise.reject(o)}this.emit("midiaccessgranted",r),this.interface.onstatechange=this._onInterfaceStateChange.bind(this);try{await this._updateInputsAndOutputs()}catch(o){return s.error=o,this.emit("error",s),typeof e.callback=="function"&&e.callback(o),Promise.reject(o)}return this.emit("enabled",i),typeof e.callback=="function"&&e.callback(),Promise.resolve(this)}async disable(){return this.interface&&(this.interface.onstatechange=void 0),this._destroyInputsAndOutputs().then(()=>{navigator&&typeof navigator.close=="function"&&navigator.close(),this.interface=null;let e={timestamp:this.time,target:this,type:"disabled"};this.emit("disabled",e),this.removeListener()})}getInputById(e,t={disconnected:!1}){if(this.validation){if(!this.enabled)throw new Error("WebMidi is not enabled.");if(!e)return}if(t.disconnected){for(let s=0;s=0&&e<=127?J.getNoteDetails(J.offsetNumber(e,this.octaveOffset)).octave:!1}sanitizeChannels(e){return this.validation&&console.warn("The sanitizeChannels() method has been moved to the utilities class."),J.sanitizeChannels(e)}toMIDIChannels(e){return this.validation&&console.warn("The toMIDIChannels() method has been deprecated. Use Utilities.sanitizeChannels() instead."),J.sanitizeChannels(e)}guessNoteNumber(e){return this.validation&&console.warn("The guessNoteNumber() method has been deprecated. Use Utilities.guessNoteNumber() instead."),J.guessNoteNumber(e,this.octaveOffset)}getValidNoteArray(e,t={}){return this.validation&&console.warn("The getValidNoteArray() method has been moved to the Utilities.buildNoteArray()"),J.buildNoteArray(e,t)}convertToTimestamp(e){return this.validation&&console.warn("The convertToTimestamp() method has been moved to Utilities.toTimestamp()."),J.toTimestamp(e)}async _destroyInputsAndOutputs(){let e=[];return this.inputs.forEach(t=>e.push(t.destroy())),this.outputs.forEach(t=>e.push(t.destroy())),Promise.all(e).then(()=>{this._inputs=[],this._outputs=[]})}_onInterfaceStateChange(e){this._updateInputsAndOutputs();let t={timestamp:e.timeStamp,type:e.port.state,target:this};if(e.port.state==="connected"&&e.port.connection==="open"){e.port.type==="output"?t.port=this.getOutputById(e.port.id):e.port.type==="input"&&(t.port=this.getInputById(e.port.id)),this.emit(e.port.state,t);const s=Object.assign({},t);s.type="portschanged",this.emit(s.type,s)}else if(e.port.state==="disconnected"&&e.port.connection==="pending"){e.port.type==="input"?t.port=this.getInputById(e.port.id,{disconnected:!0}):e.port.type==="output"&&(t.port=this.getOutputById(e.port.id,{disconnected:!0})),this.emit(e.port.state,t);const s=Object.assign({},t);s.type="portschanged",this.emit(s.type,s)}}async _updateInputsAndOutputs(){return Promise.all([this._updateInputs(),this._updateOutputs()])}async _updateInputs(){if(!this.interface)return;for(let t=this._inputs.length-1;t>=0;t--){const s=this._inputs[t];Array.from(this.interface.inputs.values()).find(i=>i===s._midiInput)||(this._disconnectedInputs.push(s),this._inputs.splice(t,1))}let e=[];return this.interface.inputs.forEach(t=>{if(!this._inputs.find(s=>s._midiInput===t)){let s=this._disconnectedInputs.find(r=>r._midiInput===t);s||(s=new m1(t)),this._inputs.push(s),e.push(s.open())}}),Promise.all(e)}async _updateOutputs(){if(!this.interface)return;for(let t=this._outputs.length-1;t>=0;t--){const s=this._outputs[t];Array.from(this.interface.outputs.values()).find(i=>i===s._midiOutput)||(this._disconnectedOutputs.push(s),this._outputs.splice(t,1))}let e=[];return this.interface.outputs.forEach(t=>{if(!this._outputs.find(s=>s._midiOutput===t)){let s=this._disconnectedOutputs.find(r=>r._midiOutput===t);s||(s=new Dc(t)),this._outputs.push(s),e.push(s.open())}}),Promise.all(e)}get enabled(){return this.interface!==null}get inputs(){return this._inputs}get isNode(){return this.validation&&console.warn("WebMidi.isNode has been deprecated. Use Utilities.isNode instead."),J.isNode}get isBrowser(){return this.validation&&console.warn("WebMidi.isBrowser has been deprecated. Use Utilities.isBrowser instead."),J.isBrowser}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get outputs(){return this._outputs}get supported(){return typeof navigator<"u"&&navigator.requestMIDIAccess}get sysexEnabled(){return!!(this.interface&&this.interface.sysexEnabled)}get time(){return performance.now()}get version(){return"3.1.6"}get flavour(){return"esm"}get CHANNEL_EVENTS(){return this.validation&&console.warn("The CHANNEL_EVENTS enum has been moved to Enumerations.CHANNEL_EVENTS."),q.CHANNEL_EVENTS}get MIDI_SYSTEM_MESSAGES(){return this.validation&&console.warn("The MIDI_SYSTEM_MESSAGES enum has been moved to Enumerations.SYSTEM_MESSAGES."),q.SYSTEM_MESSAGES}get MIDI_CHANNEL_MODE_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MODE_MESSAGES enum has been moved to Enumerations.CHANNEL_MODE_MESSAGES."),q.CHANNEL_MODE_MESSAGES}get MIDI_CONTROL_CHANGE_MESSAGES(){return this.validation&&console.warn("The MIDI_CONTROL_CHANGE_MESSAGES enum has been replaced by the Enumerations.CONTROL_CHANGE_MESSAGES array."),q.MIDI_CONTROL_CHANGE_MESSAGES}get MIDI_REGISTERED_PARAMETER(){return this.validation&&console.warn("The MIDI_REGISTERED_PARAMETER enum has been moved to Enumerations.REGISTERED_PARAMETERS."),q.REGISTERED_PARAMETERS}get NOTES(){return this.validation&&console.warn("The NOTES enum has been deprecated."),["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"]}}const Y=new _1;Y.constructor=null;function Ui(n){return Pd()?(e_(n),!0):!1}function Kt(n){return typeof n=="function"?n():v(n)}const Wi=typeof window<"u",dc=(n,e,t)=>Math.min(t,Math.max(e,n)),Nl=()=>{},g1=y1();function y1(){var n;return Wi&&((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function v1(n,e){function t(...s){return new Promise((r,i)=>{Promise.resolve(n(()=>e.apply(this,s),{fn:e,thisArg:this,args:s})).then(r).catch(i)})}return t}const $f=n=>n();function b1(n=$f){const e=Oe(!0);function t(){e.value=!1}function s(){e.value=!0}const r=(...i)=>{e.value&&n(...i)};return{isActive:qi(e),pause:t,resume:s,eventFilter:r}}function Ff(...n){if(n.length!==1)return P_(...n);const e=n[0];return typeof e=="function"?qi(I_(()=>({get:e,set:Nl}))):Oe(e)}function Vf(n,e=!0){ji()?ws(n):e?n():Ur(n)}var sh=Object.getOwnPropertySymbols,w1=Object.prototype.hasOwnProperty,x1=Object.prototype.propertyIsEnumerable,T1=(n,e)=>{var t={};for(var s in n)w1.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&sh)for(var s of sh(n))e.indexOf(s)<0&&x1.call(n,s)&&(t[s]=n[s]);return t};function E1(n,e,t={}){const s=t,{eventFilter:r=$f}=s,i=T1(s,["eventFilter"]);return vt(n,v1(r,e),i)}var S1=Object.defineProperty,C1=Object.defineProperties,A1=Object.getOwnPropertyDescriptors,$o=Object.getOwnPropertySymbols,Lf=Object.prototype.hasOwnProperty,Bf=Object.prototype.propertyIsEnumerable,rh=(n,e,t)=>e in n?S1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,N1=(n,e)=>{for(var t in e||(e={}))Lf.call(e,t)&&rh(n,t,e[t]);if($o)for(var t of $o(e))Bf.call(e,t)&&rh(n,t,e[t]);return n},M1=(n,e)=>C1(n,A1(e)),k1=(n,e)=>{var t={};for(var s in n)Lf.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&$o)for(var s of $o(n))e.indexOf(s)<0&&Bf.call(n,s)&&(t[s]=n[s]);return t};function O1(n,e,t={}){const s=t,{eventFilter:r}=s,i=k1(s,["eventFilter"]),{eventFilter:o,pause:a,resume:c,isActive:l}=b1(r);return{stop:E1(n,e,M1(N1({},i),{eventFilter:o})),pause:a,resume:c,isActive:l}}function qt(n){var e;const t=Kt(n);return(e=t==null?void 0:t.$el)!=null?e:t}const Bn=Wi?window:void 0,I1=Wi?window.document:void 0;Wi&&window.navigator;Wi&&window.location;function Tn(...n){let e,t,s,r;if(typeof n[0]=="string"||Array.isArray(n[0])?([t,s,r]=n,e=Bn):[e,t,s,r]=n,!e)return Nl;Array.isArray(t)||(t=[t]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(u=>u()),i.length=0},a=(u,h,d,f)=>(u.addEventListener(h,d,f),()=>u.removeEventListener(h,d,f)),c=vt(()=>[qt(e),Kt(r)],([u,h])=>{o(),u&&i.push(...t.flatMap(d=>s.map(f=>a(u,d,f,h))))},{immediate:!0,flush:"post"}),l=()=>{c(),o()};return Ui(l),l}let ih=!1;function R1(n,e,t={}){const{window:s=Bn,ignore:r=[],capture:i=!0,detectIframe:o=!1}=t;if(!s)return;g1&&!ih&&(ih=!0,Array.from(s.document.body.children).forEach(d=>d.addEventListener("click",Nl)));let a=!0;const c=d=>r.some(f=>{if(typeof f=="string")return Array.from(s.document.querySelectorAll(f)).some(p=>p===d.target||d.composedPath().includes(p));{const p=qt(f);return p&&(d.target===p||d.composedPath().includes(p))}}),u=[Tn(s,"click",d=>{const f=qt(n);if(!(!f||f===d.target||d.composedPath().includes(f))){if(d.detail===0&&(a=!c(d)),!a){a=!0;return}e(d)}},{passive:!0,capture:i}),Tn(s,"pointerdown",d=>{const f=qt(n);f&&(a=!d.composedPath().includes(f)&&!c(d))},{passive:!0}),o&&Tn(s,"blur",d=>{var f;const p=qt(n);((f=s.document.activeElement)==null?void 0:f.tagName)==="IFRAME"&&!(p!=null&&p.contains(s.document.activeElement))&&e(d)})].filter(Boolean);return()=>u.forEach(d=>d())}var D1=Object.defineProperty,P1=Object.defineProperties,$1=Object.getOwnPropertyDescriptors,oh=Object.getOwnPropertySymbols,F1=Object.prototype.hasOwnProperty,V1=Object.prototype.propertyIsEnumerable,ah=(n,e,t)=>e in n?D1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,L1=(n,e)=>{for(var t in e||(e={}))F1.call(e,t)&&ah(n,t,e[t]);if(oh)for(var t of oh(e))V1.call(e,t)&&ah(n,t,e[t]);return n},B1=(n,e)=>P1(n,$1(e));function q1(n){return typeof n=="function"?n:typeof n=="string"?e=>e.key===n:Array.isArray(n)?e=>n.includes(e.key):()=>!0}function Ml(...n){let e,t,s={};n.length===3?(e=n[0],t=n[1],s=n[2]):n.length===2?typeof n[1]=="object"?(e=!0,t=n[0],s=n[1]):(e=n[0],t=n[1]):(e=!0,t=n[0]);const{target:r=Bn,eventName:i="keydown",passive:o=!1,dedupe:a=!1}=s,c=q1(e);return Tn(r,i,u=>{u.repeat&&Kt(a)||c(u)&&t(u)},o)}function To(n,e,t={}){return Ml(n,e,B1(L1({},t),{eventName:"keydown"}))}function j1(){const n=Oe(!1);return ji()&&ws(()=>{n.value=!0}),n}function kl(n){const e=j1();return de(()=>(e.value,Boolean(n())))}function Ol(n,e={}){const{immediate:t=!0,window:s=Bn}=e,r=Oe(!1);let i=0,o=null;function a(u){if(!r.value||!s)return;const h=u-i;n({delta:h,timestamp:u}),i=u,o=s.requestAnimationFrame(a)}function c(){!r.value&&s&&(r.value=!0,o=s.requestAnimationFrame(a))}function l(){r.value=!1,o!=null&&s&&(s.cancelAnimationFrame(o),o=null)}return t&&c(),Ui(l),{isActive:qi(r),pause:l,resume:c}}function U1(n,e={}){const{window:t=Bn}=e,s=kl(()=>t&&"matchMedia"in t&&typeof t.matchMedia=="function");let r;const i=Oe(!1),o=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",a):r.removeListener(a))},a=()=>{s.value&&(o(),r=t.matchMedia(Ff(n).value),i.value=!!(r!=null&&r.matches),r&&("addEventListener"in r?r.addEventListener("change",a):r.addListener(a)))};return sf(a),Ui(()=>o()),i}const lo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},uo="__vueuse_ssr_handlers__",W1=z1();function z1(){return uo in lo||(lo[uo]=lo[uo]||{}),lo[uo]}function qf(n,e){return W1[n]||e}function H1(n){return n==null?"any":n instanceof Set?"set":n instanceof Map?"map":n instanceof Date?"date":typeof n=="boolean"?"boolean":typeof n=="string"?"string":typeof n=="object"?"object":Number.isNaN(n)?"any":"number"}var G1=Object.defineProperty,ch=Object.getOwnPropertySymbols,Y1=Object.prototype.hasOwnProperty,K1=Object.prototype.propertyIsEnumerable,lh=(n,e,t)=>e in n?G1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,uh=(n,e)=>{for(var t in e||(e={}))Y1.call(e,t)&&lh(n,t,e[t]);if(ch)for(var t of ch(e))K1.call(e,t)&&lh(n,t,e[t]);return n};const Z1={boolean:{read:n=>n==="true",write:n=>String(n)},object:{read:n=>JSON.parse(n),write:n=>JSON.stringify(n)},number:{read:n=>Number.parseFloat(n),write:n=>String(n)},any:{read:n=>n,write:n=>String(n)},string:{read:n=>n,write:n=>String(n)},map:{read:n=>new Map(JSON.parse(n)),write:n=>JSON.stringify(Array.from(n.entries()))},set:{read:n=>new Set(JSON.parse(n)),write:n=>JSON.stringify(Array.from(n))},date:{read:n=>new Date(n),write:n=>n.toISOString()}},hh="vueuse-storage";function St(n,e,t,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:a=!0,writeDefaults:c=!0,mergeDefaults:l=!1,shallow:u,window:h=Bn,eventFilter:d,onError:f=T=>{console.error(T)}}=s,p=(u?Yd:Oe)(e);if(!t)try{t=qf("getDefaultStorage",()=>{var T;return(T=Bn)==null?void 0:T.localStorage})()}catch(T){f(T)}if(!t)return p;const m=Kt(e),g=H1(m),_=(r=s.serializer)!=null?r:Z1[g],{pause:y,resume:S}=O1(p,()=>w(p.value),{flush:i,deep:o,eventFilter:d});return h&&a&&(Tn(h,"storage",N),Tn(h,hh,A)),N(),p;function w(T){try{if(T==null)t.removeItem(n);else{const R=_.write(T),O=t.getItem(n);O!==R&&(t.setItem(n,R),h&&h.dispatchEvent(new CustomEvent(hh,{detail:{key:n,oldValue:O,newValue:R,storageArea:t}})))}}catch(R){f(R)}}function b(T){const R=T?T.newValue:t.getItem(n);if(R==null)return c&&m!==null&&t.setItem(n,_.write(m)),m;if(!T&&l){const O=_.read(R);return typeof l=="function"?l(O,m):g==="object"&&!Array.isArray(O)?uh(uh({},m),O):O}else return typeof R!="string"?R:_.read(R)}function A(T){N(T.detail)}function N(T){if(!(T&&T.storageArea!==t)){if(T&&T.key==null){p.value=m;return}if(!(T&&T.key!==n)){y();try{p.value=b(T)}catch(R){f(R)}finally{T?Ur(S):S()}}}}}function X1(n){return U1("(prefers-color-scheme: dark)",n)}var Q1=Object.defineProperty,dh=Object.getOwnPropertySymbols,J1=Object.prototype.hasOwnProperty,ey=Object.prototype.propertyIsEnumerable,fh=(n,e,t)=>e in n?Q1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,ty=(n,e)=>{for(var t in e||(e={}))J1.call(e,t)&&fh(n,t,e[t]);if(dh)for(var t of dh(e))ey.call(e,t)&&fh(n,t,e[t]);return n};function ny(n={}){const{selector:e="html",attribute:t="class",initialValue:s="auto",window:r=Bn,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:c,emitAuto:l,disableTransition:u=!0}=n,h=ty({auto:"",light:"light",dark:"dark"},n.modes||{}),d=X1({window:r}),f=de(()=>d.value?"dark":"light"),p=c||(o==null?Ff(s):St(o,s,i,{window:r,listenToStorageChanges:a})),m=de(()=>p.value==="auto"?f.value:p.value),g=qf("updateHTMLAttrs",(w,b,A)=>{const N=typeof w=="string"?r==null?void 0:r.document.querySelector(w):qt(w);if(!N)return;let T;if(u&&(T=r.document.createElement("style"),T.appendChild(document.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),r.document.head.appendChild(T)),b==="class"){const R=A.split(/\s/g);Object.values(h).flatMap(O=>(O||"").split(/\s/g)).filter(Boolean).forEach(O=>{R.includes(O)?N.classList.add(O):N.classList.remove(O)})}else N.setAttribute(b,A);u&&(r.getComputedStyle(T).opacity,document.head.removeChild(T))});function _(w){var b;g(e,t,(b=h[w])!=null?b:w)}function y(w){n.onChanged?n.onChanged(w,_):_(w)}vt(m,y,{flush:"post",immediate:!0}),Vf(()=>y(m.value));const S=de({get(){return l?p.value:m.value},set(w){p.value=w}});try{return Object.assign(S,{store:p,system:f,state:m})}catch{return S}}var sy=Object.defineProperty,ry=Object.defineProperties,iy=Object.getOwnPropertyDescriptors,ph=Object.getOwnPropertySymbols,oy=Object.prototype.hasOwnProperty,ay=Object.prototype.propertyIsEnumerable,mh=(n,e,t)=>e in n?sy(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,cy=(n,e)=>{for(var t in e||(e={}))oy.call(e,t)&&mh(n,t,e[t]);if(ph)for(var t of ph(e))ay.call(e,t)&&mh(n,t,e[t]);return n},ly=(n,e)=>ry(n,iy(e));function uy(n={}){const{valueDark:e="dark",valueLight:t=""}=n,s=ny(ly(cy({},n),{onChanged:(i,o)=>{var a;n.onChanged?(a=n.onChanged)==null||a.call(n,i==="dark",o,i):o(i)},modes:{dark:e,light:t}}));return de({get(){return s.value==="dark"},set(i){const o=i?"dark":"light";s.system.value===o?s.value="auto":s.value=o}})}var _h=Object.getOwnPropertySymbols,hy=Object.prototype.hasOwnProperty,dy=Object.prototype.propertyIsEnumerable,fy=(n,e)=>{var t={};for(var s in n)hy.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&_h)for(var s of _h(n))e.indexOf(s)<0&&dy.call(n,s)&&(t[s]=n[s]);return t};function py(n,e,t={}){const s=t,{window:r=Bn}=s,i=fy(s,["window"]);let o;const a=kl(()=>r&&"ResizeObserver"in r),c=()=>{o&&(o.disconnect(),o=void 0)},l=de(()=>Array.isArray(n)?n.map(d=>qt(d)):[qt(n)]),u=vt(l,d=>{if(c(),a.value&&r){o=new ResizeObserver(e);for(const f of d)f&&o.observe(f,i)}},{immediate:!0,flush:"post",deep:!0}),h=()=>{c(),u()};return Ui(h),{isSupported:a,stop:h}}function my(n,e={}){const{reset:t=!0,windowResize:s=!0,windowScroll:r=!0,immediate:i=!0}=e,o=Oe(0),a=Oe(0),c=Oe(0),l=Oe(0),u=Oe(0),h=Oe(0),d=Oe(0),f=Oe(0);function p(){const m=qt(n);if(!m){t&&(o.value=0,a.value=0,c.value=0,l.value=0,u.value=0,h.value=0,d.value=0,f.value=0);return}const g=m.getBoundingClientRect();o.value=g.height,a.value=g.bottom,c.value=g.left,l.value=g.right,u.value=g.top,h.value=g.width,d.value=g.x,f.value=g.y}return py(n,p),vt(()=>qt(n),m=>!m&&p()),r&&Tn("scroll",p,{capture:!0,passive:!0}),s&&Tn("resize",p,{passive:!0}),Vf(()=>{i&&p()}),{height:o,bottom:a,left:c,right:l,top:u,width:h,x:d,y:f,update:p}}const gh=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function yh(n,e={}){const{document:t=I1,autoExit:s=!1}=e,r=de(()=>{var _;return(_=qt(n))!=null?_:t==null?void 0:t.querySelector("html")}),i=Oe(!1),o=de(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(_=>t&&_ in t||r.value&&_ in r.value)),a=de(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(_=>t&&_ in t||r.value&&_ in r.value)),c=de(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(_=>t&&_ in t||r.value&&_ in r.value)),l=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(_=>t&&_ in t),u=kl(()=>r.value&&t&&o.value!==void 0&&a.value!==void 0&&c.value!==void 0),h=()=>l?(t==null?void 0:t[l])===r.value:!1,d=()=>{if(c.value){if(t&&t[c.value]!=null)return t[c.value];{const _=r.value;if((_==null?void 0:_[c.value])!=null)return Boolean(_[c.value])}}return!1};async function f(){if(u.value){if(a.value)if((t==null?void 0:t[a.value])!=null)await t[a.value]();else{const _=r.value;(_==null?void 0:_[a.value])!=null&&await _[a.value]()}i.value=!1}}async function p(){if(!u.value)return;d()&&await f();const _=r.value;o.value&&(_==null?void 0:_[o.value])!=null&&(await _[o.value](),i.value=!0)}async function m(){await(i.value?f():p())}const g=()=>{const _=d();(!_||_&&h())&&(i.value=_)};return Tn(t,gh,g,!1),Tn(()=>qt(r),gh,g,!1),s&&Ui(f),{isSupported:u,isFullscreen:i,enter:p,exit:f,toggle:m}}const jf="14.8.49",vh=(n,e,t)=>({endTime:e,insertTime:t,type:"exponentialRampToValue",value:n}),bh=(n,e,t)=>({endTime:e,insertTime:t,type:"linearRampToValue",value:n}),Pc=(n,e)=>({startTime:e,type:"setValue",value:n}),Uf=(n,e,t)=>({duration:t,startTime:e,type:"setValueCurve",values:n}),Wf=(n,e,{startTime:t,target:s,timeConstant:r})=>s+(e-s)*Math.exp((t-n)/r),mr=n=>n.type==="exponentialRampToValue",Fo=n=>n.type==="linearRampToValue",ls=n=>mr(n)||Fo(n),Il=n=>n.type==="setValue",Pn=n=>n.type==="setValueCurve",Vo=(n,e,t,s)=>{const r=n[e];return r===void 0?s:ls(r)||Il(r)?r.value:Pn(r)?r.values[r.values.length-1]:Wf(t,Vo(n,e-1,r.startTime,s),r)},wh=(n,e,t,s,r)=>t===void 0?[s.insertTime,r]:ls(t)?[t.endTime,t.value]:Il(t)?[t.startTime,t.value]:Pn(t)?[t.startTime+t.duration,t.values[t.values.length-1]]:[t.startTime,Vo(n,e-1,t.startTime,r)],$c=n=>n.type==="cancelAndHold",Fc=n=>n.type==="cancelScheduledValues",ns=n=>$c(n)||Fc(n)?n.cancelTime:mr(n)||Fo(n)?n.endTime:n.startTime,xh=(n,e,t,{endTime:s,value:r})=>t===r?r:0t+(n-e)/(s-e)*(r-t),_y=(n,e)=>{const t=Math.floor(e),s=Math.ceil(e);return t===s?n[t]:(1-(e-t))*n[t]+(1-(s-e))*n[s]},gy=(n,{duration:e,startTime:t,values:s})=>{const r=(n-t)/e*(s.length-1);return _y(s,r)},ho=n=>n.type==="setTarget";class yy{constructor(e){this._automationEvents=[],this._currenTime=0,this._defaultValue=e}[Symbol.iterator](){return this._automationEvents[Symbol.iterator]()}add(e){const t=ns(e);if($c(e)||Fc(e)){const s=this._automationEvents.findIndex(i=>Fc(e)&&Pn(i)?i.startTime+i.duration>=t:ns(i)>=t),r=this._automationEvents[s];if(s!==-1&&(this._automationEvents=this._automationEvents.slice(0,s)),$c(e)){const i=this._automationEvents[this._automationEvents.length-1];if(r!==void 0&&ls(r)){if(ho(i))throw new Error("The internal list is malformed.");const o=Pn(i)?i.startTime+i.duration:ns(i),a=Pn(i)?i.values[i.values.length-1]:i.value,c=mr(r)?xh(t,o,a,r):Th(t,o,a,r),l=mr(r)?vh(c,t,this._currenTime):bh(c,t,this._currenTime);this._automationEvents.push(l)}i!==void 0&&ho(i)&&this._automationEvents.push(Pc(this.getValue(t),t)),i!==void 0&&Pn(i)&&i.startTime+i.duration>t&&(this._automationEvents[this._automationEvents.length-1]=Uf(new Float32Array([6,7]),i.startTime,t-i.startTime))}}else{const s=this._automationEvents.findIndex(o=>ns(o)>t),r=s===-1?this._automationEvents[this._automationEvents.length-1]:this._automationEvents[s-1];if(r!==void 0&&Pn(r)&&ns(r)+r.duration>t)return!1;const i=mr(e)?vh(e.value,e.endTime,this._currenTime):Fo(e)?bh(e.value,t,this._currenTime):e;if(s===-1)this._automationEvents.push(i);else{if(Pn(e)&&t+e.duration>ns(this._automationEvents[s]))return!1;this._automationEvents.splice(s,0,i)}}return!0}flush(e){const t=this._automationEvents.findIndex(s=>ns(s)>e);if(t>1){const s=this._automationEvents.slice(t-1),r=s[0];ho(r)&&s.unshift(Pc(Vo(this._automationEvents,t-2,r.startTime,this._defaultValue),r.startTime)),this._automationEvents=s}}getValue(e){if(this._automationEvents.length===0)return this._defaultValue;const t=this._automationEvents.findIndex(o=>ns(o)>e),s=this._automationEvents[t],r=(t===-1?this._automationEvents.length:t)-1,i=this._automationEvents[r];if(i!==void 0&&ho(i)&&(s===void 0||!ls(s)||s.insertTime>e))return Wf(e,Vo(this._automationEvents,r-1,i.startTime,this._defaultValue),i);if(i!==void 0&&Il(i)&&(s===void 0||!ls(s)))return i.value;if(i!==void 0&&Pn(i)&&(s===void 0||!ls(s)||i.startTime+i.duration>e))return e({cancelTime:n,type:"cancelAndHold"}),by=n=>({cancelTime:n,type:"cancelScheduledValues"}),wy=(n,e)=>({endTime:e,type:"exponentialRampToValue",value:n}),xy=(n,e)=>({endTime:e,type:"linearRampToValue",value:n}),Ty=(n,e,t)=>({startTime:e,target:n,timeConstant:t,type:"setTarget"}),Ey=()=>new DOMException("","AbortError"),Sy=n=>(e,t,[s,r,i],o)=>{n(e[r],[t,s,i],a=>a[0]===t&&a[1]===s,o)},Cy=n=>(e,t,s)=>{const r=[];for(let i=0;i(e,t)=>{n.set(e,{activeInputs:new Set,passiveInputs:new WeakMap,renderer:t})},Ar=new WeakSet,zf=new WeakMap,Rl=new WeakMap,Hf=new WeakMap,Dl=new WeakMap,Pa=new WeakMap,Gf=new WeakMap,Vc=new WeakMap,Lc=new WeakMap,Bc=new WeakMap,Yf={construct(){return Yf}},Ny=n=>{try{const e=new Proxy(n,Yf);new e}catch{return!1}return!0},Eh=/^import(?:(?:[\s]+[\w]+|(?:[\s]+[\w]+[\s]*,)?[\s]*\{[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?(?:[\s]*,[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?)*[\s]*}|(?:[\s]+[\w]+[\s]*,)?[\s]*\*[\s]+as[\s]+[\w]+)[\s]+from)?(?:[\s]*)("([^"\\]|\\.)+"|'([^'\\]|\\.)+')(?:[\s]*);?/,Sh=(n,e)=>{const t=[];let s=n.replace(/^[\s]+/,""),r=s.match(Eh);for(;r!==null;){const i=r[1].slice(1,-1),o=r[0].replace(/([\s]+)?;?$/,"").replace(i,new URL(i,e).toString());t.push(o),s=s.slice(r[0].length).replace(/^[\s]+/,""),r=s.match(Eh)}return[t.join(";"),s]},Ch=n=>{if(n!==void 0&&!Array.isArray(n))throw new TypeError("The parameterDescriptors property of given value for processorCtor is not an array.")},Ah=n=>{if(!Ny(n))throw new TypeError("The given value for processorCtor should be a constructor.");if(n.prototype===null||typeof n.prototype!="object")throw new TypeError("The given value for processorCtor should have a prototype.")},My=(n,e,t,s,r,i,o,a,c,l,u,h,d)=>{let f=0;return(p,m,g={credentials:"omit"})=>{const _=u.get(p);if(_!==void 0&&_.has(m))return Promise.resolve();const y=l.get(p);if(y!==void 0){const b=y.get(m);if(b!==void 0)return b}const S=i(p),w=S.audioWorklet===void 0?r(m).then(([b,A])=>{const[N,T]=Sh(b,A),R=`${N};((a,b)=>{(a[b]=a[b]||[]).push((AudioWorkletProcessor,global,registerProcessor,sampleRate,self,window)=>{${T} -})})(window,'_AWGS')`;return t(R)}).then(()=>{const b=d._AWGS.pop();if(b===void 0)throw new SyntaxError;s(S.currentTime,S.sampleRate,()=>b(class{},void 0,(A,N)=>{if(A.trim()==="")throw e();const T=Lc.get(S);if(T!==void 0){if(T.has(A))throw e();Ah(N),Ch(N.parameterDescriptors),T.set(A,N)}else Ah(N),Ch(N.parameterDescriptors),Lc.set(S,new Map([[A,N]]))},S.sampleRate,void 0,void 0))}):Promise.all([r(m),Promise.resolve(n(h,h))]).then(([[b,A],N])=>{const T=f+1;f=T;const[R,O]=Sh(b,A),L=`${R};((AudioWorkletProcessor,registerProcessor)=>{${O} -})(${N?"AudioWorkletProcessor":"class extends AudioWorkletProcessor {__b=new WeakSet();constructor(){super();(p=>p.postMessage=(q=>(m,t)=>q.call(p,m,t?t.filter(u=>!this.__b.has(u)):t))(p.postMessage))(this.port)}}"},(n,p)=>registerProcessor(n,class extends p{${N?"":"__c = (a) => a.forEach(e=>this.__b.add(e.buffer));"}process(i,o,p){${N?"":"i.forEach(this.__c);o.forEach(this.__c);this.__c(Object.values(p));"}return super.process(i.map(j=>j.some(k=>k.length===0)?[]:j),o,p)}}));registerProcessor('__sac${T}',class extends AudioWorkletProcessor{process(){return !1}})`,ne=new Blob([L],{type:"application/javascript; charset=utf-8"}),Z=URL.createObjectURL(ne);return S.audioWorklet.addModule(Z,g).then(()=>{if(a(S))return S;const X=o(S);return X.audioWorklet.addModule(Z,g).then(()=>X)}).then(X=>{if(c===null)throw new SyntaxError;try{new c(X,`__sac${T}`)}catch{throw new SyntaxError}}).finally(()=>URL.revokeObjectURL(Z))});return y===void 0?l.set(p,new Map([[m,w]])):y.set(m,w),w.then(()=>{const b=u.get(p);b===void 0?u.set(p,new Set([m])):b.add(m)}).finally(()=>{const b=l.get(p);b!==void 0&&b.delete(m)}),w}},rn=(n,e)=>{const t=n.get(e);if(t===void 0)throw new Error("A value with the given key could not be found.");return t},$a=(n,e)=>{const t=Array.from(n).filter(e);if(t.length>1)throw Error("More than one element was found.");if(t.length===0)throw Error("No element was found.");const[s]=t;return n.delete(s),s},Kf=(n,e,t,s)=>{const r=rn(n,e),i=$a(r,o=>o[0]===t&&o[1]===s);return r.size===0&&n.delete(e),i},zi=n=>rn(Gf,n),Nr=n=>{if(Ar.has(n))throw new Error("The AudioNode is already stored.");Ar.add(n),zi(n).forEach(e=>e(!0))},Zf=n=>"port"in n,Hi=n=>{if(!Ar.has(n))throw new Error("The AudioNode is not stored.");Ar.delete(n),zi(n).forEach(e=>e(!1))},qc=(n,e)=>{!Zf(n)&&e.every(t=>t.size===0)&&Hi(n)},ky=(n,e,t,s,r,i,o,a,c,l,u,h,d)=>{const f=new WeakMap;return(p,m,g,_,y)=>{const{activeInputs:S,passiveInputs:w}=i(m),{outputs:b}=i(p),A=a(p),N=T=>{const R=c(m),O=c(p);if(T){const $=Kf(w,p,g,_);n(S,p,$,!1),!y&&!h(p)&&t(O,R,g,_),d(m)&&Nr(m)}else{const $=s(S,p,g,_);e(w,_,$,!1),!y&&!h(p)&&r(O,R,g,_);const M=o(m);if(M===0)u(m)&&qc(m,S);else{const U=f.get(m);U!==void 0&&clearTimeout(U),f.set(m,setTimeout(()=>{u(m)&&qc(m,S)},M*1e3))}}};return l(b,[m,g,_],T=>T[0]===m&&T[1]===g&&T[2]===_,!0)?(A.add(N),u(p)?n(S,p,[g,_,N],!0):e(w,_,[p,g,N],!0),!0):!1}},Oy=n=>(e,t,[s,r,i],o)=>{const a=e.get(s);a===void 0?e.set(s,new Set([[r,t,i]])):n(a,[r,t,i],c=>c[0]===r&&c[1]===t,o)},Iy=n=>(e,t)=>{const s=n(e,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});t.connect(s).connect(e.destination);const r=()=>{t.removeEventListener("ended",r),t.disconnect(s),s.disconnect()};t.addEventListener("ended",r)},Ry=n=>(e,t)=>{n(e).add(t)},Dy={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",fftSize:2048,maxDecibels:-30,minDecibels:-100,smoothingTimeConstant:.8},Py=(n,e,t,s,r,i)=>class extends n{constructor(a,c){const l=r(a),u={...Dy,...c},h=s(l,u),d=i(l)?e():null;super(a,!1,h,d),this._nativeAnalyserNode=h}get fftSize(){return this._nativeAnalyserNode.fftSize}set fftSize(a){this._nativeAnalyserNode.fftSize=a}get frequencyBinCount(){return this._nativeAnalyserNode.frequencyBinCount}get maxDecibels(){return this._nativeAnalyserNode.maxDecibels}set maxDecibels(a){const c=this._nativeAnalyserNode.maxDecibels;if(this._nativeAnalyserNode.maxDecibels=a,!(a>this._nativeAnalyserNode.minDecibels))throw this._nativeAnalyserNode.maxDecibels=c,t()}get minDecibels(){return this._nativeAnalyserNode.minDecibels}set minDecibels(a){const c=this._nativeAnalyserNode.minDecibels;if(this._nativeAnalyserNode.minDecibels=a,!(this._nativeAnalyserNode.maxDecibels>a))throw this._nativeAnalyserNode.minDecibels=c,t()}get smoothingTimeConstant(){return this._nativeAnalyserNode.smoothingTimeConstant}set smoothingTimeConstant(a){this._nativeAnalyserNode.smoothingTimeConstant=a}getByteFrequencyData(a){this._nativeAnalyserNode.getByteFrequencyData(a)}getByteTimeDomainData(a){this._nativeAnalyserNode.getByteTimeDomainData(a)}getFloatFrequencyData(a){this._nativeAnalyserNode.getFloatFrequencyData(a)}getFloatTimeDomainData(a){this._nativeAnalyserNode.getFloatTimeDomainData(a)}},xt=(n,e)=>n.context===e,$y=(n,e,t)=>()=>{const s=new WeakMap,r=async(i,o)=>{let a=e(i);if(!xt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,fftSize:a.fftSize,maxDecibels:a.maxDecibels,minDecibels:a.minDecibels,smoothingTimeConstant:a.smoothingTimeConstant};a=n(o,l)}return s.set(o,a),await t(i,o,a),a};return{render(i,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):r(i,o)}}},Lo=n=>{try{n.copyToChannel(new Float32Array(1),0,-1)}catch{return!1}return!0},Nn=()=>new DOMException("","IndexSizeError"),Pl=n=>{n.getChannelData=(e=>t=>{try{return e.call(n,t)}catch(s){throw s.code===12?Nn():s}})(n.getChannelData)},Fy={numberOfChannels:1},Vy=(n,e,t,s,r,i,o,a)=>{let c=null;return class Xf{constructor(u){if(r===null)throw new Error("Missing the native OfflineAudioContext constructor.");const{length:h,numberOfChannels:d,sampleRate:f}={...Fy,...u};c===null&&(c=new r(1,1,44100));const p=s!==null&&e(i,i)?new s({length:h,numberOfChannels:d,sampleRate:f}):c.createBuffer(d,h,f);if(p.numberOfChannels===0)throw t();return typeof p.copyFromChannel!="function"?(o(p),Pl(p)):e(Lo,()=>Lo(p))||a(p),n.add(p),p}static[Symbol.hasInstance](u){return u!==null&&typeof u=="object"&&Object.getPrototypeOf(u)===Xf.prototype||n.has(u)}}},Nt=-34028234663852886e22,Et=-Nt,Fn=n=>Ar.has(n),Ly={buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1},By=(n,e,t,s,r,i,o,a)=>class extends n{constructor(l,u){const h=i(l),d={...Ly,...u},f=r(h,d),p=o(h),m=p?e():null;super(l,!1,f,m),this._audioBufferSourceNodeRenderer=m,this._isBufferNullified=!1,this._isBufferSet=d.buffer!==null,this._nativeAudioBufferSourceNode=f,this._onended=null,this._playbackRate=t(this,p,f.playbackRate,Et,Nt)}get buffer(){return this._isBufferNullified?null:this._nativeAudioBufferSourceNode.buffer}set buffer(l){if(this._nativeAudioBufferSourceNode.buffer=l,l!==null){if(this._isBufferSet)throw s();this._isBufferSet=!0}}get loop(){return this._nativeAudioBufferSourceNode.loop}set loop(l){this._nativeAudioBufferSourceNode.loop=l}get loopEnd(){return this._nativeAudioBufferSourceNode.loopEnd}set loopEnd(l){this._nativeAudioBufferSourceNode.loopEnd=l}get loopStart(){return this._nativeAudioBufferSourceNode.loopStart}set loopStart(l){this._nativeAudioBufferSourceNode.loopStart=l}get onended(){return this._onended}set onended(l){const u=typeof l=="function"?a(this,l):null;this._nativeAudioBufferSourceNode.onended=u;const h=this._nativeAudioBufferSourceNode.onended;this._onended=h!==null&&h===u?l:h}get playbackRate(){return this._playbackRate}start(l=0,u=0,h){if(this._nativeAudioBufferSourceNode.start(l,u,h),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.start=h===void 0?[l,u]:[l,u,h]),this.context.state!=="closed"){Nr(this);const d=()=>{this._nativeAudioBufferSourceNode.removeEventListener("ended",d),Fn(this)&&Hi(this)};this._nativeAudioBufferSourceNode.addEventListener("ended",d)}}stop(l=0){this._nativeAudioBufferSourceNode.stop(l),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.stop=l)}},qy=(n,e,t,s,r)=>()=>{const i=new WeakMap;let o=null,a=null;const c=async(l,u)=>{let h=t(l);const d=xt(h,u);if(!d){const f={buffer:h.buffer,channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,loop:h.loop,loopEnd:h.loopEnd,loopStart:h.loopStart,playbackRate:h.playbackRate.value};h=e(u,f),o!==null&&h.start(...o),a!==null&&h.stop(a)}return i.set(u,h),d?await n(u,l.playbackRate,h.playbackRate):await s(u,l.playbackRate,h.playbackRate),await r(l,u,h),h};return{set start(l){o=l},set stop(l){a=l},render(l,u){const h=i.get(u);return h!==void 0?Promise.resolve(h):c(l,u)}}},jy=n=>"playbackRate"in n,Uy=n=>"frequency"in n&&"gain"in n,Wy=n=>"offset"in n,zy=n=>!("frequency"in n)&&"gain"in n,Hy=n=>"detune"in n&&"frequency"in n,Gy=n=>"pan"in n,Ct=n=>rn(zf,n),Gi=n=>rn(Hf,n),jc=(n,e)=>{const{activeInputs:t}=Ct(n);t.forEach(r=>r.forEach(([i])=>{e.includes(n)||jc(i,[...e,n])}));const s=jy(n)?[n.playbackRate]:Zf(n)?Array.from(n.parameters.values()):Uy(n)?[n.Q,n.detune,n.frequency,n.gain]:Wy(n)?[n.offset]:zy(n)?[n.gain]:Hy(n)?[n.detune,n.frequency]:Gy(n)?[n.pan]:[];for(const r of s){const i=Gi(r);i!==void 0&&i.activeInputs.forEach(([o])=>jc(o,e))}Fn(n)&&Hi(n)},Qf=n=>{jc(n.destination,[])},Yy=n=>n===void 0||typeof n=="number"||typeof n=="string"&&(n==="balanced"||n==="interactive"||n==="playback"),Ky=(n,e,t,s,r,i,o,a,c)=>class extends n{constructor(u={}){if(c===null)throw new Error("Missing the native AudioContext constructor.");let h;try{h=new c(u)}catch(p){throw p.code===12&&p.message==="sampleRate is not in range"?t():p}if(h===null)throw s();if(!Yy(u.latencyHint))throw new TypeError(`The provided value '${u.latencyHint}' is not a valid enum value of type AudioContextLatencyCategory.`);if(u.sampleRate!==void 0&&h.sampleRate!==u.sampleRate)throw t();super(h,2);const{latencyHint:d}=u,{sampleRate:f}=h;if(this._baseLatency=typeof h.baseLatency=="number"?h.baseLatency:d==="balanced"?512/f:d==="interactive"||d===void 0?256/f:d==="playback"?1024/f:Math.max(2,Math.min(128,Math.round(d*f/128)))*128/f,this._nativeAudioContext=h,c.name==="webkitAudioContext"?(this._nativeGainNode=h.createGain(),this._nativeOscillatorNode=h.createOscillator(),this._nativeGainNode.gain.value=1e-37,this._nativeOscillatorNode.connect(this._nativeGainNode).connect(h.destination),this._nativeOscillatorNode.start()):(this._nativeGainNode=null,this._nativeOscillatorNode=null),this._state=null,h.state==="running"){this._state="suspended";const p=()=>{this._state==="suspended"&&(this._state=null),h.removeEventListener("statechange",p)};h.addEventListener("statechange",p)}}get baseLatency(){return this._baseLatency}get state(){return this._state!==null?this._state:this._nativeAudioContext.state}close(){return this.state==="closed"?this._nativeAudioContext.close().then(()=>{throw e()}):(this._state==="suspended"&&(this._state=null),this._nativeAudioContext.close().then(()=>{this._nativeGainNode!==null&&this._nativeOscillatorNode!==null&&(this._nativeOscillatorNode.stop(),this._nativeGainNode.disconnect(),this._nativeOscillatorNode.disconnect()),Qf(this)}))}createMediaElementSource(u){return new r(this,{mediaElement:u})}createMediaStreamDestination(){return new i(this)}createMediaStreamSource(u){return new o(this,{mediaStream:u})}createMediaStreamTrackSource(u){return new a(this,{mediaStreamTrack:u})}resume(){return this._state==="suspended"?new Promise((u,h)=>{const d=()=>{this._nativeAudioContext.removeEventListener("statechange",d),this._nativeAudioContext.state==="running"?u():this.resume().then(u,h)};this._nativeAudioContext.addEventListener("statechange",d)}):this._nativeAudioContext.resume().catch(u=>{throw u===void 0||u.code===15?e():u})}suspend(){return this._nativeAudioContext.suspend().catch(u=>{throw u===void 0?e():u})}},Zy=(n,e,t,s,r,i,o,a)=>class extends n{constructor(l,u){const h=i(l),d=o(h),f=r(h,u,d),p=d?e(a):null;super(l,!1,f,p),this._isNodeOfNativeOfflineAudioContext=d,this._nativeAudioDestinationNode=f}get channelCount(){return this._nativeAudioDestinationNode.channelCount}set channelCount(l){if(this._isNodeOfNativeOfflineAudioContext)throw s();if(l>this._nativeAudioDestinationNode.maxChannelCount)throw t();this._nativeAudioDestinationNode.channelCount=l}get channelCountMode(){return this._nativeAudioDestinationNode.channelCountMode}set channelCountMode(l){if(this._isNodeOfNativeOfflineAudioContext)throw s();this._nativeAudioDestinationNode.channelCountMode=l}get maxChannelCount(){return this._nativeAudioDestinationNode.maxChannelCount}},Xy=n=>{const e=new WeakMap,t=async(s,r)=>{const i=r.destination;return e.set(r,i),await n(s,r,i),i};return{render(s,r){const i=e.get(r);return i!==void 0?Promise.resolve(i):t(s,r)}}},Qy=(n,e,t,s,r,i,o,a)=>(c,l)=>{const u=l.listener,h=()=>{const b=new Float32Array(1),A=e(l,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:9}),N=o(l);let T=!1,R=[0,0,-1,0,1,0],O=[0,0,0];const $=()=>{if(T)return;T=!0;const ne=s(l,256,9,0);ne.onaudioprocess=({inputBuffer:Z})=>{const X=[i(Z,b,0),i(Z,b,1),i(Z,b,2),i(Z,b,3),i(Z,b,4),i(Z,b,5)];X.some((ce,me)=>ce!==R[me])&&(u.setOrientation(...X),R=X);const te=[i(Z,b,6),i(Z,b,7),i(Z,b,8)];te.some((ce,me)=>ce!==O[me])&&(u.setPosition(...te),O=te)},A.connect(ne)},M=ne=>Z=>{Z!==R[ne]&&(R[ne]=Z,u.setOrientation(...R))},U=ne=>Z=>{Z!==O[ne]&&(O[ne]=Z,u.setPosition(...O))},L=(ne,Z,X)=>{const te=t(l,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:Z});te.connect(A,0,ne),te.start(),Object.defineProperty(te.offset,"defaultValue",{get(){return Z}});const ce=n({context:c},N,te.offset,Et,Nt);return a(ce,"value",me=>()=>me.call(ce),me=>ue=>{try{me.call(ce,ue)}catch(ye){if(ye.code!==9)throw ye}$(),N&&X(ue)}),ce.cancelAndHoldAtTime=(me=>N?()=>{throw r()}:(...ue)=>{const ye=me.apply(ce,ue);return $(),ye})(ce.cancelAndHoldAtTime),ce.cancelScheduledValues=(me=>N?()=>{throw r()}:(...ue)=>{const ye=me.apply(ce,ue);return $(),ye})(ce.cancelScheduledValues),ce.exponentialRampToValueAtTime=(me=>N?()=>{throw r()}:(...ue)=>{const ye=me.apply(ce,ue);return $(),ye})(ce.exponentialRampToValueAtTime),ce.linearRampToValueAtTime=(me=>N?()=>{throw r()}:(...ue)=>{const ye=me.apply(ce,ue);return $(),ye})(ce.linearRampToValueAtTime),ce.setTargetAtTime=(me=>N?()=>{throw r()}:(...ue)=>{const ye=me.apply(ce,ue);return $(),ye})(ce.setTargetAtTime),ce.setValueAtTime=(me=>N?()=>{throw r()}:(...ue)=>{const ye=me.apply(ce,ue);return $(),ye})(ce.setValueAtTime),ce.setValueCurveAtTime=(me=>N?()=>{throw r()}:(...ue)=>{const ye=me.apply(ce,ue);return $(),ye})(ce.setValueCurveAtTime),ce};return{forwardX:L(0,0,M(0)),forwardY:L(1,0,M(1)),forwardZ:L(2,-1,M(2)),positionX:L(6,0,U(0)),positionY:L(7,0,U(1)),positionZ:L(8,0,U(2)),upX:L(3,0,M(3)),upY:L(4,1,M(4)),upZ:L(5,0,M(5))}},{forwardX:d,forwardY:f,forwardZ:p,positionX:m,positionY:g,positionZ:_,upX:y,upY:S,upZ:w}=u.forwardX===void 0?h():u;return{get forwardX(){return d},get forwardY(){return f},get forwardZ(){return p},get positionX(){return m},get positionY(){return g},get positionZ(){return _},get upX(){return y},get upY(){return S},get upZ(){return w}}},Bo=n=>"context"in n,Yi=n=>Bo(n[0]),er=(n,e,t,s)=>{for(const r of n)if(t(r)){if(s)return!1;throw Error("The set contains at least one similar element.")}return n.add(e),!0},Nh=(n,e,[t,s],r)=>{er(n,[e,t,s],i=>i[0]===e&&i[1]===t,r)},Mh=(n,[e,t,s],r)=>{const i=n.get(e);i===void 0?n.set(e,new Set([[t,s]])):er(i,[t,s],o=>o[0]===t,r)},Wr=n=>"inputs"in n,qo=(n,e,t,s)=>{if(Wr(e)){const r=e.inputs[s];return n.connect(r,t,0),[r,t,0]}return n.connect(e,t,s),[e,t,s]},Jf=(n,e,t)=>{for(const s of n)if(s[0]===e&&s[1]===t)return n.delete(s),s;return null},Jy=(n,e,t)=>$a(n,s=>s[0]===e&&s[1]===t),ep=(n,e)=>{if(!zi(n).delete(e))throw new Error("Missing the expected event listener.")},tp=(n,e,t)=>{const s=rn(n,e),r=$a(s,i=>i[0]===t);return s.size===0&&n.delete(e),r},jo=(n,e,t,s)=>{Wr(e)?n.disconnect(e.inputs[s],t,0):n.disconnect(e,t,s)},Ye=n=>rn(Rl,n),vi=n=>rn(Dl,n),Ys=n=>Vc.has(n),Eo=n=>!Ar.has(n),kh=(n,e)=>new Promise(t=>{if(e!==null)t(!0);else{const s=n.createScriptProcessor(256,1,1),r=n.createGain(),i=n.createBuffer(1,2,44100),o=i.getChannelData(0);o[0]=1,o[1]=1;const a=n.createBufferSource();a.buffer=i,a.loop=!0,a.connect(s).connect(n.destination),a.connect(r),a.disconnect(r),s.onaudioprocess=c=>{const l=c.inputBuffer.getChannelData(0);Array.prototype.some.call(l,u=>u===1)?t(!0):t(!1),a.stop(),s.onaudioprocess=null,a.disconnect(s),s.disconnect(n.destination)},a.start()}}),fc=(n,e)=>{const t=new Map;for(const s of n)for(const r of s){const i=t.get(r);t.set(r,i===void 0?1:i+1)}t.forEach((s,r)=>e(r,s))},Uo=n=>"context"in n,ev=n=>{const e=new Map;n.connect=(t=>(s,r=0,i=0)=>{const o=Uo(s)?t(s,r,i):t(s,r),a=e.get(s);return a===void 0?e.set(s,[{input:i,output:r}]):a.every(c=>c.input!==i||c.output!==r)&&a.push({input:i,output:r}),o})(n.connect.bind(n)),n.disconnect=(t=>(s,r,i)=>{if(t.apply(n),s===void 0)e.clear();else if(typeof s=="number")for(const[o,a]of e){const c=a.filter(l=>l.output!==s);c.length===0?e.delete(o):e.set(o,c)}else if(e.has(s))if(r===void 0)e.delete(s);else{const o=e.get(s);if(o!==void 0){const a=o.filter(c=>c.output!==r&&(c.input!==i||i===void 0));a.length===0?e.delete(s):e.set(s,a)}}for(const[o,a]of e)a.forEach(c=>{Uo(o)?n.connect(o,c.output,c.input):n.connect(o,c.output)})})(n.disconnect)},tv=(n,e,t,s)=>{const{activeInputs:r,passiveInputs:i}=Gi(e),{outputs:o}=Ct(n),a=zi(n),c=l=>{const u=Ye(n),h=vi(e);if(l){const d=tp(i,n,t);Nh(r,n,d,!1),!s&&!Ys(n)&&u.connect(h,t)}else{const d=Jy(r,n,t);Mh(i,d,!1),!s&&!Ys(n)&&u.disconnect(h,t)}};return er(o,[e,t],l=>l[0]===e&&l[1]===t,!0)?(a.add(c),Fn(n)?Nh(r,n,[t,c],!0):Mh(i,[n,t,c],!0),!0):!1},nv=(n,e,t,s)=>{const{activeInputs:r,passiveInputs:i}=Ct(e),o=Jf(r[s],n,t);return o===null?[Kf(i,n,t,s)[2],!1]:[o[2],!0]},sv=(n,e,t)=>{const{activeInputs:s,passiveInputs:r}=Gi(e),i=Jf(s,n,t);return i===null?[tp(r,n,t)[1],!1]:[i[2],!0]},$l=(n,e,t,s,r)=>{const[i,o]=nv(n,t,s,r);if(i!==null&&(ep(n,i),o&&!e&&!Ys(n)&&jo(Ye(n),Ye(t),s,r)),Fn(t)){const{activeInputs:a}=Ct(t);qc(t,a)}},Fl=(n,e,t,s)=>{const[r,i]=sv(n,t,s);r!==null&&(ep(n,r),i&&!e&&!Ys(n)&&Ye(n).disconnect(vi(t),s))},rv=(n,e)=>{const t=Ct(n),s=[];for(const r of t.outputs)Yi(r)?$l(n,e,...r):Fl(n,e,...r),s.push(r[0]);return t.outputs.clear(),s},iv=(n,e,t)=>{const s=Ct(n),r=[];for(const i of s.outputs)i[1]===t&&(Yi(i)?$l(n,e,...i):Fl(n,e,...i),r.push(i[0]),s.outputs.delete(i));return r},ov=(n,e,t,s,r)=>{const i=Ct(n);return Array.from(i.outputs).filter(o=>o[0]===t&&(s===void 0||o[1]===s)&&(r===void 0||o[2]===r)).map(o=>(Yi(o)?$l(n,e,...o):Fl(n,e,...o),i.outputs.delete(o),o[0]))},av=(n,e,t,s,r,i,o,a,c,l,u,h,d,f,p,m)=>class extends l{constructor(_,y,S,w){super(S),this._context=_,this._nativeAudioNode=S;const b=u(_);h(b)&&t(kh,()=>kh(b,m))!==!0&&ev(S),Rl.set(this,S),Gf.set(this,new Set),_.state!=="closed"&&y&&Nr(this),n(this,w,S)}get channelCount(){return this._nativeAudioNode.channelCount}set channelCount(_){this._nativeAudioNode.channelCount=_}get channelCountMode(){return this._nativeAudioNode.channelCountMode}set channelCountMode(_){this._nativeAudioNode.channelCountMode=_}get channelInterpretation(){return this._nativeAudioNode.channelInterpretation}set channelInterpretation(_){this._nativeAudioNode.channelInterpretation=_}get context(){return this._context}get numberOfInputs(){return this._nativeAudioNode.numberOfInputs}get numberOfOutputs(){return this._nativeAudioNode.numberOfOutputs}connect(_,y=0,S=0){if(y<0||y>=this._nativeAudioNode.numberOfOutputs)throw r();const w=u(this._context),b=p(w);if(d(_)||f(_))throw i();if(Bo(_)){const T=Ye(_);try{const O=qo(this._nativeAudioNode,T,y,S),$=Eo(this);(b||$)&&this._nativeAudioNode.disconnect(...O),this.context.state!=="closed"&&!$&&Eo(_)&&Nr(_)}catch(O){throw O.code===12?i():O}if(e(this,_,y,S,b)){const O=c([this],_);fc(O,s(b))}return _}const A=vi(_);if(A.name==="playbackRate"&&A.maxValue===1024)throw o();try{this._nativeAudioNode.connect(A,y),(b||Eo(this))&&this._nativeAudioNode.disconnect(A,y)}catch(T){throw T.code===12?i():T}if(tv(this,_,y,b)){const T=c([this],_);fc(T,s(b))}}disconnect(_,y,S){let w;const b=u(this._context),A=p(b);if(_===void 0)w=rv(this,A);else if(typeof _=="number"){if(_<0||_>=this.numberOfOutputs)throw r();w=iv(this,A,_)}else{if(y!==void 0&&(y<0||y>=this.numberOfOutputs)||Bo(_)&&S!==void 0&&(S<0||S>=_.numberOfInputs))throw r();if(w=ov(this,A,_,y,S),w.length===0)throw i()}for(const N of w){const T=c([this],N);fc(T,a)}}},cv=(n,e,t,s,r,i,o,a,c,l,u,h,d)=>(f,p,m,g=null,_=null)=>{const y=new yy(m.defaultValue),S=p?s(y):null,w={get defaultValue(){return m.defaultValue},get maxValue(){return g===null?m.maxValue:g},get minValue(){return _===null?m.minValue:_},get value(){return m.value},set value(b){m.value=b,w.setValueAtTime(b,f.context.currentTime)},cancelAndHoldAtTime(b){if(typeof m.cancelAndHoldAtTime=="function")S===null&&y.flush(f.context.currentTime),y.add(r(b)),m.cancelAndHoldAtTime(b);else{const A=Array.from(y).pop();S===null&&y.flush(f.context.currentTime),y.add(r(b));const N=Array.from(y).pop();m.cancelScheduledValues(b),A!==N&&N!==void 0&&(N.type==="exponentialRampToValue"?m.exponentialRampToValueAtTime(N.value,N.endTime):N.type==="linearRampToValue"?m.linearRampToValueAtTime(N.value,N.endTime):N.type==="setValue"?m.setValueAtTime(N.value,N.startTime):N.type==="setValueCurve"&&m.setValueCurveAtTime(N.values,N.startTime,N.duration))}return w},cancelScheduledValues(b){return S===null&&y.flush(f.context.currentTime),y.add(i(b)),m.cancelScheduledValues(b),w},exponentialRampToValueAtTime(b,A){if(b===0)throw new RangeError;if(!Number.isFinite(A)||A<0)throw new RangeError;return S===null&&y.flush(f.context.currentTime),y.add(o(b,A)),m.exponentialRampToValueAtTime(b,A),w},linearRampToValueAtTime(b,A){return S===null&&y.flush(f.context.currentTime),y.add(a(b,A)),m.linearRampToValueAtTime(b,A),w},setTargetAtTime(b,A,N){return S===null&&y.flush(f.context.currentTime),y.add(c(b,A,N)),m.setTargetAtTime(b,A,N),w},setValueAtTime(b,A){return S===null&&y.flush(f.context.currentTime),y.add(l(b,A)),m.setValueAtTime(b,A),w},setValueCurveAtTime(b,A,N){const T=b instanceof Float32Array?b:new Float32Array(b);if(h!==null&&h.name==="webkitAudioContext"){const R=A+N,O=f.context.sampleRate,$=Math.ceil(A*O),M=Math.floor(R*O),U=M-$,L=new Float32Array(U);for(let Z=0;Z({replay(e){for(const t of n)if(t.type==="exponentialRampToValue"){const{endTime:s,value:r}=t;e.exponentialRampToValueAtTime(r,s)}else if(t.type==="linearRampToValue"){const{endTime:s,value:r}=t;e.linearRampToValueAtTime(r,s)}else if(t.type==="setTarget"){const{startTime:s,target:r,timeConstant:i}=t;e.setTargetAtTime(r,s,i)}else if(t.type==="setValue"){const{startTime:s,value:r}=t;e.setValueAtTime(r,s)}else if(t.type==="setValueCurve"){const{duration:s,startTime:r,values:i}=t;e.setValueCurveAtTime(i,r,s)}else throw new Error("Can't apply an unknown automation.")}});class np{constructor(e){this._map=new Map(e)}get size(){return this._map.size}entries(){return this._map.entries()}forEach(e,t=null){return this._map.forEach((s,r)=>e.call(t,s,r,this))}get(e){return this._map.get(e)}has(e){return this._map.has(e)}keys(){return this._map.keys()}values(){return this._map.values()}}const uv={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:1,numberOfOutputs:1,parameterData:{},processorOptions:{}},hv=(n,e,t,s,r,i,o,a,c,l,u,h,d,f)=>class extends e{constructor(m,g,_){var y;const S=a(m),w=c(S),b=u({...uv,..._});d(b);const A=Lc.get(S),N=A==null?void 0:A.get(g),T=w||S.state!=="closed"?S:(y=o(S))!==null&&y!==void 0?y:S,R=r(T,w?null:m.baseLatency,l,g,N,b),O=w?s(g,b,N):null;super(m,!0,R,O);const $=[];R.parameters.forEach((U,L)=>{const ne=t(this,w,U);$.push([L,ne])}),this._nativeAudioWorkletNode=R,this._onprocessorerror=null,this._parameters=new np($),w&&n(S,this);const{activeInputs:M}=i(this);h(R,M)}get onprocessorerror(){return this._onprocessorerror}set onprocessorerror(m){const g=typeof m=="function"?f(this,m):null;this._nativeAudioWorkletNode.onprocessorerror=g;const _=this._nativeAudioWorkletNode.onprocessorerror;this._onprocessorerror=_!==null&&_===g?m:_}get parameters(){return this._parameters===null?this._nativeAudioWorkletNode.parameters:this._parameters}get port(){return this._nativeAudioWorkletNode.port}};function Wo(n,e,t,s,r){if(typeof n.copyFromChannel=="function")e[t].byteLength===0&&(e[t]=new Float32Array(128)),n.copyFromChannel(e[t],s,r);else{const i=n.getChannelData(s);if(e[t].byteLength===0)e[t]=i.slice(r,r+128);else{const o=new Float32Array(i.buffer,r*Float32Array.BYTES_PER_ELEMENT,128);e[t].set(o)}}}const sp=(n,e,t,s,r)=>{typeof n.copyToChannel=="function"?e[t].byteLength!==0&&n.copyToChannel(e[t],s,r):e[t].byteLength!==0&&n.getChannelData(s).set(e[t],r)},zo=(n,e)=>{const t=[];for(let s=0;s{const t=rn(Bc,n),s=Ye(e);return rn(t,s)},fv=async(n,e,t,s,r,i,o)=>{const a=e===null?Math.ceil(n.context.length/128)*128:e.length,c=s.channelCount*s.numberOfInputs,l=r.reduce((g,_)=>g+_,0),u=l===0?null:t.createBuffer(l,a,t.sampleRate);if(i===void 0)throw new Error("Missing the processor constructor.");const h=Ct(n),d=await dv(t,n),f=zo(s.numberOfInputs,s.channelCount),p=zo(s.numberOfOutputs,r),m=Array.from(n.parameters.keys()).reduce((g,_)=>({...g,[_]:new Float32Array(128)}),{});for(let g=0;g0&&e!==null)for(let _=0;_{Wo(e,m,_,c+y,g)});for(let _=0;_h.activeInputs[w].size===0?[]:S),y=o(g/t.sampleRate,t.sampleRate,()=>d.process(_,p,m));if(u!==null)for(let S=0,w=0;S(g,_,y)=>{const S=new WeakMap;let w=null;const b=async(A,N)=>{let T=u(A),R=null;const O=xt(T,N),$=Array.isArray(_.outputChannelCount)?_.outputChannelCount:Array.from(_.outputChannelCount);if(h===null){const M=$.reduce((Z,X)=>Z+X,0),U=r(N,{channelCount:Math.max(1,M),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,M)}),L=[];for(let Z=0;Z{const ue=new d(ce,Math.ceil(A.context.length/128)*128,N.sampleRate),ye=[],rt=[];for(let xe=0;xe<_.numberOfInputs;xe+=1)ye.push(o(ue,{channelCount:_.channelCount,channelCountMode:_.channelCountMode,channelInterpretation:_.channelInterpretation,gain:1})),rt.push(r(ue,{channelCount:_.channelCount,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:_.channelCount}));const it=await Promise.all(Array.from(A.parameters.values()).map(async xe=>{const F=i(ue,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:xe.value});return await f(ue,xe,F.offset),F})),we=s(ue,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,X+te)});for(let xe=0;xe<_.numberOfInputs;xe+=1){ye[xe].connect(rt[xe]);for(let F=0;F<_.channelCount;F+=1)rt[xe].connect(we,F,xe*_.channelCount+F)}for(const[xe,F]of it.entries())F.connect(we,0,X+xe),F.start(0);return we.connect(ue.destination),await Promise.all(ye.map(xe=>p(A,ue,xe))),m(ue)})(),N,_,$,y,l)}const M=await w,U=t(N,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),[L,ne,Z]=R;M!==null&&(U.buffer=M,U.start(0)),U.connect(L);for(let X=0,te=0;Xclass extends p{constructor(b,A){super(b,A),this._nativeContext=b,this._audioWorklet=n===void 0?void 0:{addModule:(N,T)=>n(this,N,T)}}get audioWorklet(){return this._audioWorklet}createAnalyser(){return new e(this)}createBiquadFilter(){return new r(this)}createBuffer(b,A,N){return new t({length:A,numberOfChannels:b,sampleRate:N})}createBufferSource(){return new s(this)}createChannelMerger(b=6){return new i(this,{numberOfInputs:b})}createChannelSplitter(b=6){return new o(this,{numberOfOutputs:b})}createConstantSource(){return new a(this)}createConvolver(){return new c(this)}createDelay(b=1){return new u(this,{maxDelayTime:b})}createDynamicsCompressor(){return new h(this)}createGain(){return new d(this)}createIIRFilter(b,A){return new f(this,{feedback:A,feedforward:b})}createOscillator(){return new m(this)}createPanner(){return new g(this)}createPeriodicWave(b,A,N={disableNormalization:!1}){return new _(this,{...N,imag:A,real:b})}createStereoPanner(){return new y(this)}createWaveShaper(){return new S(this)}decodeAudioData(b,A,N){return l(this._nativeContext,b).then(T=>(typeof A=="function"&&A(T),T),T=>{throw typeof N=="function"&&N(T),T})}},_v={Q:1,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:350,gain:0,type:"lowpass"},gv=(n,e,t,s,r,i,o,a)=>class extends n{constructor(l,u){const h=i(l),d={..._v,...u},f=r(h,d),p=o(h),m=p?t():null;super(l,!1,f,m),this._Q=e(this,p,f.Q,Et,Nt),this._detune=e(this,p,f.detune,1200*Math.log2(Et),-1200*Math.log2(Et)),this._frequency=e(this,p,f.frequency,l.sampleRate/2,0),this._gain=e(this,p,f.gain,40*Math.log10(Et),Nt),this._nativeBiquadFilterNode=f,a(this,1)}get detune(){return this._detune}get frequency(){return this._frequency}get gain(){return this._gain}get Q(){return this._Q}get type(){return this._nativeBiquadFilterNode.type}set type(l){this._nativeBiquadFilterNode.type=l}getFrequencyResponse(l,u,h){try{this._nativeBiquadFilterNode.getFrequencyResponse(l,u,h)}catch(d){throw d.code===11?s():d}if(l.length!==u.length||u.length!==h.length)throw s()}},yv=(n,e,t,s,r)=>()=>{const i=new WeakMap,o=async(a,c)=>{let l=t(a);const u=xt(l,c);if(!u){const h={Q:l.Q.value,channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,detune:l.detune.value,frequency:l.frequency.value,gain:l.gain.value,type:l.type};l=e(c,h)}return i.set(c,l),u?(await n(c,a.Q,l.Q),await n(c,a.detune,l.detune),await n(c,a.frequency,l.frequency),await n(c,a.gain,l.gain)):(await s(c,a.Q,l.Q),await s(c,a.detune,l.detune),await s(c,a.frequency,l.frequency),await s(c,a.gain,l.gain)),await r(a,c,l),l};return{render(a,c){const l=i.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},vv=(n,e)=>(t,s)=>{const r=e.get(t);if(r!==void 0)return r;const i=n.get(t);if(i!==void 0)return i;try{const o=s();return o instanceof Promise?(n.set(t,o),o.catch(()=>!1).then(a=>(n.delete(t),e.set(t,a),a))):(e.set(t,o),o)}catch{return e.set(t,!1),!1}},bv={channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6},wv=(n,e,t,s,r)=>class extends n{constructor(o,a){const c=s(o),l={...bv,...a},u=t(c,l),h=r(c)?e():null;super(o,!1,u,h)}},xv=(n,e,t)=>()=>{const s=new WeakMap,r=async(i,o)=>{let a=e(i);if(!xt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,numberOfInputs:a.numberOfInputs};a=n(o,l)}return s.set(o,a),await t(i,o,a),a};return{render(i,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):r(i,o)}}},Tv={channelCount:6,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:6},Ev=(n,e,t,s,r,i)=>class extends n{constructor(a,c){const l=s(a),u=i({...Tv,...c}),h=t(l,u),d=r(l)?e():null;super(a,!1,h,d)}},Sv=(n,e,t)=>()=>{const s=new WeakMap,r=async(i,o)=>{let a=e(i);if(!xt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,numberOfOutputs:a.numberOfOutputs};a=n(o,l)}return s.set(o,a),await t(i,o,a),a};return{render(i,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):r(i,o)}}},Cv=n=>(e,t,s)=>n(t,e,s),Av=n=>(e,t,s=0,r=0)=>{const i=e[s];if(i===void 0)throw n();return Uo(t)?i.connect(t,0,r):i.connect(t,0)},Nv=n=>(e,t)=>{const s=n(e,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),r=e.createBuffer(1,2,44100);return s.buffer=r,s.loop=!0,s.connect(t),s.start(),()=>{s.stop(),s.disconnect(t)}},Mv={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",offset:1},kv=(n,e,t,s,r,i,o)=>class extends n{constructor(c,l){const u=r(c),h={...Mv,...l},d=s(u,h),f=i(u),p=f?t():null;super(c,!1,d,p),this._constantSourceNodeRenderer=p,this._nativeConstantSourceNode=d,this._offset=e(this,f,d.offset,Et,Nt),this._onended=null}get offset(){return this._offset}get onended(){return this._onended}set onended(c){const l=typeof c=="function"?o(this,c):null;this._nativeConstantSourceNode.onended=l;const u=this._nativeConstantSourceNode.onended;this._onended=u!==null&&u===l?c:u}start(c=0){if(this._nativeConstantSourceNode.start(c),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.start=c),this.context.state!=="closed"){Nr(this);const l=()=>{this._nativeConstantSourceNode.removeEventListener("ended",l),Fn(this)&&Hi(this)};this._nativeConstantSourceNode.addEventListener("ended",l)}}stop(c=0){this._nativeConstantSourceNode.stop(c),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.stop=c)}},Ov=(n,e,t,s,r)=>()=>{const i=new WeakMap;let o=null,a=null;const c=async(l,u)=>{let h=t(l);const d=xt(h,u);if(!d){const f={channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,offset:h.offset.value};h=e(u,f),o!==null&&h.start(o),a!==null&&h.stop(a)}return i.set(u,h),d?await n(u,l.offset,h.offset):await s(u,l.offset,h.offset),await r(l,u,h),h};return{set start(l){o=l},set stop(l){a=l},render(l,u){const h=i.get(u);return h!==void 0?Promise.resolve(h):c(l,u)}}},Iv=n=>e=>(n[0]=e,n[0]),Rv={buffer:null,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",disableNormalization:!1},Dv=(n,e,t,s,r,i)=>class extends n{constructor(a,c){const l=s(a),u={...Rv,...c},h=t(l,u),f=r(l)?e():null;super(a,!1,h,f),this._isBufferNullified=!1,this._nativeConvolverNode=h,u.buffer!==null&&i(this,u.buffer.duration)}get buffer(){return this._isBufferNullified?null:this._nativeConvolverNode.buffer}set buffer(a){if(this._nativeConvolverNode.buffer=a,a===null&&this._nativeConvolverNode.buffer!==null){const c=this._nativeConvolverNode.context;this._nativeConvolverNode.buffer=c.createBuffer(1,1,44100),this._isBufferNullified=!0,i(this,0)}else this._isBufferNullified=!1,i(this,this._nativeConvolverNode.buffer===null?0:this._nativeConvolverNode.buffer.duration)}get normalize(){return this._nativeConvolverNode.normalize}set normalize(a){this._nativeConvolverNode.normalize=a}},Pv=(n,e,t)=>()=>{const s=new WeakMap,r=async(i,o)=>{let a=e(i);if(!xt(a,o)){const l={buffer:a.buffer,channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,disableNormalization:!a.normalize};a=n(o,l)}return s.set(o,a),Wr(a)?await t(i,o,a.inputs[0]):await t(i,o,a),a};return{render(i,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):r(i,o)}}},$v=(n,e)=>(t,s,r)=>{if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");try{return new e(t,s,r)}catch(i){throw i.name==="SyntaxError"?n():i}},Fv=()=>new DOMException("","DataCloneError"),Oh=n=>{const{port1:e,port2:t}=new MessageChannel;return new Promise(s=>{const r=()=>{t.onmessage=null,e.close(),t.close(),s()};t.onmessage=()=>r();try{e.postMessage(n,[n])}finally{r()}})},Vv=(n,e,t,s,r,i,o,a,c,l,u)=>(h,d)=>{const f=o(h)?h:i(h);if(r.has(d)){const p=t();return Promise.reject(p)}try{r.add(d)}catch{}return e(c,()=>c(f))?f.decodeAudioData(d).then(p=>(Oh(d).catch(()=>{}),e(a,()=>a(p))||u(p),n.add(p),p)):new Promise((p,m)=>{const g=async()=>{try{await Oh(d)}catch{}},_=y=>{m(y),g()};try{f.decodeAudioData(d,y=>{typeof y.copyFromChannel!="function"&&(l(y),Pl(y)),n.add(y),g().then(()=>p(y))},y=>{_(y===null?s():y)})}catch(y){_(y)}})},Lv=(n,e,t,s,r,i,o,a)=>(c,l)=>{const u=e.get(c);if(u===void 0)throw new Error("Missing the expected cycle count.");const h=i(c.context),d=a(h);if(u===l){if(e.delete(c),!d&&o(c)){const f=s(c),{outputs:p}=t(c);for(const m of p)if(Yi(m)){const g=s(m[0]);n(f,g,m[1],m[2])}else{const g=r(m[0]);f.connect(g,m[1])}}}else e.set(c,u-l)},Bv={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",delayTime:0,maxDelayTime:1},qv=(n,e,t,s,r,i,o)=>class extends n{constructor(c,l){const u=r(c),h={...Bv,...l},d=s(u,h),f=i(u),p=f?t(h.maxDelayTime):null;super(c,!1,d,p),this._delayTime=e(this,f,d.delayTime),o(this,h.maxDelayTime)}get delayTime(){return this._delayTime}},jv=(n,e,t,s,r)=>i=>{const o=new WeakMap,a=async(c,l)=>{let u=t(c);const h=xt(u,l);if(!h){const d={channelCount:u.channelCount,channelCountMode:u.channelCountMode,channelInterpretation:u.channelInterpretation,delayTime:u.delayTime.value,maxDelayTime:i};u=e(l,d)}return o.set(l,u),h?await n(l,c.delayTime,u.delayTime):await s(l,c.delayTime,u.delayTime),await r(c,l,u),u};return{render(c,l){const u=o.get(l);return u!==void 0?Promise.resolve(u):a(c,l)}}},Uv=n=>(e,t,s,r)=>n(e[r],i=>i[0]===t&&i[1]===s),Wv=n=>(e,t)=>{n(e).delete(t)},zv=n=>"delayTime"in n,Hv=(n,e,t)=>function s(r,i){const o=Bo(i)?i:t(n,i);if(zv(o))return[];if(r[0]===o)return[r];if(r.includes(o))return[];const{outputs:a}=e(o);return Array.from(a).map(c=>s([...r,o],c[0])).reduce((c,l)=>c.concat(l),[])},fo=(n,e,t)=>{const s=e[t];if(s===void 0)throw n();return s},Gv=n=>(e,t=void 0,s=void 0,r=0)=>t===void 0?e.forEach(i=>i.disconnect()):typeof t=="number"?fo(n,e,t).disconnect():Uo(t)?s===void 0?e.forEach(i=>i.disconnect(t)):r===void 0?fo(n,e,s).disconnect(t,0):fo(n,e,s).disconnect(t,0,r):s===void 0?e.forEach(i=>i.disconnect(t)):fo(n,e,s).disconnect(t,0),Yv={attack:.003,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",knee:30,ratio:12,release:.25,threshold:-24},Kv=(n,e,t,s,r,i,o,a)=>class extends n{constructor(l,u){const h=i(l),d={...Yv,...u},f=s(h,d),p=o(h),m=p?t():null;super(l,!1,f,m),this._attack=e(this,p,f.attack),this._knee=e(this,p,f.knee),this._nativeDynamicsCompressorNode=f,this._ratio=e(this,p,f.ratio),this._release=e(this,p,f.release),this._threshold=e(this,p,f.threshold),a(this,.006)}get attack(){return this._attack}get channelCount(){return this._nativeDynamicsCompressorNode.channelCount}set channelCount(l){const u=this._nativeDynamicsCompressorNode.channelCount;if(this._nativeDynamicsCompressorNode.channelCount=l,l>2)throw this._nativeDynamicsCompressorNode.channelCount=u,r()}get channelCountMode(){return this._nativeDynamicsCompressorNode.channelCountMode}set channelCountMode(l){const u=this._nativeDynamicsCompressorNode.channelCountMode;if(this._nativeDynamicsCompressorNode.channelCountMode=l,l==="max")throw this._nativeDynamicsCompressorNode.channelCountMode=u,r()}get knee(){return this._knee}get ratio(){return this._ratio}get reduction(){return typeof this._nativeDynamicsCompressorNode.reduction.value=="number"?this._nativeDynamicsCompressorNode.reduction.value:this._nativeDynamicsCompressorNode.reduction}get release(){return this._release}get threshold(){return this._threshold}},Zv=(n,e,t,s,r)=>()=>{const i=new WeakMap,o=async(a,c)=>{let l=t(a);const u=xt(l,c);if(!u){const h={attack:l.attack.value,channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,knee:l.knee.value,ratio:l.ratio.value,release:l.release.value,threshold:l.threshold.value};l=e(c,h)}return i.set(c,l),u?(await n(c,a.attack,l.attack),await n(c,a.knee,l.knee),await n(c,a.ratio,l.ratio),await n(c,a.release,l.release),await n(c,a.threshold,l.threshold)):(await s(c,a.attack,l.attack),await s(c,a.knee,l.knee),await s(c,a.ratio,l.ratio),await s(c,a.release,l.release),await s(c,a.threshold,l.threshold)),await r(a,c,l),l};return{render(a,c){const l=i.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},Xv=()=>new DOMException("","EncodingError"),Qv=n=>e=>new Promise((t,s)=>{if(n===null){s(new SyntaxError);return}const r=n.document.head;if(r===null)s(new SyntaxError);else{const i=n.document.createElement("script"),o=new Blob([e],{type:"application/javascript"}),a=URL.createObjectURL(o),c=n.onerror,l=()=>{n.onerror=c,URL.revokeObjectURL(a)};n.onerror=(u,h,d,f,p)=>{if(h===a||h===n.location.href&&d===1&&f===1)return l(),s(p),!1;if(c!==null)return c(u,h,d,f,p)},i.onerror=()=>{l(),s(new SyntaxError)},i.onload=()=>{l(),t()},i.src=a,i.type="module",r.appendChild(i)}}),Jv=n=>class{constructor(t){this._nativeEventTarget=t,this._listeners=new WeakMap}addEventListener(t,s,r){if(s!==null){let i=this._listeners.get(s);i===void 0&&(i=n(this,s),typeof s=="function"&&this._listeners.set(s,i)),this._nativeEventTarget.addEventListener(t,i,r)}}dispatchEvent(t){return this._nativeEventTarget.dispatchEvent(t)}removeEventListener(t,s,r){const i=s===null?void 0:this._listeners.get(s);this._nativeEventTarget.removeEventListener(t,i===void 0?null:i,r)}},eb=n=>(e,t,s)=>{Object.defineProperties(n,{currentFrame:{configurable:!0,get(){return Math.round(e*t)}},currentTime:{configurable:!0,get(){return e}}});try{return s()}finally{n!==null&&(delete n.currentFrame,delete n.currentTime)}},tb=n=>async e=>{try{const t=await fetch(e);if(t.ok)return[await t.text(),t.url]}catch{}throw n()},nb={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",gain:1},sb=(n,e,t,s,r,i)=>class extends n{constructor(a,c){const l=r(a),u={...nb,...c},h=s(l,u),d=i(l),f=d?t():null;super(a,!1,h,f),this._gain=e(this,d,h.gain,Et,Nt)}get gain(){return this._gain}},rb=(n,e,t,s,r)=>()=>{const i=new WeakMap,o=async(a,c)=>{let l=t(a);const u=xt(l,c);if(!u){const h={channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,gain:l.gain.value};l=e(c,h)}return i.set(c,l),u?await n(c,a.gain,l.gain):await s(c,a.gain,l.gain),await r(a,c,l),l};return{render(a,c){const l=i.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},ib=(n,e)=>t=>e(n,t),ob=n=>e=>{const t=n(e);if(t.renderer===null)throw new Error("Missing the renderer of the given AudioNode in the audio graph.");return t.renderer},ab=n=>e=>{var t;return(t=n.get(e))!==null&&t!==void 0?t:0},cb=n=>e=>{const t=n(e);if(t.renderer===null)throw new Error("Missing the renderer of the given AudioParam in the audio graph.");return t.renderer},lb=n=>e=>n.get(e),ft=()=>new DOMException("","InvalidStateError"),ub=n=>e=>{const t=n.get(e);if(t===void 0)throw ft();return t},hb=(n,e)=>t=>{let s=n.get(t);if(s!==void 0)return s;if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");return s=new e(1,1,44100),n.set(t,s),s},db=n=>e=>{const t=n.get(e);if(t===void 0)throw new Error("The context has no set of AudioWorkletNodes.");return t},Fa=()=>new DOMException("","InvalidAccessError"),fb=n=>{n.getFrequencyResponse=(e=>(t,s,r)=>{if(t.length!==s.length||s.length!==r.length)throw Fa();return e.call(n,t,s,r)})(n.getFrequencyResponse)},pb={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers"},mb=(n,e,t,s,r,i)=>class extends n{constructor(a,c){const l=s(a),u=r(l),h={...pb,...c},d=e(l,u?null:a.baseLatency,h),f=u?t(h.feedback,h.feedforward):null;super(a,!1,d,f),fb(d),this._nativeIIRFilterNode=d,i(this,1)}getFrequencyResponse(a,c,l){return this._nativeIIRFilterNode.getFrequencyResponse(a,c,l)}},rp=(n,e,t,s,r,i,o,a,c,l,u)=>{const h=l.length;let d=a;for(let f=0;f{const r=t instanceof Float64Array?t:new Float64Array(t),i=s instanceof Float64Array?s:new Float64Array(s),o=r.length,a=i.length,c=Math.min(o,a);if(r[0]!==1){for(let p=0;p(i,o)=>{const a=new WeakMap;let c=null;const l=async(u,h)=>{let d=null,f=e(u);const p=xt(f,h);if(h.createIIRFilter===void 0?d=n(h,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}):p||(f=h.createIIRFilter(o,i)),a.set(h,d===null?f:d),d!==null){if(c===null){if(t===null)throw new Error("Missing the native OfflineAudioContext constructor.");const g=new t(u.context.destination.channelCount,u.context.length,h.sampleRate);c=(async()=>{await s(u,g,g.destination);const _=await r(g);return _b(_,h,i,o)})()}const m=await c;return d.buffer=m,d.start(0),d}return await s(u,h,f),f};return{render(u,h){const d=a.get(h);return d!==void 0?Promise.resolve(d):l(u,h)}}},yb=(n,e,t,s,r,i)=>o=>(a,c)=>{const l=n.get(a);if(l===void 0){if(!o&&i(a)){const u=s(a),{outputs:h}=t(a);for(const d of h)if(Yi(d)){const f=s(d[0]);e(u,f,d[1],d[2])}else{const f=r(d[0]);u.disconnect(f,d[1])}}n.set(a,c)}else n.set(a,l+c)},vb=(n,e)=>t=>{const s=n.get(t);return e(s)||e(t)},bb=(n,e)=>t=>n.has(t)||e(t),wb=(n,e)=>t=>n.has(t)||e(t),xb=(n,e)=>t=>{const s=n.get(t);return e(s)||e(t)},Tb=n=>e=>n!==null&&e instanceof n,Eb=n=>e=>n!==null&&typeof n.AudioNode=="function"&&e instanceof n.AudioNode,Sb=n=>e=>n!==null&&typeof n.AudioParam=="function"&&e instanceof n.AudioParam,Cb=(n,e)=>t=>n(t)||e(t),Ab=n=>e=>n!==null&&e instanceof n,Nb=n=>n!==null&&n.isSecureContext,Mb=(n,e,t,s)=>class extends n{constructor(i,o){const a=t(i),c=e(a,o);if(s(a))throw TypeError();super(i,!0,c,null),this._nativeMediaElementAudioSourceNode=c}get mediaElement(){return this._nativeMediaElementAudioSourceNode.mediaElement}},kb={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers"},Ob=(n,e,t,s)=>class extends n{constructor(i,o){const a=t(i);if(s(a))throw new TypeError;const c={...kb,...o},l=e(a,c);super(i,!1,l,null),this._nativeMediaStreamAudioDestinationNode=l}get stream(){return this._nativeMediaStreamAudioDestinationNode.stream}},Ib=(n,e,t,s)=>class extends n{constructor(i,o){const a=t(i),c=e(a,o);if(s(a))throw new TypeError;super(i,!0,c,null),this._nativeMediaStreamAudioSourceNode=c}get mediaStream(){return this._nativeMediaStreamAudioSourceNode.mediaStream}},Rb=(n,e,t)=>class extends n{constructor(r,i){const o=t(r),a=e(o,i);super(r,!0,a,null)}},Db=(n,e,t,s,r,i)=>class extends t{constructor(a,c){super(a),this._nativeContext=a,Pa.set(this,a),s(a)&&r.set(a,new Set),this._destination=new n(this,c),this._listener=e(this,a),this._onstatechange=null}get currentTime(){return this._nativeContext.currentTime}get destination(){return this._destination}get listener(){return this._listener}get onstatechange(){return this._onstatechange}set onstatechange(a){const c=typeof a=="function"?i(this,a):null;this._nativeContext.onstatechange=c;const l=this._nativeContext.onstatechange;this._onstatechange=l!==null&&l===c?a:l}get sampleRate(){return this._nativeContext.sampleRate}get state(){return this._nativeContext.state}},bi=n=>{const e=new Uint32Array([1179011410,40,1163280727,544501094,16,131073,44100,176400,1048580,1635017060,4,0]);try{const t=n.decodeAudioData(e.buffer,()=>{});return t===void 0?!1:(t.catch(()=>{}),!0)}catch{}return!1},Pb=(n,e)=>(t,s,r)=>{const i=new Set;return t.connect=(o=>(a,c=0,l=0)=>{const u=i.size===0;if(e(a))return o.call(t,a,c,l),n(i,[a,c,l],h=>h[0]===a&&h[1]===c&&h[2]===l,!0),u&&s(),a;o.call(t,a,c),n(i,[a,c],h=>h[0]===a&&h[1]===c,!0),u&&s()})(t.connect),t.disconnect=(o=>(a,c,l)=>{const u=i.size>0;if(a===void 0)o.apply(t),i.clear();else if(typeof a=="number"){o.call(t,a);for(const d of i)d[1]===a&&i.delete(d)}else{e(a)?o.call(t,a,c,l):o.call(t,a,c);for(const d of i)d[0]===a&&(c===void 0||d[1]===c)&&(l===void 0||d[2]===l)&&i.delete(d)}const h=i.size===0;u&&h&&r()})(t.disconnect),t},Ke=(n,e,t)=>{const s=e[t];s!==void 0&&s!==n[t]&&(n[t]=s)},ct=(n,e)=>{Ke(n,e,"channelCount"),Ke(n,e,"channelCountMode"),Ke(n,e,"channelInterpretation")},Ih=n=>typeof n.getFloatTimeDomainData=="function",$b=n=>{n.getFloatTimeDomainData=e=>{const t=new Uint8Array(e.length);n.getByteTimeDomainData(t);const s=Math.max(t.length,n.fftSize);for(let r=0;r(t,s)=>{const r=t.createAnalyser();if(ct(r,s),!(s.maxDecibels>s.minDecibels))throw e();return Ke(r,s,"fftSize"),Ke(r,s,"maxDecibels"),Ke(r,s,"minDecibels"),Ke(r,s,"smoothingTimeConstant"),n(Ih,()=>Ih(r))||$b(r),r},Vb=n=>n===null?null:n.hasOwnProperty("AudioBuffer")?n.AudioBuffer:null,Xe=(n,e,t)=>{const s=e[t];s!==void 0&&s!==n[t].value&&(n[t].value=s)},Lb=n=>{n.start=(e=>{let t=!1;return(s=0,r=0,i)=>{if(t)throw ft();e.call(n,s,r,i),t=!0}})(n.start)},Vl=n=>{n.start=(e=>(t=0,s=0,r)=>{if(typeof r=="number"&&r<0||s<0||t<0)throw new RangeError("The parameters can't be negative.");e.call(n,t,s,r)})(n.start)},Ll=n=>{n.stop=(e=>(t=0)=>{if(t<0)throw new RangeError("The parameter can't be negative.");e.call(n,t)})(n.stop)},Bb=(n,e,t,s,r,i,o,a,c,l,u)=>(h,d)=>{const f=h.createBufferSource();return ct(f,d),Xe(f,d,"playbackRate"),Ke(f,d,"buffer"),Ke(f,d,"loop"),Ke(f,d,"loopEnd"),Ke(f,d,"loopStart"),e(t,()=>t(h))||Lb(f),e(s,()=>s(h))||c(f),e(r,()=>r(h))||l(f,h),e(i,()=>i(h))||Vl(f),e(o,()=>o(h))||u(f,h),e(a,()=>a(h))||Ll(f),n(h,f),f},qb=n=>n===null?null:n.hasOwnProperty("AudioContext")?n.AudioContext:n.hasOwnProperty("webkitAudioContext")?n.webkitAudioContext:null,jb=(n,e)=>(t,s,r)=>{const i=t.destination;if(i.channelCount!==s)try{i.channelCount=s}catch{}r&&i.channelCountMode!=="explicit"&&(i.channelCountMode="explicit"),i.maxChannelCount===0&&Object.defineProperty(i,"maxChannelCount",{value:s});const o=n(t,{channelCount:s,channelCountMode:i.channelCountMode,channelInterpretation:i.channelInterpretation,gain:1});return e(o,"channelCount",a=>()=>a.call(o),a=>c=>{a.call(o,c);try{i.channelCount=c}catch(l){if(c>i.maxChannelCount)throw l}}),e(o,"channelCountMode",a=>()=>a.call(o),a=>c=>{a.call(o,c),i.channelCountMode=c}),e(o,"channelInterpretation",a=>()=>a.call(o),a=>c=>{a.call(o,c),i.channelInterpretation=c}),Object.defineProperty(o,"maxChannelCount",{get:()=>i.maxChannelCount}),o.connect(i),o},Ub=n=>n===null?null:n.hasOwnProperty("AudioWorkletNode")?n.AudioWorkletNode:null,Wb=n=>{const{port1:e}=new MessageChannel;try{e.postMessage(n)}finally{e.close()}},zb=(n,e,t,s,r)=>(i,o,a,c,l,u)=>{if(a!==null)try{const h=new a(i,c,u),d=new Map;let f=null;if(Object.defineProperties(h,{channelCount:{get:()=>u.channelCount,set:()=>{throw n()}},channelCountMode:{get:()=>"explicit",set:()=>{throw n()}},onprocessorerror:{get:()=>f,set:p=>{typeof f=="function"&&h.removeEventListener("processorerror",f),f=typeof p=="function"?p:null,typeof f=="function"&&h.addEventListener("processorerror",f)}}}),h.addEventListener=(p=>(...m)=>{if(m[0]==="processorerror"){const g=typeof m[1]=="function"?m[1]:typeof m[1]=="object"&&m[1]!==null&&typeof m[1].handleEvent=="function"?m[1].handleEvent:null;if(g!==null){const _=d.get(m[1]);_!==void 0?m[1]=_:(m[1]=y=>{y.type==="error"?(Object.defineProperties(y,{type:{value:"processorerror"}}),g(y)):g(new ErrorEvent(m[0],{...y}))},d.set(g,m[1]))}}return p.call(h,"error",m[1],m[2]),p.call(h,...m)})(h.addEventListener),h.removeEventListener=(p=>(...m)=>{if(m[0]==="processorerror"){const g=d.get(m[1]);g!==void 0&&(d.delete(m[1]),m[1]=g)}return p.call(h,"error",m[1],m[2]),p.call(h,m[0],m[1],m[2])})(h.removeEventListener),u.numberOfOutputs!==0){const p=t(i,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return h.connect(p).connect(i.destination),r(h,()=>p.disconnect(),()=>p.connect(i.destination))}return h}catch(h){throw h.code===11?s():h}if(l===void 0)throw s();return Wb(u),e(i,o,l,u)},ip=(n,e)=>n===null?512:Math.max(512,Math.min(16384,Math.pow(2,Math.round(Math.log2(n*e))))),Hb=n=>new Promise((e,t)=>{const{port1:s,port2:r}=new MessageChannel;s.onmessage=({data:i})=>{s.close(),r.close(),e(i)},s.onmessageerror=({data:i})=>{s.close(),r.close(),t(i)},r.postMessage(n)}),Gb=async(n,e)=>{const t=await Hb(e);return new n(t)},Yb=(n,e,t,s)=>{let r=Bc.get(n);r===void 0&&(r=new WeakMap,Bc.set(n,r));const i=Gb(t,s);return r.set(e,i),i},Kb=(n,e,t,s,r,i,o,a,c,l,u,h,d)=>(f,p,m,g)=>{if(g.numberOfInputs===0&&g.numberOfOutputs===0)throw c();const _=Array.isArray(g.outputChannelCount)?g.outputChannelCount:Array.from(g.outputChannelCount);if(_.some(C=>C<1))throw c();if(_.length!==g.numberOfOutputs)throw e();if(g.channelCountMode!=="explicit")throw c();const y=g.channelCount*g.numberOfInputs,S=_.reduce((C,I)=>C+I,0),w=m.parameterDescriptors===void 0?0:m.parameterDescriptors.length;if(y+w>6||S>6)throw c();const b=new MessageChannel,A=[],N=[];for(let C=0;CC===void 0?0:C},maxValue:{get:()=>I===void 0?Et:I},minValue:{get:()=>B===void 0?Nt:B}}),T.push(j)}const R=s(f,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,y+w)}),O=ip(p,f.sampleRate),$=a(f,O,y+w,Math.max(1,S)),M=r(f,{channelCount:Math.max(1,S),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,S)}),U=[];for(let C=0;C{const B=T[I];return B.connect(R,0,y+I),B.start(0),[C,B.offset]}));R.connect($);let ne=g.channelInterpretation,Z=null;const X=g.numberOfOutputs===0?[$]:U,te={get bufferSize(){return O},get channelCount(){return g.channelCount},set channelCount(C){throw t()},get channelCountMode(){return g.channelCountMode},set channelCountMode(C){throw t()},get channelInterpretation(){return ne},set channelInterpretation(C){for(const I of A)I.channelInterpretation=C;ne=C},get context(){return $.context},get inputs(){return A},get numberOfInputs(){return g.numberOfInputs},get numberOfOutputs(){return g.numberOfOutputs},get onprocessorerror(){return Z},set onprocessorerror(C){typeof Z=="function"&&te.removeEventListener("processorerror",Z),Z=typeof C=="function"?C:null,typeof Z=="function"&&te.addEventListener("processorerror",Z)},get parameters(){return L},get port(){return b.port2},addEventListener(...C){return $.addEventListener(C[0],C[1],C[2])},connect:n.bind(null,X),disconnect:l.bind(null,X),dispatchEvent(...C){return $.dispatchEvent(C[0])},removeEventListener(...C){return $.removeEventListener(C[0],C[1],C[2])}},ce=new Map;b.port1.addEventListener=(C=>(...I)=>{if(I[0]==="message"){const B=typeof I[1]=="function"?I[1]:typeof I[1]=="object"&&I[1]!==null&&typeof I[1].handleEvent=="function"?I[1].handleEvent:null;if(B!==null){const K=ce.get(I[1]);K!==void 0?I[1]=K:(I[1]=j=>{u(f.currentTime,f.sampleRate,()=>B(j))},ce.set(B,I[1]))}}return C.call(b.port1,I[0],I[1],I[2])})(b.port1.addEventListener),b.port1.removeEventListener=(C=>(...I)=>{if(I[0]==="message"){const B=ce.get(I[1]);B!==void 0&&(ce.delete(I[1]),I[1]=B)}return C.call(b.port1,I[0],I[1],I[2])})(b.port1.removeEventListener);let me=null;Object.defineProperty(b.port1,"onmessage",{get:()=>me,set:C=>{typeof me=="function"&&b.port1.removeEventListener("message",me),me=typeof C=="function"?C:null,typeof me=="function"&&(b.port1.addEventListener("message",me),b.port1.start())}}),m.prototype.port=b.port1;let ue=null;Yb(f,te,m,g).then(C=>ue=C);const rt=zo(g.numberOfInputs,g.channelCount),it=zo(g.numberOfOutputs,_),we=m.parameterDescriptors===void 0?[]:m.parameterDescriptors.reduce((C,{name:I})=>({...C,[I]:new Float32Array(128)}),{});let xe=!0;const F=()=>{g.numberOfOutputs>0&&$.disconnect(M);for(let C=0,I=0;C{if(ue!==null){const B=h(te);for(let K=0;K{Wo(C,we,j,y+G,K)});for(let j=0;j{if(B[ae].size>0)return V.set(ae,O/128),W;const le=V.get(ae);return le===void 0?[]:(W.every(_e=>_e.every(Ee=>Ee===0))&&(le===1?V.delete(ae):V.set(ae,le-1)),W)});xe=u(f.currentTime+K/f.sampleRate,f.sampleRate,()=>ue.process(j,it,we));for(let W=0,ae=0;W$.connect(oe).connect(f.destination),x=()=>{$.disconnect(oe),oe.disconnect()},E=()=>{if(xe){x(),g.numberOfOutputs>0&&$.connect(M);for(let C=0,I=0;C{xe&&(Se(),F()),Q=!1};return Se(),d(te,E,k)},op=(n,e)=>{const t=n.createBiquadFilter();return ct(t,e),Xe(t,e,"Q"),Xe(t,e,"detune"),Xe(t,e,"frequency"),Xe(t,e,"gain"),Ke(t,e,"type"),t},Zb=(n,e)=>(t,s)=>{const r=t.createChannelMerger(s.numberOfInputs);return n!==null&&n.name==="webkitAudioContext"&&e(t,r),ct(r,s),r},Xb=n=>{const e=n.numberOfOutputs;Object.defineProperty(n,"channelCount",{get:()=>e,set:t=>{if(t!==e)throw ft()}}),Object.defineProperty(n,"channelCountMode",{get:()=>"explicit",set:t=>{if(t!=="explicit")throw ft()}}),Object.defineProperty(n,"channelInterpretation",{get:()=>"discrete",set:t=>{if(t!=="discrete")throw ft()}})},Ki=(n,e)=>{const t=n.createChannelSplitter(e.numberOfOutputs);return ct(t,e),Xb(t),t},Qb=(n,e,t,s,r)=>(i,o)=>{if(i.createConstantSource===void 0)return t(i,o);const a=i.createConstantSource();return ct(a,o),Xe(a,o,"offset"),e(s,()=>s(i))||Vl(a),e(r,()=>r(i))||Ll(a),n(i,a),a},zr=(n,e)=>(n.connect=e.connect.bind(e),n.disconnect=e.disconnect.bind(e),n),Jb=(n,e,t,s)=>(r,{offset:i,...o})=>{const a=r.createBuffer(1,2,44100),c=e(r,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),l=t(r,{...o,gain:i}),u=a.getChannelData(0);u[0]=1,u[1]=1,c.buffer=a,c.loop=!0;const h={get bufferSize(){},get channelCount(){return l.channelCount},set channelCount(p){l.channelCount=p},get channelCountMode(){return l.channelCountMode},set channelCountMode(p){l.channelCountMode=p},get channelInterpretation(){return l.channelInterpretation},set channelInterpretation(p){l.channelInterpretation=p},get context(){return l.context},get inputs(){return[]},get numberOfInputs(){return c.numberOfInputs},get numberOfOutputs(){return l.numberOfOutputs},get offset(){return l.gain},get onended(){return c.onended},set onended(p){c.onended=p},addEventListener(...p){return c.addEventListener(p[0],p[1],p[2])},dispatchEvent(...p){return c.dispatchEvent(p[0])},removeEventListener(...p){return c.removeEventListener(p[0],p[1],p[2])},start(p=0){c.start.call(c,p)},stop(p=0){c.stop.call(c,p)}},d=()=>c.connect(l),f=()=>c.disconnect(l);return n(r,c),s(zr(h,l),d,f)},ew=(n,e)=>(t,s)=>{const r=t.createConvolver();if(ct(r,s),s.disableNormalization===r.normalize&&(r.normalize=!s.disableNormalization),Ke(r,s,"buffer"),s.channelCount>2||(e(r,"channelCount",i=>()=>i.call(r),i=>o=>{if(o>2)throw n();return i.call(r,o)}),s.channelCountMode==="max"))throw n();return e(r,"channelCountMode",i=>()=>i.call(r),i=>o=>{if(o==="max")throw n();return i.call(r,o)}),r},ap=(n,e)=>{const t=n.createDelay(e.maxDelayTime);return ct(t,e),Xe(t,e,"delayTime"),t},tw=n=>(e,t)=>{const s=e.createDynamicsCompressor();if(ct(s,t),t.channelCount>2||t.channelCountMode==="max")throw n();return Xe(s,t,"attack"),Xe(s,t,"knee"),Xe(s,t,"ratio"),Xe(s,t,"release"),Xe(s,t,"threshold"),s},Rt=(n,e)=>{const t=n.createGain();return ct(t,e),Xe(t,e,"gain"),t},nw=n=>(e,t,s)=>{if(e.createIIRFilter===void 0)return n(e,t,s);const r=e.createIIRFilter(s.feedforward,s.feedback);return ct(r,s),r};function sw(n,e){const t=e[0]*e[0]+e[1]*e[1];return[(n[0]*e[0]+n[1]*e[1])/t,(n[1]*e[0]-n[0]*e[1])/t]}function rw(n,e){return[n[0]*e[0]-n[1]*e[1],n[0]*e[1]+n[1]*e[0]]}function Rh(n,e){let t=[0,0];for(let s=n.length-1;s>=0;s-=1)t=rw(t,e),t[0]+=n[s];return t}const iw=(n,e,t,s)=>(r,i,{channelCount:o,channelCountMode:a,channelInterpretation:c,feedback:l,feedforward:u})=>{const h=ip(i,r.sampleRate),d=l instanceof Float64Array?l:new Float64Array(l),f=u instanceof Float64Array?u:new Float64Array(u),p=d.length,m=f.length,g=Math.min(p,m);if(p===0||p>20)throw s();if(d[0]===0)throw e();if(m===0||m>20)throw s();if(f[0]===0)throw e();if(d[0]!==1){for(let T=0;T{const R=T.inputBuffer,O=T.outputBuffer,$=R.numberOfChannels;for(let M=0;M<$;M+=1){const U=R.getChannelData(M),L=O.getChannelData(M);S[M]=rp(d,p,f,m,g,w[M],b[M],S[M],y,U,L)}};const A=r.sampleRate/2;return zr({get bufferSize(){return h},get channelCount(){return _.channelCount},set channelCount(T){_.channelCount=T},get channelCountMode(){return _.channelCountMode},set channelCountMode(T){_.channelCountMode=T},get channelInterpretation(){return _.channelInterpretation},set channelInterpretation(T){_.channelInterpretation=T},get context(){return _.context},get inputs(){return[_]},get numberOfInputs(){return _.numberOfInputs},get numberOfOutputs(){return _.numberOfOutputs},addEventListener(...T){return _.addEventListener(T[0],T[1],T[2])},dispatchEvent(...T){return _.dispatchEvent(T[0])},getFrequencyResponse(T,R,O){if(T.length!==R.length||R.length!==O.length)throw n();const $=T.length;for(let M=0;M<$;M+=1){const U=-Math.PI*(T[M]/A),L=[Math.cos(U),Math.sin(U)],ne=Rh(f,L),Z=Rh(d,L),X=sw(ne,Z);R[M]=Math.sqrt(X[0]*X[0]+X[1]*X[1]),O[M]=Math.atan2(X[1],X[0])}},removeEventListener(...T){return _.removeEventListener(T[0],T[1],T[2])}},_)},ow=(n,e)=>n.createMediaElementSource(e.mediaElement),aw=(n,e)=>{const t=n.createMediaStreamDestination();return ct(t,e),t.numberOfOutputs===1&&Object.defineProperty(t,"numberOfOutputs",{get:()=>0}),t},cw=(n,{mediaStream:e})=>{const t=e.getAudioTracks();t.sort((i,o)=>i.ido.id?1:0);const s=t.slice(0,1),r=n.createMediaStreamSource(new MediaStream(s));return Object.defineProperty(r,"mediaStream",{value:e}),r},lw=(n,e)=>(t,{mediaStreamTrack:s})=>{if(typeof t.createMediaStreamTrackSource=="function")return t.createMediaStreamTrackSource(s);const r=new MediaStream([s]),i=t.createMediaStreamSource(r);if(s.kind!=="audio")throw n();if(e(t))throw new TypeError;return i},uw=n=>n===null?null:n.hasOwnProperty("OfflineAudioContext")?n.OfflineAudioContext:n.hasOwnProperty("webkitOfflineAudioContext")?n.webkitOfflineAudioContext:null,hw=(n,e,t,s,r,i)=>(o,a)=>{const c=o.createOscillator();return ct(c,a),Xe(c,a,"detune"),Xe(c,a,"frequency"),a.periodicWave!==void 0?c.setPeriodicWave(a.periodicWave):Ke(c,a,"type"),e(t,()=>t(o))||Vl(c),e(s,()=>s(o))||i(c,o),e(r,()=>r(o))||Ll(c),n(o,c),c},dw=n=>(e,t)=>{const s=e.createPanner();return s.orientationX===void 0?n(e,t):(ct(s,t),Xe(s,t,"orientationX"),Xe(s,t,"orientationY"),Xe(s,t,"orientationZ"),Xe(s,t,"positionX"),Xe(s,t,"positionY"),Xe(s,t,"positionZ"),Ke(s,t,"coneInnerAngle"),Ke(s,t,"coneOuterAngle"),Ke(s,t,"coneOuterGain"),Ke(s,t,"distanceModel"),Ke(s,t,"maxDistance"),Ke(s,t,"panningModel"),Ke(s,t,"refDistance"),Ke(s,t,"rolloffFactor"),s)},fw=(n,e,t,s,r,i,o,a,c,l)=>(u,{coneInnerAngle:h,coneOuterAngle:d,coneOuterGain:f,distanceModel:p,maxDistance:m,orientationX:g,orientationY:_,orientationZ:y,panningModel:S,positionX:w,positionY:b,positionZ:A,refDistance:N,rolloffFactor:T,...R})=>{const O=u.createPanner();if(R.channelCount>2||R.channelCountMode==="max")throw o();ct(O,R);const $={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},M=t(u,{...$,channelInterpretation:"speakers",numberOfInputs:6}),U=s(u,{...R,gain:1}),L=s(u,{...$,gain:1}),ne=s(u,{...$,gain:0}),Z=s(u,{...$,gain:0}),X=s(u,{...$,gain:0}),te=s(u,{...$,gain:0}),ce=s(u,{...$,gain:0}),me=r(u,256,6,1),ue=i(u,{...$,curve:new Float32Array([1,1]),oversample:"none"});let ye=[g,_,y],rt=[w,b,A];const it=new Float32Array(1);me.onaudioprocess=({inputBuffer:V})=>{const Q=[c(V,it,0),c(V,it,1),c(V,it,2)];Q.some((Se,x)=>Se!==ye[x])&&(O.setOrientation(...Q),ye=Q);const oe=[c(V,it,3),c(V,it,4),c(V,it,5)];oe.some((Se,x)=>Se!==rt[x])&&(O.setPosition(...oe),rt=oe)},Object.defineProperty(ne.gain,"defaultValue",{get:()=>0}),Object.defineProperty(Z.gain,"defaultValue",{get:()=>0}),Object.defineProperty(X.gain,"defaultValue",{get:()=>0}),Object.defineProperty(te.gain,"defaultValue",{get:()=>0}),Object.defineProperty(ce.gain,"defaultValue",{get:()=>0});const we={get bufferSize(){},get channelCount(){return O.channelCount},set channelCount(V){if(V>2)throw o();U.channelCount=V,O.channelCount=V},get channelCountMode(){return O.channelCountMode},set channelCountMode(V){if(V==="max")throw o();U.channelCountMode=V,O.channelCountMode=V},get channelInterpretation(){return O.channelInterpretation},set channelInterpretation(V){U.channelInterpretation=V,O.channelInterpretation=V},get coneInnerAngle(){return O.coneInnerAngle},set coneInnerAngle(V){O.coneInnerAngle=V},get coneOuterAngle(){return O.coneOuterAngle},set coneOuterAngle(V){O.coneOuterAngle=V},get coneOuterGain(){return O.coneOuterGain},set coneOuterGain(V){if(V<0||V>1)throw e();O.coneOuterGain=V},get context(){return O.context},get distanceModel(){return O.distanceModel},set distanceModel(V){O.distanceModel=V},get inputs(){return[U]},get maxDistance(){return O.maxDistance},set maxDistance(V){if(V<0)throw new RangeError;O.maxDistance=V},get numberOfInputs(){return O.numberOfInputs},get numberOfOutputs(){return O.numberOfOutputs},get orientationX(){return L.gain},get orientationY(){return ne.gain},get orientationZ(){return Z.gain},get panningModel(){return O.panningModel},set panningModel(V){O.panningModel=V},get positionX(){return X.gain},get positionY(){return te.gain},get positionZ(){return ce.gain},get refDistance(){return O.refDistance},set refDistance(V){if(V<0)throw new RangeError;O.refDistance=V},get rolloffFactor(){return O.rolloffFactor},set rolloffFactor(V){if(V<0)throw new RangeError;O.rolloffFactor=V},addEventListener(...V){return U.addEventListener(V[0],V[1],V[2])},dispatchEvent(...V){return U.dispatchEvent(V[0])},removeEventListener(...V){return U.removeEventListener(V[0],V[1],V[2])}};h!==we.coneInnerAngle&&(we.coneInnerAngle=h),d!==we.coneOuterAngle&&(we.coneOuterAngle=d),f!==we.coneOuterGain&&(we.coneOuterGain=f),p!==we.distanceModel&&(we.distanceModel=p),m!==we.maxDistance&&(we.maxDistance=m),g!==we.orientationX.value&&(we.orientationX.value=g),_!==we.orientationY.value&&(we.orientationY.value=_),y!==we.orientationZ.value&&(we.orientationZ.value=y),S!==we.panningModel&&(we.panningModel=S),w!==we.positionX.value&&(we.positionX.value=w),b!==we.positionY.value&&(we.positionY.value=b),A!==we.positionZ.value&&(we.positionZ.value=A),N!==we.refDistance&&(we.refDistance=N),T!==we.rolloffFactor&&(we.rolloffFactor=T),(ye[0]!==1||ye[1]!==0||ye[2]!==0)&&O.setOrientation(...ye),(rt[0]!==0||rt[1]!==0||rt[2]!==0)&&O.setPosition(...rt);const xe=()=>{U.connect(O),n(U,ue,0,0),ue.connect(L).connect(M,0,0),ue.connect(ne).connect(M,0,1),ue.connect(Z).connect(M,0,2),ue.connect(X).connect(M,0,3),ue.connect(te).connect(M,0,4),ue.connect(ce).connect(M,0,5),M.connect(me).connect(u.destination)},F=()=>{U.disconnect(O),a(U,ue,0,0),ue.disconnect(L),L.disconnect(M),ue.disconnect(ne),ne.disconnect(M),ue.disconnect(Z),Z.disconnect(M),ue.disconnect(X),X.disconnect(M),ue.disconnect(te),te.disconnect(M),ue.disconnect(ce),ce.disconnect(M),M.disconnect(me),me.disconnect(u.destination)};return l(zr(we,O),xe,F)},pw=n=>(e,{disableNormalization:t,imag:s,real:r})=>{const i=s instanceof Float32Array?s:new Float32Array(s),o=r instanceof Float32Array?r:new Float32Array(r),a=e.createPeriodicWave(o,i,{disableNormalization:t});if(Array.from(s).length<2)throw n();return a},Zi=(n,e,t,s)=>n.createScriptProcessor(e,t,s),mw=(n,e)=>(t,s)=>{const r=s.channelCountMode;if(r==="clamped-max")throw e();if(t.createStereoPanner===void 0)return n(t,s);const i=t.createStereoPanner();return ct(i,s),Xe(i,s,"pan"),Object.defineProperty(i,"channelCountMode",{get:()=>r,set:o=>{if(o!==r)throw e()}}),i},_w=(n,e,t,s,r,i)=>{const a=new Float32Array([1,1]),c=Math.PI/2,l={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},u={...l,oversample:"none"},h=(p,m,g,_)=>{const y=new Float32Array(16385),S=new Float32Array(16385);for(let R=0;R<16385;R+=1){const O=R/16384*c;y[R]=Math.cos(O),S[R]=Math.sin(O)}const w=t(p,{...l,gain:0}),b=s(p,{...u,curve:y}),A=s(p,{...u,curve:a}),N=t(p,{...l,gain:0}),T=s(p,{...u,curve:S});return{connectGraph(){m.connect(w),m.connect(A.inputs===void 0?A:A.inputs[0]),m.connect(N),A.connect(g),g.connect(b.inputs===void 0?b:b.inputs[0]),g.connect(T.inputs===void 0?T:T.inputs[0]),b.connect(w.gain),T.connect(N.gain),w.connect(_,0,0),N.connect(_,0,1)},disconnectGraph(){m.disconnect(w),m.disconnect(A.inputs===void 0?A:A.inputs[0]),m.disconnect(N),A.disconnect(g),g.disconnect(b.inputs===void 0?b:b.inputs[0]),g.disconnect(T.inputs===void 0?T:T.inputs[0]),b.disconnect(w.gain),T.disconnect(N.gain),w.disconnect(_,0,0),N.disconnect(_,0,1)}}},d=(p,m,g,_)=>{const y=new Float32Array(16385),S=new Float32Array(16385),w=new Float32Array(16385),b=new Float32Array(16385),A=Math.floor(16385/2);for(let X=0;X<16385;X+=1)if(X>A){const te=(X-A)/(16384-A)*c;y[X]=Math.cos(te),S[X]=Math.sin(te),w[X]=0,b[X]=1}else{const te=X/(16384-A)*c;y[X]=1,S[X]=0,w[X]=Math.cos(te),b[X]=Math.sin(te)}const N=e(p,{channelCount:2,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:2}),T=t(p,{...l,gain:0}),R=s(p,{...u,curve:y}),O=t(p,{...l,gain:0}),$=s(p,{...u,curve:S}),M=s(p,{...u,curve:a}),U=t(p,{...l,gain:0}),L=s(p,{...u,curve:w}),ne=t(p,{...l,gain:0}),Z=s(p,{...u,curve:b});return{connectGraph(){m.connect(N),m.connect(M.inputs===void 0?M:M.inputs[0]),N.connect(T,0),N.connect(O,0),N.connect(U,1),N.connect(ne,1),M.connect(g),g.connect(R.inputs===void 0?R:R.inputs[0]),g.connect($.inputs===void 0?$:$.inputs[0]),g.connect(L.inputs===void 0?L:L.inputs[0]),g.connect(Z.inputs===void 0?Z:Z.inputs[0]),R.connect(T.gain),$.connect(O.gain),L.connect(U.gain),Z.connect(ne.gain),T.connect(_,0,0),U.connect(_,0,0),O.connect(_,0,1),ne.connect(_,0,1)},disconnectGraph(){m.disconnect(N),m.disconnect(M.inputs===void 0?M:M.inputs[0]),N.disconnect(T,0),N.disconnect(O,0),N.disconnect(U,1),N.disconnect(ne,1),M.disconnect(g),g.disconnect(R.inputs===void 0?R:R.inputs[0]),g.disconnect($.inputs===void 0?$:$.inputs[0]),g.disconnect(L.inputs===void 0?L:L.inputs[0]),g.disconnect(Z.inputs===void 0?Z:Z.inputs[0]),R.disconnect(T.gain),$.disconnect(O.gain),L.disconnect(U.gain),Z.disconnect(ne.gain),T.disconnect(_,0,0),U.disconnect(_,0,0),O.disconnect(_,0,1),ne.disconnect(_,0,1)}}},f=(p,m,g,_,y)=>{if(m===1)return h(p,g,_,y);if(m===2)return d(p,g,_,y);throw r()};return(p,{channelCount:m,channelCountMode:g,pan:_,...y})=>{if(g==="max")throw r();const S=n(p,{...y,channelCount:1,channelCountMode:g,numberOfInputs:2}),w=t(p,{...y,channelCount:m,channelCountMode:g,gain:1}),b=t(p,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:_});let{connectGraph:A,disconnectGraph:N}=f(p,m,w,b,S);Object.defineProperty(b.gain,"defaultValue",{get:()=>0}),Object.defineProperty(b.gain,"maxValue",{get:()=>1}),Object.defineProperty(b.gain,"minValue",{get:()=>-1});const T={get bufferSize(){},get channelCount(){return w.channelCount},set channelCount(M){w.channelCount!==M&&(R&&N(),{connectGraph:A,disconnectGraph:N}=f(p,M,w,b,S),R&&A()),w.channelCount=M},get channelCountMode(){return w.channelCountMode},set channelCountMode(M){if(M==="clamped-max"||M==="max")throw r();w.channelCountMode=M},get channelInterpretation(){return w.channelInterpretation},set channelInterpretation(M){w.channelInterpretation=M},get context(){return w.context},get inputs(){return[w]},get numberOfInputs(){return w.numberOfInputs},get numberOfOutputs(){return w.numberOfOutputs},get pan(){return b.gain},addEventListener(...M){return w.addEventListener(M[0],M[1],M[2])},dispatchEvent(...M){return w.dispatchEvent(M[0])},removeEventListener(...M){return w.removeEventListener(M[0],M[1],M[2])}};let R=!1;const O=()=>{A(),R=!0},$=()=>{N(),R=!1};return i(zr(T,S),O,$)}},gw=(n,e,t,s,r,i,o)=>(a,c)=>{const l=a.createWaveShaper();if(i!==null&&i.name==="webkitAudioContext"&&a.createGain().gain.automationRate===void 0)return t(a,c);ct(l,c);const u=c.curve===null||c.curve instanceof Float32Array?c.curve:new Float32Array(c.curve);if(u!==null&&u.length<2)throw e();Ke(l,{curve:u},"curve"),Ke(l,c,"oversample");let h=null,d=!1;return o(l,"curve",m=>()=>m.call(l),m=>g=>(m.call(l,g),d&&(s(g)&&h===null?h=n(a,l):!s(g)&&h!==null&&(h(),h=null)),g)),r(l,()=>{d=!0,s(l.curve)&&(h=n(a,l))},()=>{d=!1,h!==null&&(h(),h=null)})},yw=(n,e,t,s,r)=>(i,{curve:o,oversample:a,...c})=>{const l=i.createWaveShaper(),u=i.createWaveShaper();ct(l,c),ct(u,c);const h=t(i,{...c,gain:1}),d=t(i,{...c,gain:-1}),f=t(i,{...c,gain:1}),p=t(i,{...c,gain:-1});let m=null,g=!1,_=null;const y={get bufferSize(){},get channelCount(){return l.channelCount},set channelCount(b){h.channelCount=b,d.channelCount=b,l.channelCount=b,f.channelCount=b,u.channelCount=b,p.channelCount=b},get channelCountMode(){return l.channelCountMode},set channelCountMode(b){h.channelCountMode=b,d.channelCountMode=b,l.channelCountMode=b,f.channelCountMode=b,u.channelCountMode=b,p.channelCountMode=b},get channelInterpretation(){return l.channelInterpretation},set channelInterpretation(b){h.channelInterpretation=b,d.channelInterpretation=b,l.channelInterpretation=b,f.channelInterpretation=b,u.channelInterpretation=b,p.channelInterpretation=b},get context(){return l.context},get curve(){return _},set curve(b){if(b!==null&&b.length<2)throw e();if(b===null)l.curve=b,u.curve=b;else{const A=b.length,N=new Float32Array(A+2-A%2),T=new Float32Array(A+2-A%2);N[0]=b[0],T[0]=-b[A-1];const R=Math.ceil((A+1)/2),O=(A+1)/2-1;for(let $=1;${h.connect(l).connect(f),h.connect(d).connect(u).connect(p).connect(f),g=!0,s(_)&&(m=n(i,h))},w=()=>{h.disconnect(l),l.disconnect(f),h.disconnect(d),d.disconnect(u),u.disconnect(p),p.disconnect(f),g=!1,m!==null&&(m(),m=null)};return r(zr(y,f),S,w)},At=()=>new DOMException("","NotSupportedError"),vw={numberOfChannels:1},bw=(n,e,t,s,r)=>class extends n{constructor(o,a,c){let l;if(typeof o=="number"&&a!==void 0&&c!==void 0)l={length:a,numberOfChannels:o,sampleRate:c};else if(typeof o=="object")l=o;else throw new Error("The given parameters are not valid.");const{length:u,numberOfChannels:h,sampleRate:d}={...vw,...l},f=s(h,u,d);e(bi,()=>bi(f))||f.addEventListener("statechange",(()=>{let p=0;const m=g=>{this._state==="running"&&(p>0?(f.removeEventListener("statechange",m),g.stopImmediatePropagation(),this._waitForThePromiseToSettle(g)):p+=1)};return m})()),super(f,h),this._length=u,this._nativeOfflineAudioContext=f,this._state=null}get length(){return this._nativeOfflineAudioContext.length===void 0?this._length:this._nativeOfflineAudioContext.length}get state(){return this._state===null?this._nativeOfflineAudioContext.state:this._state}startRendering(){return this._state==="running"?Promise.reject(t()):(this._state="running",r(this.destination,this._nativeOfflineAudioContext).finally(()=>{this._state=null,Qf(this)}))}_waitForThePromiseToSettle(o){this._state===null?this._nativeOfflineAudioContext.dispatchEvent(o):setTimeout(()=>this._waitForThePromiseToSettle(o))}},ww={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:440,periodicWave:void 0,type:"sine"},xw=(n,e,t,s,r,i,o)=>class extends n{constructor(c,l){const u=r(c),h={...ww,...l},d=t(u,h),f=i(u),p=f?s():null,m=c.sampleRate/2;super(c,!1,d,p),this._detune=e(this,f,d.detune,153600,-153600),this._frequency=e(this,f,d.frequency,m,-m),this._nativeOscillatorNode=d,this._onended=null,this._oscillatorNodeRenderer=p,this._oscillatorNodeRenderer!==null&&h.periodicWave!==void 0&&(this._oscillatorNodeRenderer.periodicWave=h.periodicWave)}get detune(){return this._detune}get frequency(){return this._frequency}get onended(){return this._onended}set onended(c){const l=typeof c=="function"?o(this,c):null;this._nativeOscillatorNode.onended=l;const u=this._nativeOscillatorNode.onended;this._onended=u!==null&&u===l?c:u}get type(){return this._nativeOscillatorNode.type}set type(c){this._nativeOscillatorNode.type=c,this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=null)}setPeriodicWave(c){this._nativeOscillatorNode.setPeriodicWave(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=c)}start(c=0){if(this._nativeOscillatorNode.start(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.start=c),this.context.state!=="closed"){Nr(this);const l=()=>{this._nativeOscillatorNode.removeEventListener("ended",l),Fn(this)&&Hi(this)};this._nativeOscillatorNode.addEventListener("ended",l)}}stop(c=0){this._nativeOscillatorNode.stop(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.stop=c)}},Tw=(n,e,t,s,r)=>()=>{const i=new WeakMap;let o=null,a=null,c=null;const l=async(u,h)=>{let d=t(u);const f=xt(d,h);if(!f){const p={channelCount:d.channelCount,channelCountMode:d.channelCountMode,channelInterpretation:d.channelInterpretation,detune:d.detune.value,frequency:d.frequency.value,periodicWave:o===null?void 0:o,type:d.type};d=e(h,p),a!==null&&d.start(a),c!==null&&d.stop(c)}return i.set(h,d),f?(await n(h,u.detune,d.detune),await n(h,u.frequency,d.frequency)):(await s(h,u.detune,d.detune),await s(h,u.frequency,d.frequency)),await r(u,h,d),d};return{set periodicWave(u){o=u},set start(u){a=u},set stop(u){c=u},render(u,h){const d=i.get(h);return d!==void 0?Promise.resolve(d):l(u,h)}}},Ew={channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",coneInnerAngle:360,coneOuterAngle:360,coneOuterGain:0,distanceModel:"inverse",maxDistance:1e4,orientationX:1,orientationY:0,orientationZ:0,panningModel:"equalpower",positionX:0,positionY:0,positionZ:0,refDistance:1,rolloffFactor:1},Sw=(n,e,t,s,r,i,o)=>class extends n{constructor(c,l){const u=r(c),h={...Ew,...l},d=t(u,h),f=i(u),p=f?s():null;super(c,!1,d,p),this._nativePannerNode=d,this._orientationX=e(this,f,d.orientationX,Et,Nt),this._orientationY=e(this,f,d.orientationY,Et,Nt),this._orientationZ=e(this,f,d.orientationZ,Et,Nt),this._positionX=e(this,f,d.positionX,Et,Nt),this._positionY=e(this,f,d.positionY,Et,Nt),this._positionZ=e(this,f,d.positionZ,Et,Nt),o(this,1)}get coneInnerAngle(){return this._nativePannerNode.coneInnerAngle}set coneInnerAngle(c){this._nativePannerNode.coneInnerAngle=c}get coneOuterAngle(){return this._nativePannerNode.coneOuterAngle}set coneOuterAngle(c){this._nativePannerNode.coneOuterAngle=c}get coneOuterGain(){return this._nativePannerNode.coneOuterGain}set coneOuterGain(c){this._nativePannerNode.coneOuterGain=c}get distanceModel(){return this._nativePannerNode.distanceModel}set distanceModel(c){this._nativePannerNode.distanceModel=c}get maxDistance(){return this._nativePannerNode.maxDistance}set maxDistance(c){this._nativePannerNode.maxDistance=c}get orientationX(){return this._orientationX}get orientationY(){return this._orientationY}get orientationZ(){return this._orientationZ}get panningModel(){return this._nativePannerNode.panningModel}set panningModel(c){this._nativePannerNode.panningModel=c}get positionX(){return this._positionX}get positionY(){return this._positionY}get positionZ(){return this._positionZ}get refDistance(){return this._nativePannerNode.refDistance}set refDistance(c){this._nativePannerNode.refDistance=c}get rolloffFactor(){return this._nativePannerNode.rolloffFactor}set rolloffFactor(c){this._nativePannerNode.rolloffFactor=c}},Cw=(n,e,t,s,r,i,o,a,c,l)=>()=>{const u=new WeakMap;let h=null;const d=async(f,p)=>{let m=null,g=i(f);const _={channelCount:g.channelCount,channelCountMode:g.channelCountMode,channelInterpretation:g.channelInterpretation},y={..._,coneInnerAngle:g.coneInnerAngle,coneOuterAngle:g.coneOuterAngle,coneOuterGain:g.coneOuterGain,distanceModel:g.distanceModel,maxDistance:g.maxDistance,panningModel:g.panningModel,refDistance:g.refDistance,rolloffFactor:g.rolloffFactor},S=xt(g,p);if("bufferSize"in g)m=s(p,{..._,gain:1});else if(!S){const w={...y,orientationX:g.orientationX.value,orientationY:g.orientationY.value,orientationZ:g.orientationZ.value,positionX:g.positionX.value,positionY:g.positionY.value,positionZ:g.positionZ.value};g=r(p,w)}if(u.set(p,m===null?g:m),m!==null){if(h===null){if(o===null)throw new Error("Missing the native OfflineAudioContext constructor.");const $=new o(6,f.context.length,p.sampleRate),M=e($,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6});M.connect($.destination),h=(async()=>{const U=await Promise.all([f.orientationX,f.orientationY,f.orientationZ,f.positionX,f.positionY,f.positionZ].map(async(L,ne)=>{const Z=t($,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:ne===0?1:0});return await a($,L,Z.offset),Z}));for(let L=0;L<6;L+=1)U[L].connect(M,0,L),U[L].start(0);return l($)})()}const w=await h,b=s(p,{..._,gain:1});await c(f,p,b);const A=[];for(let $=0;$L!==N[ne])||U.some((L,ne)=>L!==T[ne])){N=M,T=U;const L=$/p.sampleRate;R.gain.setValueAtTime(0,L),R=s(p,{..._,gain:0}),O=r(p,{...y,orientationX:N[0],orientationY:N[1],orientationZ:N[2],positionX:T[0],positionY:T[1],positionZ:T[2]}),R.gain.setValueAtTime(1,L),b.connect(R).connect(O.inputs[0]),O.connect(m)}}return m}return S?(await n(p,f.orientationX,g.orientationX),await n(p,f.orientationY,g.orientationY),await n(p,f.orientationZ,g.orientationZ),await n(p,f.positionX,g.positionX),await n(p,f.positionY,g.positionY),await n(p,f.positionZ,g.positionZ)):(await a(p,f.orientationX,g.orientationX),await a(p,f.orientationY,g.orientationY),await a(p,f.orientationZ,g.orientationZ),await a(p,f.positionX,g.positionX),await a(p,f.positionY,g.positionY),await a(p,f.positionZ,g.positionZ)),Wr(g)?await c(f,p,g.inputs[0]):await c(f,p,g),g};return{render(f,p){const m=u.get(p);return m!==void 0?Promise.resolve(m):d(f,p)}}},Aw={disableNormalization:!1},Nw=(n,e,t,s)=>class cp{constructor(i,o){const a=e(i),c=s({...Aw,...o}),l=n(a,c);return t.add(l),l}static[Symbol.hasInstance](i){return i!==null&&typeof i=="object"&&Object.getPrototypeOf(i)===cp.prototype||t.has(i)}},Mw=(n,e)=>(t,s,r)=>(n(s).replay(r),e(s,t,r)),kw=(n,e,t)=>async(s,r,i)=>{const o=n(s);await Promise.all(o.activeInputs.map((a,c)=>Array.from(a).map(async([l,u])=>{const d=await e(l).render(l,r),f=s.context.destination;!t(l)&&(s!==f||!t(s))&&d.connect(i,u,c)})).reduce((a,c)=>[...a,...c],[]))},Ow=(n,e,t)=>async(s,r,i)=>{const o=e(s);await Promise.all(Array.from(o.activeInputs).map(async([a,c])=>{const u=await n(a).render(a,r);t(a)||u.connect(i,c)}))},Iw=(n,e,t,s)=>r=>n(bi,()=>bi(r))?Promise.resolve(n(s,s)).then(i=>{if(!i){const o=t(r,512,0,1);r.oncomplete=()=>{o.onaudioprocess=null,o.disconnect()},o.onaudioprocess=()=>r.currentTime,o.connect(r.destination)}return r.startRendering()}):new Promise(i=>{const o=e(r,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});r.oncomplete=a=>{o.disconnect(),i(a.renderedBuffer)},o.connect(r.destination),r.startRendering()}),Rw=n=>(e,t)=>{n.set(e,t)},Dw=n=>(e,t)=>n.set(e,t),Pw=(n,e,t,s,r,i,o,a)=>(c,l)=>t(c).render(c,l).then(()=>Promise.all(Array.from(s(l)).map(u=>t(u).render(u,l)))).then(()=>r(l)).then(u=>(typeof u.copyFromChannel!="function"?(o(u),Pl(u)):e(i,()=>i(u))||a(u),n.add(u),u)),$w={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",pan:0},Fw=(n,e,t,s,r,i)=>class extends n{constructor(a,c){const l=r(a),u={...$w,...c},h=t(l,u),d=i(l),f=d?s():null;super(a,!1,h,f),this._pan=e(this,d,h.pan)}get pan(){return this._pan}},Vw=(n,e,t,s,r)=>()=>{const i=new WeakMap,o=async(a,c)=>{let l=t(a);const u=xt(l,c);if(!u){const h={channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,pan:l.pan.value};l=e(c,h)}return i.set(c,l),u?await n(c,a.pan,l.pan):await s(c,a.pan,l.pan),Wr(l)?await r(a,c,l.inputs[0]):await r(a,c,l),l};return{render(a,c){const l=i.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},Lw=n=>()=>{if(n===null)return!1;try{new n({length:1,sampleRate:44100})}catch{return!1}return!0},Bw=(n,e)=>async()=>{if(n===null)return!0;if(e===null)return!1;const t=new Blob(['class A extends AudioWorkletProcessor{process(i){this.port.postMessage(i,[i[0][0].buffer])}}registerProcessor("a",A)'],{type:"application/javascript; charset=utf-8"}),s=new e(1,128,44100),r=URL.createObjectURL(t);let i=!1,o=!1;try{await s.audioWorklet.addModule(r);const a=new n(s,"a",{numberOfOutputs:0}),c=s.createOscillator();a.port.onmessage=()=>i=!0,a.onprocessorerror=()=>o=!0,c.connect(a),c.start(0),await s.startRendering()}catch{}finally{URL.revokeObjectURL(r)}return i&&!o},qw=(n,e)=>()=>{if(e===null)return Promise.resolve(!1);const t=new e(1,1,44100),s=n(t,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return new Promise(r=>{t.oncomplete=()=>{s.disconnect(),r(t.currentTime!==0)},t.startRendering()})},jw=()=>new DOMException("","UnknownError"),Uw={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",curve:null,oversample:"none"},Ww=(n,e,t,s,r,i,o)=>class extends n{constructor(c,l){const u=r(c),h={...Uw,...l},d=t(u,h),p=i(u)?s():null;super(c,!0,d,p),this._isCurveNullified=!1,this._nativeWaveShaperNode=d,o(this,1)}get curve(){return this._isCurveNullified?null:this._nativeWaveShaperNode.curve}set curve(c){if(c===null)this._isCurveNullified=!0,this._nativeWaveShaperNode.curve=new Float32Array([0,0]);else{if(c.length<2)throw e();this._isCurveNullified=!1,this._nativeWaveShaperNode.curve=c}}get oversample(){return this._nativeWaveShaperNode.oversample}set oversample(c){this._nativeWaveShaperNode.oversample=c}},zw=(n,e,t)=>()=>{const s=new WeakMap,r=async(i,o)=>{let a=e(i);if(!xt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,curve:a.curve,oversample:a.oversample};a=n(o,l)}return s.set(o,a),Wr(a)?await t(i,o,a.inputs[0]):await t(i,o,a),a};return{render(i,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):r(i,o)}}},Hw=()=>typeof window>"u"?null:window,Gw=(n,e)=>t=>{t.copyFromChannel=(s,r,i=0)=>{const o=n(i),a=n(r);if(a>=t.numberOfChannels)throw e();const c=t.length,l=t.getChannelData(a),u=s.length;for(let h=o<0?-o:0;h+o{const o=n(i),a=n(r);if(a>=t.numberOfChannels)throw e();const c=t.length,l=t.getChannelData(a),u=s.length;for(let h=o<0?-o:0;h+oe=>{e.copyFromChannel=(t=>(s,r,i=0)=>{const o=n(i),a=n(r);if(o(s,r,i=0)=>{const o=n(i),a=n(r);if(o(e,t)=>{const s=t.createBuffer(1,1,44100);e.buffer===null&&(e.buffer=s),n(e,"buffer",r=>()=>{const i=r.call(e);return i===s?null:i},r=>i=>r.call(e,i===null?s:i))},Zw=(n,e)=>(t,s)=>{s.channelCount=1,s.channelCountMode="explicit",Object.defineProperty(s,"channelCount",{get:()=>1,set:()=>{throw n()}}),Object.defineProperty(s,"channelCountMode",{get:()=>"explicit",set:()=>{throw n()}});const r=t.createBufferSource();e(s,()=>{const a=s.numberOfInputs;for(let c=0;cr.disconnect(s))},lp=(n,e,t)=>n.copyFromChannel===void 0?n.getChannelData(t)[0]:(n.copyFromChannel(e,t),e[0]),up=n=>{if(n===null)return!1;const e=n.length;return e%2!==0?n[Math.floor(e/2)]!==0:n[e/2-1]+n[e/2]!==0},Xi=(n,e,t,s)=>{let r=n;for(;!r.hasOwnProperty(e);)r=Object.getPrototypeOf(r);const{get:i,set:o}=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(n,e,{get:t(i),set:s(o)})},Xw=n=>({...n,outputChannelCount:n.outputChannelCount!==void 0?n.outputChannelCount:n.numberOfInputs===1&&n.numberOfOutputs===1?[n.channelCount]:Array.from({length:n.numberOfOutputs},()=>1)}),Qw=n=>({...n,channelCount:n.numberOfOutputs}),Jw=n=>{const{imag:e,real:t}=n;return e===void 0?t===void 0?{...n,imag:[0,0],real:[0,0]}:{...n,imag:Array.from(t,()=>0),real:t}:t===void 0?{...n,imag:e,real:Array.from(e,()=>0)}:{...n,imag:e,real:t}},hp=(n,e,t)=>{try{n.setValueAtTime(e,t)}catch(s){if(s.code!==9)throw s;hp(n,e,t+1e-7)}},e2=n=>{const e=n.createBufferSource();e.start();try{e.start()}catch{return!0}return!1},t2=n=>{const e=n.createBufferSource(),t=n.createBuffer(1,1,44100);e.buffer=t;try{e.start(0,1)}catch{return!1}return!0},n2=n=>{const e=n.createBufferSource();e.start();try{e.stop()}catch{return!1}return!0},Bl=n=>{const e=n.createOscillator();try{e.start(-1)}catch(t){return t instanceof RangeError}return!1},dp=n=>{const e=n.createBuffer(1,1,44100),t=n.createBufferSource();t.buffer=e,t.start(),t.stop();try{return t.stop(),!0}catch{return!1}},ql=n=>{const e=n.createOscillator();try{e.stop(-1)}catch(t){return t instanceof RangeError}return!1},s2=n=>{const{port1:e,port2:t}=new MessageChannel;try{e.postMessage(n)}finally{e.close(),t.close()}},r2=n=>{n.start=(e=>(t=0,s=0,r)=>{const i=n.buffer,o=i===null?s:Math.min(i.duration,s);i!==null&&o>i.duration-.5/n.context.sampleRate?e.call(n,t,0,0):e.call(n,t,o,r)})(n.start)},fp=(n,e)=>{const t=e.createGain();n.connect(t);const s=(r=>()=>{r.call(n,t),n.removeEventListener("ended",s)})(n.disconnect);n.addEventListener("ended",s),zr(n,t),n.stop=(r=>{let i=!1;return(o=0)=>{if(i)try{r.call(n,o)}catch{t.gain.setValueAtTime(0,o)}else r.call(n,o),i=!0}})(n.stop)},Hr=(n,e)=>t=>{const s={value:n};return Object.defineProperties(t,{currentTarget:s,target:s}),typeof e=="function"?e.call(n,t):e.handleEvent.call(n,t)},i2=Sy(er),o2=Oy(er),a2=Uv($a),pp=new WeakMap,c2=ab(pp),cn=vv(new Map,new WeakMap),Sn=Hw(),mp=Fb(cn,Nn),jl=ob(Ct),gt=kw(Ct,jl,Ys),l2=$y(mp,Ye,gt),He=ub(Pa),Kn=uw(Sn),We=Ab(Kn),_p=new WeakMap,gp=Jv(Hr),Qi=qb(Sn),Ul=Tb(Qi),Wl=Eb(Sn),yp=Sb(Sn),wi=Ub(Sn),st=av(Cy(zf),ky(i2,o2,qo,a2,jo,Ct,c2,zi,Ye,er,Fn,Ys,Eo),cn,yb(Vc,jo,Ct,Ye,vi,Fn),Nn,Fa,At,Lv(qo,Vc,Ct,Ye,vi,He,Fn,We),Hv(_p,Ct,rn),gp,He,Ul,Wl,yp,We,wi),u2=Py(st,l2,Nn,mp,He,We),zl=new WeakSet,Dh=Vb(Sn),vp=Iv(new Uint32Array(1)),Hl=Gw(vp,Nn),Gl=Yw(vp),bp=Vy(zl,cn,At,Dh,Kn,Lw(Dh),Hl,Gl),Va=Iy(Rt),wp=Ow(jl,Gi,Ys),Mn=Cv(wp),Gr=Bb(Va,cn,e2,t2,n2,Bl,dp,ql,r2,Kw(Xi),fp),kn=Mw(cb(Gi),wp),h2=qy(Mn,Gr,Ye,kn,gt),ln=cv(Ay(Hf),_p,Dl,lv,vy,by,wy,xy,Ty,Pc,Uf,Qi,hp),d2=By(st,h2,ln,ft,Gr,He,We,Hr),f2=Zy(st,Xy,Nn,ft,jb(Rt,Xi),He,We,gt),p2=yv(Mn,op,Ye,kn,gt),tr=Dw(pp),m2=gv(st,ln,p2,Fa,op,He,We,tr),xs=Pb(er,Wl),_2=Zw(ft,xs),Ts=Zb(Qi,_2),g2=xv(Ts,Ye,gt),y2=wv(st,g2,Ts,He,We),v2=Sv(Ki,Ye,gt),b2=Ev(st,v2,Ki,He,We,Qw),w2=Jb(Va,Gr,Rt,xs),Yr=Qb(Va,cn,w2,Bl,ql),x2=Ov(Mn,Yr,Ye,kn,gt),T2=kv(st,ln,x2,Yr,He,We,Hr),xp=ew(At,Xi),E2=Pv(xp,Ye,gt),S2=Dv(st,E2,xp,He,We,tr),C2=jv(Mn,ap,Ye,kn,gt),A2=qv(st,ln,C2,ap,He,We,tr),Tp=tw(At),N2=Zv(Mn,Tp,Ye,kn,gt),M2=Kv(st,ln,N2,Tp,At,He,We,tr),k2=rb(Mn,Rt,Ye,kn,gt),O2=sb(st,ln,k2,Rt,He,We),I2=iw(Fa,ft,Zi,At),La=Iw(cn,Rt,Zi,qw(Rt,Kn)),R2=gb(Gr,Ye,Kn,gt,La),D2=nw(I2),P2=mb(st,D2,R2,He,We,tr),$2=Qy(ln,Ts,Yr,Zi,At,lp,We,Xi),Ep=new WeakMap,F2=Db(f2,$2,gp,We,Ep,Hr),Sp=hw(Va,cn,Bl,dp,ql,fp),V2=Tw(Mn,Sp,Ye,kn,gt),L2=xw(st,ln,Sp,V2,He,We,Hr),Cp=Nv(Gr),B2=yw(Cp,ft,Rt,up,xs),Ba=gw(Cp,ft,B2,up,xs,Qi,Xi),q2=fw(qo,ft,Ts,Rt,Zi,Ba,At,jo,lp,xs),Ap=dw(q2),j2=Cw(Mn,Ts,Yr,Rt,Ap,Ye,Kn,kn,gt,La),U2=Sw(st,ln,Ap,j2,He,We,tr),W2=pw(Nn),z2=Nw(W2,He,new WeakSet,Jw),H2=_w(Ts,Ki,Rt,Ba,At,xs),Np=mw(H2,At),G2=Vw(Mn,Np,Ye,kn,gt),Y2=Fw(st,ln,Np,G2,He,We),K2=zw(Ba,Ye,gt),Z2=Ww(st,ft,Ba,K2,He,We,tr),Mp=Nb(Sn),Yl=eb(Sn),kp=new WeakMap,X2=hb(kp,Kn),Q2=Mp?My(cn,At,Qv(Sn),Yl,tb(Ey),He,X2,We,wi,new WeakMap,new WeakMap,Bw(wi,Kn),Sn):void 0,J2=Cb(Ul,We),ex=Vv(zl,cn,Fv,Xv,new WeakSet,He,J2,Lo,bi,Hl,Gl),Op=mv(Q2,u2,bp,d2,m2,y2,b2,T2,S2,ex,A2,M2,O2,P2,F2,L2,U2,z2,Y2,Z2),tx=Mb(st,ow,He,We),nx=Ob(st,aw,He,We),sx=Ib(st,cw,He,We),rx=lw(ft,We),ix=Rb(st,rx,He),ox=Ky(Op,ft,At,jw,tx,nx,sx,ix,Qi),Kl=db(Ep),ax=Ry(Kl),Ip=Av(Nn),cx=Wv(Kl),Rp=Gv(Nn),Dp=new WeakMap,lx=ib(Dp,rn),ux=Kb(Ip,Nn,ft,Ts,Ki,Yr,Rt,Zi,At,Rp,Yl,lx,xs),hx=zb(ft,ux,Rt,At,xs),dx=pv(Mn,Ip,Gr,Ts,Ki,Yr,Rt,cx,Rp,Yl,Ye,wi,Kn,kn,gt,La),fx=lb(kp),px=Rw(Dp),Ph=Mp?hv(ax,st,ln,dx,hx,Ct,fx,He,We,wi,Xw,px,s2,Hr):void 0,mx=$v(At,Kn),_x=Pw(zl,cn,jl,Kl,La,Lo,Hl,Gl),gx=bw(Op,cn,ft,mx,_x),yx=vb(Pa,Ul),vx=bb(Rl,Wl),bx=wb(Dl,yp),wx=xb(Pa,We);function Ft(n){return typeof n>"u"}function Ce(n){return!Ft(n)}function xx(n){return typeof n=="function"}function qn(n){return typeof n=="number"}function js(n){return Object.prototype.toString.call(n)==="[object Object]"&&n.constructor===Object}function Tx(n){return typeof n=="boolean"}function Vt(n){return Array.isArray(n)}function jn(n){return typeof n=="string"}function po(n){return jn(n)&&/^([a-g]{1}(?:b|#|x|bb)?)(-?[0-9]+)/i.test(n)}function pe(n,e){if(!n)throw new Error(e)}function on(n,e,t=1/0){if(!(e<=n&&n<=t))throw new RangeError(`Value must be within [${e}, ${t}], got: ${n}`)}function Pp(n){!n.isOffline&&n.state!=="running"&&qa('The AudioContext is "suspended". Invoke Tone.start() from a user action to start the audio.')}let $p=!1,$h=!1;function Fh(n){$p=n}function Ex(n){Ft(n)&&$p&&!$h&&($h=!0,qa("Events scheduled inside of scheduled callbacks should use the passed in scheduling time. See https://github.com/Tonejs/Tone.js/wiki/Accurate-Timing"))}let Fp=console;function Sx(...n){Fp.log(...n)}function qa(...n){Fp.warn(...n)}function Cx(n){return new ox(n)}function Ax(n,e,t){return new gx(n,e,t)}const Us=typeof self=="object"?self:null,Nx=Us&&(Us.hasOwnProperty("AudioContext")||Us.hasOwnProperty("webkitAudioContext"));function Mx(n,e,t){return pe(Ce(Ph),"This node only works in a secure context (https or localhost)"),new Ph(n,e,t)}function un(n,e,t,s){var r=arguments.length,i=r<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(n,e,t,s);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(i=(r<3?o(i):r>3?o(e,t,i):o(e,t))||i);return r>3&&i&&Object.defineProperty(e,t,i),i}function tt(n,e,t,s){function r(i){return i instanceof t?i:new t(function(o){o(i)})}return new(t||(t=Promise))(function(i,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?i(u.value):r(u.value).then(a,c)}l((s=s.apply(n,e||[])).next())})}class kx{constructor(e,t,s,r){this._callback=e,this._type=t,this._minimumUpdateInterval=Math.max(128/(r||44100),.001),this.updateInterval=s,this._createClock()}_createWorker(){const e=new Blob([` - // the initial timeout time - let timeoutTime = ${(this._updateInterval*1e3).toFixed(1)}; - // onmessage callback - self.onmessage = function(msg){ - timeoutTime = parseInt(msg.data); - }; - // the tick function which posts a message - // and schedules a new tick - function tick(){ - setTimeout(tick, timeoutTime); - self.postMessage('tick'); - } - // call tick initially - tick(); - `],{type:"text/javascript"}),t=URL.createObjectURL(e),s=new Worker(t);s.onmessage=this._callback.bind(this),this._worker=s}_createTimeout(){this._timeout=setTimeout(()=>{this._createTimeout(),this._callback()},this._updateInterval*1e3)}_createClock(){if(this._type==="worker")try{this._createWorker()}catch{this._type="timeout",this._createClock()}else this._type==="timeout"&&this._createTimeout()}_disposeClock(){this._timeout&&clearTimeout(this._timeout),this._worker&&(this._worker.terminate(),this._worker.onmessage=null)}get updateInterval(){return this._updateInterval}set updateInterval(e){var t;this._updateInterval=Math.max(e,this._minimumUpdateInterval),this._type==="worker"&&((t=this._worker)===null||t===void 0||t.postMessage(this._updateInterval*1e3))}get type(){return this._type}set type(e){this._disposeClock(),this._type=e,this._createClock()}dispose(){this._disposeClock()}}function Ks(n){return bx(n)}function ms(n){return vx(n)}function So(n){return wx(n)}function hr(n){return yx(n)}function Ox(n){return n instanceof bp}function Ix(n,e){return n==="value"||Ks(e)||ms(e)||Ox(e)}function Ws(n,...e){if(!e.length)return n;const t=e.shift();if(js(n)&&js(t))for(const s in t)Ix(s,t[s])?n[s]=t[s]:js(t[s])?(n[s]||Object.assign(n,{[s]:{}}),Ws(n[s],t[s])):Object.assign(n,{[s]:t[s]});return Ws(n,...e)}function Rx(n,e){return n.length===e.length&&n.every((t,s)=>e[s]===t)}function z(n,e,t=[],s){const r={},i=Array.from(e);if(js(i[0])&&s&&!Reflect.has(i[0],s)&&(Object.keys(i[0]).some(a=>Reflect.has(n,a))||(Ws(r,{[s]:i[0]}),t.splice(t.indexOf(s),1),i.shift())),i.length===1&&js(i[0]))Ws(r,i[0]);else for(let o=0;o{Reflect.has(n,t)&&delete n[t]}),n}/** - * Tone.js - * @author Yotam Mann - * @license http://opensource.org/licenses/MIT MIT License - * @copyright 2014-2019 Yotam Mann - */class Zn{constructor(){this.debug=!1,this._wasDisposed=!1}static getDefaults(){return{}}log(...e){(this.debug||Us&&this.toString()===Us.TONE_DEBUG_CLASS)&&Sx(this,...e)}dispose(){return this._wasDisposed=!0,this}get disposed(){return this._wasDisposed}toString(){return this.name}}Zn.version=jf;const Zl=1e-6;function Mr(n,e){return n>e+Zl}function Uc(n,e){return Mr(n,e)||Zt(n,e)}function Ho(n,e){return n+Zlthis.memory){const t=this.length-this.memory;this._timeline.splice(0,t)}return this}remove(e){const t=this._timeline.indexOf(e);return t!==-1&&this._timeline.splice(t,1),this}get(e,t="time"){const s=this._search(e,t);return s!==-1?this._timeline[s]:null}peek(){return this._timeline[0]}shift(){return this._timeline.shift()}getAfter(e,t="time"){const s=this._search(e,t);return s+10&&this._timeline[t-1].time=0?this._timeline[s-1]:null}cancel(e){if(this._timeline.length>1){let t=this._search(e);if(t>=0)if(Zt(this._timeline[t].time,e)){for(let s=t;s>=0&&Zt(this._timeline[s].time,e);s--)t=s;this._timeline=this._timeline.slice(0,t)}else this._timeline=this._timeline.slice(0,t+1);else this._timeline=[]}else this._timeline.length===1&&Uc(this._timeline[0].time,e)&&(this._timeline=[]);return this}cancelBefore(e){const t=this._search(e);return t>=0&&(this._timeline=this._timeline.slice(t+1)),this}previousEvent(e){const t=this._timeline.indexOf(e);return t>0?this._timeline[t-1]:null}_search(e,t="time"){if(this._timeline.length===0)return-1;let s=0;const r=this._timeline.length;let i=r;if(r>0&&this._timeline[r-1][t]<=e)return r-1;for(;s=0&&this._timeline[s].time>=e;)s--;return this._iterate(t,s+1),this}forEachAtTime(e,t){const s=this._search(e);if(s!==-1&&Zt(this._timeline[s].time,e)){let r=s;for(let i=s;i>=0&&Zt(this._timeline[i].time,e);i--)r=i;this._iterate(i=>{t(i)},r,s)}return this}dispose(){return super.dispose(),this._timeline=[],this}}const Vp=[];function ja(n){Vp.push(n)}function $x(n){Vp.forEach(e=>e(n))}const Lp=[];function Ua(n){Lp.push(n)}function Fx(n){Lp.forEach(e=>e(n))}class Ji extends Zn{constructor(){super(...arguments),this.name="Emitter"}on(e,t){return e.split(/\W+/).forEach(r=>{Ft(this._events)&&(this._events={}),this._events.hasOwnProperty(r)||(this._events[r]=[]),this._events[r].push(t)}),this}once(e,t){const s=(...r)=>{t(...r),this.off(e,s)};return this.on(e,s),this}off(e,t){return e.split(/\W+/).forEach(r=>{if(Ft(this._events)&&(this._events={}),this._events.hasOwnProperty(r))if(Ft(t))this._events[r]=[];else{const i=this._events[r];for(let o=i.length-1;o>=0;o--)i[o]===t&&i.splice(o,1)}}),this}emit(e,...t){if(this._events&&this._events.hasOwnProperty(e)){const s=this._events[e].slice(0);for(let r=0,i=s.length;r{const s=Object.getOwnPropertyDescriptor(Ji.prototype,t);Object.defineProperty(e.prototype,t,s)})}dispose(){return super.dispose(),this._events=void 0,this}}class Bp extends Ji{constructor(){super(...arguments),this.isOffline=!1}toJSON(){return{}}}class eo extends Bp{constructor(){var e,t;super(),this.name="Context",this._constants=new Map,this._timeouts=new Wt,this._timeoutIds=0,this._initialized=!1,this._closeStarted=!1,this.isOffline=!1,this._workletPromise=null;const s=z(eo.getDefaults(),arguments,["context"]);s.context?(this._context=s.context,this._latencyHint=((e=arguments[0])===null||e===void 0?void 0:e.latencyHint)||""):(this._context=Cx({latencyHint:s.latencyHint}),this._latencyHint=s.latencyHint),this._ticker=new kx(this.emit.bind(this,"tick"),s.clockSource,s.updateInterval,this._context.sampleRate),this.on("tick",this._timeoutLoop.bind(this)),this._context.onstatechange=()=>{this.emit("statechange",this.state)},this[!((t=arguments[0])===null||t===void 0)&&t.hasOwnProperty("updateInterval")?"_lookAhead":"lookAhead"]=s.lookAhead}static getDefaults(){return{clockSource:"worker",latencyHint:"interactive",lookAhead:.1,updateInterval:.05}}initialize(){return this._initialized||($x(this),this._initialized=!0),this}createAnalyser(){return this._context.createAnalyser()}createOscillator(){return this._context.createOscillator()}createBufferSource(){return this._context.createBufferSource()}createBiquadFilter(){return this._context.createBiquadFilter()}createBuffer(e,t,s){return this._context.createBuffer(e,t,s)}createChannelMerger(e){return this._context.createChannelMerger(e)}createChannelSplitter(e){return this._context.createChannelSplitter(e)}createConstantSource(){return this._context.createConstantSource()}createConvolver(){return this._context.createConvolver()}createDelay(e){return this._context.createDelay(e)}createDynamicsCompressor(){return this._context.createDynamicsCompressor()}createGain(){return this._context.createGain()}createIIRFilter(e,t){return this._context.createIIRFilter(e,t)}createPanner(){return this._context.createPanner()}createPeriodicWave(e,t,s){return this._context.createPeriodicWave(e,t,s)}createStereoPanner(){return this._context.createStereoPanner()}createWaveShaper(){return this._context.createWaveShaper()}createMediaStreamSource(e){return pe(hr(this._context),"Not available if OfflineAudioContext"),this._context.createMediaStreamSource(e)}createMediaElementSource(e){return pe(hr(this._context),"Not available if OfflineAudioContext"),this._context.createMediaElementSource(e)}createMediaStreamDestination(){return pe(hr(this._context),"Not available if OfflineAudioContext"),this._context.createMediaStreamDestination()}decodeAudioData(e){return this._context.decodeAudioData(e)}get currentTime(){return this._context.currentTime}get state(){return this._context.state}get sampleRate(){return this._context.sampleRate}get listener(){return this.initialize(),this._listener}set listener(e){pe(!this._initialized,"The listener cannot be set after initialization."),this._listener=e}get transport(){return this.initialize(),this._transport}set transport(e){pe(!this._initialized,"The transport cannot be set after initialization."),this._transport=e}get draw(){return this.initialize(),this._draw}set draw(e){pe(!this._initialized,"Draw cannot be set after initialization."),this._draw=e}get destination(){return this.initialize(),this._destination}set destination(e){pe(!this._initialized,"The destination cannot be set after initialization."),this._destination=e}createAudioWorkletNode(e,t){return Mx(this.rawContext,e,t)}addAudioWorkletModule(e){return tt(this,void 0,void 0,function*(){pe(Ce(this.rawContext.audioWorklet),"AudioWorkletNode is only available in a secure context (https or localhost)"),this._workletPromise||(this._workletPromise=this.rawContext.audioWorklet.addModule(e)),yield this._workletPromise})}workletsAreReady(){return tt(this,void 0,void 0,function*(){(yield this._workletPromise)?this._workletPromise:Promise.resolve()})}get updateInterval(){return this._ticker.updateInterval}set updateInterval(e){this._ticker.updateInterval=e}get clockSource(){return this._ticker.type}set clockSource(e){this._ticker.type=e}get lookAhead(){return this._lookAhead}set lookAhead(e){this._lookAhead=e,this.updateInterval=e?e/2:.01}get latencyHint(){return this._latencyHint}get rawContext(){return this._context}now(){return this._context.currentTime+this._lookAhead}immediate(){return this._context.currentTime}resume(){return hr(this._context)?this._context.resume():Promise.resolve()}close(){return tt(this,void 0,void 0,function*(){hr(this._context)&&this.state!=="closed"&&!this._closeStarted&&(this._closeStarted=!0,yield this._context.close()),this._initialized&&Fx(this)})}getConstant(e){if(this._constants.has(e))return this._constants.get(e);{const t=this._context.createBuffer(1,128,this._context.sampleRate),s=t.getChannelData(0);for(let i=0;ithis._constants[e].disconnect()),this.close(),this}_timeoutLoop(){const e=this.now();let t=this._timeouts.peek();for(;this._timeouts.length&&t&&t.time<=e;)t.callback(),this._timeouts.shift(),t=this._timeouts.peek()}setTimeout(e,t){this._timeoutIds++;const s=this.now();return this._timeouts.add({callback:e,id:this._timeoutIds,time:s+t}),this._timeoutIds}clearTimeout(e){return this._timeouts.forEach(t=>{t.id===e&&this._timeouts.remove(t)}),this}clearInterval(e){return this.clearTimeout(e)}setInterval(e,t){const s=++this._timeoutIds,r=()=>{const i=this.now();this._timeouts.add({callback:()=>{e(),r()},id:s,time:i+t})};return r(),s}}class Vx extends Bp{constructor(){super(...arguments),this.lookAhead=0,this.latencyHint=0,this.isOffline=!1}createAnalyser(){return{}}createOscillator(){return{}}createBufferSource(){return{}}createBiquadFilter(){return{}}createBuffer(e,t,s){return{}}createChannelMerger(e){return{}}createChannelSplitter(e){return{}}createConstantSource(){return{}}createConvolver(){return{}}createDelay(e){return{}}createDynamicsCompressor(){return{}}createGain(){return{}}createIIRFilter(e,t){return{}}createPanner(){return{}}createPeriodicWave(e,t,s){return{}}createStereoPanner(){return{}}createWaveShaper(){return{}}createMediaStreamSource(e){return{}}createMediaElementSource(e){return{}}createMediaStreamDestination(){return{}}decodeAudioData(e){return Promise.resolve({})}createAudioWorkletNode(e,t){return{}}get rawContext(){return{}}addAudioWorkletModule(e){return tt(this,void 0,void 0,function*(){return Promise.resolve()})}resume(){return Promise.resolve()}setTimeout(e,t){return 0}clearTimeout(e){return this}setInterval(e,t){return 0}clearInterval(e){return this}getConstant(e){return{}}get currentTime(){return 0}get state(){return{}}get sampleRate(){return 0}get listener(){return{}}get transport(){return{}}get draw(){return{}}set draw(e){}get destination(){return{}}set destination(e){}now(){return 0}immediate(){return 0}}function ke(n,e){Vt(e)?e.forEach(t=>ke(n,t)):Object.defineProperty(n,e,{enumerable:!0,writable:!1})}function Xl(n,e){Vt(e)?e.forEach(t=>Xl(n,t)):Object.defineProperty(n,e,{writable:!0})}const Fe=()=>{};class Le extends Zn{constructor(){super(),this.name="ToneAudioBuffer",this.onload=Fe;const e=z(Le.getDefaults(),arguments,["url","onload","onerror"]);this.reverse=e.reverse,this.onload=e.onload,jn(e.url)?this.load(e.url).catch(e.onerror):e.url&&this.set(e.url)}static getDefaults(){return{onerror:Fe,onload:Fe,reverse:!1}}get sampleRate(){return this._buffer?this._buffer.sampleRate:$t().sampleRate}set(e){return e instanceof Le?e.loaded?this._buffer=e.get():e.onload=()=>{this.set(e),this.onload(this)}:this._buffer=e,this._reversed&&this._reverse(),this}get(){return this._buffer}load(e){return tt(this,void 0,void 0,function*(){const t=Le.load(e).then(s=>{this.set(s),this.onload(this)});Le.downloads.push(t);try{yield t}finally{const s=Le.downloads.indexOf(t);Le.downloads.splice(s,1)}return this})}dispose(){return super.dispose(),this._buffer=void 0,this}fromArray(e){const t=Vt(e)&&e[0].length>0,s=t?e.length:1,r=t?e[0].length:e.length,i=$t(),o=i.createBuffer(s,r,i.sampleRate),a=!t&&s===1?[e]:e;for(let c=0;cr/s),this.fromArray(t)}return this}toArray(e){if(qn(e))return this.getChannelData(e);if(this.numberOfChannels===1)return this.toArray(0);{const t=[];for(let s=0;s0}get duration(){return this._buffer?this._buffer.duration:0}get length(){return this._buffer?this._buffer.length:0}get numberOfChannels(){return this._buffer?this._buffer.numberOfChannels:0}get reverse(){return this._reversed}set reverse(e){this._reversed!==e&&(this._reversed=e,this._reverse())}static fromArray(e){return new Le().fromArray(e)}static fromUrl(e){return tt(this,void 0,void 0,function*(){return yield new Le().load(e)})}static load(e){return tt(this,void 0,void 0,function*(){const t=e.match(/\[([^\]\[]+\|.+)\]$/);if(t){const c=t[1].split("|");let l=c[0];for(const u of c)if(Le.supportsType(u)){l=u;break}e=e.replace(t[0],l)}const s=Le.baseUrl===""||Le.baseUrl.endsWith("/")?Le.baseUrl:Le.baseUrl+"/",r=document.createElement("a");r.href=s+e,r.pathname=(r.pathname+r.hash).split("/").map(encodeURIComponent).join("/");const i=yield fetch(r.href);if(!i.ok)throw new Error(`could not load url: ${e}`);const o=yield i.arrayBuffer();return yield $t().decodeAudioData(o)})}static supportsType(e){const t=e.split("."),s=t[t.length-1];return document.createElement("audio").canPlayType("audio/"+s)!==""}static loaded(){return tt(this,void 0,void 0,function*(){for(yield Promise.resolve();Le.downloads.length;)yield Le.downloads[0]})}}Le.baseUrl="";Le.downloads=[];class Wa extends eo{constructor(){super({clockSource:"offline",context:So(arguments[0])?arguments[0]:Ax(arguments[0],arguments[1]*arguments[2],arguments[2]),lookAhead:0,updateInterval:So(arguments[0])?128/arguments[0].sampleRate:128/arguments[2]}),this.name="OfflineContext",this._currentTime=0,this.isOffline=!0,this._duration=So(arguments[0])?arguments[0].length/arguments[0].sampleRate:arguments[1]}now(){return this._currentTime}get currentTime(){return this._currentTime}_renderClock(e){return tt(this,void 0,void 0,function*(){let t=0;for(;this._duration-this._currentTime>=0;){this.emit("tick"),this._currentTime+=128/this.sampleRate,t++;const s=Math.floor(this.sampleRate/128);e&&t%s===0&&(yield new Promise(r=>setTimeout(r,1)))}})}render(e=!0){return tt(this,void 0,void 0,function*(){yield this.workletsAreReady(),yield this._renderClock(e);const t=yield this._context.startRendering();return new Le(t)})}close(){return Promise.resolve()}}const qp=new Vx;let Vs=qp;function $t(){return Vs===qp&&Nx&&Lx(new eo),Vs}function Lx(n,e=!1){e&&Vs.dispose(),hr(n)?Vs=new eo(n):So(n)?Vs=new Wa(n):Vs=n}function Bx(){return Vs.resume()}if(Us&&!Us.TONE_SILENCE_LOGGING){const e=` * Tone.js v${jf} * `;console.log(`%c${e}`,"background: #000; color: #fff")}function qx(n){return Math.pow(10,n/20)}function jx(n){return 20*(Math.log(n)/Math.LN10)}function jp(n){return Math.pow(2,n/12)}let za=440;function Ux(){return za}function Wx(n){za=n}function Ls(n){return Math.round(Up(n))}function Up(n){return 69+12*Math.log2(n/za)}function Wp(n){return za*Math.pow(2,(n-69)/12)}class Ql extends Zn{constructor(e,t,s){super(),this.defaultUnits="s",this._val=t,this._units=s,this.context=e,this._expressions=this._getExpressions()}_getExpressions(){return{hz:{method:e=>this._frequencyToUnits(parseFloat(e)),regexp:/^(\d+(?:\.\d+)?)hz$/i},i:{method:e=>this._ticksToUnits(parseInt(e,10)),regexp:/^(\d+)i$/i},m:{method:e=>this._beatsToUnits(parseInt(e,10)*this._getTimeSignature()),regexp:/^(\d+)m$/i},n:{method:(e,t)=>{const s=parseInt(e,10),r=t==="."?1.5:1;return s===1?this._beatsToUnits(this._getTimeSignature())*r:this._beatsToUnits(4/s)*r},regexp:/^(\d+)n(\.?)$/i},number:{method:e=>this._expressions[this.defaultUnits].method.call(this,e),regexp:/^(\d+(?:\.\d+)?)$/},s:{method:e=>this._secondsToUnits(parseFloat(e)),regexp:/^(\d+(?:\.\d+)?)s$/},samples:{method:e=>parseInt(e,10)/this.context.sampleRate,regexp:/^(\d+)samples$/},t:{method:e=>{const t=parseInt(e,10);return this._beatsToUnits(8/(Math.floor(t)*3))},regexp:/^(\d+)t$/i},tr:{method:(e,t,s)=>{let r=0;return e&&e!=="0"&&(r+=this._beatsToUnits(this._getTimeSignature()*parseFloat(e))),t&&t!=="0"&&(r+=this._beatsToUnits(parseFloat(t))),s&&s!=="0"&&(r+=this._beatsToUnits(parseFloat(s)/4)),r},regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?$/}}}valueOf(){if(this._val instanceof Ql&&this.fromType(this._val),Ft(this._val))return this._noArg();if(jn(this._val)&&Ft(this._units)){for(const e in this._expressions)if(this._expressions[e].regexp.test(this._val.trim())){this._units=e;break}}else if(js(this._val)){let e=0;for(const t in this._val)if(Ce(this._val[t])){const s=this._val[t],r=new this.constructor(this.context,t).valueOf()*s;e+=r}return e}if(Ce(this._units)){const e=this._expressions[this._units],t=this._val.toString().trim().match(e.regexp);return t?e.method.apply(this,t.slice(1)):e.method.call(this,this._val)}else return jn(this._val)?parseFloat(this._val):this._val}_frequencyToUnits(e){return 1/e}_beatsToUnits(e){return 60/this._getBpm()*e}_secondsToUnits(e){return e}_ticksToUnits(e){return e*this._beatsToUnits(1)/this._getPPQ()}_noArg(){return this._now()}_getBpm(){return this.context.transport.bpm.value}_getTimeSignature(){return this.context.transport.timeSignature}_getPPQ(){return this.context.transport.PPQ}fromType(e){switch(this._units=void 0,this.defaultUnits){case"s":this._val=e.toSeconds();break;case"i":this._val=e.toTicks();break;case"hz":this._val=e.toFrequency();break;case"midi":this._val=e.toMidi();break}return this}toFrequency(){return 1/this.toSeconds()}toSamples(){return this.toSeconds()*this.context.sampleRate}toMilliseconds(){return this.toSeconds()*1e3}}class en extends Ql{constructor(){super(...arguments),this.name="TimeClass"}_getExpressions(){return Object.assign(super._getExpressions(),{now:{method:e=>this._now()+new this.constructor(this.context,e).valueOf(),regexp:/^\+(.+)/},quantize:{method:e=>{const t=new en(this.context,e).valueOf();return this._secondsToUnits(this.context.transport.nextSubdivision(t))},regexp:/^@(.+)/}})}quantize(e,t=1){const s=new this.constructor(this.context,e).valueOf(),r=this.valueOf(),a=Math.round(r/s)*s-r;return r+a*t}toNotation(){const e=this.toSeconds(),t=["1m"];for(let i=1;i<9;i++){const o=Math.pow(2,i);t.push(o+"n."),t.push(o+"n"),t.push(o+"t")}t.push("0");let s=t[0],r=new en(this.context,t[0]).toSeconds();return t.forEach(i=>{const o=new en(this.context,i).toSeconds();Math.abs(o-e)3&&(r=parseFloat(parseFloat(i).toFixed(3))),[s,t,r].join(":")}toTicks(){const e=this._beatsToUnits(1);return this.valueOf()/e*this._getPPQ()}toSeconds(){return this.valueOf()}toMidi(){return Ls(this.toFrequency())}_now(){return this.context.now()}}class Mt extends en{constructor(){super(...arguments),this.name="Frequency",this.defaultUnits="hz"}static get A4(){return Ux()}static set A4(e){Wx(e)}_getExpressions(){return Object.assign({},super._getExpressions(),{midi:{regexp:/^(\d+(?:\.\d+)?midi)/,method(e){return this.defaultUnits==="midi"?e:Mt.mtof(e)}},note:{regexp:/^([a-g]{1}(?:b|#|##|x|bb|###|#x|x#|bbb)?)(-?[0-9]+)/i,method(e,t){const r=zx[e.toLowerCase()]+(parseInt(t,10)+1)*12;return this.defaultUnits==="midi"?r:Mt.mtof(r)}},tr:{regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?/,method(e,t,s){let r=1;return e&&e!=="0"&&(r*=this._beatsToUnits(this._getTimeSignature()*parseFloat(e))),t&&t!=="0"&&(r*=this._beatsToUnits(parseFloat(t))),s&&s!=="0"&&(r*=this._beatsToUnits(parseFloat(s)/4)),r}}})}transpose(e){return new Mt(this.context,this.valueOf()*jp(e))}harmonize(e){return e.map(t=>this.transpose(t))}toMidi(){return Ls(this.valueOf())}toNote(){const e=this.toFrequency(),t=Math.log2(e/Mt.A4);let s=Math.round(12*t)+57;const r=Math.floor(s/12);return r<0&&(s+=-12*r),Hx[s%12]+r.toString()}toSeconds(){return 1/super.toSeconds()}toTicks(){const e=this._beatsToUnits(1),t=this.valueOf()/e;return Math.floor(t*this._getPPQ())}_noArg(){return 0}_frequencyToUnits(e){return e}_ticksToUnits(e){return 1/(e*60/(this._getBpm()*this._getPPQ()))}_beatsToUnits(e){return 1/super._beatsToUnits(e)}_secondsToUnits(e){return 1/e}static mtof(e){return Wp(e)}static ftom(e){return Ls(e)}}const zx={cbbb:-3,cbb:-2,cb:-1,c:0,"c#":1,cx:2,"c##":2,"c###":3,"cx#":3,"c#x":3,dbbb:-1,dbb:0,db:1,d:2,"d#":3,dx:4,"d##":4,"d###":5,"dx#":5,"d#x":5,ebbb:1,ebb:2,eb:3,e:4,"e#":5,ex:6,"e##":6,"e###":7,"ex#":7,"e#x":7,fbbb:2,fbb:3,fb:4,f:5,"f#":6,fx:7,"f##":7,"f###":8,"fx#":8,"f#x":8,gbbb:4,gbb:5,gb:6,g:7,"g#":8,gx:9,"g##":9,"g###":10,"gx#":10,"g#x":10,abbb:6,abb:7,ab:8,a:9,"a#":10,ax:11,"a##":11,"a###":12,"ax#":12,"a#x":12,bbbb:8,bbb:9,bb:10,b:11,"b#":12,bx:13,"b##":13,"b###":14,"bx#":14,"b#x":14},Hx=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"];function zp(n,e){return new Mt($t(),n,e)}class oi extends en{constructor(){super(...arguments),this.name="TransportTime"}_now(){return this.context.transport.seconds}}class kt extends Zn{constructor(){super();const e=z(kt.getDefaults(),arguments,["context"]);this.defaultContext?this.context=this.defaultContext:this.context=e.context}static getDefaults(){return{context:$t()}}now(){return this.context.currentTime+this.context.lookAhead}immediate(){return this.context.currentTime}get sampleTime(){return 1/this.context.sampleRate}get blockTime(){return 128/this.context.sampleRate}toSeconds(e){return Ex(e),new en(this.context,e).toSeconds()}toFrequency(e){return new Mt(this.context,e).toFrequency()}toTicks(e){return new oi(this.context,e).toTicks()}_getPartialProperties(e){const t=this.get();return Object.keys(t).forEach(s=>{Ft(e[s])&&delete t[s]}),t}get(){const e=Dx(this);return Object.keys(e).forEach(t=>{if(Reflect.has(this,t)){const s=this[t];Ce(s)&&Ce(s.value)&&Ce(s.setValueAtTime)?e[t]=s.value:s instanceof kt?e[t]=s._getPartialProperties(e[t]):Vt(s)||qn(s)||jn(s)||Tx(s)?e[t]=s:delete e[t]}}),e}set(e){return Object.keys(e).forEach(t=>{Reflect.has(this,t)&&Ce(this[t])&&(this[t]&&Ce(this[t].value)&&Ce(this[t].setValueAtTime)?this[t].value!==e[t]&&(this[t].value=e[t]):this[t]instanceof kt?this[t].set(e[t]):this[t]=e[t])}),this}}class Jl extends Wt{constructor(e="stopped"){super(),this.name="StateTimeline",this._initial=e,this.setStateAtTime(this._initial,0)}getValueAtTime(e){const t=this.get(e);return t!==null?t.state:this._initial}setStateAtTime(e,t,s){return on(t,0),this.add(Object.assign({},s,{state:e,time:t})),this}getLastState(e,t){const s=this._search(t);for(let r=s;r>=0;r--){const i=this._timeline[r];if(i.state===e)return i}}getNextState(e,t){const s=this._search(t);if(s!==-1)for(let r=s;r0,"timeConstant must be a number greater than 0");const i=this.toSeconds(t);return this._assertRange(r),pe(isFinite(r)&&isFinite(i),`Invalid argument(s) to setTargetAtTime: ${JSON.stringify(e)}, ${JSON.stringify(t)}`),this._events.add({constant:s,time:i,type:"setTargetAtTime",value:r}),this.log(this.units,"setTargetAtTime",e,i,s),this._param.setTargetAtTime(r,i,s),this}setValueCurveAtTime(e,t,s,r=1){s=this.toSeconds(s),t=this.toSeconds(t);const i=this._fromType(e[0])*r;this.setValueAtTime(this._toType(i),t);const o=s/(e.length-1);for(let a=1;a{r.type==="cancelScheduledValues"?e.cancelScheduledValues(r.time):r.type==="setTargetAtTime"?e.setTargetAtTime(r.value,r.time,r.constant):e[r.type](r.value,r.time)}),this}setParam(e){pe(this._swappable,"The Param must be assigned as 'swappable' in the constructor");const t=this.input;return t.disconnect(this._param),this.apply(e),this._param=e,t.connect(this._param),this}dispose(){return super.dispose(),this._events.dispose(),this}get defaultValue(){return this._toType(this._param.defaultValue)}_exponentialApproach(e,t,s,r,i){return s+(t-s)*Math.exp(-(i-e)/r)}_linearInterpolate(e,t,s,r,i){return t+(r-t)*((i-e)/(s-e))}_exponentialInterpolate(e,t,s,r,i){return t*Math.pow(r/t,(i-e)/(s-e))}}class he extends kt{constructor(){super(...arguments),this._internalChannels=[]}get numberOfInputs(){return Ce(this.input)?Ks(this.input)||this.input instanceof Te?1:this.input.numberOfInputs:0}get numberOfOutputs(){return Ce(this.output)?this.output.numberOfOutputs:0}_isAudioNode(e){return Ce(e)&&(e instanceof he||ms(e))}_getInternalNodes(){const e=this._internalChannels.slice(0);return this._isAudioNode(this.input)&&e.push(this.input),this._isAudioNode(this.output)&&this.input!==this.output&&e.push(this.output),e}_setChannelProperties(e){this._getInternalNodes().forEach(s=>{s.channelCount=e.channelCount,s.channelCountMode=e.channelCountMode,s.channelInterpretation=e.channelInterpretation})}_getChannelProperties(){const e=this._getInternalNodes();pe(e.length>0,"ToneAudioNode does not have any internal nodes");const t=e[0];return{channelCount:t.channelCount,channelCountMode:t.channelCountMode,channelInterpretation:t.channelInterpretation}}get channelCount(){return this._getChannelProperties().channelCount}set channelCount(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelCount:e}))}get channelCountMode(){return this._getChannelProperties().channelCountMode}set channelCountMode(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelCountMode:e}))}get channelInterpretation(){return this._getChannelProperties().channelInterpretation}set channelInterpretation(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelInterpretation:e}))}connect(e,t=0,s=0){return Un(this,e,t,s),this}toDestination(){return this.connect(this.context.destination),this}toMaster(){return qa("toMaster() has been renamed toDestination()"),this.toDestination()}disconnect(e,t=0,s=0){return Hp(this,e,t,s),this}chain(...e){return xi(this,...e),this}fan(...e){return e.forEach(t=>this.connect(t)),this}dispose(){return super.dispose(),Ce(this.input)&&(this.input instanceof he?this.input.dispose():ms(this.input)&&this.input.disconnect()),Ce(this.output)&&(this.output instanceof he?this.output.dispose():ms(this.output)&&this.output.disconnect()),this._internalChannels=[],this}}function xi(...n){const e=n.shift();n.reduce((t,s)=>(t instanceof he?t.connect(s):ms(t)&&Un(t,s),s),e)}function Un(n,e,t=0,s=0){for(pe(Ce(n),"Cannot connect from undefined node"),pe(Ce(e),"Cannot connect to undefined node"),(e instanceof he||ms(e))&&pe(e.numberOfInputs>0,"Cannot connect to node with no inputs"),pe(n.numberOfOutputs>0,"Cannot connect from node with no outputs");e instanceof he||e instanceof Te;)Ce(e.input)&&(e=e.input);for(;n instanceof he;)Ce(n.output)&&(n=n.output);Ks(e)?n.connect(e,t):n.connect(e,t,s)}function Hp(n,e,t=0,s=0){if(Ce(e))for(;e instanceof he;)e=e.input;for(;!ms(n);)Ce(n.output)&&(n=n.output);Ks(e)?n.disconnect(e,t):ms(e)?n.disconnect(e,t,s):n.disconnect()}class De extends he{constructor(){super(z(De.getDefaults(),arguments,["gain","units"])),this.name="Gain",this._gainNode=this.context.createGain(),this.input=this._gainNode,this.output=this._gainNode;const e=z(De.getDefaults(),arguments,["gain","units"]);this.gain=new Te({context:this.context,convert:e.convert,param:this._gainNode.gain,units:e.units,value:e.gain,minValue:e.minValue,maxValue:e.maxValue}),ke(this,"gain")}static getDefaults(){return Object.assign(he.getDefaults(),{convert:!0,gain:1,units:"gain"})}dispose(){return super.dispose(),this._gainNode.disconnect(),this.gain.dispose(),this}}class kr extends he{constructor(e){super(e),this.onended=Fe,this._startTime=-1,this._stopTime=-1,this._timeout=-1,this.output=new De({context:this.context,gain:0}),this._gainNode=this.output,this.getStateAtTime=function(t){const s=this.toSeconds(t);return this._startTime!==-1&&s>=this._startTime&&(this._stopTime===-1||s<=this._stopTime)?"started":"stopped"},this._fadeIn=e.fadeIn,this._fadeOut=e.fadeOut,this._curve=e.curve,this.onended=e.onended}static getDefaults(){return Object.assign(he.getDefaults(),{curve:"linear",fadeIn:0,fadeOut:0,onended:Fe})}_startGain(e,t=1){pe(this._startTime===-1,"Source cannot be started more than once");const s=this.toSeconds(this._fadeIn);return this._startTime=e+s,this._startTime=Math.max(this._startTime,this.context.currentTime),s>0?(this._gainNode.gain.setValueAtTime(0,e),this._curve==="linear"?this._gainNode.gain.linearRampToValueAtTime(t,e+s):this._gainNode.gain.exponentialApproachValueAtTime(t,e,s)):this._gainNode.gain.setValueAtTime(t,e),this}stop(e){return this.log("stop",e),this._stopGain(this.toSeconds(e)),this}_stopGain(e){pe(this._startTime!==-1,"'start' must be called before 'stop'"),this.cancelStop();const t=this.toSeconds(this._fadeOut);return this._stopTime=this.toSeconds(e)+t,this._stopTime=Math.max(this._stopTime,this.now()),t>0?this._curve==="linear"?this._gainNode.gain.linearRampTo(0,t,e):this._gainNode.gain.targetRampTo(0,t,e):(this._gainNode.gain.cancelAndHoldAtTime(e),this._gainNode.gain.setValueAtTime(0,e)),this.context.clearTimeout(this._timeout),this._timeout=this.context.setTimeout(()=>{const s=this._curve==="exponential"?t*2:0;this._stopSource(this.now()+s),this._onended()},this._stopTime-this.context.currentTime),this}_onended(){if(this.onended!==Fe&&(this.onended(this),this.onended=Fe,!this.context.isOffline)){const e=()=>this.dispose();typeof window.requestIdleCallback<"u"?window.requestIdleCallback(e):setTimeout(e,1e3)}}get state(){return this.getStateAtTime(this.now())}cancelStop(){return this.log("cancelStop"),pe(this._startTime!==-1,"Source is not started"),this._gainNode.gain.cancelScheduledValues(this._startTime+this.sampleTime),this.context.clearTimeout(this._timeout),this._stopTime=-1,this}dispose(){return super.dispose(),this._gainNode.dispose(),this.onended=Fe,this}}class Go extends kr{constructor(){super(z(Go.getDefaults(),arguments,["offset"])),this.name="ToneConstantSource",this._source=this.context.createConstantSource();const e=z(Go.getDefaults(),arguments,["offset"]);Un(this._source,this._gainNode),this.offset=new Te({context:this.context,convert:e.convert,param:this._source.offset,units:e.units,value:e.offset,minValue:e.minValue,maxValue:e.maxValue})}static getDefaults(){return Object.assign(kr.getDefaults(),{convert:!0,offset:1,units:"number"})}start(e){const t=this.toSeconds(e);return this.log("start",t),this._startGain(t),this._source.start(t),this}_stopSource(e){this._source.stop(e)}dispose(){return super.dispose(),this.state==="started"&&this.stop(),this._source.disconnect(),this.offset.dispose(),this}}class je extends he{constructor(){super(z(je.getDefaults(),arguments,["value","units"])),this.name="Signal",this.override=!0;const e=z(je.getDefaults(),arguments,["value","units"]);this.output=this._constantSource=new Go({context:this.context,convert:e.convert,offset:e.value,units:e.units,minValue:e.minValue,maxValue:e.maxValue}),this._constantSource.start(0),this.input=this._param=this._constantSource.offset}static getDefaults(){return Object.assign(he.getDefaults(),{convert:!0,units:"number",value:0})}connect(e,t=0,s=0){return Ha(this,e,t,s),this}dispose(){return super.dispose(),this._param.dispose(),this._constantSource.dispose(),this}setValueAtTime(e,t){return this._param.setValueAtTime(e,t),this}getValueAtTime(e){return this._param.getValueAtTime(e)}setRampPoint(e){return this._param.setRampPoint(e),this}linearRampToValueAtTime(e,t){return this._param.linearRampToValueAtTime(e,t),this}exponentialRampToValueAtTime(e,t){return this._param.exponentialRampToValueAtTime(e,t),this}exponentialRampTo(e,t,s){return this._param.exponentialRampTo(e,t,s),this}linearRampTo(e,t,s){return this._param.linearRampTo(e,t,s),this}targetRampTo(e,t,s){return this._param.targetRampTo(e,t,s),this}exponentialApproachValueAtTime(e,t,s){return this._param.exponentialApproachValueAtTime(e,t,s),this}setTargetAtTime(e,t,s){return this._param.setTargetAtTime(e,t,s),this}setValueCurveAtTime(e,t,s,r){return this._param.setValueCurveAtTime(e,t,s,r),this}cancelScheduledValues(e){return this._param.cancelScheduledValues(e),this}cancelAndHoldAtTime(e){return this._param.cancelAndHoldAtTime(e),this}rampTo(e,t,s){return this._param.rampTo(e,t,s),this}get value(){return this._param.value}set value(e){this._param.value=e}get convert(){return this._param.convert}set convert(e){this._param.convert=e}get units(){return this._param.units}get overridden(){return this._param.overridden}set overridden(e){this._param.overridden=e}get maxValue(){return this._param.maxValue}get minValue(){return this._param.minValue}apply(e){return this._param.apply(e),this}}function Ha(n,e,t,s){(e instanceof Te||Ks(e)||e instanceof je&&e.override)&&(e.cancelScheduledValues(0),e.setValueAtTime(0,0),e instanceof je&&(e.overridden=!0)),Un(n,e,t,s)}class Yo extends Te{constructor(){super(z(Yo.getDefaults(),arguments,["value"])),this.name="TickParam",this._events=new Wt(1/0),this._multiplier=1;const e=z(Yo.getDefaults(),arguments,["value"]);this._multiplier=e.multiplier,this._events.cancel(0),this._events.add({ticks:0,time:0,type:"setValueAtTime",value:this._fromType(e.value)}),this.setValueAtTime(e.value,0)}static getDefaults(){return Object.assign(Te.getDefaults(),{multiplier:1,units:"hertz",value:1})}setTargetAtTime(e,t,s){t=this.toSeconds(t),this.setRampPoint(t);const r=this._fromType(e),i=this._events.get(t),o=Math.round(Math.max(1/s,1));for(let a=0;a<=o;a++){const c=s*a+t,l=this._exponentialApproach(i.time,i.value,r,s,c);this.linearRampToValueAtTime(this._toType(l),c)}return this}setValueAtTime(e,t){const s=this.toSeconds(t);super.setValueAtTime(e,t);const r=this._events.get(s),i=this._events.previousEvent(r),o=this._getTicksUntilEvent(i,s);return r.ticks=Math.max(o,0),this}linearRampToValueAtTime(e,t){const s=this.toSeconds(t);super.linearRampToValueAtTime(e,t);const r=this._events.get(s),i=this._events.previousEvent(r),o=this._getTicksUntilEvent(i,s);return r.ticks=Math.max(o,0),this}exponentialRampToValueAtTime(e,t){t=this.toSeconds(t);const s=this._fromType(e),r=this._events.get(t),i=Math.round(Math.max((t-r.time)*10,1)),o=(t-r.time)/i;for(let a=0;a<=i;a++){const c=o*a+r.time,l=this._exponentialInterpolate(r.time,r.value,t,s,c);this.linearRampToValueAtTime(this._toType(l),c)}return this}_getTicksUntilEvent(e,t){if(e===null)e={ticks:0,time:0,type:"setValueAtTime",value:0};else if(Ft(e.ticks)){const o=this._events.previousEvent(e);e.ticks=this._getTicksUntilEvent(o,e.time)}const s=this._fromType(this.getValueAtTime(e.time));let r=this._fromType(this.getValueAtTime(t));const i=this._events.get(t);return i&&i.time===t&&i.type==="setValueAtTime"&&(r=this._fromType(this.getValueAtTime(t-this.sampleTime))),.5*(t-e.time)*(s+r)+e.ticks}getTicksAtTime(e){const t=this.toSeconds(e),s=this._events.get(t);return Math.max(this._getTicksUntilEvent(s,t),0)}getDurationOfTicks(e,t){const s=this.toSeconds(t),r=this.getTicksAtTime(t);return this.getTimeOfTick(r+e)-s}getTimeOfTick(e){const t=this._events.get(e,"ticks"),s=this._events.getAfter(e,"ticks");if(t&&t.ticks===e)return t.time;if(t&&s&&s.type==="linearRampToValueAtTime"&&t.value!==s.value){const r=this._fromType(this.getValueAtTime(t.time)),o=(this._fromType(this.getValueAtTime(s.time))-r)/(s.time-t.time),a=Math.sqrt(Math.pow(r,2)-2*o*(t.ticks-e)),c=(-r+a)/o,l=(-r-a)/o;return(c>0?c:l)+t.time}else return t?t.value===0?1/0:t.time+(e-t.ticks)/t.value:e/this._initialValue}ticksToTime(e,t){return this.getDurationOfTicks(e,t)}timeToTicks(e,t){const s=this.toSeconds(t),r=this.toSeconds(e),i=this.getTicksAtTime(s);return this.getTicksAtTime(s+r)-i}_fromType(e){return this.units==="bpm"&&this.multiplier?1/(60/e/this.multiplier):super._fromType(e)}_toType(e){return this.units==="bpm"&&this.multiplier?e/this.multiplier*60:super._toType(e)}get multiplier(){return this._multiplier}set multiplier(e){const t=this.value;this._multiplier=e,this.cancelScheduledValues(0),this.setValueAtTime(t,0)}}class Ko extends je{constructor(){super(z(Ko.getDefaults(),arguments,["value"])),this.name="TickSignal";const e=z(Ko.getDefaults(),arguments,["value"]);this.input=this._param=new Yo({context:this.context,convert:e.convert,multiplier:e.multiplier,param:this._constantSource.offset,units:e.units,value:e.value})}static getDefaults(){return Object.assign(je.getDefaults(),{multiplier:1,units:"hertz",value:1})}ticksToTime(e,t){return this._param.ticksToTime(e,t)}timeToTicks(e,t){return this._param.timeToTicks(e,t)}getTimeOfTick(e){return this._param.getTimeOfTick(e)}getDurationOfTicks(e,t){return this._param.getDurationOfTicks(e,t)}getTicksAtTime(e){return this._param.getTicksAtTime(e)}get multiplier(){return this._param.multiplier}set multiplier(e){this._param.multiplier=e}dispose(){return super.dispose(),this._param.dispose(),this}}class Zo extends kt{constructor(){super(z(Zo.getDefaults(),arguments,["frequency"])),this.name="TickSource",this._state=new Jl,this._tickOffset=new Wt,this._ticksAtTime=new Wt,this._secondsAtTime=new Wt;const e=z(Zo.getDefaults(),arguments,["frequency"]);this.frequency=new Ko({context:this.context,units:e.units,value:e.frequency}),ke(this,"frequency"),this._state.setStateAtTime("stopped",0),this.setTicksAtTime(0,0)}static getDefaults(){return Object.assign({frequency:1,units:"hertz"},kt.getDefaults())}get state(){return this.getStateAtTime(this.now())}start(e,t){const s=this.toSeconds(e);return this._state.getValueAtTime(s)!=="started"&&(this._state.setStateAtTime("started",s),Ce(t)&&this.setTicksAtTime(t,s),this._ticksAtTime.cancel(s),this._secondsAtTime.cancel(s)),this}stop(e){const t=this.toSeconds(e);if(this._state.getValueAtTime(t)==="stopped"){const s=this._state.get(t);s&&s.time>0&&(this._tickOffset.cancel(s.time),this._state.cancel(s.time))}return this._state.cancel(t),this._state.setStateAtTime("stopped",t),this.setTicksAtTime(0,t),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t),this}pause(e){const t=this.toSeconds(e);return this._state.getValueAtTime(t)==="started"&&(this._state.setStateAtTime("paused",t),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t)),this}cancel(e){return e=this.toSeconds(e),this._state.cancel(e),this._tickOffset.cancel(e),this._ticksAtTime.cancel(e),this._secondsAtTime.cancel(e),this}getTicksAtTime(e){const t=this.toSeconds(e),s=this._state.getLastState("stopped",t),r=this._ticksAtTime.get(t),i={state:"paused",time:t};this._state.add(i);let o=r||s,a=r?r.ticks:0,c=null;return this._state.forEachBetween(o.time,t+this.sampleTime,l=>{let u=o.time;const h=this._tickOffset.get(l.time);h&&h.time>=o.time&&(a=h.ticks,u=h.time),o.state==="started"&&l.state!=="started"&&(a+=this.frequency.getTicksAtTime(l.time)-this.frequency.getTicksAtTime(u),l.time!=i.time&&(c={state:l.state,time:l.time,ticks:a})),o=l}),this._state.remove(i),c&&this._ticksAtTime.add(c),a}get ticks(){return this.getTicksAtTime(this.now())}set ticks(e){this.setTicksAtTime(e,this.now())}get seconds(){return this.getSecondsAtTime(this.now())}set seconds(e){const t=this.now(),s=this.frequency.timeToTicks(e,t);this.setTicksAtTime(s,t)}getSecondsAtTime(e){e=this.toSeconds(e);const t=this._state.getLastState("stopped",e),s={state:"paused",time:e};this._state.add(s);const r=this._secondsAtTime.get(e);let i=r||t,o=r?r.seconds:0,a=null;return this._state.forEachBetween(i.time,e+this.sampleTime,c=>{let l=i.time;const u=this._tickOffset.get(c.time);u&&u.time>=i.time&&(o=u.seconds,l=u.time),i.state==="started"&&c.state!=="started"&&(o+=c.time-l,c.time!=s.time&&(a={state:c.state,time:c.time,seconds:o})),i=c}),this._state.remove(s),a&&this._secondsAtTime.add(a),o}setTicksAtTime(e,t){return t=this.toSeconds(t),this._tickOffset.cancel(t),this._tickOffset.add({seconds:this.frequency.getDurationOfTicks(e,t),ticks:e,time:t}),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t),this}getStateAtTime(e){return e=this.toSeconds(e),this._state.getValueAtTime(e)}getTimeOfTick(e,t=this.now()){const s=this._tickOffset.get(t),r=this._state.get(t),i=Math.max(s.time,r.time),o=this.frequency.getTicksAtTime(i)+e-s.ticks;return this.frequency.getTimeOfTick(o)}forEachTickBetween(e,t,s){let r=this._state.get(e);this._state.forEachBetween(e,t,o=>{r&&r.state==="started"&&o.state!=="started"&&this.forEachTickBetween(Math.max(r.time,e),o.time-this.sampleTime,s),r=o});let i=null;if(r&&r.state==="started"){const o=Math.max(r.time,e),a=this.frequency.getTicksAtTime(o),c=this.frequency.getTicksAtTime(r.time),l=a-c;let u=Math.ceil(l)-l;u=Zt(u,1)?0:u;let h=this.frequency.getTimeOfTick(a+u);for(;h{switch(s.state){case"started":const r=this._tickSource.getTicksAtTime(s.time);this.emit("start",s.time,r);break;case"stopped":s.time!==0&&this.emit("stop",s.time);break;case"paused":this.emit("pause",s.time);break}}),this._tickSource.forEachTickBetween(e,t,(s,r)=>{this.callback(s,r)}))}getStateAtTime(e){const t=this.toSeconds(e);return this._state.getValueAtTime(t)}dispose(){return super.dispose(),this.context.off("tick",this._boundLoop),this._tickSource.dispose(),this._state.dispose(),this}}Ji.mixin(Ti);class Xo extends he{constructor(){super(z(Xo.getDefaults(),arguments,["delayTime","maxDelay"])),this.name="Delay";const e=z(Xo.getDefaults(),arguments,["delayTime","maxDelay"]),t=this.toSeconds(e.maxDelay);this._maxDelay=Math.max(t,this.toSeconds(e.delayTime)),this._delayNode=this.input=this.output=this.context.createDelay(t),this.delayTime=new Te({context:this.context,param:this._delayNode.delayTime,units:"time",value:e.delayTime,minValue:0,maxValue:this.maxDelay}),ke(this,"delayTime")}static getDefaults(){return Object.assign(he.getDefaults(),{delayTime:0,maxDelay:1})}get maxDelay(){return this._maxDelay}dispose(){return super.dispose(),this._delayNode.disconnect(),this.delayTime.dispose(),this}}class eu extends Zn{constructor(){super(),this.name="ToneAudioBuffers",this._buffers=new Map,this._loadingCount=0;const e=z(eu.getDefaults(),arguments,["urls","onload","baseUrl"],"urls");this.baseUrl=e.baseUrl,Object.keys(e.urls).forEach(t=>{this._loadingCount++;const s=e.urls[t];this.add(t,s,this._bufferLoaded.bind(this,e.onload),e.onerror)})}static getDefaults(){return{baseUrl:"",onerror:Fe,onload:Fe,urls:{}}}has(e){return this._buffers.has(e.toString())}get(e){return pe(this.has(e),`ToneAudioBuffers has no buffer named: ${e}`),this._buffers.get(e.toString())}_bufferLoaded(e){this._loadingCount--,this._loadingCount===0&&e&&e()}get loaded(){return Array.from(this._buffers).every(([e,t])=>t.loaded)}add(e,t,s=Fe,r=Fe){return jn(t)?(this.baseUrl&&t.trim().substring(0,11).toLowerCase()==="data:audio/"&&(this.baseUrl=""),this._buffers.set(e.toString(),new Le(this.baseUrl+t,s,r))):this._buffers.set(e.toString(),new Le(t,s,r)),this}dispose(){return super.dispose(),this._buffers.forEach(e=>e.dispose()),this._buffers.clear(),this}}class Ei extends Mt{constructor(){super(...arguments),this.name="MidiClass",this.defaultUnits="midi"}_frequencyToUnits(e){return Ls(super._frequencyToUnits(e))}_ticksToUnits(e){return Ls(super._ticksToUnits(e))}_beatsToUnits(e){return Ls(super._beatsToUnits(e))}_secondsToUnits(e){return Ls(super._secondsToUnits(e))}toMidi(){return this.valueOf()}toFrequency(){return Wp(this.toMidi())}transpose(e){return new Ei(this.context,this.toMidi()+e)}}function Vh(n,e){return new Ei($t(),n,e)}class _r extends oi{constructor(){super(...arguments),this.name="Ticks",this.defaultUnits="i"}_now(){return this.context.transport.ticks}_beatsToUnits(e){return this._getPPQ()*e}_secondsToUnits(e){return Math.floor(e/(60/this._getBpm())*this._getPPQ())}_ticksToUnits(e){return e}toTicks(){return this.valueOf()}toSeconds(){return this.valueOf()/this._getPPQ()*(60/this._getBpm())}}class Gx extends kt{constructor(){super(...arguments),this.name="Draw",this.expiration=.25,this.anticipation=.008,this._events=new Wt,this._boundDrawLoop=this._drawLoop.bind(this),this._animationFrame=-1}schedule(e,t){return this._events.add({callback:e,time:this.toSeconds(t)}),this._events.length===1&&(this._animationFrame=requestAnimationFrame(this._boundDrawLoop)),this}cancel(e){return this._events.cancel(this.toSeconds(e)),this}_drawLoop(){const e=this.context.currentTime;for(;this._events.length&&this._events.peek().time-this.anticipation<=e;){const t=this._events.shift();t&&e-t.time<=this.expiration&&t.callback()}this._events.length>0&&(this._animationFrame=requestAnimationFrame(this._boundDrawLoop))}dispose(){return super.dispose(),this._events.dispose(),cancelAnimationFrame(this._animationFrame),this}}ja(n=>{n.draw=new Gx({context:n})});Ua(n=>{n.draw.dispose()});class Yx extends Zn{constructor(){super(...arguments),this.name="IntervalTimeline",this._root=null,this._length=0}add(e){pe(Ce(e.time),"Events must have a time property"),pe(Ce(e.duration),"Events must have a duration parameter"),e.time=e.time.valueOf();let t=new Kx(e.time,e.time+e.duration,e);for(this._root===null?this._root=t:this._root.insert(t),this._length++;t!==null;)t.updateHeight(),t.updateMax(),this._rebalance(t),t=t.parent;return this}remove(e){if(this._root!==null){const t=[];this._root.search(e.time,t);for(const s of t)if(s.event===e){this._removeNode(s),this._length--;break}}return this}get length(){return this._length}cancel(e){return this.forEachFrom(e,t=>this.remove(t)),this}_setRoot(e){this._root=e,this._root!==null&&(this._root.parent=null)}_replaceNodeInParent(e,t){e.parent!==null?(e.isLeftChild()?e.parent.left=t:e.parent.right=t,this._rebalance(e.parent)):this._setRoot(t)}_removeNode(e){if(e.left===null&&e.right===null)this._replaceNodeInParent(e,null);else if(e.right===null)this._replaceNodeInParent(e,e.left);else if(e.left===null)this._replaceNodeInParent(e,e.right);else{const t=e.getBalance();let s,r=null;if(t>0)if(e.left.right===null)s=e.left,s.right=e.right,r=s;else{for(s=e.left.right;s.right!==null;)s=s.right;s.parent&&(s.parent.right=s.left,r=s.parent,s.left=e.left,s.right=e.right)}else if(e.right.left===null)s=e.right,s.left=e.left,r=s;else{for(s=e.right.left;s.left!==null;)s=s.left;s.parent&&(s.parent.left=s.right,r=s.parent,s.left=e.left,s.right=e.right)}e.parent!==null?e.isLeftChild()?e.parent.left=s:e.parent.right=s:this._setRoot(s),r&&this._rebalance(r)}e.dispose()}_rotateLeft(e){const t=e.parent,s=e.isLeftChild(),r=e.right;r&&(e.right=r.left,r.left=e),t!==null?s?t.left=r:t.right=r:this._setRoot(r)}_rotateRight(e){const t=e.parent,s=e.isLeftChild(),r=e.left;r&&(e.left=r.right,r.right=e),t!==null?s?t.left=r:t.right=r:this._setRoot(r)}_rebalance(e){const t=e.getBalance();t>1&&e.left?e.left.getBalance()<0?this._rotateLeft(e.left):this._rotateRight(e):t<-1&&e.right&&(e.right.getBalance()>0?this._rotateRight(e.right):this._rotateLeft(e))}get(e){if(this._root!==null){const t=[];if(this._root.search(e,t),t.length>0){let s=t[0];for(let r=1;rs.low&&(s=t[r]);return s.event}}return null}forEach(e){if(this._root!==null){const t=[];this._root.traverse(s=>t.push(s)),t.forEach(s=>{s.event&&e(s.event)})}return this}forEachAtTime(e,t){if(this._root!==null){const s=[];this._root.search(e,s),s.forEach(r=>{r.event&&t(r.event)})}return this}forEachFrom(e,t){if(this._root!==null){const s=[];this._root.searchAfter(e,s),s.forEach(r=>{r.event&&t(r.event)})}return this}dispose(){return super.dispose(),this._root!==null&&this._root.traverse(e=>e.dispose()),this._root=null,this}}class Kx{constructor(e,t,s){this._left=null,this._right=null,this.parent=null,this.height=0,this.event=s,this.low=e,this.high=t,this.max=this.high}insert(e){e.low<=this.low?this.left===null?this.left=e:this.left.insert(e):this.right===null?this.right=e:this.right.insert(e)}search(e,t){e>this.max||(this.left!==null&&this.left.search(e,t),this.low<=e&&this.high>e&&t.push(this),!(this.low>e)&&this.right!==null&&this.right.search(e,t))}searchAfter(e,t){this.low>=e&&(t.push(this),this.left!==null&&this.left.searchAfter(e,t)),this.right!==null&&this.right.searchAfter(e,t)}traverse(e){e(this),this.left!==null&&this.left.traverse(e),this.right!==null&&this.right.traverse(e)}updateHeight(){this.left!==null&&this.right!==null?this.height=Math.max(this.left.height,this.right.height)+1:this.right!==null?this.height=this.right.height+1:this.left!==null?this.height=this.left.height+1:this.height=0}updateMax(){this.max=this.high,this.left!==null&&(this.max=Math.max(this.max,this.left.max)),this.right!==null&&(this.max=Math.max(this.max,this.right.max))}getBalance(){let e=0;return this.left!==null&&this.right!==null?e=this.left.height-this.right.height:this.left!==null?e=this.left.height+1:this.right!==null&&(e=-(this.right.height+1)),e}isLeftChild(){return this.parent!==null&&this.parent.left===this}get left(){return this._left}set left(e){this._left=e,e!==null&&(e.parent=this),this.updateHeight(),this.updateMax()}get right(){return this._right}set right(e){this._right=e,e!==null&&(e.parent=this),this.updateHeight(),this.updateMax()}dispose(){this.parent=null,this._left=null,this._right=null,this.event=null}}class Zs extends he{constructor(){super(z(Zs.getDefaults(),arguments,["volume"])),this.name="Volume";const e=z(Zs.getDefaults(),arguments,["volume"]);this.input=this.output=new De({context:this.context,gain:e.volume,units:"decibels"}),this.volume=this.output.gain,ke(this,"volume"),this._unmutedVolume=e.volume,this.mute=e.mute}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,volume:0})}get mute(){return this.volume.value===-1/0}set mute(e){!this.mute&&e?(this._unmutedVolume=this.volume.value,this.volume.value=-1/0):this.mute&&!e&&(this.volume.value=this._unmutedVolume)}dispose(){return super.dispose(),this.input.dispose(),this.volume.dispose(),this}}class Qo extends he{constructor(){super(z(Qo.getDefaults(),arguments)),this.name="Destination",this.input=new Zs({context:this.context}),this.output=new De({context:this.context}),this.volume=this.input.volume;const e=z(Qo.getDefaults(),arguments);xi(this.input,this.output,this.context.rawContext.destination),this.mute=e.mute,this._internalChannels=[this.input,this.context.rawContext.destination,this.output]}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,volume:0})}get mute(){return this.input.mute}set mute(e){this.input.mute=e}chain(...e){return this.input.disconnect(),e.unshift(this.input),e.push(this.output),xi(...e),this}get maxChannelCount(){return this.context.rawContext.destination.maxChannelCount}dispose(){return super.dispose(),this.volume.dispose(),this}}ja(n=>{n.destination=new Qo({context:n})});Ua(n=>{n.destination.dispose()});class Zx extends Zn{constructor(e){super(),this.name="TimelineValue",this._timeline=new Wt({memory:10}),this._initialValue=e}set(e,t){return this._timeline.add({value:e,time:t}),this}get(e){const t=this._timeline.get(e);return t?t.value:this._initialValue}}class Cn extends he{constructor(){super(Object.assign(z(Cn.getDefaults(),arguments,["context"])))}connect(e,t=0,s=0){return Ha(this,e,t,s),this}}class Xs extends Cn{constructor(){super(Object.assign(z(Xs.getDefaults(),arguments,["mapping","length"]))),this.name="WaveShaper",this._shaper=this.context.createWaveShaper(),this.input=this._shaper,this.output=this._shaper;const e=z(Xs.getDefaults(),arguments,["mapping","length"]);Vt(e.mapping)||e.mapping instanceof Float32Array?this.curve=Float32Array.from(e.mapping):xx(e.mapping)&&this.setMap(e.mapping,e.length)}static getDefaults(){return Object.assign(je.getDefaults(),{length:1024})}setMap(e,t=1024){const s=new Float32Array(t);for(let r=0,i=t;rs.includes(e));pe(t,"oversampling must be either 'none', '2x', or '4x'"),this._shaper.oversample=e}dispose(){return super.dispose(),this._shaper.disconnect(),this}}class Si extends Cn{constructor(){super(Object.assign(z(Si.getDefaults(),arguments,["value"]))),this.name="Pow";const e=z(Si.getDefaults(),arguments,["value"]);this._exponentScaler=this.input=this.output=new Xs({context:this.context,mapping:this._expFunc(e.value),length:8192}),this._exponent=e.value}static getDefaults(){return Object.assign(Cn.getDefaults(),{value:1})}_expFunc(e){return t=>Math.pow(Math.abs(t),e)}get value(){return this._exponent}set value(e){this._exponent=e,this._exponentScaler.setMap(this._expFunc(this._exponent))}dispose(){return super.dispose(),this._exponentScaler.dispose(),this}}class gs{constructor(e,t){this.id=gs._eventId++,this._remainderTime=0;const s=Object.assign(gs.getDefaults(),t);this.transport=e,this.callback=s.callback,this._once=s.once,this.time=Math.floor(s.time),this._remainderTime=s.time-this.time}static getDefaults(){return{callback:Fe,once:!1,time:0}}get floatTime(){return this.time+this._remainderTime}invoke(e){if(this.callback){const t=this.transport.bpm.getDurationOfTicks(1,e);this.callback(e+this._remainderTime*t),this._once&&this.transport.clear(this.id)}}dispose(){return this.callback=void 0,this}}gs._eventId=0;class tu extends gs{constructor(e,t){super(e,t),this._currentId=-1,this._nextId=-1,this._nextTick=this.time,this._boundRestart=this._restart.bind(this);const s=Object.assign(tu.getDefaults(),t);this.duration=s.duration,this._interval=s.interval,this._nextTick=s.time,this.transport.on("start",this._boundRestart),this.transport.on("loopStart",this._boundRestart),this.transport.on("ticks",this._boundRestart),this.context=this.transport.context,this._restart()}static getDefaults(){return Object.assign({},gs.getDefaults(),{duration:1/0,interval:1,once:!1})}invoke(e){this._createEvents(e),super.invoke(e)}_createEvent(){return Ho(this._nextTick,this.floatTime+this.duration)?this.transport.scheduleOnce(this.invoke.bind(this),new _r(this.context,this._nextTick).toSeconds()):-1}_createEvents(e){Ho(this._nextTick+this._interval,this.floatTime+this.duration)&&(this._nextTick+=this._interval,this._currentId=this._nextId,this._nextId=this.transport.scheduleOnce(this.invoke.bind(this),new _r(this.context,this._nextTick).toSeconds()))}_restart(e){this.transport.clear(this._currentId),this.transport.clear(this._nextId),this._nextTick=this.floatTime;const t=this.transport.getTicksAtTime(e);Mr(t,this.time)&&(this._nextTick=this.floatTime+Math.ceil((t-this.floatTime)/this._interval)*this._interval),this._currentId=this._createEvent(),this._nextTick+=this._interval,this._nextId=this._createEvent()}dispose(){return super.dispose(),this.transport.clear(this._currentId),this.transport.clear(this._nextId),this.transport.off("start",this._boundRestart),this.transport.off("loopStart",this._boundRestart),this.transport.off("ticks",this._boundRestart),this}}let Jo=class extends kt{constructor(){super(z(Jo.getDefaults(),arguments)),this.name="Transport",this._loop=new Zx(!1),this._loopStart=0,this._loopEnd=0,this._scheduledEvents={},this._timeline=new Wt,this._repeatedEvents=new Yx,this._syncedSignals=[],this._swingAmount=0;const e=z(Jo.getDefaults(),arguments);this._ppq=e.ppq,this._clock=new Ti({callback:this._processTick.bind(this),context:this.context,frequency:0,units:"bpm"}),this._bindClockEvents(),this.bpm=this._clock.frequency,this._clock.frequency.multiplier=e.ppq,this.bpm.setValueAtTime(e.bpm,0),ke(this,"bpm"),this._timeSignature=e.timeSignature,this._swingTicks=e.ppq/2}static getDefaults(){return Object.assign(kt.getDefaults(),{bpm:120,loopEnd:"4m",loopStart:0,ppq:192,swing:0,swingSubdivision:"8n",timeSignature:4})}_processTick(e,t){if(this._loop.get(e)&&t>=this._loopEnd&&(this.emit("loopEnd",e),this._clock.setTicksAtTime(this._loopStart,e),t=this._loopStart,this.emit("loopStart",e,this._clock.getSecondsAtTime(e)),this.emit("loop",e)),this._swingAmount>0&&t%this._ppq!==0&&t%(this._swingTicks*2)!==0){const s=t%(this._swingTicks*2)/(this._swingTicks*2),r=Math.sin(s*Math.PI)*this._swingAmount;e+=new _r(this.context,this._swingTicks*2/3).toSeconds()*r}Fh(!0),this._timeline.forEachAtTime(t,s=>s.invoke(e)),Fh(!1)}schedule(e,t){const s=new gs(this,{callback:e,time:new oi(this.context,t).toTicks()});return this._addEvent(s,this._timeline)}scheduleRepeat(e,t,s,r=1/0){const i=new tu(this,{callback:e,duration:new en(this.context,r).toTicks(),interval:new en(this.context,t).toTicks(),time:new oi(this.context,s).toTicks()});return this._addEvent(i,this._repeatedEvents)}scheduleOnce(e,t){const s=new gs(this,{callback:e,once:!0,time:new oi(this.context,t).toTicks()});return this._addEvent(s,this._timeline)}clear(e){if(this._scheduledEvents.hasOwnProperty(e)){const t=this._scheduledEvents[e.toString()];t.timeline.remove(t.event),t.event.dispose(),delete this._scheduledEvents[e.toString()]}return this}_addEvent(e,t){return this._scheduledEvents[e.id.toString()]={event:e,timeline:t},t.add(e),e.id}cancel(e=0){const t=this.toTicks(e);return this._timeline.forEachFrom(t,s=>this.clear(s.id)),this._repeatedEvents.forEachFrom(t,s=>this.clear(s.id)),this}_bindClockEvents(){this._clock.on("start",(e,t)=>{t=new _r(this.context,t).toSeconds(),this.emit("start",e,t)}),this._clock.on("stop",e=>{this.emit("stop",e)}),this._clock.on("pause",e=>{this.emit("pause",e)})}get state(){return this._clock.getStateAtTime(this.now())}start(e,t){this.context.resume();let s;return Ce(t)&&(s=this.toTicks(t)),this._clock.start(e,s),this}stop(e){return this._clock.stop(e),this}pause(e){return this._clock.pause(e),this}toggle(e){return e=this.toSeconds(e),this._clock.getStateAtTime(e)!=="started"?this.start(e):this.stop(e),this}get timeSignature(){return this._timeSignature}set timeSignature(e){Vt(e)&&(e=e[0]/e[1]*4),this._timeSignature=e}get loopStart(){return new en(this.context,this._loopStart,"i").toSeconds()}set loopStart(e){this._loopStart=this.toTicks(e)}get loopEnd(){return new en(this.context,this._loopEnd,"i").toSeconds()}set loopEnd(e){this._loopEnd=this.toTicks(e)}get loop(){return this._loop.get(this.now())}set loop(e){this._loop.set(e,this.now())}setLoopPoints(e,t){return this.loopStart=e,this.loopEnd=t,this}get swing(){return this._swingAmount}set swing(e){this._swingAmount=e}get swingSubdivision(){return new _r(this.context,this._swingTicks).toNotation()}set swingSubdivision(e){this._swingTicks=this.toTicks(e)}get position(){const e=this.now(),t=this._clock.getTicksAtTime(e);return new _r(this.context,t).toBarsBeatsSixteenths()}set position(e){const t=this.toTicks(e);this.ticks=t}get seconds(){return this._clock.seconds}set seconds(e){const t=this.now(),s=this._clock.frequency.timeToTicks(e,t);this.ticks=s}get progress(){if(this.loop){const e=this.now();return(this._clock.getTicksAtTime(e)-this._loopStart)/(this._loopEnd-this._loopStart)}else return 0}get ticks(){return this._clock.ticks}set ticks(e){if(this._clock.ticks!==e){const t=this.now();if(this.state==="started"){const s=this._clock.getTicksAtTime(t),r=this._clock.frequency.getDurationOfTicks(Math.ceil(s)-s,t),i=t+r;this.emit("stop",i),this._clock.setTicksAtTime(e,i),this.emit("start",i,this._clock.getSecondsAtTime(i))}else this.emit("ticks",t),this._clock.setTicksAtTime(e,t)}}getTicksAtTime(e){return this._clock.getTicksAtTime(e)}getSecondsAtTime(e){return this._clock.getSecondsAtTime(e)}get PPQ(){return this._clock.frequency.multiplier}set PPQ(e){this._clock.frequency.multiplier=e}nextSubdivision(e){if(e=this.toTicks(e),this.state!=="started")return 0;{const t=this.now(),s=this.getTicksAtTime(t),r=e-s%e;return this._clock.nextTickTime(r,t)}}syncSignal(e,t){const s=this.now();let r=this.bpm,i=1/(60/r.getValueAtTime(s)/this.PPQ),o=[];if(e.units==="time"){const c=.015625/i,l=new De(c),u=new Si(-1),h=new De(c);r.chain(l,u,h),r=h,i=1/i,o=[l,u,h]}t||(e.getValueAtTime(s)!==0?t=e.getValueAtTime(s)/i:t=0);const a=new De(t);return r.connect(a),a.connect(e._param),o.push(a),this._syncedSignals.push({initial:e.value,nodes:o,signal:e}),e.value=0,this}unsyncSignal(e){for(let t=this._syncedSignals.length-1;t>=0;t--){const s=this._syncedSignals[t];s.signal===e&&(s.nodes.forEach(r=>r.dispose()),s.signal.value=s.initial,this._syncedSignals.splice(t,1))}return this}dispose(){return super.dispose(),this._clock.dispose(),Xl(this,"bpm"),this._timeline.dispose(),this._repeatedEvents.dispose(),this}};Ji.mixin(Jo);ja(n=>{n.transport=new Jo({context:n})});Ua(n=>{n.transport.dispose()});class wt extends he{constructor(e){super(e),this.input=void 0,this._state=new Jl("stopped"),this._synced=!1,this._scheduled=[],this._syncedStart=Fe,this._syncedStop=Fe,this._state.memory=100,this._state.increasing=!0,this._volume=this.output=new Zs({context:this.context,mute:e.mute,volume:e.volume}),this.volume=this._volume.volume,ke(this,"volume"),this.onstop=e.onstop}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,onstop:Fe,volume:0})}get state(){return this._synced?this.context.transport.state==="started"?this._state.getValueAtTime(this.context.transport.seconds):"stopped":this._state.getValueAtTime(this.now())}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}_clampToCurrentTime(e){return this._synced?e:Math.max(e,this.context.currentTime)}start(e,t,s){let r=Ft(e)&&this._synced?this.context.transport.seconds:this.toSeconds(e);if(r=this._clampToCurrentTime(r),!this._synced&&this._state.getValueAtTime(r)==="started")pe(Mr(r,this._state.get(r).time),"Start time must be strictly greater than previous start time"),this._state.cancel(r),this._state.setStateAtTime("started",r),this.log("restart",r),this.restart(r,t,s);else if(this.log("start",r),this._state.setStateAtTime("started",r),this._synced){const i=this._state.get(r);i&&(i.offset=this.toSeconds(Tr(t,0)),i.duration=s?this.toSeconds(s):void 0);const o=this.context.transport.schedule(a=>{this._start(a,t,s)},r);this._scheduled.push(o),this.context.transport.state==="started"&&this.context.transport.getSecondsAtTime(this.immediate())>r&&this._syncedStart(this.now(),this.context.transport.seconds)}else Pp(this.context),this._start(r,t,s);return this}stop(e){let t=Ft(e)&&this._synced?this.context.transport.seconds:this.toSeconds(e);if(t=this._clampToCurrentTime(t),this._state.getValueAtTime(t)==="started"||Ce(this._state.getNextState("started",t))){if(this.log("stop",t),!this._synced)this._stop(t);else{const s=this.context.transport.schedule(this._stop.bind(this),t);this._scheduled.push(s)}this._state.cancel(t),this._state.setStateAtTime("stopped",t)}return this}restart(e,t,s){return e=this.toSeconds(e),this._state.getValueAtTime(e)==="started"&&(this._state.cancel(e),this._restart(e,t,s)),this}sync(){return this._synced||(this._synced=!0,this._syncedStart=(e,t)=>{if(Mr(t,0)){const s=this._state.get(t);if(s&&s.state==="started"&&s.time!==t){const r=t-this.toSeconds(s.time);let i;s.duration&&(i=this.toSeconds(s.duration)-r),this._start(e,this.toSeconds(s.offset)+r,i)}}},this._syncedStop=e=>{const t=this.context.transport.getSecondsAtTime(Math.max(e-this.sampleTime,0));this._state.getValueAtTime(t)==="started"&&this._stop(e)},this.context.transport.on("start",this._syncedStart),this.context.transport.on("loopStart",this._syncedStart),this.context.transport.on("stop",this._syncedStop),this.context.transport.on("pause",this._syncedStop),this.context.transport.on("loopEnd",this._syncedStop)),this}unsync(){return this._synced&&(this.context.transport.off("stop",this._syncedStop),this.context.transport.off("pause",this._syncedStop),this.context.transport.off("loopEnd",this._syncedStop),this.context.transport.off("start",this._syncedStart),this.context.transport.off("loopStart",this._syncedStart)),this._synced=!1,this._scheduled.forEach(e=>this.context.transport.clear(e)),this._scheduled=[],this._state.cancel(0),this._stop(0),this}dispose(){return super.dispose(),this.onstop=Fe,this.unsync(),this._volume.dispose(),this._state.dispose(),this}}class Or extends kr{constructor(){super(z(Or.getDefaults(),arguments,["url","onload"])),this.name="ToneBufferSource",this._source=this.context.createBufferSource(),this._internalChannels=[this._source],this._sourceStarted=!1,this._sourceStopped=!1;const e=z(Or.getDefaults(),arguments,["url","onload"]);Un(this._source,this._gainNode),this._source.onended=()=>this._stopSource(),this.playbackRate=new Te({context:this.context,param:this._source.playbackRate,units:"positive",value:e.playbackRate}),this.loop=e.loop,this.loopStart=e.loopStart,this.loopEnd=e.loopEnd,this._buffer=new Le(e.url,e.onload,e.onerror),this._internalChannels.push(this._source)}static getDefaults(){return Object.assign(kr.getDefaults(),{url:new Le,loop:!1,loopEnd:0,loopStart:0,onload:Fe,onerror:Fe,playbackRate:1})}get fadeIn(){return this._fadeIn}set fadeIn(e){this._fadeIn=e}get fadeOut(){return this._fadeOut}set fadeOut(e){this._fadeOut=e}get curve(){return this._curve}set curve(e){this._curve=e}start(e,t,s,r=1){pe(this.buffer.loaded,"buffer is either not set or not loaded");const i=this.toSeconds(e);this._startGain(i,r),this.loop?t=Tr(t,this.loopStart):t=Tr(t,0);let o=Math.max(this.toSeconds(t),0);if(this.loop){const a=this.toSeconds(this.loopEnd)||this.buffer.duration,c=this.toSeconds(this.loopStart),l=a-c;Uc(o,a)&&(o=(o-c)%l+c),Zt(o,this.buffer.duration)&&(o=0)}if(this._source.buffer=this.buffer.get(),this._source.loopEnd=this.toSeconds(this.loopEnd)||this.buffer.duration,Ho(o,this.buffer.duration)&&(this._sourceStarted=!0,this._source.start(i,o)),Ce(s)){let a=this.toSeconds(s);a=Math.max(a,0),this.stop(i+a)}return this}_stopSource(e){!this._sourceStopped&&this._sourceStarted&&(this._sourceStopped=!0,this._source.stop(this.toSeconds(e)),this._onended())}get loopStart(){return this._source.loopStart}set loopStart(e){this._source.loopStart=this.toSeconds(e)}get loopEnd(){return this._source.loopEnd}set loopEnd(e){this._source.loopEnd=this.toSeconds(e)}get buffer(){return this._buffer}set buffer(e){this._buffer.set(e)}get loop(){return this._source.loop}set loop(e){this._source.loop=e,this._sourceStarted&&this.cancelStop()}dispose(){return super.dispose(),this._source.onended=null,this._source.disconnect(),this._buffer.dispose(),this.playbackRate.dispose(),this}}class Ci extends wt{constructor(){super(z(Ci.getDefaults(),arguments,["type"])),this.name="Noise",this._source=null;const e=z(Ci.getDefaults(),arguments,["type"]);this._playbackRate=e.playbackRate,this.type=e.type,this._fadeIn=e.fadeIn,this._fadeOut=e.fadeOut}static getDefaults(){return Object.assign(wt.getDefaults(),{fadeIn:0,fadeOut:0,playbackRate:1,type:"white"})}get type(){return this._type}set type(e){if(pe(e in Lh,"Noise: invalid type: "+e),this._type!==e&&(this._type=e,this.state==="started")){const t=this.now();this._stop(t),this._start(t)}}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e,this._source&&(this._source.playbackRate.value=e)}_start(e){const t=Lh[this._type];this._source=new Or({url:t,context:this.context,fadeIn:this._fadeIn,fadeOut:this._fadeOut,loop:!0,onended:()=>this.onstop(this),playbackRate:this._playbackRate}).connect(this.output),this._source.start(this.toSeconds(e),Math.random()*(t.duration-.001))}_stop(e){this._source&&(this._source.stop(this.toSeconds(e)),this._source=null)}get fadeIn(){return this._fadeIn}set fadeIn(e){this._fadeIn=e,this._source&&(this._source.fadeIn=this._fadeIn)}get fadeOut(){return this._fadeOut}set fadeOut(e){this._fadeOut=e,this._source&&(this._source.fadeOut=this._fadeOut)}_restart(e){this._stop(e),this._start(e)}dispose(){return super.dispose(),this._source&&this._source.disconnect(),this}}const cr=44100*5,pc=2,On={brown:null,pink:null,white:null},Lh={get brown(){if(!On.brown){const n=[];for(let e=0;ethis.onstop(this)});this._oscillator=s,this._wave?this._oscillator.setPeriodicWave(this._wave):this._oscillator.type=this._type,this._oscillator.connect(this.output),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.start(t)}_stop(e){const t=this.toSeconds(e);this._oscillator&&this._oscillator.stop(t)}_restart(e){const t=this.toSeconds(e);return this.log("restart",t),this._oscillator&&this._oscillator.cancelStop(),this._state.cancel(t),this}syncFrequency(){return this.context.transport.syncSignal(this.frequency),this}unsyncFrequency(){return this.context.transport.unsyncSignal(this.frequency),this}_getCachedPeriodicWave(){if(this._type==="custom")return Ze._periodicWaveCache.find(t=>t.phase===this._phase&&Rx(t.partials,this._partials));{const e=Ze._periodicWaveCache.find(t=>t.type===this._type&&t.phase===this._phase);return this._partialCount=e?e.partialCount:this._partialCount,e}}get type(){return this._type}set type(e){this._type=e;const t=["sine","square","sawtooth","triangle"].indexOf(e)!==-1;if(this._phase===0&&t)this._wave=void 0,this._partialCount=0,this._oscillator!==null&&(this._oscillator.type=e);else{const s=this._getCachedPeriodicWave();if(Ce(s)){const{partials:r,wave:i}=s;this._wave=i,this._partials=r,this._oscillator!==null&&this._oscillator.setPeriodicWave(this._wave)}else{const[r,i]=this._getRealImaginary(e,this._phase),o=this.context.createPeriodicWave(r,i);this._wave=o,this._oscillator!==null&&this._oscillator.setPeriodicWave(this._wave),Ze._periodicWaveCache.push({imag:i,partialCount:this._partialCount,partials:this._partials,phase:this._phase,real:r,type:this._type,wave:this._wave}),Ze._periodicWaveCache.length>100&&Ze._periodicWaveCache.shift()}}}get baseType(){return this._type.replace(this.partialCount.toString(),"")}set baseType(e){this.partialCount&&this._type!=="custom"&&e!=="custom"?this.type=e+this.partialCount:this.type=e}get partialCount(){return this._partialCount}set partialCount(e){on(e,0);let t=this._type;const s=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(this._type);if(s&&(t=s[1]),this._type!=="custom")e===0?this.type=t:this.type=t+e.toString();else{const r=new Float32Array(e);this._partials.forEach((i,o)=>r[o]=i),this._partials=Array.from(r),this.type=this._type}}_getRealImaginary(e,t){let r=2048;const i=new Float32Array(r),o=new Float32Array(r);let a=1;if(e==="custom"){if(a=this._partials.length+1,this._partialCount=this._partials.length,r=a,this._partials.length===0)return[i,o]}else{const c=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(e);c?(a=parseInt(c[2],10)+1,this._partialCount=parseInt(c[2],10),e=c[1],a=Math.max(a,2),r=a):this._partialCount=0,this._partials=[]}for(let c=1;c>1&1?-1:1):u=0,this._partials[c-1]=u;break;case"custom":u=this._partials[c-1];break;default:throw new TypeError("Oscillator: invalid type: "+e)}u!==0?(i[c]=-u*Math.sin(t*c),o[c]=u*Math.cos(t*c)):(i[c]=0,o[c]=0)}return[i,o]}_inverseFFT(e,t,s){let r=0;const i=e.length;for(let o=0;o(e+1)/2}),this.input=this._norm,this.output=this._norm}dispose(){return super.dispose(),this._norm.dispose(),this}}class ys extends je{constructor(){super(Object.assign(z(ys.getDefaults(),arguments,["value"]))),this.name="Multiply",this.override=!1;const e=z(ys.getDefaults(),arguments,["value"]);this._mult=this.input=this.output=new De({context:this.context,minValue:e.minValue,maxValue:e.maxValue}),this.factor=this._param=this._mult.gain,this.factor.setValueAtTime(e.value,0)}static getDefaults(){return Object.assign(je.getDefaults(),{value:0})}dispose(){return super.dispose(),this._mult.dispose(),this}}class Ai extends wt{constructor(){super(z(Ai.getDefaults(),arguments,["frequency","type","modulationType"])),this.name="AMOscillator",this._modulationScale=new Gp({context:this.context}),this._modulationNode=new De({context:this.context});const e=z(Ai.getDefaults(),arguments,["frequency","type","modulationType"]);this._carrier=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase,type:e.type}),this.frequency=this._carrier.frequency,this.detune=this._carrier.detune,this._modulator=new Ze({context:this.context,phase:e.phase,type:e.modulationType}),this.harmonicity=new ys({context:this.context,units:"positive",value:e.harmonicity}),this.frequency.chain(this.harmonicity,this._modulator.frequency),this._modulator.chain(this._modulationScale,this._modulationNode.gain),this._carrier.chain(this._modulationNode,this.output),ke(this,["frequency","detune","harmonicity"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{harmonicity:1,modulationType:"square"})}_start(e){this._modulator.start(e),this._carrier.start(e)}_stop(e){this._modulator.stop(e),this._carrier.stop(e)}_restart(e){this._modulator.restart(e),this._carrier.restart(e)}get type(){return this._carrier.type}set type(e){this._carrier.type=e}get baseType(){return this._carrier.baseType}set baseType(e){this._carrier.baseType=e}get partialCount(){return this._carrier.partialCount}set partialCount(e){this._carrier.partialCount=e}get modulationType(){return this._modulator.type}set modulationType(e){this._modulator.type=e}get phase(){return this._carrier.phase}set phase(e){this._carrier.phase=e,this._modulator.phase=e}get partials(){return this._carrier.partials}set partials(e){this._carrier.partials=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return nr(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.detune.dispose(),this.harmonicity.dispose(),this._carrier.dispose(),this._modulator.dispose(),this._modulationNode.dispose(),this._modulationScale.dispose(),this}}class Ni extends wt{constructor(){super(z(Ni.getDefaults(),arguments,["frequency","type","modulationType"])),this.name="FMOscillator",this._modulationNode=new De({context:this.context,gain:0});const e=z(Ni.getDefaults(),arguments,["frequency","type","modulationType"]);this._carrier=new Ze({context:this.context,detune:e.detune,frequency:0,onstop:()=>this.onstop(this),phase:e.phase,type:e.type}),this.detune=this._carrier.detune,this.frequency=new je({context:this.context,units:"frequency",value:e.frequency}),this._modulator=new Ze({context:this.context,phase:e.phase,type:e.modulationType}),this.harmonicity=new ys({context:this.context,units:"positive",value:e.harmonicity}),this.modulationIndex=new ys({context:this.context,units:"positive",value:e.modulationIndex}),this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.frequency.chain(this.modulationIndex,this._modulationNode),this._modulator.connect(this._modulationNode.gain),this._modulationNode.connect(this._carrier.frequency),this._carrier.connect(this.output),this.detune.connect(this._modulator.detune),ke(this,["modulationIndex","frequency","detune","harmonicity"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{harmonicity:1,modulationIndex:2,modulationType:"square"})}_start(e){this._modulator.start(e),this._carrier.start(e)}_stop(e){this._modulator.stop(e),this._carrier.stop(e)}_restart(e){return this._modulator.restart(e),this._carrier.restart(e),this}get type(){return this._carrier.type}set type(e){this._carrier.type=e}get baseType(){return this._carrier.baseType}set baseType(e){this._carrier.baseType=e}get partialCount(){return this._carrier.partialCount}set partialCount(e){this._carrier.partialCount=e}get modulationType(){return this._modulator.type}set modulationType(e){this._modulator.type=e}get phase(){return this._carrier.phase}set phase(e){this._carrier.phase=e,this._modulator.phase=e}get partials(){return this._carrier.partials}set partials(e){this._carrier.partials=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return nr(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.harmonicity.dispose(),this._carrier.dispose(),this._modulator.dispose(),this._modulationNode.dispose(),this.modulationIndex.dispose(),this}}class Ir extends wt{constructor(){super(z(Ir.getDefaults(),arguments,["frequency","width"])),this.name="PulseOscillator",this._widthGate=new De({context:this.context,gain:0}),this._thresh=new Xs({context:this.context,mapping:t=>t<=0?-1:1});const e=z(Ir.getDefaults(),arguments,["frequency","width"]);this.width=new je({context:this.context,units:"audioRange",value:e.width}),this._triangle=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase,type:"triangle"}),this.frequency=this._triangle.frequency,this.detune=this._triangle.detune,this._triangle.chain(this._thresh,this.output),this.width.chain(this._widthGate,this._thresh),ke(this,["width","frequency","detune"])}static getDefaults(){return Object.assign(wt.getDefaults(),{detune:0,frequency:440,phase:0,type:"pulse",width:.2})}_start(e){e=this.toSeconds(e),this._triangle.start(e),this._widthGate.gain.setValueAtTime(1,e)}_stop(e){e=this.toSeconds(e),this._triangle.stop(e),this._widthGate.gain.cancelScheduledValues(e),this._widthGate.gain.setValueAtTime(0,e)}_restart(e){this._triangle.restart(e),this._widthGate.gain.cancelScheduledValues(e),this._widthGate.gain.setValueAtTime(1,e)}get phase(){return this._triangle.phase}set phase(e){this._triangle.phase=e}get type(){return"pulse"}get baseType(){return"pulse"}get partials(){return[]}get partialCount(){return 0}set carrierType(e){this._triangle.type=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return nr(this,e)})}dispose(){return super.dispose(),this._triangle.dispose(),this.width.dispose(),this._widthGate.dispose(),this._thresh.dispose(),this}}class Mi extends wt{constructor(){super(z(Mi.getDefaults(),arguments,["frequency","type","spread"])),this.name="FatOscillator",this._oscillators=[];const e=z(Mi.getDefaults(),arguments,["frequency","type","spread"]);this.frequency=new je({context:this.context,units:"frequency",value:e.frequency}),this.detune=new je({context:this.context,units:"cents",value:e.detune}),this._spread=e.spread,this._type=e.type,this._phase=e.phase,this._partials=e.partials,this._partialCount=e.partialCount,this.count=e.count,ke(this,["frequency","detune"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{count:3,spread:20,type:"sawtooth"})}_start(e){e=this.toSeconds(e),this._forEach(t=>t.start(e))}_stop(e){e=this.toSeconds(e),this._forEach(t=>t.stop(e))}_restart(e){this._forEach(t=>t.restart(e))}_forEach(e){for(let t=0;tt.type=e)}get spread(){return this._spread}set spread(e){if(this._spread=e,this._oscillators.length>1){const t=-e/2,s=e/(this._oscillators.length-1);this._forEach((r,i)=>r.detune.value=t+s*i)}}get count(){return this._oscillators.length}set count(e){if(on(e,1),this._oscillators.length!==e){this._forEach(t=>t.dispose()),this._oscillators=[];for(let t=0;tthis.onstop(this):Fe});this.type==="custom"&&(s.partials=this._partials),this.frequency.connect(s.frequency),this.detune.connect(s.detune),s.detune.overridden=!1,s.connect(this.output),this._oscillators[t]=s}this.spread=this._spread,this.state==="started"&&this._forEach(t=>t.start())}}get phase(){return this._phase}set phase(e){this._phase=e,this._forEach((t,s)=>t.phase=this._phase+s/this.count*360)}get baseType(){return this._oscillators[0].baseType}set baseType(e){this._forEach(t=>t.baseType=e),this._type=this._oscillators[0].type}get partials(){return this._oscillators[0].partials}set partials(e){this._partials=e,this._partialCount=this._partials.length,e.length&&(this._type="custom",this._forEach(t=>t.partials=e))}get partialCount(){return this._oscillators[0].partialCount}set partialCount(e){this._partialCount=e,this._forEach(t=>t.partialCount=e),this._type=this._oscillators[0].type}asArray(e=1024){return tt(this,void 0,void 0,function*(){return nr(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.detune.dispose(),this._forEach(e=>e.dispose()),this}}class ki extends wt{constructor(){super(z(ki.getDefaults(),arguments,["frequency","modulationFrequency"])),this.name="PWMOscillator",this.sourceType="pwm",this._scale=new ys({context:this.context,value:2});const e=z(ki.getDefaults(),arguments,["frequency","modulationFrequency"]);this._pulse=new Ir({context:this.context,frequency:e.modulationFrequency}),this._pulse.carrierType="sine",this.modulationFrequency=this._pulse.frequency,this._modulator=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase}),this.frequency=this._modulator.frequency,this.detune=this._modulator.detune,this._modulator.chain(this._scale,this._pulse.width),this._pulse.connect(this.output),ke(this,["modulationFrequency","frequency","detune"])}static getDefaults(){return Object.assign(wt.getDefaults(),{detune:0,frequency:440,modulationFrequency:.4,phase:0,type:"pwm"})}_start(e){e=this.toSeconds(e),this._modulator.start(e),this._pulse.start(e)}_stop(e){e=this.toSeconds(e),this._modulator.stop(e),this._pulse.stop(e)}_restart(e){this._modulator.restart(e),this._pulse.restart(e)}get type(){return"pwm"}get baseType(){return"pwm"}get partials(){return[]}get partialCount(){return 0}get phase(){return this._modulator.phase}set phase(e){this._modulator.phase=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return nr(this,e)})}dispose(){return super.dispose(),this._pulse.dispose(),this._scale.dispose(),this._modulator.dispose(),this}}const Bh={am:Ai,fat:Mi,fm:Ni,oscillator:Ze,pulse:Ir,pwm:ki};class Qs extends wt{constructor(){super(z(Qs.getDefaults(),arguments,["frequency","type"])),this.name="OmniOscillator";const e=z(Qs.getDefaults(),arguments,["frequency","type"]);this.frequency=new je({context:this.context,units:"frequency",value:e.frequency}),this.detune=new je({context:this.context,units:"cents",value:e.detune}),ke(this,["frequency","detune"]),this.set(e)}static getDefaults(){return Object.assign(Ze.getDefaults(),Ni.getDefaults(),Ai.getDefaults(),Mi.getDefaults(),Ir.getDefaults(),ki.getDefaults())}_start(e){this._oscillator.start(e)}_stop(e){this._oscillator.stop(e)}_restart(e){return this._oscillator.restart(e),this}get type(){let e="";return["am","fm","fat"].some(t=>this._sourceType===t)&&(e=this._sourceType),e+this._oscillator.type}set type(e){e.substr(0,2)==="fm"?(this._createNewOscillator("fm"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(2)):e.substr(0,2)==="am"?(this._createNewOscillator("am"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(2)):e.substr(0,3)==="fat"?(this._createNewOscillator("fat"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(3)):e==="pwm"?(this._createNewOscillator("pwm"),this._oscillator=this._oscillator):e==="pulse"?this._createNewOscillator("pulse"):(this._createNewOscillator("oscillator"),this._oscillator=this._oscillator,this._oscillator.type=e)}get partials(){return this._oscillator.partials}set partials(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&(this._oscillator.partials=e)}get partialCount(){return this._oscillator.partialCount}set partialCount(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&(this._oscillator.partialCount=e)}set(e){return Reflect.has(e,"type")&&e.type&&(this.type=e.type),super.set(e),this}_createNewOscillator(e){if(e!==this._sourceType){this._sourceType=e;const t=Bh[e],s=this.now();if(this._oscillator){const r=this._oscillator;r.stop(s),this.context.setTimeout(()=>r.dispose(),this.blockTime)}this._oscillator=new t({context:this.context}),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.connect(this.output),this._oscillator.onstop=()=>this.onstop(this),this.state==="started"&&this._oscillator.start(s)}}get phase(){return this._oscillator.phase}set phase(e){this._oscillator.phase=e}get sourceType(){return this._sourceType}set sourceType(e){let t="sine";this._oscillator.type!=="pwm"&&this._oscillator.type!=="pulse"&&(t=this._oscillator.type),e==="fm"?this.type="fm"+t:e==="am"?this.type="am"+t:e==="fat"?this.type="fat"+t:e==="oscillator"?this.type=t:e==="pulse"?this.type="pulse":e==="pwm"&&(this.type="pwm")}_getOscType(e,t){return e instanceof Bh[t]}get baseType(){return this._oscillator.baseType}set baseType(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&e!=="pulse"&&e!=="pwm"&&(this._oscillator.baseType=e)}get width(){if(this._getOscType(this._oscillator,"pulse"))return this._oscillator.width}get count(){if(this._getOscType(this._oscillator,"fat"))return this._oscillator.count}set count(e){this._getOscType(this._oscillator,"fat")&&qn(e)&&(this._oscillator.count=e)}get spread(){if(this._getOscType(this._oscillator,"fat"))return this._oscillator.spread}set spread(e){this._getOscType(this._oscillator,"fat")&&qn(e)&&(this._oscillator.spread=e)}get modulationType(){if(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))return this._oscillator.modulationType}set modulationType(e){(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))&&jn(e)&&(this._oscillator.modulationType=e)}get modulationIndex(){if(this._getOscType(this._oscillator,"fm"))return this._oscillator.modulationIndex}get harmonicity(){if(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))return this._oscillator.harmonicity}get modulationFrequency(){if(this._getOscType(this._oscillator,"pwm"))return this._oscillator.modulationFrequency}asArray(e=1024){return tt(this,void 0,void 0,function*(){return nr(this,e)})}dispose(){return super.dispose(),this.detune.dispose(),this.frequency.dispose(),this._oscillator.dispose(),this}}class nu extends je{constructor(){super(Object.assign(z(nu.getDefaults(),arguments,["value"]))),this.override=!1,this.name="Add",this._sum=new De({context:this.context}),this.input=this._sum,this.output=this._sum,this.addend=this._param,xi(this._constantSource,this._sum)}static getDefaults(){return Object.assign(je.getDefaults(),{value:0})}dispose(){return super.dispose(),this._sum.dispose(),this}}class Oi extends Cn{constructor(){super(Object.assign(z(Oi.getDefaults(),arguments,["min","max"]))),this.name="Scale";const e=z(Oi.getDefaults(),arguments,["min","max"]);this._mult=this.input=new ys({context:this.context,value:e.max-e.min}),this._add=this.output=new nu({context:this.context,value:e.min}),this._min=e.min,this._max=e.max,this.input.connect(this.output)}static getDefaults(){return Object.assign(Cn.getDefaults(),{max:1,min:0})}get min(){return this._min}set min(e){this._min=e,this._setRange()}get max(){return this._max}set max(e){this._max=e,this._setRange()}_setRange(){this._add.value=this._min,this._mult.value=this._max-this._min}dispose(){return super.dispose(),this._add.dispose(),this._mult.dispose(),this}}class su extends Cn{constructor(){super(Object.assign(z(su.getDefaults(),arguments))),this.name="Zero",this._gain=new De({context:this.context}),this.output=this._gain,this.input=void 0,Un(this.context.getConstant(0),this._gain)}dispose(){return super.dispose(),Hp(this.context.getConstant(0),this._gain),this}}class ta extends he{constructor(){super(z(ta.getDefaults(),arguments,["frequency","min","max"])),this.name="LFO",this._stoppedValue=0,this._units="number",this.convert=!0,this._fromType=Te.prototype._fromType,this._toType=Te.prototype._toType,this._is=Te.prototype._is,this._clampValue=Te.prototype._clampValue;const e=z(ta.getDefaults(),arguments,["frequency","min","max"]);this._oscillator=new Ze(e),this.frequency=this._oscillator.frequency,this._amplitudeGain=new De({context:this.context,gain:e.amplitude,units:"normalRange"}),this.amplitude=this._amplitudeGain.gain,this._stoppedSignal=new je({context:this.context,units:"audioRange",value:0}),this._zeros=new su({context:this.context}),this._a2g=new Gp({context:this.context}),this._scaler=this.output=new Oi({context:this.context,max:e.max,min:e.min}),this.units=e.units,this.min=e.min,this.max=e.max,this._oscillator.chain(this._amplitudeGain,this._a2g,this._scaler),this._zeros.connect(this._a2g),this._stoppedSignal.connect(this._a2g),ke(this,["amplitude","frequency"]),this.phase=e.phase}static getDefaults(){return Object.assign(Ze.getDefaults(),{amplitude:1,frequency:"4n",max:1,min:0,type:"sine",units:"number"})}start(e){return e=this.toSeconds(e),this._stoppedSignal.setValueAtTime(0,e),this._oscillator.start(e),this}stop(e){return e=this.toSeconds(e),this._stoppedSignal.setValueAtTime(this._stoppedValue,e),this._oscillator.stop(e),this}sync(){return this._oscillator.sync(),this._oscillator.syncFrequency(),this}unsync(){return this._oscillator.unsync(),this._oscillator.unsyncFrequency(),this}_setStoppedValue(){this._stoppedValue=this._oscillator.getInitialValue(),this._stoppedSignal.value=this._stoppedValue}get min(){return this._toType(this._scaler.min)}set min(e){e=this._fromType(e),this._scaler.min=e}get max(){return this._toType(this._scaler.max)}set max(e){e=this._fromType(e),this._scaler.max=e}get type(){return this._oscillator.type}set type(e){this._oscillator.type=e,this._setStoppedValue()}get partials(){return this._oscillator.partials}set partials(e){this._oscillator.partials=e,this._setStoppedValue()}get phase(){return this._oscillator.phase}set phase(e){this._oscillator.phase=e,this._setStoppedValue()}get units(){return this._units}set units(e){const t=this.min,s=this.max;this._units=e,this.min=t,this.max=s}get state(){return this._oscillator.state}connect(e,t,s){return(e instanceof Te||e instanceof je)&&(this.convert=e.convert,this.units=e.units),Ha(this,e,t,s),this}dispose(){return super.dispose(),this._oscillator.dispose(),this._stoppedSignal.dispose(),this._zeros.dispose(),this._scaler.dispose(),this._a2g.dispose(),this._amplitudeGain.dispose(),this.amplitude.dispose(),this}}function Yp(n,e=1/0){const t=new WeakMap;return function(s,r){Reflect.defineProperty(s,r,{configurable:!0,enumerable:!0,get:function(){return t.get(this)},set:function(i){on(i,n,e),t.set(this,i)}})}}function Xn(n,e=1/0){const t=new WeakMap;return function(s,r){Reflect.defineProperty(s,r,{configurable:!0,enumerable:!0,get:function(){return t.get(this)},set:function(i){on(this.toSeconds(i),n,e),t.set(this,i)}})}}class Ii extends wt{constructor(){super(z(Ii.getDefaults(),arguments,["url","onload"])),this.name="Player",this._activeSources=new Set;const e=z(Ii.getDefaults(),arguments,["url","onload"]);this._buffer=new Le({onload:this._onload.bind(this,e.onload),onerror:e.onerror,reverse:e.reverse,url:e.url}),this.autostart=e.autostart,this._loop=e.loop,this._loopStart=e.loopStart,this._loopEnd=e.loopEnd,this._playbackRate=e.playbackRate,this.fadeIn=e.fadeIn,this.fadeOut=e.fadeOut}static getDefaults(){return Object.assign(wt.getDefaults(),{autostart:!1,fadeIn:0,fadeOut:0,loop:!1,loopEnd:0,loopStart:0,onload:Fe,onerror:Fe,playbackRate:1,reverse:!1})}load(e){return tt(this,void 0,void 0,function*(){return yield this._buffer.load(e),this._onload(),this})}_onload(e=Fe){e(),this.autostart&&this.start()}_onSourceEnd(e){this.onstop(this),this._activeSources.delete(e),this._activeSources.size===0&&!this._synced&&this._state.getValueAtTime(this.now())==="started"&&(this._state.cancel(this.now()),this._state.setStateAtTime("stopped",this.now()))}start(e,t,s){return super.start(e,t,s),this}_start(e,t,s){this._loop?t=Tr(t,this._loopStart):t=Tr(t,0);const r=this.toSeconds(t),i=s;s=Tr(s,Math.max(this._buffer.duration-r,0));let o=this.toSeconds(s);o=o/this._playbackRate,e=this.toSeconds(e);const a=new Or({url:this._buffer,context:this.context,fadeIn:this.fadeIn,fadeOut:this.fadeOut,loop:this._loop,loopEnd:this._loopEnd,loopStart:this._loopStart,onended:this._onSourceEnd.bind(this),playbackRate:this._playbackRate}).connect(this.output);!this._loop&&!this._synced&&(this._state.cancel(e+o),this._state.setStateAtTime("stopped",e+o,{implicitEnd:!0})),this._activeSources.add(a),this._loop&&Ft(i)?a.start(e,r):a.start(e,r,o-this.toSeconds(this.fadeOut))}_stop(e){const t=this.toSeconds(e);this._activeSources.forEach(s=>s.stop(t))}restart(e,t,s){return super.restart(e,t,s),this}_restart(e,t,s){var r;(r=[...this._activeSources].pop())===null||r===void 0||r.stop(e),this._start(e,t,s)}seek(e,t){const s=this.toSeconds(t);if(this._state.getValueAtTime(s)==="started"){const r=this.toSeconds(e);this._stop(s),this._start(s,r)}return this}setLoopPoints(e,t){return this.loopStart=e,this.loopEnd=t,this}get loopStart(){return this._loopStart}set loopStart(e){this._loopStart=e,this.buffer.loaded&&on(this.toSeconds(e),0,this.buffer.duration),this._activeSources.forEach(t=>{t.loopStart=e})}get loopEnd(){return this._loopEnd}set loopEnd(e){this._loopEnd=e,this.buffer.loaded&&on(this.toSeconds(e),0,this.buffer.duration),this._activeSources.forEach(t=>{t.loopEnd=e})}get buffer(){return this._buffer}set buffer(e){this._buffer.set(e)}get loop(){return this._loop}set loop(e){if(this._loop!==e&&(this._loop=e,this._activeSources.forEach(t=>{t.loop=e}),e)){const t=this._state.getNextState("stopped",this.now());t&&this._state.cancel(t.time)}}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e;const t=this.now(),s=this._state.getNextState("stopped",t);s&&s.implicitEnd&&(this._state.cancel(s.time),this._activeSources.forEach(r=>r.cancelStop())),this._activeSources.forEach(r=>{r.playbackRate.setValueAtTime(e,t)})}get reverse(){return this._buffer.reverse}set reverse(e){this._buffer.reverse=e}get loaded(){return this._buffer.loaded}dispose(){return super.dispose(),this._activeSources.forEach(e=>e.dispose()),this._activeSources.clear(),this._buffer.dispose(),this}}un([Xn(0)],Ii.prototype,"fadeIn",void 0);un([Xn(0)],Ii.prototype,"fadeOut",void 0);class Xx extends Cn{constructor(){super(...arguments),this.name="GainToAudio",this._norm=new Xs({context:this.context,mapping:e=>Math.abs(e)*2-1}),this.input=this._norm,this.output=this._norm}dispose(){return super.dispose(),this._norm.dispose(),this}}class zt extends he{constructor(){super(z(zt.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="Envelope",this._sig=new je({context:this.context,value:0}),this.output=this._sig,this.input=void 0;const e=z(zt.getDefaults(),arguments,["attack","decay","sustain","release"]);this.attack=e.attack,this.decay=e.decay,this.sustain=e.sustain,this.release=e.release,this.attackCurve=e.attackCurve,this.releaseCurve=e.releaseCurve,this.decayCurve=e.decayCurve}static getDefaults(){return Object.assign(he.getDefaults(),{attack:.01,attackCurve:"linear",decay:.1,decayCurve:"exponential",release:1,releaseCurve:"exponential",sustain:.5})}get value(){return this.getValueAtTime(this.now())}_getCurve(e,t){if(jn(e))return e;{let s;for(s in mo)if(mo[s][t]===e)return s;return e}}_setCurve(e,t,s){if(jn(s)&&Reflect.has(mo,s)){const r=mo[s];js(r)?e!=="_decayCurve"&&(this[e]=r[t]):this[e]=r}else if(Vt(s)&&e!=="_decayCurve")this[e]=s;else throw new Error("Envelope: invalid curve: "+s)}get attackCurve(){return this._getCurve(this._attackCurve,"In")}set attackCurve(e){this._setCurve("_attackCurve","In",e)}get releaseCurve(){return this._getCurve(this._releaseCurve,"Out")}set releaseCurve(e){this._setCurve("_releaseCurve","Out",e)}get decayCurve(){return this._getCurve(this._decayCurve,"Out")}set decayCurve(e){this._setCurve("_decayCurve","Out",e)}triggerAttack(e,t=1){this.log("triggerAttack",e,t),e=this.toSeconds(e);let r=this.toSeconds(this.attack);const i=this.toSeconds(this.decay),o=this.getValueAtTime(e);if(o>0){const a=1/r;r=(1-o)/a}if(r0){const s=this.toSeconds(this.release);s{let e,t;const s=[];for(e=0;e<128;e++)s[e]=Math.sin(e/(128-1)*(Math.PI/2));const r=[],i=6.4;for(e=0;e<128-1;e++){t=e/(128-1);const d=Math.sin(t*(Math.PI*2)*i-Math.PI/2)+1;r[e]=d/10+t*.83}r[128-1]=1;const o=[],a=5;for(e=0;e<128;e++)o[e]=Math.ceil(e/(128-1)*a)/a;const c=[];for(e=0;e<128;e++)t=e/(128-1),c[e]=.5*(1-Math.cos(Math.PI*t));const l=[];for(e=0;e<128;e++){t=e/(128-1);const d=Math.pow(t,3)*4+.2,f=Math.cos(d*Math.PI*2*t);l[e]=Math.abs(f*(1-t))}function u(d){const f=new Array(d.length);for(let p=0;pthis._original_triggerRelease(t);const e=z(Wn.getDefaults(),arguments);this._volume=this.output=new Zs({context:this.context,volume:e.volume}),this.volume=this._volume.volume,ke(this,"volume")}static getDefaults(){return Object.assign(he.getDefaults(),{volume:0})}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",0),this.context.transport.on("stop",this._syncedRelease),this.context.transport.on("pause",this._syncedRelease),this.context.transport.on("loopEnd",this._syncedRelease)),this}_syncState(){let e=!1;return this._synced||(this._synced=!0,e=!0),e}_syncMethod(e,t){const s=this["_original_"+e]=this[e];this[e]=(...r)=>{const i=r[t],o=this.context.transport.schedule(a=>{r[t]=a,s.apply(this,r)},i);this._scheduledEvents.push(o)}}unsync(){return this._scheduledEvents.forEach(e=>this.context.transport.clear(e)),this._scheduledEvents=[],this._synced&&(this._synced=!1,this.triggerAttack=this._original_triggerAttack,this.triggerRelease=this._original_triggerRelease,this.context.transport.off("stop",this._syncedRelease),this.context.transport.off("pause",this._syncedRelease),this.context.transport.off("loopEnd",this._syncedRelease)),this}triggerAttackRelease(e,t,s,r){const i=this.toSeconds(s),o=this.toSeconds(t);return this.triggerAttack(e,i,r),this.triggerRelease(i+o),this}dispose(){return super.dispose(),this._volume.dispose(),this.unsync(),this._scheduledEvents=[],this}}class An extends Wn{constructor(){super(z(An.getDefaults(),arguments));const e=z(An.getDefaults(),arguments);this.portamento=e.portamento,this.onsilence=e.onsilence}static getDefaults(){return Object.assign(Wn.getDefaults(),{detune:0,onsilence:Fe,portamento:0})}triggerAttack(e,t,s=1){this.log("triggerAttack",e,t,s);const r=this.toSeconds(t);return this._triggerEnvelopeAttack(r,s),this.setNote(e,r),this}triggerRelease(e){this.log("triggerRelease",e);const t=this.toSeconds(e);return this._triggerEnvelopeRelease(t),this}setNote(e,t){const s=this.toSeconds(t),r=e instanceof Mt?e.toFrequency():e;if(this.portamento>0&&this.getLevelAtTime(s)>.05){const i=this.toSeconds(this.portamento);this.frequency.exponentialRampTo(r,i,s)}else this.frequency.setValueAtTime(r,s);return this}}un([Xn(0)],An.prototype,"portamento",void 0);class Ga extends zt{constructor(){super(z(Ga.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="AmplitudeEnvelope",this._gainNode=new De({context:this.context,gain:0}),this.output=this._gainNode,this.input=this._gainNode,this._sig.connect(this._gainNode.gain),this.output=this._gainNode,this.input=this._gainNode}dispose(){return super.dispose(),this._gainNode.dispose(),this}}class Rr extends An{constructor(){super(z(Rr.getDefaults(),arguments)),this.name="Synth";const e=z(Rr.getDefaults(),arguments);this.oscillator=new Qs(Object.assign({context:this.context,detune:e.detune,onstop:()=>this.onsilence(this)},e.oscillator)),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.envelope=new Ga(Object.assign({context:this.context},e.envelope)),this.oscillator.chain(this.envelope,this.output),ke(this,["oscillator","frequency","detune","envelope"])}static getDefaults(){return Object.assign(An.getDefaults(),{envelope:Object.assign(Fs(zt.getDefaults(),Object.keys(he.getDefaults())),{attack:.005,decay:.1,release:1,sustain:.3}),oscillator:Object.assign(Fs(Qs.getDefaults(),[...Object.keys(wt.getDefaults()),"frequency","detune"]),{type:"triangle"})})}_triggerEnvelopeAttack(e,t){if(this.envelope.triggerAttack(e,t),this.oscillator.start(e),this.envelope.sustain===0){const s=this.toSeconds(this.envelope.attack),r=this.toSeconds(this.envelope.decay);this.oscillator.stop(e+s+r)}}_triggerEnvelopeRelease(e){this.envelope.triggerRelease(e),this.oscillator.stop(e+this.toSeconds(this.envelope.release))}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this.oscillator.dispose(),this.envelope.dispose(),this}}class Ri extends he{constructor(){super(z(Ri.getDefaults(),arguments,["frequency","type"])),this.name="BiquadFilter";const e=z(Ri.getDefaults(),arguments,["frequency","type"]);this._filter=this.context.createBiquadFilter(),this.input=this.output=this._filter,this.Q=new Te({context:this.context,units:"number",value:e.Q,param:this._filter.Q}),this.frequency=new Te({context:this.context,units:"frequency",value:e.frequency,param:this._filter.frequency}),this.detune=new Te({context:this.context,units:"cents",value:e.detune,param:this._filter.detune}),this.gain=new Te({context:this.context,units:"decibels",convert:!1,value:e.gain,param:this._filter.gain}),this.type=e.type}static getDefaults(){return Object.assign(he.getDefaults(),{Q:1,type:"lowpass",frequency:350,detune:0,gain:0})}get type(){return this._filter.type}set type(e){pe(["lowpass","highpass","bandpass","lowshelf","highshelf","notch","allpass","peaking"].indexOf(e)!==-1,`Invalid filter type: ${e}`),this._filter.type=e}getFrequencyResponse(e=128){const t=new Float32Array(e);for(let o=0;os.type=e)}get rolloff(){return this._rolloff}set rolloff(e){const t=qn(e)?e:parseInt(e,10),s=[-12,-24,-48,-96];let r=s.indexOf(t);pe(r!==-1,`rolloff can only be ${s.join(", ")}`),r+=1,this._rolloff=t,this.input.disconnect(),this._filters.forEach(i=>i.disconnect()),this._filters=new Array(r);for(let i=0;i1);return this._filters.forEach(()=>{t.getFrequencyResponse(e).forEach((i,o)=>s[o]*=i)}),t.dispose(),s}dispose(){return super.dispose(),this._filters.forEach(e=>{e.dispose()}),Xl(this,["detune","frequency","gain","Q"]),this.frequency.dispose(),this.Q.dispose(),this.detune.dispose(),this.gain.dispose(),this}}class Pi extends zt{constructor(){super(z(Pi.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="FrequencyEnvelope";const e=z(Pi.getDefaults(),arguments,["attack","decay","sustain","release"]);this._octaves=e.octaves,this._baseFrequency=this.toFrequency(e.baseFrequency),this._exponent=this.input=new Si({context:this.context,value:e.exponent}),this._scale=this.output=new Oi({context:this.context,min:this._baseFrequency,max:this._baseFrequency*Math.pow(2,this._octaves)}),this._sig.chain(this._exponent,this._scale)}static getDefaults(){return Object.assign(zt.getDefaults(),{baseFrequency:200,exponent:1,octaves:4})}get baseFrequency(){return this._baseFrequency}set baseFrequency(e){const t=this.toFrequency(e);on(t,0),this._baseFrequency=t,this._scale.min=this._baseFrequency,this.octaves=this._octaves}get octaves(){return this._octaves}set octaves(e){this._octaves=e,this._scale.max=this._baseFrequency*Math.pow(2,e)}get exponent(){return this._exponent.value}set exponent(e){this._exponent.value=e}dispose(){return super.dispose(),this._exponent.dispose(),this._scale.dispose(),this}}class na extends An{constructor(){super(z(na.getDefaults(),arguments)),this.name="MonoSynth";const e=z(na.getDefaults(),arguments);this.oscillator=new Qs(Object.assign(e.oscillator,{context:this.context,detune:e.detune,onstop:()=>this.onsilence(this)})),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.filter=new Di(Object.assign(e.filter,{context:this.context})),this.filterEnvelope=new Pi(Object.assign(e.filterEnvelope,{context:this.context})),this.envelope=new Ga(Object.assign(e.envelope,{context:this.context})),this.oscillator.chain(this.filter,this.envelope,this.output),this.filterEnvelope.connect(this.filter.frequency),ke(this,["oscillator","frequency","detune","filter","filterEnvelope","envelope"])}static getDefaults(){return Object.assign(An.getDefaults(),{envelope:Object.assign(Fs(zt.getDefaults(),Object.keys(he.getDefaults())),{attack:.005,decay:.1,release:1,sustain:.9}),filter:Object.assign(Fs(Di.getDefaults(),Object.keys(he.getDefaults())),{Q:1,rolloff:-12,type:"lowpass"}),filterEnvelope:Object.assign(Fs(Pi.getDefaults(),Object.keys(he.getDefaults())),{attack:.6,baseFrequency:200,decay:.2,exponent:2,octaves:3,release:2,sustain:.5}),oscillator:Object.assign(Fs(Qs.getDefaults(),Object.keys(wt.getDefaults())),{type:"sawtooth"})})}_triggerEnvelopeAttack(e,t=1){if(this.envelope.triggerAttack(e,t),this.filterEnvelope.triggerAttack(e),this.oscillator.start(e),this.envelope.sustain===0){const s=this.toSeconds(this.envelope.attack),r=this.toSeconds(this.envelope.decay);this.oscillator.stop(e+s+r)}}_triggerEnvelopeRelease(e){this.envelope.triggerRelease(e),this.filterEnvelope.triggerRelease(e),this.oscillator.stop(e+this.toSeconds(this.envelope.release))}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this.oscillator.dispose(),this.envelope.dispose(),this.filterEnvelope.dispose(),this.filter.dispose(),this}}class $i extends Rr{constructor(){super(z($i.getDefaults(),arguments)),this.name="MembraneSynth",this.portamento=0;const e=z($i.getDefaults(),arguments);this.pitchDecay=e.pitchDecay,this.octaves=e.octaves,ke(this,["oscillator","envelope"])}static getDefaults(){return Ws(An.getDefaults(),Rr.getDefaults(),{envelope:{attack:.001,attackCurve:"exponential",decay:.4,release:1.4,sustain:.01},octaves:10,oscillator:{type:"sine"},pitchDecay:.05})}setNote(e,t){const s=this.toSeconds(t),r=this.toFrequency(e instanceof Mt?e.toFrequency():e),i=r*this.octaves;return this.oscillator.frequency.setValueAtTime(i,s),this.oscillator.frequency.exponentialRampToValueAtTime(r,s+this.toSeconds(this.pitchDecay)),this}dispose(){return super.dispose(),this}}un([Yp(0)],$i.prototype,"octaves",void 0);un([Xn(0)],$i.prototype,"pitchDecay",void 0);const Kp=new Set;function ru(n){Kp.add(n)}function Zp(n,e){const t=`registerProcessor("${n}", ${e})`;Kp.add(t)}const Qx=` - /** - * The base AudioWorkletProcessor for use in Tone.js. Works with the [[ToneAudioWorklet]]. - */ - class ToneAudioWorkletProcessor extends AudioWorkletProcessor { - - constructor(options) { - - super(options); - /** - * If the processor was disposed or not. Keep alive until it's disposed. - */ - this.disposed = false; - /** - * The number of samples in the processing block - */ - this.blockSize = 128; - /** - * the sample rate - */ - this.sampleRate = sampleRate; - - this.port.onmessage = (event) => { - // when it receives a dispose - if (event.data === "dispose") { - this.disposed = true; - } - }; - } - } -`;ru(Qx);const Jx=` - /** - * Abstract class for a single input/output processor. - * has a 'generate' function which processes one sample at a time - */ - class SingleIOProcessor extends ToneAudioWorkletProcessor { - - constructor(options) { - super(Object.assign(options, { - numberOfInputs: 1, - numberOfOutputs: 1 - })); - /** - * Holds the name of the parameter and a single value of that - * parameter at the current sample - * @type { [name: string]: number } - */ - this.params = {} - } - - /** - * Generate an output sample from the input sample and parameters - * @abstract - * @param input number - * @param channel number - * @param parameters { [name: string]: number } - * @returns number - */ - generate(){} - - /** - * Update the private params object with the - * values of the parameters at the given index - * @param parameters { [name: string]: Float32Array }, - * @param index number - */ - updateParams(parameters, index) { - for (const paramName in parameters) { - const param = parameters[paramName]; - if (param.length > 1) { - this.params[paramName] = parameters[paramName][index]; - } else { - this.params[paramName] = parameters[paramName][0]; - } - } - } - - /** - * Process a single frame of the audio - * @param inputs Float32Array[][] - * @param outputs Float32Array[][] - */ - process(inputs, outputs, parameters) { - const input = inputs[0]; - const output = outputs[0]; - // get the parameter values - const channelCount = Math.max(input && input.length || 0, output.length); - for (let sample = 0; sample < this.blockSize; sample++) { - this.updateParams(parameters, sample); - for (let channel = 0; channel < channelCount; channel++) { - const inputSample = input && input.length ? input[channel][sample] : 0; - output[channel][sample] = this.generate(inputSample, channel, this.params); - } - } - return !this.disposed; - } - }; -`;ru(Jx);const eT=` - /** - * A multichannel buffer for use within an AudioWorkletProcessor as a delay line - */ - class DelayLine { - - constructor(size, channels) { - this.buffer = []; - this.writeHead = [] - this.size = size; - - // create the empty channels - for (let i = 0; i < channels; i++) { - this.buffer[i] = new Float32Array(this.size); - this.writeHead[i] = 0; - } - } - - /** - * Push a value onto the end - * @param channel number - * @param value number - */ - push(channel, value) { - this.writeHead[channel] += 1; - if (this.writeHead[channel] > this.size) { - this.writeHead[channel] = 0; - } - this.buffer[channel][this.writeHead[channel]] = value; - } - - /** - * Get the recorded value of the channel given the delay - * @param channel number - * @param delay number delay samples - */ - get(channel, delay) { - let readHead = this.writeHead[channel] - Math.floor(delay); - if (readHead < 0) { - readHead += this.size; - } - return this.buffer[channel][readHead]; - } - } -`;ru(eT);const tT="feedback-comb-filter",nT=` - class FeedbackCombFilterWorklet extends SingleIOProcessor { - - constructor(options) { - super(options); - this.delayLine = new DelayLine(this.sampleRate, options.channelCount || 2); - } - - static get parameterDescriptors() { - return [{ - name: "delayTime", - defaultValue: 0.1, - minValue: 0, - maxValue: 1, - automationRate: "k-rate" - }, { - name: "feedback", - defaultValue: 0.5, - minValue: 0, - maxValue: 0.9999, - automationRate: "k-rate" - }]; - } - - generate(input, channel, parameters) { - const delayedSample = this.delayLine.get(channel, parameters.delayTime * this.sampleRate); - this.delayLine.push(channel, input + delayedSample * parameters.feedback); - return delayedSample; - } - } -`;Zp(tT,nT);class sa extends Wn{constructor(){super(z(sa.getDefaults(),arguments,["voice","options"])),this.name="PolySynth",this._availableVoices=[],this._activeVoices=[],this._voices=[],this._gcTimeout=-1,this._averageActiveVoices=0,this._syncedRelease=r=>this.releaseAll(r);const e=z(sa.getDefaults(),arguments,["voice","options"]);pe(!qn(e.voice),"DEPRECATED: The polyphony count is no longer the first argument.");const t=e.voice.getDefaults();this.options=Object.assign(t,e.options),this.voice=e.voice,this.maxPolyphony=e.maxPolyphony,this._dummyVoice=this._getNextAvailableVoice();const s=this._voices.indexOf(this._dummyVoice);this._voices.splice(s,1),this._gcTimeout=this.context.setInterval(this._collectGarbage.bind(this),1)}static getDefaults(){return Object.assign(Wn.getDefaults(),{maxPolyphony:32,options:{},voice:Rr})}get activeVoices(){return this._activeVoices.length}_makeVoiceAvailable(e){this._availableVoices.push(e);const t=this._activeVoices.findIndex(s=>s.voice===e);this._activeVoices.splice(t,1)}_getNextAvailableVoice(){if(this._availableVoices.length)return this._availableVoices.shift();if(this._voices.lengthMath.ceil(this._averageActiveVoices+1)){const e=this._availableVoices.shift(),t=this._voices.indexOf(e);this._voices.splice(t,1),this.context.isOffline||e.dispose()}}_triggerAttack(e,t,s){e.forEach(r=>{const i=new Ei(this.context,r).toMidi(),o=this._getNextAvailableVoice();o&&(o.triggerAttack(r,t,s),this._activeVoices.push({midi:i,voice:o,released:!1}),this.log("triggerAttack",r,t))})}_triggerRelease(e,t){e.forEach(s=>{const r=new Ei(this.context,s).toMidi(),i=this._activeVoices.find(({midi:o,released:a})=>o===r&&!a);i&&(i.voice.triggerRelease(t),i.released=!0,this.log("triggerRelease",s,t))})}_scheduleEvent(e,t,s,r){pe(!this.disposed,"Synth was already disposed"),s<=this.now()?e==="attack"?this._triggerAttack(t,s,r):this._triggerRelease(t,s):this.context.setTimeout(()=>{this.disposed||this._scheduleEvent(e,t,s,r)},s-this.now())}triggerAttack(e,t,s){Array.isArray(e)||(e=[e]);const r=this.toSeconds(t);return this._scheduleEvent("attack",e,r,s),this}triggerRelease(e,t){Array.isArray(e)||(e=[e]);const s=this.toSeconds(t);return this._scheduleEvent("release",e,s),this}triggerAttackRelease(e,t,s,r){const i=this.toSeconds(s);if(this.triggerAttack(e,i,r),Vt(t)){pe(Vt(e),"If the duration is an array, the notes must also be an array"),e=e;for(let o=0;o0,"The duration must be greater than 0"),this.triggerRelease(e[o],i+c)}}else{const o=this.toSeconds(t);pe(o>0,"The duration must be greater than 0"),this.triggerRelease(e,i+o)}return this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1),this.context.transport.on("stop",this._syncedRelease),this.context.transport.on("pause",this._syncedRelease),this.context.transport.on("loopEnd",this._syncedRelease)),this}set(e){const t=Fs(e,["onsilence","context"]);return this.options=Ws(this.options,t),this._voices.forEach(s=>s.set(t)),this._dummyVoice.set(t),this}get(){return this._dummyVoice.get()}releaseAll(e){const t=this.toSeconds(e);return this._activeVoices.forEach(({voice:s})=>{s.triggerRelease(t)}),this}dispose(){return super.dispose(),this._dummyVoice.dispose(),this._voices.forEach(e=>e.dispose()),this._activeVoices=[],this._availableVoices=[],this.context.clearInterval(this._gcTimeout),this}}class Fi extends Wn{constructor(){super(z(Fi.getDefaults(),arguments,["urls","onload","baseUrl"],"urls")),this.name="Sampler",this._activeSources=new Map;const e=z(Fi.getDefaults(),arguments,["urls","onload","baseUrl"],"urls"),t={};Object.keys(e.urls).forEach(s=>{const r=parseInt(s,10);if(pe(po(s)||qn(r)&&isFinite(r),`url key is neither a note or midi pitch: ${s}`),po(s)){const i=new Mt(this.context,s).toMidi();t[i]=e.urls[s]}else qn(r)&&isFinite(r)&&(t[r]=e.urls[r])}),this._buffers=new eu({urls:t,onload:e.onload,baseUrl:e.baseUrl,onerror:e.onerror}),this.attack=e.attack,this.release=e.release,this.curve=e.curve,this._buffers.loaded&&Promise.resolve().then(e.onload)}static getDefaults(){return Object.assign(Wn.getDefaults(),{attack:0,baseUrl:"",curve:"exponential",onload:Fe,onerror:Fe,release:.1,urls:{}})}_findClosest(e){let s=0;for(;s<96;){if(this._buffers.has(e+s))return-s;if(this._buffers.has(e-s))return s;s++}throw new Error(`No available buffers for note: ${e}`)}triggerAttack(e,t,s=1){return this.log("triggerAttack",e,t,s),Array.isArray(e)||(e=[e]),e.forEach(r=>{const i=Up(new Mt(this.context,r).toFrequency()),o=Math.round(i),a=i-o,c=this._findClosest(o),l=o-c,u=this._buffers.get(l),h=jp(c+a),d=new Or({url:u,context:this.context,curve:this.curve,fadeIn:this.attack,fadeOut:this.release,playbackRate:h}).connect(this.output);d.start(t,0,u.duration/h,s),Vt(this._activeSources.get(o))||this._activeSources.set(o,[]),this._activeSources.get(o).push(d),d.onended=()=>{if(this._activeSources&&this._activeSources.has(o)){const f=this._activeSources.get(o),p=f.indexOf(d);p!==-1&&f.splice(p,1)}}}),this}triggerRelease(e,t){return this.log("triggerRelease",e,t),Array.isArray(e)||(e=[e]),e.forEach(s=>{const r=new Mt(this.context,s).toMidi();if(this._activeSources.has(r)&&this._activeSources.get(r).length){const i=this._activeSources.get(r);t=this.toSeconds(t),i.forEach(o=>{o.stop(t)}),this._activeSources.set(r,[])}}),this}releaseAll(e){const t=this.toSeconds(e);return this._activeSources.forEach(s=>{for(;s.length;)s.shift().stop(t)}),this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1)),this}triggerAttackRelease(e,t,s,r=1){const i=this.toSeconds(s);return this.triggerAttack(e,i,r),Vt(t)?(pe(Vt(e),"notes must be an array when duration is array"),e.forEach((o,a)=>{const c=t[Math.min(a,t.length-1)];this.triggerRelease(o,i+this.toSeconds(c))})):this.triggerRelease(e,i+this.toSeconds(t)),this}add(e,t,s){if(pe(po(e)||isFinite(e),`note must be a pitch or midi: ${e}`),po(e)){const r=new Mt(this.context,e).toMidi();this._buffers.add(r,t,s)}else this._buffers.add(e,t,s);return this}get loaded(){return this._buffers.loaded}dispose(){return super.dispose(),this._buffers.dispose(),this._activeSources.forEach(e=>{e.forEach(t=>t.dispose())}),this._activeSources.clear(),this}}un([Xn(0)],Fi.prototype,"attack",void 0);un([Xn(0)],Fi.prototype,"release",void 0);class ra extends he{constructor(){super(Object.assign(z(ra.getDefaults(),arguments,["fade"]))),this.name="CrossFade",this._panner=this.context.createStereoPanner(),this._split=this.context.createChannelSplitter(2),this._g2a=new Xx({context:this.context}),this.a=new De({context:this.context,gain:0}),this.b=new De({context:this.context,gain:0}),this.output=new De({context:this.context}),this._internalChannels=[this.a,this.b];const e=z(ra.getDefaults(),arguments,["fade"]);this.fade=new je({context:this.context,units:"normalRange",value:e.fade}),ke(this,"fade"),this.context.getConstant(1).connect(this._panner),this._panner.connect(this._split),this._panner.channelCount=1,this._panner.channelCountMode="explicit",Un(this._split,this.a.gain,0),Un(this._split,this.b.gain,1),this.fade.chain(this._g2a,this._panner.pan),this.a.connect(this.output),this.b.connect(this.output)}static getDefaults(){return Object.assign(he.getDefaults(),{fade:.5})}dispose(){return super.dispose(),this.a.dispose(),this.b.dispose(),this.output.dispose(),this.fade.dispose(),this._g2a.dispose(),this._panner.disconnect(),this._split.disconnect(),this}}class Dr extends he{constructor(e){super(e),this.name="Effect",this._dryWet=new ra({context:this.context}),this.wet=this._dryWet.fade,this.effectSend=new De({context:this.context}),this.effectReturn=new De({context:this.context}),this.input=new De({context:this.context}),this.output=this._dryWet,this.input.fan(this._dryWet.a,this.effectSend),this.effectReturn.connect(this._dryWet.b),this.wet.setValueAtTime(e.wet,0),this._internalChannels=[this.effectReturn,this.effectSend],ke(this,"wet")}static getDefaults(){return Object.assign(he.getDefaults(),{wet:1})}connectEffect(e){return this._internalChannels.push(e),this.effectSend.chain(e,this.effectReturn),this}dispose(){return super.dispose(),this._dryWet.dispose(),this.effectSend.dispose(),this.effectReturn.dispose(),this.wet.dispose(),this}}class qh extends Dr{constructor(e){super(e),this.name="LFOEffect",this._lfo=new ta({context:this.context,frequency:e.frequency,amplitude:e.depth}),this.depth=this._lfo.amplitude,this.frequency=this._lfo.frequency,this.type=e.type,ke(this,["frequency","depth"])}static getDefaults(){return Object.assign(Dr.getDefaults(),{frequency:1,type:"sine",depth:1})}start(e){return this._lfo.start(e),this}stop(e){return this._lfo.stop(e),this}sync(){return this._lfo.sync(),this}unsync(){return this._lfo.unsync(),this}get type(){return this._lfo.type}set type(e){this._lfo.type=e}dispose(){return super.dispose(),this._lfo.dispose(),this.frequency.dispose(),this.depth.dispose(),this}}class Vi extends he{constructor(){super(Object.assign(z(Vi.getDefaults(),arguments,["pan"]))),this.name="Panner",this._panner=this.context.createStereoPanner(),this.input=this._panner,this.output=this._panner;const e=z(Vi.getDefaults(),arguments,["pan"]);this.pan=new Te({context:this.context,param:this._panner.pan,value:e.pan,minValue:-1,maxValue:1}),this._panner.channelCount=e.channelCount,this._panner.channelCountMode="explicit",ke(this,"pan")}static getDefaults(){return Object.assign(he.getDefaults(),{pan:0,channelCount:1})}dispose(){return super.dispose(),this._panner.disconnect(),this.pan.dispose(),this}}class ia extends qh{constructor(){super(z(ia.getDefaults(),arguments,["frequency"])),this.name="AutoPanner";const e=z(ia.getDefaults(),arguments,["frequency"]);this._panner=new Vi({context:this.context,channelCount:e.channelCount}),this.connectEffect(this._panner),this._lfo.connect(this._panner.pan),this._lfo.min=-1,this._lfo.max=1}static getDefaults(){return Object.assign(qh.getDefaults(),{channelCount:1})}dispose(){return super.dispose(),this._panner.dispose(),this}}const sT="bit-crusher",rT=` - class BitCrusherWorklet extends SingleIOProcessor { - - static get parameterDescriptors() { - return [{ - name: "bits", - defaultValue: 12, - minValue: 1, - maxValue: 16, - automationRate: 'k-rate' - }]; - } - - generate(input, _channel, parameters) { - const step = Math.pow(0.5, parameters.bits - 1); - const val = step * Math.floor(input / step + 0.5); - return val; - } - } -`;Zp(sT,rT);class oa extends he{constructor(){super(z(oa.getDefaults(),arguments,["channels"])),this.name="Merge";const e=z(oa.getDefaults(),arguments,["channels"]);this._merger=this.output=this.input=this.context.createChannelMerger(e.channels)}static getDefaults(){return Object.assign(he.getDefaults(),{channels:2})}dispose(){return super.dispose(),this._merger.disconnect(),this}}class jh extends Dr{constructor(e){super(e),this.name="FeedbackEffect",this._feedbackGain=new De({context:this.context,gain:e.feedback,units:"normalRange"}),this.feedback=this._feedbackGain.gain,ke(this,"feedback"),this.effectReturn.chain(this._feedbackGain,this.effectSend)}static getDefaults(){return Object.assign(Dr.getDefaults(),{feedback:.125})}dispose(){return super.dispose(),this._feedbackGain.dispose(),this.feedback.dispose(),this}}class aa extends jh{constructor(){super(z(aa.getDefaults(),arguments,["delayTime","feedback"])),this.name="FeedbackDelay";const e=z(aa.getDefaults(),arguments,["delayTime","feedback"]);this._delayNode=new Xo({context:this.context,delayTime:e.delayTime,maxDelay:e.maxDelay}),this.delayTime=this._delayNode.delayTime,this.connectEffect(this._delayNode),ke(this,"delayTime")}static getDefaults(){return Object.assign(jh.getDefaults(),{delayTime:.25,maxDelay:1})}dispose(){return super.dispose(),this._delayNode.dispose(),this.delayTime.dispose(),this}}class ca extends Dr{constructor(){super(z(ca.getDefaults(),arguments,["decay"])),this.name="Reverb",this._convolver=this.context.createConvolver(),this.ready=Promise.resolve();const e=z(ca.getDefaults(),arguments,["decay"]);this._decay=e.decay,this._preDelay=e.preDelay,this.generate(),this.connectEffect(this._convolver)}static getDefaults(){return Object.assign(Dr.getDefaults(),{decay:1.5,preDelay:.01})}get decay(){return this._decay}set decay(e){e=this.toSeconds(e),on(e,.001),this._decay=e,this.generate()}get preDelay(){return this._preDelay}set preDelay(e){e=this.toSeconds(e),on(e,0),this._preDelay=e,this.generate()}generate(){return tt(this,void 0,void 0,function*(){const e=this.ready,t=new Wa(2,this._decay+this._preDelay,this.context.sampleRate),s=new Ci({context:t}),r=new Ci({context:t}),i=new oa({context:t});s.connect(i,0,0),r.connect(i,0,1);const o=new De({context:t}).toDestination();i.connect(o),s.start(0),r.start(0),o.gain.setValueAtTime(0,0),o.gain.setValueAtTime(1,this._preDelay),o.gain.exponentialApproachValueAtTime(0,this._preDelay,this.decay);const a=t.render();return this.ready=a.then(Fe),yield e,this._convolver.buffer=(yield a).get(),this})}dispose(){return super.dispose(),this._convolver.disconnect(),this}}class Je extends he{constructor(){super(z(Je.getDefaults(),arguments,["solo"])),this.name="Solo";const e=z(Je.getDefaults(),arguments,["solo"]);this.input=this.output=new De({context:this.context}),Je._allSolos.has(this.context)||Je._allSolos.set(this.context,new Set),Je._allSolos.get(this.context).add(this),this.solo=e.solo}static getDefaults(){return Object.assign(he.getDefaults(),{solo:!1})}get solo(){return this._isSoloed()}set solo(e){e?this._addSolo():this._removeSolo(),Je._allSolos.get(this.context).forEach(t=>t._updateSolo())}get muted(){return this.input.gain.value===0}_addSolo(){Je._soloed.has(this.context)||Je._soloed.set(this.context,new Set),Je._soloed.get(this.context).add(this)}_removeSolo(){Je._soloed.has(this.context)&&Je._soloed.get(this.context).delete(this)}_isSoloed(){return Je._soloed.has(this.context)&&Je._soloed.get(this.context).has(this)}_noSolos(){return!Je._soloed.has(this.context)||Je._soloed.has(this.context)&&Je._soloed.get(this.context).size===0}_updateSolo(){this._isSoloed()?this.input.gain.value=1:this._noSolos()?this.input.gain.value=1:this.input.gain.value=0}dispose(){return super.dispose(),Je._allSolos.get(this.context).delete(this),this._removeSolo(),this}}Je._allSolos=new Map;Je._soloed=new Map;class la extends he{constructor(){super(z(la.getDefaults(),arguments,["pan","volume"])),this.name="PanVol";const e=z(la.getDefaults(),arguments,["pan","volume"]);this._panner=this.input=new Vi({context:this.context,pan:e.pan,channelCount:e.channelCount}),this.pan=this._panner.pan,this._volume=this.output=new Zs({context:this.context,volume:e.volume}),this.volume=this._volume.volume,this._panner.connect(this._volume),this.mute=e.mute,ke(this,["pan","volume"])}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,pan:0,volume:0,channelCount:1})}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}dispose(){return super.dispose(),this._panner.dispose(),this.pan.dispose(),this._volume.dispose(),this.volume.dispose(),this}}class Ds extends he{constructor(){super(z(Ds.getDefaults(),arguments,["volume","pan"])),this.name="Channel";const e=z(Ds.getDefaults(),arguments,["volume","pan"]);this._solo=this.input=new Je({solo:e.solo,context:this.context}),this._panVol=this.output=new la({context:this.context,pan:e.pan,volume:e.volume,mute:e.mute,channelCount:e.channelCount}),this.pan=this._panVol.pan,this.volume=this._panVol.volume,this._solo.connect(this._panVol),ke(this,["pan","volume"])}static getDefaults(){return Object.assign(he.getDefaults(),{pan:0,volume:0,mute:!1,solo:!1,channelCount:1})}get solo(){return this._solo.solo}set solo(e){this._solo.solo=e}get muted(){return this._solo.muted||this.mute}get mute(){return this._panVol.mute}set mute(e){this._panVol.mute=e}_getBus(e){return Ds.buses.has(e)||Ds.buses.set(e,new De({context:this.context})),Ds.buses.get(e)}send(e,t=0){const s=this._getBus(e),r=new De({context:this.context,units:"decibels",gain:t});return this.connect(r),r.connect(s),r}receive(e){return this._getBus(e).connect(this),this}dispose(){return super.dispose(),this._panVol.dispose(),this.pan.dispose(),this.volume.dispose(),this._solo.dispose(),this}}Ds.buses=new Map;class iT extends he{constructor(){super(...arguments),this.name="Listener",this.positionX=new Te({context:this.context,param:this.context.rawContext.listener.positionX}),this.positionY=new Te({context:this.context,param:this.context.rawContext.listener.positionY}),this.positionZ=new Te({context:this.context,param:this.context.rawContext.listener.positionZ}),this.forwardX=new Te({context:this.context,param:this.context.rawContext.listener.forwardX}),this.forwardY=new Te({context:this.context,param:this.context.rawContext.listener.forwardY}),this.forwardZ=new Te({context:this.context,param:this.context.rawContext.listener.forwardZ}),this.upX=new Te({context:this.context,param:this.context.rawContext.listener.upX}),this.upY=new Te({context:this.context,param:this.context.rawContext.listener.upY}),this.upZ=new Te({context:this.context,param:this.context.rawContext.listener.upZ})}static getDefaults(){return Object.assign(he.getDefaults(),{positionX:0,positionY:0,positionZ:0,forwardX:0,forwardY:0,forwardZ:-1,upX:0,upY:1,upZ:0})}dispose(){return super.dispose(),this.positionX.dispose(),this.positionY.dispose(),this.positionZ.dispose(),this.forwardX.dispose(),this.forwardY.dispose(),this.forwardZ.dispose(),this.upX.dispose(),this.upY.dispose(),this.upZ.dispose(),this}}ja(n=>{n.listener=new iT({context:n})});Ua(n=>{n.listener.dispose()});class ua extends he{constructor(){super(z(ua.getDefaults(),arguments,["threshold","ratio"])),this.name="Compressor",this._compressor=this.context.createDynamicsCompressor(),this.input=this._compressor,this.output=this._compressor;const e=z(ua.getDefaults(),arguments,["threshold","ratio"]);this.threshold=new Te({minValue:this._compressor.threshold.minValue,maxValue:this._compressor.threshold.maxValue,context:this.context,convert:!1,param:this._compressor.threshold,units:"decibels",value:e.threshold}),this.attack=new Te({minValue:this._compressor.attack.minValue,maxValue:this._compressor.attack.maxValue,context:this.context,param:this._compressor.attack,units:"time",value:e.attack}),this.release=new Te({minValue:this._compressor.release.minValue,maxValue:this._compressor.release.maxValue,context:this.context,param:this._compressor.release,units:"time",value:e.release}),this.knee=new Te({minValue:this._compressor.knee.minValue,maxValue:this._compressor.knee.maxValue,context:this.context,convert:!1,param:this._compressor.knee,units:"decibels",value:e.knee}),this.ratio=new Te({minValue:this._compressor.ratio.minValue,maxValue:this._compressor.ratio.maxValue,context:this.context,convert:!1,param:this._compressor.ratio,units:"positive",value:e.ratio}),ke(this,["knee","release","attack","ratio","threshold"])}static getDefaults(){return Object.assign(he.getDefaults(),{attack:.003,knee:30,ratio:12,release:.25,threshold:-24})}get reduction(){return this._compressor.reduction}dispose(){return super.dispose(),this._compressor.disconnect(),this.attack.dispose(),this.release.dispose(),this.threshold.dispose(),this.ratio.dispose(),this.knee.dispose(),this}}const mc=$t().transport;$t().destination;$t().destination;$t().listener;$t().draw;$t();function Wc(n,e,t){if(typeof n=="function"||Hs(n))return de(()=>dc(Kt(n),Kt(e),Kt(t)));const s=Oe(n);return de({get(){return s.value=dc(s.value,Kt(e),Kt(t))},set(r){s.value=dc(r,Kt(e),Kt(t))}})}const Ie={},Me=It({midi:!0,bpm:Wc(St("tempo-bpm",90),10,500),quantize:St("quantize","@8n"),octave:Wc(St("synth-transpose",0),-2,2),transpose:de(()=>Me.octave*12),initiated:!1,params:{oscillator:{type:St("synth-osc","sawtooth8")},volume:-20,envelope:{attack:.005,decay:.3,sustain:.4,release:.8},filterEnvelope:{attack:.001,decay:.7,sustain:.5,release:1,baseFrequency:60,octaves:5}}});function Xp(){return Me.initiated||(To("zя".split(""),n=>{Me.octave--}),To("xч".split(""),n=>{Me.octave++}),To("Escape",()=>_c()),mc.bpm.set(Me.bpm),mc.start(),vt(()=>Me.bpm,n=>{mc.bpm.rampTo(n,2)}),vt(()=>Me.params,n=>{Ie.poly&&Ie.poly.set(n)},{deep:!0}),vt(()=>D.note,n=>{Me.midi&&(n.velocity>0?Uh(Vh(n.number).toFrequency(),n.velocity/127):Wh(Vh(n.number).toFrequency()))}),vt(()=>D.playing,n=>{n||_c()})),{init:sr,synth:Ie,synthOptions:Me,synthOnce:oT,synthAttack:Uh,synthRelease:Wh,synthReleaseAll:_c}}function sr(){Bx(),!(Ie!=null&&Ie.poly)&&(Ie.compressor=new ua().toDestination(),Ie.pan=new ia({depth:.4,frequency:"8n",wet:.7}).connect(Ie.compressor),Ie.reverb=new ca(2.5).connect(Ie.pan),Ie.poly=new sa(na,Me.params).connect(Ie.pan),Ie.delay=new aa({delayTime:"8n",wet:.3,feedback:.3,maxDelay:"8n"}).toDestination(),Ie.poly.connect(Ie.reverb),Ie.poly.connect(Ie.delay),Ie.poly.connect(Ie.pan),Ie.pan.start(),Me.initiated=!0)}function oT(n="A4",e="8n",t){if(!Ie.poly||Me.mute)return sr();Ie.poly.triggerAttackRelease(n,e),Ie.poly.releaseAll(Me.quantize)}function Uh(n,e){if(!Ie.poly||Me.mute)return sr();Ie.poly.triggerAttack(zp(n).transpose(Me.transpose),Me.quantize,e)}function Wh(n){if(!Ie.poly||Me.mute)return sr();Ie.poly.triggerRelease(zp(n).transpose(Me.transpose),Me.quantize)}function _c(){if(!Ie.poly||Me.mute)return sr();Ie.poly.releaseAll(Me.quantize)}const D=It({enabled:!1,initiated:!1,keyboardInitiated:!1,offset:-1,out:!0,inputs:{},outputs:{},forwards:{},playing:!1,channels:{},channel:St("global-midi-channel",1),note:null,time:0,duration:0,maxDuration:3e3,message:null,log:[],cc:{},clock:0,filter:St("global-midi-filter",{}),available:de(()=>Object.entries(D.outputs).length>0),total:{hits:0,dur:0,duration:de(()=>D.total.dur+D.duration),notes:[0,0,0,0,0,0,0,0,0,0,0,0],durations:[0,0,0,0,0,0,0,0,0,0,0,0],durs:de(()=>D.total.durations.map((n,e)=>({pitch:e,dur:n})).filter(n=>n.dur>0)),reset(){D.total.hits=0,D.total.dur=0,D.total.notes=new Array(12).fill(0),D.total.durations=new Array(12).fill(0)}}}),lr={KeyA:{note:"C",offset:0},KeyW:{note:"C#",offset:0},KeyS:{note:"D",offset:0},KeyE:{note:"D#",offset:0},KeyD:{note:"E",offset:0},KeyF:{note:"F",offset:0},KeyT:{note:"F#",offset:0},KeyG:{note:"G",offset:0},KeyY:{note:"G#",offset:0},KeyH:{note:"A",offset:0},KeyU:{note:"A#",offset:0},KeyJ:{note:"B",offset:0},KeyK:{note:"C",offset:1},KeyO:{note:"C#",offset:1},KeyL:{note:"D",offset:1},KeyP:{note:"D#",offset:1},Semicolon:{note:"E",offset:1},Quote:{note:"F",offset:1},BracketRight:{note:"F#",offset:1}};function aT(){D.keyboardInitiated||(document.addEventListener("keydown",n=>{n.code=="KeyZ"&&D.offset--,n.code=="KeyX"&&D.offset++,!(n.repeat||!lr[n.code])&&(n.ctrlKey||n.altKey||n.metaKey||((n.code=="Slash"||n.code=="Quote")&&n.preventDefault(),zh(lr[n.code].note,lr[n.code].offset)))}),document.addEventListener("keyup",n=>{lr[n.code]&&zh(lr[n.code].note,lr[n.code].offset,!0)}),To("Enter",()=>D.total.reset()),D.keyboardInitiated=!0)}function zh(n,e,t){let s=n+(4+e+D.offset);const r=new $s(s,{attack:t?0:1}),i={type:t?"noteoff":"noteon",note:r,port:{id:"PC Keyboard"},timestamp:D.time,target:{number:0}};zc(i)}Ol(()=>{var n,e,t;D.time=Y.time,((n=D==null?void 0:D.note)==null?void 0:n.velocity)>0?D.duration=Y.time-((e=D==null?void 0:D.note)==null?void 0:e.timestamp):(D.total.dur+=D.duration,D.total.durations[((t=D==null?void 0:D.note)==null?void 0:t.pitch)||0]+=D.duration,D.duration=0)});vt(()=>D.duration,n=>{n>D.maxDuration&&D.total.reset()});function rr(){return ws(()=>{Y.supported&&cT()}),sf(()=>{if(!D.out)return;let n=Object.values(Y.outputs);D.playing?n.forEach(e=>{e.sendContinue()}):n.forEach(e=>{e.sendStop()})}),{midi:D,midiAttack:uT,midiRelease:fT,midiOnce:pT,setCC:mT,WebMidi:Y}}function cT(){D.initiated||(Y.enable(),Y.addListener("enabled",n=>{D.enabled=!0,Hh()}),Y.addListener("connected",n=>{Hh()}),Y.addListener("disconnected",n=>{delete D[n.port.type+"s"][n.port.id]}),D.initiated=!0)}function Hh(){D.inputs=It({}),Y.inputs.forEach(n=>{D.enabled=!0,D.inputs[n.id]={name:n.name,manufacturer:n.manufacturer,forwarder:n.addForwarder(),event:null,note:null,cc:null},n.removeListener(),n.addListener("start",()=>{D.playing=!0}),n.addListener("stop",()=>{D.playing=!1,D.channels={}}),n.addListener("midimessage",e=>{var t;((t=e==null?void 0:e.message)==null?void 0:t.type)!="clock"&&(D.inputs[n.id].event=e,D.message=e.message,D.log.unshift(e),D.log.length>100&&D.log.pop())}),n.addListener("noteon",e=>{D.inputs[n.id].note=zc(e)},{channels:"all"}),n.addListener("noteoff",e=>{D.inputs[n.id].note=zc(e)},{channels:"all"}),n.addListener("controlchange",e=>{const t=lT(e);t&&(D.inputs[n.id].cc=t,D.cc=t)},{channels:"all"}),n.addListener("clock",e=>{D.clock=e.timestamp})}),D.outputs=It({}),Y.outputs.forEach(n=>{D.outputs[n.id]={name:n.name,manufacturer:n.manufacturer}})}function zc(n){let e=n.note;if(e.port=n.port.id,e.type=n.type,e.timestamp=n.timestamp,e.channel=n.target.number,n.type=="noteoff")e.velocity=0;else{e.velocity=100,D.total.hits++;let t=(n.note.number+3)%12;D.total.notes[t]=D.total.notes[t]+1}if(e.pitch=(e.number+3)%12,e.octA=Math.floor((e.number+3)/12)-1,!D.filter[e.channel])return Qp(e.channel),D.channels[e.channel].notes[e.number]=e,D.note=e,e}function lT(n){if(D.filter[n.target.number])return;let e={channel:n.target.number,timestamp:n.timestamp,number:n.controller.number,value:n.value,raw:n.rawValue,port:n.port.id};return Qp(e.channel),D.channels[e.channel].cc[e.number]=e,e}function Qp(n){D.channels[n]||(D.channels[n]={num:n,activeNotes:{},notes:{},cc:{}})}function Jp(n,e,t){var s,r,i;(i=(r=(s=D.channels)==null?void 0:s[n])==null?void 0:r.notes)!=null&&i[e]&&(D.channels[n].notes[e].velocity=t)}function uT(n,e){if(!D.out)return;let t=(n==null?void 0:n.channel)||D.channel;Jp(t,n==null?void 0:n.number,100),Y.outputs.forEach(s=>{s.playNote(n.number,{channels:t,...e})})}function hT(n,e){D.out&&Y.outputs.forEach(t=>{t.playNote(n,{channels:D.channel,...e})})}function dT(n,e){D.out&&(n?Y.outputs.forEach(t=>{t.stopNote(n,{channels:D.channel,...e})}):Y.outputs.forEach(t=>{t.sendAllNotesOff(),t.sendAllSoundOff({time:"+1"})}))}function fT(n){if(D.out)if(n){let e=(n==null?void 0:n.channel)||D.channel;Jp(e,n==null?void 0:n.number,0),Y.outputs.forEach(t=>{t.stopNote(n.number,{channels:e})})}else Y.outputs.forEach(e=>{e.sendAllNotesOff(),e.sendAllSoundOff({time:"+1"})})}function pT(n,e){!D.out||D.filter[D.channel]||(hT(n,e),setTimeout(()=>{dT(n,e)},300))}function mT(n,e){D.out&&Y.outputs.forEach(t=>{t.sendControlChange(Number(n.number),e,n.channel)})}function _T(n,e){var i,o;const t=Y.outputs.find(a=>a.id==e),s=D.inputs[n].forwarder.destinations,r=s.indexOf(t);r==-1?(s.push(t),D.forwards[n]=D.forwards[n]||{},D.forwards[n][e]=!0):(s.splice(r,1),(o=(i=D.forwards)==null?void 0:i[n])==null||delete o[e])}const gT=["A","A#","B","C","C#","D","D#","E","F","F#","G","G#"];function at(n=0,e,t=1,s=1){return e=e||Math.floor(n/12)+4,`hsla(${n%12*30},${t*100}%,${Math.abs(e+2)*8}%,${s})`}function yT(n=0,e=12,t=35,s=100,r=100){let i=(n-e/4)/(e/2)*Math.PI,o=t*Math.cos(i)+s/2,a=t*Math.sin(i)+r/2;return{x:o,y:a}}const Gh=Oe(),vT=St("active-scene","Rose");function Qn(){const{width:n,height:e}=my(Gh);return{visual:Gh,width:n,height:e,activeScene:vT}}const bT={class:"text-overlay select-none",fill:"currentColor"},wT={fill:"currentColor",x:30,y:30},xT=P("circle",{cx:"18",cy:"22",r:"14",fill:"transparent"},null,-1),TT=["transform"],ET=["x"],ST=["x","transform"],CT=["x"],AT=["x"],NT=["y","x"],MT=P("tspan",{class:"font-normal"},"Made by",-1),kT=P("tspan",{dx:"4"},[P("a",{href:"https://chromatone.center",target:"_blank"},"Chromatone")],-1),OT=P("tspan",{dx:"4"},"for",-1),IT=P("tspan",{dx:"4"},[P("a",{href:"https://playtronica.com",target:"_blank"},"Playtronica")],-1),RT=P("tspan",{dx:"4"},[P("a",{href:"https://shop.playtronica.com/products/touchme",target:"_blank"},"TouchMe")],-1),DT=[MT,kT,OT,IT,RT],_o=200,PT={__name:"stats",setup(n){const{width:e,height:t}=Qn();return(s,r)=>{var a,c,l,u,h,d;const i=d1,o=xl("tooltip");return H(),ee("g",bT,[mt((H(),ee("text",wT,[ps(Be((c=(a=v(D))==null?void 0:a.total)==null?void 0:c.hits),1)])),[[o,"Notes played",void 0,{"bottom-start":!0}]]),P("g",{onClick:r[0]||(r[0]=f=>v(D).total.reset())},[xT,ve(i,{x:"8",y:"12"})]),P("g",{transform:`translate(${v(e)/2},${v(t)-60})`,opacity:"0.7"},[P("rect",{x:-_o/2,width:_o,height:"10",stroke:"currentColor",fill:"none",rx:"4"},null,8,ET),P("rect",{x:-_o/2,width:_o,transform:`scale(${v(D).duration/v(D).maxDuration},1)`,height:"10",fill:"currentColor",rx:"4"},null,8,ST)],8,TT),mt((H(),ee("text",{"text-anchor":"middle",fill:"currentColor",x:v(e)/2,y:30},[ps(Be((u=(l=v(D))==null?void 0:l.note)==null?void 0:u.identifier),1)],8,CT)),[[o,"Current note",void 0,{bottom:!0}]]),mt((H(),ee("text",{fill:"currentColor",x:v(e)-10,y:30,"text-anchor":"end"},[ps(Be((((d=(h=v(D))==null?void 0:h.total)==null?void 0:d.duration)/1e3).toFixed())+" / "+Be((v(D).time/1e3).toFixed())+"s",1)],8,AT)),[[o,"Session time: playing / total",void 0,{"bottom-end":!0}]]),P("text",{class:"text-16px",y:v(t)-20,x:v(e)/2,"text-anchor":"middle",opacity:"0.6"},DT,8,NT)])}}},$T={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},FT=P("path",{fill:"currentColor",d:"M22 7h-9v2h9V7zm0 8h-9v2h9v-2zM5.54 11L2 7.46l1.41-1.41l2.12 2.12l4.24-4.24l1.41 1.41L5.54 11zm0 8L2 15.46l1.41-1.41l2.12 2.12l4.24-4.24l1.41 1.41L5.54 19z"},null,-1),VT=[FT];function LT(n,e){return H(),ee("svg",$T,VT)}const BT={name:"ic-baseline-checklist",render:LT},qT={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},jT=P("path",{fill:"currentColor",d:"M20.844 2c-1.64 0-3.297.852-4.407 2.156v.032c-.789.98-1.644 2.527-1.375 4.312c-.128-.05-.136-.035-.28-.094c-.692-.281-1.548-.594-2.563-.594c-3.98 0-7 3.606-7 8.344c0 3.067 1.031 5.942 2.406 8.094c.688 1.078 1.469 1.965 2.281 2.625c.813.66 1.664 1.125 2.625 1.125c.961 0 1.68-.324 2.219-.563c.54-.238.957-.437 1.75-.437c.715 0 1.078.195 1.625.438c.547.242 1.293.562 2.281.562c1.07 0 1.98-.523 2.719-1.188c.738-.664 1.36-1.519 1.875-2.343c.516-.824.922-1.633 1.219-2.282c.148-.324.258-.593.343-.812c.086-.219.13-.281.188-.531l.188-.813l-.75-.343a5.33 5.33 0 0 1-1.5-1.063c-.625-.637-1.157-1.508-1.157-2.844A4.08 4.08 0 0 1 24.563 13c.265-.309.542-.563.75-.719c.105-.078.187-.117.25-.156c.062-.04.05-.027.156-.094l.843-.531l-.562-.844c-1.633-2.511-4.246-2.844-5.281-2.844c-.48 0-.82.168-1.25.25c.242-.226.554-.367.75-.624c.004-.004-.004-.028 0-.032c.011-.011.023-.02.031-.031h.031a6.16 6.16 0 0 0 1.563-4.438L21.78 2zm-1.188 2.313c-.172.66-.453 1.289-.906 1.78l-.063.063c-.382.516-.972.899-1.562 1.125c.164-.652.45-1.312.844-1.812c.008-.012.023-.02.031-.032c.438-.5 1.043-.875 1.656-1.125zm-7.437 5.5c.558 0 1.172.21 1.812.468c.64.258 1.239.594 2.094.594c.852 0 1.496-.336 2.25-.594c.754-.258 1.559-.469 2.344-.469c.523 0 1.816.333 2.906 1.344c-.191.172-.36.297-.563.531a6.21 6.21 0 0 0-1.53 4.094c0 1.906.831 3.34 1.718 4.25c.55.563.89.696 1.313.938c-.055.125-.086.222-.157.375a18.82 18.82 0 0 1-1.093 2.062c-.454.727-1.004 1.434-1.532 1.907c-.527.472-1 .687-1.375.687c-.566 0-.898-.156-1.468-.406S17.581 25 16.5 25c-1.137 0-1.977.336-2.563.594c-.585.258-.89.406-1.406.406c-.246 0-.777-.2-1.375-.688c-.597-.488-1.254-1.23-1.844-2.156c-1.183-1.851-2.093-4.394-2.093-7c0-3.941 2.199-6.343 5-6.343z"},null,-1),UT=[jT];function WT(n,e){return H(),ee("svg",qT,UT)}const zT={name:"la-apple",render:WT},HT={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},GT=P("path",{fill:"currentColor",d:"M16 4C9.385 4 4 9.385 4 16s5.385 12 12 12s12-5.385 12-12S22.615 4 16 4zm0 2a9.977 9.977 0 0 1 8.922 5.492l-6.807-.004A4.93 4.93 0 0 0 16 11c-1.625 0-3.06.796-3.975 2.006L8.44 9.459A9.966 9.966 0 0 1 16 6zm-8.367 4.523l3.387 5.87a5.015 5.015 0 0 0 4.369 4.566l-1.276 4.857A9.982 9.982 0 0 1 6 16a9.96 9.96 0 0 1 1.633-5.477zm17.808 2.202A9.986 9.986 0 0 1 16 26c-.186 0-.367-.017-.55-.027l3.392-5.871A4.998 4.998 0 0 0 21 16a4.96 4.96 0 0 0-.398-1.947l4.84-1.328zM16 13c1.671 0 3 1.329 3 3s-1.329 3-3 3s-3-1.329-3-3s1.329-3 3-3z"},null,-1),YT=[GT];function KT(n,e){return H(),ee("svg",HT,YT)}const ZT={name:"la-chrome",render:KT},XT="/pc-keyboard.svg",QT={key:0,class:"text-center absolute z-500 p-4 rounded-xl shadow-xl bg-light-200 mx-auto dark_bg-dark-200 min-w-80",style:{left:"50%",top:"50%",transform:"translate(-50%, -50%)"}},JT=P("h2",{class:"text-center text-2xl my-4"},"Let's play music with touch ",-1),eE={key:0,class:"p-4 flex flex-col gap-2"},tE={class:"button p-4 flex items-center",href:"https://chrome.google.com",target:"_blank"},nE=P("div",{class:"ml-2"},"Google Chrome for Desktop or Android",-1),sE={class:"button p-4 flex items-center",href:"https://apps.apple.com/ru/app/web-midi-browser/id953846217",target:"_blank"},rE=P("div",{class:"ml-2"},"Web MIDI Browser for iOS",-1),iE={class:"button p-4 flex items-center",href:"https://caniuse.com/?search=midi",target:"_blank"},oE=P("div",{class:"ml-2"},"Other options",-1),aE=P("div",{class:"mt-4"},"Or play notes with your PC keyboard ",-1),cE=P("img",{src:XT},null,-1),lE={key:1,class:"px-4"},uE=["disabled","id","onUpdate:modelValue"],hE=["for"],dE={__name:"start",setup(n){const e=Oe(!1),t=It({browser:{text:"MIDI enabled browser",checked:de(()=>D==null?void 0:D.enabled),disabled:!0},controller:{text:"TouchMe (or any other MIDI controller)",checked:St("touch-me",!1)},usb:{text:"USB cable (you have it in your package)",checked:St("usb-cable",!1)},adapter:{text:"Special adapter, if your device doesn’t have a usb port ",checked:St("usb-adapter",!1)},friend:{text:"Your best friend ",checked:St("your-friend",!1)}});return(s,r)=>{const i=ZT,o=zT,a=BT;return v(Me).initiated?ut("",!0):(H(),ee("div",QT,[JT,v(D).enabled?(H(),ee("div",lE,[(H(!0),ee(Re,null,bt(v(t),(c,l)=>(H(),ee("div",{class:"flex items-center my-4",key:l},[mt(P("input",{class:"transform scale-200",type:"checkbox",disabled:c.disabled,id:l,"onUpdate:modelValue":u=>c.checked=u},null,8,uE),[[_0,c.checked]]),P("label",{class:"ml-4",for:l},Be(c.text),9,hE)]))),128))])):(H(),ee("div",eE,[ps("This interactive experience needs Web MIDI API support. Unfortunately, your current browser doesn't provide it. Is it Firefox or Safari? Please, use another one here."),P("a",tE,[ve(i,{class:"text-2xl"}),nE]),P("a",sE,[ve(o,{class:"text-2xl"}),rE]),P("a",iE,[ve(a,{class:"text-2xl"}),oE]),aE,cE])),P("button",{class:"button mx-auto w-full font-bold",onClick:r[0]||(r[0]=c=>{v(sr)(),e.value=!0})},"Start")]))}}},fE={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},pE=P("path",{fill:"currentColor",d:"M16 3C8.832 3 3 8.832 3 16s5.832 13 13 13s13-5.832 13-13S23.168 3 16 3zm0 2c6.086 0 11 4.914 11 11s-4.914 11-11 11S5 22.086 5 16S9.914 5 16 5zm-3.781 5.781L10.78 12.22L14.562 16l-3.78 3.781l1.437 1.438L16 17.437l3.781 3.782l1.438-1.438L17.437 16l3.782-3.781l-1.438-1.438L16 14.562z"},null,-1),mE=[pE];function _E(n,e){return H(),ee("svg",fE,mE)}const gE={name:"la-times-circle",render:_E},yE={class:"-mt-3 mb-1 font-bold"},vE=P("div",{class:"absolute bottom-1 text-xs"},"BPM",-1),bE={__name:"bpm",setup(n){const e=[60,80,100,120];function t(){let s=e.findIndex(r=>r==Me.bpm);Me.bpm=e[++s%e.length]}return(s,r)=>(H(),ee("button",{class:"button relative",onClick:r[0]||(r[0]=i=>t())},[P("div",yE,Be(v(Me).bpm),1),vE]))}},wE={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},xE=P("g",{fill:"currentColor"},[P("path",{d:"M128 64v64H24Zm104 64H128v64Z",opacity:".2"}),P("path",{d:"m236.19 134.81l-104 64A8 8 0 0 1 120 192V78.32l-91.81 56.49a8 8 0 0 1-8.38-13.62l104-64A8 8 0 0 1 136 64v113.68l91.81-56.49a8 8 0 0 1 8.38 13.62Z"})],-1),TE=[xE];function EE(n,e){return H(),ee("svg",wE,TE)}const SE={name:"ph-wave-sawtooth-duotone",render:EE},CE={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},AE=P("g",{fill:"currentColor"},[P("path",{d:"M128 72v56H24V72Zm0 56v56h104v-56Z",opacity:".2"}),P("path",{d:"M240 128v56a8 8 0 0 1-8 8H128a8 8 0 0 1-8-8V80H32v48a8 8 0 0 1-16 0V72a8 8 0 0 1 8-8h104a8 8 0 0 1 8 8v104h88v-48a8 8 0 0 1 16 0Z"})],-1),NE=[AE];function ME(n,e){return H(),ee("svg",CE,NE)}const kE={name:"ph-wave-square-duotone",render:ME},OE={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},IE=P("g",{fill:"currentColor"},[P("path",{d:"m76 56l52 72H24Zm156 72H128l52 72Z",opacity:".2"}),P("path",{d:"m238.48 132.68l-52 72a8 8 0 0 1-13 0L76 69.66l-45.51 63a8 8 0 1 1-13-9.36l52-72a8 8 0 0 1 13 0l97.51 135l45.51-63a8 8 0 1 1 13 9.36Z"})],-1),RE=[IE];function DE(n,e){return H(),ee("svg",OE,RE)}const PE={name:"ph-wave-triangle-duotone",render:DE},$E={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},FE=P("g",{fill:"currentColor"},[P("path",{d:"M232 128c-52 110.85-78 55.43-104 0Zm-208 0h104c-26-55.43-52-110.85-104 0Z",opacity:".2"}),P("path",{d:"M239.24 131.4c-22 46.8-41.4 68.6-61.2 68.6c-25.1 0-40.73-33.32-57.28-68.6C107.7 103.56 92.9 72 78 72c-16.4 0-36.31 37.21-46.72 59.4a8 8 0 0 1-14.48-6.8C38.71 77.8 58.16 56 78 56c25.1 0 40.73 33.32 57.28 68.6C148.3 152.44 163.1 184 178 184c16.4 0 36.31-37.21 46.72-59.4a8 8 0 0 1 14.48 6.8Z"})],-1),VE=[FE];function LE(n,e){return H(),ee("svg",$E,VE)}const BE={name:"ph-wave-sine-duotone",render:LE},qE={__name:"oscillator",setup(n){const e={sine:"SIN",triangle:"TRI",square8:"SQR",sawtooth8:"SAW"};function t(){let a=Object.keys(e),c=a.findIndex(l=>l==r.params.oscillator.type);r.params.oscillator.type=a[++c%a.length]}const s=de(()=>r.params.oscillator.type),{synthOptions:r,synthOnce:i,init:o}=Xp();return(a,c)=>{const l=BE,u=PE,h=kE,d=SE;return H(),ee("div",{class:"button flex-auto flex justify-center m-1 cursor-pointer",onClick:c[0]||(c[0]=f=>{var p,m;t(),v(i)((m=(p=v(D))==null?void 0:p.note)==null?void 0:m.identifier),!v(r).initiated&&v(o)()})},[s.value=="sine"?(H(),et(l,{key:0})):ut("",!0),s.value=="triangle"?(H(),et(u,{key:1})):ut("",!0),s.value=="square8"?(H(),et(h,{key:2})):ut("",!0),s.value=="sawtooth8"?(H(),et(d,{key:3})):ut("",!0)])}}};const vs={},Ya=(n,e)=>{const t=n.__vccOpts||n;for(const[s,r]of e)t[s]=r;return t},jE={class:"flex flex-col gap-1 mb-4 overflow-x-scroll font-mono pt-4"},UE={class:"txt whitespace-nowrap"},WE={class:"txt"},zE={class:"txt"},HE={class:"txt text-center"},GE={class:"txt text-right"},em={__name:"log",setup(n){Oe(!1);const{midi:e,midiAttack:t,midiRelease:s,setCC:r}=rr();return(i,o)=>(H(),ee("div",jE,[ve(h0,{name:"fall",mode:"out-in"},{default:nn(()=>[(H(!0),ee(Re,null,bt(v(e).log,a=>{var c,l;return H(),ee("div",{class:"flex text-xs fall whitespace-nowrap justify-between",key:a},[P("div",{class:"p-2",style:qe({backgroundColor:v(at)(a.message.dataBytes[0]+3||0)})},null,4),P("div",UE,Be(v(J).toNoteIdentifier(a.message.dataBytes[0]||1)),1),P("div",WE,Be((c=a.message)==null?void 0:c.type),1),P("div",zE,Be((a.message.dataBytes[1]/127).toFixed(2)),1),P("div",HE,Be(a.data.join(",")),1),P("div",GE,"CH"+Be((l=a.message)==null?void 0:l.channel),1)])}),128))]),_:1})]))}};typeof vs=="function"&&vs(em);const YE=Ya(em,[["__scopeId","data-v-5ef71097"]]);const KE=n=>(Sa("data-v-b0381278"),n=n(),Ca(),n),ZE={class:"p-4 shadow-lg rounded-2xl bg-light-900 dark_bg-dark-300 relative border-2 shadow-lg",style:{flex:"1 1 200px"}},XE={class:"flex justify-between flex-wrap gap-1"},QE={class:"flex-col"},JE={class:"text-sm"},eS={class:"text-xl font-bold"},tS={class:"flex-col text-xs font-mono flex gap-2 text-center"},nS={key:1,class:"display"},sS={class:"flex flex-wrap gap-3 mt-4 items-center"},rS=KE(()=>P("div",{class:"text-xs"},"TO",-1)),iS=["onClick"],oS={class:"text-sm"},aS={__name:"input",props:{input:Object,iid:[Number,String]},setup(n){const e=n,{midi:t}=rr(),s=de(()=>{var r,i,o;return((i=(r=e.input)==null?void 0:r.note)==null?void 0:i.velocity)>0?at((o=e.input.note)==null?void 0:o.pitch,null,1,.4):"#7773"});return(r,i)=>{var o,a,c,l,u,h,d,f,p,m,g,_,y,S,w,b;return H(),ee("div",ZE,[P("div",XE,[P("div",QE,[P("div",JE,Be(n.input.manufacturer),1),P("div",eS,Be(n.input.name),1)]),P("div",tS,[n.input.note?(H(),ee("div",{key:0,class:"display",style:qe({backgroundColor:v(s)})},[P("div",{class:"indicator",style:qe({transform:`scale(${(a=(o=n.input)==null?void 0:o.note)==null?void 0:a.attack},1)`})},null,4),P("i",null,"CH"+Be((l=(c=n.input)==null?void 0:c.note)==null?void 0:l.channel),1),P("div",{class:"px-1 rounded-sm",style:qe({backgroundColor:v(s)})},Be((h=(u=n.input)==null?void 0:u.note)==null?void 0:h.identifier),5),P("i",null,Be((f=(d=n.input)==null?void 0:d.note)==null?void 0:f.number),1)],4)):ut("",!0),n.input.cc?(H(),ee("div",nS,[P("div",{class:"indicator",style:qe({transform:`scale(${(m=(p=n.input)==null?void 0:p.cc)==null?void 0:m.value},1)`})},null,4),P("i",null,"CH"+Be((_=(g=n.input)==null?void 0:g.cc)==null?void 0:_.channel),1),P("i",null,"CC"+Be((S=(y=n.input)==null?void 0:y.cc)==null?void 0:S.number),1),P("i",null,Be((b=(w=n.input)==null?void 0:w.cc)==null?void 0:b.raw),1)])):ut("",!0)])]),P("div",sS,[rS,(H(!0),ee(Re,null,bt(v(t).outputs,(A,N)=>{var T,R;return mt((H(),ee("button",{class:bs(["px-2 shadow-sm rounded-xl bg-light-200 dark_bg-dark-500 cursor-pointer border-2 border-transparent select-none",{active:(R=(T=v(t).forwards)==null?void 0:T[n.iid])==null?void 0:R[N]}]),onClick:O=>v(_T)(n.iid,N),key:N},[P("div",oS,Be(A.name),1)],10,iS)),[[Po,n.input.name!=A.name]])}),128))])])}}},cS=Ya(aS,[["__scopeId","data-v-b0381278"]]);const iu=n=>(Sa("data-v-27bfda27"),n=n(),Ca(),n),lS={class:"z-40 flex flex-col gap-2"},uS={key:0,class:"p-2 border border-red-500 text-red-500"},hS=iu(()=>P("a",{class:"font-normal underline",href:"https://caniuse.com/?search=midi",target:"_blank"},"compatible browser ",-1)),dS=iu(()=>P("span",null,"or ",-1)),fS=iu(()=>P("a",{class:"font-normal underline",href:"https://apps.apple.com/ru/app/web-midi-browser/id953846217",target:"_blank"},"Web MIDI Browser on iOS",-1)),pS={key:1,class:"flex flex-wrap gap-4 justify-center"},mS={__name:"panel",props:{toChannel:{type:Boolean,default:!0}},setup(n){return Ml(" ",e=>{e.preventDefault(),D.playing=!D.playing}),(e,t)=>{var i;const s=cS,r=YE;return H(),ee("div",lS,[(i=v(D))!=null&&i.enabled?(H(),ee("div",pS,[(H(!0),ee(Re,null,bt(v(D).inputs,(o,a)=>(H(),et(s,{input:o,iid:a,key:a},null,8,["input","iid"]))),128))])):(H(),ee("div",uS,[ps("MIDI is not available. Use a "),hS,dS,fS])),ve(r,{class:"max-h-40vh mt-6"})])}}},_S=Ya(mS,[["__scopeId","data-v-27bfda27"]]),gS={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},yS=P("path",{fill:"currentColor",d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781l1.44 1.439L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z"},null,-1),vS=[yS];function bS(n,e){return H(),ee("svg",gS,vS)}const wS={name:"la-times",render:bS},xS={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},TS=P("path",{d:"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2zm8.182 10c0-3.82-2.635-7.039-6.182-7.934V6h-4V4.066C6.453 4.96 3.818 8.18 3.818 12c0 4.51 3.673 8.182 8.182 8.182c4.51 0 8.182-3.673 8.182-8.182zM7 10.636a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728zm10 0a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728zm-8.636 3.637a1.364 1.364 0 1 1 0 2.727a1.364 1.364 0 0 1 0-2.727zm7.272 0a1.364 1.364 0 1 1 0 2.727a1.364 1.364 0 0 1 0-2.727zM12 15.636a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728z",fill:"currentColor"},null,-1),ES=[TS];function SS(n,e){return H(),ee("svg",xS,ES)}const CS={name:"mdi-midi-input",render:SS},AS={class:"p-0"},NS={__name:"state",setup(n){const e=St("global-midi-panel",!1),t=Oe(null);R1(t,()=>{e.value=!1});const{midi:s}=rr();return(r,i)=>{var l,u;const o=CS,a=wS,c=_S;return H(),ee("div",AS,[P("button",{class:"button text-2xl",onClick:i[0]||(i[0]=b0(h=>e.value=!v(e),["stop"])),"aria-label":"Toggle MIDI panel"},[ve(o,{class:"transition-all duration-200",style:qe({opacity:v(s).enabled?1:.2,color:v(at)(v(s).enabled?(l=v(s).note)==null?void 0:l.pitch:0,(u=v(s).note)==null?void 0:u.octA)})},null,8,["style"])]),ve(Da,{name:"fade"},{default:nn(()=>[v(e)?(H(),ee("div",{key:0,class:"panel",ref_key:"target",ref:t},[P("div",{class:"button cursor-pointer p-1 absolute top-4 right-4 z-100",onClick:i[1]||(i[1]=h=>e.value=!1)},[ve(a)]),ve(c)],512)):ut("",!0)]),_:1})])}}},MS={style:{"vertical-align":"middle"},viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"},kS=Rg('',9),OS=[kS];function IS(n,e){return H(),ee("svg",MS,OS)}const RS={name:"ion-ios-sunny",render:IS},DS={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},PS=P("path",{fill:"currentColor",d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3Z"},null,-1),$S=[PS];function FS(n,e){return H(),ee("svg",DS,$S)}const VS={name:"carbon-moon",render:FS},go=uy();It({initiated:!1,mute:St("mute",!1),volume:Wc(St("main-vol",1),0,1)});const LS={__name:"dark",setup(n){return(e,t)=>{const s=VS,r=RS;return H(),ee("button",{class:"button",onClick:t[0]||(t[0]=i=>go.value=!v(go)),"aria-label":"Toggle dark mode"},[mt(ve(s,null,null,512),[[Po,v(go)]]),mt(ve(r,null,null,512),[[Po,!v(go)]])])}}},BS={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},qS=P("path",{fill:"currentColor",d:"M4 4v9h2V6h7V4H4zm15 0v2h7v7h2V4h-9zM4 19v9h9v-2H6v-7H4zm22 0v7h-7v2h9v-9h-2z"},null,-1),jS=[qS];function US(n,e){return H(),ee("svg",BS,jS)}const WS={name:"la-expand",render:US},zS={__name:"fullscreen",props:["el"],setup(n){const e=n,t=Oe();ws(()=>{Ur(()=>{e.el?t.value=e.el:t.value=document.getElementById("screen"),s.value=yh(t.value)})});const s=Oe();function r(){s.value||(s.value=yh(t.value)),s.value.toggle()}const i=de(()=>{var o;return(o=s.value)==null?void 0:o.isSupported});return(o,a)=>{const c=WS;return mt((H(),ee("button",{class:"button",onClick:a[0]||(a[0]=l=>r())},[ve(c)],512)),[[Po,v(i)]])}}};const HS=n=>(Sa("data-v-9f417c45"),n=n(),Ca(),n),GS={class:"flex gap-4 absolute flex-col right-2 bottom-2 top-20 text-xl items-center opacity-40 hover_opacity-100 transition justify-between items-center"},YS={class:"flex-0 flex flex-col gap-1"},KS=HS(()=>P("div",{class:"flex-auto"},null,-1)),ZS={class:"flex-0 flex flex-col items-center gap-2"},XS={__name:"overlay",setup(n){const e=[-2,-1,0,1,2],t=["+0","@4n","@8n","@16n","@32n"],{synthReleaseAll:s}=Xp();function r(){let o=e.findIndex(a=>a==Me.octave);Me.octave=e[++o%e.length]}function i(){let o=t.findIndex(a=>a==Me.quantize);Me.quantize=t[++o%t.length]}return(o,a)=>{const c=zS,l=LS,u=NS,h=qE,d=bE,f=gE,p=xl("tooltip");return H(),ee("div",GS,[P("div",YS,[mt(ve(c,null,null,512),[[p,"Toggle fullscreen mode",void 0,{left:!0}]]),mt(ve(l,null,null,512),[[p,"Toggle dark mode",void 0,{left:!0}]]),mt(ve(u,null,null,512),[[p,"MIDI state",void 0,{left:!0}]])]),KS,P("div",ZS,[mt(ve(h,null,null,512),[[p,"Synth oscillator type",void 0,{left:!0}]]),mt((H(),ee("button",{class:"button w-16 font-bold select-none",onClick:a[0]||(a[0]=m=>r()),"aria-label":"Octave offset"},[ps(Be(v(Me).octave>0?"+":"")+Be(v(Me).octave),1)])),[[p,"Octave offset",void 0,{left:!0}]]),mt((H(),ee("button",{class:"button font-bold text-sm w-16 select-none",onClick:i,"aria-label":"Synth quantize"},[ps(Be(v(Me).quantize),1)])),[[p,"Synth quantize",void 0,{left:!0}]]),mt(ve(d,null,null,512),[[p,"Increment tempo",void 0,{left:!0}]]),mt((H(),ee("button",{class:"button w-16",onClick:a[1]||(a[1]=m=>v(s)("+1n"))},[ve(f)])),[[p,"Turn off all synth voices",void 0,{left:!0}]])])])}}},QS=Ya(XS,[["__scopeId","data-v-9f417c45"]]),JS=.5*(Math.sqrt(3)-1),Qr=(3-Math.sqrt(3))/6,Yh=n=>Math.floor(n)|0,Kh=new Float64Array([1,1,-1,1,1,-1,-1,-1,1,0,-1,0,1,0,-1,0,0,1,0,-1,0,1,0,-1]);function tm(n=Math.random){const e=eC(n),t=new Float64Array(e).map(r=>Kh[r%12*2]),s=new Float64Array(e).map(r=>Kh[r%12*2+1]);return function(i,o){let a=0,c=0,l=0;const u=(i+o)*JS,h=Yh(i+u),d=Yh(o+u),f=(h+d)*Qr,p=h-f,m=d-f,g=i-p,_=o-m;let y,S;g>_?(y=1,S=0):(y=0,S=1);const w=g-y+Qr,b=_-S+Qr,A=g-1+2*Qr,N=_-1+2*Qr,T=h&255,R=d&255;let O=.5-g*g-_*_;if(O>=0){const U=T+e[R],L=t[U],ne=s[U];O*=O,a=O*O*(L*g+ne*_)}let $=.5-w*w-b*b;if($>=0){const U=T+y+e[R+S],L=t[U],ne=s[U];$*=$,c=$*$*(L*w+ne*b)}let M=.5-A*A-N*N;if(M>=0){const U=T+1+e[R+1],L=t[U],ne=s[U];M*=M,l=M*M*(L*A+ne*N)}return 70*(a+c+l)}}function eC(n){const t=new Uint8Array(512);for(let s=0;s<512/2;s++)t[s]=s;for(let s=0;s<512/2-1;s++){const r=s+~~(n()*(256-s)),i=t[s];t[s]=t[r],t[r]=i}for(let s=256;s<512;s++)t[s]=t[s-256];return t}var ge=globalThis&&globalThis.__classPrivateFieldSet||function(n,e,t){if(!e.has(n))throw new TypeError("attempted to set private field on non-instance");return e.set(n,t),t},se=globalThis&&globalThis.__classPrivateFieldGet||function(n,e){if(!e.has(n))throw new TypeError("attempted to get private field on non-instance");return e.get(n)},is,Ms,Yt,dr,si,dn,fn,pn,mn,_n,gn,yn,vn,ks,fr,os,Co,as;const tC=function(n){var e=131,t=137,s=0;n+="x";var r=Math.floor(9007199254740991/t);for(let i=0;ir&&(s=Math.floor(s/t)),s=s*e+n.charCodeAt(i);return s},ie="0123456789abcdef".split(""),nC=[-2147483648,8388608,32768,128],Gt=[24,16,8,0],yo=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],lt=[];class sC{constructor(e=!1,t=!1){is.set(this,void 0),Ms.set(this,void 0),Yt.set(this,void 0),dr.set(this,void 0),si.set(this,void 0),dn.set(this,void 0),fn.set(this,void 0),pn.set(this,void 0),mn.set(this,void 0),_n.set(this,void 0),gn.set(this,void 0),yn.set(this,void 0),vn.set(this,void 0),ks.set(this,void 0),fr.set(this,void 0),os.set(this,void 0),Co.set(this,0),as.set(this,void 0),this.init(e,t)}init(e,t){t?(lt[0]=lt[16]=lt[1]=lt[2]=lt[3]=lt[4]=lt[5]=lt[6]=lt[7]=lt[8]=lt[9]=lt[10]=lt[11]=lt[12]=lt[13]=lt[14]=lt[15]=0,ge(this,Ms,lt)):ge(this,Ms,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e?(ge(this,dn,3238371032),ge(this,fn,914150663),ge(this,pn,812702999),ge(this,mn,4144912697),ge(this,_n,4290775857),ge(this,gn,1750603025),ge(this,yn,1694076839),ge(this,vn,3204075428)):(ge(this,dn,1779033703),ge(this,fn,3144134277),ge(this,pn,1013904242),ge(this,mn,2773480762),ge(this,_n,1359893119),ge(this,gn,2600822924),ge(this,yn,528734635),ge(this,vn,1541459225)),ge(this,is,ge(this,as,ge(this,Yt,ge(this,fr,0)))),ge(this,dr,ge(this,ks,!1)),ge(this,si,!0),ge(this,os,e)}update(e){if(se(this,dr))return this;let t;e instanceof ArrayBuffer?t=new Uint8Array(e):t=e;let s=0;const r=t.length,i=se(this,Ms);for(;s>2]|=t[s]<>2]|=a<>2]|=(192|a>>6)<>2]|=(128|a&63)<=57344?(i[o>>2]|=(224|a>>12)<>2]|=(128|a>>6&63)<>2]|=(128|a&63)<>2]|=(240|a>>18)<>2]|=(128|a>>12&63)<>2]|=(128|a>>6&63)<>2]|=(128|a&63)<=64?(ge(this,is,i[16]),ge(this,as,o-64),this.hash(),ge(this,ks,!0)):ge(this,as,o)}return se(this,Yt)>4294967295&&(ge(this,fr,se(this,fr)+(se(this,Yt)/4294967296<<0)),ge(this,Yt,se(this,Yt)%4294967296)),this}finalize(){if(se(this,dr))return;ge(this,dr,!0);const e=se(this,Ms),t=se(this,Co);e[16]=se(this,is),e[t>>2]|=nC[t&3],ge(this,is,e[16]),t>=56&&(se(this,ks)||this.hash(),e[0]=se(this,is),e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=se(this,fr)<<3|se(this,Yt)>>>29,e[15]=se(this,Yt)<<3,this.hash()}hash(){let e=se(this,dn),t=se(this,fn),s=se(this,pn),r=se(this,mn),i=se(this,_n),o=se(this,gn),a=se(this,yn),c=se(this,vn);const l=se(this,Ms);let u,h,d,f,p,m,g,_,y,S;for(let w=16;w<64;++w)f=l[w-15],u=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3,f=l[w-2],h=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,l[w]=l[w-16]+u+l[w-7]+h<<0;S=t&s;for(let w=0;w<64;w+=4)se(this,si)?(se(this,os)?(g=300032,f=l[0]-1413257819,c=f-150054599<<0,r=f+24177077<<0):(g=704751109,f=l[0]-210244248,c=f-1521486534<<0,r=f+143694565<<0),ge(this,si,!1)):(u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),h=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),g=e&t,d=g^e&s^S,m=i&o^~i&a,f=c+h+m+yo[w]+l[w],p=u+d,c=r+f<<0,r=f+p<<0),u=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),h=(c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7),_=r&e,d=_^r&t^g,m=c&i^~c&o,f=a+h+m+yo[w+1]+l[w+1],p=u+d,a=s+f<<0,s=f+p<<0,u=(s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10),h=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),y=s&r,d=y^s&e^_,m=a&c^~a&i,f=o+h+m+yo[w+2]+l[w+2],p=u+d,o=t+f<<0,t=f+p<<0,u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),h=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),S=t&s,d=S^t&r^y,m=o&a^~o&c,f=i+h+m+yo[w+3]+l[w+3],p=u+d,i=e+f<<0,e=f+p<<0;ge(this,dn,se(this,dn)+e<<0),ge(this,fn,se(this,fn)+t<<0),ge(this,pn,se(this,pn)+s<<0),ge(this,mn,se(this,mn)+r<<0),ge(this,_n,se(this,_n)+i<<0),ge(this,gn,se(this,gn)+o<<0),ge(this,yn,se(this,yn)+a<<0),ge(this,vn,se(this,vn)+c<<0)}hex(){this.finalize();const e=se(this,dn),t=se(this,fn),s=se(this,pn),r=se(this,mn),i=se(this,_n),o=se(this,gn),a=se(this,yn),c=se(this,vn);let l=ie[e>>28&15]+ie[e>>24&15]+ie[e>>20&15]+ie[e>>16&15]+ie[e>>12&15]+ie[e>>8&15]+ie[e>>4&15]+ie[e&15]+ie[t>>28&15]+ie[t>>24&15]+ie[t>>20&15]+ie[t>>16&15]+ie[t>>12&15]+ie[t>>8&15]+ie[t>>4&15]+ie[t&15]+ie[s>>28&15]+ie[s>>24&15]+ie[s>>20&15]+ie[s>>16&15]+ie[s>>12&15]+ie[s>>8&15]+ie[s>>4&15]+ie[s&15]+ie[r>>28&15]+ie[r>>24&15]+ie[r>>20&15]+ie[r>>16&15]+ie[r>>12&15]+ie[r>>8&15]+ie[r>>4&15]+ie[r&15]+ie[i>>28&15]+ie[i>>24&15]+ie[i>>20&15]+ie[i>>16&15]+ie[i>>12&15]+ie[i>>8&15]+ie[i>>4&15]+ie[i&15]+ie[o>>28&15]+ie[o>>24&15]+ie[o>>20&15]+ie[o>>16&15]+ie[o>>12&15]+ie[o>>8&15]+ie[o>>4&15]+ie[o&15]+ie[a>>28&15]+ie[a>>24&15]+ie[a>>20&15]+ie[a>>16&15]+ie[a>>12&15]+ie[a>>8&15]+ie[a>>4&15]+ie[a&15];return se(this,os)||(l+=ie[c>>28&15]+ie[c>>24&15]+ie[c>>20&15]+ie[c>>16&15]+ie[c>>12&15]+ie[c>>8&15]+ie[c>>4&15]+ie[c&15]),l}toString(){return this.hex()}digest(){this.finalize();const e=se(this,dn),t=se(this,fn),s=se(this,pn),r=se(this,mn),i=se(this,_n),o=se(this,gn),a=se(this,yn),c=se(this,vn),l=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,s>>24&255,s>>16&255,s>>8&255,s&255,r>>24&255,r>>16&255,r>>8&255,r&255,i>>24&255,i>>16&255,i>>8&255,i&255,o>>24&255,o>>16&255,o>>8&255,o&255,a>>24&255,a>>16&255,a>>8&255,a&255];return se(this,os)||l.push(c>>24&255,c>>16&255,c>>8&255,c&255),l}array(){return this.digest()}arrayBuffer(){this.finalize();const e=new ArrayBuffer(se(this,os)?28:32),t=new DataView(e);return t.setUint32(0,se(this,dn)),t.setUint32(4,se(this,fn)),t.setUint32(8,se(this,pn)),t.setUint32(12,se(this,mn)),t.setUint32(16,se(this,_n)),t.setUint32(20,se(this,gn)),t.setUint32(24,se(this,yn)),se(this,os)||t.setUint32(28,se(this,vn)),e}}is=new WeakMap,Ms=new WeakMap,Yt=new WeakMap,dr=new WeakMap,si=new WeakMap,dn=new WeakMap,fn=new WeakMap,pn=new WeakMap,mn=new WeakMap,_n=new WeakMap,gn=new WeakMap,yn=new WeakMap,vn=new WeakMap,ks=new WeakMap,fr=new WeakMap,os=new WeakMap,Co=new WeakMap,as=new WeakMap;function rC(n){const e=new sC;return e.update(n),parseInt(e.hex().substring(0,8),16)}const iC=function(n){var e="#";return n.forEach(function(t){t<16&&(e+=0),e+=t.toString(16)}),e},oC=function(n,e,t){n/=360;var s=t<.5?t*(1+e):t+e-t*e,r=2*t-s;return[n+1/3,n,n-1/3].map(function(i){return i<0&&i++,i>1&&i--,i<1/6?i=r+(s-r)*6*i:i<.5?i=s:i<2/3?i=r+(s-r)*6*(2/3-i):i=r,Math.round(i*255)})};class aC{constructor(e={}){const[t,s]=[e.lightness,e.saturation].map(function(r){return r=r!==void 0?r:[.35,.5,.65],Array.isArray(r)?r.concat():[r]});this.L=t,this.S=s,typeof e.hue=="number"&&(e.hue={min:e.hue,max:e.hue}),typeof e.hue=="object"&&!Array.isArray(e.hue)&&(e.hue=[e.hue]),typeof e.hue>"u"&&(e.hue=[]),this.hueRanges=e.hue.map(function(r){return{min:typeof r.min>"u"?0:r.min,max:typeof r.max>"u"?360:r.max}}),this.hash=rC,typeof e.hash=="function"&&(this.hash=e.hash),e.hash==="bkdr"&&(this.hash=tC)}hsl(e){var t,s,r,i=this.hash(e),o=727;if(this.hueRanges.length){const a=this.hueRanges[i%this.hueRanges.length];t=i/this.hueRanges.length%o*(a.max-a.min)/o+a.min}else t=i%359;return i=Math.ceil(i/360),s=this.S[i%this.S.length],i=Math.ceil(i/this.S.length),r=this.L[i%this.L.length],[t,s,r]}rgb(e){var t=this.hsl(e);return oC.apply(this,t)}hex(e){var t=this.rgb(e);return iC(t)}}const cC="modulepreload",lC=function(n){return"/"+n},Zh={},ir=function(e,t,s){if(!t||t.length===0)return e();const r=document.getElementsByTagName("link");return Promise.all(t.map(i=>{if(i=lC(i),i in Zh)return;Zh[i]=!0;const o=i.endsWith(".css"),a=o?'[rel="stylesheet"]':"";if(!!s)for(let u=r.length-1;u>=0;u--){const h=r[u];if(h.href===i&&(!o||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${a}`))return;const l=document.createElement("link");if(l.rel=o?"stylesheet":cC,o||(l.as="script",l.crossOrigin=""),l.href=i,document.head.appendChild(l),o)return new Promise((u,h)=>{l.addEventListener("load",u),l.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>e())},uC=()=>ir(()=>Promise.resolve().then(()=>JN),void 0),hC=()=>ir(()=>Promise.resolve().then(()=>oM),void 0),dC=()=>ir(()=>Promise.resolve().then(()=>dM),void 0),fC=()=>ir(()=>Promise.resolve().then(()=>xM),void 0),pC=()=>ir(()=>Promise.resolve().then(()=>IM),void 0),mC=()=>ir(()=>Promise.resolve().then(()=>LM),void 0),_C=()=>ir(()=>Promise.resolve().then(()=>HM),void 0),Hc=[{name:"stats",path:"/stats",component:uC,props:!0},{name:"spiral",path:"/spiral",component:hC,props:!0,title:"Electric",subtitle:"by Chromatone"},{name:"rose",path:"/rose",component:dC,props:!0},{name:"level",path:"/level",component:fC,props:!0,title:"Electric",subtitle:"by Chromatone"},{name:"index",path:"/",component:pC,props:!0,title:"Floating",subtitle:"by Chromatone"},{name:"donut",path:"/donut",component:mC,props:!0},{name:"cross",path:"/cross",component:_C,props:!0}];/*! - * vue-router v4.2.2 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */const pr=typeof window<"u";function gC(n){return n.__esModule||n[Symbol.toStringTag]==="Module"}const $e=Object.assign;function gc(n,e){const t={};for(const s in e){const r=e[s];t[s]=an(r)?r.map(n):n(r)}return t}const ai=()=>{},an=Array.isArray,yC=/\/$/,vC=n=>n.replace(yC,"");function yc(n,e,t="/"){let s,r={},i="",o="";const a=e.indexOf("#");let c=e.indexOf("?");return a=0&&(c=-1),c>-1&&(s=e.slice(0,c),i=e.slice(c+1,a>-1?a:e.length),r=n(i)),a>-1&&(s=s||e.slice(0,a),o=e.slice(a,e.length)),s=TC(s??e,t),{fullPath:s+(i&&"?")+i+o,path:s,query:r,hash:o}}function bC(n,e){const t=e.query?n(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function Xh(n,e){return!e||!n.toLowerCase().startsWith(e.toLowerCase())?n:n.slice(e.length)||"/"}function wC(n,e,t){const s=e.matched.length-1,r=t.matched.length-1;return s>-1&&s===r&&Pr(e.matched[s],t.matched[r])&&nm(e.params,t.params)&&n(e.query)===n(t.query)&&e.hash===t.hash}function Pr(n,e){return(n.aliasOf||n)===(e.aliasOf||e)}function nm(n,e){if(Object.keys(n).length!==Object.keys(e).length)return!1;for(const t in n)if(!xC(n[t],e[t]))return!1;return!0}function xC(n,e){return an(n)?Qh(n,e):an(e)?Qh(e,n):n===e}function Qh(n,e){return an(e)?n.length===e.length&&n.every((t,s)=>t===e[s]):n.length===1&&n[0]===e}function TC(n,e){if(n.startsWith("/"))return n;if(!n)return e;const t=e.split("/"),s=n.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=t.length-1,o,a;for(o=0;o1&&i--;else break;return t.slice(0,i).join("/")+"/"+s.slice(o-(o===s.length?1:0)).join("/")}var Li;(function(n){n.pop="pop",n.push="push"})(Li||(Li={}));var ci;(function(n){n.back="back",n.forward="forward",n.unknown=""})(ci||(ci={}));function EC(n){if(!n)if(pr){const e=document.querySelector("base");n=e&&e.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),vC(n)}const SC=/^[^#]+#/;function CC(n,e){return n.replace(SC,"#")+e}function AC(n,e){const t=document.documentElement.getBoundingClientRect(),s=n.getBoundingClientRect();return{behavior:e.behavior,left:s.left-t.left-(e.left||0),top:s.top-t.top-(e.top||0)}}const Ka=()=>({left:window.pageXOffset,top:window.pageYOffset});function NC(n){let e;if("el"in n){const t=n.el,s=typeof t=="string"&&t.startsWith("#"),r=typeof t=="string"?s?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!r)return;e=AC(r,n)}else e=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.pageXOffset,e.top!=null?e.top:window.pageYOffset)}function Jh(n,e){return(history.state?history.state.position-e:-1)+n}const Gc=new Map;function MC(n,e){Gc.set(n,e)}function kC(n){const e=Gc.get(n);return Gc.delete(n),e}let OC=()=>location.protocol+"//"+location.host;function sm(n,e){const{pathname:t,search:s,hash:r}=e,i=n.indexOf("#");if(i>-1){let a=r.includes(n.slice(i))?n.slice(i).length:1,c=r.slice(a);return c[0]!=="/"&&(c="/"+c),Xh(c,"")}return Xh(t,n)+s+r}function IC(n,e,t,s){let r=[],i=[],o=null;const a=({state:d})=>{const f=sm(n,location),p=t.value,m=e.value;let g=0;if(d){if(t.value=f,e.value=d,o&&o===p){o=null;return}g=m?d.position-m.position:0}else s(f);r.forEach(_=>{_(t.value,p,{delta:g,type:Li.pop,direction:g?g>0?ci.forward:ci.back:ci.unknown})})};function c(){o=t.value}function l(d){r.push(d);const f=()=>{const p=r.indexOf(d);p>-1&&r.splice(p,1)};return i.push(f),f}function u(){const{history:d}=window;d.state&&d.replaceState($e({},d.state,{scroll:Ka()}),"")}function h(){for(const d of i)d();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:h}}function ed(n,e,t,s=!1,r=!1){return{back:n,current:e,forward:t,replaced:s,position:window.history.length,scroll:r?Ka():null}}function RC(n){const{history:e,location:t}=window,s={value:sm(n,t)},r={value:e.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function i(c,l,u){const h=n.indexOf("#"),d=h>-1?(t.host&&document.querySelector("base")?n:n.slice(h))+c:OC()+n+c;try{e[u?"replaceState":"pushState"](l,"",d),r.value=l}catch(f){console.error(f),t[u?"replace":"assign"](d)}}function o(c,l){const u=$e({},e.state,ed(r.value.back,c,r.value.forward,!0),l,{position:r.value.position});i(c,u,!0),s.value=c}function a(c,l){const u=$e({},r.value,e.state,{forward:c,scroll:Ka()});i(u.current,u,!0);const h=$e({},ed(s.value,c,null),{position:u.position+1},l);i(c,h,!1),s.value=c}return{location:s,state:r,push:a,replace:o}}function DC(n){n=EC(n);const e=RC(n),t=IC(n,e.state,e.location,e.replace);function s(i,o=!0){o||t.pauseListeners(),history.go(i)}const r=$e({location:"",base:n,go:s,createHref:CC.bind(null,n)},e,t);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>e.state.value}),r}function PC(n){return n=location.host?n||location.pathname+location.search:"",n.includes("#")||(n+="#"),DC(n)}function $C(n){return typeof n=="string"||n&&typeof n=="object"}function rm(n){return typeof n=="string"||typeof n=="symbol"}const ss={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},im=Symbol("");var td;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(td||(td={}));function $r(n,e){return $e(new Error,{type:n,[im]:!0},e)}function In(n,e){return n instanceof Error&&im in n&&(e==null||!!(n.type&e))}const nd="[^/]+?",FC={sensitive:!1,strict:!1,start:!0,end:!0},VC=/[.+*?^${}()[\]/\\]/g;function LC(n,e){const t=$e({},FC,e),s=[];let r=t.start?"^":"";const i=[];for(const l of n){const u=l.length?[]:[90];t.strict&&!l.length&&(r+="/");for(let h=0;he.length?e.length===1&&e[0]===40+40?1:-1:0}function qC(n,e){let t=0;const s=n.score,r=e.score;for(;t0&&e[e.length-1]<0}const jC={type:0,value:""},UC=/[a-zA-Z0-9_]/;function WC(n){if(!n)return[[]];if(n==="/")return[[jC]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function e(f){throw new Error(`ERR (${t})/"${l}": ${f}`)}let t=0,s=t;const r=[];let i;function o(){i&&r.push(i),i=[]}let a=0,c,l="",u="";function h(){l&&(t===0?i.push({type:0,value:l}):t===1||t===2||t===3?(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:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):e("Invalid state to consume buffer"),l="")}function d(){l+=c}for(;a{o(y)}:ai}function o(u){if(rm(u)){const h=s.get(u);h&&(s.delete(u),t.splice(t.indexOf(h),1),h.children.forEach(o),h.alias.forEach(o))}else{const h=t.indexOf(u);h>-1&&(t.splice(h,1),u.record.name&&s.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return t}function c(u){let h=0;for(;h=0&&(u.record.path!==t[h].record.path||!om(u,t[h]));)h++;t.splice(h,0,u),u.record.name&&!id(u)&&s.set(u.record.name,u)}function l(u,h){let d,f={},p,m;if("name"in u&&u.name){if(d=s.get(u.name),!d)throw $r(1,{location:u});m=d.record.name,f=$e(rd(h.params,d.keys.filter(y=>!y.optional).map(y=>y.name)),u.params&&rd(u.params,d.keys.map(y=>y.name))),p=d.stringify(f)}else if("path"in u)p=u.path,d=t.find(y=>y.re.test(p)),d&&(f=d.parse(p),m=d.record.name);else{if(d=h.name?s.get(h.name):t.find(y=>y.re.test(h.path)),!d)throw $r(1,{location:u,currentLocation:h});m=d.record.name,f=$e({},h.params,u.params),p=d.stringify(f)}const g=[];let _=d;for(;_;)g.unshift(_.record),_=_.parent;return{name:m,path:p,params:f,matched:g,meta:KC(g)}}return n.forEach(u=>i(u)),{addRoute:i,resolve:l,removeRoute:o,getRoutes:a,getRecordMatcher:r}}function rd(n,e){const t={};for(const s of e)s in n&&(t[s]=n[s]);return t}function GC(n){return{path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:void 0,beforeEnter:n.beforeEnter,props:YC(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}}}function YC(n){const e={},t=n.props||!1;if("component"in n)e.default=t;else for(const s in n.components)e[s]=typeof t=="boolean"?t:t[s];return e}function id(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function KC(n){return n.reduce((e,t)=>$e(e,t.meta),{})}function od(n,e){const t={};for(const s in n)t[s]=s in e?e[s]:n[s];return t}function om(n,e){return e.children.some(t=>t===n||om(n,t))}const am=/#/g,ZC=/&/g,XC=/\//g,QC=/=/g,JC=/\?/g,cm=/\+/g,eA=/%5B/g,tA=/%5D/g,lm=/%5E/g,nA=/%60/g,um=/%7B/g,sA=/%7C/g,hm=/%7D/g,rA=/%20/g;function ou(n){return encodeURI(""+n).replace(sA,"|").replace(eA,"[").replace(tA,"]")}function iA(n){return ou(n).replace(um,"{").replace(hm,"}").replace(lm,"^")}function Yc(n){return ou(n).replace(cm,"%2B").replace(rA,"+").replace(am,"%23").replace(ZC,"%26").replace(nA,"`").replace(um,"{").replace(hm,"}").replace(lm,"^")}function oA(n){return Yc(n).replace(QC,"%3D")}function aA(n){return ou(n).replace(am,"%23").replace(JC,"%3F")}function cA(n){return n==null?"":aA(n).replace(XC,"%2F")}function ha(n){try{return decodeURIComponent(""+n)}catch{}return""+n}function lA(n){const e={};if(n===""||n==="?")return e;const s=(n[0]==="?"?n.slice(1):n).split("&");for(let r=0;ri&&Yc(i)):[s&&Yc(s)]).forEach(i=>{i!==void 0&&(e+=(e.length?"&":"")+t,i!=null&&(e+="="+i))})}return e}function uA(n){const e={};for(const t in n){const s=n[t];s!==void 0&&(e[t]=an(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return e}const hA=Symbol(""),cd=Symbol(""),Za=Symbol(""),au=Symbol(""),Kc=Symbol("");function Jr(){let n=[];function e(s){return n.push(s),()=>{const r=n.indexOf(s);r>-1&&n.splice(r,1)}}function t(){n=[]}return{add:e,list:()=>n,reset:t}}function us(n,e,t,s,r){const i=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((o,a)=>{const c=h=>{h===!1?a($r(4,{from:t,to:e})):h instanceof Error?a(h):$C(h)?a($r(2,{from:e,to:h})):(i&&s.enterCallbacks[r]===i&&typeof h=="function"&&i.push(h),o())},l=n.call(s&&s.instances[r],e,t,c);let u=Promise.resolve(l);n.length<3&&(u=u.then(c)),u.catch(h=>a(h))})}function vc(n,e,t,s){const r=[];for(const i of n)for(const o in i.components){let a=i.components[o];if(!(e!=="beforeRouteEnter"&&!i.instances[o]))if(dA(a)){const l=(a.__vccOpts||a)[e];l&&r.push(us(l,t,s,i,o))}else{let c=a();r.push(()=>c.then(l=>{if(!l)return Promise.reject(new Error(`Couldn't resolve component "${o}" at "${i.path}"`));const u=gC(l)?l.default:l;i.components[o]=u;const d=(u.__vccOpts||u)[e];return d&&us(d,t,s,i,o)()}))}}return r}function dA(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function ld(n){const e=sn(Za),t=sn(au),s=de(()=>e.resolve(v(n.to))),r=de(()=>{const{matched:c}=s.value,{length:l}=c,u=c[l-1],h=t.matched;if(!u||!h.length)return-1;const d=h.findIndex(Pr.bind(null,u));if(d>-1)return d;const f=ud(c[l-2]);return l>1&&ud(u)===f&&h[h.length-1].path!==f?h.findIndex(Pr.bind(null,c[l-2])):d}),i=de(()=>r.value>-1&&_A(t.params,s.value.params)),o=de(()=>r.value>-1&&r.value===t.matched.length-1&&nm(t.params,s.value.params));function a(c={}){return mA(c)?e[v(n.replace)?"replace":"push"](v(n.to)).catch(ai):Promise.resolve()}return{route:s,href:de(()=>s.value.href),isActive:i,isExactActive:o,navigate:a}}const fA=Gn({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:ld,setup(n,{slots:e}){const t=It(ld(n)),{options:s}=sn(Za),r=de(()=>({[hd(n.activeClass,s.linkActiveClass,"router-link-active")]:t.isActive,[hd(n.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:t.isExactActive}));return()=>{const i=e.default&&e.default(t);return n.custom?i:Ra("a",{"aria-current":t.isExactActive?n.ariaCurrentValue:null,href:t.href,onClick:t.navigate,class:r.value},i)}}}),pA=fA;function mA(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const e=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return n.preventDefault&&n.preventDefault(),!0}}function _A(n,e){for(const t in e){const s=e[t],r=n[t];if(typeof s=="string"){if(s!==r)return!1}else if(!an(r)||r.length!==s.length||s.some((i,o)=>i!==r[o]))return!1}return!0}function ud(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const hd=(n,e,t)=>n??e??t,gA=Gn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:e,slots:t}){const s=sn(Kc),r=de(()=>n.route||s.value),i=sn(cd,0),o=de(()=>{let l=v(i);const{matched:u}=r.value;let h;for(;(h=u[l])&&!h.components;)l++;return l}),a=de(()=>r.value.matched[o.value]);bo(cd,de(()=>o.value+1)),bo(hA,a),bo(Kc,r);const c=Oe();return vt(()=>[c.value,a.value,n.name],([l,u,h],[d,f,p])=>{u&&(u.instances[h]=l,f&&f!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=f.leaveGuards),u.updateGuards.size||(u.updateGuards=f.updateGuards))),l&&u&&(!f||!Pr(u,f)||!d)&&(u.enterCallbacks[h]||[]).forEach(m=>m(l))},{flush:"post"}),()=>{const l=r.value,u=n.name,h=a.value,d=h&&h.components[u];if(!d)return dd(t.default,{Component:d,route:l});const f=h.props[u],p=f?f===!0?l.params:typeof f=="function"?f(l):f:null,g=Ra(d,$e({},p,e,{onVnodeUnmounted:_=>{_.component.isUnmounted&&(h.instances[u]=null)},ref:c}));return dd(t.default,{Component:g,route:l})||g}}});function dd(n,e){if(!n)return null;const t=n(e);return t.length===1?t[0]:t}const yA=gA;function vA(n){const e=HC(n.routes,n),t=n.parseQuery||lA,s=n.stringifyQuery||ad,r=n.history,i=Jr(),o=Jr(),a=Jr(),c=Yd(ss);let l=ss;pr&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=gc.bind(null,F=>""+F),h=gc.bind(null,cA),d=gc.bind(null,ha);function f(F,V){let Q,oe;return rm(F)?(Q=e.getRecordMatcher(F),oe=V):oe=F,e.addRoute(oe,Q)}function p(F){const V=e.getRecordMatcher(F);V&&e.removeRoute(V)}function m(){return e.getRoutes().map(F=>F.record)}function g(F){return!!e.getRecordMatcher(F)}function _(F,V){if(V=$e({},V||c.value),typeof F=="string"){const k=yc(t,F,V.path),C=e.resolve({path:k.path},V),I=r.createHref(k.fullPath);return $e(k,C,{params:d(C.params),hash:ha(k.hash),redirectedFrom:void 0,href:I})}let Q;if("path"in F)Q=$e({},F,{path:yc(t,F.path,V.path).path});else{const k=$e({},F.params);for(const C in k)k[C]==null&&delete k[C];Q=$e({},F,{params:h(k)}),V.params=h(V.params)}const oe=e.resolve(Q,V),Se=F.hash||"";oe.params=u(d(oe.params));const x=bC(s,$e({},F,{hash:iA(Se),path:oe.path})),E=r.createHref(x);return $e({fullPath:x,hash:Se,query:s===ad?uA(F.query):F.query||{}},oe,{redirectedFrom:void 0,href:E})}function y(F){return typeof F=="string"?yc(t,F,c.value.path):$e({},F)}function S(F,V){if(l!==F)return $r(8,{from:V,to:F})}function w(F){return N(F)}function b(F){return w($e(y(F),{replace:!0}))}function A(F){const V=F.matched[F.matched.length-1];if(V&&V.redirect){const{redirect:Q}=V;let oe=typeof Q=="function"?Q(F):Q;return typeof oe=="string"&&(oe=oe.includes("?")||oe.includes("#")?oe=y(oe):{path:oe},oe.params={}),$e({query:F.query,hash:F.hash,params:"path"in oe?{}:F.params},oe)}}function N(F,V){const Q=l=_(F),oe=c.value,Se=F.state,x=F.force,E=F.replace===!0,k=A(Q);if(k)return N($e(y(k),{state:typeof k=="object"?$e({},Se,k.state):Se,force:x,replace:E}),V||Q);const C=Q;C.redirectedFrom=V;let I;return!x&&wC(s,oe,Q)&&(I=$r(16,{to:C,from:oe}),ue(oe,oe,!0,!1)),(I?Promise.resolve(I):O(C,oe)).catch(B=>In(B)?In(B,2)?B:me(B):te(B,C,oe)).then(B=>{if(B){if(In(B,2))return N($e({replace:E},y(B.to),{state:typeof B.to=="object"?$e({},Se,B.to.state):Se,force:x}),V||C)}else B=M(C,oe,!0,E,Se);return $(C,oe,B),B})}function T(F,V){const Q=S(F,V);return Q?Promise.reject(Q):Promise.resolve()}function R(F){const V=it.values().next().value;return V&&typeof V.runWithContext=="function"?V.runWithContext(F):F()}function O(F,V){let Q;const[oe,Se,x]=bA(F,V);Q=vc(oe.reverse(),"beforeRouteLeave",F,V);for(const k of oe)k.leaveGuards.forEach(C=>{Q.push(us(C,F,V))});const E=T.bind(null,F,V);return Q.push(E),xe(Q).then(()=>{Q=[];for(const k of i.list())Q.push(us(k,F,V));return Q.push(E),xe(Q)}).then(()=>{Q=vc(Se,"beforeRouteUpdate",F,V);for(const k of Se)k.updateGuards.forEach(C=>{Q.push(us(C,F,V))});return Q.push(E),xe(Q)}).then(()=>{Q=[];for(const k of F.matched)if(k.beforeEnter&&!V.matched.includes(k))if(an(k.beforeEnter))for(const C of k.beforeEnter)Q.push(us(C,F,V));else Q.push(us(k.beforeEnter,F,V));return Q.push(E),xe(Q)}).then(()=>(F.matched.forEach(k=>k.enterCallbacks={}),Q=vc(x,"beforeRouteEnter",F,V),Q.push(E),xe(Q))).then(()=>{Q=[];for(const k of o.list())Q.push(us(k,F,V));return Q.push(E),xe(Q)}).catch(k=>In(k,8)?k:Promise.reject(k))}function $(F,V,Q){for(const oe of a.list())R(()=>oe(F,V,Q))}function M(F,V,Q,oe,Se){const x=S(F,V);if(x)return x;const E=V===ss,k=pr?history.state:{};Q&&(oe||E?r.replace(F.fullPath,$e({scroll:E&&k&&k.scroll},Se)):r.push(F.fullPath,Se)),c.value=F,ue(F,V,Q,E),me()}let U;function L(){U||(U=r.listen((F,V,Q)=>{if(!we.listening)return;const oe=_(F),Se=A(oe);if(Se){N($e(Se,{replace:!0}),oe).catch(ai);return}l=oe;const x=c.value;pr&&MC(Jh(x.fullPath,Q.delta),Ka()),O(oe,x).catch(E=>In(E,12)?E:In(E,2)?(N(E.to,oe).then(k=>{In(k,20)&&!Q.delta&&Q.type===Li.pop&&r.go(-1,!1)}).catch(ai),Promise.reject()):(Q.delta&&r.go(-Q.delta,!1),te(E,oe,x))).then(E=>{E=E||M(oe,x,!1),E&&(Q.delta&&!In(E,8)?r.go(-Q.delta,!1):Q.type===Li.pop&&In(E,20)&&r.go(-1,!1)),$(oe,x,E)}).catch(ai)}))}let ne=Jr(),Z=Jr(),X;function te(F,V,Q){me(F);const oe=Z.list();return oe.length?oe.forEach(Se=>Se(F,V,Q)):console.error(F),Promise.reject(F)}function ce(){return X&&c.value!==ss?Promise.resolve():new Promise((F,V)=>{ne.add([F,V])})}function me(F){return X||(X=!F,L(),ne.list().forEach(([V,Q])=>F?Q(F):V()),ne.reset()),F}function ue(F,V,Q,oe){const{scrollBehavior:Se}=n;if(!pr||!Se)return Promise.resolve();const x=!Q&&kC(Jh(F.fullPath,0))||(oe||!Q)&&history.state&&history.state.scroll||null;return Ur().then(()=>Se(F,V,x)).then(E=>E&&NC(E)).catch(E=>te(E,F,V))}const ye=F=>r.go(F);let rt;const it=new Set,we={currentRoute:c,listening:!0,addRoute:f,removeRoute:p,hasRoute:g,getRoutes:m,resolve:_,options:n,push:w,replace:b,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:Z.add,isReady:ce,install(F){const V=this;F.component("RouterLink",pA),F.component("RouterView",yA),F.config.globalProperties.$router=V,Object.defineProperty(F.config.globalProperties,"$route",{enumerable:!0,get:()=>v(c)}),pr&&!rt&&c.value===ss&&(rt=!0,w(r.location).catch(Se=>{}));const Q={};for(const Se in ss)Q[Se]=de(()=>c.value[Se]);F.provide(Za,V),F.provide(au,It(Q)),F.provide(Kc,c);const oe=F.unmount;it.add(F),F.unmount=function(){it.delete(F),it.size<1&&(l=ss,U&&U(),U=null,c.value=ss,rt=!1,X=!1),oe()}}};function xe(F){return F.reduce((V,Q)=>V.then(()=>R(Q)),Promise.resolve())}return we}function bA(n,e){const t=[],s=[],r=[],i=Math.max(e.matched.length,n.matched.length);for(let o=0;oPr(l,a))?s.push(a):t.push(a));const c=n.matched[o];c&&(e.matched.find(l=>Pr(l,c))||r.push(c))}return[t,s,r]}function wA(){return sn(Za)}function xA(){return sn(au)}const TA={class:"flex flex-col h-100vh w-full"},EA={key:0,class:"absolute bottom-20 text-center flex flex-col items-center w-full"},SA={class:"text-sm"},CA={class:"h-full w-full"},AA=["viewBox"],NA=P("defs",null,[P("filter",{id:"noiseFilter"},[P("feTurbulence",{type:"fractalNoise",basefrequency:"6.29",numoctaves:"6",stitchtiles:"stitch"})])],-1),MA=["width","height"],kA={class:"absolute left-0 top-10 flex flex-col gap-2 m-2 opacity-20 hover_opacity-100 transition"},OA={__name:"app",setup(n){const{midi:e}=rr(),t=xA(),s=wA(),r=Oe(0),i=tm(),o=Oe();Ol(()=>{r.value++,o.value=i(1,r.value/2e3)});const a=new aC({saturation:[.05,.28,.62],lightness:[.75,.87,.9]}),c=de(()=>a.hex(Math.random()*1e5+"a")),l=de(()=>a.hex(Math.random()*1e5+"b"));de(()=>`linear-gradient(${o.value*360}deg, ${c.value}, ${l.value})`);const{visual:u,width:h,height:d}=Qn(),f=Oe(!1);vt(()=>e.total.hits,m=>{m==0&&s.push(p())}),Ml([" ","Enter"],()=>{sr(),s.push(p())});function p(){let m,g,_,y;for(let S=0;S<20&&(m=Math.random(),g=Object.values(Hc),_=m*g.length,y=g[Math.floor(_)].path,!!t.path.includes(y));S++);return f.value=!0,y}return ws(()=>{aT()}),(m,g)=>{const _=QS,y=dE,S=Gs("router-view"),w=PT,b=a1,A=n1,N=Z0,T=z0,R=B0,O=P0,$=k0,M=Gs("router-link"),U=xl("tooltip");return H(),ee("div",TA,[ve(_),v(f)?ut("",!0):(H(),ee("div",EA,[P("div",SA,"Hold any note more than "+Be(v(e).maxDuration/1e3)+" seconds or press Enter/Spacebar to randomly change current scene.",1)])),ve(y),P("div",CA,[(H(),ee("svg",{class:"h-full w-full",id:"visual",ref_key:"visual",ref:u,version:"1.1",baseProfile:"full",viewBox:`0 0 ${v(h)} ${v(d)}`,xmlns:"http://www.w3.org/2000/svg"},[NA,P("rect",{filter:"url(#noiseFilter)",fill:"hsl(20,70%,60%)",opacity:"0.1",width:v(h),height:v(d)},null,8,MA),ve(S,null,{default:nn(({Component:L})=>[ve(Da,{name:"fade",mode:"out-in"},{default:nn(()=>[(H(),et(tg,null,[(H(),et(dg(L),{id:"content"}))],1024))]),_:2},1024)]),_:1}),ve(w)],8,AA)),P("div",kA,[(H(!0),ee(Re,null,bt(v(Hc),(L,ne)=>mt((H(),et(M,{class:bs(["button p-2 cursor-pointer text-3xl",{active:m.$route.path==L.path}]),key:L.path,onClick:g[0]||(g[0]=Z=>f.value=!0),to:L},{default:nn(()=>[L.name=="index"?(H(),et(b,{key:0})):ut("",!0),L.name=="level"?(H(),et(A,{key:1})):ut("",!0),L.name=="rose"?(H(),et(N,{key:2})):ut("",!0),L.name=="cross"?(H(),et(T,{key:3})):ut("",!0),L.name=="donut"?(H(),et(R,{key:4})):ut("",!0),L.name=="stats"?(H(),et(O,{key:5})):ut("",!0),L.name=="spiral"?(H(),et($,{key:6})):ut("",!0)]),_:2},1032,["to","class"])),[[U,L.name.charAt(0).toUpperCase()+L.name.slice(1)+" scene",void 0,{right:!0}]])),128))])])])}}};function Jn(n){return n.split("-")[0]}function Er(n){return n.split("-")[1]}function to(n){return["top","bottom"].includes(Jn(n))?"x":"y"}function cu(n){return n==="y"?"height":"width"}function fd(n){let{reference:e,floating:t,placement:s}=n;const r=e.x+e.width/2-t.width/2,i=e.y+e.height/2-t.height/2;let o;switch(Jn(s)){case"top":o={x:r,y:e.y-t.height};break;case"bottom":o={x:r,y:e.y+e.height};break;case"right":o={x:e.x+e.width,y:i};break;case"left":o={x:e.x-t.width,y:i};break;default:o={x:e.x,y:e.y}}const a=to(s),c=cu(a);switch(Er(s)){case"start":o[a]=o[a]-(e[c]/2-t[c]/2);break;case"end":o[a]=o[a]+(e[c]/2-t[c]/2);break}return o}const IA=async(n,e,t)=>{const{placement:s="bottom",strategy:r="absolute",middleware:i=[],platform:o}=t;let a=await o.getElementRects({reference:n,floating:e,strategy:r}),{x:c,y:l}=fd({...a,placement:s}),u=s,h={};for(let d=0;d({name:"arrow",options:n,async fn(e){const{element:t,padding:s=0}=n??{},{x:r,y:i,placement:o,rects:a,platform:c}=e;if(t==null)return{};const l=dm(s),u={x:r,y:i},h=Jn(o),d=to(h),f=cu(d),p=await c.getDimensions({element:t}),m=d==="y"?"top":"left",g=d==="y"?"bottom":"right",_=a.reference[f]+a.reference[d]-u[d]-a.floating[f],y=u[d]-a.reference[d],S=await c.getOffsetParent({element:t}),w=S?d==="y"?S.clientHeight||0:S.clientWidth||0:0,b=_/2-y/2,A=l[m],N=w-p[f]-l[g],T=w/2-p[f]/2+b,R=Xc(A,T,N);return{data:{[d]:R,centerOffset:T-R}}}}),$A={left:"right",right:"left",bottom:"top",top:"bottom"};function da(n){return n.replace(/left|right|bottom|top/g,e=>$A[e])}function fm(n,e){const t=Er(n)==="start",s=to(n),r=cu(s);let i=s==="x"?t?"right":"left":t?"bottom":"top";return e.reference[r]>e.floating[r]&&(i=da(i)),{main:i,cross:da(i)}}const FA={start:"end",end:"start"};function Qc(n){return n.replace(/start|end/g,e=>FA[e])}const VA=["top","right","bottom","left"],LA=VA.reduce((n,e)=>n.concat(e,e+"-start",e+"-end"),[]);function BA(n,e,t){return(n?[...t.filter(r=>Er(r)===n),...t.filter(r=>Er(r)!==n)]:t.filter(r=>Jn(r)===r)).filter(r=>n?Er(r)===n||(e?Qc(r)!==r:!1):!0)}const qA=function(n){return n===void 0&&(n={}),{name:"autoPlacement",options:n,async fn(e){var t,s,r,i,o,a;const{x:c,y:l,rects:u,middlewareData:h,placement:d}=e,{alignment:f=null,allowedPlacements:p=LA,autoAlignment:m=!0,...g}=n;if((t=h.autoPlacement)!=null&&t.skip)return{};const _=BA(f,m,p),y=await Xa(e,g),S=(s=(r=h.autoPlacement)==null?void 0:r.index)!=null?s:0,w=_[S],{main:b,cross:A}=fm(w,u);if(d!==w)return{x:c,y:l,reset:{placement:_[0]}};const N=[y[Jn(w)],y[b],y[A]],T=[...(i=(o=h.autoPlacement)==null?void 0:o.overflows)!=null?i:[],{placement:w,overflows:N}],R=_[S+1];if(R)return{data:{index:S+1,overflows:T},reset:{placement:R}};const O=T.slice().sort((M,U)=>M.overflows[0]-U.overflows[0]),$=(a=O.find(M=>{let{overflows:U}=M;return U.every(L=>L<=0)}))==null?void 0:a.placement;return{data:{skip:!0},reset:{placement:$??O[0].placement}}}}};function jA(n){const e=da(n);return[Qc(n),e,Qc(e)]}const UA=function(n){return n===void 0&&(n={}),{name:"flip",options:n,async fn(e){var t,s;const{placement:r,middlewareData:i,rects:o,initialPlacement:a}=e;if((t=i.flip)!=null&&t.skip)return{};const{mainAxis:c=!0,crossAxis:l=!0,fallbackPlacements:u,fallbackStrategy:h="bestFit",flipAlignment:d=!0,...f}=n,p=Jn(r),g=u||(p===a||!d?[da(a)]:jA(a)),_=[a,...g],y=await Xa(e,f),S=[];let w=((s=i.flip)==null?void 0:s.overflows)||[];if(c&&S.push(y[p]),l){const{main:T,cross:R}=fm(r,o);S.push(y[T],y[R])}if(w=[...w,{placement:r,overflows:S}],!S.every(T=>T<=0)){var b,A;const T=((b=(A=i.flip)==null?void 0:A.index)!=null?b:0)+1,R=_[T];if(R)return{data:{index:T,overflows:w},reset:{placement:R}};let O="bottom";switch(h){case"bestFit":{var N;const $=(N=w.slice().sort((M,U)=>M.overflows.filter(L=>L>0).reduce((L,ne)=>L+ne,0)-U.overflows.filter(L=>L>0).reduce((L,ne)=>L+ne,0))[0])==null?void 0:N.placement;$&&(O=$);break}case"initialPlacement":O=a;break}return{data:{skip:!0},reset:{placement:O}}}return{}}}};function WA(n){let{placement:e,rects:t,value:s}=n;const r=Jn(e),i=["left","top"].includes(r)?-1:1,o=typeof s=="function"?s({...t,placement:e}):s,{mainAxis:a,crossAxis:c}=typeof o=="number"?{mainAxis:o,crossAxis:0}:{mainAxis:0,crossAxis:0,...o};return to(r)==="x"?{x:c,y:a*i}:{x:a*i,y:c}}const zA=function(n){return n===void 0&&(n=0),{name:"offset",options:n,fn(e){const{x:t,y:s,placement:r,rects:i}=e,o=WA({placement:r,rects:i,value:n});return{x:t+o.x,y:s+o.y,data:o}}}};function HA(n){return n==="x"?"y":"x"}const GA=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(e){const{x:t,y:s,placement:r}=e,{mainAxis:i=!0,crossAxis:o=!1,limiter:a={fn:g=>{let{x:_,y}=g;return{x:_,y}}},...c}=n,l={x:t,y:s},u=await Xa(e,c),h=to(Jn(r)),d=HA(h);let f=l[h],p=l[d];if(i){const g=h==="y"?"top":"left",_=h==="y"?"bottom":"right",y=f+u[g],S=f-u[_];f=Xc(y,f,S)}if(o){const g=d==="y"?"top":"left",_=d==="y"?"bottom":"right",y=p+u[g],S=p-u[_];p=Xc(y,p,S)}const m=a.fn({...e,[h]:f,[d]:p});return{...m,data:{x:m.x-t,y:m.y-s}}}}},YA=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(e){var t;const{placement:s,rects:r,middlewareData:i}=e,{apply:o,...a}=n;if((t=i.size)!=null&&t.skip)return{};const c=await Xa(e,a),l=Jn(s),u=Er(s)==="end";let h,d;l==="top"||l==="bottom"?(h=l,d=u?"left":"right"):(d=l,h=u?"top":"bottom");const f=Os(c.left,0),p=Os(c.right,0),m=Os(c.top,0),g=Os(c.bottom,0),_={height:r.floating.height-(["left","right"].includes(s)?2*(m!==0||g!==0?m+g:Os(c.top,c.bottom)):c[h]),width:r.floating.width-(["top","bottom"].includes(s)?2*(f!==0||p!==0?f+p:Os(c.left,c.right)):c[d])};return o==null||o({..._,...r}),{data:{skip:!0},reset:{rects:!0}}}}};function lu(n){return(n==null?void 0:n.toString())==="[object Window]"}function Es(n){if(n==null)return window;if(!lu(n)){const e=n.ownerDocument;return e&&e.defaultView||window}return n}function Qa(n){return Es(n).getComputedStyle(n)}function zn(n){return lu(n)?"":n?(n.nodeName||"").toLowerCase():""}function Hn(n){return n instanceof Es(n).HTMLElement}function fa(n){return n instanceof Es(n).Element}function KA(n){return n instanceof Es(n).Node}function pm(n){const e=Es(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function Ja(n){const{overflow:e,overflowX:t,overflowY:s}=Qa(n);return/auto|scroll|overlay|hidden/.test(e+s+t)}function ZA(n){return["table","td","th"].includes(zn(n))}function mm(n){const e=navigator.userAgent.toLowerCase().includes("firefox"),t=Qa(n);return t.transform!=="none"||t.perspective!=="none"||t.contain==="paint"||["transform","perspective"].includes(t.willChange)||e&&t.willChange==="filter"||e&&(t.filter?t.filter!=="none":!1)}const pd=Math.min,li=Math.max,pa=Math.round;function Fr(n,e){e===void 0&&(e=!1);const t=n.getBoundingClientRect();let s=1,r=1;return e&&Hn(n)&&(s=n.offsetWidth>0&&pa(t.width)/n.offsetWidth||1,r=n.offsetHeight>0&&pa(t.height)/n.offsetHeight||1),{width:t.width/s,height:t.height/r,top:t.top/r,right:t.right/s,bottom:t.bottom/r,left:t.left/s,x:t.left/s,y:t.top/r}}function Ss(n){return((KA(n)?n.ownerDocument:n.document)||window.document).documentElement}function ec(n){return lu(n)?{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}:{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function _m(n){return Fr(Ss(n)).left+ec(n).scrollLeft}function XA(n){const e=Fr(n);return pa(e.width)!==n.offsetWidth||pa(e.height)!==n.offsetHeight}function QA(n,e,t){const s=Hn(e),r=Ss(e),i=Fr(n,s&&XA(e));let o={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(s||!s&&t!=="fixed")if((zn(e)!=="body"||Ja(r))&&(o=ec(e)),Hn(e)){const c=Fr(e,!0);a.x=c.x+e.clientLeft,a.y=c.y+e.clientTop}else r&&(a.x=_m(r));return{x:i.left+o.scrollLeft-a.x,y:i.top+o.scrollTop-a.y,width:i.width,height:i.height}}function tc(n){return zn(n)==="html"?n:n.assignedSlot||n.parentNode||(pm(n)?n.host:null)||Ss(n)}function md(n){return!Hn(n)||getComputedStyle(n).position==="fixed"?null:n.offsetParent}function JA(n){let e=tc(n);for(;Hn(e)&&!["html","body"].includes(zn(e));){if(mm(e))return e;e=e.parentNode}return null}function Jc(n){const e=Es(n);let t=md(n);for(;t&&ZA(t)&&getComputedStyle(t).position==="static";)t=md(t);return t&&(zn(t)==="html"||zn(t)==="body"&&getComputedStyle(t).position==="static"&&!mm(t))?e:t||JA(n)||e}function _d(n){return{width:n.offsetWidth,height:n.offsetHeight}}function eN(n){let{rect:e,offsetParent:t,strategy:s}=n;const r=Hn(t),i=Ss(t);if(t===i)return e;let o={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if((r||!r&&s!=="fixed")&&((zn(t)!=="body"||Ja(i))&&(o=ec(t)),Hn(t))){const c=Fr(t,!0);a.x=c.x+t.clientLeft,a.y=c.y+t.clientTop}return{...e,x:e.x-o.scrollLeft+a.x,y:e.y-o.scrollTop+a.y}}function tN(n){const e=Es(n),t=Ss(n),s=e.visualViewport;let r=t.clientWidth,i=t.clientHeight,o=0,a=0;return s&&(r=s.width,i=s.height,Math.abs(e.innerWidth/s.scale-s.width)<.01&&(o=s.offsetLeft,a=s.offsetTop)),{width:r,height:i,x:o,y:a}}function nN(n){var e;const t=Ss(n),s=ec(n),r=(e=n.ownerDocument)==null?void 0:e.body,i=li(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=li(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0);let a=-s.scrollLeft+_m(n);const c=-s.scrollTop;return Qa(r||t).direction==="rtl"&&(a+=li(t.clientWidth,r?r.clientWidth:0)-i),{width:i,height:o,x:a,y:c}}function gm(n){return["html","body","#document"].includes(zn(n))?n.ownerDocument.body:Hn(n)&&Ja(n)?n:gm(tc(n))}function ma(n,e){var t;e===void 0&&(e=[]);const s=gm(n),r=s===((t=n.ownerDocument)==null?void 0:t.body),i=Es(s),o=r?[i].concat(i.visualViewport||[],Ja(s)?s:[]):s,a=e.concat(o);return r?a:a.concat(ma(tc(o)))}function sN(n,e){const t=e.getRootNode==null?void 0:e.getRootNode();if(n.contains(e))return!0;if(t&&pm(t)){let s=e;do{if(s&&n===s)return!0;s=s.parentNode||s.host}while(s)}return!1}function rN(n){const e=Fr(n),t=e.top+n.clientTop,s=e.left+n.clientLeft;return{top:t,left:s,x:s,y:t,right:s+n.clientWidth,bottom:t+n.clientHeight,width:n.clientWidth,height:n.clientHeight}}function gd(n,e){return e==="viewport"?Zc(tN(n)):fa(e)?rN(e):Zc(nN(Ss(n)))}function iN(n){const e=ma(tc(n)),s=["absolute","fixed"].includes(Qa(n).position)&&Hn(n)?Jc(n):n;return fa(s)?e.filter(r=>fa(r)&&sN(r,s)&&zn(r)!=="body"):[]}function oN(n){let{element:e,boundary:t,rootBoundary:s}=n;const i=[...t==="clippingParents"?iN(e):[].concat(t),s],o=i[0],a=i.reduce((c,l)=>{const u=gd(e,l);return c.top=li(u.top,c.top),c.right=pd(u.right,c.right),c.bottom=pd(u.bottom,c.bottom),c.left=li(u.left,c.left),c},gd(e,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}const aN={getElementRects:n=>{let{reference:e,floating:t,strategy:s}=n;return{reference:QA(e,Jc(t),s),floating:{..._d(t),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:n=>eN(n),getOffsetParent:n=>{let{element:e}=n;return Jc(e)},isElement:n=>fa(n),getDocumentElement:n=>{let{element:e}=n;return Ss(e)},getClippingClientRect:n=>oN(n),getDimensions:n=>{let{element:e}=n;return _d(e)},getClientRects:n=>{let{element:e}=n;return e.getClientRects()}},cN=(n,e,t)=>IA(n,e,{platform:aN,...t});var lN=Object.defineProperty,uN=Object.defineProperties,hN=Object.getOwnPropertyDescriptors,yd=Object.getOwnPropertySymbols,dN=Object.prototype.hasOwnProperty,fN=Object.prototype.propertyIsEnumerable,vd=(n,e,t)=>e in n?lN(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,$n=(n,e)=>{for(var t in e||(e={}))dN.call(e,t)&&vd(n,t,e[t]);if(yd)for(var t of yd(e))fN.call(e,t)&&vd(n,t,e[t]);return n},no=(n,e)=>uN(n,hN(e));function ym(n,e){for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(typeof e[t]=="object"&&n[t]?ym(n[t],e[t]):n[t]=e[t])}const zs={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:n=>[...n,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover","focus"],delay:{show:0,hide:400}}}};function Vr(n,e){let t=zs.themes[n]||{},s;do s=t[e],typeof s>"u"?t.$extend?t=zs.themes[t.$extend]||{}:(t=null,s=zs[e]):t=null;while(t);return s}function pN(n){const e=[n];let t=zs.themes[n]||{};do t.$extend&&!t.$resetCss?(e.push(t.$extend),t=zs.themes[t.$extend]||{}):t=null;while(t);return e.map(s=>`v-popper--theme-${s}`)}let Lr=!1;if(typeof window<"u"){Lr=!1;try{const n=Object.defineProperty({},"passive",{get(){Lr=!0}});window.addEventListener("test",null,n)}catch{}}let vm=!1;typeof window<"u"&&typeof navigator<"u"&&(vm=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const bm=["auto","top","bottom","left","right"].reduce((n,e)=>n.concat([e,`${e}-start`,`${e}-end`]),[]),bd={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart"},wd={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend"};function mN(n,e){const t=n.indexOf(e);t!==-1&&n.splice(t,1)}function bc(){return new Promise(n=>requestAnimationFrame(()=>{requestAnimationFrame(n)}))}const xn=[];let ur=null,el=function(){};typeof window<"u"&&(el=window.Element);function Pe(n){return function(e){return Vr(e.theme,n)}}var wm=()=>Gn({name:"VPopper",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:Pe("disabled")},placement:{type:String,default:Pe("placement"),validator:n=>bm.includes(n)},delay:{type:[String,Number,Object],default:Pe("delay")},distance:{type:[Number,String],default:Pe("distance")},skidding:{type:[Number,String],default:Pe("skidding")},triggers:{type:Array,default:Pe("triggers")},showTriggers:{type:[Array,Function],default:Pe("showTriggers")},hideTriggers:{type:[Array,Function],default:Pe("hideTriggers")},popperTriggers:{type:Array,default:Pe("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:Pe("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:Pe("popperHideTriggers")},container:{type:[String,Object,el,Boolean],default:Pe("container")},boundary:{type:[String,el],default:Pe("boundary")},strategy:{type:String,validator:n=>["absolute","fixed"].includes(n),default:Pe("strategy")},autoHide:{type:Boolean,default:Pe("autoHide")},handleResize:{type:Boolean,default:Pe("handleResize")},instantMove:{type:Boolean,default:Pe("instantMove")},eagerMount:{type:Boolean,default:Pe("eagerMount")},popperClass:{type:[String,Array,Object],default:Pe("popperClass")},computeTransformOrigin:{type:Boolean,default:Pe("computeTransformOrigin")},autoMinSize:{type:Boolean,default:Pe("autoMinSize")},autoMaxSize:{type:Boolean,default:Pe("autoMaxSize")},preventOverflow:{type:Boolean,default:Pe("preventOverflow")},overflowPadding:{type:[Number,String],default:Pe("overflowPadding")},arrowPadding:{type:[Number,String],default:Pe("arrowPadding")},arrowOverflow:{type:Boolean,default:Pe("arrowOverflow")},flip:{type:Boolean,default:Pe("flip")},shift:{type:Boolean,default:Pe("shift")},shiftCrossAxis:{type:Boolean,default:Pe("shiftCrossAxis")}},emits:["show","hide","update:shown","apply-show","apply-hide","close-group","close-directive","auto-hide","resize","dispose"],data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null}}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:no($n({},this.classes),{popperClass:this.popperClass}),result:this.result}}},watch:$n({shown:"$_autoShowHide",disabled(n){n?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())},triggers(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())}},["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((n,e)=>(n[e]="$_computePosition",n),{})),created(){this.$_isDisposed=!0,this.randomId=`popper_${[Math.random(),Date.now()].map(n=>n.toString(36).substring(2,10)).join("_")}`},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeUnmount(){this.dispose()},methods:{show({event:n=null,skipDelay:e=!1,force:t=!1}={}){(t||!this.disabled)&&(this.$_scheduleShow(n,e),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit("update:shown",!0)},hide({event:n=null,skipDelay:e=!1}={}){this.$_scheduleHide(n,e),this.$emit("hide"),this.$emit("update:shown",!1)},init(){this.$_isDisposed&&(this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode(),this.$_targetNodes=this.targetNodes().filter(n=>n.nodeType===n.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_swapTargetAttrs("data-original-title","title"),this.$emit("dispose"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){var n;if(this.$_isDisposed)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(zA({mainAxis:this.distance,crossAxis:this.skidding}));const t=this.placement.startsWith("auto");t?e.middleware.push(qA({alignment:(n=this.placement.split("-")[1])!=null?n:""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push(GA({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(UA({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(PA({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:r,rects:i,middlewareData:o})=>{let a;const{centerOffset:c}=o.arrow;return r.startsWith("top")||r.startsWith("bottom")?a=Math.abs(c)>i.reference.width/2:a=Math.abs(c)>i.reference.height/2,{data:{overflow:a}}}}),this.autoMinSize&&e.middleware.push({name:"autoMinSize",fn:({rects:r,placement:i,middlewareData:o})=>{var a;if((a=o.autoMinSize)!=null&&a.skip)return{};let c,l;return i.startsWith("top")||i.startsWith("bottom")?c=r.reference.width:l=r.reference.height,this.$_innerNode.style.minWidth=c!=null?`${c}px`:null,this.$_innerNode.style.minHeight=l!=null?`${l}px`:null,{data:{skip:!0},reset:{rects:!0}}}}),this.autoMaxSize&&e.middleware.push(YA({boundary:this.boundary,padding:this.overflowPadding,apply:({width:r,height:i})=>{this.$_innerNode.style.maxWidth=r!=null?`${r}px`:null,this.$_innerNode.style.maxHeight=i!=null?`${i}px`:null}}));const s=await cN(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:s.x,y:s.y,placement:s.placement,strategy:s.strategy,arrow:$n($n({},s.middlewareData.arrow),s.middlewareData.arrowOverflow)})},$_scheduleShow(n=null,e=!1){if(this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),ur&&this.instantMove&&ur.instantMove){ur.$_applyHide(!0),this.$_applyShow(!0);return}e?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"))},$_scheduleHide(n=null,e=!1){this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(ur=this),e?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"))},$_computeDelay(n){const e=this.delay;return parseInt(e&&e[n]||e||0)},async $_applyShow(n=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=n,!this.isShown&&(this.$_ensureTeleport(),await bc(),await this.$_computePosition(),await this.$_applyShowEffect())},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const e=this.$_referenceNode.getBoundingClientRect(),t=this.$_popperNode.querySelector(".v-popper__wrapper"),s=t.parentNode.getBoundingClientRect(),r=e.x+e.width/2-(s.left+t.offsetLeft),i=e.y+e.height/2-(s.top+t.offsetTop);this.result.transformOrigin=`${r}px ${i}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const n=this.showGroup;if(n){let e;for(let t=0;t{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},e)),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await bc(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let n=this.container;if(typeof n=="string"?n=window.document.querySelector(n):n===!1&&(n=this.$_targetNodes[0].parentNode),!n)throw new Error("No container for popover: "+this.container);n.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const n=(r,i,o)=>{this.$_events.push({targetNodes:r,eventType:i,handler:o}),r.forEach(a=>a.addEventListener(i,o,Lr?{passive:!0}:void 0))},e=(r,i,o,a,c)=>{let l=o;a!=null&&(l=typeof a=="function"?a(l):a),l.forEach(u=>{const h=i[u];h&&n(r,h,c)})},t=r=>{this.isShown&&!this.$_hideInProgress||(r.usedByTooltip=!0,!this.$_preventShow&&this.show({event:r}))};e(this.$_targetNodes,bd,this.triggers,this.showTriggers,t),e([this.$_popperNode],bd,this.popperTriggers,this.popperShowTriggers,t);const s=r=>{r.usedByTooltip||this.hide({event:r})};e(this.$_targetNodes,wd,this.triggers,this.hideTriggers,s),e([this.$_popperNode],wd,this.popperTriggers,this.popperHideTriggers,s),n([...ma(this.$_referenceNode),...ma(this.$_popperNode)],"scroll",()=>{this.$_computePosition()})},$_removeEventListeners(){this.$_events.forEach(({targetNodes:n,eventType:e,handler:t})=>{n.forEach(s=>s.removeEventListener(e,t))}),this.$_events=[]},$_handleGlobalClose(n,e=!1){this.$_showFrameLocked||(this.hide({event:n}),n.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),e&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(n,e){for(const t of this.$_targetNodes){const s=t.getAttribute(n);s&&(t.removeAttribute(n),t.setAttribute(e,s))}},$_applyAttrsToTarget(n){for(const e of this.$_targetNodes)for(const t in n){const s=n[t];s==null?e.removeAttribute(t):e.setAttribute(t,s)}}},render(){return this.$slots.default(this.slotData)}});typeof document<"u"&&typeof window<"u"&&(vm?(document.addEventListener("touchstart",xd,Lr?{passive:!0,capture:!0}:!0),document.addEventListener("touchend",gN,Lr?{passive:!0,capture:!0}:!0)):(window.addEventListener("mousedown",xd,!0),window.addEventListener("click",_N,!0)),window.addEventListener("resize",yN));function xd(n){for(let e=0;e{(n.closeAllPopover||n.closePopover&&i||s.autoHide&&!i)&&s.$_handleGlobalClose(n,e)})}}function yN(n){for(let e=0;e0)return parseInt(n.substring(e+5,n.indexOf(".",e)),10);var t=n.indexOf("Trident/");if(t>0){var s=n.indexOf("rv:");return parseInt(n.substring(s+3,n.indexOf(".",s)),10)}var r=n.indexOf("Edge/");return r>0?parseInt(n.substring(r+5,n.indexOf(".",r)),10):-1}let Ao;function tl(){tl.init||(tl.init=!0,Ao=vN()!==-1)}var nc={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){tl(),Ur(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const n=document.createElement("object");this._resizeObject=n,n.setAttribute("aria-hidden","true"),n.setAttribute("tabindex",-1),n.onload=this.addResizeHandlers,n.type="text/html",Ao&&this.$el.appendChild(n),n.data="about:blank",Ao||this.$el.appendChild(n)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!Ao&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const bN=z_();Sa("data-v-b329ee4c");const wN={class:"resize-observer",tabindex:"-1"};Ca();const xN=bN((n,e,t,s,r,i)=>(H(),et("div",wN)));nc.render=xN;nc.__scopeId="data-v-b329ee4c";nc.__file="src/components/ResizeObserver.vue";var Tm={computed:{themeClass(){return pN(this.theme)}}},uu=(n,e)=>{const t=n.__vccOpts||n;for(const[s,r]of e)t[s]=r;return t};const TN=Gn({name:"VPopperContent",components:{ResizeObserver:nc},mixins:[Tm],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:["hide","resize"],methods:{toPx(n){return n!=null&&!isNaN(n)?`${n}px`:null}}}),EN=["id","aria-hidden","tabindex","data-popper-placement"],SN={ref:"inner",class:"v-popper__inner"},CN=P("div",{class:"v-popper__arrow-outer"},null,-1),AN=P("div",{class:"v-popper__arrow-inner"},null,-1),NN=[CN,AN];function MN(n,e,t,s,r,i){const o=Gs("ResizeObserver");return H(),ee("div",{id:n.popperId,ref:"popover",class:bs(["v-popper__popper",[n.themeClass,n.classes.popperClass,{"v-popper__popper--shown":n.shown,"v-popper__popper--hidden":!n.shown,"v-popper__popper--show-from":n.classes.showFrom,"v-popper__popper--show-to":n.classes.showTo,"v-popper__popper--hide-from":n.classes.hideFrom,"v-popper__popper--hide-to":n.classes.hideTo,"v-popper__popper--skip-transition":n.skipTransition,"v-popper__popper--arrow-overflow":n.result.arrow.overflow}]]),style:qe({position:n.result.strategy,transform:`translate3d(${Math.round(n.result.x)}px,${Math.round(n.result.y)}px,0)`}),"aria-hidden":n.shown?"false":"true",tabindex:n.autoHide?0:void 0,"data-popper-placement":n.result.placement,onKeyup:e[1]||(e[1]=x0(a=>n.autoHide&&n.$emit("hide"),["esc"]))},[P("div",{class:"v-popper__wrapper",style:qe({transformOrigin:n.result.transformOrigin})},[P("div",SN,[n.mounted?(H(),ee(Re,{key:0},[P("div",null,[Io(n.$slots,"default")]),n.handleResize?(H(),et(o,{key:0,onNotify:e[0]||(e[0]=a=>n.$emit("resize",a))})):ut("",!0)],64)):ut("",!0)],512),P("div",{ref:"arrow",class:"v-popper__arrow-container",style:qe({left:n.toPx(n.result.arrow.x),top:n.toPx(n.result.arrow.y)})},NN,4)],4)],46,EN)}var Em=uu(TN,[["render",MN]]),Sm={methods:{show(...n){return this.$refs.popper.show(...n)},hide(...n){return this.$refs.popper.hide(...n)},dispose(...n){return this.$refs.popper.dispose(...n)},onResize(...n){return this.$refs.popper.onResize(...n)}}};const kN=Gn({name:"VPopperWrapper",components:{Popper:wm(),PopperContent:Em},mixins:[Sm,Tm],inheritAttrs:!1,props:{theme:{type:String,default:null}},computed:{finalTheme(){var n;return(n=this.theme)!=null?n:this.$options.vPopperTheme},popperAttrs(){const n=$n({},this.$attrs);return delete n.class,delete n.style,n}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(n=>n!==this.$refs.popperContent.$el)}}});function ON(n,e,t,s,r,i){const o=Gs("PopperContent"),a=Gs("Popper");return H(),et(a,Oa({ref:"popper"},n.popperAttrs,{theme:n.finalTheme,"target-nodes":n.getTargetNodes,"reference-node":()=>n.$refs.reference,"popper-node":()=>n.$refs.popperContent.$el}),{default:nn(({popperId:c,isShown:l,shouldMountContent:u,skipTransition:h,autoHide:d,show:f,hide:p,handleResize:m,onResize:g,classes:_,result:y})=>[P("div",{ref:"reference",class:bs(["v-popper",[n.$attrs.class,n.themeClass,{"v-popper--shown":l}]]),style:qe(n.$attrs.style)},[Io(n.$slots,"default",{shown:l,show:f,hide:p}),ve(o,{ref:"popperContent","popper-id":c,theme:n.finalTheme,shown:l,mounted:u,"skip-transition":h,"auto-hide":d,"handle-resize":m,classes:_,result:y,onHide:p,onResize:g},{default:nn(()=>[Io(n.$slots,"popper",{shown:l,hide:p})]),_:2},1032,["popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])],6)]),_:3},16,["theme","target-nodes","reference-node","popper-node"])}var hu=uu(kN,[["render",ON]]);const Td=Gn(no($n({},hu),{name:"VDropdown",vPopperTheme:"dropdown"})),Ed=Gn(no($n({},hu),{name:"VMenu",vPopperTheme:"menu"})),Sd=Gn(no($n({},hu),{name:"VTooltip",vPopperTheme:"tooltip"})),IN=Gn({name:"VTooltipDirective",components:{Popper:wm(),PopperContent:Em},mixins:[Sm],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:n=>Vr(n.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:n=>Vr(n.theme,"loadingContent")}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(n){if(typeof this.content=="function"&&this.$_isShown&&(n||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;const e=++this.$_fetchId,t=this.content(this);t.then?t.then(s=>this.onResult(e,s)):this.onResult(e,t)}},onResult(n,e){n===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=e)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}}),RN=["innerHTML"],DN=["textContent"];function PN(n,e,t,s,r,i){const o=Gs("PopperContent"),a=Gs("Popper");return H(),et(a,Oa({ref:"popper"},n.$attrs,{theme:n.theme,"popper-node":()=>n.$refs.popperContent.$el,onApplyShow:n.onShow,onApplyHide:n.onHide}),{default:nn(({popperId:c,isShown:l,shouldMountContent:u,skipTransition:h,autoHide:d,hide:f,handleResize:p,onResize:m,classes:g,result:_})=>[ve(o,{ref:"popperContent",class:bs({"v-popper--tooltip-loading":n.loading}),"popper-id":c,theme:n.theme,shown:l,mounted:u,"skip-transition":h,"auto-hide":d,"handle-resize":p,classes:g,result:_,onHide:f,onResize:m},{default:nn(()=>[n.html?(H(),ee("div",{key:0,innerHTML:n.finalContent},null,8,RN)):(H(),ee("div",{key:1,textContent:Be(n.finalContent)},null,8,DN))]),_:2},1032,["class","popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:1},16,["theme","popper-node","onApplyShow","onApplyHide"])}var $N=uu(IN,[["render",PN]]);const Cm="v-popper--has-tooltip";function FN(n,e){let t=n.placement;if(!t&&e)for(const s of bm)e[s]&&(t=s);return t||(t=Vr(n.theme||"tooltip","placement")),t}function Am(n,e,t){let s;const r=typeof e;return r==="string"?s={content:e}:e&&r==="object"?s=e:s={content:!1},s.placement=FN(s,t),s.targetNodes=()=>[n],s.referenceNode=()=>n,s}let wc,Bi,VN=0;function LN(){if(wc)return;Bi=Oe([]),wc=Df({name:"VTooltipDirectiveApp",setup(){return{directives:Bi}},render(){return this.directives.map(e=>Ra($N,no($n({},e.options),{shown:e.shown.value||e.options.shown,key:e.id})))},devtools:{hide:!0}});const n=document.createElement("div");document.body.appendChild(n),wc.mount(n)}function BN(n,e,t){LN();const s=Oe(Am(n,e,t)),r=Oe(!1),i={id:VN++,options:s,shown:r};return Bi.value.push(i),n.classList&&n.classList.add(Cm),n.$_popper={options:s,item:i,show(){r.value=!0},hide(){r.value=!1}}}function Nm(n){if(n.$_popper){const e=Bi.value.indexOf(n.$_popper.item);e!==-1&&Bi.value.splice(e,1),delete n.$_popper,delete n.$_popperOldShown,delete n.$_popperMountTarget}n.classList&&n.classList.remove(Cm)}function Cd(n,{value:e,oldValue:t,modifiers:s}){const r=Am(n,e,s);if(!r.content||Vr(r.theme||"tooltip","disabled"))Nm(n);else{let i;n.$_popper?(i=n.$_popper,i.options.value=r):i=BN(n,e,s),typeof e.shown<"u"&&e.shown!==n.$_popperOldShown&&(n.$_popperOldShown=e.shown,e.shown?i.show():i.hide())}}var qN={beforeMount:Cd,updated:Cd,beforeUnmount(n){Nm(n)}};function Ad(n){n.addEventListener("click",Mm),n.addEventListener("touchstart",km,Lr?{passive:!0}:!1)}function Nd(n){n.removeEventListener("click",Mm),n.removeEventListener("touchstart",km),n.removeEventListener("touchend",Om),n.removeEventListener("touchcancel",Im)}function Mm(n){const e=n.currentTarget;n.closePopover=!e.$_vclosepopover_touch,n.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function km(n){if(n.changedTouches.length===1){const e=n.currentTarget;e.$_vclosepopover_touch=!0;const t=n.changedTouches[0];e.$_vclosepopover_touchPoint=t,e.addEventListener("touchend",Om),e.addEventListener("touchcancel",Im)}}function Om(n){const e=n.currentTarget;if(e.$_vclosepopover_touch=!1,n.changedTouches.length===1){const t=n.changedTouches[0],s=e.$_vclosepopover_touchPoint;n.closePopover=Math.abs(t.screenY-s.screenY)<20&&Math.abs(t.screenX-s.screenX)<20,n.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function Im(n){const e=n.currentTarget;e.$_vclosepopover_touch=!1}var jN={beforeMount(n,{value:e,modifiers:t}){n.$_closePopoverModifiers=t,(typeof e>"u"||e)&&Ad(n)},updated(n,{value:e,oldValue:t,modifiers:s}){n.$_closePopoverModifiers=s,e!==t&&(typeof e>"u"||e?Ad(n):Nd(n))},beforeUnmount(n){Nd(n)}};function UN(n,e={}){n.$_vTooltipInstalled||(n.$_vTooltipInstalled=!0,ym(zs,e),n.directive("tooltip",qN),n.directive("close-popper",jN),n.component("v-tooltip",Sd),n.component("VTooltip",Sd),n.component("v-dropdown",Td),n.component("VDropdown",Td),n.component("v-menu",Ed),n.component("VMenu",Ed))}const WN={version:"2.0.0-y.0",install:UN,options:zs},zN=vA({history:PC(),routes:[...Hc],scrollBehavior(n,e,t){return t||{top:0,behavior:"smooth"}}}),du=Df(OA);du.use(zN);du.use(WN);du.mount("#touchme-app");const HN={class:"stats"},GN={class:"grid"},YN=["x","y","width","height","transform-origin","fill"],KN=["transform"],ZN=["height","width","fill","transform-origin"],XN=["x","y"],QN={__name:"stats",setup(n){const{width:e,height:t}=Qn();return(s,r)=>(H(),ee("g",HN,[P("g",GN,[(H(),ee(Re,null,bt(10,(i,o)=>P("g",{class:"note",key:i},[(H(),ee(Re,null,bt(12,(a,c)=>{var l,u,h,d,f,p,m,g,_;return P("rect",{style:qe([{transition:"all 300ms ease-out"},`transform: scale(1,${a-4+i*12==((u=(l=v(D))==null?void 0:l.note)==null?void 0:u.number)&&((d=(h=v(D))==null?void 0:h.note)!=null&&d.attack)?((f=v(D))==null?void 0:f.duration)/300+1:1})`]),key:c,x:c*v(e)/12,y:v(t)-v(t)/9*o,width:v(e)/12,height:v(t)/9,"transform-origin":`${v(e)/12} ${v(t)-v(t)/9*(o-.5)}`,fill:v(at)(c+12*a,3,1,a-4+i*12==((m=(p=v(D))==null?void 0:p.note)==null?void 0:m.number)&&((_=(g=v(D))==null?void 0:g.note)!=null&&_.attack)?1:.05)},null,12,YN)}),64))])),64))]),(H(!0),ee(Re,null,bt(v(D).total.durations,(i,o)=>(H(),ee("g",{class:"stat",key:o,transform:`translate(${o*v(e)/12})`},[P("rect",{x:0,y:0,height:v(t),width:v(e)/12,fill:v(at)(o,2),"transform-origin":`${0} ${v(t)}`,style:qe([{transition:"all 200ms ease-out"},`transform: scale(1,${i/v(D).total.duration||0})`])},null,12,ZN),P("text",{x:v(e)/24,y:v(t)-20,"text-anchor":"middle",fill:"currentColor"},Be(v(gT)[o]),9,XN)],8,KN))),128))]))}},JN=Object.freeze(Object.defineProperty({__proto__:null,default:QN},Symbol.toStringTag,{value:"Module"})),eM={class:"arrows pointer-events-none transition",transform:"translate(0 40)"},tM=["cx","cy","fill","transform-origin"],nM={class:"ticks"},sM=["transform-origin"],rM=["x1","x2","stroke-width","stroke","transform-origin","transform"],iM=["x1","y1","x2","transform-origin"],Rm={__name:"spiral",setup(n){const{width:e,height:t}=Qn(),{midi:s}=rr();return de(()=>(s.time/1e3).toFixed()),(r,i)=>{var o,a,c,l;return H(),ee("g",eM,[P("circle",{class:"center",style:qe([{transition:"all 400ms ease-out"},{transform:`scale(${((o=v(s).note)==null?void 0:o.attack)*v(s).duration/20+1})`}]),cx:v(e)/2,cy:v(t)/2,fill:((a=v(s).note)==null?void 0:a.attack)>0?v(at)((((c=v(s).note)==null?void 0:c.number)-9)%12):"currentColor",r:5,"transform-origin":`${v(e)/2} ${v(t)/2}`},null,12,tM),P("g",nM,[(H(),ee(Re,null,bt(120,u=>{var h,d,f,p;return P("g",{key:u,"transform-origin":`${v(e)/2} ${v(t)/2}`,style:qe({transform:`rotate(${u-60}deg)`})},[P("line",{style:{transition:"all 400ms ease-out"},x1:v(e)/2,x2:v(e)/2,y1:10,y2:100,"stroke-width":((h=v(s).note)==null?void 0:h.number)==u&&((d=v(s).note)!=null&&d.attack)?50*(1+v(s).duration/1e3):2,stroke:((f=v(s).note)==null?void 0:f.number)==u&&((p=v(s).note)!=null&&p.attack)?v(at)((u+3)%12):"currentColor","stroke-linecap":"round","transform-origin":`${v(e)/2} ${v(t)/2}`,transform:`rotate(${u*v(s).time/2e4}) scale(${1-u/120*v(s).time/5e5})`},null,8,rM)],12,sM)}),64))]),P("line",{class:"arrow",style:qe([{transition:"all 400ms ease-out"},{transform:`rotate(${((l=v(s).note)==null?void 0:l.number)*(1+v(s).time/2e4)-60}deg)`}]),x1:v(e)/2,y1:v(t)/2,"stroke-width":"4",stroke:"currentColor","stroke-linecap":"round",x2:v(e)/2,y2:20,"transform-origin":`${v(e)/2} ${v(t)/2}`},null,12,iM)])}}};typeof vs=="function"&&vs(Rm);const oM=Object.freeze(Object.defineProperty({__proto__:null,default:Rm},Symbol.toStringTag,{value:"Module"})),aM=["x1","x2","y1","y2","stroke-width","stroke","transform-origin","transform"],cM=["cx","cy","fill","transform-origin"],lM=["x1","x2","y1","y2","transform-origin","transform"],uM=["cx","cy","transform-origin","fill"],hM={__name:"rose",setup(n){const{width:e,height:t}=Qn(),s=de(()=>new Array(12).fill(1).map((i,o)=>D.total.notes[o]?yT(o,12,D.total.notes[o]/D.total.hits*e.value*1.2+50,e.value,t.value):{})),r=de(()=>{const i=s.value.filter(a=>a.x&&a.y);return i.map((a,c)=>({x1:a.x,y1:a.y,x2:i[c==i.length-1?0:c+1].x,y2:i[c==i.length-1?0:c+1].y}))});return(i,o)=>{var a,c,l,u,h,d;return H(),ee("g",null,[(H(),ee(Re,null,bt(12,(f,p)=>{var m,g,_,y;return P("line",{style:{transition:"all 500ms ease-out"},key:f,x1:v(e)/2,x2:v(e)/2,y1:v(t)/2,y2:-v(t)/2,"stroke-linecap":"round","stroke-width":((g=(m=v(D))==null?void 0:m.note)==null?void 0:g.pitch)==p&&((y=(_=v(D))==null?void 0:_.note)!=null&&y.attack)?v(D).duration/10:2,stroke:v(at)(p,4),"transform-origin":`${v(e)/2} ${v(t)/2}`,transform:`rotate(${30*p})`},null,8,aM)}),64)),(H(!0),ee(Re,null,bt(v(s),(f,p)=>(H(),ee("circle",{class:"mix-blend-multiply dark_mix-blend-difference",style:qe([{transition:"all 400ms ease-out"},`transform: scale(${50*v(D).total.durations[p]/v(D).total.duration})`]),key:p,cx:f.x||v(e)/2,r:10,cy:f.y||v(t)/2,fill:v(at)(p),"stroke-width":"4","transform-origin":`${f.x} ${f.y}`},null,12,cM))),128)),(H(!0),ee(Re,null,bt(v(r),f=>(H(),ee("line",Oa({class:"mix-blend-exclusion",style:{transition:"all 300ms ease-out"},key:f},f,{stroke:"currentColor","stroke-width":"4","stroke-linecap":"round"}),null,16))),128)),P("line",{class:"mix-blend-difference",style:{transition:"all 300ms ease-out"},x1:v(e)/2,x2:v(e)/2,y1:v(t)/2-v(D).duration/5-100,y2:v(t)/2,"transform-origin":`${v(e)/2} ${v(t)/2}`,transform:`rotate(${30*((c=(a=v(D))==null?void 0:a.note)==null?void 0:c.pitch)||0})`,stroke:"white","stroke-width":"4","stroke-linecap":"round"},null,8,lM),P("circle",{style:qe([{transition:"all 200ms ease-out"},`transform: scale(${v(D).duration/1e3})`]),cx:v(e)/2,cy:v(t)/2,r:30,"transform-origin":`${v(e)/2} ${v(t)/2}`,fill:v(at)((u=(l=v(D))==null?void 0:l.note)==null?void 0:u.pitch,3,(d=(h=v(D))==null?void 0:h.note)==null?void 0:d.attack)},null,12,uM)])}}},dM=Object.freeze(Object.defineProperty({__proto__:null,default:hM},Symbol.toStringTag,{value:"Module"})),fM={class:"arrows pointer-events-none transition",transform:"translate(0 40)"},pM={class:"ticks"},mM=["transform-origin"],_M=["x1","x2","stroke-width","stroke"],gM=["x1","y1","x2","transform-origin"],yM=["cx","cy","fill","transform-origin"],vM=["fill"],bM=["x","y","transform-origin","transform"],wM=["width","x","y","transform-origin","transform"],Dm={__name:"level",setup(n){const{width:e,height:t}=Qn(),{midi:s}=rr();return de(()=>(s.time/1e3).toFixed()),(r,i)=>{var o,a,c,l,u,h,d,f,p,m;return H(),ee("g",fM,[P("g",pM,[(H(),ee(Re,null,bt(120,g=>{var _,y,S,w;return P("g",{key:g,"transform-origin":`${v(e)/2} ${v(t)/2}`,style:qe({transform:`rotate(${g-60}deg)`})},[P("line",{x1:v(e)/2,x2:v(e)/2,y1:10,y2:70,"stroke-width":((_=v(s).note)==null?void 0:_.number)==g&&((y=v(s).note)!=null&&y.attack)?2+50*v(s).duration/1e3:2,stroke:((S=v(s).note)==null?void 0:S.number)==g&&((w=v(s).note)!=null&&w.attack)?v(at)((g+3)%12):"currentColor","stroke-linecap":"round"},null,8,_M)],12,mM)}),64))]),P("line",{class:"arrow transition",x1:v(e)/2,y1:v(t)/2,"stroke-width":"4",stroke:"currentColor","stroke-linecap":"round",x2:v(e)/2,y2:20,"transform-origin":`${v(e)/2} ${v(t)/2}`,style:qe({transform:`rotate(${((o=v(s).note)==null?void 0:o.number)*((a=v(s).note)==null?void 0:a.attack)-60}deg)`})},null,12,gM),P("circle",{class:"center transition",cx:v(e)/2,cy:v(t)/2,fill:((c=v(s).note)==null?void 0:c.attack)>0?v(at)((((l=v(s).note)==null?void 0:l.number)-9)%12):"currentColor",r:5,"transform-origin":`${v(e)/2} ${v(t)/2}`,style:qe({transform:`scale(${((u=v(s).note)==null?void 0:u.attack)*10+1})`})},null,12,yM),P("g",{fill:((h=v(s).note)==null?void 0:h.attack)>0?v(at)((((d=v(s).note)==null?void 0:d.number)-9)%12):"currentColor"},[P("text",{class:"transition font-bold","text-anchor":"middle","alignment-baseline":"central",x:v(e)/2,y:v(t)/2*1.5,"font-size":"4em","transform-origin":`${v(e)/2} ${v(t)/2*1.5}`,transform:`scale(${((p=(f=v(s))==null?void 0:f.note)==null?void 0:p.attack)||0})`},Be(((m=v(s).note)==null?void 0:m.identifier)||""),9,bM),P("rect",{width:v(e)/2,x:v(e)/2-v(e)/4,y:v(t)/2*1.6,height:300,"transform-origin":`${v(e)/2} ${v(t)/2*1.5}`,transform:`scale(${v(s).duration/2e3} 1)`},null,8,wM)],8,vM)])}}};typeof vs=="function"&&vs(Dm);const xM=Object.freeze(Object.defineProperty({__proto__:null,default:Dm},Symbol.toStringTag,{value:"Module"})),TM=["viewBox"],EM=P("defs",null,[P("filter",{id:"blur",x:"-300%",y:"-300%",width:"600%",height:"600%"},[P("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"50"})])],-1),SM=["width","height"],CM=["stroke-width","stroke","x1","x2","y1","y2"],AM=P("circle",{"stroke-width":"2",stroke:"white",fill:"hsl(30,90%,80%)",r:"30"},null,-1),NM=P("circle",{r:"3",cx:"20"},null,-1),MM=P("circle",{r:"3",cx:"10"},null,-1),kM=[AM,NM,MM],OM=["cx","cy","r","fill","opacity"],Pm={__name:"index",setup(n){const{width:e,height:t}=Qn(),{midi:s}=rr(),r=tm();function i(){const a=It({x:100,y:100,angle:0}),c=Oe(0),l=Math.random();return Ol(()=>{c.value++,a.x=(r(l*100,c.value/2e3)+1)/2,a.y=(r(l*200,c.value/2e3)+1)/2,a.angle=(r(l*300,c.value/2e3)+1)/2}),a}const o=It([]);return o.push(i()),o.push(i()),(a,c)=>{var l,u,h,d,f,p,m,g,_,y;return H(),ee("svg",{class:"h-full",id:"visual",version:"1.1",baseProfile:"full",viewBox:`0 0 ${v(e)} ${v(t)}`,xmlns:"http://www.w3.org/2000/svg"},[EM,P("rect",{opacity:"0.1",width:v(e),height:v(t)},null,8,SM),P("line",{style:{transition:"stroke-width 0.2s ease-out"},"stroke-width":((u=(l=v(s))==null?void 0:l.note)==null?void 0:u.number)*((d=(h=v(s))==null?void 0:h.note)==null?void 0:d.velocity)/200*v(s).duration/100,stroke:v(at)(((p=(f=v(s))==null?void 0:f.note)==null?void 0:p.number)-21),"stroke-linecap":"round",x1:v(o)[0].x*v(e),x2:v(o)[1].x*v(e),y1:v(o)[0].y*v(t),y2:v(o)[1].y*v(t)},null,8,CM),(H(!0),ee(Re,null,bt(v(o),S=>(H(),ee("g",{style:qe([{transition:"transform 0.1s ease-out"},`transform: translate(${S.x*v(e)}px,${S.y*v(t)}px) rotate(${S.angle*360}deg) scale(${v(s).duration/1e3+1})`]),key:S},kM,4))),128)),P("circle",{cx:(v(o)[0].x+v(o)[1].x)*v(e)/2,cy:(v(o)[0].y+v(o)[1].y)*v(t)/2,r:v(s).duration/20+25,fill:v(at)(((g=(m=v(s))==null?void 0:m.note)==null?void 0:g.number)-9),opacity:.75*((y=(_=v(s))==null?void 0:_.note)==null?void 0:y.attack)||0},null,8,OM)],8,TM)}}};typeof vs=="function"&&vs(Pm);const IM=Object.freeze(Object.defineProperty({__proto__:null,default:Pm},Symbol.toStringTag,{value:"Module"})),RM=["d","fill","stroke","stroke-width","fill-opacity","transform-origin"],DM={__name:"ring",props:{fill:{type:String,default:"gray"},stroke:{type:String,default:"none"},sWidth:{type:Number,default:0},cx:{type:Number,default:500},cy:{type:Number,default:500},radius:{type:Number,default:450},from:{type:Number,default:0},to:{type:Number,default:360},thickness:{type:Number,default:100},op:{type:Number,default:1},round:{type:Boolean,default:!1}},setup(n){const e=n,t=It({from:de(()=>e.from<=e.to?e.from:e.to),to:de(()=>e.from>e.to?e.from:e.to),start:de(()=>s(t.to)),end:de(()=>s(t.from)),largeArcFlag:de(()=>t.to-t.from<=180?"0":"1"),cutout:de(()=>e.radius-e.thickness),start2:de(()=>s(t.to,t.cutout)),end2:de(()=>s(t.from,t.cutout))});function s(a=0,c=e.radius){return o(e.cx,e.cy,c,a)}const r=de(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"L",t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"L",t.start.x,t.start.y,"Z"].join(" ")),i=de(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.start.x,t.start.y,"Z"].join(" "));function o(a,c,l,u){var h=(u-90)*Math.PI/180;return{x:a+l*Math.cos(h),y:c+l*Math.sin(h)}}return(a,c)=>(H(),ee("path",{style:{transition:"all 200ms ease-out"},d:n.round?v(i):v(r),fill:n.fill,stroke:n.stroke,"stroke-width":n.sWidth,"fill-rule":"evenodd","stroke-linejoin":"round","fill-opacity":n.op,"transform-origin":`${n.cx} ${n.cy}`},[Io(a.$slots,"default")],8,RM))}},PM={class:"donut"},$M=["cx","cy","transform","transform-origin","fill"],FM=["x","y"],VM={__name:"donut",setup(n){const{width:e,height:t}=Qn(),s=de(()=>(t.value2*Math.PI*s.value);const r=de(()=>D.total.durations.reduce((a,c)=>a+c)||1),i=de(()=>D.total.durations.map(a=>a/r.value)),o=de(()=>{let a=0;const c=[0];return i.value.forEach(l=>{a+=Number(l),c.push(a)}),c});return(a,c)=>{var u,h,d,f,p,m,g,_;const l=DM;return H(),ee("g",PM,[(H(!0),ee(Re,null,bt(v(i),(y,S)=>(H(),ee("g",null,[ve(l,{style:{transition:"all 500ms ease-out"},cx:v(e)/2,cy:v(t)/2,radius:v(s),fill:v(at)(S),from:v(o)[S]*360,to:(v(o)[S]+v(i)[S])*360,thickness:v(e)/3},null,8,["cx","cy","radius","fill","from","to","thickness"])]))),256)),P("circle",{style:{transition:"all 200ms ease-out"},cx:v(e)/2,cy:v(t)/2,r:30,opacity:"0.9",transform:`scale(${((h=(u=v(D))==null?void 0:u.note)==null?void 0:h.attack)*v(D).duration/500+1||1})`,"transform-origin":`${v(e)/2} ${v(t)/2}`,fill:v(at)((f=(d=v(D))==null?void 0:d.note)==null?void 0:f.pitch,3,(m=(p=v(D))==null?void 0:p.note)==null?void 0:m.attack)},null,8,$M),P("text",{x:v(e)/2,y:v(t)/2+8,"text-anchor":"middle","font-size":"14"},Be((_=(g=v(D))==null?void 0:g.note)==null?void 0:_.identifier),9,FM)])}}},LM=Object.freeze(Object.defineProperty({__proto__:null,default:VM},Symbol.toStringTag,{value:"Module"})),BM={class:"cross"},qM=["x","height","transform-origin","fill"],jM=["x2","stroke","stroke-width","transform-origin"],UM=["cx","cy","transform-origin","fill","opacity"],WM=["transform-origin","width","height"],zM={__name:"cross",setup(n){const{width:e,height:t}=Qn();return(s,r)=>{var i,o,a,c,l,u;return H(),ee("g",BM,[P("rect",{style:qe([{transition:"all 300ms ease-in-out"},`transform: scale(${v(D).duration/100}, 1)`]),x:v(e)/2-50,y:0,height:v(t),width:100,"transform-origin":`${v(e)/2} ${0}`,fill:v(at)(((o=(i=v(D))==null?void 0:i.note)==null?void 0:o.pitch)-24+7)},null,12,qM),P("line",{class:"mix-blend-multiply dark_mix-blend-difference",style:qe([{transition:"all 300ms ease-in-out"},`transform: translateY(${(127-((c=(a=v(D))==null?void 0:a.note)==null?void 0:c.number))/127*v(t)||0}px)`]),x1:0,x2:v(e),y1:0,y2:0,stroke:v(at)((u=(l=v(D))==null?void 0:l.note)==null?void 0:u.pitch),"stroke-width":v(D).duration,"transform-origin":`${v(e)/2} ${0}`},null,12,jM),(H(),ee(Re,null,bt(127,h=>{var d,f,p,m;return P("circle",{style:qe([{transition:"all 300ms ease-in-out"},`transform: scale(${((f=(d=v(D))==null?void 0:d.note)==null?void 0:f.number)==h?v(D).duration/50:1})`]),key:h,cx:v(e)/2,cy:(127-h)/127*v(t)||0,"transform-origin":`${v(e)/2} ${(127-h)/127*v(t)||0}`,r:60,fill:v(at)((h+3)%12),opacity:((m=(p=v(D))==null?void 0:p.note)==null?void 0:m.number)==h?.9:0},null,12,UM)}),64)),P("rect",{class:"mix-blend-exclusion",style:qe([{transition:"all 100ms ease-in-out"},`transform: scale(1,${v(D).total.duration/v(D).time})`]),fill:"white",opacity:"0.1",x:0,y:0,"transform-origin":`${0} ${v(t)}`,width:v(e),height:v(t)},null,12,WM)])}}},HM=Object.freeze(Object.defineProperty({__proto__:null,default:zM},Symbol.toStringTag,{value:"Module"})); -//# sourceMappingURL=index-4fa2dd85.js.map diff --git a/assets/index-4fa2dd85.js.map b/assets/index-4fa2dd85.js.map deleted file mode 100644 index e6e4361..0000000 --- a/assets/index-4fa2dd85.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-4fa2dd85.js","sources":["../../node_modules/.pnpm/@vue+shared@3.3.4/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../node_modules/.pnpm/@vue+reactivity@3.3.4/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-core@3.3.4/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-dom@3.3.4/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../node_modules/.pnpm/webmidi@3.1.6/node_modules/webmidi/dist/esm/webmidi.esm.js","../../node_modules/.pnpm/@vueuse+shared@10.1.2_vue@3.3.4/node_modules/@vueuse/shared/index.mjs","../../node_modules/.pnpm/@vueuse+core@10.1.2_vue@3.3.4/node_modules/@vueuse/core/index.mjs","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/version.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-extended-exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-extended-linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-value-curve-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-target-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/any-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-value-curve-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-value-of-automation-event-at-index-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-end-time-and-value-of-previous-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/cancel-and-hold-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/cancel-scheduled-values-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-event-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-exponential-ramp-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-linear-ramp-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/interpolate-value.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-value-curve-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-target-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/classes/automation-event-list.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-cancel-and-hold-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-cancel-scheduled-values-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-target-automation-event.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/abort-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-active-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-node-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-param-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/globals.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-constructible.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/split-import-statements.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-worklet-module.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-value-for-key.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/pick-element-from-set.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-passive-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-event-listeners-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-active.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-passive.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-passive-when-necessary.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-passive-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-silent-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-unrendered-audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/analyser-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-owned-by-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/analyser-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-copy-channel-methods-out-of-bounds-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/index-size-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-get-channel-data-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/constants.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-active-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-source-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-buffer-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/biquad-filter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/constant-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/gain-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/oscillator-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/stereo-panner-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-node-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-param-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/deactivate-active-audio-node-input-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/deactivate-audio-graph.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-valid-latency-hint.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-destination-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-destination-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-listener-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-node-output-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/insert-element-in-set.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/add-active-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/add-passive-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/native-audio-node-faker.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/connect-native-audio-node-to-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-active-input-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-active-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-event-listeners-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-passive-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/disconnect-native-audio-node-from-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-native-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-part-of-a-cycle.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-passive-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-node-disconnect-method-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/visit-each-audio-node-once.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-node-disconnect-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-param-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-param-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/read-only-map.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-worklet-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/copy-from-channel.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/copy-to-channel.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-nested-arrays.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-worklet-processor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-worklet-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/base-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/biquad-filter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/biquad-filter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/cache-test-result.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-merger-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-merger-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-splitter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-splitter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connect-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connect-multiple-outputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connected-native-audio-buffer-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/constant-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/constant-source-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convert-number-to-unsigned-long.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convolver-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convolver-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/create-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/data-clone-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/detach-array-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/decode-audio-data.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/decrement-cycle-counter.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delay-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delay-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delete-active-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delete-unrendered-audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/delay-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/detect-cycles.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/disconnect-multiple-outputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/dynamics-compressor-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/dynamics-compressor-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/encoding-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/evaluate-source.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/event-target-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/expose-current-frame-and-current-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/fetch-source.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/gain-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/gain-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-active-audio-worklet-node-inputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-node-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-node-tail-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-param-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-backup-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/invalid-state-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-native-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-or-create-backup-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-unrendered-audio-worklet-nodes.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/invalid-access-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-iir-filter-node-get-frequency-response-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/iir-filter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/filter-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/iir-filter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/increment-cycle-counter-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-secure-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-element-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-audio-destination-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-track-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/minimal-base-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-promise-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/monitor-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-option.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-analyser-node-get-float-time-domain-data-method-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-analyser-node-get-float-time-domain-data-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-analyser-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-buffer-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-audio-param-value.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-source-node-start-method-consecutive-calls.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-start-method-negative-parameters.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-stop-method-negative-parameters.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-buffer-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-destination-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-clonability-of-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/compute-buffer-size.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/clone-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-audio-worklet-processor-promise.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-audio-worklet-processor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-biquad-filter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-channel-merger-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-channel-splitter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-channel-splitter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-constant-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/intercept-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-constant-source-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-convolver-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-delay-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-dynamics-compressor-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-gain-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-iir-filter-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-iir-filter-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-element-audio-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-audio-destination-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-audio-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-track-audio-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-offline-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-oscillator-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-panner-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-panner-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-periodic-wave-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-script-processor-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-stereo-panner-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-stereo-panner-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-wave-shaper-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-wave-shaper-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/not-supported-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/offline-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/oscillator-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/oscillator-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/panner-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/panner-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/periodic-wave-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-automation.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-inputs-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-inputs-of-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/set-active-audio-worklet-node-inputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/set-audio-node-tail-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/start-rendering.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/stereo-panner-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/stereo-panner-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-audio-buffer-constructor-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-audio-worklet-processor-post-message-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-offline-audio-context-current-time-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/unknown-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wave-shaper-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wave-shaper-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/window.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-copy-channel-methods.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-copy-channel-methods-out-of-bounds.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-source-node-stop-method-nullified-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-channel-merger-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-first-sample.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-dc-curve.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/overwrite-accessors.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-channel-splitter-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-periodic-wave-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-value-at-time-until-possible.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-start-method-consecutive-calls-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-start-method-offset-clamping-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-stop-method-nullified-buffer-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-start-method-negative-parameters-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-stop-method-consecutive-calls-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-stop-method-negative-parameters-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-worklet-node-options-clonability.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-source-node-start-method-offset-clamping.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-stop-method-consecutive-calls.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-event-listener.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/module.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/TypeCheck.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Debug.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/AudioContext.js","../../node_modules/.pnpm/tslib@2.4.0/node_modules/tslib/tslib.es6.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Ticker.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/AdvancedTypeCheck.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Defaults.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/Tone.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Math.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Timeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ContextInitialization.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Emitter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/BaseContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Context.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/DummyContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Interface.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioBuffer.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/OfflineContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/Global.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Conversions.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/TimeBase.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Time.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Frequency.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/TransportTime.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneWithContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/StateTimeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Param.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioNode.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Gain.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/OneShotSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/ToneConstantSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Signal.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickParam.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickSignal.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Clock.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Delay.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioBuffers.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Midi.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Ticks.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Draw.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/IntervalTimeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Volume.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Destination.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/TimelineValue.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/SignalOperator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/WaveShaper.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Pow.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TransportEvent.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TransportRepeatEvent.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Transport.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/Source.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/buffer/ToneBufferSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/Noise.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/OscillatorInterface.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/ToneOscillatorNode.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/Oscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/AudioToGain.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Multiply.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/AMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/FMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/PulseOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/FatOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/PWMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/OmniOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Add.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Scale.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Zero.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/LFO.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Decorator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/buffer/Player.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/GainToAudio.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/Envelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Instrument.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Monophonic.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/AmplitudeEnvelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Synth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/BiquadFilter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/Filter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/FrequencyEnvelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/MonoSynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/MembraneSynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/WorkletGlobalScope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/ToneAudioWorkletProcessor.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/SingleIOProcessor.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/DelayLine.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/FeedbackCombFilter.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/PolySynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Sampler.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/CrossFade.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/Effect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/LFOEffect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Panner.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/AutoPanner.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/BitCrusher.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Merge.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/FeedbackEffect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/FeedbackDelay.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/Reverb.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Solo.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/PanVol.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Channel.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Listener.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/dynamics/Compressor.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/index.js","../../node_modules/.pnpm/@vueuse+math@10.1.2_vue@3.3.4/node_modules/@vueuse/math/index.mjs","../../src/use/synth.js","../../src/use/midi.js","../../src/use/chromatone.js","../../src/use/scene.js","../../src/components/scene/stats.vue","../../../../../../../../../pc-keyboard.svg","../../src/components/state/start.vue","../../src/components/state/bpm.vue","../../src/components/state/oscillator.vue","../../../../../../../../../@vite-plugin-pages/route-block","../../src/components/midi/log.vue","../../src/components/midi/input.vue","../../src/components/midi/panel.vue","../../src/components/midi/state.vue","../../src/use/state.js","../../src/components/state/fullscreen.vue","../../src/components/state/overlay.vue","../../node_modules/.pnpm/simplex-noise@4.0.1/node_modules/simplex-noise/dist/esm/simplex-noise.js","../../node_modules/.pnpm/color-hash@2.0.2/node_modules/color-hash/dist/esm.js","../../../../../../../../../@vite-plugin-pages/generated-pages?id=~pages","../../node_modules/.pnpm/vue-router@4.2.2_vue@3.3.4/node_modules/vue-router/dist/vue-router.mjs","../../src/app.vue","../../node_modules/.pnpm/@floating-ui+core@0.3.1/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../../node_modules/.pnpm/@floating-ui+dom@0.1.10/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../../node_modules/.pnpm/floating-vue@2.0.0-y.0_vue@3.3.4/node_modules/floating-vue/dist/floating-vue.es.js","../../src/main.js","../../src/scenes/stats.vue","../../src/scenes/spiral.vue","../../src/scenes/rose.vue","../../src/scenes/level.vue","../../src/scenes/index.vue","../../src/components/scene/ring.vue","../../src/scenes/donut.vue","../../src/scenes/cross.vue"],"sourcesContent":["function makeMap(str, expectsLowerCase) {\n const map = /* @__PURE__ */ Object.create(null);\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst onRE = /^on[^a-z]/;\nconst isOn = (key) => onRE.test(key);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction(\n (str) => str.charAt(0).toUpperCase() + str.slice(1)\n);\nconst toHandlerKey = cacheStringFunction(\n (str) => str ? `on${capitalize(str)}` : ``\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `HYDRATE_EVENTS`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_WHITE_LISTED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console\";\nconst isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value)) {\n return value;\n } else if (isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {\n entries[`${key} =>`] = val2;\n return entries;\n }, {})\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()]\n };\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit;\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n } else {\n deps[ptr++] = dep;\n }\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = void 0;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n } else {\n cleanupEffect(this);\n }\n return this.fn();\n } finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = void 0;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n if (activeEffect === this) {\n this.deferStop = true;\n } else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect2) {\n const { deps } = effect2;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect2);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep());\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { effect: activeEffect, target, type, key } : void 0;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack2 = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit;\n shouldTrack2 = !wasTracked(dep);\n }\n } else {\n shouldTrack2 = !dep.has(activeEffect);\n }\n if (shouldTrack2) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (!!(process.env.NODE_ENV !== \"production\") && activeEffect.onTrack) {\n activeEffect.onTrack(\n extend(\n {\n effect: activeEffect\n },\n debuggerEventExtraInfo\n )\n );\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { target, type, key, newValue, oldValue, oldTarget } : void 0;\n if (deps.length === 1) {\n if (deps[0]) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(deps[0], eventInfo);\n } else {\n triggerEffects(deps[0]);\n }\n }\n } else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(createDep(effects), eventInfo);\n } else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect2 of effects) {\n if (effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n for (const effect2 of effects) {\n if (!effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect2, debuggerEventExtraInfo) {\n if (effect2 !== activeEffect || effect2.allowRecurse) {\n if (!!(process.env.NODE_ENV !== \"production\") && effect2.onTrigger) {\n effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n if (effect2.scheduler) {\n effect2.scheduler();\n } else {\n effect2.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst get$1 = /* @__PURE__ */ createGetter();\nconst shallowGet = /* @__PURE__ */ createGetter(false, true);\nconst readonlyGet = /* @__PURE__ */ createGetter(true);\nconst shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nfunction createGetter(isReadonly2 = false, shallow = false) {\n return function get2(target, key, receiver) {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return shallow;\n } else if (key === \"__v_raw\" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n };\n}\nconst set$1 = /* @__PURE__ */ createSetter();\nconst shallowSet = /* @__PURE__ */ createSetter(true);\nfunction createSetter(shallow = false) {\n return function set2(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n };\n}\nfunction deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction has$1(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n}\nfunction ownKeys(target) {\n track(target, \"iterate\", isArray(target) ? \"length\" : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nconst mutableHandlers = {\n get: get$1,\n set: set$1,\n deleteProperty,\n has: has$1,\n ownKeys\n};\nconst readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n },\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n};\nconst shallowReactiveHandlers = /* @__PURE__ */ extend(\n {},\n mutableHandlers,\n {\n get: shallowGet,\n set: shallowSet\n }\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ extend(\n {},\n readonlyHandlers,\n {\n get: shallowReadonlyGet\n }\n);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\", true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref2) {\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n trackEffects(ref2.dep || (ref2.dep = createDep()), {\n target: ref2,\n type: \"get\",\n key: \"value\"\n });\n } else {\n trackEffects(ref2.dep || (ref2.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref2, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(dep, {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n });\n } else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(\n source,\n key,\n defaultValue\n );\n}\n\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n console.warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst tick = /* @__PURE__ */ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = void 0;\n this._dirty = true;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n } else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(\n true\n /* computedTrigger */\n );\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return this._value = this.effect.run();\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n return toRaw(this)._get();\n }\n}\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\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, toValue, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, 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, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, capitalize, isGloballyWhitelisted, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? start = middle + 1 : end = middle;\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(\n render.call(\n proxyToUse,\n proxyToUse,\n renderCache,\n props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, void 0];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else {\n suspense.pendingId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n const delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container2, anchor2, 0);\n }\n };\n }\n let { anchor: anchor2 } = suspense;\n if (activeBranch) {\n anchor2 = next(activeBranch);\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor2, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n isSVG2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n isSVG,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n document.createElement(\"div\"),\n null,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n /* hydrating */\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = vnode.el = branch.el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\n}\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n var _a;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n } else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return traverse(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some(\n (v, i) => hasChanged(v, oldValue[i])\n ) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n } else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n const internalInstance = currentRenderingInstance;\n if (internalInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(internalInstance) || internalInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === void 0) {\n prevTransitionKey = key;\n } else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el._leaveCb) {\n el._leaveCb(\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) {\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode) ? vnode.children ? vnode.children[0] : void 0 : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n /* do not throw in dev if user provided error component */\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n isSVG,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n unsetCurrentInstance();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, \"\"));\n warn(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n /* do not include inferred name to avoid breaking existing code */\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn(`Cannot mutate \n\n","export default \"__VITE_PUBLIC_ASSET__1bd25af0__\"","\n\n\n\n","\n\n","\n\n\n\n","export default {};","\n\n\n\n\n\n\n\ntitle: Log\nsubtitle: by Chromatone \n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n","import { useDark } from '@vueuse/core'\nimport { getDestination, gainToDb } from 'tone'\n\nexport const isDark = useDark()\n\nconst audio = reactive({\n initiated: false,\n mute: useStorage('mute', false),\n volume: useClamp(useStorage('main-vol', 1), 0, 1),\n})\n\n\nexport function useAudio() {\n if (!audio.initiated) {\n watchEffect(() => {\n getDestination().mute = audio.mute\n })\n\n watchEffect(() => {\n getDestination().volume.targetRampTo(gainToDb(audio.volume), 0.1)\n })\n }\n audio.initiated = true\n return audio\n}","\n\n\n\n","\n\n\n\n","/*\n * A fast javascript implementation of simplex noise by Jonas Wagner\n\nBased on a speed-improved simplex noise algorithm for 2D, 3D and 4D in Java.\nWhich is based on example code by Stefan Gustavson (stegu@itn.liu.se).\nWith Optimisations by Peter Eastman (peastman@drizzle.stanford.edu).\nBetter rank ordering method by Stefan Gustavson in 2012.\n\n Copyright (c) 2022 Jonas Wagner\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n */\n// these #__PURE__ comments help uglifyjs with dead code removal\n// \nconst F2 = /*#__PURE__*/ 0.5 * (Math.sqrt(3.0) - 1.0);\nconst G2 = /*#__PURE__*/ (3.0 - Math.sqrt(3.0)) / 6.0;\nconst F3 = 1.0 / 3.0;\nconst G3 = 1.0 / 6.0;\nconst F4 = /*#__PURE__*/ (Math.sqrt(5.0) - 1.0) / 4.0;\nconst G4 = /*#__PURE__*/ (5.0 - Math.sqrt(5.0)) / 20.0;\n// I'm really not sure why this | 0 (basically a coercion to int)\n// is making this faster but I get ~5 million ops/sec more on the\n// benchmarks across the board or a ~10% speedup.\nconst fastFloor = (x) => Math.floor(x) | 0;\nconst grad2 = /*#__PURE__*/ new Float64Array([1, 1,\n -1, 1,\n 1, -1,\n -1, -1,\n 1, 0,\n -1, 0,\n 1, 0,\n -1, 0,\n 0, 1,\n 0, -1,\n 0, 1,\n 0, -1]);\n// double seems to be faster than single or int's\n// probably because most operations are in double precision\nconst grad3 = /*#__PURE__*/ new Float64Array([1, 1, 0,\n -1, 1, 0,\n 1, -1, 0,\n -1, -1, 0,\n 1, 0, 1,\n -1, 0, 1,\n 1, 0, -1,\n -1, 0, -1,\n 0, 1, 1,\n 0, -1, 1,\n 0, 1, -1,\n 0, -1, -1]);\n// double is a bit quicker here as well\nconst grad4 = /*#__PURE__*/ new Float64Array([0, 1, 1, 1, 0, 1, 1, -1, 0, 1, -1, 1, 0, 1, -1, -1,\n 0, -1, 1, 1, 0, -1, 1, -1, 0, -1, -1, 1, 0, -1, -1, -1,\n 1, 0, 1, 1, 1, 0, 1, -1, 1, 0, -1, 1, 1, 0, -1, -1,\n -1, 0, 1, 1, -1, 0, 1, -1, -1, 0, -1, 1, -1, 0, -1, -1,\n 1, 1, 0, 1, 1, 1, 0, -1, 1, -1, 0, 1, 1, -1, 0, -1,\n -1, 1, 0, 1, -1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, -1,\n 1, 1, 1, 0, 1, 1, -1, 0, 1, -1, 1, 0, 1, -1, -1, 0,\n -1, 1, 1, 0, -1, 1, -1, 0, -1, -1, 1, 0, -1, -1, -1, 0]);\n/**\n * Creates a 2D noise function\n * @param random the random function that will be used to build the permutation table\n * @returns {NoiseFunction2D}\n */\nexport function createNoise2D(random = Math.random) {\n const perm = buildPermutationTable(random);\n // precalculating this yields a little ~3% performance improvement.\n const permGrad2x = new Float64Array(perm).map(v => grad2[(v % 12) * 2]);\n const permGrad2y = new Float64Array(perm).map(v => grad2[(v % 12) * 2 + 1]);\n return function noise2D(x, y) {\n // if(!isFinite(x) || !isFinite(y)) return 0;\n let n0 = 0; // Noise contributions from the three corners\n let n1 = 0;\n let n2 = 0;\n // Skew the input space to determine which simplex cell we're in\n const s = (x + y) * F2; // Hairy factor for 2D\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const t = (i + j) * G2;\n const X0 = i - t; // Unskew the cell origin back to (x,y) space\n const Y0 = j - t;\n const x0 = x - X0; // The x,y distances from the cell origin\n const y0 = y - Y0;\n // For the 2D case, the simplex shape is an equilateral triangle.\n // Determine which simplex we are in.\n let i1, j1; // Offsets for second (middle) corner of simplex in (i,j) coords\n if (x0 > y0) {\n i1 = 1;\n j1 = 0;\n } // lower triangle, XY order: (0,0)->(1,0)->(1,1)\n else {\n i1 = 0;\n j1 = 1;\n } // upper triangle, YX order: (0,0)->(0,1)->(1,1)\n // A step of (1,0) in (i,j) means a step of (1-c,-c) in (x,y), and\n // a step of (0,1) in (i,j) means a step of (-c,1-c) in (x,y), where\n // c = (3-sqrt(3))/6\n const x1 = x0 - i1 + G2; // Offsets for middle corner in (x,y) unskewed coords\n const y1 = y0 - j1 + G2;\n const x2 = x0 - 1.0 + 2.0 * G2; // Offsets for last corner in (x,y) unskewed coords\n const y2 = y0 - 1.0 + 2.0 * G2;\n // Work out the hashed gradient indices of the three simplex corners\n const ii = i & 255;\n const jj = j & 255;\n // Calculate the contribution from the three corners\n let t0 = 0.5 - x0 * x0 - y0 * y0;\n if (t0 >= 0) {\n const gi0 = ii + perm[jj];\n const g0x = permGrad2x[gi0];\n const g0y = permGrad2y[gi0];\n t0 *= t0;\n // n0 = t0 * t0 * (grad2[gi0] * x0 + grad2[gi0 + 1] * y0); // (x,y) of grad3 used for 2D gradient\n n0 = t0 * t0 * (g0x * x0 + g0y * y0);\n }\n let t1 = 0.5 - x1 * x1 - y1 * y1;\n if (t1 >= 0) {\n const gi1 = ii + i1 + perm[jj + j1];\n const g1x = permGrad2x[gi1];\n const g1y = permGrad2y[gi1];\n t1 *= t1;\n // n1 = t1 * t1 * (grad2[gi1] * x1 + grad2[gi1 + 1] * y1);\n n1 = t1 * t1 * (g1x * x1 + g1y * y1);\n }\n let t2 = 0.5 - x2 * x2 - y2 * y2;\n if (t2 >= 0) {\n const gi2 = ii + 1 + perm[jj + 1];\n const g2x = permGrad2x[gi2];\n const g2y = permGrad2y[gi2];\n t2 *= t2;\n // n2 = t2 * t2 * (grad2[gi2] * x2 + grad2[gi2 + 1] * y2);\n n2 = t2 * t2 * (g2x * x2 + g2y * y2);\n }\n // Add contributions from each corner to get the final noise value.\n // The result is scaled to return values in the interval [-1,1].\n return 70.0 * (n0 + n1 + n2);\n };\n}\n/**\n * Creates a 3D noise function\n * @param random the random function that will be used to build the permutation table\n * @returns {NoiseFunction3D}\n */\nexport function createNoise3D(random = Math.random) {\n const perm = buildPermutationTable(random);\n // precalculating these seems to yield a speedup of over 15%\n const permGrad3x = new Float64Array(perm).map(v => grad3[(v % 12) * 3]);\n const permGrad3y = new Float64Array(perm).map(v => grad3[(v % 12) * 3 + 1]);\n const permGrad3z = new Float64Array(perm).map(v => grad3[(v % 12) * 3 + 2]);\n return function noise3D(x, y, z) {\n let n0, n1, n2, n3; // Noise contributions from the four corners\n // Skew the input space to determine which simplex cell we're in\n const s = (x + y + z) * F3; // Very nice and simple skew factor for 3D\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const k = fastFloor(z + s);\n const t = (i + j + k) * G3;\n const X0 = i - t; // Unskew the cell origin back to (x,y,z) space\n const Y0 = j - t;\n const Z0 = k - t;\n const x0 = x - X0; // The x,y,z distances from the cell origin\n const y0 = y - Y0;\n const z0 = z - Z0;\n // For the 3D case, the simplex shape is a slightly irregular tetrahedron.\n // Determine which simplex we are in.\n let i1, j1, k1; // Offsets for second corner of simplex in (i,j,k) coords\n let i2, j2, k2; // Offsets for third corner of simplex in (i,j,k) coords\n if (x0 >= y0) {\n if (y0 >= z0) {\n i1 = 1;\n j1 = 0;\n k1 = 0;\n i2 = 1;\n j2 = 1;\n k2 = 0;\n } // X Y Z order\n else if (x0 >= z0) {\n i1 = 1;\n j1 = 0;\n k1 = 0;\n i2 = 1;\n j2 = 0;\n k2 = 1;\n } // X Z Y order\n else {\n i1 = 0;\n j1 = 0;\n k1 = 1;\n i2 = 1;\n j2 = 0;\n k2 = 1;\n } // Z X Y order\n }\n else { // x0 grad4[(v % 32) * 4]);\n const permGrad4y = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 1]);\n const permGrad4z = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 2]);\n const permGrad4w = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 3]);\n return function noise4D(x, y, z, w) {\n let n0, n1, n2, n3, n4; // Noise contributions from the five corners\n // Skew the (x,y,z,w) space to determine which cell of 24 simplices we're in\n const s = (x + y + z + w) * F4; // Factor for 4D skewing\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const k = fastFloor(z + s);\n const l = fastFloor(w + s);\n const t = (i + j + k + l) * G4; // Factor for 4D unskewing\n const X0 = i - t; // Unskew the cell origin back to (x,y,z,w) space\n const Y0 = j - t;\n const Z0 = k - t;\n const W0 = l - t;\n const x0 = x - X0; // The x,y,z,w distances from the cell origin\n const y0 = y - Y0;\n const z0 = z - Z0;\n const w0 = w - W0;\n // For the 4D case, the simplex is a 4D shape I won't even try to describe.\n // To find out which of the 24 possible simplices we're in, we need to\n // determine the magnitude ordering of x0, y0, z0 and w0.\n // Six pair-wise comparisons are performed between each possible pair\n // of the four coordinates, and the results are used to rank the numbers.\n let rankx = 0;\n let ranky = 0;\n let rankz = 0;\n let rankw = 0;\n if (x0 > y0)\n rankx++;\n else\n ranky++;\n if (x0 > z0)\n rankx++;\n else\n rankz++;\n if (x0 > w0)\n rankx++;\n else\n rankw++;\n if (y0 > z0)\n ranky++;\n else\n rankz++;\n if (y0 > w0)\n ranky++;\n else\n rankw++;\n if (z0 > w0)\n rankz++;\n else\n rankw++;\n // simplex[c] is a 4-vector with the numbers 0, 1, 2 and 3 in some order.\n // Many values of c will never occur, since e.g. x>y>z>w makes x= 3 ? 1 : 0;\n const j1 = ranky >= 3 ? 1 : 0;\n const k1 = rankz >= 3 ? 1 : 0;\n const l1 = rankw >= 3 ? 1 : 0;\n // The integer offsets for the third simplex corner\n const i2 = rankx >= 2 ? 1 : 0;\n const j2 = ranky >= 2 ? 1 : 0;\n const k2 = rankz >= 2 ? 1 : 0;\n const l2 = rankw >= 2 ? 1 : 0;\n // The integer offsets for the fourth simplex corner\n const i3 = rankx >= 1 ? 1 : 0;\n const j3 = ranky >= 1 ? 1 : 0;\n const k3 = rankz >= 1 ? 1 : 0;\n const l3 = rankw >= 1 ? 1 : 0;\n // The fifth corner has all coordinate offsets = 1, so no need to compute that.\n const x1 = x0 - i1 + G4; // Offsets for second corner in (x,y,z,w) coords\n const y1 = y0 - j1 + G4;\n const z1 = z0 - k1 + G4;\n const w1 = w0 - l1 + G4;\n const x2 = x0 - i2 + 2.0 * G4; // Offsets for third corner in (x,y,z,w) coords\n const y2 = y0 - j2 + 2.0 * G4;\n const z2 = z0 - k2 + 2.0 * G4;\n const w2 = w0 - l2 + 2.0 * G4;\n const x3 = x0 - i3 + 3.0 * G4; // Offsets for fourth corner in (x,y,z,w) coords\n const y3 = y0 - j3 + 3.0 * G4;\n const z3 = z0 - k3 + 3.0 * G4;\n const w3 = w0 - l3 + 3.0 * G4;\n const x4 = x0 - 1.0 + 4.0 * G4; // Offsets for last corner in (x,y,z,w) coords\n const y4 = y0 - 1.0 + 4.0 * G4;\n const z4 = z0 - 1.0 + 4.0 * G4;\n const w4 = w0 - 1.0 + 4.0 * G4;\n // Work out the hashed gradient indices of the five simplex corners\n const ii = i & 255;\n const jj = j & 255;\n const kk = k & 255;\n const ll = l & 255;\n // Calculate the contribution from the five corners\n let t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0;\n if (t0 < 0)\n n0 = 0.0;\n else {\n const gi0 = ii + perm[jj + perm[kk + perm[ll]]];\n t0 *= t0;\n n0 = t0 * t0 * (permGrad4x[gi0] * x0 + permGrad4y[gi0] * y0 + permGrad4z[gi0] * z0 + permGrad4w[gi0] * w0);\n }\n let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1;\n if (t1 < 0)\n n1 = 0.0;\n else {\n const gi1 = ii + i1 + perm[jj + j1 + perm[kk + k1 + perm[ll + l1]]];\n t1 *= t1;\n n1 = t1 * t1 * (permGrad4x[gi1] * x1 + permGrad4y[gi1] * y1 + permGrad4z[gi1] * z1 + permGrad4w[gi1] * w1);\n }\n let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2;\n if (t2 < 0)\n n2 = 0.0;\n else {\n const gi2 = ii + i2 + perm[jj + j2 + perm[kk + k2 + perm[ll + l2]]];\n t2 *= t2;\n n2 = t2 * t2 * (permGrad4x[gi2] * x2 + permGrad4y[gi2] * y2 + permGrad4z[gi2] * z2 + permGrad4w[gi2] * w2);\n }\n let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3;\n if (t3 < 0)\n n3 = 0.0;\n else {\n const gi3 = ii + i3 + perm[jj + j3 + perm[kk + k3 + perm[ll + l3]]];\n t3 *= t3;\n n3 = t3 * t3 * (permGrad4x[gi3] * x3 + permGrad4y[gi3] * y3 + permGrad4z[gi3] * z3 + permGrad4w[gi3] * w3);\n }\n let t4 = 0.6 - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4;\n if (t4 < 0)\n n4 = 0.0;\n else {\n const gi4 = ii + 1 + perm[jj + 1 + perm[kk + 1 + perm[ll + 1]]];\n t4 *= t4;\n n4 = t4 * t4 * (permGrad4x[gi4] * x4 + permGrad4y[gi4] * y4 + permGrad4z[gi4] * z4 + permGrad4w[gi4] * w4);\n }\n // Sum up and scale the result to cover the range [-1,1]\n return 27.0 * (n0 + n1 + n2 + n3 + n4);\n };\n}\n/**\n * Builds a random permutation table.\n * This is exported only for (internal) testing purposes.\n * Do not rely on this export.\n * @private\n */\nexport function buildPermutationTable(random) {\n const tableSize = 512;\n const p = new Uint8Array(tableSize);\n for (let i = 0; i < tableSize / 2; i++) {\n p[i] = i;\n }\n for (let i = 0; i < tableSize / 2 - 1; i++) {\n const r = i + ~~(random() * (256 - i));\n const aux = p[i];\n p[i] = p[r];\n p[r] = aux;\n }\n for (let i = 256; i < tableSize; i++) {\n p[i] = p[i - 256];\n }\n return p;\n}\n//# sourceMappingURL=simplex-noise.js.map","// deno-fmt-ignore-file\n// deno-lint-ignore-file\n// This code was bundled using `deno bundle` and it's not recommended to edit it manually\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n};\nvar _block, _blocks, _bytes, _finalized, _first, _h0, _h1, _h2, _h3, _h4, _h5, _h6, _h7, _hashed, _hBytes, _is224, _lastByteIndex, _start;\nconst BKDRHash = function (str) {\n var seed = 131;\n var seed2 = 137;\n var hash = 0;\n str += 'x';\n var MAX_SAFE_INTEGER = Math.floor(9007199254740991 / seed2);\n for (let i = 0; i < str.length; i++) {\n if (hash > MAX_SAFE_INTEGER) {\n hash = Math.floor(hash / seed2);\n }\n hash = hash * seed + str.charCodeAt(i);\n }\n return hash;\n};\nconst HEX_CHARS = \"0123456789abcdef\".split(\"\");\nconst EXTRA = [\n -2147483648,\n 8388608,\n 32768,\n 128\n];\nconst SHIFT = [\n 24,\n 16,\n 8,\n 0\n];\nconst K = [\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n];\nconst blocks = [];\nclass Sha256 {\n constructor(is224 = false, sharedMemory = false) {\n _block.set(this, void 0);\n _blocks.set(this, void 0);\n _bytes.set(this, void 0);\n _finalized.set(this, void 0);\n _first.set(this, void 0);\n _h0.set(this, void 0);\n _h1.set(this, void 0);\n _h2.set(this, void 0);\n _h3.set(this, void 0);\n _h4.set(this, void 0);\n _h5.set(this, void 0);\n _h6.set(this, void 0);\n _h7.set(this, void 0);\n _hashed.set(this, void 0);\n _hBytes.set(this, void 0);\n _is224.set(this, void 0);\n _lastByteIndex.set(this, 0);\n _start.set(this, void 0);\n this.init(is224, sharedMemory);\n }\n init(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n __classPrivateFieldSet(this, _blocks, blocks);\n }\n else {\n __classPrivateFieldSet(this, _blocks, [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]);\n }\n if (is224) {\n __classPrivateFieldSet(this, _h0, 0xc1059ed8);\n __classPrivateFieldSet(this, _h1, 0x367cd507);\n __classPrivateFieldSet(this, _h2, 0x3070dd17);\n __classPrivateFieldSet(this, _h3, 0xf70e5939);\n __classPrivateFieldSet(this, _h4, 0xffc00b31);\n __classPrivateFieldSet(this, _h5, 0x68581511);\n __classPrivateFieldSet(this, _h6, 0x64f98fa7);\n __classPrivateFieldSet(this, _h7, 0xbefa4fa4);\n }\n else {\n __classPrivateFieldSet(this, _h0, 0x6a09e667);\n __classPrivateFieldSet(this, _h1, 0xbb67ae85);\n __classPrivateFieldSet(this, _h2, 0x3c6ef372);\n __classPrivateFieldSet(this, _h3, 0xa54ff53a);\n __classPrivateFieldSet(this, _h4, 0x510e527f);\n __classPrivateFieldSet(this, _h5, 0x9b05688c);\n __classPrivateFieldSet(this, _h6, 0x1f83d9ab);\n __classPrivateFieldSet(this, _h7, 0x5be0cd19);\n }\n __classPrivateFieldSet(this, _block, __classPrivateFieldSet(this, _start, __classPrivateFieldSet(this, _bytes, __classPrivateFieldSet(this, _hBytes, 0))));\n __classPrivateFieldSet(this, _finalized, __classPrivateFieldSet(this, _hashed, false));\n __classPrivateFieldSet(this, _first, true);\n __classPrivateFieldSet(this, _is224, is224);\n }\n update(message) {\n if (__classPrivateFieldGet(this, _finalized)) {\n return this;\n }\n let msg;\n if (message instanceof ArrayBuffer) {\n msg = new Uint8Array(message);\n }\n else {\n msg = message;\n }\n let index = 0;\n const length = msg.length;\n const blocks = __classPrivateFieldGet(this, _blocks);\n while (index < length) {\n let i;\n if (__classPrivateFieldGet(this, _hashed)) {\n __classPrivateFieldSet(this, _hashed, false);\n blocks[0] = __classPrivateFieldGet(this, _block);\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n if (typeof msg !== \"string\") {\n for (i = __classPrivateFieldGet(this, _start); index < length && i < 64; ++index) {\n blocks[i >> 2] |= msg[index] << SHIFT[i++ & 3];\n }\n }\n else {\n for (i = __classPrivateFieldGet(this, _start); index < length && i < 64; ++index) {\n let code = msg.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n }\n else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n else {\n code = 0x10000 + ((code & 0x3ff) << 10 | msg.charCodeAt(++index) & 0x3ff);\n blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n }\n }\n __classPrivateFieldSet(this, _lastByteIndex, i);\n __classPrivateFieldSet(this, _bytes, __classPrivateFieldGet(this, _bytes) + (i - __classPrivateFieldGet(this, _start)));\n if (i >= 64) {\n __classPrivateFieldSet(this, _block, blocks[16]);\n __classPrivateFieldSet(this, _start, i - 64);\n this.hash();\n __classPrivateFieldSet(this, _hashed, true);\n }\n else {\n __classPrivateFieldSet(this, _start, i);\n }\n }\n if (__classPrivateFieldGet(this, _bytes) > 4294967295) {\n __classPrivateFieldSet(this, _hBytes, __classPrivateFieldGet(this, _hBytes) + (__classPrivateFieldGet(this, _bytes) / 4294967296 << 0));\n __classPrivateFieldSet(this, _bytes, __classPrivateFieldGet(this, _bytes) % 4294967296);\n }\n return this;\n }\n finalize() {\n if (__classPrivateFieldGet(this, _finalized)) {\n return;\n }\n __classPrivateFieldSet(this, _finalized, true);\n const blocks = __classPrivateFieldGet(this, _blocks);\n const i = __classPrivateFieldGet(this, _lastByteIndex);\n blocks[16] = __classPrivateFieldGet(this, _block);\n blocks[i >> 2] |= EXTRA[i & 3];\n __classPrivateFieldSet(this, _block, blocks[16]);\n if (i >= 56) {\n if (!__classPrivateFieldGet(this, _hashed)) {\n this.hash();\n }\n blocks[0] = __classPrivateFieldGet(this, _block);\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = __classPrivateFieldGet(this, _hBytes) << 3 | __classPrivateFieldGet(this, _bytes) >>> 29;\n blocks[15] = __classPrivateFieldGet(this, _bytes) << 3;\n this.hash();\n }\n hash() {\n let a = __classPrivateFieldGet(this, _h0);\n let b = __classPrivateFieldGet(this, _h1);\n let c = __classPrivateFieldGet(this, _h2);\n let d = __classPrivateFieldGet(this, _h3);\n let e = __classPrivateFieldGet(this, _h4);\n let f = __classPrivateFieldGet(this, _h5);\n let g = __classPrivateFieldGet(this, _h6);\n let h = __classPrivateFieldGet(this, _h7);\n const blocks = __classPrivateFieldGet(this, _blocks);\n let s0;\n let s1;\n let maj;\n let t1;\n let t2;\n let ch;\n let ab;\n let da;\n let cd;\n let bc;\n for (let j = 16; j < 64; ++j) {\n t1 = blocks[j - 15];\n s0 = (t1 >>> 7 | t1 << 25) ^ (t1 >>> 18 | t1 << 14) ^ t1 >>> 3;\n t1 = blocks[j - 2];\n s1 = (t1 >>> 17 | t1 << 15) ^ (t1 >>> 19 | t1 << 13) ^ t1 >>> 10;\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n bc = b & c;\n for (let j1 = 0; j1 < 64; j1 += 4) {\n if (__classPrivateFieldGet(this, _first)) {\n if (__classPrivateFieldGet(this, _is224)) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n }\n else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n __classPrivateFieldSet(this, _first, false);\n }\n else {\n s0 = (a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10);\n s1 = (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7);\n ab = a & b;\n maj = ab ^ a & c ^ bc;\n ch = e & f ^ ~e & g;\n t1 = h + s1 + ch + K[j1] + blocks[j1];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n s0 = (d >>> 2 | d << 30) ^ (d >>> 13 | d << 19) ^ (d >>> 22 | d << 10);\n s1 = (h >>> 6 | h << 26) ^ (h >>> 11 | h << 21) ^ (h >>> 25 | h << 7);\n da = d & a;\n maj = da ^ d & b ^ ab;\n ch = h & e ^ ~h & f;\n t1 = g + s1 + ch + K[j1 + 1] + blocks[j1 + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = (c >>> 2 | c << 30) ^ (c >>> 13 | c << 19) ^ (c >>> 22 | c << 10);\n s1 = (g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7);\n cd = c & d;\n maj = cd ^ c & a ^ da;\n ch = g & h ^ ~g & e;\n t1 = f + s1 + ch + K[j1 + 2] + blocks[j1 + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = (b >>> 2 | b << 30) ^ (b >>> 13 | b << 19) ^ (b >>> 22 | b << 10);\n s1 = (f >>> 6 | f << 26) ^ (f >>> 11 | f << 21) ^ (f >>> 25 | f << 7);\n bc = b & c;\n maj = bc ^ b & d ^ cd;\n ch = f & g ^ ~f & h;\n t1 = e + s1 + ch + K[j1 + 3] + blocks[j1 + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n }\n __classPrivateFieldSet(this, _h0, __classPrivateFieldGet(this, _h0) + a << 0);\n __classPrivateFieldSet(this, _h1, __classPrivateFieldGet(this, _h1) + b << 0);\n __classPrivateFieldSet(this, _h2, __classPrivateFieldGet(this, _h2) + c << 0);\n __classPrivateFieldSet(this, _h3, __classPrivateFieldGet(this, _h3) + d << 0);\n __classPrivateFieldSet(this, _h4, __classPrivateFieldGet(this, _h4) + e << 0);\n __classPrivateFieldSet(this, _h5, __classPrivateFieldGet(this, _h5) + f << 0);\n __classPrivateFieldSet(this, _h6, __classPrivateFieldGet(this, _h6) + g << 0);\n __classPrivateFieldSet(this, _h7, __classPrivateFieldGet(this, _h7) + h << 0);\n }\n hex() {\n this.finalize();\n const h0 = __classPrivateFieldGet(this, _h0);\n const h1 = __classPrivateFieldGet(this, _h1);\n const h2 = __classPrivateFieldGet(this, _h2);\n const h3 = __classPrivateFieldGet(this, _h3);\n const h4 = __classPrivateFieldGet(this, _h4);\n const h5 = __classPrivateFieldGet(this, _h5);\n const h6 = __classPrivateFieldGet(this, _h6);\n const h7 = __classPrivateFieldGet(this, _h7);\n let hex = HEX_CHARS[h0 >> 28 & 0x0f] + HEX_CHARS[h0 >> 24 & 0x0f] + HEX_CHARS[h0 >> 20 & 0x0f] + HEX_CHARS[h0 >> 16 & 0x0f] + HEX_CHARS[h0 >> 12 & 0x0f] + HEX_CHARS[h0 >> 8 & 0x0f] + HEX_CHARS[h0 >> 4 & 0x0f] + HEX_CHARS[h0 & 0x0f] + HEX_CHARS[h1 >> 28 & 0x0f] + HEX_CHARS[h1 >> 24 & 0x0f] + HEX_CHARS[h1 >> 20 & 0x0f] + HEX_CHARS[h1 >> 16 & 0x0f] + HEX_CHARS[h1 >> 12 & 0x0f] + HEX_CHARS[h1 >> 8 & 0x0f] + HEX_CHARS[h1 >> 4 & 0x0f] + HEX_CHARS[h1 & 0x0f] + HEX_CHARS[h2 >> 28 & 0x0f] + HEX_CHARS[h2 >> 24 & 0x0f] + HEX_CHARS[h2 >> 20 & 0x0f] + HEX_CHARS[h2 >> 16 & 0x0f] + HEX_CHARS[h2 >> 12 & 0x0f] + HEX_CHARS[h2 >> 8 & 0x0f] + HEX_CHARS[h2 >> 4 & 0x0f] + HEX_CHARS[h2 & 0x0f] + HEX_CHARS[h3 >> 28 & 0x0f] + HEX_CHARS[h3 >> 24 & 0x0f] + HEX_CHARS[h3 >> 20 & 0x0f] + HEX_CHARS[h3 >> 16 & 0x0f] + HEX_CHARS[h3 >> 12 & 0x0f] + HEX_CHARS[h3 >> 8 & 0x0f] + HEX_CHARS[h3 >> 4 & 0x0f] + HEX_CHARS[h3 & 0x0f] + HEX_CHARS[h4 >> 28 & 0x0f] + HEX_CHARS[h4 >> 24 & 0x0f] + HEX_CHARS[h4 >> 20 & 0x0f] + HEX_CHARS[h4 >> 16 & 0x0f] + HEX_CHARS[h4 >> 12 & 0x0f] + HEX_CHARS[h4 >> 8 & 0x0f] + HEX_CHARS[h4 >> 4 & 0x0f] + HEX_CHARS[h4 & 0x0f] + HEX_CHARS[h5 >> 28 & 0x0f] + HEX_CHARS[h5 >> 24 & 0x0f] + HEX_CHARS[h5 >> 20 & 0x0f] + HEX_CHARS[h5 >> 16 & 0x0f] + HEX_CHARS[h5 >> 12 & 0x0f] + HEX_CHARS[h5 >> 8 & 0x0f] + HEX_CHARS[h5 >> 4 & 0x0f] + HEX_CHARS[h5 & 0x0f] + HEX_CHARS[h6 >> 28 & 0x0f] + HEX_CHARS[h6 >> 24 & 0x0f] + HEX_CHARS[h6 >> 20 & 0x0f] + HEX_CHARS[h6 >> 16 & 0x0f] + HEX_CHARS[h6 >> 12 & 0x0f] + HEX_CHARS[h6 >> 8 & 0x0f] + HEX_CHARS[h6 >> 4 & 0x0f] + HEX_CHARS[h6 & 0x0f];\n if (!__classPrivateFieldGet(this, _is224)) {\n hex += HEX_CHARS[h7 >> 28 & 0x0f] + HEX_CHARS[h7 >> 24 & 0x0f] + HEX_CHARS[h7 >> 20 & 0x0f] + HEX_CHARS[h7 >> 16 & 0x0f] + HEX_CHARS[h7 >> 12 & 0x0f] + HEX_CHARS[h7 >> 8 & 0x0f] + HEX_CHARS[h7 >> 4 & 0x0f] + HEX_CHARS[h7 & 0x0f];\n }\n return hex;\n }\n toString() {\n return this.hex();\n }\n digest() {\n this.finalize();\n const h0 = __classPrivateFieldGet(this, _h0);\n const h1 = __classPrivateFieldGet(this, _h1);\n const h2 = __classPrivateFieldGet(this, _h2);\n const h3 = __classPrivateFieldGet(this, _h3);\n const h4 = __classPrivateFieldGet(this, _h4);\n const h5 = __classPrivateFieldGet(this, _h5);\n const h6 = __classPrivateFieldGet(this, _h6);\n const h7 = __classPrivateFieldGet(this, _h7);\n const arr = [\n h0 >> 24 & 0xff,\n h0 >> 16 & 0xff,\n h0 >> 8 & 0xff,\n h0 & 0xff,\n h1 >> 24 & 0xff,\n h1 >> 16 & 0xff,\n h1 >> 8 & 0xff,\n h1 & 0xff,\n h2 >> 24 & 0xff,\n h2 >> 16 & 0xff,\n h2 >> 8 & 0xff,\n h2 & 0xff,\n h3 >> 24 & 0xff,\n h3 >> 16 & 0xff,\n h3 >> 8 & 0xff,\n h3 & 0xff,\n h4 >> 24 & 0xff,\n h4 >> 16 & 0xff,\n h4 >> 8 & 0xff,\n h4 & 0xff,\n h5 >> 24 & 0xff,\n h5 >> 16 & 0xff,\n h5 >> 8 & 0xff,\n h5 & 0xff,\n h6 >> 24 & 0xff,\n h6 >> 16 & 0xff,\n h6 >> 8 & 0xff,\n h6 & 0xff\n ];\n if (!__classPrivateFieldGet(this, _is224)) {\n arr.push(h7 >> 24 & 0xff, h7 >> 16 & 0xff, h7 >> 8 & 0xff, h7 & 0xff);\n }\n return arr;\n }\n array() {\n return this.digest();\n }\n arrayBuffer() {\n this.finalize();\n const buffer = new ArrayBuffer(__classPrivateFieldGet(this, _is224) ? 28 : 32);\n const dataView = new DataView(buffer);\n dataView.setUint32(0, __classPrivateFieldGet(this, _h0));\n dataView.setUint32(4, __classPrivateFieldGet(this, _h1));\n dataView.setUint32(8, __classPrivateFieldGet(this, _h2));\n dataView.setUint32(12, __classPrivateFieldGet(this, _h3));\n dataView.setUint32(16, __classPrivateFieldGet(this, _h4));\n dataView.setUint32(20, __classPrivateFieldGet(this, _h5));\n dataView.setUint32(24, __classPrivateFieldGet(this, _h6));\n if (!__classPrivateFieldGet(this, _is224)) {\n dataView.setUint32(28, __classPrivateFieldGet(this, _h7));\n }\n return buffer;\n }\n}\n_block = new WeakMap(), _blocks = new WeakMap(), _bytes = new WeakMap(), _finalized = new WeakMap(), _first = new WeakMap(), _h0 = new WeakMap(), _h1 = new WeakMap(), _h2 = new WeakMap(), _h3 = new WeakMap(), _h4 = new WeakMap(), _h5 = new WeakMap(), _h6 = new WeakMap(), _h7 = new WeakMap(), _hashed = new WeakMap(), _hBytes = new WeakMap(), _is224 = new WeakMap(), _lastByteIndex = new WeakMap(), _start = new WeakMap();\nfunction Sha256ToInt(s) {\n const sha256 = new Sha256();\n sha256.update(s);\n return parseInt(sha256.hex().substring(0, 8), 16);\n}\nconst RGB2HEX = function (RGBArray) {\n var hex = '#';\n RGBArray.forEach(function (value) {\n if (value < 16) {\n hex += 0;\n }\n hex += value.toString(16);\n });\n return hex;\n};\nconst HSL2RGB = function (H, S, L) {\n H /= 360;\n var q = L < 0.5 ? L * (1 + S) : L + S - L * S;\n var p = 2 * L - q;\n return [\n H + 1 / 3,\n H,\n H - 1 / 3\n ].map(function (color) {\n if (color < 0) {\n color++;\n }\n if (color > 1) {\n color--;\n }\n if (color < 1 / 6) {\n color = p + (q - p) * 6 * color;\n }\n else if (color < 0.5) {\n color = q;\n }\n else if (color < 2 / 3) {\n color = p + (q - p) * 6 * (2 / 3 - color);\n }\n else {\n color = p;\n }\n return Math.round(color * 255);\n });\n};\nclass ColorHash {\n constructor(options = {}) {\n const [L, S] = [\n options.lightness,\n options.saturation\n ].map(function (param) {\n param = param !== undefined ? param : [\n 0.35,\n 0.5,\n 0.65\n ];\n return Array.isArray(param) ? param.concat() : [\n param\n ];\n });\n this.L = L;\n this.S = S;\n if (typeof options.hue === 'number') {\n options.hue = {\n min: options.hue,\n max: options.hue\n };\n }\n if (typeof options.hue === 'object' && !Array.isArray(options.hue)) {\n options.hue = [\n options.hue\n ];\n }\n if (typeof options.hue === 'undefined') {\n options.hue = [];\n }\n this.hueRanges = options.hue.map(function (range) {\n return {\n min: typeof range.min === 'undefined' ? 0 : range.min,\n max: typeof range.max === 'undefined' ? 360 : range.max\n };\n });\n this.hash = Sha256ToInt;\n if (typeof options.hash === 'function') {\n this.hash = options.hash;\n }\n if (options.hash === 'bkdr') {\n this.hash = BKDRHash;\n }\n }\n hsl(str) {\n var H, S, L;\n var hash = this.hash(str);\n var hueResolution = 727;\n if (this.hueRanges.length) {\n const range = this.hueRanges[hash % this.hueRanges.length];\n H = hash / this.hueRanges.length % hueResolution * (range.max - range.min) / hueResolution + range.min;\n }\n else {\n H = hash % 359;\n }\n hash = Math.ceil(hash / 360);\n S = this.S[hash % this.S.length];\n hash = Math.ceil(hash / this.S.length);\n L = this.L[hash % this.L.length];\n return [\n H,\n S,\n L\n ];\n }\n rgb(str) {\n var hsl = this.hsl(str);\n return HSL2RGB.apply(this, hsl);\n }\n hex(str) {\n var rgb = this.rgb(str);\n return RGB2HEX(rgb);\n }\n}\nexport { ColorHash as default };\n","const __pages_import_0__ = () => import(\"/src/scenes/stats.vue\");\nconst __pages_import_1__ = () => import(\"/src/scenes/spiral.vue\");\nconst __pages_import_2__ = () => import(\"/src/scenes/rose.vue\");\nconst __pages_import_3__ = () => import(\"/src/scenes/level.vue\");\nconst __pages_import_4__ = () => import(\"/src/scenes/index.vue\");\nconst __pages_import_5__ = () => import(\"/src/scenes/donut.vue\");\nconst __pages_import_6__ = () => import(\"/src/scenes/cross.vue\");\n\nconst routes = [{\"name\":\"stats\",\"path\":\"/stats\",\"component\":__pages_import_0__,\"props\":true},{\"name\":\"spiral\",\"path\":\"/spiral\",\"component\":__pages_import_1__,\"props\":true,\"title\":\"Electric\",\"subtitle\":\"by Chromatone\"},{\"name\":\"rose\",\"path\":\"/rose\",\"component\":__pages_import_2__,\"props\":true},{\"name\":\"level\",\"path\":\"/level\",\"component\":__pages_import_3__,\"props\":true,\"title\":\"Electric\",\"subtitle\":\"by Chromatone\"},{\"name\":\"index\",\"path\":\"/\",\"component\":__pages_import_4__,\"props\":true,\"title\":\"Floating\",\"subtitle\":\"by Chromatone\"},{\"name\":\"donut\",\"path\":\"/donut\",\"component\":__pages_import_5__,\"props\":true},{\"name\":\"cross\",\"path\":\"/cross\",\"component\":__pages_import_6__,\"props\":true}];\n\nexport default routes;","/*!\n * vue-router v4.2.2\n * (c) 2023 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof window !== 'undefined';\n\nfunction isESModule(obj) {\r\n return obj.__esModule || obj[Symbol.toStringTag] === 'Module';\r\n}\r\nconst assign = Object.assign;\r\nfunction applyToParams(fn, params) {\r\n const newParams = {};\r\n for (const key in params) {\r\n const value = params[key];\r\n newParams[key] = isArray(value)\r\n ? value.map(fn)\r\n : fn(value);\r\n }\r\n return newParams;\r\n}\r\nconst noop = () => { };\r\n/**\r\n * Typesafe alternative to Array.isArray\r\n * https://github.com/microsoft/TypeScript/pull/48228\r\n */\r\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\r\n // avoid using ...args as it breaks in older Edge builds\r\n const args = Array.from(arguments).slice(1);\r\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\r\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\r\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\r\n/**\r\n * Transforms a URI into a normalized history location\r\n *\r\n * @param parseQuery\r\n * @param location - URI to normalize\r\n * @param currentLocation - current absolute location. Allows resolving relative\r\n * paths. Must start with `/`. Defaults to `/`\r\n * @returns a normalized history location\r\n */\r\nfunction parseURL(parseQuery, location, currentLocation = '/') {\r\n let path, query = {}, searchString = '', hash = '';\r\n // Could use URL and URLSearchParams but IE 11 doesn't support it\r\n // TODO: move to new URL()\r\n const hashPos = location.indexOf('#');\r\n let searchPos = location.indexOf('?');\r\n // the hash appears before the search, so it's not part of the search string\r\n if (hashPos < searchPos && hashPos >= 0) {\r\n searchPos = -1;\r\n }\r\n if (searchPos > -1) {\r\n path = location.slice(0, searchPos);\r\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\r\n query = parseQuery(searchString);\r\n }\r\n if (hashPos > -1) {\r\n path = path || location.slice(0, hashPos);\r\n // keep the # character\r\n hash = location.slice(hashPos, location.length);\r\n }\r\n // no search and no query\r\n path = resolveRelativePath(path != null ? path : location, currentLocation);\r\n // empty path means a relative query or hash `?foo=f`, `#thing`\r\n return {\r\n fullPath: path + (searchString && '?') + searchString + hash,\r\n path,\r\n query,\r\n hash,\r\n };\r\n}\r\n/**\r\n * Stringifies a URL object\r\n *\r\n * @param stringifyQuery\r\n * @param location\r\n */\r\nfunction stringifyURL(stringifyQuery, location) {\r\n const query = location.query ? stringifyQuery(location.query) : '';\r\n return location.path + (query && '?') + query + (location.hash || '');\r\n}\r\n/**\r\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\r\n *\r\n * @param pathname - location.pathname\r\n * @param base - base to strip off\r\n */\r\nfunction stripBase(pathname, base) {\r\n // no base or base is not found at the beginning\r\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\r\n return pathname;\r\n return pathname.slice(base.length) || '/';\r\n}\r\n/**\r\n * Checks if two RouteLocation are equal. This means that both locations are\r\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\r\n * parameters and `hash` are the same\r\n *\r\n * @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\r\n * @param a - first {@link RouteLocation}\r\n * @param b - second {@link RouteLocation}\r\n */\r\nfunction isSameRouteLocation(stringifyQuery, a, b) {\r\n const aLastIndex = a.matched.length - 1;\r\n const bLastIndex = b.matched.length - 1;\r\n return (aLastIndex > -1 &&\r\n aLastIndex === bLastIndex &&\r\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\r\n isSameRouteLocationParams(a.params, b.params) &&\r\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\r\n a.hash === b.hash);\r\n}\r\n/**\r\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\r\n * considered equal to the `RouteRecord` they are aliasing.\r\n *\r\n * @param a - first {@link RouteRecord}\r\n * @param b - second {@link RouteRecord}\r\n */\r\nfunction isSameRouteRecord(a, b) {\r\n // since the original record has an undefined value for aliasOf\r\n // but all aliases point to the original record, this will always compare\r\n // the original record\r\n return (a.aliasOf || a) === (b.aliasOf || b);\r\n}\r\nfunction isSameRouteLocationParams(a, b) {\r\n if (Object.keys(a).length !== Object.keys(b).length)\r\n return false;\r\n for (const key in a) {\r\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction isSameRouteLocationParamsValue(a, b) {\r\n return isArray(a)\r\n ? isEquivalentArray(a, b)\r\n : isArray(b)\r\n ? isEquivalentArray(b, a)\r\n : a === b;\r\n}\r\n/**\r\n * Check if two arrays are the same or if an array with one single entry is the\r\n * same as another primitive value. Used to check query and parameters\r\n *\r\n * @param a - array of values\r\n * @param b - array of values or a single value\r\n */\r\nfunction isEquivalentArray(a, b) {\r\n return isArray(b)\r\n ? a.length === b.length && a.every((value, i) => value === b[i])\r\n : a.length === 1 && a[0] === b;\r\n}\r\n/**\r\n * Resolves a relative path that starts with `.`.\r\n *\r\n * @param to - path location we are resolving\r\n * @param from - currentLocation.path, should start with `/`\r\n */\r\nfunction resolveRelativePath(to, from) {\r\n if (to.startsWith('/'))\r\n return to;\r\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\r\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\r\n return to;\r\n }\r\n if (!to)\r\n return from;\r\n const fromSegments = from.split('/');\r\n const toSegments = to.split('/');\r\n const lastToSegment = toSegments[toSegments.length - 1];\r\n // make . and ./ the same (../ === .., ../../ === ../..)\r\n // this is the same behavior as new URL()\r\n if (lastToSegment === '..' || lastToSegment === '.') {\r\n toSegments.push('');\r\n }\r\n let position = fromSegments.length - 1;\r\n let toPosition;\r\n let segment;\r\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\r\n segment = toSegments[toPosition];\r\n // we stay on the same position\r\n if (segment === '.')\r\n continue;\r\n // go up in the from array\r\n if (segment === '..') {\r\n // we can't go below zero, but we still need to increment toPosition\r\n if (position > 1)\r\n position--;\r\n // continue\r\n }\r\n // we reached a non-relative path, we stop here\r\n else\r\n break;\r\n }\r\n return (fromSegments.slice(0, position).join('/') +\r\n '/' +\r\n toSegments\r\n // ensure we use at least the last element in the toSegments\r\n .slice(toPosition - (toPosition === toSegments.length ? 1 : 0))\r\n .join('/'));\r\n}\n\nvar NavigationType;\r\n(function (NavigationType) {\r\n NavigationType[\"pop\"] = \"pop\";\r\n NavigationType[\"push\"] = \"push\";\r\n})(NavigationType || (NavigationType = {}));\r\nvar NavigationDirection;\r\n(function (NavigationDirection) {\r\n NavigationDirection[\"back\"] = \"back\";\r\n NavigationDirection[\"forward\"] = \"forward\";\r\n NavigationDirection[\"unknown\"] = \"\";\r\n})(NavigationDirection || (NavigationDirection = {}));\r\n/**\r\n * Starting location for Histories\r\n */\r\nconst START = '';\r\n// Generic utils\r\n/**\r\n * Normalizes a base by removing any trailing slash and reading the base tag if\r\n * present.\r\n *\r\n * @param base - base to normalize\r\n */\r\nfunction normalizeBase(base) {\r\n if (!base) {\r\n if (isBrowser) {\r\n // respect tag\r\n const baseEl = document.querySelector('base');\r\n base = (baseEl && baseEl.getAttribute('href')) || '/';\r\n // strip full URL origin\r\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\r\n }\r\n else {\r\n base = '/';\r\n }\r\n }\r\n // ensure leading slash when it was removed by the regex above avoid leading\r\n // slash with hash because the file could be read from the disk like file://\r\n // and the leading slash would cause problems\r\n if (base[0] !== '/' && base[0] !== '#')\r\n base = '/' + base;\r\n // remove the trailing slash so all other method can just do `base + fullPath`\r\n // to build an href\r\n return removeTrailingSlash(base);\r\n}\r\n// remove any character before the hash\r\nconst BEFORE_HASH_RE = /^[^#]+#/;\r\nfunction createHref(base, location) {\r\n return base.replace(BEFORE_HASH_RE, '#') + location;\r\n}\n\nfunction getElementPosition(el, offset) {\r\n const docRect = document.documentElement.getBoundingClientRect();\r\n const elRect = el.getBoundingClientRect();\r\n return {\r\n behavior: offset.behavior,\r\n left: elRect.left - docRect.left - (offset.left || 0),\r\n top: elRect.top - docRect.top - (offset.top || 0),\r\n };\r\n}\r\nconst computeScrollPosition = () => ({\r\n left: window.pageXOffset,\r\n top: window.pageYOffset,\r\n});\r\nfunction scrollToPosition(position) {\r\n let scrollToOptions;\r\n if ('el' in position) {\r\n const positionEl = position.el;\r\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\r\n /**\r\n * `id`s can accept pretty much any characters, including CSS combinators\r\n * like `>` or `~`. It's still possible to retrieve elements using\r\n * `document.getElementById('~')` but it needs to be escaped when using\r\n * `document.querySelector('#\\\\~')` for it to be valid. The only\r\n * requirements for `id`s are them to be unique on the page and to not be\r\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\r\n * be properly escaped for it to work with `querySelector`. We could check\r\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\r\n * would make things inconsistent since they are valid characters for an\r\n * `id` but would need to be escaped when using `querySelector`, breaking\r\n * their usage and ending up in no selector returned. Selectors need to be\r\n * escaped:\r\n *\r\n * - `#1-thing` becomes `#\\31 -thing`\r\n * - `#with~symbols` becomes `#with\\\\~symbols`\r\n *\r\n * - More information about the topic can be found at\r\n * https://mathiasbynens.be/notes/html5-id-class.\r\n * - Practical example: https://mathiasbynens.be/demo/html5-id\r\n */\r\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\r\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\r\n try {\r\n const foundEl = document.querySelector(position.el);\r\n if (isIdSelector && foundEl) {\r\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\r\n // return to avoid other warnings\r\n return;\r\n }\r\n }\r\n catch (err) {\r\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\r\n // return to avoid other warnings\r\n return;\r\n }\r\n }\r\n }\r\n const el = typeof positionEl === 'string'\r\n ? isIdSelector\r\n ? document.getElementById(positionEl.slice(1))\r\n : document.querySelector(positionEl)\r\n : positionEl;\r\n if (!el) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\r\n return;\r\n }\r\n scrollToOptions = getElementPosition(el, position);\r\n }\r\n else {\r\n scrollToOptions = position;\r\n }\r\n if ('scrollBehavior' in document.documentElement.style)\r\n window.scrollTo(scrollToOptions);\r\n else {\r\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.pageXOffset, scrollToOptions.top != null ? scrollToOptions.top : window.pageYOffset);\r\n }\r\n}\r\nfunction getScrollKey(path, delta) {\r\n const position = history.state ? history.state.position - delta : -1;\r\n return position + path;\r\n}\r\nconst scrollPositions = new Map();\r\nfunction saveScrollPosition(key, scrollPosition) {\r\n scrollPositions.set(key, scrollPosition);\r\n}\r\nfunction getSavedScrollPosition(key) {\r\n const scroll = scrollPositions.get(key);\r\n // consume it so it's not used again\r\n scrollPositions.delete(key);\r\n return scroll;\r\n}\r\n// TODO: RFC about how to save scroll position\r\n/**\r\n * ScrollBehavior instance used by the router to compute and restore the scroll\r\n * position when navigating.\r\n */\r\n// export interface ScrollHandler {\r\n// // returns a scroll position that can be saved in history\r\n// compute(): ScrollPositionEntry\r\n// // can take an extended ScrollPositionEntry\r\n// scroll(position: ScrollPosition): void\r\n// }\r\n// export const scrollHandler: ScrollHandler = {\r\n// compute: computeScroll,\r\n// scroll: scrollToPosition,\r\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\r\n/**\r\n * Creates a normalized history location from a window.location object\r\n * @param base - The base path\r\n * @param location - The window.location object\r\n */\r\nfunction createCurrentLocation(base, location) {\r\n const { pathname, search, hash } = location;\r\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\r\n const hashPos = base.indexOf('#');\r\n if (hashPos > -1) {\r\n let slicePos = hash.includes(base.slice(hashPos))\r\n ? base.slice(hashPos).length\r\n : 1;\r\n let pathFromHash = hash.slice(slicePos);\r\n // prepend the starting slash to hash so the url starts with /#\r\n if (pathFromHash[0] !== '/')\r\n pathFromHash = '/' + pathFromHash;\r\n return stripBase(pathFromHash, '');\r\n }\r\n const path = stripBase(pathname, base);\r\n return path + search + hash;\r\n}\r\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\r\n let listeners = [];\r\n let teardowns = [];\r\n // TODO: should it be a stack? a Dict. Check if the popstate listener\r\n // can trigger twice\r\n let pauseState = null;\r\n const popStateHandler = ({ state, }) => {\r\n const to = createCurrentLocation(base, location);\r\n const from = currentLocation.value;\r\n const fromState = historyState.value;\r\n let delta = 0;\r\n if (state) {\r\n currentLocation.value = to;\r\n historyState.value = state;\r\n // ignore the popstate and reset the pauseState\r\n if (pauseState && pauseState === from) {\r\n pauseState = null;\r\n return;\r\n }\r\n delta = fromState ? state.position - fromState.position : 0;\r\n }\r\n else {\r\n replace(to);\r\n }\r\n // console.log({ deltaFromCurrent })\r\n // Here we could also revert the navigation by calling history.go(-delta)\r\n // this listener will have to be adapted to not trigger again and to wait for the url\r\n // to be updated before triggering the listeners. Some kind of validation function would also\r\n // need to be passed to the listeners so the navigation can be accepted\r\n // call all listeners\r\n listeners.forEach(listener => {\r\n listener(currentLocation.value, from, {\r\n delta,\r\n type: NavigationType.pop,\r\n direction: delta\r\n ? delta > 0\r\n ? NavigationDirection.forward\r\n : NavigationDirection.back\r\n : NavigationDirection.unknown,\r\n });\r\n });\r\n };\r\n function pauseListeners() {\r\n pauseState = currentLocation.value;\r\n }\r\n function listen(callback) {\r\n // set up the listener and prepare teardown callbacks\r\n listeners.push(callback);\r\n const teardown = () => {\r\n const index = listeners.indexOf(callback);\r\n if (index > -1)\r\n listeners.splice(index, 1);\r\n };\r\n teardowns.push(teardown);\r\n return teardown;\r\n }\r\n function beforeUnloadListener() {\r\n const { history } = window;\r\n if (!history.state)\r\n return;\r\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\r\n }\r\n function destroy() {\r\n for (const teardown of teardowns)\r\n teardown();\r\n teardowns = [];\r\n window.removeEventListener('popstate', popStateHandler);\r\n window.removeEventListener('beforeunload', beforeUnloadListener);\r\n }\r\n // set up the listeners and prepare teardown callbacks\r\n window.addEventListener('popstate', popStateHandler);\r\n // TODO: could we use 'pagehide' or 'visibilitychange' instead?\r\n // https://developer.chrome.com/blog/page-lifecycle-api/\r\n window.addEventListener('beforeunload', beforeUnloadListener, {\r\n passive: true,\r\n });\r\n return {\r\n pauseListeners,\r\n listen,\r\n destroy,\r\n };\r\n}\r\n/**\r\n * Creates a state object\r\n */\r\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\r\n return {\r\n back,\r\n current,\r\n forward,\r\n replaced,\r\n position: window.history.length,\r\n scroll: computeScroll ? computeScrollPosition() : null,\r\n };\r\n}\r\nfunction useHistoryStateNavigation(base) {\r\n const { history, location } = window;\r\n // private variables\r\n const currentLocation = {\r\n value: createCurrentLocation(base, location),\r\n };\r\n const historyState = { value: history.state };\r\n // build current history entry as this is a fresh navigation\r\n if (!historyState.value) {\r\n changeLocation(currentLocation.value, {\r\n back: null,\r\n current: currentLocation.value,\r\n forward: null,\r\n // the length is off by one, we need to decrease it\r\n position: history.length - 1,\r\n replaced: true,\r\n // don't add a scroll as the user may have an anchor, and we want\r\n // scrollBehavior to be triggered without a saved position\r\n scroll: null,\r\n }, true);\r\n }\r\n function changeLocation(to, state, replace) {\r\n /**\r\n * if a base tag is provided, and we are on a normal domain, we have to\r\n * respect the provided `base` attribute because pushState() will use it and\r\n * potentially erase anything before the `#` like at\r\n * https://github.com/vuejs/router/issues/685 where a base of\r\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\r\n * there is no host, the `` tag makes no sense and if there isn't a\r\n * base tag we can just use everything after the `#`.\r\n */\r\n const hashIndex = base.indexOf('#');\r\n const url = hashIndex > -1\r\n ? (location.host && document.querySelector('base')\r\n ? base\r\n : base.slice(hashIndex)) + to\r\n : createBaseLocation() + base + to;\r\n try {\r\n // BROWSER QUIRK\r\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\r\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\r\n historyState.value = state;\r\n }\r\n catch (err) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Error with push/replace State', err);\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n // Force the navigation, this also resets the call count\r\n location[replace ? 'replace' : 'assign'](url);\r\n }\r\n }\r\n function replace(to, data) {\r\n const state = assign({}, history.state, buildState(historyState.value.back, \r\n // keep back and forward entries but override current position\r\n to, historyState.value.forward, true), data, { position: historyState.value.position });\r\n changeLocation(to, state, true);\r\n currentLocation.value = to;\r\n }\r\n function push(to, data) {\r\n // Add to current entry the information of where we are going\r\n // as well as saving the current position\r\n const currentState = assign({}, \r\n // use current history state to gracefully handle a wrong call to\r\n // history.replaceState\r\n // https://github.com/vuejs/router/issues/366\r\n historyState.value, history.state, {\r\n forward: to,\r\n scroll: computeScrollPosition(),\r\n });\r\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\r\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\r\n `history.replaceState(history.state, '', url)\\n\\n` +\r\n `You can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`);\r\n }\r\n changeLocation(currentState.current, currentState, true);\r\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\r\n changeLocation(to, state, false);\r\n currentLocation.value = to;\r\n }\r\n return {\r\n location: currentLocation,\r\n state: historyState,\r\n push,\r\n replace,\r\n };\r\n}\r\n/**\r\n * Creates an HTML5 history. Most common history for single page applications.\r\n *\r\n * @param base -\r\n */\r\nfunction createWebHistory(base) {\r\n base = normalizeBase(base);\r\n const historyNavigation = useHistoryStateNavigation(base);\r\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\r\n function go(delta, triggerListeners = true) {\r\n if (!triggerListeners)\r\n historyListeners.pauseListeners();\r\n history.go(delta);\r\n }\r\n const routerHistory = assign({\r\n // it's overridden right after\r\n location: '',\r\n base,\r\n go,\r\n createHref: createHref.bind(null, base),\r\n }, historyNavigation, historyListeners);\r\n Object.defineProperty(routerHistory, 'location', {\r\n enumerable: true,\r\n get: () => historyNavigation.location.value,\r\n });\r\n Object.defineProperty(routerHistory, 'state', {\r\n enumerable: true,\r\n get: () => historyNavigation.state.value,\r\n });\r\n return routerHistory;\r\n}\n\n/**\r\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\r\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\r\n *\r\n * @param base - Base applied to all urls, defaults to '/'\r\n * @returns a history object that can be passed to the router constructor\r\n */\r\nfunction createMemoryHistory(base = '') {\r\n let listeners = [];\r\n let queue = [START];\r\n let position = 0;\r\n base = normalizeBase(base);\r\n function setLocation(location) {\r\n position++;\r\n if (position === queue.length) {\r\n // we are at the end, we can simply append a new entry\r\n queue.push(location);\r\n }\r\n else {\r\n // we are in the middle, we remove everything from here in the queue\r\n queue.splice(position);\r\n queue.push(location);\r\n }\r\n }\r\n function triggerListeners(to, from, { direction, delta }) {\r\n const info = {\r\n direction,\r\n delta,\r\n type: NavigationType.pop,\r\n };\r\n for (const callback of listeners) {\r\n callback(to, from, info);\r\n }\r\n }\r\n const routerHistory = {\r\n // rewritten by Object.defineProperty\r\n location: START,\r\n // TODO: should be kept in queue\r\n state: {},\r\n base,\r\n createHref: createHref.bind(null, base),\r\n replace(to) {\r\n // remove current entry and decrement position\r\n queue.splice(position--, 1);\r\n setLocation(to);\r\n },\r\n push(to, data) {\r\n setLocation(to);\r\n },\r\n listen(callback) {\r\n listeners.push(callback);\r\n return () => {\r\n const index = listeners.indexOf(callback);\r\n if (index > -1)\r\n listeners.splice(index, 1);\r\n };\r\n },\r\n destroy() {\r\n listeners = [];\r\n queue = [START];\r\n position = 0;\r\n },\r\n go(delta, shouldTrigger = true) {\r\n const from = this.location;\r\n const direction = \r\n // we are considering delta === 0 going forward, but in abstract mode\r\n // using 0 for the delta doesn't make sense like it does in html5 where\r\n // it reloads the page\r\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\r\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\r\n if (shouldTrigger) {\r\n triggerListeners(this.location, from, {\r\n direction,\r\n delta,\r\n });\r\n }\r\n },\r\n };\r\n Object.defineProperty(routerHistory, 'location', {\r\n enumerable: true,\r\n get: () => queue[position],\r\n });\r\n return routerHistory;\r\n}\n\n/**\r\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\r\n * handle any URL is not possible.\r\n *\r\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\r\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\r\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\r\n * after the `#`).\r\n *\r\n * @example\r\n * ```js\r\n * // at https://example.com/folder\r\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\r\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\r\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\r\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\r\n * // you should avoid doing this because it changes the original url and breaks copying urls\r\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\r\n *\r\n * // at file:///usr/etc/folder/index.html\r\n * // for locations with no `host`, the base is ignored\r\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\r\n * ```\r\n */\r\nfunction createWebHashHistory(base) {\r\n // Make sure this implementation is fine in terms of encoding, specially for IE11\r\n // for `file://`, directly use the pathname and ignore the base\r\n // location.pathname contains an initial `/` even at the root: `https://example.com`\r\n base = location.host ? base || location.pathname + location.search : '';\r\n // allow the user to provide a `#` in the middle: `/base/#/app`\r\n if (!base.includes('#'))\r\n base += '#';\r\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\r\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\r\n }\r\n return createWebHistory(base);\r\n}\n\nfunction isRouteLocation(route) {\r\n return typeof route === 'string' || (route && typeof route === 'object');\r\n}\r\nfunction isRouteName(name) {\r\n return typeof name === 'string' || typeof name === 'symbol';\r\n}\n\n/**\r\n * Initial route location where the router is. Can be used in navigation guards\r\n * to differentiate the initial navigation.\r\n *\r\n * @example\r\n * ```js\r\n * import { START_LOCATION } from 'vue-router'\r\n *\r\n * router.beforeEach((to, from) => {\r\n * if (from === START_LOCATION) {\r\n * // initial navigation\r\n * }\r\n * })\r\n * ```\r\n */\r\nconst START_LOCATION_NORMALIZED = {\r\n path: '/',\r\n name: undefined,\r\n params: {},\r\n query: {},\r\n hash: '',\r\n fullPath: '/',\r\n matched: [],\r\n meta: {},\r\n redirectedFrom: undefined,\r\n};\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\r\n/**\r\n * Enumeration with all possible types for navigation failures. Can be passed to\r\n * {@link isNavigationFailure} to check for specific failures.\r\n */\r\nvar NavigationFailureType;\r\n(function (NavigationFailureType) {\r\n /**\r\n * An aborted navigation is a navigation that failed because a navigation\r\n * guard returned `false` or called `next(false)`\r\n */\r\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\r\n /**\r\n * A cancelled navigation is a navigation that failed because a more recent\r\n * navigation finished started (not necessarily finished).\r\n */\r\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\r\n /**\r\n * A duplicated navigation is a navigation that failed because it was\r\n * initiated while already being at the exact same location.\r\n */\r\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\r\n})(NavigationFailureType || (NavigationFailureType = {}));\r\n// DEV only debug messages\r\nconst ErrorTypeMessages = {\r\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\r\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\r\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\r\n : ''}`;\r\n },\r\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\r\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\r\n },\r\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\r\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\r\n },\r\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\r\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\r\n },\r\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\r\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\r\n },\r\n};\r\nfunction createRouterError(type, params) {\r\n // keep full error messages in cjs versions\r\n if ((process.env.NODE_ENV !== 'production') || !true) {\r\n return assign(new Error(ErrorTypeMessages[type](params)), {\r\n type,\r\n [NavigationFailureSymbol]: true,\r\n }, params);\r\n }\r\n else {\r\n return assign(new Error(), {\r\n type,\r\n [NavigationFailureSymbol]: true,\r\n }, params);\r\n }\r\n}\r\nfunction isNavigationFailure(error, type) {\r\n return (error instanceof Error &&\r\n NavigationFailureSymbol in error &&\r\n (type == null || !!(error.type & type)));\r\n}\r\nconst propertiesToLog = ['params', 'query', 'hash'];\r\nfunction stringifyRoute(to) {\r\n if (typeof to === 'string')\r\n return to;\r\n if ('path' in to)\r\n return to.path;\r\n const location = {};\r\n for (const key of propertiesToLog) {\r\n if (key in to)\r\n location[key] = to[key];\r\n }\r\n return JSON.stringify(location, null, 2);\r\n}\n\n// default pattern for a param: non-greedy everything but /\r\nconst BASE_PARAM_PATTERN = '[^/]+?';\r\nconst BASE_PATH_PARSER_OPTIONS = {\r\n sensitive: false,\r\n strict: false,\r\n start: true,\r\n end: true,\r\n};\r\n// Special Regex characters that must be escaped in static tokens\r\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\r\n/**\r\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\r\n *\r\n * @param segments - array of segments returned by tokenizePath\r\n * @param extraOptions - optional options for the regexp\r\n * @returns a PathParser\r\n */\r\nfunction tokensToParser(segments, extraOptions) {\r\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\r\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\r\n const score = [];\r\n // the regexp as a string\r\n let pattern = options.start ? '^' : '';\r\n // extracted keys\r\n const keys = [];\r\n for (const segment of segments) {\r\n // the root segment needs special treatment\r\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\r\n // allow trailing slash\r\n if (options.strict && !segment.length)\r\n pattern += '/';\r\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\r\n const token = segment[tokenIndex];\r\n // resets the score if we are inside a sub-segment /:a-other-:b\r\n let subSegmentScore = 40 /* PathScore.Segment */ +\r\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\r\n if (token.type === 0 /* TokenType.Static */) {\r\n // prepend the slash if we are starting a new segment\r\n if (!tokenIndex)\r\n pattern += '/';\r\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\r\n subSegmentScore += 40 /* PathScore.Static */;\r\n }\r\n else if (token.type === 1 /* TokenType.Param */) {\r\n const { value, repeatable, optional, regexp } = token;\r\n keys.push({\r\n name: value,\r\n repeatable,\r\n optional,\r\n });\r\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\r\n // the user provided a custom regexp /:id(\\\\d+)\r\n if (re !== BASE_PARAM_PATTERN) {\r\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\r\n // make sure the regexp is valid before using it\r\n try {\r\n new RegExp(`(${re})`);\r\n }\r\n catch (err) {\r\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\r\n err.message);\r\n }\r\n }\r\n // when we repeat we must take care of the repeating leading slash\r\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\r\n // prepend the slash if we are starting a new segment\r\n if (!tokenIndex)\r\n subPattern =\r\n // avoid an optional / if there are more segments e.g. /:p?-static\r\n // or /:p?-:p2\r\n optional && segment.length < 2\r\n ? `(?:/${subPattern})`\r\n : '/' + subPattern;\r\n if (optional)\r\n subPattern += '?';\r\n pattern += subPattern;\r\n subSegmentScore += 20 /* PathScore.Dynamic */;\r\n if (optional)\r\n subSegmentScore += -8 /* PathScore.BonusOptional */;\r\n if (repeatable)\r\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\r\n if (re === '.*')\r\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\r\n }\r\n segmentScores.push(subSegmentScore);\r\n }\r\n // an empty array like /home/ -> [[{home}], []]\r\n // if (!segment.length) pattern += '/'\r\n score.push(segmentScores);\r\n }\r\n // only apply the strict bonus to the last score\r\n if (options.strict && options.end) {\r\n const i = score.length - 1;\r\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\r\n }\r\n // TODO: dev only warn double trailing slash\r\n if (!options.strict)\r\n pattern += '/?';\r\n if (options.end)\r\n pattern += '$';\r\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\r\n else if (options.strict)\r\n pattern += '(?:/|$)';\r\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\r\n function parse(path) {\r\n const match = path.match(re);\r\n const params = {};\r\n if (!match)\r\n return null;\r\n for (let i = 1; i < match.length; i++) {\r\n const value = match[i] || '';\r\n const key = keys[i - 1];\r\n params[key.name] = value && key.repeatable ? value.split('/') : value;\r\n }\r\n return params;\r\n }\r\n function stringify(params) {\r\n let path = '';\r\n // for optional parameters to allow to be empty\r\n let avoidDuplicatedSlash = false;\r\n for (const segment of segments) {\r\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\r\n path += '/';\r\n avoidDuplicatedSlash = false;\r\n for (const token of segment) {\r\n if (token.type === 0 /* TokenType.Static */) {\r\n path += token.value;\r\n }\r\n else if (token.type === 1 /* TokenType.Param */) {\r\n const { value, repeatable, optional } = token;\r\n const param = value in params ? params[value] : '';\r\n if (isArray(param) && !repeatable) {\r\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\r\n }\r\n const text = isArray(param)\r\n ? param.join('/')\r\n : param;\r\n if (!text) {\r\n if (optional) {\r\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\r\n if (segment.length < 2) {\r\n // remove the last slash as we could be at the end\r\n if (path.endsWith('/'))\r\n path = path.slice(0, -1);\r\n // do not append a slash on the next iteration\r\n else\r\n avoidDuplicatedSlash = true;\r\n }\r\n }\r\n else\r\n throw new Error(`Missing required param \"${value}\"`);\r\n }\r\n path += text;\r\n }\r\n }\r\n }\r\n // avoid empty path when we have multiple optional params\r\n return path || '/';\r\n }\r\n return {\r\n re,\r\n score,\r\n keys,\r\n parse,\r\n stringify,\r\n };\r\n}\r\n/**\r\n * Compares an array of numbers as used in PathParser.score and returns a\r\n * number. This function can be used to `sort` an array\r\n *\r\n * @param a - first array of numbers\r\n * @param b - second array of numbers\r\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\r\n * should be sorted first\r\n */\r\nfunction compareScoreArray(a, b) {\r\n let i = 0;\r\n while (i < a.length && i < b.length) {\r\n const diff = b[i] - a[i];\r\n // only keep going if diff === 0\r\n if (diff)\r\n return diff;\r\n i++;\r\n }\r\n // if the last subsegment was Static, the shorter segments should be sorted first\r\n // otherwise sort the longest segment first\r\n if (a.length < b.length) {\r\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\r\n ? -1\r\n : 1;\r\n }\r\n else if (a.length > b.length) {\r\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\r\n ? 1\r\n : -1;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * Compare function that can be used with `sort` to sort an array of PathParser\r\n *\r\n * @param a - first PathParser\r\n * @param b - second PathParser\r\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\r\n */\r\nfunction comparePathParserScore(a, b) {\r\n let i = 0;\r\n const aScore = a.score;\r\n const bScore = b.score;\r\n while (i < aScore.length && i < bScore.length) {\r\n const comp = compareScoreArray(aScore[i], bScore[i]);\r\n // do not return if both are equal\r\n if (comp)\r\n return comp;\r\n i++;\r\n }\r\n if (Math.abs(bScore.length - aScore.length) === 1) {\r\n if (isLastScoreNegative(aScore))\r\n return 1;\r\n if (isLastScoreNegative(bScore))\r\n return -1;\r\n }\r\n // if a and b share the same score entries but b has more, sort b first\r\n return bScore.length - aScore.length;\r\n // this is the ternary version\r\n // return aScore.length < bScore.length\r\n // ? 1\r\n // : aScore.length > bScore.length\r\n // ? -1\r\n // : 0\r\n}\r\n/**\r\n * This allows detecting splats at the end of a path: /home/:id(.*)*\r\n *\r\n * @param score - score to check\r\n * @returns true if the last entry is negative\r\n */\r\nfunction isLastScoreNegative(score) {\r\n const last = score[score.length - 1];\r\n return score.length > 0 && last[last.length - 1] < 0;\r\n}\n\nconst ROOT_TOKEN = {\r\n type: 0 /* TokenType.Static */,\r\n value: '',\r\n};\r\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\r\n// After some profiling, the cache seems to be unnecessary because tokenizePath\r\n// (the slowest part of adding a route) is very fast\r\n// const tokenCache = new Map()\r\nfunction tokenizePath(path) {\r\n if (!path)\r\n return [[]];\r\n if (path === '/')\r\n return [[ROOT_TOKEN]];\r\n if (!path.startsWith('/')) {\r\n throw new Error((process.env.NODE_ENV !== 'production')\r\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\r\n : `Invalid path \"${path}\"`);\r\n }\r\n // if (tokenCache.has(path)) return tokenCache.get(path)!\r\n function crash(message) {\r\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\r\n }\r\n let state = 0 /* TokenizerState.Static */;\r\n let previousState = state;\r\n const tokens = [];\r\n // the segment will always be valid because we get into the initial state\r\n // with the leading /\r\n let segment;\r\n function finalizeSegment() {\r\n if (segment)\r\n tokens.push(segment);\r\n segment = [];\r\n }\r\n // index on the path\r\n let i = 0;\r\n // char at index\r\n let char;\r\n // buffer of the value read\r\n let buffer = '';\r\n // custom regexp for a param\r\n let customRe = '';\r\n function consumeBuffer() {\r\n if (!buffer)\r\n return;\r\n if (state === 0 /* TokenizerState.Static */) {\r\n segment.push({\r\n type: 0 /* TokenType.Static */,\r\n value: buffer,\r\n });\r\n }\r\n else if (state === 1 /* TokenizerState.Param */ ||\r\n state === 2 /* TokenizerState.ParamRegExp */ ||\r\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\r\n if (segment.length > 1 && (char === '*' || char === '+'))\r\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\r\n segment.push({\r\n type: 1 /* TokenType.Param */,\r\n value: buffer,\r\n regexp: customRe,\r\n repeatable: char === '*' || char === '+',\r\n optional: char === '*' || char === '?',\r\n });\r\n }\r\n else {\r\n crash('Invalid state to consume buffer');\r\n }\r\n buffer = '';\r\n }\r\n function addCharToBuffer() {\r\n buffer += char;\r\n }\r\n while (i < path.length) {\r\n char = path[i++];\r\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\r\n previousState = state;\r\n state = 4 /* TokenizerState.EscapeNext */;\r\n continue;\r\n }\r\n switch (state) {\r\n case 0 /* TokenizerState.Static */:\r\n if (char === '/') {\r\n if (buffer) {\r\n consumeBuffer();\r\n }\r\n finalizeSegment();\r\n }\r\n else if (char === ':') {\r\n consumeBuffer();\r\n state = 1 /* TokenizerState.Param */;\r\n }\r\n else {\r\n addCharToBuffer();\r\n }\r\n break;\r\n case 4 /* TokenizerState.EscapeNext */:\r\n addCharToBuffer();\r\n state = previousState;\r\n break;\r\n case 1 /* TokenizerState.Param */:\r\n if (char === '(') {\r\n state = 2 /* TokenizerState.ParamRegExp */;\r\n }\r\n else if (VALID_PARAM_RE.test(char)) {\r\n addCharToBuffer();\r\n }\r\n else {\r\n consumeBuffer();\r\n state = 0 /* TokenizerState.Static */;\r\n // go back one character if we were not modifying\r\n if (char !== '*' && char !== '?' && char !== '+')\r\n i--;\r\n }\r\n break;\r\n case 2 /* TokenizerState.ParamRegExp */:\r\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\r\n // it already works by escaping the closing )\r\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\r\n // is this really something people need since you can also write\r\n // /prefix_:p()_suffix\r\n if (char === ')') {\r\n // handle the escaped )\r\n if (customRe[customRe.length - 1] == '\\\\')\r\n customRe = customRe.slice(0, -1) + char;\r\n else\r\n state = 3 /* TokenizerState.ParamRegExpEnd */;\r\n }\r\n else {\r\n customRe += char;\r\n }\r\n break;\r\n case 3 /* TokenizerState.ParamRegExpEnd */:\r\n // same as finalizing a param\r\n consumeBuffer();\r\n state = 0 /* TokenizerState.Static */;\r\n // go back one character if we were not modifying\r\n if (char !== '*' && char !== '?' && char !== '+')\r\n i--;\r\n customRe = '';\r\n break;\r\n default:\r\n crash('Unknown state');\r\n break;\r\n }\r\n }\r\n if (state === 2 /* TokenizerState.ParamRegExp */)\r\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\r\n consumeBuffer();\r\n finalizeSegment();\r\n // tokenCache.set(path, tokens)\r\n return tokens;\r\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\r\n const parser = tokensToParser(tokenizePath(record.path), options);\r\n // warn against params with the same name\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const existingKeys = new Set();\r\n for (const key of parser.keys) {\r\n if (existingKeys.has(key.name))\r\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\r\n existingKeys.add(key.name);\r\n }\r\n }\r\n const matcher = assign(parser, {\r\n record,\r\n parent,\r\n // these needs to be populated by the parent\r\n children: [],\r\n alias: [],\r\n });\r\n if (parent) {\r\n // both are aliases or both are not aliases\r\n // we don't want to mix them because the order is used when\r\n // passing originalRecord in Matcher.addRoute\r\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\r\n parent.children.push(matcher);\r\n }\r\n return matcher;\r\n}\n\n/**\r\n * Creates a Router Matcher.\r\n *\r\n * @internal\r\n * @param routes - array of initial routes\r\n * @param globalOptions - global route options\r\n */\r\nfunction createRouterMatcher(routes, globalOptions) {\r\n // normalized ordered array of matchers\r\n const matchers = [];\r\n const matcherMap = new Map();\r\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\r\n function getRecordMatcher(name) {\r\n return matcherMap.get(name);\r\n }\r\n function addRoute(record, parent, originalRecord) {\r\n // used later on to remove by name\r\n const isRootAdd = !originalRecord;\r\n const mainNormalizedRecord = normalizeRouteRecord(record);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\r\n }\r\n // we might be the child of an alias\r\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\r\n const options = mergeOptions(globalOptions, record);\r\n // generate an array of records to correctly handle aliases\r\n const normalizedRecords = [\r\n mainNormalizedRecord,\r\n ];\r\n if ('alias' in record) {\r\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\r\n for (const alias of aliases) {\r\n normalizedRecords.push(assign({}, mainNormalizedRecord, {\r\n // this allows us to hold a copy of the `components` option\r\n // so that async components cache is hold on the original record\r\n components: originalRecord\r\n ? originalRecord.record.components\r\n : mainNormalizedRecord.components,\r\n path: alias,\r\n // we might be the child of an alias\r\n aliasOf: originalRecord\r\n ? originalRecord.record\r\n : mainNormalizedRecord,\r\n // the aliases are always of the same kind as the original since they\r\n // are defined on the same record\r\n }));\r\n }\r\n }\r\n let matcher;\r\n let originalMatcher;\r\n for (const normalizedRecord of normalizedRecords) {\r\n const { path } = normalizedRecord;\r\n // Build up the path for nested routes if the child isn't an absolute\r\n // route. Only add the / delimiter if the child path isn't empty and if the\r\n // parent path doesn't have a trailing slash\r\n if (parent && path[0] !== '/') {\r\n const parentPath = parent.record.path;\r\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\r\n normalizedRecord.path =\r\n parent.record.path + (path && connectingSlash + path);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\r\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\r\n 'See more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.');\r\n }\r\n // create the object beforehand, so it can be passed to children\r\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\r\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\r\n checkMissingParamsInAbsolutePath(matcher, parent);\r\n // if we are an alias we must tell the original record that we exist,\r\n // so we can be removed\r\n if (originalRecord) {\r\n originalRecord.alias.push(matcher);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkSameParams(originalRecord, matcher);\r\n }\r\n }\r\n else {\r\n // otherwise, the first record is the original and others are aliases\r\n originalMatcher = originalMatcher || matcher;\r\n if (originalMatcher !== matcher)\r\n originalMatcher.alias.push(matcher);\r\n // remove the route if named and only for the top record (avoid in nested calls)\r\n // this works because the original record is the first one\r\n if (isRootAdd && record.name && !isAliasRecord(matcher))\r\n removeRoute(record.name);\r\n }\r\n if (mainNormalizedRecord.children) {\r\n const children = mainNormalizedRecord.children;\r\n for (let i = 0; i < children.length; i++) {\r\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\r\n }\r\n }\r\n // if there was no original record, then the first one was not an alias and all\r\n // other aliases (if any) need to reference this record when adding children\r\n originalRecord = originalRecord || matcher;\r\n // TODO: add normalized records for more flexibility\r\n // if (parent && isAliasRecord(originalRecord)) {\r\n // parent.children.push(originalRecord)\r\n // }\r\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\r\n // not be reached and pass through the catch all route\r\n if ((matcher.record.components &&\r\n Object.keys(matcher.record.components).length) ||\r\n matcher.record.name ||\r\n matcher.record.redirect) {\r\n insertMatcher(matcher);\r\n }\r\n }\r\n return originalMatcher\r\n ? () => {\r\n // since other matchers are aliases, they should be removed by the original matcher\r\n removeRoute(originalMatcher);\r\n }\r\n : noop;\r\n }\r\n function removeRoute(matcherRef) {\r\n if (isRouteName(matcherRef)) {\r\n const matcher = matcherMap.get(matcherRef);\r\n if (matcher) {\r\n matcherMap.delete(matcherRef);\r\n matchers.splice(matchers.indexOf(matcher), 1);\r\n matcher.children.forEach(removeRoute);\r\n matcher.alias.forEach(removeRoute);\r\n }\r\n }\r\n else {\r\n const index = matchers.indexOf(matcherRef);\r\n if (index > -1) {\r\n matchers.splice(index, 1);\r\n if (matcherRef.record.name)\r\n matcherMap.delete(matcherRef.record.name);\r\n matcherRef.children.forEach(removeRoute);\r\n matcherRef.alias.forEach(removeRoute);\r\n }\r\n }\r\n }\r\n function getRoutes() {\r\n return matchers;\r\n }\r\n function insertMatcher(matcher) {\r\n let i = 0;\r\n while (i < matchers.length &&\r\n comparePathParserScore(matcher, matchers[i]) >= 0 &&\r\n // Adding children with empty path should still appear before the parent\r\n // https://github.com/vuejs/router/issues/1124\r\n (matcher.record.path !== matchers[i].record.path ||\r\n !isRecordChildOf(matcher, matchers[i])))\r\n i++;\r\n matchers.splice(i, 0, matcher);\r\n // only add the original record to the name map\r\n if (matcher.record.name && !isAliasRecord(matcher))\r\n matcherMap.set(matcher.record.name, matcher);\r\n }\r\n function resolve(location, currentLocation) {\r\n let matcher;\r\n let params = {};\r\n let path;\r\n let name;\r\n if ('name' in location && location.name) {\r\n matcher = matcherMap.get(location.name);\r\n if (!matcher)\r\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\r\n location,\r\n });\r\n // warn if the user is passing invalid params so they can debug it better when they get removed\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\r\n if (invalidParams.length) {\r\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\r\n }\r\n }\r\n name = matcher.record.name;\r\n params = assign(\r\n // paramsFromLocation is a new object\r\n paramsFromLocation(currentLocation.params, \r\n // only keep params that exist in the resolved location\r\n // TODO: only keep optional params coming from a parent record\r\n matcher.keys.filter(k => !k.optional).map(k => k.name)), \r\n // discard any existing params in the current location that do not exist here\r\n // #1497 this ensures better active/exact matching\r\n location.params &&\r\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\r\n // throws if cannot be stringified\r\n path = matcher.stringify(params);\r\n }\r\n else if ('path' in location) {\r\n // no need to resolve the path with the matcher as it was provided\r\n // this also allows the user to control the encoding\r\n path = location.path;\r\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\r\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/router.`);\r\n }\r\n matcher = matchers.find(m => m.re.test(path));\r\n // matcher should have a value after the loop\r\n if (matcher) {\r\n // we know the matcher works because we tested the regexp\r\n params = matcher.parse(path);\r\n name = matcher.record.name;\r\n }\r\n // location is a relative path\r\n }\r\n else {\r\n // match by name or path of current route\r\n matcher = currentLocation.name\r\n ? matcherMap.get(currentLocation.name)\r\n : matchers.find(m => m.re.test(currentLocation.path));\r\n if (!matcher)\r\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\r\n location,\r\n currentLocation,\r\n });\r\n name = matcher.record.name;\r\n // since we are navigating to the same location, we don't need to pick the\r\n // params like when `name` is provided\r\n params = assign({}, currentLocation.params, location.params);\r\n path = matcher.stringify(params);\r\n }\r\n const matched = [];\r\n let parentMatcher = matcher;\r\n while (parentMatcher) {\r\n // reversed order so parents are at the beginning\r\n matched.unshift(parentMatcher.record);\r\n parentMatcher = parentMatcher.parent;\r\n }\r\n return {\r\n name,\r\n path,\r\n params,\r\n matched,\r\n meta: mergeMetaFields(matched),\r\n };\r\n }\r\n // add initial routes\r\n routes.forEach(route => addRoute(route));\r\n return { addRoute, resolve, removeRoute, getRoutes, getRecordMatcher };\r\n}\r\nfunction paramsFromLocation(params, keys) {\r\n const newParams = {};\r\n for (const key of keys) {\r\n if (key in params)\r\n newParams[key] = params[key];\r\n }\r\n return newParams;\r\n}\r\n/**\r\n * Normalizes a RouteRecordRaw. Creates a copy\r\n *\r\n * @param record\r\n * @returns the normalized version\r\n */\r\nfunction normalizeRouteRecord(record) {\r\n return {\r\n path: record.path,\r\n redirect: record.redirect,\r\n name: record.name,\r\n meta: record.meta || {},\r\n aliasOf: undefined,\r\n beforeEnter: record.beforeEnter,\r\n props: normalizeRecordProps(record),\r\n children: record.children || [],\r\n instances: {},\r\n leaveGuards: new Set(),\r\n updateGuards: new Set(),\r\n enterCallbacks: {},\r\n components: 'components' in record\r\n ? record.components || null\r\n : record.component && { default: record.component },\r\n };\r\n}\r\n/**\r\n * Normalize the optional `props` in a record to always be an object similar to\r\n * components. Also accept a boolean for components.\r\n * @param record\r\n */\r\nfunction normalizeRecordProps(record) {\r\n const propsObject = {};\r\n // props does not exist on redirect records, but we can set false directly\r\n const props = record.props || false;\r\n if ('component' in record) {\r\n propsObject.default = props;\r\n }\r\n else {\r\n // NOTE: we could also allow a function to be applied to every component.\r\n // Would need user feedback for use cases\r\n for (const name in record.components)\r\n propsObject[name] = typeof props === 'boolean' ? props : props[name];\r\n }\r\n return propsObject;\r\n}\r\n/**\r\n * Checks if a record or any of its parent is an alias\r\n * @param record\r\n */\r\nfunction isAliasRecord(record) {\r\n while (record) {\r\n if (record.record.aliasOf)\r\n return true;\r\n record = record.parent;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Merge meta fields of an array of records\r\n *\r\n * @param matched - array of matched records\r\n */\r\nfunction mergeMetaFields(matched) {\r\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\r\n}\r\nfunction mergeOptions(defaults, partialOptions) {\r\n const options = {};\r\n for (const key in defaults) {\r\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\r\n }\r\n return options;\r\n}\r\nfunction isSameParam(a, b) {\r\n return (a.name === b.name &&\r\n a.optional === b.optional &&\r\n a.repeatable === b.repeatable);\r\n}\r\n/**\r\n * Check if a path and its alias have the same required params\r\n *\r\n * @param a - original record\r\n * @param b - alias record\r\n */\r\nfunction checkSameParams(a, b) {\r\n for (const key of a.keys) {\r\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\r\n }\r\n for (const key of b.keys) {\r\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\r\n }\r\n}\r\n/**\r\n * A route with a name and a child with an empty path without a name should warn when adding the route\r\n *\r\n * @param mainNormalizedRecord - RouteRecordNormalized\r\n * @param parent - RouteRecordMatcher\r\n */\r\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\r\n if (parent &&\r\n parent.record.name &&\r\n !mainNormalizedRecord.name &&\r\n !mainNormalizedRecord.path) {\r\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\r\n }\r\n}\r\nfunction checkMissingParamsInAbsolutePath(record, parent) {\r\n for (const key of parent.keys) {\r\n if (!record.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\r\n }\r\n}\r\nfunction isRecordChildOf(record, parent) {\r\n return parent.children.some(child => child === record || isRecordChildOf(record, child));\r\n}\n\n/**\r\n * Encoding Rules ␣ = Space Path: ␣ \" < > # ? { } Query: ␣ \" < > # & = Hash: ␣ \"\r\n * < > `\r\n *\r\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\r\n * defines some extra characters to be encoded. Most browsers do not encode them\r\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\r\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\r\n * plus `-._~`. This extra safety should be applied to query by patching the\r\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\r\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\r\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\r\n * encoded everywhere because some browsers like FF encode it when directly\r\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\r\n */\r\n// const EXTRA_RESERVED_RE = /[!'()*]/g\r\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\r\nconst HASH_RE = /#/g; // %23\r\nconst AMPERSAND_RE = /&/g; // %26\r\nconst SLASH_RE = /\\//g; // %2F\r\nconst EQUAL_RE = /=/g; // %3D\r\nconst IM_RE = /\\?/g; // %3F\r\nconst PLUS_RE = /\\+/g; // %2B\r\n/**\r\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\r\n * seems to be less flexible than not doing so and I can't find out the legacy\r\n * systems requiring this for regular requests like text/html. In the standard,\r\n * the encoding of the plus character is only mentioned for\r\n * application/x-www-form-urlencoded\r\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\r\n * leave the plus character as is in queries. To be more flexible, we allow the\r\n * plus character on the query, but it can also be manually encoded by the user.\r\n *\r\n * Resources:\r\n * - https://url.spec.whatwg.org/#urlencoded-parsing\r\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\r\n */\r\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\r\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\r\nconst ENC_CARET_RE = /%5E/g; // ^\r\nconst ENC_BACKTICK_RE = /%60/g; // `\r\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\r\nconst ENC_PIPE_RE = /%7C/g; // |\r\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\r\nconst ENC_SPACE_RE = /%20/g; // }\r\n/**\r\n * Encode characters that need to be encoded on the path, search and hash\r\n * sections of the URL.\r\n *\r\n * @internal\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction commonEncode(text) {\r\n return encodeURI('' + text)\r\n .replace(ENC_PIPE_RE, '|')\r\n .replace(ENC_BRACKET_OPEN_RE, '[')\r\n .replace(ENC_BRACKET_CLOSE_RE, ']');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the hash section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeHash(text) {\r\n return commonEncode(text)\r\n .replace(ENC_CURLY_OPEN_RE, '{')\r\n .replace(ENC_CURLY_CLOSE_RE, '}')\r\n .replace(ENC_CARET_RE, '^');\r\n}\r\n/**\r\n * Encode characters that need to be encoded query values on the query\r\n * section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeQueryValue(text) {\r\n return (commonEncode(text)\r\n // Encode the space as +, encode the + to differentiate it from the space\r\n .replace(PLUS_RE, '%2B')\r\n .replace(ENC_SPACE_RE, '+')\r\n .replace(HASH_RE, '%23')\r\n .replace(AMPERSAND_RE, '%26')\r\n .replace(ENC_BACKTICK_RE, '`')\r\n .replace(ENC_CURLY_OPEN_RE, '{')\r\n .replace(ENC_CURLY_CLOSE_RE, '}')\r\n .replace(ENC_CARET_RE, '^'));\r\n}\r\n/**\r\n * Like `encodeQueryValue` but also encodes the `=` character.\r\n *\r\n * @param text - string to encode\r\n */\r\nfunction encodeQueryKey(text) {\r\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the path section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodePath(text) {\r\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the path section of the URL as a\r\n * param. This function encodes everything {@link encodePath} does plus the\r\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\r\n * string instead.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeParam(text) {\r\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\r\n}\r\n/**\r\n * Decode text using `decodeURIComponent`. Returns the original text if it\r\n * fails.\r\n *\r\n * @param text - string to decode\r\n * @returns decoded string\r\n */\r\nfunction decode(text) {\r\n try {\r\n return decodeURIComponent('' + text);\r\n }\r\n catch (err) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\r\n }\r\n return '' + text;\r\n}\n\n/**\r\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\r\n * version with the leading `?` and without Should work as URLSearchParams\r\n\n * @internal\r\n *\r\n * @param search - search string to parse\r\n * @returns a query object\r\n */\r\nfunction parseQuery(search) {\r\n const query = {};\r\n // avoid creating an object with an empty key and empty value\r\n // because of split('&')\r\n if (search === '' || search === '?')\r\n return query;\r\n const hasLeadingIM = search[0] === '?';\r\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\r\n for (let i = 0; i < searchParams.length; ++i) {\r\n // pre decode the + into space\r\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\r\n // allow the = character\r\n const eqPos = searchParam.indexOf('=');\r\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\r\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\r\n if (key in query) {\r\n // an extra variable for ts types\r\n let currentValue = query[key];\r\n if (!isArray(currentValue)) {\r\n currentValue = query[key] = [currentValue];\r\n }\r\n currentValue.push(value);\r\n }\r\n else {\r\n query[key] = value;\r\n }\r\n }\r\n return query;\r\n}\r\n/**\r\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\r\n * doesn't prepend a `?`\r\n *\r\n * @internal\r\n *\r\n * @param query - query object to stringify\r\n * @returns string version of the query without the leading `?`\r\n */\r\nfunction stringifyQuery(query) {\r\n let search = '';\r\n for (let key in query) {\r\n const value = query[key];\r\n key = encodeQueryKey(key);\r\n if (value == null) {\r\n // only null adds the value\r\n if (value !== undefined) {\r\n search += (search.length ? '&' : '') + key;\r\n }\r\n continue;\r\n }\r\n // keep null values\r\n const values = isArray(value)\r\n ? value.map(v => v && encodeQueryValue(v))\r\n : [value && encodeQueryValue(value)];\r\n values.forEach(value => {\r\n // skip undefined values in arrays as if they were not present\r\n // smaller code than using filter\r\n if (value !== undefined) {\r\n // only append & with non-empty search\r\n search += (search.length ? '&' : '') + key;\r\n if (value != null)\r\n search += '=' + value;\r\n }\r\n });\r\n }\r\n return search;\r\n}\r\n/**\r\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\r\n * numbers into strings, removing keys with an undefined value and replacing\r\n * undefined with null in arrays\r\n *\r\n * @param query - query object to normalize\r\n * @returns a normalized query object\r\n */\r\nfunction normalizeQuery(query) {\r\n const normalizedQuery = {};\r\n for (const key in query) {\r\n const value = query[key];\r\n if (value !== undefined) {\r\n normalizedQuery[key] = isArray(value)\r\n ? value.map(v => (v == null ? null : '' + v))\r\n : value == null\r\n ? value\r\n : '' + value;\r\n }\r\n }\r\n return normalizedQuery;\r\n}\n\n/**\r\n * RouteRecord being rendered by the closest ancestor Router View. Used for\r\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\r\n * Location Matched\r\n *\r\n * @internal\r\n */\r\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\r\n/**\r\n * Allows overriding the router view depth to control which component in\r\n * `matched` is rendered. rvd stands for Router View Depth\r\n *\r\n * @internal\r\n */\r\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\r\n/**\r\n * Allows overriding the router instance returned by `useRouter` in tests. r\r\n * stands for router\r\n *\r\n * @internal\r\n */\r\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\r\n/**\r\n * Allows overriding the current route returned by `useRoute` in tests. rl\r\n * stands for route location\r\n *\r\n * @internal\r\n */\r\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\r\n/**\r\n * Allows overriding the current route used by router-view. Internally this is\r\n * used when the `route` prop is passed.\r\n *\r\n * @internal\r\n */\r\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\r\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\r\n */\r\nfunction useCallbacks() {\r\n let handlers = [];\r\n function add(handler) {\r\n handlers.push(handler);\r\n return () => {\r\n const i = handlers.indexOf(handler);\r\n if (i > -1)\r\n handlers.splice(i, 1);\r\n };\r\n }\r\n function reset() {\r\n handlers = [];\r\n }\r\n return {\r\n add,\r\n list: () => handlers,\r\n reset,\r\n };\r\n}\n\nfunction registerGuard(record, name, guard) {\r\n const removeFromList = () => {\r\n record[name].delete(guard);\r\n };\r\n onUnmounted(removeFromList);\r\n onDeactivated(removeFromList);\r\n onActivated(() => {\r\n record[name].add(guard);\r\n });\r\n record[name].add(guard);\r\n}\r\n/**\r\n * Add a navigation guard that triggers whenever the component for the current\r\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\r\n * used in any component. The guard is removed when the component is unmounted.\r\n *\r\n * @param leaveGuard - {@link NavigationGuard}\r\n */\r\nfunction onBeforeRouteLeave(leaveGuard) {\r\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\r\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\r\n return;\r\n }\r\n const activeRecord = inject(matchedRouteKey, \r\n // to avoid warning\r\n {}).value;\r\n if (!activeRecord) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\r\n return;\r\n }\r\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\r\n}\r\n/**\r\n * Add a navigation guard that triggers whenever the current location is about\r\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\r\n * component. The guard is removed when the component is unmounted.\r\n *\r\n * @param updateGuard - {@link NavigationGuard}\r\n */\r\nfunction onBeforeRouteUpdate(updateGuard) {\r\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\r\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\r\n return;\r\n }\r\n const activeRecord = inject(matchedRouteKey, \r\n // to avoid warning\r\n {}).value;\r\n if (!activeRecord) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\r\n return;\r\n }\r\n registerGuard(activeRecord, 'updateGuards', updateGuard);\r\n}\r\nfunction guardToPromiseFn(guard, to, from, record, name) {\r\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\r\n const enterCallbackArray = record &&\r\n // name is defined if record is because of the function overload\r\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\r\n return () => new Promise((resolve, reject) => {\r\n const next = (valid) => {\r\n if (valid === false) {\r\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\r\n from,\r\n to,\r\n }));\r\n }\r\n else if (valid instanceof Error) {\r\n reject(valid);\r\n }\r\n else if (isRouteLocation(valid)) {\r\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\r\n from: to,\r\n to: valid,\r\n }));\r\n }\r\n else {\r\n if (enterCallbackArray &&\r\n // since enterCallbackArray is truthy, both record and name also are\r\n record.enterCallbacks[name] === enterCallbackArray &&\r\n typeof valid === 'function') {\r\n enterCallbackArray.push(valid);\r\n }\r\n resolve();\r\n }\r\n };\r\n // wrapping with Promise.resolve allows it to work with both async and sync guards\r\n const guardReturn = guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next);\r\n let guardCall = Promise.resolve(guardReturn);\r\n if (guard.length < 3)\r\n guardCall = guardCall.then(next);\r\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\r\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\r\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\r\n guardCall = guardCall.then(resolvedValue => {\r\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\r\n if (!next._called) {\r\n warn(message);\r\n return Promise.reject(new Error('Invalid navigation guard'));\r\n }\r\n return resolvedValue;\r\n });\r\n }\r\n else if (guardReturn !== undefined) {\r\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\r\n if (!next._called) {\r\n warn(message);\r\n reject(new Error('Invalid navigation guard'));\r\n return;\r\n }\r\n }\r\n }\r\n guardCall.catch(err => reject(err));\r\n });\r\n}\r\nfunction canOnlyBeCalledOnce(next, to, from) {\r\n let called = 0;\r\n return function () {\r\n if (called++ === 1)\r\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\r\n // @ts-expect-error: we put it in the original one because it's easier to check\r\n next._called = true;\r\n if (called === 1)\r\n next.apply(null, arguments);\r\n };\r\n}\r\nfunction extractComponentsGuards(matched, guardType, to, from) {\r\n const guards = [];\r\n for (const record of matched) {\r\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\r\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\r\n ` or \"children\" property.`);\r\n }\r\n for (const name in record.components) {\r\n let rawComponent = record.components[name];\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!rawComponent ||\r\n (typeof rawComponent !== 'object' &&\r\n typeof rawComponent !== 'function')) {\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\r\n ` a valid component. Received \"${String(rawComponent)}\".`);\r\n // throw to ensure we stop here but warn to ensure the message isn't\r\n // missed by the user\r\n throw new Error('Invalid route component');\r\n }\r\n else if ('then' in rawComponent) {\r\n // warn if user wrote import('/component.vue') instead of () =>\r\n // import('./component.vue')\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\r\n `Promise instead of a function that returns a Promise. Did you ` +\r\n `write \"import('./MyPage.vue')\" instead of ` +\r\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\r\n `production if not fixed.`);\r\n const promise = rawComponent;\r\n rawComponent = () => promise;\r\n }\r\n else if (rawComponent.__asyncLoader &&\r\n // warn only once per component\r\n !rawComponent.__warnedDefineAsync) {\r\n rawComponent.__warnedDefineAsync = true;\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\r\n `using \"defineAsyncComponent()\". ` +\r\n `Write \"() => import('./MyPage.vue')\" instead of ` +\r\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\r\n }\r\n }\r\n // skip update and leave guards if the route component is not mounted\r\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\r\n continue;\r\n if (isRouteComponent(rawComponent)) {\r\n // __vccOpts is added by vue-class-component and contain the regular options\r\n const options = rawComponent.__vccOpts || rawComponent;\r\n const guard = options[guardType];\r\n guard && guards.push(guardToPromiseFn(guard, to, from, record, name));\r\n }\r\n else {\r\n // start requesting the chunk already\r\n let componentPromise = rawComponent();\r\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\r\n componentPromise = Promise.resolve(componentPromise);\r\n }\r\n guards.push(() => componentPromise.then(resolved => {\r\n if (!resolved)\r\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`));\r\n const resolvedComponent = isESModule(resolved)\r\n ? resolved.default\r\n : resolved;\r\n // replace the function with the resolved component\r\n // cannot be null or undefined because we went into the for loop\r\n record.components[name] = resolvedComponent;\r\n // __vccOpts is added by vue-class-component and contain the regular options\r\n const options = resolvedComponent.__vccOpts || resolvedComponent;\r\n const guard = options[guardType];\r\n return guard && guardToPromiseFn(guard, to, from, record, name)();\r\n }));\r\n }\r\n }\r\n }\r\n return guards;\r\n}\r\n/**\r\n * Allows differentiating lazy components from functional components and vue-class-component\r\n * @internal\r\n *\r\n * @param component\r\n */\r\nfunction isRouteComponent(component) {\r\n return (typeof component === 'object' ||\r\n 'displayName' in component ||\r\n 'props' in component ||\r\n '__vccOpts' in component);\r\n}\r\n/**\r\n * Ensures a route is loaded, so it can be passed as o prop to ``.\r\n *\r\n * @param route - resolved route to load\r\n */\r\nfunction loadRouteLocation(route) {\r\n return route.matched.every(record => record.redirect)\r\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\r\n : Promise.all(route.matched.map(record => record.components &&\r\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\r\n const rawComponent = record.components[name];\r\n if (typeof rawComponent === 'function' &&\r\n !('displayName' in rawComponent)) {\r\n promises.push(rawComponent().then(resolved => {\r\n if (!resolved)\r\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\r\n const resolvedComponent = isESModule(resolved)\r\n ? resolved.default\r\n : resolved;\r\n // replace the function with the resolved component\r\n // cannot be null or undefined because we went into the for loop\r\n record.components[name] = resolvedComponent;\r\n return;\r\n }));\r\n }\r\n return promises;\r\n }, [])))).then(() => route);\r\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\r\n// `isExactActive` behavior should go through an RFC\r\nfunction useLink(props) {\r\n const router = inject(routerKey);\r\n const currentRoute = inject(routeLocationKey);\r\n const route = computed(() => router.resolve(unref(props.to)));\r\n const activeRecordIndex = computed(() => {\r\n const { matched } = route.value;\r\n const { length } = matched;\r\n const routeMatched = matched[length - 1];\r\n const currentMatched = currentRoute.matched;\r\n if (!routeMatched || !currentMatched.length)\r\n return -1;\r\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\r\n if (index > -1)\r\n return index;\r\n // possible parent record\r\n const parentRecordPath = getOriginalPath(matched[length - 2]);\r\n return (\r\n // we are dealing with nested routes\r\n length > 1 &&\r\n // if the parent and matched route have the same path, this link is\r\n // referring to the empty child. Or we currently are on a different\r\n // child of the same parent\r\n getOriginalPath(routeMatched) === parentRecordPath &&\r\n // avoid comparing the child with its parent\r\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\r\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\r\n : index);\r\n });\r\n const isActive = computed(() => activeRecordIndex.value > -1 &&\r\n includesParams(currentRoute.params, route.value.params));\r\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\r\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\r\n isSameRouteLocationParams(currentRoute.params, route.value.params));\r\n function navigate(e = {}) {\r\n if (guardEvent(e)) {\r\n return router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\r\n // avoid uncaught errors are they are logged anyway\r\n ).catch(noop);\r\n }\r\n return Promise.resolve();\r\n }\r\n // devtools only\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\r\n const instance = getCurrentInstance();\r\n if (instance) {\r\n const linkContextDevtools = {\r\n route: route.value,\r\n isActive: isActive.value,\r\n isExactActive: isExactActive.value,\r\n };\r\n // @ts-expect-error: this is internal\r\n instance.__vrl_devtools = instance.__vrl_devtools || [];\r\n // @ts-expect-error: this is internal\r\n instance.__vrl_devtools.push(linkContextDevtools);\r\n watchEffect(() => {\r\n linkContextDevtools.route = route.value;\r\n linkContextDevtools.isActive = isActive.value;\r\n linkContextDevtools.isExactActive = isExactActive.value;\r\n }, { flush: 'post' });\r\n }\r\n }\r\n /**\r\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\r\n */\r\n return {\r\n route,\r\n href: computed(() => route.value.href),\r\n isActive,\r\n isExactActive,\r\n navigate,\r\n };\r\n}\r\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\r\n name: 'RouterLink',\r\n compatConfig: { MODE: 3 },\r\n props: {\r\n to: {\r\n type: [String, Object],\r\n required: true,\r\n },\r\n replace: Boolean,\r\n activeClass: String,\r\n // inactiveClass: String,\r\n exactActiveClass: String,\r\n custom: Boolean,\r\n ariaCurrentValue: {\r\n type: String,\r\n default: 'page',\r\n },\r\n },\r\n useLink,\r\n setup(props, { slots }) {\r\n const link = reactive(useLink(props));\r\n const { options } = inject(routerKey);\r\n const elClass = computed(() => ({\r\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\r\n // [getLinkClass(\r\n // props.inactiveClass,\r\n // options.linkInactiveClass,\r\n // 'router-link-inactive'\r\n // )]: !link.isExactActive,\r\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\r\n }));\r\n return () => {\r\n const children = slots.default && slots.default(link);\r\n return props.custom\r\n ? children\r\n : h('a', {\r\n 'aria-current': link.isExactActive\r\n ? props.ariaCurrentValue\r\n : null,\r\n href: link.href,\r\n // this would override user added attrs but Vue will still add\r\n // the listener, so we end up triggering both\r\n onClick: link.navigate,\r\n class: elClass.value,\r\n }, children);\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\n/**\r\n * Component to render a link that triggers a navigation on click.\r\n */\r\nconst RouterLink = RouterLinkImpl;\r\nfunction guardEvent(e) {\r\n // don't redirect with control keys\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\r\n return;\r\n // don't redirect when preventDefault called\r\n if (e.defaultPrevented)\r\n return;\r\n // don't redirect on right click\r\n if (e.button !== undefined && e.button !== 0)\r\n return;\r\n // don't redirect if `target=\"_blank\"`\r\n // @ts-expect-error getAttribute does exist\r\n if (e.currentTarget && e.currentTarget.getAttribute) {\r\n // @ts-expect-error getAttribute exists\r\n const target = e.currentTarget.getAttribute('target');\r\n if (/\\b_blank\\b/i.test(target))\r\n return;\r\n }\r\n // this may be a Weex event which doesn't have this method\r\n if (e.preventDefault)\r\n e.preventDefault();\r\n return true;\r\n}\r\nfunction includesParams(outer, inner) {\r\n for (const key in inner) {\r\n const innerValue = inner[key];\r\n const outerValue = outer[key];\r\n if (typeof innerValue === 'string') {\r\n if (innerValue !== outerValue)\r\n return false;\r\n }\r\n else {\r\n if (!isArray(outerValue) ||\r\n outerValue.length !== innerValue.length ||\r\n innerValue.some((value, i) => value !== outerValue[i]))\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Get the original path value of a record by following its aliasOf\r\n * @param record\r\n */\r\nfunction getOriginalPath(record) {\r\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\r\n}\r\n/**\r\n * Utility class to get the active class based on defaults.\r\n * @param propClass\r\n * @param globalClass\r\n * @param defaultClass\r\n */\r\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\r\n ? propClass\r\n : globalClass != null\r\n ? globalClass\r\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\r\n name: 'RouterView',\r\n // #674 we manually inherit them\r\n inheritAttrs: false,\r\n props: {\r\n name: {\r\n type: String,\r\n default: 'default',\r\n },\r\n route: Object,\r\n },\r\n // Better compat for @vue/compat users\r\n // https://github.com/vuejs/router/issues/1315\r\n compatConfig: { MODE: 3 },\r\n setup(props, { attrs, slots }) {\r\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\r\n const injectedRoute = inject(routerViewLocationKey);\r\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\r\n const injectedDepth = inject(viewDepthKey, 0);\r\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\r\n // that are used to reuse the `path` property\r\n const depth = computed(() => {\r\n let initialDepth = unref(injectedDepth);\r\n const { matched } = routeToDisplay.value;\r\n let matchedRoute;\r\n while ((matchedRoute = matched[initialDepth]) &&\r\n !matchedRoute.components) {\r\n initialDepth++;\r\n }\r\n return initialDepth;\r\n });\r\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\r\n provide(viewDepthKey, computed(() => depth.value + 1));\r\n provide(matchedRouteKey, matchedRouteRef);\r\n provide(routerViewLocationKey, routeToDisplay);\r\n const viewRef = ref();\r\n // watch at the same time the component instance, the route record we are\r\n // rendering, and the name\r\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\r\n // copy reused instances\r\n if (to) {\r\n // this will update the instance for new instances as well as reused\r\n // instances when navigating to a new route\r\n to.instances[name] = instance;\r\n // the component instance is reused for a different route or name, so\r\n // we copy any saved update or leave guards. With async setup, the\r\n // mounting component will mount before the matchedRoute changes,\r\n // making instance === oldInstance, so we check if guards have been\r\n // added before. This works because we remove guards when\r\n // unmounting/deactivating components\r\n if (from && from !== to && instance && instance === oldInstance) {\r\n if (!to.leaveGuards.size) {\r\n to.leaveGuards = from.leaveGuards;\r\n }\r\n if (!to.updateGuards.size) {\r\n to.updateGuards = from.updateGuards;\r\n }\r\n }\r\n }\r\n // trigger beforeRouteEnter next callbacks\r\n if (instance &&\r\n to &&\r\n // if there is no instance but to and from are the same this might be\r\n // the first visit\r\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\r\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\r\n }\r\n }, { flush: 'post' });\r\n return () => {\r\n const route = routeToDisplay.value;\r\n // we need the value at the time we render because when we unmount, we\r\n // navigated to a different location so the value is different\r\n const currentName = props.name;\r\n const matchedRoute = matchedRouteRef.value;\r\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\r\n if (!ViewComponent) {\r\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\r\n }\r\n // props from route configuration\r\n const routePropsOption = matchedRoute.props[currentName];\r\n const routeProps = routePropsOption\r\n ? routePropsOption === true\r\n ? route.params\r\n : typeof routePropsOption === 'function'\r\n ? routePropsOption(route)\r\n : routePropsOption\r\n : null;\r\n const onVnodeUnmounted = vnode => {\r\n // remove the instance reference to prevent leak\r\n if (vnode.component.isUnmounted) {\r\n matchedRoute.instances[currentName] = null;\r\n }\r\n };\r\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\r\n onVnodeUnmounted,\r\n ref: viewRef,\r\n }));\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n isBrowser &&\r\n component.ref) {\r\n // TODO: can display if it's an alias, its props\r\n const info = {\r\n depth: depth.value,\r\n name: matchedRoute.name,\r\n path: matchedRoute.path,\r\n meta: matchedRoute.meta,\r\n };\r\n const internalInstances = isArray(component.ref)\r\n ? component.ref.map(r => r.i)\r\n : [component.ref.i];\r\n internalInstances.forEach(instance => {\r\n // @ts-expect-error\r\n instance.__vrv_devtools = info;\r\n });\r\n }\r\n return (\r\n // pass the vnode to the slot as a prop.\r\n // h and both accept vnodes\r\n normalizeSlot(slots.default, { Component: component, route }) ||\r\n component);\r\n };\r\n },\r\n});\r\nfunction normalizeSlot(slot, data) {\r\n if (!slot)\r\n return null;\r\n const slotContent = slot(data);\r\n return slotContent.length === 1 ? slotContent[0] : slotContent;\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\n/**\r\n * Component to display the current route the user is at.\r\n */\r\nconst RouterView = RouterViewImpl;\r\n// warn against deprecated usage with & \r\n// due to functional component being no longer eager in Vue 3\r\nfunction warnDeprecatedUsage() {\r\n const instance = getCurrentInstance();\r\n const parentName = instance.parent && instance.parent.type.name;\r\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\r\n if (parentName &&\r\n (parentName === 'KeepAlive' || parentName.includes('Transition')) &&\r\n typeof parentSubTreeType === 'object' &&\r\n parentSubTreeType.name === 'RouterView') {\r\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\r\n warn(` can no longer be used directly inside or .\\n` +\r\n `Use slot props instead:\\n\\n` +\r\n `\\n` +\r\n ` <${comp}>\\n` +\r\n ` \\n` +\r\n ` \\n` +\r\n ``);\r\n }\r\n}\n\n/**\r\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\r\n *\r\n * @param routeLocation - routeLocation to format\r\n * @param tooltip - optional tooltip\r\n * @returns a copy of the routeLocation\r\n */\r\nfunction formatRouteLocation(routeLocation, tooltip) {\r\n const copy = assign({}, routeLocation, {\r\n // remove variables that can contain vue instances\r\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\r\n });\r\n return {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: routeLocation.fullPath,\r\n tooltip,\r\n value: copy,\r\n },\r\n };\r\n}\r\nfunction formatDisplay(display) {\r\n return {\r\n _custom: {\r\n display,\r\n },\r\n };\r\n}\r\n// to support multiple router instances\r\nlet routerId = 0;\r\nfunction addDevtools(app, router, matcher) {\r\n // Take over router.beforeEach and afterEach\r\n // make sure we are not registering the devtool twice\r\n if (router.__hasDevtools)\r\n return;\r\n router.__hasDevtools = true;\r\n // increment to support multiple router instances\r\n const id = routerId++;\r\n setupDevtoolsPlugin({\r\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\r\n label: 'Vue Router',\r\n packageName: 'vue-router',\r\n homepage: 'https://router.vuejs.org',\r\n logo: 'https://router.vuejs.org/logo.png',\r\n componentStateTypes: ['Routing'],\r\n app,\r\n }, api => {\r\n if (typeof api.now !== 'function') {\r\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\r\n }\r\n // display state added by the router\r\n api.on.inspectComponent((payload, ctx) => {\r\n if (payload.instanceData) {\r\n payload.instanceData.state.push({\r\n type: 'Routing',\r\n key: '$route',\r\n editable: false,\r\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\r\n });\r\n }\r\n });\r\n // mark router-link as active and display tags on router views\r\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\r\n if (componentInstance.__vrv_devtools) {\r\n const info = componentInstance.__vrv_devtools;\r\n node.tags.push({\r\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\r\n textColor: 0,\r\n tooltip: 'This component is rendered by <router-view>',\r\n backgroundColor: PINK_500,\r\n });\r\n }\r\n // if multiple useLink are used\r\n if (isArray(componentInstance.__vrl_devtools)) {\r\n componentInstance.__devtoolsApi = api;\r\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\r\n let backgroundColor = ORANGE_400;\r\n let tooltip = '';\r\n if (devtoolsData.isExactActive) {\r\n backgroundColor = LIME_500;\r\n tooltip = 'This is exactly active';\r\n }\r\n else if (devtoolsData.isActive) {\r\n backgroundColor = BLUE_600;\r\n tooltip = 'This link is active';\r\n }\r\n node.tags.push({\r\n label: devtoolsData.route.path,\r\n textColor: 0,\r\n tooltip,\r\n backgroundColor,\r\n });\r\n });\r\n }\r\n });\r\n watch(router.currentRoute, () => {\r\n // refresh active state\r\n refreshRoutesView();\r\n api.notifyComponentUpdate();\r\n api.sendInspectorTree(routerInspectorId);\r\n api.sendInspectorState(routerInspectorId);\r\n });\r\n const navigationsLayerId = 'router:navigations:' + id;\r\n api.addTimelineLayer({\r\n id: navigationsLayerId,\r\n label: `Router${id ? ' ' + id : ''} Navigations`,\r\n color: 0x40a8c4,\r\n });\r\n // const errorsLayerId = 'router:errors'\r\n // api.addTimelineLayer({\r\n // id: errorsLayerId,\r\n // label: 'Router Errors',\r\n // color: 0xea5455,\r\n // })\r\n router.onError((error, to) => {\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n title: 'Error during Navigation',\r\n subtitle: to.fullPath,\r\n logType: 'error',\r\n time: api.now(),\r\n data: { error },\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n // attached to `meta` and used to group events\r\n let navigationId = 0;\r\n router.beforeEach((to, from) => {\r\n const data = {\r\n guard: formatDisplay('beforeEach'),\r\n from: formatRouteLocation(from, 'Current Location during this navigation'),\r\n to: formatRouteLocation(to, 'Target location'),\r\n };\r\n // Used to group navigations together, hide from devtools\r\n Object.defineProperty(to.meta, '__navigationId', {\r\n value: navigationId++,\r\n });\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n time: api.now(),\r\n title: 'Start of navigation',\r\n subtitle: to.fullPath,\r\n data,\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n router.afterEach((to, from, failure) => {\r\n const data = {\r\n guard: formatDisplay('afterEach'),\r\n };\r\n if (failure) {\r\n data.failure = {\r\n _custom: {\r\n type: Error,\r\n readOnly: true,\r\n display: failure ? failure.message : '',\r\n tooltip: 'Navigation Failure',\r\n value: failure,\r\n },\r\n };\r\n data.status = formatDisplay('❌');\r\n }\r\n else {\r\n data.status = formatDisplay('✅');\r\n }\r\n // we set here to have the right order\r\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\r\n data.to = formatRouteLocation(to, 'Target location');\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n title: 'End of navigation',\r\n subtitle: to.fullPath,\r\n time: api.now(),\r\n data,\r\n logType: failure ? 'warning' : 'default',\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n /**\r\n * Inspector of Existing routes\r\n */\r\n const routerInspectorId = 'router-inspector:' + id;\r\n api.addInspector({\r\n id: routerInspectorId,\r\n label: 'Routes' + (id ? ' ' + id : ''),\r\n icon: 'book',\r\n treeFilterPlaceholder: 'Search routes',\r\n });\r\n function refreshRoutesView() {\r\n // the routes view isn't active\r\n if (!activeRoutesPayload)\r\n return;\r\n const payload = activeRoutesPayload;\r\n // children routes will appear as nested\r\n let routes = matcher.getRoutes().filter(route => !route.parent);\r\n // reset match state to false\r\n routes.forEach(resetMatchStateOnRouteRecord);\r\n // apply a match state if there is a payload\r\n if (payload.filter) {\r\n routes = routes.filter(route => \r\n // save matches state based on the payload\r\n isRouteMatching(route, payload.filter.toLowerCase()));\r\n }\r\n // mark active routes\r\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\r\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\r\n }\r\n let activeRoutesPayload;\r\n api.on.getInspectorTree(payload => {\r\n activeRoutesPayload = payload;\r\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\r\n refreshRoutesView();\r\n }\r\n });\r\n /**\r\n * Display information about the currently selected route record\r\n */\r\n api.on.getInspectorState(payload => {\r\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\r\n const routes = matcher.getRoutes();\r\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\r\n if (route) {\r\n payload.state = {\r\n options: formatRouteRecordMatcherForStateInspector(route),\r\n };\r\n }\r\n }\r\n });\r\n api.sendInspectorTree(routerInspectorId);\r\n api.sendInspectorState(routerInspectorId);\r\n });\r\n}\r\nfunction modifierForKey(key) {\r\n if (key.optional) {\r\n return key.repeatable ? '*' : '?';\r\n }\r\n else {\r\n return key.repeatable ? '+' : '';\r\n }\r\n}\r\nfunction formatRouteRecordMatcherForStateInspector(route) {\r\n const { record } = route;\r\n const fields = [\r\n { editable: false, key: 'path', value: record.path },\r\n ];\r\n if (record.name != null) {\r\n fields.push({\r\n editable: false,\r\n key: 'name',\r\n value: record.name,\r\n });\r\n }\r\n fields.push({ editable: false, key: 'regexp', value: route.re });\r\n if (route.keys.length) {\r\n fields.push({\r\n editable: false,\r\n key: 'keys',\r\n value: {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: route.keys\r\n .map(key => `${key.name}${modifierForKey(key)}`)\r\n .join(' '),\r\n tooltip: 'Param keys',\r\n value: route.keys,\r\n },\r\n },\r\n });\r\n }\r\n if (record.redirect != null) {\r\n fields.push({\r\n editable: false,\r\n key: 'redirect',\r\n value: record.redirect,\r\n });\r\n }\r\n if (route.alias.length) {\r\n fields.push({\r\n editable: false,\r\n key: 'aliases',\r\n value: route.alias.map(alias => alias.record.path),\r\n });\r\n }\r\n if (Object.keys(route.record.meta).length) {\r\n fields.push({\r\n editable: false,\r\n key: 'meta',\r\n value: route.record.meta,\r\n });\r\n }\r\n fields.push({\r\n key: 'score',\r\n editable: false,\r\n value: {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: route.score.map(score => score.join(', ')).join(' | '),\r\n tooltip: 'Score used to sort routes',\r\n value: route.score,\r\n },\r\n },\r\n });\r\n return fields;\r\n}\r\n/**\r\n * Extracted from tailwind palette\r\n */\r\nconst PINK_500 = 0xec4899;\r\nconst BLUE_600 = 0x2563eb;\r\nconst LIME_500 = 0x84cc16;\r\nconst CYAN_400 = 0x22d3ee;\r\nconst ORANGE_400 = 0xfb923c;\r\n// const GRAY_100 = 0xf4f4f5\r\nconst DARK = 0x666666;\r\nfunction formatRouteRecordForInspector(route) {\r\n const tags = [];\r\n const { record } = route;\r\n if (record.name != null) {\r\n tags.push({\r\n label: String(record.name),\r\n textColor: 0,\r\n backgroundColor: CYAN_400,\r\n });\r\n }\r\n if (record.aliasOf) {\r\n tags.push({\r\n label: 'alias',\r\n textColor: 0,\r\n backgroundColor: ORANGE_400,\r\n });\r\n }\r\n if (route.__vd_match) {\r\n tags.push({\r\n label: 'matches',\r\n textColor: 0,\r\n backgroundColor: PINK_500,\r\n });\r\n }\r\n if (route.__vd_exactActive) {\r\n tags.push({\r\n label: 'exact',\r\n textColor: 0,\r\n backgroundColor: LIME_500,\r\n });\r\n }\r\n if (route.__vd_active) {\r\n tags.push({\r\n label: 'active',\r\n textColor: 0,\r\n backgroundColor: BLUE_600,\r\n });\r\n }\r\n if (record.redirect) {\r\n tags.push({\r\n label: typeof record.redirect === 'string'\r\n ? `redirect: ${record.redirect}`\r\n : 'redirects',\r\n textColor: 0xffffff,\r\n backgroundColor: DARK,\r\n });\r\n }\r\n // add an id to be able to select it. Using the `path` is not possible because\r\n // empty path children would collide with their parents\r\n let id = record.__vd_id;\r\n if (id == null) {\r\n id = String(routeRecordId++);\r\n record.__vd_id = id;\r\n }\r\n return {\r\n id,\r\n label: record.path,\r\n tags,\r\n children: route.children.map(formatRouteRecordForInspector),\r\n };\r\n}\r\n// incremental id for route records and inspector state\r\nlet routeRecordId = 0;\r\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\r\nfunction markRouteRecordActive(route, currentRoute) {\r\n // no route will be active if matched is empty\r\n // reset the matching state\r\n const isExactActive = currentRoute.matched.length &&\r\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\r\n route.__vd_exactActive = route.__vd_active = isExactActive;\r\n if (!isExactActive) {\r\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\r\n }\r\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\r\n}\r\nfunction resetMatchStateOnRouteRecord(route) {\r\n route.__vd_match = false;\r\n route.children.forEach(resetMatchStateOnRouteRecord);\r\n}\r\nfunction isRouteMatching(route, filter) {\r\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\r\n route.__vd_match = false;\r\n if (!found || found.length < 3) {\r\n return false;\r\n }\r\n // use a regexp without $ at the end to match nested routes better\r\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\r\n if (nonEndingRE.test(filter)) {\r\n // mark children as matches\r\n route.children.forEach(child => isRouteMatching(child, filter));\r\n // exception case: `/`\r\n if (route.record.path !== '/' || filter === '/') {\r\n route.__vd_match = route.re.test(filter);\r\n return true;\r\n }\r\n // hide the / route\r\n return false;\r\n }\r\n const path = route.record.path.toLowerCase();\r\n const decodedPath = decode(path);\r\n // also allow partial matching on the path\r\n if (!filter.startsWith('/') &&\r\n (decodedPath.includes(filter) || path.includes(filter)))\r\n return true;\r\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\r\n return true;\r\n if (route.record.name && String(route.record.name).includes(filter))\r\n return true;\r\n return route.children.some(child => isRouteMatching(child, filter));\r\n}\r\nfunction omit(obj, keys) {\r\n const ret = {};\r\n for (const key in obj) {\r\n if (!keys.includes(key)) {\r\n // @ts-expect-error\r\n ret[key] = obj[key];\r\n }\r\n }\r\n return ret;\r\n}\n\n/**\r\n * Creates a Router instance that can be used by a Vue app.\r\n *\r\n * @param options - {@link RouterOptions}\r\n */\r\nfunction createRouter(options) {\r\n const matcher = createRouterMatcher(options.routes, options);\r\n const parseQuery$1 = options.parseQuery || parseQuery;\r\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\r\n const routerHistory = options.history;\r\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\r\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\r\n ' https://next.router.vuejs.org/api/#history.');\r\n const beforeGuards = useCallbacks();\r\n const beforeResolveGuards = useCallbacks();\r\n const afterGuards = useCallbacks();\r\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\r\n let pendingLocation = START_LOCATION_NORMALIZED;\r\n // leave the scrollRestoration if no scrollBehavior is provided\r\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\r\n history.scrollRestoration = 'manual';\r\n }\r\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\r\n const encodeParams = applyToParams.bind(null, encodeParam);\r\n const decodeParams = \r\n // @ts-expect-error: intentionally avoid the type check\r\n applyToParams.bind(null, decode);\r\n function addRoute(parentOrRoute, route) {\r\n let parent;\r\n let record;\r\n if (isRouteName(parentOrRoute)) {\r\n parent = matcher.getRecordMatcher(parentOrRoute);\r\n record = route;\r\n }\r\n else {\r\n record = parentOrRoute;\r\n }\r\n return matcher.addRoute(record, parent);\r\n }\r\n function removeRoute(name) {\r\n const recordMatcher = matcher.getRecordMatcher(name);\r\n if (recordMatcher) {\r\n matcher.removeRoute(recordMatcher);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\r\n }\r\n }\r\n function getRoutes() {\r\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\r\n }\r\n function hasRoute(name) {\r\n return !!matcher.getRecordMatcher(name);\r\n }\r\n function resolve(rawLocation, currentLocation) {\r\n // const objectLocation = routerLocationAsObject(rawLocation)\r\n // we create a copy to modify it later\r\n currentLocation = assign({}, currentLocation || currentRoute.value);\r\n if (typeof rawLocation === 'string') {\r\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\r\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\r\n const href = routerHistory.createHref(locationNormalized.fullPath);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (href.startsWith('//'))\r\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\r\n else if (!matchedRoute.matched.length) {\r\n warn(`No match found for location with path \"${rawLocation}\"`);\r\n }\r\n }\r\n // locationNormalized is always a new object\r\n return assign(locationNormalized, matchedRoute, {\r\n params: decodeParams(matchedRoute.params),\r\n hash: decode(locationNormalized.hash),\r\n redirectedFrom: undefined,\r\n href,\r\n });\r\n }\r\n let matcherLocation;\r\n // path could be relative in object as well\r\n if ('path' in rawLocation) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n 'params' in rawLocation &&\r\n !('name' in rawLocation) &&\r\n // @ts-expect-error: the type is never\r\n Object.keys(rawLocation.params).length) {\r\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\r\n }\r\n matcherLocation = assign({}, rawLocation, {\r\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\r\n });\r\n }\r\n else {\r\n // remove any nullish param\r\n const targetParams = assign({}, rawLocation.params);\r\n for (const key in targetParams) {\r\n if (targetParams[key] == null) {\r\n delete targetParams[key];\r\n }\r\n }\r\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\r\n matcherLocation = assign({}, rawLocation, {\r\n params: encodeParams(targetParams),\r\n });\r\n // current location params are decoded, we need to encode them in case the\r\n // matcher merges the params\r\n currentLocation.params = encodeParams(currentLocation.params);\r\n }\r\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\r\n const hash = rawLocation.hash || '';\r\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\r\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\r\n }\r\n // the matcher might have merged current location params, so\r\n // we need to run the decoding again\r\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\r\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\r\n hash: encodeHash(hash),\r\n path: matchedRoute.path,\r\n }));\r\n const href = routerHistory.createHref(fullPath);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (href.startsWith('//')) {\r\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\r\n }\r\n else if (!matchedRoute.matched.length) {\r\n warn(`No match found for location with path \"${'path' in rawLocation ? rawLocation.path : rawLocation}\"`);\r\n }\r\n }\r\n return assign({\r\n fullPath,\r\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\r\n // hash\r\n hash,\r\n query: \r\n // if the user is using a custom query lib like qs, we might have\r\n // nested objects, so we keep the query as is, meaning it can contain\r\n // numbers at `$route.query`, but at the point, the user will have to\r\n // use their own type anyway.\r\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\r\n stringifyQuery$1 === stringifyQuery\r\n ? normalizeQuery(rawLocation.query)\r\n : (rawLocation.query || {}),\r\n }, matchedRoute, {\r\n redirectedFrom: undefined,\r\n href,\r\n });\r\n }\r\n function locationAsObject(to) {\r\n return typeof to === 'string'\r\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\r\n : assign({}, to);\r\n }\r\n function checkCanceledNavigation(to, from) {\r\n if (pendingLocation !== to) {\r\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\r\n from,\r\n to,\r\n });\r\n }\r\n }\r\n function push(to) {\r\n return pushWithRedirect(to);\r\n }\r\n function replace(to) {\r\n return push(assign(locationAsObject(to), { replace: true }));\r\n }\r\n function handleRedirectRecord(to) {\r\n const lastMatched = to.matched[to.matched.length - 1];\r\n if (lastMatched && lastMatched.redirect) {\r\n const { redirect } = lastMatched;\r\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\r\n if (typeof newTargetLocation === 'string') {\r\n newTargetLocation =\r\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\r\n ? (newTargetLocation = locationAsObject(newTargetLocation))\r\n : // force empty params\r\n { path: newTargetLocation };\r\n // @ts-expect-error: force empty params when a string is passed to let\r\n // the router parse them again\r\n newTargetLocation.params = {};\r\n }\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n !('path' in newTargetLocation) &&\r\n !('name' in newTargetLocation)) {\r\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\r\n throw new Error('Invalid redirect');\r\n }\r\n return assign({\r\n query: to.query,\r\n hash: to.hash,\r\n // avoid transferring params if the redirect has a path\r\n params: 'path' in newTargetLocation ? {} : to.params,\r\n }, newTargetLocation);\r\n }\r\n }\r\n function pushWithRedirect(to, redirectedFrom) {\r\n const targetLocation = (pendingLocation = resolve(to));\r\n const from = currentRoute.value;\r\n const data = to.state;\r\n const force = to.force;\r\n // to could be a string where `replace` is a function\r\n const replace = to.replace === true;\r\n const shouldRedirect = handleRedirectRecord(targetLocation);\r\n if (shouldRedirect)\r\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\r\n state: typeof shouldRedirect === 'object'\r\n ? assign({}, data, shouldRedirect.state)\r\n : data,\r\n force,\r\n replace,\r\n }), \r\n // keep original redirectedFrom if it exists\r\n redirectedFrom || targetLocation);\r\n // if it was a redirect we already called `pushWithRedirect` above\r\n const toLocation = targetLocation;\r\n toLocation.redirectedFrom = redirectedFrom;\r\n let failure;\r\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\r\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\r\n // trigger scroll to allow scrolling to the same anchor\r\n handleScroll(from, from, \r\n // this is a push, the only way for it to be triggered from a\r\n // history.listen is with a redirect, which makes it become a push\r\n true, \r\n // This cannot be the first navigation because the initial location\r\n // cannot be manually navigated to\r\n false);\r\n }\r\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\r\n .catch((error) => isNavigationFailure(error)\r\n ? // navigation redirects still mark the router as ready\r\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\r\n ? error\r\n : markAsReady(error) // also returns the error\r\n : // reject any unknown error\r\n triggerError(error, toLocation, from))\r\n .then((failure) => {\r\n if (failure) {\r\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n // we are redirecting to the same location we were already at\r\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\r\n // and we have done it a couple of times\r\n redirectedFrom &&\r\n // @ts-expect-error: added only in dev\r\n (redirectedFrom._count = redirectedFrom._count\r\n ? // @ts-expect-error\r\n redirectedFrom._count + 1\r\n : 1) > 30) {\r\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\r\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\r\n }\r\n return pushWithRedirect(\r\n // keep options\r\n assign({\r\n // preserve an existing replacement but allow the redirect to override it\r\n replace,\r\n }, locationAsObject(failure.to), {\r\n state: typeof failure.to === 'object'\r\n ? assign({}, data, failure.to.state)\r\n : data,\r\n force,\r\n }), \r\n // preserve the original redirectedFrom if any\r\n redirectedFrom || toLocation);\r\n }\r\n }\r\n else {\r\n // if we fail we don't finalize the navigation\r\n failure = finalizeNavigation(toLocation, from, true, replace, data);\r\n }\r\n triggerAfterEach(toLocation, from, failure);\r\n return failure;\r\n });\r\n }\r\n /**\r\n * Helper to reject and skip all navigation guards if a new navigation happened\r\n * @param to\r\n * @param from\r\n */\r\n function checkCanceledNavigationAndReject(to, from) {\r\n const error = checkCanceledNavigation(to, from);\r\n return error ? Promise.reject(error) : Promise.resolve();\r\n }\r\n function runWithContext(fn) {\r\n const app = installedApps.values().next().value;\r\n // support Vue < 3.3\r\n return app && typeof app.runWithContext === 'function'\r\n ? app.runWithContext(fn)\r\n : fn();\r\n }\r\n // TODO: refactor the whole before guards by internally using router.beforeEach\r\n function navigate(to, from) {\r\n let guards;\r\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\r\n // all components here have been resolved once because we are leaving\r\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\r\n // leavingRecords is already reversed\r\n for (const record of leavingRecords) {\r\n record.leaveGuards.forEach(guard => {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n });\r\n }\r\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeRouteLeave guards\r\n return (runGuardQueue(guards)\r\n .then(() => {\r\n // check global guards beforeEach\r\n guards = [];\r\n for (const guard of beforeGuards.list()) {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n }\r\n guards.push(canceledNavigationCheck);\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check in components beforeRouteUpdate\r\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\r\n for (const record of updatingRecords) {\r\n record.updateGuards.forEach(guard => {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n });\r\n }\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check the route beforeEnter\r\n guards = [];\r\n for (const record of to.matched) {\r\n // do not trigger beforeEnter on reused views\r\n if (record.beforeEnter && !from.matched.includes(record)) {\r\n if (isArray(record.beforeEnter)) {\r\n for (const beforeEnter of record.beforeEnter)\r\n guards.push(guardToPromiseFn(beforeEnter, to, from));\r\n }\r\n else {\r\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\r\n }\r\n }\r\n }\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\r\n // clear existing enterCallbacks, these are added by extractComponentsGuards\r\n to.matched.forEach(record => (record.enterCallbacks = {}));\r\n // check in-component beforeRouteEnter\r\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from);\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check global guards beforeResolve\r\n guards = [];\r\n for (const guard of beforeResolveGuards.list()) {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n }\r\n guards.push(canceledNavigationCheck);\r\n return runGuardQueue(guards);\r\n })\r\n // catch any navigation canceled\r\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\r\n ? err\r\n : Promise.reject(err)));\r\n }\r\n function triggerAfterEach(to, from, failure) {\r\n // navigation is confirmed, call afterGuards\r\n // TODO: wrap with error handlers\r\n for (const guard of afterGuards.list()) {\r\n runWithContext(() => guard(to, from, failure));\r\n }\r\n }\r\n /**\r\n * - Cleans up any navigation guards\r\n * - Changes the url if necessary\r\n * - Calls the scrollBehavior\r\n */\r\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\r\n // a more recent navigation took place\r\n const error = checkCanceledNavigation(toLocation, from);\r\n if (error)\r\n return error;\r\n // only consider as push if it's not the first navigation\r\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\r\n const state = !isBrowser ? {} : history.state;\r\n // change URL only if the user did a push/replace and if it's not the initial navigation because\r\n // it's just reflecting the url\r\n if (isPush) {\r\n // on the initial navigation, we want to reuse the scroll position from\r\n // history state if it exists\r\n if (replace || isFirstNavigation)\r\n routerHistory.replace(toLocation.fullPath, assign({\r\n scroll: isFirstNavigation && state && state.scroll,\r\n }, data));\r\n else\r\n routerHistory.push(toLocation.fullPath, data);\r\n }\r\n // accept current navigation\r\n currentRoute.value = toLocation;\r\n handleScroll(toLocation, from, isPush, isFirstNavigation);\r\n markAsReady();\r\n }\r\n let removeHistoryListener;\r\n // attach listener to history to trigger navigations\r\n function setupListeners() {\r\n // avoid setting up listeners twice due to an invalid first navigation\r\n if (removeHistoryListener)\r\n return;\r\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\r\n if (!router.listening)\r\n return;\r\n // cannot be a redirect route because it was in history\r\n const toLocation = resolve(to);\r\n // due to dynamic routing, and to hash history with manual navigation\r\n // (manually changing the url or calling history.hash = '#/somewhere'),\r\n // there could be a redirect record in history\r\n const shouldRedirect = handleRedirectRecord(toLocation);\r\n if (shouldRedirect) {\r\n pushWithRedirect(assign(shouldRedirect, { replace: true }), toLocation).catch(noop);\r\n return;\r\n }\r\n pendingLocation = toLocation;\r\n const from = currentRoute.value;\r\n // TODO: should be moved to web history?\r\n if (isBrowser) {\r\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\r\n }\r\n navigate(toLocation, from)\r\n .catch((error) => {\r\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\r\n return error;\r\n }\r\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\r\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\r\n // false) but this is bug prone as we have no way to wait the\r\n // navigation to be finished before calling pushWithRedirect. Using\r\n // a setTimeout of 16ms seems to work but there is no guarantee for\r\n // it to work on every browser. So instead we do not restore the\r\n // history entry and trigger a new navigation as requested by the\r\n // navigation guard.\r\n // the error is already handled by router.push we just want to avoid\r\n // logging the error\r\n pushWithRedirect(error.to, toLocation\r\n // avoid an uncaught rejection, let push call triggerError\r\n )\r\n .then(failure => {\r\n // manual change in hash history #916 ending up in the URL not\r\n // changing, but it was changed by the manual url change, so we\r\n // need to manually change it ourselves\r\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\r\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\r\n !info.delta &&\r\n info.type === NavigationType.pop) {\r\n routerHistory.go(-1, false);\r\n }\r\n })\r\n .catch(noop);\r\n // avoid the then branch\r\n return Promise.reject();\r\n }\r\n // do not restore history on unknown direction\r\n if (info.delta) {\r\n routerHistory.go(-info.delta, false);\r\n }\r\n // unrecognized error, transfer to the global handler\r\n return triggerError(error, toLocation, from);\r\n })\r\n .then((failure) => {\r\n failure =\r\n failure ||\r\n finalizeNavigation(\r\n // after navigation, all matched components are resolved\r\n toLocation, from, false);\r\n // revert the navigation\r\n if (failure) {\r\n if (info.delta &&\r\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\r\n // entry while a different route is displayed\r\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\r\n routerHistory.go(-info.delta, false);\r\n }\r\n else if (info.type === NavigationType.pop &&\r\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\r\n // manual change in hash history #916\r\n // it's like a push but lacks the information of the direction\r\n routerHistory.go(-1, false);\r\n }\r\n }\r\n triggerAfterEach(toLocation, from, failure);\r\n })\r\n .catch(noop);\r\n });\r\n }\r\n // Initialization and Errors\r\n let readyHandlers = useCallbacks();\r\n let errorHandlers = useCallbacks();\r\n let ready;\r\n /**\r\n * Trigger errorHandlers added via onError and throws the error as well\r\n *\r\n * @param error - error to throw\r\n * @param to - location we were navigating to when the error happened\r\n * @param from - location we were navigating from when the error happened\r\n * @returns the error as a rejected promise\r\n */\r\n function triggerError(error, to, from) {\r\n markAsReady(error);\r\n const list = errorHandlers.list();\r\n if (list.length) {\r\n list.forEach(handler => handler(error, to, from));\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn('uncaught error during route navigation:');\r\n }\r\n console.error(error);\r\n }\r\n return Promise.reject(error);\r\n }\r\n function isReady() {\r\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\r\n return Promise.resolve();\r\n return new Promise((resolve, reject) => {\r\n readyHandlers.add([resolve, reject]);\r\n });\r\n }\r\n function markAsReady(err) {\r\n if (!ready) {\r\n // still not ready if an error happened\r\n ready = !err;\r\n setupListeners();\r\n readyHandlers\r\n .list()\r\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\r\n readyHandlers.reset();\r\n }\r\n return err;\r\n }\r\n // Scroll behavior\r\n function handleScroll(to, from, isPush, isFirstNavigation) {\r\n const { scrollBehavior } = options;\r\n if (!isBrowser || !scrollBehavior)\r\n return Promise.resolve();\r\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\r\n ((isFirstNavigation || !isPush) &&\r\n history.state &&\r\n history.state.scroll) ||\r\n null;\r\n return nextTick()\r\n .then(() => scrollBehavior(to, from, scrollPosition))\r\n .then(position => position && scrollToPosition(position))\r\n .catch(err => triggerError(err, to, from));\r\n }\r\n const go = (delta) => routerHistory.go(delta);\r\n let started;\r\n const installedApps = new Set();\r\n const router = {\r\n currentRoute,\r\n listening: true,\r\n addRoute,\r\n removeRoute,\r\n hasRoute,\r\n getRoutes,\r\n resolve,\r\n options,\r\n push,\r\n replace,\r\n go,\r\n back: () => go(-1),\r\n forward: () => go(1),\r\n beforeEach: beforeGuards.add,\r\n beforeResolve: beforeResolveGuards.add,\r\n afterEach: afterGuards.add,\r\n onError: errorHandlers.add,\r\n isReady,\r\n install(app) {\r\n const router = this;\r\n app.component('RouterLink', RouterLink);\r\n app.component('RouterView', RouterView);\r\n app.config.globalProperties.$router = router;\r\n Object.defineProperty(app.config.globalProperties, '$route', {\r\n enumerable: true,\r\n get: () => unref(currentRoute),\r\n });\r\n // this initial navigation is only necessary on client, on server it doesn't\r\n // make sense because it will create an extra unnecessary navigation and could\r\n // lead to problems\r\n if (isBrowser &&\r\n // used for the initial navigation client side to avoid pushing\r\n // multiple times when the router is used in multiple apps\r\n !started &&\r\n currentRoute.value === START_LOCATION_NORMALIZED) {\r\n // see above\r\n started = true;\r\n push(routerHistory.location).catch(err => {\r\n if ((process.env.NODE_ENV !== 'production'))\r\n warn('Unexpected error when starting the router:', err);\r\n });\r\n }\r\n const reactiveRoute = {};\r\n for (const key in START_LOCATION_NORMALIZED) {\r\n // @ts-expect-error: the key matches\r\n reactiveRoute[key] = computed(() => currentRoute.value[key]);\r\n }\r\n app.provide(routerKey, router);\r\n app.provide(routeLocationKey, reactive(reactiveRoute));\r\n app.provide(routerViewLocationKey, currentRoute);\r\n const unmountApp = app.unmount;\r\n installedApps.add(app);\r\n app.unmount = function () {\r\n installedApps.delete(app);\r\n // the router is not attached to an app anymore\r\n if (installedApps.size < 1) {\r\n // invalidate the current navigation\r\n pendingLocation = START_LOCATION_NORMALIZED;\r\n removeHistoryListener && removeHistoryListener();\r\n removeHistoryListener = null;\r\n currentRoute.value = START_LOCATION_NORMALIZED;\r\n started = false;\r\n ready = false;\r\n }\r\n unmountApp();\r\n };\r\n // TODO: this probably needs to be updated so it can be used by vue-termui\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\r\n addDevtools(app, router, matcher);\r\n }\r\n },\r\n };\r\n // TODO: type this as NavigationGuardReturn or similar instead of any\r\n function runGuardQueue(guards) {\r\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\r\n }\r\n return router;\r\n}\r\nfunction extractChangingRecords(to, from) {\r\n const leavingRecords = [];\r\n const updatingRecords = [];\r\n const enteringRecords = [];\r\n const len = Math.max(from.matched.length, to.matched.length);\r\n for (let i = 0; i < len; i++) {\r\n const recordFrom = from.matched[i];\r\n if (recordFrom) {\r\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\r\n updatingRecords.push(recordFrom);\r\n else\r\n leavingRecords.push(recordFrom);\r\n }\r\n const recordTo = to.matched[i];\r\n if (recordTo) {\r\n // the type doesn't matter because we are comparing per reference\r\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\r\n enteringRecords.push(recordTo);\r\n }\r\n }\r\n }\r\n return [leavingRecords, updatingRecords, enteringRecords];\r\n}\n\n/**\r\n * Returns the router instance. Equivalent to using `$router` inside\r\n * templates.\r\n */\r\nfunction useRouter() {\r\n return inject(routerKey);\r\n}\r\n/**\r\n * Returns the current route location. Equivalent to using `$route` inside\r\n * templates.\r\n */\r\nfunction useRoute() {\r\n return inject(routeLocationKey);\r\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","\n\n\n\n\n\n\n","function getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getBasePlacement(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref) {\n let {\n reference,\n floating,\n placement\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n let coords;\n\n switch (getBasePlacement(placement)) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] = coords[mainAxis] - (reference[length] / 2 - floating[length] / 2);\n break;\n\n case 'end':\n coords[mainAxis] = coords[mainAxis] + (reference[length] / 2 - floating[length] / 2);\n break;\n }\n\n return coords;\n}\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement\n });\n let statefulPlacement = placement;\n let middlewareData = {};\n let _debug_loop_count_ = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n if (process.env.NODE_ENV !== \"production\") {\n _debug_loop_count_++;\n\n if (_debug_loop_count_ > 100) {\n throw new Error(['Floating UI: The middleware lifecycle appears to be', 'running in an infinite loop. This is usually caused by a `reset`', 'continually being returned without a break condition.'].join(' '));\n }\n }\n\n const {\n name,\n fn\n } = middleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = { ...middlewareData,\n [name]: data != null ? data : {}\n };\n\n if (reset) {\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n\n ({\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement: statefulPlacement\n }));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nasync function detectOverflow(middlewareArguments, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingParents',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = await platform.getClippingClientRect({\n element: (await platform.isElement(element)) ? element : element.contextElement || (await platform.getDocumentElement({\n element: elements.floating\n })),\n boundary,\n rootBoundary\n });\n const elementClientRect = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n })); // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const basePlacement = getBasePlacement(placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions({\n element\n });\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await platform.getOffsetParent({\n element\n });\n const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside of the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max);\n return {\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects) {\n const isStart = getAlignment(placement) === 'start';\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? isStart ? 'right' : 'left' : isStart ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst basePlacements = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/basePlacements.reduce((acc, basePlacement) => acc.concat(basePlacement, basePlacement + \"-start\", basePlacement + \"-end\"), []);\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getBasePlacement(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _middlewareData$autoP5, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$autoP = middlewareData.autoPlacement) != null && _middlewareData$autoP.skip) {\n return {};\n }\n\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP2 = (_middlewareData$autoP3 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP3.index) != null ? _middlewareData$autoP2 : 0;\n const currentPlacement = placements[currentIndex];\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getBasePlacement(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP4 = (_middlewareData$autoP5 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP5.overflows) != null ? _middlewareData$autoP4 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n return {\n data: {\n skip: true\n },\n reset: {\n placement: placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement\n }\n };\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip, _middlewareData$flip2;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement\n } = middlewareArguments;\n\n if ((_middlewareData$flip = middlewareData.flip) != null && _middlewareData$flip.skip) {\n return {};\n }\n\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const basePlacement = getBasePlacement(placement);\n const isBasePlacement = basePlacement === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[basePlacement]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects);\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip3;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip3 = middlewareData.flip) == null ? void 0 : _middlewareData$flip3.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$slice$;\n\n const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return basePlacements.some(side => overflow[side] >= 0);\n}\n\nconst hide = () => ({\n name: 'hide',\n\n async fn(modifierArguments) {\n const referenceOverflow = await detectOverflow(modifierArguments, {\n elementContext: 'reference'\n });\n const floatingAltOverflow = await detectOverflow(modifierArguments, {\n altBoundary: true\n });\n const referenceHiddenOffsets = getSideOffsets(referenceOverflow, modifierArguments.rects.reference);\n const escapedOffsets = getSideOffsets(floatingAltOverflow, modifierArguments.rects.floating);\n const referenceHidden = isAnySideFullyClipped(referenceHiddenOffsets);\n const escaped = isAnySideFullyClipped(escapedOffsets);\n return {\n data: {\n referenceHidden,\n referenceHiddenOffsets,\n escaped,\n escapedOffsets\n }\n };\n }\n\n});\n\nfunction convertValueToCoords(_ref) {\n let {\n placement,\n rects,\n value\n } = _ref;\n const basePlacement = getBasePlacement(placement);\n const multiplier = ['left', 'top'].includes(basePlacement) ? -1 : 1;\n const rawValue = typeof value === 'function' ? value({ ...rects,\n placement\n }) : value;\n const {\n mainAxis,\n crossAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawValue\n };\n return getMainAxisFromPlacement(basePlacement) === 'x' ? {\n x: crossAxis,\n y: mainAxis * multiplier\n } : {\n x: mainAxis * multiplier,\n y: crossAxis\n };\n}\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects\n } = middlewareArguments;\n const diffCoords = convertValueToCoords({\n placement,\n rects,\n value\n });\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getBasePlacement(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getBasePlacement(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$size;\n\n const {\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$size = middlewareData.size) != null && _middlewareData$size.skip) {\n return {};\n }\n\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const basePlacement = getBasePlacement(placement);\n const isEnd = getAlignment(placement) === 'end';\n let heightSide;\n let widthSide;\n\n if (basePlacement === 'top' || basePlacement === 'bottom') {\n heightSide = basePlacement;\n widthSide = isEnd ? 'left' : 'right';\n } else {\n widthSide = basePlacement;\n heightSide = isEnd ? 'top' : 'bottom';\n }\n\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n const dimensions = {\n height: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n width: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n apply == null ? void 0 : apply({ ...dimensions,\n ...rects\n });\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n\n };\n};\n\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$inlin, _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy,\n middlewareData\n } = middlewareArguments; // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n\n const {\n padding = 2,\n x,\n y\n } = options;\n\n if ((_middlewareData$inlin = middlewareData.inline) != null && _middlewareData$inlin.skip) {\n return {};\n }\n\n const fallback = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n }));\n const clientRects = Array.from((_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects({\n element: elements.reference\n }))) != null ? _await$platform$getCl : []);\n const paddingObject = getSideObjectFromPadding(padding);\n\n function getBoundingClientRect() {\n // There are two rects and they are disjoined\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getBasePlacement(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n const isLeftPlacement = getBasePlacement(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftPlacement ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n return fallback;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n rects: await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n })\n }\n };\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return (value == null ? void 0 : value.toString()) === '[object Window]';\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n return {\n width: clientRect.width / scaleX,\n height: clientRect.height / scaleY,\n top: clientRect.top / scaleY,\n right: clientRect.right / scaleX,\n bottom: clientRect.bottom / scaleY,\n left: clientRect.left / scaleX,\n x: clientRect.left / scaleX,\n y: clientRect.top / scaleY\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isWindow(element)) {\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n }\n\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent));\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n\n if (Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 0.01) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].includes(getNodeName(node))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\nfunction getScrollParents(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollParent = getScrollParent(node);\n const isBody = scrollParent === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getScrollParents(getParentNode(target)));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element) {\n const clientRect = getBoundingClientRect(element);\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingParent(element, clippingParent) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n const clippingParents = getScrollParents(getParentNode(element));\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array\n\n\n return clippingParents.filter(clippingParent => isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingClientRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary\n } = _ref;\n const mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromClippingParent(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingParent(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nconst platform = {\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n convertOffsetParentRelativeRectToViewportRelativeRect: args => convertOffsetParentRelativeRectToViewportRelativeRect(args),\n getOffsetParent: _ref2 => {\n let {\n element\n } = _ref2;\n return getOffsetParent(element);\n },\n isElement: value => isElement(value),\n getDocumentElement: _ref3 => {\n let {\n element\n } = _ref3;\n return getDocumentElement(element);\n },\n getClippingClientRect: args => getClippingClientRect(args),\n getDimensions: _ref4 => {\n let {\n element\n } = _ref4;\n return getDimensions(element);\n },\n getClientRects: _ref5 => {\n let {\n element\n } = _ref5;\n return element.getClientRects();\n }\n};\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { computePosition, getScrollParents };\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nimport { defineComponent, pushScopeId, popScopeId, nextTick, openBlock, createBlock, withScopeId, resolveComponent, createElementBlock, normalizeClass, normalizeStyle, withKeys, createElementVNode, Fragment, renderSlot, createCommentVNode, mergeProps, withCtx, createVNode, toDisplayString, ref, createApp, h } from \"vue\";\nimport { offset, autoPlacement, shift, flip, arrow, size, computePosition, getScrollParents } from \"@floating-ui/dom\";\nfunction assign(to, from) {\n for (const key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) {\n if (typeof from[key] === \"object\" && to[key]) {\n assign(to[key], from[key]);\n } else {\n to[key] = from[key];\n }\n }\n }\n}\nconst config = {\n disabled: false,\n distance: 5,\n skidding: 0,\n container: \"body\",\n boundary: void 0,\n instantMove: false,\n disposeTimeout: 5e3,\n popperTriggers: [],\n strategy: \"absolute\",\n preventOverflow: true,\n flip: true,\n shift: true,\n overflowPadding: 0,\n arrowPadding: 0,\n arrowOverflow: true,\n themes: {\n tooltip: {\n placement: \"top\",\n triggers: [\"hover\", \"focus\", \"touch\"],\n hideTriggers: (events) => [...events, \"click\"],\n delay: {\n show: 200,\n hide: 0\n },\n handleResize: false,\n html: false,\n loadingContent: \"...\"\n },\n dropdown: {\n placement: \"bottom\",\n triggers: [\"click\"],\n delay: 0,\n handleResize: true,\n autoHide: true\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction getDefaultConfig(theme, key) {\n let themeConfig = config.themes[theme] || {};\n let value;\n do {\n value = themeConfig[key];\n if (typeof value === \"undefined\") {\n if (themeConfig.$extend) {\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n value = config[key];\n }\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return value;\n}\nfunction getThemeClasses(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend && !themeConfig.$resetCss) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result.map((c) => `v-popper--theme-${c}`);\n}\nvar vueResize = \"\";\nlet supportsPassive = false;\nif (typeof window !== \"undefined\") {\n supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (e) {\n }\n}\nlet isIOS = false;\nif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\") {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\nconst placements = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((acc, base) => acc.concat([\n base,\n `${base}-start`,\n `${base}-end`\n]), []);\nconst SHOW_EVENT_MAP = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\"\n};\nconst HIDE_EVENT_MAP = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\"\n};\nfunction removeFromArray(array, item) {\n const index = array.indexOf(item);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\nfunction nextFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n }));\n}\nconst shownPoppers = [];\nlet hidingPopper = null;\nlet Element = function() {\n};\nif (typeof window !== \"undefined\") {\n Element = window.Element;\n}\nfunction defaultPropFactory(prop) {\n return function(props) {\n return getDefaultConfig(props.theme, prop);\n };\n}\nvar PrivatePopper = () => defineComponent({\n name: \"VPopper\",\n props: {\n theme: {\n type: String,\n required: true\n },\n targetNodes: {\n type: Function,\n required: true\n },\n referenceNode: {\n type: Function,\n required: true\n },\n popperNode: {\n type: Function,\n required: true\n },\n shown: {\n type: Boolean,\n default: false\n },\n showGroup: {\n type: String,\n default: null\n },\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: defaultPropFactory(\"disabled\")\n },\n placement: {\n type: String,\n default: defaultPropFactory(\"placement\"),\n validator: (value) => placements.includes(value)\n },\n delay: {\n type: [String, Number, Object],\n default: defaultPropFactory(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: defaultPropFactory(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: defaultPropFactory(\"skidding\")\n },\n triggers: {\n type: Array,\n default: defaultPropFactory(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: defaultPropFactory(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: defaultPropFactory(\"container\")\n },\n boundary: {\n type: [String, Element],\n default: defaultPropFactory(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (value) => [\"absolute\", \"fixed\"].includes(value),\n default: defaultPropFactory(\"strategy\")\n },\n autoHide: {\n type: Boolean,\n default: defaultPropFactory(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: defaultPropFactory(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: defaultPropFactory(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: defaultPropFactory(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: defaultPropFactory(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: defaultPropFactory(\"computeTransformOrigin\")\n },\n autoMinSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMinSize\")\n },\n autoMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: defaultPropFactory(\"flip\")\n },\n shift: {\n type: Boolean,\n default: defaultPropFactory(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: defaultPropFactory(\"shiftCrossAxis\")\n }\n },\n emits: [\n \"show\",\n \"hide\",\n \"update:shown\",\n \"apply-show\",\n \"apply-hide\",\n \"close-group\",\n \"close-directive\",\n \"auto-hide\",\n \"resize\",\n \"dispose\"\n ],\n data() {\n return {\n isShown: false,\n isMounted: false,\n skipTransition: false,\n classes: {\n showFrom: false,\n showTo: false,\n hideFrom: false,\n hideTo: true\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n }\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: __spreadProps(__spreadValues({}, this.classes), {\n popperClass: this.popperClass\n }),\n result: this.result\n };\n }\n },\n watch: __spreadValues({\n shown: \"$_autoShowHide\",\n disabled(value) {\n if (value) {\n this.dispose();\n } else {\n this.init();\n }\n },\n async container() {\n if (this.isShown) {\n this.$_ensureTeleport();\n await this.$_computePosition();\n }\n },\n triggers() {\n if (!this.$_isDisposed) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n }\n }\n }, [\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_computePosition\";\n return acc;\n }, {})),\n created() {\n this.$_isDisposed = true;\n this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join(\"_\")}`;\n },\n mounted() {\n this.init();\n this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeUnmount() {\n this.dispose();\n },\n methods: {\n show({ event = null, skipDelay = false, force = false } = {}) {\n if (force || !this.disabled) {\n this.$_scheduleShow(event, skipDelay);\n this.$emit(\"show\");\n this.$_showFrameLocked = true;\n requestAnimationFrame(() => {\n this.$_showFrameLocked = false;\n });\n }\n this.$emit(\"update:shown\", true);\n },\n hide({ event = null, skipDelay = false } = {}) {\n this.$_scheduleHide(event, skipDelay);\n this.$emit(\"hide\");\n this.$emit(\"update:shown\", false);\n },\n init() {\n if (!this.$_isDisposed)\n return;\n this.$_isDisposed = false;\n this.isMounted = false;\n this.$_events = [];\n this.$_preventShow = false;\n this.$_referenceNode = this.referenceNode();\n this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE);\n this.$_popperNode = this.popperNode();\n this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\");\n this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\");\n this.$_swapTargetAttrs(\"title\", \"data-original-title\");\n this.$_detachPopperNode();\n if (this.triggers.length) {\n this.$_addEventListeners();\n }\n if (this.shown) {\n this.show();\n }\n },\n dispose() {\n if (this.$_isDisposed)\n return;\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({ skipDelay: true });\n this.$_detachPopperNode();\n this.isMounted = false;\n this.isShown = false;\n this.$_swapTargetAttrs(\"data-original-title\", \"title\");\n this.$emit(\"dispose\");\n },\n async onResize() {\n if (this.isShown) {\n await this.$_computePosition();\n this.$emit(\"resize\");\n }\n },\n async $_computePosition() {\n var _a;\n if (this.$_isDisposed)\n return;\n const options2 = {\n strategy: this.strategy,\n middleware: []\n };\n if (this.distance || this.skidding) {\n options2.middleware.push(offset({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n }\n const isPlacementAuto = this.placement.startsWith(\"auto\");\n if (isPlacementAuto) {\n options2.middleware.push(autoPlacement({\n alignment: (_a = this.placement.split(\"-\")[1]) != null ? _a : \"\"\n }));\n } else {\n options2.placement = this.placement;\n }\n if (this.preventOverflow) {\n if (this.shift) {\n options2.middleware.push(shift({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n }));\n }\n if (!isPlacementAuto && this.flip) {\n options2.middleware.push(flip({\n padding: this.overflowPadding,\n boundary: this.boundary\n }));\n }\n }\n options2.middleware.push(arrow({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n }));\n if (this.arrowOverflow) {\n options2.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement, rects, middlewareData }) => {\n let overflow;\n const { centerOffset } = middlewareData.arrow;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n overflow = Math.abs(centerOffset) > rects.reference.width / 2;\n } else {\n overflow = Math.abs(centerOffset) > rects.reference.height / 2;\n }\n return {\n data: {\n overflow\n }\n };\n }\n });\n }\n if (this.autoMinSize) {\n options2.middleware.push({\n name: \"autoMinSize\",\n fn: ({ rects, placement, middlewareData }) => {\n var _a2;\n if ((_a2 = middlewareData.autoMinSize) == null ? void 0 : _a2.skip) {\n return {};\n }\n let width;\n let height;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n width = rects.reference.width;\n } else {\n height = rects.reference.height;\n }\n this.$_innerNode.style.minWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.minHeight = height != null ? `${height}px` : null;\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\n }\n if (this.autoMaxSize) {\n options2.middleware.push(size({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ width, height }) => {\n this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null;\n }\n }));\n }\n const data = await computePosition(this.$_referenceNode, this.$_popperNode, options2);\n Object.assign(this.result, {\n x: data.x,\n y: data.y,\n placement: data.placement,\n strategy: data.strategy,\n arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow)\n });\n },\n $_scheduleShow(event = null, skipDelay = false) {\n this.$_hideInProgress = false;\n clearTimeout(this.$_scheduleTimer);\n if (hidingPopper && this.instantMove && hidingPopper.instantMove) {\n hidingPopper.$_applyHide(true);\n this.$_applyShow(true);\n return;\n }\n if (skipDelay) {\n this.$_applyShow();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n }\n },\n $_scheduleHide(event = null, skipDelay = false) {\n this.$_hideInProgress = true;\n clearTimeout(this.$_scheduleTimer);\n if (this.isShown) {\n hidingPopper = this;\n }\n if (skipDelay) {\n this.$_applyHide();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n }\n },\n $_computeDelay(type) {\n const delay = this.delay;\n return parseInt(delay && delay[type] || delay || 0);\n },\n async $_applyShow(skipTransition = false) {\n clearTimeout(this.$_disposeTimer);\n clearTimeout(this.$_scheduleTimer);\n this.skipTransition = skipTransition;\n if (this.isShown) {\n return;\n }\n this.$_ensureTeleport();\n await nextFrame();\n await this.$_computePosition();\n await this.$_applyShowEffect();\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const bounds = this.$_referenceNode.getBoundingClientRect();\n const popperWrapper = this.$_popperNode.querySelector(\".v-popper__wrapper\");\n const parentBounds = popperWrapper.parentNode.getBoundingClientRect();\n const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft);\n const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop);\n this.result.transformOrigin = `${x}px ${y}px`;\n }\n this.isShown = true;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const showGroup = this.showGroup;\n if (showGroup) {\n let popover;\n for (let i = 0; i < shownPoppers.length; i++) {\n popover = shownPoppers[i];\n if (popover.showGroup !== showGroup) {\n popover.hide();\n popover.$emit(\"close-group\");\n }\n }\n }\n shownPoppers.push(this);\n this.$emit(\"apply-show\");\n this.classes.showFrom = true;\n this.classes.showTo = false;\n this.classes.hideFrom = false;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.showFrom = false;\n this.classes.showTo = true;\n },\n async $_applyHide(skipTransition = false) {\n clearTimeout(this.$_scheduleTimer);\n if (!this.isShown) {\n return;\n }\n this.skipTransition = skipTransition;\n removeFromArray(shownPoppers, this);\n if (hidingPopper === this) {\n hidingPopper = null;\n }\n this.isShown = false;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n });\n clearTimeout(this.$_disposeTimer);\n const disposeTime = getDefaultConfig(this.theme, \"disposeTimeout\");\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(() => {\n if (this.$_popperNode) {\n this.$_detachPopperNode();\n this.isMounted = false;\n }\n }, disposeTime);\n }\n this.$emit(\"apply-hide\");\n this.classes.showFrom = false;\n this.classes.showTo = false;\n this.classes.hideFrom = true;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.hideFrom = false;\n this.classes.hideTo = true;\n },\n $_autoShowHide() {\n if (this.shown) {\n this.show();\n } else {\n this.hide();\n }\n },\n $_ensureTeleport() {\n if (this.$_isDisposed)\n return;\n let container = this.container;\n if (typeof container === \"string\") {\n container = window.document.querySelector(container);\n } else if (container === false) {\n container = this.$_targetNodes[0].parentNode;\n }\n if (!container) {\n throw new Error(\"No container for popover: \" + this.container);\n }\n container.appendChild(this.$_popperNode);\n this.isMounted = true;\n },\n $_addEventListeners() {\n const addListeners2 = (targetNodes, eventType, handler) => {\n this.$_events.push({ targetNodes, eventType, handler });\n targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? {\n passive: true\n } : void 0));\n };\n const addEvents = (targetNodes, eventMap, commonTriggers, customTrigger, handler) => {\n let triggers = commonTriggers;\n if (customTrigger != null) {\n triggers = typeof customTrigger === \"function\" ? customTrigger(triggers) : customTrigger;\n }\n triggers.forEach((trigger) => {\n const eventType = eventMap[trigger];\n if (eventType) {\n addListeners2(targetNodes, eventType, handler);\n }\n });\n };\n const handleShow = (event) => {\n if (this.isShown && !this.$_hideInProgress) {\n return;\n }\n event.usedByTooltip = true;\n !this.$_preventShow && this.show({ event });\n };\n addEvents(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow);\n addEvents([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow);\n const handleHide = (event) => {\n if (event.usedByTooltip) {\n return;\n }\n this.hide({ event });\n };\n addEvents(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide);\n addEvents([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide);\n addListeners2([\n ...getScrollParents(this.$_referenceNode),\n ...getScrollParents(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n });\n },\n $_removeEventListeners() {\n this.$_events.forEach(({ targetNodes, eventType, handler }) => {\n targetNodes.forEach((node) => node.removeEventListener(eventType, handler));\n });\n this.$_events = [];\n },\n $_handleGlobalClose(event, touch = false) {\n if (this.$_showFrameLocked)\n return;\n this.hide({ event });\n if (event.closePopover) {\n this.$emit(\"close-directive\");\n } else {\n this.$emit(\"auto-hide\");\n }\n if (touch) {\n this.$_preventShow = true;\n setTimeout(() => {\n this.$_preventShow = false;\n }, 300);\n }\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(attrFrom, attrTo) {\n for (const el of this.$_targetNodes) {\n const value = el.getAttribute(attrFrom);\n if (value) {\n el.removeAttribute(attrFrom);\n el.setAttribute(attrTo, value);\n }\n }\n },\n $_applyAttrsToTarget(attrs) {\n for (const el of this.$_targetNodes) {\n for (const n in attrs) {\n const value = attrs[n];\n if (value == null) {\n el.removeAttribute(n);\n } else {\n el.setAttribute(n, value);\n }\n }\n }\n }\n },\n render() {\n return this.$slots.default(this.slotData);\n }\n});\nif (typeof document !== \"undefined\" && typeof window !== \"undefined\") {\n if (isIOS) {\n document.addEventListener(\"touchstart\", handleGlobalMousedown, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n document.addEventListener(\"touchend\", handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener(\"mousedown\", handleGlobalMousedown, true);\n window.addEventListener(\"click\", handleGlobalClick, true);\n }\n window.addEventListener(\"resize\", computePositionAllShownPoppers);\n}\nfunction handleGlobalMousedown(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n const popperContent = popper.popperNode();\n popper.$_mouseDownContains = popperContent.contains(event.target);\n }\n}\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\nfunction handleGlobalClose(event, touch = false) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n const popperContent = popper.popperNode();\n const contains = popper.$_mouseDownContains || popperContent.contains(event.target);\n requestAnimationFrame(() => {\n if (event.closeAllPopover || event.closePopover && contains || popper.autoHide && !contains) {\n popper.$_handleGlobalClose(event, touch);\n }\n });\n }\n}\nfunction computePositionAllShownPoppers(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.$_computePosition(event);\n }\n}\nfunction hideAllPoppers() {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.hide();\n }\n}\nfunction getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie > 0) {\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\n }\n var trident = ua.indexOf(\"Trident/\");\n if (trident > 0) {\n var rv = ua.indexOf(\"rv:\");\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\n }\n var edge = ua.indexOf(\"Edge/\");\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\n }\n return -1;\n}\nlet isIE;\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\nvar script = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"notify\"\n ],\n mounted() {\n initCompat();\n nextTick(() => {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n if (this.emitOnMount) {\n this.emitSize();\n }\n });\n const object = document.createElement(\"object\");\n this._resizeObject = object;\n object.setAttribute(\"aria-hidden\", \"true\");\n object.setAttribute(\"tabindex\", -1);\n object.onload = this.addResizeHandlers;\n object.type = \"text/html\";\n if (isIE) {\n this.$el.appendChild(object);\n }\n object.data = \"about:blank\";\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeUnmount() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify);\n this.compareAndNotify();\n },\n removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify);\n }\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\nconst _withId = /* @__PURE__ */ withScopeId(\"data-v-b329ee4c\");\npushScopeId(\"data-v-b329ee4c\");\nconst _hoisted_1$2 = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\npopScopeId();\nconst render = /* @__PURE__ */ _withId((_ctx, _cache, $props, $setup, $data, $options) => {\n return openBlock(), createBlock(\"div\", _hoisted_1$2);\n});\nscript.render = render;\nscript.__scopeId = \"data-v-b329ee4c\";\nscript.__file = \"src/components/ResizeObserver.vue\";\nvar PrivateThemeClass = {\n computed: {\n themeClass() {\n return getThemeClasses(this.theme);\n }\n }\n};\nvar PopperContent_vue_vue_type_style_index_0_lang = \"\";\nvar _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nconst _sfc_main$5 = defineComponent({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: script\n },\n mixins: [\n PrivateThemeClass\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n emits: [\n \"hide\",\n \"resize\"\n ],\n methods: {\n toPx(value) {\n if (value != null && !isNaN(value)) {\n return `${value}px`;\n }\n return null;\n }\n }\n});\nconst _hoisted_1$1 = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"];\nconst _hoisted_2$1 = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n};\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1);\nconst _hoisted_5 = [\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ResizeObserver = resolveComponent(\"ResizeObserver\");\n return openBlock(), createElementBlock(\"div\", {\n id: _ctx.popperId,\n ref: \"popover\",\n class: normalizeClass([\"v-popper__popper\", [\n _ctx.themeClass,\n _ctx.classes.popperClass,\n {\n \"v-popper__popper--shown\": _ctx.shown,\n \"v-popper__popper--hidden\": !_ctx.shown,\n \"v-popper__popper--show-from\": _ctx.classes.showFrom,\n \"v-popper__popper--show-to\": _ctx.classes.showTo,\n \"v-popper__popper--hide-from\": _ctx.classes.hideFrom,\n \"v-popper__popper--hide-to\": _ctx.classes.hideTo,\n \"v-popper__popper--skip-transition\": _ctx.skipTransition,\n \"v-popper__popper--arrow-overflow\": _ctx.result.arrow.overflow\n }\n ]]),\n style: normalizeStyle({\n position: _ctx.result.strategy,\n transform: `translate3d(${Math.round(_ctx.result.x)}px,${Math.round(_ctx.result.y)}px,0)`\n }),\n \"aria-hidden\": _ctx.shown ? \"false\" : \"true\",\n tabindex: _ctx.autoHide ? 0 : void 0,\n \"data-popper-placement\": _ctx.result.placement,\n onKeyup: _cache[1] || (_cache[1] = withKeys(($event) => _ctx.autoHide && _ctx.$emit(\"hide\"), [\"esc\"]))\n }, [\n createElementVNode(\"div\", {\n class: \"v-popper__wrapper\",\n style: normalizeStyle({\n transformOrigin: _ctx.result.transformOrigin\n })\n }, [\n createElementVNode(\"div\", _hoisted_2$1, [\n _ctx.mounted ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createElementVNode(\"div\", null, [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _ctx.handleResize ? (openBlock(), createBlock(_component_ResizeObserver, {\n key: 0,\n onNotify: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"resize\", $event))\n })) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true)\n ], 512),\n createElementVNode(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: normalizeStyle({\n left: _ctx.toPx(_ctx.result.arrow.x),\n top: _ctx.toPx(_ctx.result.arrow.y)\n })\n }, _hoisted_5, 4)\n ], 4)\n ], 46, _hoisted_1$1);\n}\nvar PrivatePopperContent = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$2]]);\nvar PrivatePopperMethods = {\n methods: {\n show(...args) {\n return this.$refs.popper.show(...args);\n },\n hide(...args) {\n return this.$refs.popper.hide(...args);\n },\n dispose(...args) {\n return this.$refs.popper.dispose(...args);\n },\n onResize(...args) {\n return this.$refs.popper.onResize(...args);\n }\n }\n};\nvar PopperWrapper_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$4 = defineComponent({\n name: \"VPopperWrapper\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods,\n PrivateThemeClass\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: null\n }\n },\n computed: {\n finalTheme() {\n var _a;\n return (_a = this.theme) != null ? _a : this.$options.vPopperTheme;\n },\n popperAttrs() {\n const result = __spreadValues({}, this.$attrs);\n delete result.class;\n delete result.style;\n return result;\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$refs.reference.children).filter((node) => node !== this.$refs.popperContent.$el);\n }\n }\n});\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, mergeProps({ ref: \"popper\" }, _ctx.popperAttrs, {\n theme: _ctx.finalTheme,\n \"target-nodes\": _ctx.getTargetNodes,\n \"reference-node\": () => _ctx.$refs.reference,\n \"popper-node\": () => _ctx.$refs.popperContent.$el\n }), {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n show,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n createElementVNode(\"div\", {\n ref: \"reference\",\n class: normalizeClass([\"v-popper\", [\n _ctx.$attrs.class,\n _ctx.themeClass,\n {\n \"v-popper--shown\": isShown\n }\n ]]),\n style: normalizeStyle(_ctx.$attrs.style)\n }, [\n renderSlot(_ctx.$slots, \"default\", {\n shown: isShown,\n show,\n hide\n }),\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n \"popper-id\": popperId,\n theme: _ctx.finalTheme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"popper\", {\n shown: isShown,\n hide\n })\n ]),\n _: 2\n }, 1032, [\"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ], 6)\n ]),\n _: 3\n }, 16, [\"theme\", \"target-nodes\", \"reference-node\", \"popper-node\"]);\n}\nvar PrivatePopperWrapper = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$1]]);\nvar Dropdown_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$3 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n}));\nconst _sfc_main$2 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}));\nvar Tooltip_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$1 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n}));\nconst _sfc_main = defineComponent({\n name: \"VTooltipDirective\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (props) => getDefaultConfig(props.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (props) => getDefaultConfig(props.theme, \"loadingContent\")\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content === \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n if (this.isContentAsync) {\n return this.loading ? this.loadingContent : this.asyncContent;\n }\n return this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(true);\n },\n immediate: true\n },\n async finalContent() {\n await this.$nextTick();\n this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(force) {\n if (typeof this.content === \"function\" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null;\n this.$_loading = true;\n const fetchId = ++this.$_fetchId;\n const result = this.content(this);\n if (result.then) {\n result.then((res) => this.onResult(fetchId, res));\n } else {\n this.onResult(fetchId, result);\n }\n }\n },\n onResult(fetchId, result) {\n if (fetchId !== this.$_fetchId)\n return;\n this.$_loading = false;\n this.asyncContent = result;\n },\n onShow() {\n this.$_isShown = true;\n this.fetchContent();\n },\n onHide() {\n this.$_isShown = false;\n }\n }\n});\nconst _hoisted_1 = [\"innerHTML\"];\nconst _hoisted_2 = [\"textContent\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, mergeProps({ ref: \"popper\" }, _ctx.$attrs, {\n theme: _ctx.theme,\n \"popper-node\": () => _ctx.$refs.popperContent.$el,\n onApplyShow: _ctx.onShow,\n onApplyHide: _ctx.onHide\n }), {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n class: normalizeClass({\n \"v-popper--tooltip-loading\": _ctx.loading\n }),\n \"popper-id\": popperId,\n theme: _ctx.theme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n _ctx.html ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n innerHTML: _ctx.finalContent\n }, null, 8, _hoisted_1)) : (openBlock(), createElementBlock(\"div\", {\n key: 1,\n textContent: toDisplayString(_ctx.finalContent)\n }, null, 8, _hoisted_2))\n ]),\n _: 2\n }, 1032, [\"class\", \"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 1\n }, 16, [\"theme\", \"popper-node\", \"onApplyShow\", \"onApplyHide\"]);\n}\nvar PrivateTooltipDirective = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nconst TARGET_CLASS = \"v-popper--has-tooltip\";\nfunction getPlacement(options2, modifiers) {\n let result = options2.placement;\n if (!result && modifiers) {\n for (const pos of placements) {\n if (modifiers[pos]) {\n result = pos;\n }\n }\n }\n if (!result) {\n result = getDefaultConfig(options2.theme || \"tooltip\", \"placement\");\n }\n return result;\n}\nfunction getOptions(el, value, modifiers) {\n let options2;\n const type = typeof value;\n if (type === \"string\") {\n options2 = { content: value };\n } else if (value && type === \"object\") {\n options2 = value;\n } else {\n options2 = { content: false };\n }\n options2.placement = getPlacement(options2, modifiers);\n options2.targetNodes = () => [el];\n options2.referenceNode = () => el;\n return options2;\n}\nlet directiveApp;\nlet directives;\nlet uid = 0;\nfunction ensureDirectiveApp() {\n if (directiveApp)\n return;\n directives = ref([]);\n directiveApp = createApp({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives\n };\n },\n render() {\n return this.directives.map((directive) => {\n return h(PrivateTooltipDirective, __spreadProps(__spreadValues({}, directive.options), {\n shown: directive.shown.value || directive.options.shown,\n key: directive.id\n }));\n });\n },\n devtools: {\n hide: true\n }\n });\n const mountTarget = document.createElement(\"div\");\n document.body.appendChild(mountTarget);\n directiveApp.mount(mountTarget);\n}\nfunction createTooltip(el, value, modifiers) {\n ensureDirectiveApp();\n const options2 = ref(getOptions(el, value, modifiers));\n const shown = ref(false);\n const item = {\n id: uid++,\n options: options2,\n shown\n };\n directives.value.push(item);\n if (el.classList) {\n el.classList.add(TARGET_CLASS);\n }\n const result = el.$_popper = {\n options: options2,\n item,\n show() {\n shown.value = true;\n },\n hide() {\n shown.value = false;\n }\n };\n return result;\n}\nfunction destroyTooltip(el) {\n if (el.$_popper) {\n const index = directives.value.indexOf(el.$_popper.item);\n if (index !== -1)\n directives.value.splice(index, 1);\n delete el.$_popper;\n delete el.$_popperOldShown;\n delete el.$_popperMountTarget;\n }\n if (el.classList) {\n el.classList.remove(TARGET_CLASS);\n }\n}\nfunction bind(el, { value, oldValue, modifiers }) {\n const options2 = getOptions(el, value, modifiers);\n if (!options2.content || getDefaultConfig(options2.theme || \"tooltip\", \"disabled\")) {\n destroyTooltip(el);\n } else {\n let directive;\n if (el.$_popper) {\n directive = el.$_popper;\n directive.options.value = options2;\n } else {\n directive = createTooltip(el, value, modifiers);\n }\n if (typeof value.shown !== \"undefined\" && value.shown !== el.$_popperOldShown) {\n el.$_popperOldShown = value.shown;\n value.shown ? directive.show() : directive.hide();\n }\n }\n}\nvar PrivateVTooltip = {\n beforeMount: bind,\n updated: bind,\n beforeUnmount(el) {\n destroyTooltip(el);\n }\n};\nfunction addListeners(el) {\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"touchstart\", onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\nfunction removeListeners(el) {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"touchstart\", onTouchStart);\n el.removeEventListener(\"touchend\", onTouchEnd);\n el.removeEventListener(\"touchcancel\", onTouchCancel);\n}\nfunction onClick(event) {\n const el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n const touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener(\"touchend\", onTouchEnd);\n el.addEventListener(\"touchcancel\", onTouchCancel);\n }\n}\nfunction onTouchEnd(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n if (event.changedTouches.length === 1) {\n const touch = event.changedTouches[0];\n const firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\nfunction onTouchCancel(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\nvar PrivateVClosePopper = {\n beforeMount(el, { value, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n }\n },\n updated(el, { value, oldValue, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (value !== oldValue) {\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n beforeUnmount(el) {\n removeListeners(el);\n }\n};\nconst options = config;\nconst VTooltip = PrivateVTooltip;\nconst VClosePopper = PrivateVClosePopper;\nconst Dropdown = _sfc_main$3;\nconst Menu = _sfc_main$2;\nconst Popper = PrivatePopper;\nconst PopperContent = PrivatePopperContent;\nconst PopperMethods = PrivatePopperMethods;\nconst PopperWrapper = PrivatePopperWrapper;\nconst ThemeClass = PrivateThemeClass;\nconst Tooltip = _sfc_main$1;\nconst TooltipDirective = PrivateTooltipDirective;\nfunction install(app, options2 = {}) {\n if (app.$_vTooltipInstalled)\n return;\n app.$_vTooltipInstalled = true;\n assign(config, options2);\n app.directive(\"tooltip\", PrivateVTooltip);\n app.directive(\"close-popper\", PrivateVClosePopper);\n app.component(\"v-tooltip\", _sfc_main$1);\n app.component(\"VTooltip\", _sfc_main$1);\n app.component(\"v-dropdown\", _sfc_main$3);\n app.component(\"VDropdown\", _sfc_main$3);\n app.component(\"v-menu\", _sfc_main$2);\n app.component(\"VMenu\", _sfc_main$2);\n}\nconst plugin = {\n version: \"2.0.0-y.0\",\n install,\n options: config\n};\nexport { Dropdown, HIDE_EVENT_MAP, Menu, Popper, PopperContent, PopperMethods, PopperWrapper, SHOW_EVENT_MAP, ThemeClass, Tooltip, TooltipDirective, VClosePopper, VTooltip, createTooltip, plugin as default, destroyTooltip, hideAllPoppers, install, options, placements };\n","import { createApp } from \"vue\";\nimport App from \"./app.vue\";\n\n\nimport './styles/index.css'\nimport 'floating-vue/dist/style.css'\nimport \"virtual:windi.css\";\n\nimport { createRouter, createWebHashHistory } from \"vue-router\";\nimport FloatingVue from 'floating-vue'\n\nimport routes from \"~pages\";\n\nconst router = createRouter({\n history: createWebHashHistory(),\n routes: [...routes],\n scrollBehavior(to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition;\n } else {\n return { top: 0, behavior: \"smooth\" };\n }\n },\n});\n\nconst app = createApp(App);\napp.use(router)\napp.use(FloatingVue)\n\n\napp.mount(\"#touchme-app\");\n\n","\n\n","\n\n\n\n\ntitle: Electric\nsubtitle: by Chromatone \n","\n\n\n","\n\n\n\n\ntitle: Electric\nsubtitle: by Chromatone \n","\n\n\n\n\ntitle: Floating\nsubtitle: by Chromatone \n","\n\n\n\n","\n\n\n","\n\n"],"names":["makeMap","str","expectsLowerCase","map","list","i","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","onRE","isOn","key","isModelListener","extend","remove","arr","el","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isRegExp","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","_","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","looseToNumber","n","toNumber","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","name","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","toDisplayString","replacer","_key","entries","val2","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","l","last","recordEffectScope","effect","scope","getCurrentScope","onScopeDispose","createDep","effects","dep","wasTracked","trackOpBit","newTracked","initDepMarkers","deps","finalizeDepMarkers","ptr","targetMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ReactiveEffect","scheduler","parent","lastShouldTrack","shouldTrack","cleanupEffect","effect2","trackStack","pauseTracking","resetTracking","track","target","type","depsMap","trackEffects","debuggerEventExtraInfo","shouldTrack2","trigger","newValue","oldTarget","newLength","key2","triggerEffects","triggerEffect","getDepFromReactive","object","_a","isNonTrackableKeys","builtInSymbols","get$1","createGetter","shallowGet","readonlyGet","arrayInstrumentations","createArrayInstrumentations","instrumentations","args","toRaw","isReadonly2","shallow","receiver","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","set$1","createSetter","shallowSet","isReadonly","isShallow","hadKey","result","deleteProperty","has$1","ownKeys","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","v","get","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","has","size","add","set","get2","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","isProxy","raw","markRaw","trackRefValue","ref2","triggerRefValue","newVal","r","ref","createRef","shallowRef","rawValue","RefImpl","__v_isShallow","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","customRef","ObjectRefImpl","_object","_defaultValue","GetterRefImpl","_getter","toRef","source","defaultValue","propertyToRef","ComputedRefImpl","getter","_setter","isSSR","self","computed","getterOrOptions","debugOptions","setter","onlyGetter","callWithErrorHandling","instance","err","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","appErrorHandler","logError","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","cb","flushPreFlushCbs","seen","flushPostFlushCbs","deduped","comparator","diff","check","emit","event","rawArgs","props","modelArg","modifiersKey","number","trim","handlerName","handler","onceHandler","normalizeEmitsOptions","comp","appContext","asMixin","cached","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","options","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","pushScopeId","popScopeId","withScopeId","_id","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","Component","vnode","withProxy","propsOptions","slots","attrs","render","renderCache","data","setupState","inheritAttrs","fallthroughAttrs","proxyToUse","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","Comment","root","keys","shapeFlag","filterModelListeners","cloneVNode","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","component","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","emitsOptions","nextKeys","updateHOCHostEl","isSuspense","queueEffectWithSuspense","suspense","watchEffect","doWatch","INITIAL_WATCHER_VALUE","watch","immediate","deep","flush","onTrack","onTrigger","currentInstance","forceTrigger","isMultiSource","isShallow$1","s","traverse","cleanup","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","useSSRContext","queuePostRenderEffect","unwatch","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","path","segments","withDirectives","directives","internalInstance","getExposeProxy","bindings","dir","modifiers","invokeDirectiveHook","oldBindings","binding","hook","useTransitionState","state","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","BaseTransitionImpl","getCurrentInstance","prevTransitionKey","children","getTransitionRawChildren","child","rawProps","mode","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","isSameVNodeType","leavingHooks","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","BaseTransition","leavingVNodes","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","callHook","callAsyncHook","hook2","hooks","leavingVNode","afterHook","cancelHook","called","cancelled","vnode2","isKeepAlive","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","extraOptions","isAsyncWrapper","KeepAliveImpl","sharedContext","current","parentSuspense","patch","move","_unmount","createElement","storageContainer","container","anchor","isSVG","instance2","vnodeHook","invokeVNodeHook","unmount","resetShapeFlag","pruneCache","filter","getComponentName","pruneCacheEntry","include","exclude","matches","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","subTree","da","rawVNode","isVNode","max","cachedVNode","KeepAlive","pattern","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","resolveDirective","warnMissing","selfName","resolve","registry","renderList","renderItem","index","renderSlot","fallback","noSlotted","slot","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","vnodes","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","descriptor","normalizePropsOrEmits","applyOptions","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","filters","resolveInjections","methodHandler","opt","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","inject","h","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","to","from","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","isMounted","app","version","plugin","mixin","directive","rootContainer","isHydrate","currentApp","parentProvides","treatDefaultAsFactory","initProps","isStateful","InternalObjectKey","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","stringIndex","getType","ctor","match","isSameType","expectedTypes","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","n1","n2","parentComponent","slotScopeIds","getNextHostNode","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","next","removeStaticNode","mountElement","patchElement","transition","dirs","mountChildren","setScopeId","unmountChildren","needCallTransitionHooks","scopeId","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","update","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","allowed","ch1","ch2","len","arrI","isTeleport","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","style","extraProps","mergeRef","mergedProps","mergeProps","createTextVNode","text","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","globalCurrentInstanceSetters","settersKey","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","compile","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","getAttrsProxy","includeInferred","computed$1","propsOrChildren","ssrContextKey","svgNS","doc","templateContainer","nodeOps","tag","is","node","selector","before","wrapper","patchClass","transitionClasses","patchStyle","isCssString","setStyle","currentDisplay","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","needRemove","addEventListener","removeEventListener","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","nativeOnRE","patchProp","shouldSetAsProp","TRANSITION","ANIMATION","Transition","resolveTransitionProps","DOMTransitionPropsValidators","TransitionPropsValidators","h2","hasExplicitCallback","baseProps","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","_vtc","endId","expectedType","explicitTimeout","resolveIfNotStale","timeout","propCount","getTransitionInfo","endEvent","ended","onEnd","styles","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","d","toMs","positionMap","newPositionMap","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","cssTransitionProps","removeMode","TransitionGroup","oldPos","newPos","dx","dy","clone","getModelAssigner","vModelCheckbox","modelValue","elementValue","getValue","checked","assign","found","filtered","getCheckboxValue","setChecked","systemModifiers","modifierGuards","withModifiers","guard","keyNames","withKeys","eventKey","k","vShow","setDisplay","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","EventEmitter","eventsSuspended","listener","Listener","results","listeners","params","reject","Listener$1","Enumerations","Note","wm","Utilities","fragments","octaveOffset","semitoneOffset","identifier","notes","octave","accidental","channel","channels","ch","time","parsed","input","output","note","msb","lsb","multiplied","message","element","cm","OutputChannel","pressure","offset","controller","parameter","valid","noteOffOptions","nVelocity","command","coarse","fine","semitones","cents","nrpn","program","rpn","Output","midiOutput","legacy","Message","identification","Forwarder","destinations","destination","InputChannel","data1","data2","numberedEvent","namedEvent","paramMsb","paramLsb","subtype","legacyEvent","Input","midiInput","forwarder","WebMidi","errorEvent","midiAccessGrantedEvent","enabledEvent","promises","portsChangedEvent","nInput","nOutput","tryOnScopeDispose","toValue","isClient","clamp","min","noop","isIOS","getIsIOS","createFilterWrapper","bypassFilter","invoke","pausableFilter","extendFilter","isActive","pause","resume","eventFilter","toRef$1","tryOnMounted","sync","__getOwnPropSymbols$8","__hasOwnProp$8","__propIsEnum$8","__objRest$5","watchWithFilter","__defProp$2","__defProps$2","__getOwnPropDescs$2","__getOwnPropSymbols$2","__hasOwnProp$2","__propIsEnum$2","__defNormalProp$2","__spreadValues$2","__spreadProps$2","__objRest$1","watchPausable","unrefElement","elRef","plain","defaultWindow","defaultDocument","useEventListener","events","cleanups","options2","stopWatch","stop","_iOSWorkaround","onClickOutside","window","ignore","capture","detectIframe","shouldListen","shouldIgnore","target2","__defProp$o","__defProps$b","__getOwnPropDescs$b","__getOwnPropSymbols$r","__hasOwnProp$r","__propIsEnum$r","__defNormalProp$o","__spreadValues$o","__spreadProps$b","createKeyPredicate","keyFilter","onKeyStroke","eventName","passive","dedupe","predicate","onKeyDown","useMounted","useSupported","useRafFn","previousFrameTimestamp","rafId","loop","timestamp","delta","useMediaQuery","query","isSupported","mediaQuery","_global","globalKey","handlers","getHandlers","getSSRHandler","guessSerializerType","rawInit","__defProp$k","__getOwnPropSymbols$n","__hasOwnProp$n","__propIsEnum$n","__defNormalProp$k","__spreadValues$k","StorageSerializers","customStorageEventName","useStorage","defaults","storage","listenToStorageChanges","writeDefaults","mergeDefaults","onError","_a2","serializer","pauseWatch","resumeWatch","pausableWatch","write","updateFromCustomEvent","serialized","read","usePreferredDark","__defProp$j","__getOwnPropSymbols$m","__hasOwnProp$m","__propIsEnum$m","__defNormalProp$j","__spreadValues$j","useColorMode","attribute","storageKey","storageRef","emitAuto","disableTransition","modes","preferredDark","system","store","updateHTMLAttrs","selector2","attribute2","defaultOnChanged","onChanged","auto","__defProp$i","__defProps$8","__getOwnPropDescs$8","__getOwnPropSymbols$k","__hasOwnProp$k","__propIsEnum$k","__defNormalProp$i","__spreadValues$i","__spreadProps$8","useDark","valueDark","valueLight","mode2","defaultHandler","modeVal","__getOwnPropSymbols$g","__hasOwnProp$g","__propIsEnum$g","__objRest$2","useResizeObserver","observerOptions","observer","targets","els","_el","useElementBounding","reset","windowResize","windowScroll","height","bottom","left","right","top","width","x","y","rect","ele","eventHandlers","useFullscreen","document","autoExit","targetRef","isFullscreen","requestMethod","exitMethod","fullscreenEnabled","fullscreenElementMethod","isCurrentElementFullScreen","isElementFullScreen","exit","enter","toggle","handlerCallback","isElementFullScreenValue","createExtendedExponentialRampToValueAutomationEvent","endTime","insertTime","createExtendedLinearRampToValueAutomationEvent","createSetValueAutomationEvent","startTime","createSetValueCurveAutomationEvent","getTargetValueAtTime","valueAtStartTime","timeConstant","isExponentialRampToValueAutomationEvent","automationEvent","isLinearRampToValueAutomationEvent","isAnyRampToValueAutomationEvent","isSetValueAutomationEvent","isSetValueCurveAutomationEvent","getValueOfAutomationEventAtIndexAtTime","automationEvents","getEndTimeAndValueOfPreviousAutomationEvent","currentAutomationEvent","nextAutomationEvent","isCancelAndHoldAutomationEvent","isCancelScheduledValuesAutomationEvent","getEventTime","getExponentialRampValueAtTime","getLinearRampValueAtTime","interpolateValue","theoreticIndex","lowerIndex","upperIndex","getValueCurveValueAtTime","isSetTargetAutomationEvent","AutomationEventList","eventTime","removedAutomationEvent","lastAutomationEvent","startValue","truncatedAutomationEvent","previousAutomationEvent","persistentAutomationEvent","remainingAutomationEvents","firstRemainingAutomationEvent","indexOfNextEvent","indexOfCurrentEvent","createCancelAndHoldAutomationEvent","cancelTime","createCancelScheduledValuesAutomationEvent","createExponentialRampToValueAutomationEvent","createLinearRampToValueAutomationEvent","createSetTargetAutomationEvent","createAbortError","createAddActiveInputConnectionToAudioNode","insertElementInSet","activeInputs","eventListener","ignoreDuplicates","activeInputConnection","createAddAudioNodeConnections","audioNodeConnectionsStore","audioNode","audioNodeRenderer","nativeAudioNode","createAddAudioParamConnections","audioParamConnectionsStore","audioParam","audioParamRenderer","ACTIVE_AUDIO_NODE_STORE","AUDIO_NODE_CONNECTIONS_STORE","AUDIO_NODE_STORE","AUDIO_PARAM_CONNECTIONS_STORE","AUDIO_PARAM_STORE","CONTEXT_STORE","EVENT_LISTENERS","CYCLE_COUNTERS","NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS","NODE_TO_PROCESSOR_MAPS","isConstructible","constructible","IMPORT_STATEMENT_REGEX","splitImportStatements","url","importStatements","sourceWithoutImportStatements","unresolvedUrl","importStatementWithResolvedUrl","verifyParameterDescriptors","parameterDescriptors","verifyProcessorCtor","processorCtor","createAddAudioWorkletModule","cacheTestResult","createNotSupportedError","evaluateSource","exposeCurrentFrameAndCurrentTime","fetchSource","getNativeContext","getOrCreateBackupOfflineAudioContext","isNativeOfflineAudioContext","nativeAudioWorkletNodeConstructor","ongoingRequests","resolvedRequests","testAudioWorkletProcessorPostMessageSupport","moduleURL","resolvedRequestsOfContext","ongoingRequestsOfContext","promiseOfOngoingRequest","nativeContext","promise","absoluteUrl","wrappedSource","evaluateAudioWorkletGlobalScope","nodeNameToProcessorConstructorMap","isSupportingPostMessage","currentIndex","blob","backupOfflineAudioContext","nativeContextOrBackupOfflineAudioContext","updatedResolvedRequestsOfContext","updatedOngoingRequestsOfContext","getValueForKey","pickElementFromSet","matchingElements","matchingElement","deletePassiveInputConnectionToAudioNode","passiveInputs","passiveInputConnections","matchingConnection","passiveInputConnection","getEventListenersOfAudioNode","setInternalStateToActive","isAudioWorkletNode","setInternalStateToPassive","setInternalStateToPassiveWhenNecessary","connections","createAddConnectionToAudioNode","addActiveInputConnectionToAudioNode","addPassiveInputConnectionToAudioNode","connectNativeAudioNodeToNativeAudioNode","deleteActiveInputConnectionToAudioNode","disconnectNativeAudioNodeFromNativeAudioNode","getAudioNodeConnections","getAudioNodeTailTime","getNativeAudioNode","isActiveAudioNode","isPartOfACycle","isPassiveAudioNode","tailTimeTimeoutIds","isOffline","outputs","eventListeners","nativeDestinationAudioNode","nativeSourceAudioNode","partialConnection","tailTime","tailTimeTimeoutId","outputConnection","createAddPassiveInputConnectionToAudioNode","createAddSilentConnection","createNativeGainNode","nativeAudioScheduledSourceNode","nativeGainNode","disconnect","createAddUnrenderedAudioWorkletNode","getUnrenderedAudioWorkletNodes","audioWorkletNode","DEFAULT_OPTIONS","createAnalyserNodeConstructor","audionNodeConstructor","createAnalyserNodeRenderer","createIndexSizeError","createNativeAnalyserNode","mergedOptions","nativeAnalyserNode","analyserNodeRenderer","maxDecibels","minDecibels","array","isOwnedByContext","createAnalyserNodeRendererFactory","renderInputsOfAudioNode","renderedNativeAnalyserNodes","createAnalyserNode","nativeOfflineAudioContext","renderedNativeAnalyserNode","testAudioBufferCopyChannelMethodsOutOfBoundsSupport","nativeAudioBuffer","wrapAudioBufferGetChannelDataMethod","audioBuffer","getChannelData","createAudioBufferConstructor","audioBufferStore","nativeAudioBufferConstructor","nativeOfflineAudioContextConstructor","testNativeAudioBufferConstructorSupport","wrapAudioBufferCopyChannelMethods","wrapAudioBufferCopyChannelMethodsOutOfBounds","AudioBuffer","length","numberOfChannels","sampleRate","MOST_NEGATIVE_SINGLE_FLOAT","MOST_POSITIVE_SINGLE_FLOAT","createAudioBufferSourceNodeConstructor","audioNodeConstructor","createAudioBufferSourceNodeRenderer","createAudioParam","createInvalidStateError","createNativeAudioBufferSourceNode","wrapEventListener","nativeAudioBufferSourceNode","audioBufferSourceNodeRenderer","wrappedListener","nativeOnEnded","when","resetInternalStateToPassive","createAudioBufferSourceNodeRendererFactory","connectAudioParam","renderAutomation","renderedNativeAudioBufferSourceNodes","createAudioBufferSourceNode","nativeAudioBufferSourceNodeIsOwnedByContext","renderedNativeAudioBufferSourceNode","isAudioBufferSourceNode","isBiquadFilterNode","isConstantSourceNode","isGainNode","isOscillatorNode","isStereoPannerNode","getAudioParamConnections","deactivateActiveAudioNodeInputConnections","trace","audioParams","audioParamConnections","deactivateAudioGraph","isValidLatencyHint","latencyHint","createAudioContextConstructor","baseAudioContextConstructor","createUnknownError","mediaElementAudioSourceNodeConstructor","mediaStreamAudioDestinationNodeConstructor","mediaStreamAudioSourceNodeConstructor","mediaStreamTrackAudioSourceNodeConstructor","nativeAudioContextConstructor","nativeAudioContext","revokeState","mediaElement","mediaStream","mediaStreamTrack","resolvePromise","createAudioDestinationNodeConstructor","createAudioDestinationNodeRenderer","createNativeAudioDestinationNode","channelCount","nativeAudioDestinationNode","audioDestinationNodeRenderer","renderedNativeAudioDestinationNodes","createAudioDestinationNode","renderedNativeAudioDestinationNode","createAudioListenerFactory","createNativeChannelMergerNode","createNativeConstantSourceNode","createNativeScriptProcessorNode","getFirstSample","overwriteAccessors","nativeListener","createFakeAudioParams","buffer","channelMergerNode","isScriptProcessorNodeCreated","lastOrientation","lastPosition","createScriptProcessorNode","scriptProcessorNode","inputBuffer","orientation","positon","createSetOrientation","createSetPosition","createFakeAudioParam","setValue","constantSourceNode","cancelAndHoldAtTime","cancelScheduledValues","exponentialRampToValueAtTime","linearRampToValueAtTime","setTargetAtTime","setValueAtTime","setValueCurveAtTime","forwardX","forwardY","forwardZ","positionX","positionY","positionZ","upX","upY","upZ","isAudioNode","audioNodeOrAudioParam","isAudioNodeOutputConnection","lmnt","addActiveInputConnectionToAudioParam","addPassiveInputConnectionToAudioParam","isNativeAudioNodeFaker","nativeAudioNodeOrNativeAudioNodeFaker","fakeNativeDestinationAudioNode","deleteActiveInputConnection","activeInputConnections","deleteActiveInputConnectionToAudioParam","deleteEventListenerOfAudioNode","deletePassiveInputConnectionToAudioParam","getNativeAudioParam","testAudioNodeDisconnectMethodSupport","analyzer","dummy","ones","channelData","chnnlDt","sample","visitEachAudioNodeOnce","cycles","visitor","counts","cycle","count","isNativeAudioNode","nativeAudioNodeOrAudioParam","wrapAudioNodeDisconnectMethod","connect","returnValue","connectionsToDestination","connection","destinationOrOutput","filteredConnections","addConnectionToAudioParamOfAudioContext","nativeAudioParam","deleteInputConnectionOfAudioNode","deleteInputConnectionOfAudioParam","deleteInputsOfAudioNode","deleteInputsOfAudioParam","deleteAnyConnection","audioNodeConnectionsOfSource","deleteConnectionAtOutput","deleteConnectionToDestination","createAudioNodeConstructor","addAudioNodeConnections","addConnectionToAudioNode","createIncrementCycleCounter","createInvalidAccessError","decrementCycleCounter","detectCycles","eventTargetConstructor","isNativeAudioContext","isNativeAudioParam","isPassive","createAudioParamFactory","addAudioParamConnections","audioParamAudioNodeStore","audioParamStore","createAudioParamRenderer","setValueAtTimeUntilPossible","isAudioParamOfOfflineAudioContext","maxValue","minValue","automationEventList","previousLastEvent","currentLastEvent","convertedValues","firstSample","lastSample","numberOfInterpolatedValues","interpolatedValues","timeOfLastSample","ReadOnlyMap","parameters","createAudioWorkletNodeConstructor","addUnrenderedAudioWorkletNode","createAudioWorkletNodeRenderer","createNativeAudioWorkletNode","getBackupOfflineAudioContext","sanitizeAudioWorkletNodeOptions","setActiveAudioWorkletNodeInputs","testAudioWorkletNodeOptionsClonability","processorConstructor","nativeAudioWorkletNode","audioWorkletNodeRenderer","nm","nativeOnProcessorError","copyFromChannel","channelNumber","bufferOffset","slicedInput","copyToChannel","createNestedArrays","arrays","getAudioWorkletProcessor","nodeToProcessorMap","processBuffer","renderedBuffer","outputChannelCount","numberOfInputChannels","numberOfOutputChannels","sum","processedBuffer","audioNodeConnections","audioWorkletProcessor","inputs","prmtrs","potentiallyEmptyInputs","activeSourceFlag","outputChannelSplitterNodeOutput","error","createAudioWorkletNodeRendererFactory","connectMultipleOutputs","createNativeChannelSplitterNode","deleteUnrenderedAudioWorkletNode","disconnectMultipleOutputs","renderNativeOfflineAudioContext","renderedNativeAudioNodes","processedBufferPromise","createAudioNode","nativeOutputNodes","nativeAudioWorkletNodeIsOwnedByContext","outputChannelSplitterNode","outputChannelMergerNodes","outputGainNode","numberOfParameters","partialOfflineAudioContext","gainNodes","inputChannelSplitterNodes","constantSourceNodes","inputChannelMergerNode","gainNode","audioBufferSourceNode","outputChannelMergerNode","renderedNativeAudioWorkletNodeOrGainNode","createBaseAudioContextConstructor","addAudioWorkletModule","analyserNodeConstructor","audioBufferConstructor","audioBufferSourceNodeConstructor","biquadFilterNodeConstructor","channelMergerNodeConstructor","channelSplitterNodeConstructor","constantSourceNodeConstructor","convolverNodeConstructor","decodeAudioData","delayNodeConstructor","dynamicsCompressorNodeConstructor","gainNodeConstructor","iIRFilterNodeConstructor","minimalBaseAudioContextConstructor","oscillatorNodeConstructor","pannerNodeConstructor","periodicWaveConstructor","stereoPannerNodeConstructor","waveShaperNodeConstructor","_nativeContext","numberOfInputs","numberOfOutputs","maxDelayTime","feedforward","feedback","real","imag","constraints","audioData","successCallback","errorCallback","createBiquadFilterNodeConstructor","createBiquadFilterNodeRenderer","createNativeBiquadFilterNode","setAudioNodeTailTime","nativeBiquadFilterNode","biquadFilterNodeRenderer","frequencyHz","magResponse","phaseResponse","createBiquadFilterNodeRendererFactory","renderedNativeBiquadFilterNodes","createBiquadFilterNode","nativeBiquadFilterNodeIsOwnedByContext","renderedNativeBiquadFilterNode","createCacheTestResult","ongoingTests","testResults","tester","test","cachedTestResult","ongoingTest","synchronousTestResult","finalTestResult","createChannelMergerNodeConstructor","createChannelMergerNodeRenderer","nativeChannelMergerNode","channelMergerNodeRenderer","createChannelMergerNodeRendererFactory","renderedNativeAudioNode","createChannelSplitterNodeConstructor","createChannelSplitterNodeRenderer","sanitizeChannelSplitterOptions","nativeChannelSplitterNode","channelSplitterNodeRenderer","createChannelSplitterNodeRendererFactory","createConnectAudioParam","renderInputsOfAudioParam","createConnectMultipleOutputs","outputAudioNodes","outputAudioNode","createConnectedNativeAudioBufferSourceNodeFactory","createConstantSourceNodeConstructor","createConstantSourceNodeRendererFactory","nativeConstantSourceNode","constantSourceNodeRenderer","renderedNativeConstantSourceNodes","createConstantSourceNode","nativeConstantSourceNodeIsOwnedByContext","renderedNativeConstantSourceNode","createConvertNumberToUnsignedLong","unit32Array","createConvolverNodeConstructor","createConvolverNodeRenderer","createNativeConvolverNode","nativeConvolverNode","convolverNodeRenderer","createConvolverNodeRendererFactory","renderedNativeConvolverNodes","createConvolverNode","renderedNativeConvolverNode","createCreateNativeOfflineAudioContext","createDataCloneError","detachArrayBuffer","arrayBuffer","port1","port2","closeAndResolve","createDecodeAudioData","createEncodingError","detachedArrayBuffers","isNativeContext","testPromiseSupport","anyContext","complete","fail","createDecrementCycleCounter","cycleCounters","cycleCounter","nativeDestinationAudioParam","createDelayNodeConstructor","createDelayNodeRenderer","createNativeDelayNode","nativeDelayNode","delayNodeRenderer","createDelayNodeRendererFactory","renderedNativeDelayNodes","createDelayNode","nativeDelayNodeIsOwnedByContext","renderedNativeDelayNode","createDeleteActiveInputConnectionToAudioNode","createDeleteUnrenderedAudioWorkletNode","isDelayNode","createDetectCycles","chain","nextLink","mergedCycles","nestedCycles","getOutputAudioNodeAtIndex","createDisconnectMultipleOutputs","createDynamicsCompressorNodeConstructor","createDynamicsCompressorNodeRenderer","createNativeDynamicsCompressorNode","nativeDynamicsCompressorNode","dynamicsCompressorNodeRenderer","previousChannelCount","createDynamicsCompressorNodeRendererFactory","renderedNativeDynamicsCompressorNodes","createDynamicsCompressorNode","nativeDynamicsCompressorNodeIsOwnedByContext","renderedNativeDynamicsCompressorNode","createEvaluateSource","head","script","originalOnErrorHandler","removeErrorEventListenerAndRevokeUrl","src","lineno","colno","createEventTargetConstructor","_nativeEventTarget","wrappedEventListener","createExposeCurrentFrameAndCurrentTime","currentTime","createFetchSource","response","createGainNodeConstructor","createGainNodeRenderer","gainNodeRenderer","createGainNodeRendererFactory","renderedNativeGainNodes","createGainNode","nativeGainNodeIsOwnedByContext","renderedNativeGainNode","createGetActiveAudioWorkletNodeInputs","activeAudioWorkletNodeInputsStore","createGetAudioNodeRenderer","createGetAudioNodeTailTime","audioNodeTailTimeStore","createGetAudioParamRenderer","createGetBackupOfflineAudioContext","backupOfflineAudioContextStore","createGetNativeContext","contextStore","createGetOrCreateBackupOfflineAudioContext","createGetUnrenderedAudioWorkletNodes","unrenderedAudioWorkletNodeStore","unrenderedAudioWorkletNodes","wrapIIRFilterNodeGetFrequencyResponseMethod","nativeIIRFilterNode","getFrequencyResponse","createIIRFilterNodeConstructor","createNativeIIRFilterNode","createIIRFilterNodeRenderer","iirFilterNodeRenderer","filterBuffer","feedbackLength","feedforwardLength","minLength","xBuffer","yBuffer","bufferIndex","bufferLength","inputLength","filterFullBuffer","convertedFeedback","convertedFeedforward","filteredBuffer","createIIRFilterNodeRendererFactory","filteredBufferPromise","nativeIIRFilterNodeIsOwnedByContext","createIncrementCycleCounterFactory","createIsAnyAudioContext","anything","createIsAnyAudioNode","audioNodeStore","createIsAnyAudioParam","createIsAnyOfflineAudioContext","createIsNativeAudioContext","createIsNativeAudioNode","createIsNativeAudioParam","createIsNativeContext","createIsNativeOfflineAudioContext","createIsSecureContext","createMediaElementAudioSourceNodeConstructor","createNativeMediaElementAudioSourceNode","nativeMediaElementAudioSourceNode","createMediaStreamAudioDestinationNodeConstructor","createNativeMediaStreamAudioDestinationNode","nativeMediaStreamAudioDestinationNode","createMediaStreamAudioSourceNodeConstructor","createNativeMediaStreamAudioSourceNode","nativeMediaStreamAudioSourceNode","createMediaStreamTrackAudioSourceNodeConstructor","createNativeMediaStreamTrackAudioSourceNode","nativeMediaStreamTrackAudioSourceNode","createMinimalBaseAudioContextConstructor","audioDestinationNodeConstructor","createAudioListener","nativeOnStateChange","uint32Array","createMonitorConnections","whenConnected","whenDisconnected","wasDisconnected","wasConnected","isDisconnected","assignNativeAudioNodeOption","option","assignNativeAudioNodeOptions","testAnalyserNodeGetFloatTimeDomainDataMethodSupport","wrapAnalyserNodeGetFloatTimeDomainDataMethod","byteTimeDomainData","createNativeAnalyserNodeFactory","createNativeAudioBufferConstructor","assignNativeAudioNodeAudioParamValue","wrapAudioBufferSourceNodeStartMethodConsecutiveCalls","isScheduled","wrapAudioScheduledSourceNodeStartMethodNegativeParameters","wrapAudioScheduledSourceNodeStopMethodNegativeParameters","createNativeAudioBufferSourceNodeFactory","addSilentConnection","testAudioBufferSourceNodeStartMethodConsecutiveCallsSupport","testAudioBufferSourceNodeStartMethodOffsetClampingSupport","testAudioBufferSourceNodeStopMethodNullifiedBufferSupport","testAudioScheduledSourceNodeStartMethodNegativeParametersSupport","testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport","testAudioScheduledSourceNodeStopMethodNegativeParametersSupport","wrapAudioBufferSourceNodeStartMethodOffsetClampling","wrapAudioBufferSourceNodeStopMethodNullifiedBuffer","wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls","createNativeAudioContextConstructor","createNativeAudioDestinationNodeFactory","isNodeOfNativeOfflineAudioContext","createNativeAudioWorkletNodeConstructor","testClonabilityOfAudioWorkletNodeOptions","audioWorkletNodeOptions","createNativeAudioWorkletNodeFactory","createNativeAudioWorkletNodeFaker","monitorConnections","baseLatency","patchedEventListeners","onprocessorerror","unpatchedEventListener","patchedEventListener","computeBufferSize","cloneAudioWorkletNodeOptions","createAudioWorkletProcessorPromise","clonedAudioWorkletNodeOptions","createAudioWorkletProcessor","audioWorkletProcessorPromise","createNativeAudioWorkletNodeFakerFactory","getActiveAudioWorkletNodeInputs","messageChannel","bufferSize","parameterMap","channelInterpretation","nativeAudioWorkletNodeFaker","onmessage","dWrkltPrcssr","disconnectOutputsGraph","activeInputIndexes","outputBuffer","isConnected","disconnectFakeGraph","connectFakeGraph","createNativeChannelMergerNodeFactory","wrapChannelMergerNode","wrapChannelSplitterNode","channelSplitterNode","createNativeConstantSourceNodeFactory","createNativeConstantSourceNodeFaker","interceptConnections","original","interceptor","createNativeConstantSourceNodeFakerFactory","audioNodeOptions","nativeConstantSourceNodeFaker","createNativeConvolverNodeFactory","createNativeDynamicsCompressorNodeFactory","createNativeIIRFilterNodeFactory","createNativeIIRFilterNodeFaker","divide","denominator","multiply","evaluatePolynomial","coefficient","z","createNativeIIRFilterNodeFakerFactory","channelCountMode","bufferIndexes","xBuffers","yBuffers","nyquist","omega","numerator","audioStreamTracks","filteredAudioStreamTracks","createNativeMediaStreamTrackAudioSourceNodeFactory","createNativeOfflineAudioContextConstructor","createNativeOscillatorNodeFactory","nativeOscillatorNode","createNativePannerNodeFactory","createNativePannerNodeFaker","nativePannerNode","createNativePannerNodeFakerFactory","createNativeWaveShaperNode","coneInnerAngle","coneOuterAngle","coneOuterGain","distanceModel","maxDistance","orientationX","orientationY","orientationZ","panningModel","refDistance","rolloffFactor","pannerNode","SINGLE_CHANNEL_OPTIONS","inputGainNode","orientationXGainNode","orientationYGainNode","orientationZGainNode","positionXGainNode","positionYGainNode","positionZGainNode","waveShaperNode","nativePannerNodeFaker","createNativePeriodicWaveFactory","disableNormalization","convertedImag","convertedReal","nativePeriodicWave","createNativeStereoPannerNodeFactory","createNativeStereoPannerNodeFaker","nativeStereoPannerNode","createNativeStereoPannerNodeFakerFactory","DC_CURVE","HALF_PI","SINGLE_CHANNEL_WAVE_SHAPER_OPTIONS","buildInternalGraphForMono","panGainNode","leftWaveShaperCurve","rightWaveShaperCurve","leftGainNode","leftWaveShaperNode","panWaveShaperNode","rightGainNode","rightWaveShaperNode","buildInternalGraphForStereo","leftInputForLeftOutputWaveShaperCurve","leftInputForRightOutputWaveShaperCurve","rightInputForLeftOutputWaveShaperCurve","rightInputForRightOutputWaveShaperCurve","centerIndex","leftInputForLeftOutputGainNode","leftInputForLeftOutputWaveShaperNode","leftInputForRightOutputGainNode","leftInputForRightOutputWaveShaperNode","rightInputForLeftOutputGainNode","rightInputForLeftOutputWaveShaperNode","rightInputForRightOutputGainNode","rightInputForRightOutputWaveShaperNode","buildInternalGraph","pan","connectGraph","disconnectGraph","nativeStereoPannerNodeFakerFactory","createNativeWaveShaperNodeFactory","createConnectedNativeAudioBufferSourceNode","createNativeWaveShaperNodeFaker","isDCCurve","nativeWaveShaperNode","curve","disconnectNativeAudioBufferSourceNode","createNativeWaveShaperNodeFakerFactory","oversample","negativeWaveShaperNode","positiveWaveShaperNode","invertGainNode","revertGainNode","unmodifiedCurve","nativeWaveShaperNodeFaker","curveLength","negativeCurve","positiveCurve","createOfflineAudioContextConstructor","createNativeOfflineAudioContext","startRendering","delayStateChangeEvent","createOscillatorNodeConstructor","createNativeOscillatorNode","createOscillatorNodeRenderer","oscillatorNodeRenderer","periodicWave","createOscillatorNodeRendererFactory","renderedNativeOscillatorNodes","createOscillatorNode","nativeOscillatorNodeIsOwnedByContext","renderedNativeOscillatorNode","createPannerNodeConstructor","createNativePannerNode","createPannerNodeRenderer","pannerNodeRenderer","createPannerNodeRendererFactory","renderedBufferPromise","commonAudioNodeOptions","commonNativePannerNodeOptions","nativePannerNodeIsOwnedByContext","nativeConstantSourceNodes","channelDatas","gateGainNode","partialPannerNode","renderedNativeGainNodeOrNativePannerNode","createPeriodicWaveConstructor","createNativePeriodicWave","periodicWaveStore","sanitizePeriodicWaveOptions","PeriodicWave","createRenderAutomation","getAudioParamRenderer","createRenderInputsOfAudioNode","getAudioNodeRenderer","allRenderingPromises","renderingPromises","createRenderInputsOfAudioParam","createRenderNativeOfflineAudioContext","testOfflineAudioContextCurrentTimeSupport","isOfflineAudioContextCurrentTimeSupported","createSetActiveAudioWorkletNodeInputs","createSetAudioNodeTailTime","createStartRendering","createStereoPannerNodeConstructor","createNativeStereoPannerNode","createStereoPannerNodeRenderer","stereoPannerNodeRenderer","createStereoPannerNodeRendererFactory","renderedNativeStereoPannerNodes","createStereoPannerNode","nativeStereoPannerNodeIsOwnedByContext","renderedNativeStereoPannerNode","createTestAudioBufferConstructorSupport","createTestAudioWorkletProcessorPostMessageSupport","offlineAudioContext","isEmittingMessageEvents","isEmittingProcessorErrorEvents","oscillator","createTestOfflineAudioContextCurrentTimeSupport","createWaveShaperNodeConstructor","createWaveShaperNodeRenderer","waveShaperNodeRenderer","createWaveShaperNodeRendererFactory","renderedNativeWaveShaperNodes","createWaveShaperNode","renderedNativeWaveShaperNode","createWindow","createWrapAudioBufferCopyChannelMethods","convertNumberToUnsignedLong","channelNumberAsNumber","bufferOffsetAsNumber","audioBufferLength","destinationLength","sourceLength","createWrapAudioBufferCopyChannelMethodsOutOfBounds","createWrapAudioBufferSourceNodeStopMethodNullifiedBuffer","nullifiedBuffer","createWrapChannelMergerNode","property","prototype","wrapAudioBufferSourceNodeStartMethodOffsetClamping","clampedOffset","disconnectGainNode","isStopped","createConstantSourceNodeRenderer","isSecureContext","audioContextConstructor","audioWorkletNodeConstructor","offlineAudioContextConstructor","isAnyAudioContext","isAnyAudioNode","isAnyAudioParam","isAnyOfflineAudioContext","isUndef","isDefined","isNumber","isNote","assert","statement","assertRange","gte","lte","assertContextRunning","warn","isInsideScheduledCallback","printedScheduledWarning","enterScheduledCallback","insideCallback","assertUsedScheduleTime","defaultLogger","log","createAudioContext","stdAudioContext","createOfflineAudioContext","stdOfflineAudioContext","theWindow","hasAudioContext","createAudioWorkletNode","stdAudioWorkletNode","__decorate","decorators","desc","__awaiter","_arguments","P","generator","adopt","fulfilled","step","rejected","Ticker","updateInterval","contextSampleRate","blobUrl","worker","interval","isAudioParam","isOfflineAudioContext","isAudioContext","isAudioBuffer","noCopy","deepMerge","sources","deepEquals","arrayA","arrayB","optionsFromArguments","argsArray","objKey","opts","getDefaultsFromInstance","defaultArg","given","omitFromObject","omit","Tone","EPSILON","GT","GTE","EQ","LT","Timeline","lastValue","param","after","beginning","midPoint","nextEvent","testEvent","lowerBound","upperBound","notifyNewContext","onContextInit","initializeContext","notifyCloseContext","onContextClose","closeContext","Emitter","boundCallback","eventList","constr","BaseContext","Context","_b","feedForward","stream","t","constant","now","firstEvent","intervalFn","DummyContext","_numberOfChannels","_length","_sampleRate","_numberOfInputs","_numberOfOutputs","_maxDelayTime","_feedForward","_feedback","_real","_imag","_constraints","_stream","_element","_audioData","_name","_options","_url","_fn","_timeout","_interval","_val","_d","readOnly","writable","noOp","ToneAudioBuffer","getContext","doneLoading","isMultidimensional","multiChannelArray","chanNum","outputArray","numChannels","channelArray","startSamples","endSamples","retBuffer","rev","extensions","extension","ext","baseUrl","location","OfflineContext","asynchronous","yieldEvery","dummyContext","globalContext","setContext","disposeOld","printString","dbToGain","db","gainToDb","gain","intervalToFrequencyRatio","A4","getA4","setA4","freq","ftom","frequency","ftomf","mtof","midi","TimeBaseClass","units","dot","numericValue","scalar","q","total","typeName","quantity","expr","matching","beats","seconds","ticks","TimeClass","quantTo","subdiv","percent","subdivision","testNotations","power","closest","closestSeconds","notation","notationSeconds","quarterTime","quarters","measures","sixteenths","sixteenthString","FrequencyClass","pitch","noteNumber","noteToScaleIndex","intervals","scaleIndexToNote","Frequency","TransportTimeClass","ToneWithContext","member","StateTimeline","initial","Param","computedTime","previous","previousVal","beforeValue","currentVal","rampTime","scaling","startingValue","segTime","valueAtTime","previousEvent","subdivisions","t0","v0","v1","t1","ToneAudioNode","nodeList","outputNum","inputNum","nodes","connectSeries","first","srcNode","dstNode","outputNumber","inputNumber","Gain","OneShotSource","fadeInTime","fadeOutTime","additionalTail","disposeCallback","ToneConstantSource","Signal","connectSignal","convert","overridden","signal","TickParam","computedValue","prevEvent","rampVal","ticksUntilTime","computedVal","segmentDur","val0","val1","onTheLineEvent","currentTick","tick","sol1","sol2","computedDuration","startTicks","TickSignal","TickSource","stopEvent","memoizedEvent","tmpEvent","lastState","elapsedTicks","eventToMemoize","periodStartTime","offsetEvent","elapsedSeconds","absoluteTicks","lastStateEvent","maxStartTime","ticksAtStart","nextTickTime","Clock","Delay","maxDelayInSeconds","ToneAudioBuffers","onerror","MidiClass","Midi","TicksClass","Draw","IntervalTimeline","IntervalNode","replacement","balance","temp","isLeftChild","pivotNode","allNodes","low","high","point","Volume","mute","Destination","TimelineValue","SignalOperator","WaveShaper","mapping","oversampling","isOverSampleType","Pow","exponent","TransportEvent","transport","tickDuration","TransportRepeatEvent","Transport","tickTime","progress","amount","eventId","timeline","computedAfter","offsetTicks","timeSig","startPosition","endPosition","remainingTick","ppq","transportPos","remainingTicks","ratio","sourceValue","scaleFactor","scaleBefore","reciprocal","scaleAfter","ratioSignal","syncedSignal","Source","sched","stateEvent","startOffset","ToneBufferSource","computedOffset","loopEnd","loopStart","loopDuration","computedDur","Noise","_noiseBuffers","rate","BUFFER_LENGTH","NUM_CHANNELS","_noiseCache","channelNum","lastOut","white","b0","b1","b2","b3","b4","b5","b6","generateWaveform","ToneOscillatorNode","Oscillator","description","oscProps","isBasicType","partials","wave","baseType","partial","fullPartials","phase","periodicWaveSize","partialCount","piFactor","twoPi","testPositions","AudioToGain","Multiply","AMOscillator","FMOscillator","PulseOscillator","FatOscillator","osc","iterator","spread","PWMOscillator","OmniOscillatorSourceMap","OmniOscillator","prefix","oscType","OscConstructor","oldOsc","sType","sourceType","mType","Add","Scale","Zero","LFO","currentMin","currentMax","range","valueMap","propertyKey","timeRange","Player","origDuration","GainToAudio","Envelope","direction","curveName","EnvelopeCurves","curveDef","velocity","attack","decay","currentValue","attackRate","decayValue","decayStart","release","attackPortion","envelopeDuration","sustainTime","totalDuration","cosineCurve","rippleCurve","rippleCurveFreq","sineWave","stairsCurve","steps","sineCurve","bounceCurve","invertCurve","out","reverseCurve","Instrument","changed","timePosition","originalMethod","Monophonic","computedFrequency","portTime","AmplitudeEnvelope","Synth","computedAttack","computedDecay","BiquadFilter","freqValues","magValues","phaseValues","filterClone","Filter","rolloff","rolloffNum","possibilities","cascadingCount","totalResponse","FrequencyEnvelope","octaves","MonoSynth","MembraneSynth","hertz","maxNote","workletContext","addToWorklet","classOrFunction","registerProcessor","classDesc","processor","toneAudioWorkletProcessor","singleIOProcess","delayLine","workletName","feedbackCombFilter","PolySynth","voice","activeVoiceIndex","firstAvail","midiNote","released","durationSeconds","sanitizedOptions","Sampler","urlMap","mid","midiFloat","remainder","difference","closestNote","playbackRate","CrossFade","Effect","LFOEffect","Panner","AutoPanner","bitCrusherWorklet","Merge","FeedbackEffect","FeedbackDelay","Reverb","previousReady","noiseL","noiseR","merge","renderPromise","Solo","solo","PanVol","Channel","volume","bus","sendKnob","Compressor","useClamp","_value","value2","synth","synthOptions","useSynth","ev","synthReleaseAll","bpm","synthAttack","synthRelease","play","init","synthOnce","noteKeys","useKeyboard","playMidi","off","title","noteInOn","_c","dur","useMidi","setupMidi","outs","midiAttack","midiRelease","midiOnce","setCC","initMidi","cc","ccIn","createChannel","setVelocity","midiPlay","midiStop","forwardMidi","iid","oid","pitchColor","alpha","getCircleCoord","radius","angle","visual","activeScene","useScene","acc","_imports_0","started","bpms","types","block0","color","panel","isDark","full","supported","cycleOctaves","oct","F2","G2","fastFloor","grad2","createNoise2D","random","perm","buildPermutationTable","permGrad2x","permGrad2y","n0","X0","Y0","x0","y0","i1","j1","x1","y1","x2","y2","ii","jj","gi0","g0x","g0y","gi1","g1x","g1y","t2","gi2","g2x","g2y","aux","__classPrivateFieldSet","this","privateMap","__classPrivateFieldGet","_block","_blocks","_bytes","_finalized","_first","_h0","_h1","_h2","_h3","_h4","_h5","_h6","_h7","_hashed","_hBytes","_is224","_lastByteIndex","_start","BKDRHash","seed","seed2","hash","MAX_SAFE_INTEGER","HEX_CHARS","EXTRA","SHIFT","K","blocks","Sha256","is224","sharedMemory","msg","code","f","g","s0","maj","ab","cd","bc","h0","h1","h3","h4","h5","h6","h7","hex","dataView","Sha256ToInt","sha256","RGB2HEX","RGBArray","HSL2RGB","H","S","L","ColorHash","hueResolution","hsl","rgb","__pages_import_0__","__vitePreload","stats","__pages_import_1__","spiral","__pages_import_2__","rose","__pages_import_3__","level","__pages_import_4__","__pages_import_5__","donut","__pages_import_6__","cross","routes","isBrowser","isESModule","applyToParams","newParams","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","searchString","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","position","toPosition","segment","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","search","slicePos","pathFromHash","useHistoryListeners","historyState","replace","teardowns","pauseState","popStateHandler","fromState","pauseListeners","listen","teardown","beforeUnloadListener","history","destroy","buildState","back","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","push","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","route","isRouteName","START_LOCATION_NORMALIZED","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","score","segmentScores","tokenIndex","token","subSegmentScore","repeatable","optional","regexp","re","subPattern","parse","stringify","avoidDuplicatedSlash","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","parser","matcher","createRouterMatcher","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","insertMatcher","matcherRef","getRoutes","isRecordChildOf","paramsFromLocation","matched","parentMatcher","mergeMetaFields","normalizeRecordProps","propsObject","meta","partialOptions","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","searchParams","searchParam","eqPos","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","enterCallbackArray","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","link","elClass","getLinkClass","RouterLink","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","injectedRoute","routeToDisplay","injectedDepth","depth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","routePropsOption","routeProps","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","href","matcherLocation","targetParams","fullPath","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","runWithContext","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","readyHandlers","errorHandlers","ready","isReady","scrollBehavior","reactiveRoute","unmountApp","recordFrom","recordTo","useRouter","useRoute","noise2D","getColor","color1","color2","hits","randomScene","rnd","scs","scenes","getBasePlacement","placement","getAlignment","getMainAxisFromPlacement","getLengthFromAxis","axis","computeCoordsFromPlacement","_ref","reference","floating","commonX","commonY","coords","mainAxis","computePosition","config","strategy","middleware","platform","rects","statefulPlacement","middlewareData","nextX","nextY","expandPaddingObject","padding","getSideObjectFromPadding","rectToClientRect","detectOverflow","middlewareArguments","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","elementClientRect","within","min$1","max$1","arrow","basePlacement","arrowDimensions","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","hash$1","getOppositePlacement","getAlignmentSides","isStart","mainAlignmentSide","getOppositeAlignmentPlacement","basePlacements","allPlacements","getPlacementList","alignment","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_middlewareData$autoP3","_middlewareData$autoP4","_middlewareData$autoP5","_placementsSortedByLe","detectOverflowOptions","placements","overflow","currentPlacement","main","currentOverflows","allOverflows","nextPlacement","placementsSortedByLeastOverflow","placementThatFitsOnAllSides","overflows","getExpandedPlacements","oppositePlacement","flip","_middlewareData$flip","_middlewareData$flip2","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","flipAlignment","fallbackPlacements","overflowsData","side","_middlewareData$flip$","_middlewareData$flip3","resetPlacement","_overflowsData$slice$","convertValueToCoords","multiplier","crossAxis","diffCoords","getCrossAxis","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","_middlewareData$size","apply","isEnd","heightSide","widthSide","xMin","xMax","yMin","yMax","dimensions","isWindow","getWindow","ownerDocument","getComputedStyle$1","getNodeName","isHTMLElement","isElement","isNode","isShadowRoot","OwnElement","isScrollParent","overflowX","overflowY","isTableElement","isContainingBlock","isFirefox","css","round","getBoundingClientRect","includeScale","clientRect","scaleX","scaleY","getDocumentElement","getNodeScroll","getWindowScrollBarX","isScaled","getRectRelativeToOffsetParent","offsetParent","isOffsetParentAnElement","documentElement","offsets","offsetRect","getParentNode","getTrueOffsetParent","getContainingBlock","currentNode","getOffsetParent","getDimensions","convertOffsetParentRelativeRectToViewportRelativeRect","getViewportRect","win","html","visualViewport","getDocumentRect","_element$ownerDocumen","body","getScrollParent","getScrollParents","_node$ownerDocument","scrollParent","isBody","updatedList","contains","rootNode","getInnerBoundingClientRect","getClientRectFromClippingParent","clippingParent","getClippingParents","clippingParents","clipperElement","getClippingClientRect","firstClippingParent","clippingRect","accRect","_ref2","_ref3","_ref4","_ref5","computePosition$1","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","getDefaultConfig","theme","themeConfig","getThemeClasses","supportsPassive","SHOW_EVENT_MAP","HIDE_EVENT_MAP","removeFromArray","shownPoppers","hidingPopper","Element","defaultPropFactory","PrivatePopper","skipDelay","isPlacementAuto","centerOffset","delay","skipTransition","bounds","popperWrapper","parentBounds","showGroup","popover","disposeTime","addListeners2","targetNodes","eventType","addEvents","eventMap","commonTriggers","customTrigger","triggers","handleShow","handleHide","touch","attrFrom","attrTo","handleGlobalMousedown","handleGlobalTouchend","handleGlobalClick","computePositionAllShownPoppers","popper","popperContent","handleGlobalClose","getInternetExplorerVersion","ua","msie","trident","rv","edge","isIE","initCompat","_withId","_hoisted_1$2","_ctx","_cache","$props","$setup","$data","$options","PrivateThemeClass","_export_sfc","sfc","_sfc_main$5","_hoisted_1$1","_hoisted_2$1","_hoisted_3","createElementVNode","_hoisted_4","_hoisted_5","_sfc_render$2","_component_ResizeObserver","$event","PrivatePopperContent","PrivatePopperMethods","_sfc_main$4","_sfc_render$1","_component_PopperContent","_component_Popper","popperId","isShown","shouldMountContent","autoHide","show","hide","handleResize","onResize","classes","PrivatePopperWrapper","_sfc_main$3","_sfc_main$2","_sfc_main$1","_sfc_main","fetchId","_hoisted_1","_hoisted_2","_sfc_render","PrivateTooltipDirective","TARGET_CLASS","getPlacement","pos","getOptions","directiveApp","ensureDirectiveApp","mountTarget","createTooltip","shown","destroyTooltip","bind","PrivateVTooltip","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","firstTouch","PrivateVClosePopper","install","savedPosition","App","FloatingVue","lines","active","useActor","actor","actors","arc","getPolar","polarToCartesian","pill","centerX","centerY","angleInDegrees","angleInRadians","totalDur","parts","part"],"mappings":"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cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,cAAe,IACf,YAAa,IACb,oBAAqB,IACrB,aAAc,IACd,YAAa,IACb,YAAa,IACb,WAAY,IACZ,WAAY,IACZ,WAAY,GAElB,CAEG,CAwJD,WAAW,yBAA0B,CAEnC,MAAO,CACL,CACE,OAAQ,EACR,KAAM,mBACN,YAAa,uBACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,wBACN,YAAa,4BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,yBACN,YAAa,6BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,cACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,uBACN,YAAa,2BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,uBACN,YAAa,2BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,kBACN,YAAa,sBACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,eACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,gBACN,YAAa,mBACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,cACN,YAAa,wBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,mBACN,YAAa,iCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,4BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,4BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,qBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,sBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,2BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,yBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,yBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,oBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,oBACN,YAAa,wBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,iBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,UACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,qBACd,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,mBACd,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,kBACd,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,mBACd,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,qBACd,EACD,CACE,OAAQ,GACR,KAAM,QACN,YAAa,eACd,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,kBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,cACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,gBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,gBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,oBACN,YAAa,qBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,+BACN,YAAa,kCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,qCACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,qCACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,gBACd,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,gBACd,EACD,CACE,OAAQ,GACR,KAAM,6BACN,YAAa,yCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,+BACN,YAAa,2CACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,0BACN,YAAa,qCACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,4BACN,YAAa,uCACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,K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"} \ No newline at end of file diff --git a/assets/index-6fda5aab.js b/assets/index-6fda5aab.js new file mode 100644 index 0000000..d3daf1e --- /dev/null +++ b/assets/index-6fda5aab.js @@ -0,0 +1,482 @@ +(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(i){if(i.ep)return;i.ep=!0;const r=t(i);fetch(i.href,r)}})();function rl(n,e){const t=Object.create(null),s=n.split(",");for(let i=0;i!!t[i.toLowerCase()]:i=>!!t[i]}const He={},yi=[],tn=()=>{},Nm=()=>!1,Mm=/^on[^a-z]/,_a=n=>Mm.test(n),ol=n=>n.startsWith("onUpdate:"),at=Object.assign,al=(n,e)=>{const t=n.indexOf(e);t>-1&&n.splice(t,1)},km=Object.prototype.hasOwnProperty,Ne=(n,e)=>km.call(n,e),de=Array.isArray,vi=n=>ji(n)==="[object Map]",ya=n=>ji(n)==="[object Set]",yu=n=>ji(n)==="[object Date]",Om=n=>ji(n)==="[object RegExp]",ve=n=>typeof n=="function",Qe=n=>typeof n=="string",Ci=n=>typeof n=="symbol",Ue=n=>n!==null&&typeof n=="object",wd=n=>(Ue(n)||ve(n))&&ve(n.then)&&ve(n.catch),xd=Object.prototype.toString,ji=n=>xd.call(n),Im=n=>ji(n).slice(8,-1),Td=n=>ji(n)==="[object Object]",cl=n=>Qe(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,bo=rl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),va=n=>{const e=Object.create(null);return t=>e[t]||(e[t]=n(t))},Rm=/-(\w)/g,En=va(n=>n.replace(Rm,(e,t)=>t?t.toUpperCase():"")),Dm=/\B([A-Z])/g,ei=va(n=>n.replace(Dm,"-$1").toLowerCase()),ba=va(n=>n.charAt(0).toUpperCase()+n.slice(1)),ic=va(n=>n?`on${ba(n)}`:""),Hs=(n,e)=>!Object.is(n,e),bi=(n,e)=>{for(let t=0;t{Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value:t})},Pm=n=>{const e=parseFloat(n);return isNaN(e)?n:e},$m=n=>{const e=Qe(n)?Number(n):NaN;return isNaN(e)?n:e};let vu;const Ec=()=>vu||(vu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Be(n){if(de(n)){const e={};for(let t=0;t{if(t){const s=t.split(Vm);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function vs(n){let e="";if(Qe(n))e=n;else if(de(n))for(let t=0;twa(t,e))}const Ke=n=>Qe(n)?n:n==null?"":de(n)||Ue(n)&&(n.toString===xd||!ve(n.toString))?JSON.stringify(n,Cd,2):String(n),Cd=(n,e)=>e&&e.__v_isRef?Cd(n,e.value):vi(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[s,i])=>(t[`${s} =>`]=i,t),{})}:ya(e)?{[`Set(${e.size})`]:[...e.values()]}:Ue(e)&&!de(e)&&!Td(e)?String(e):e;let Dt;class Wm{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Dt,!e&&Dt&&(this.index=(Dt.scopes||(Dt.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=Dt;try{return Dt=this,e()}finally{Dt=t}}}on(){Dt=this}off(){Dt=this.parent}stop(e){if(this._active){let t,s;for(t=0,s=this.effects.length;t{const e=new Set(n);return e.w=0,e.n=0,e},Nd=n=>(n.w&ms)>0,Md=n=>(n.n&ms)>0,Gm=({deps:n})=>{if(n.length)for(let e=0;e{const{deps:e}=n;if(e.length){let t=0;for(let s=0;s{(u==="length"||!Ci(u)&&u>=c)&&a.push(l)})}else switch(t!==void 0&&a.push(o.get(t)),e){case"add":de(n)?cl(t)&&a.push(o.get("length")):(a.push(o.get(Bs)),vi(n)&&a.push(o.get(Cc)));break;case"delete":de(n)||(a.push(o.get(Bs)),vi(n)&&a.push(o.get(Cc)));break;case"set":vi(n)&&a.push(o.get(Bs));break}if(a.length===1)a[0]&&Ac(a[0]);else{const c=[];for(const l of a)l&&c.push(...l);Ac(ll(c))}}function Ac(n,e){const t=de(n)?n:[...n];for(const s of t)s.computed&&wu(s);for(const s of t)s.computed||wu(s)}function wu(n,e){(n!==Xt||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}function Ym(n,e){var t;return(t=ko.get(n))==null?void 0:t.get(e)}const Zm=rl("__proto__,__v_isRef,__isVue"),Id=new Set(Object.getOwnPropertyNames(Symbol).filter(n=>n!=="arguments"&&n!=="caller").map(n=>Symbol[n]).filter(Ci)),xu=Xm();function Xm(){const n={};return["includes","indexOf","lastIndexOf"].forEach(e=>{n[e]=function(...t){const s=Ae(this);for(let r=0,o=this.length;r{n[e]=function(...t){Wi();const s=Ae(this)[e].apply(this,t);return zi(),s}}),n}function Qm(n){const e=Ae(this);return Ot(e,"has",n),e.hasOwnProperty(n)}class Rd{constructor(e=!1,t=!1){this._isReadonly=e,this._shallow=t}get(e,t,s){const i=this._isReadonly,r=this._shallow;if(t==="__v_isReactive")return!i;if(t==="__v_isReadonly")return i;if(t==="__v_isShallow")return r;if(t==="__v_raw"&&s===(i?r?hg:Fd:r?$d:Pd).get(e))return e;const o=de(e);if(!i){if(o&&Ne(xu,t))return Reflect.get(xu,t,s);if(t==="hasOwnProperty")return Qm}const a=Reflect.get(e,t,s);return(Ci(t)?Id.has(t):Zm(t))||(i||Ot(e,"get",t),r)?a:dt(a)?o&&cl(t)?a:a.value:Ue(a)?i?jr(a):Vt(a):a}}class Dd extends Rd{constructor(e=!1){super(!1,e)}set(e,t,s,i){let r=e[t];if(Gs(r)&&dt(r)&&!dt(s))return!1;if(!this._shallow&&(!Oo(s)&&!Gs(s)&&(r=Ae(r),s=Ae(s)),!de(e)&&dt(r)&&!dt(s)))return r.value=s,!0;const o=de(e)&&cl(t)?Number(t)n,xa=n=>Reflect.getPrototypeOf(n);function io(n,e,t=!1,s=!1){n=n.__v_raw;const i=Ae(n),r=Ae(e);t||(Hs(e,r)&&Ot(i,"get",e),Ot(i,"get",r));const{has:o}=xa(i),a=s?hl:t?pl:fr;if(o.call(i,e))return a(n.get(e));if(o.call(i,r))return a(n.get(r));n!==i&&n.get(e)}function ro(n,e=!1){const t=this.__v_raw,s=Ae(t),i=Ae(n);return e||(Hs(n,i)&&Ot(s,"has",n),Ot(s,"has",i)),n===i?t.has(n):t.has(n)||t.has(i)}function oo(n,e=!1){return n=n.__v_raw,!e&&Ot(Ae(n),"iterate",Bs),Reflect.get(n,"size",n)}function Tu(n){n=Ae(n);const e=Ae(this);return xa(e).has.call(e,n)||(e.add(n),Fn(e,"add",n,n)),this}function Eu(n,e){e=Ae(e);const t=Ae(this),{has:s,get:i}=xa(t);let r=s.call(t,n);r||(n=Ae(n),r=s.call(t,n));const o=i.call(t,n);return t.set(n,e),r?Hs(e,o)&&Fn(t,"set",n,e):Fn(t,"add",n,e),this}function Su(n){const e=Ae(this),{has:t,get:s}=xa(e);let i=t.call(e,n);i||(n=Ae(n),i=t.call(e,n)),s&&s.call(e,n);const r=e.delete(n);return i&&Fn(e,"delete",n,void 0),r}function Cu(){const n=Ae(this),e=n.size!==0,t=n.clear();return e&&Fn(n,"clear",void 0,void 0),t}function ao(n,e){return function(s,i){const r=this,o=r.__v_raw,a=Ae(o),c=e?hl:n?pl:fr;return!n&&Ot(a,"iterate",Bs),o.forEach((l,u)=>s.call(i,c(l),c(u),r))}}function co(n,e,t){return function(...s){const i=this.__v_raw,r=Ae(i),o=vi(r),a=n==="entries"||n===Symbol.iterator&&o,c=n==="keys"&&o,l=i[n](...s),u=t?hl:e?pl:fr;return!e&&Ot(r,"iterate",c?Cc:Bs),{next(){const{value:h,done:d}=l.next();return d?{value:h,done:d}:{value:a?[u(h[0]),u(h[1])]:u(h),done:d}},[Symbol.iterator](){return this}}}}function Jn(n){return function(...e){return n==="delete"?!1:this}}function sg(){const n={get(r){return io(this,r)},get size(){return oo(this)},has:ro,add:Tu,set:Eu,delete:Su,clear:Cu,forEach:ao(!1,!1)},e={get(r){return io(this,r,!1,!0)},get size(){return oo(this)},has:ro,add:Tu,set:Eu,delete:Su,clear:Cu,forEach:ao(!1,!0)},t={get(r){return io(this,r,!0)},get size(){return oo(this,!0)},has(r){return ro.call(this,r,!0)},add:Jn("add"),set:Jn("set"),delete:Jn("delete"),clear:Jn("clear"),forEach:ao(!0,!1)},s={get(r){return io(this,r,!0,!0)},get size(){return oo(this,!0)},has(r){return ro.call(this,r,!0)},add:Jn("add"),set:Jn("set"),delete:Jn("delete"),clear:Jn("clear"),forEach:ao(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=co(r,!1,!1),t[r]=co(r,!0,!1),e[r]=co(r,!1,!0),s[r]=co(r,!0,!0)}),[n,t,e,s]}const[ig,rg,og,ag]=sg();function dl(n,e){const t=e?n?ag:og:n?rg:ig;return(s,i,r)=>i==="__v_isReactive"?!n:i==="__v_isReadonly"?n:i==="__v_raw"?s:Reflect.get(Ne(t,i)&&i in s?t:s,i,r)}const cg={get:dl(!1,!1)},lg={get:dl(!1,!0)},ug={get:dl(!0,!1)},Pd=new WeakMap,$d=new WeakMap,Fd=new WeakMap,hg=new WeakMap;function dg(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function fg(n){return n.__v_skip||!Object.isExtensible(n)?0:dg(Im(n))}function Vt(n){return Gs(n)?n:fl(n,!1,eg,cg,Pd)}function Vd(n){return fl(n,!1,ng,lg,$d)}function jr(n){return fl(n,!0,tg,ug,Fd)}function fl(n,e,t,s,i){if(!Ue(n)||n.__v_raw&&!(e&&n.__v_isReactive))return n;const r=i.get(n);if(r)return r;const o=fg(n);if(o===0)return n;const a=new Proxy(n,o===2?s:t);return i.set(n,a),a}function wi(n){return Gs(n)?wi(n.__v_raw):!!(n&&n.__v_isReactive)}function Gs(n){return!!(n&&n.__v_isReadonly)}function Oo(n){return!!(n&&n.__v_isShallow)}function Ld(n){return wi(n)||Gs(n)}function Ae(n){const e=n&&n.__v_raw;return e?Ae(e):n}function Bd(n){return Mo(n,"__v_skip",!0),n}const fr=n=>Ue(n)?Vt(n):n,pl=n=>Ue(n)?jr(n):n;function ml(n){ds&&Xt&&(n=Ae(n),Od(n.dep||(n.dep=ll())))}function gl(n,e){n=Ae(n);const t=n.dep;t&&Ac(t)}function dt(n){return!!(n&&n.__v_isRef===!0)}function Oe(n){return Ud(n,!1)}function qd(n){return Ud(n,!0)}function Ud(n,e){return dt(n)?n:new pg(n,e)}class pg{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:Ae(e),this._value=t?e:fr(e)}get value(){return ml(this),this._value}set value(e){const t=this.__v_isShallow||Oo(e)||Gs(e);e=t?e:Ae(e),Hs(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:fr(e),gl(this))}}function b(n){return dt(n)?n.value:n}const mg={get:(n,e,t)=>b(Reflect.get(n,e,t)),set:(n,e,t,s)=>{const i=n[e];return dt(i)&&!dt(t)?(i.value=t,!0):Reflect.set(n,e,t,s)}};function jd(n){return wi(n)?n:new Proxy(n,mg)}class gg{constructor(e){this.dep=void 0,this.__v_isRef=!0;const{get:t,set:s}=e(()=>ml(this),()=>gl(this));this._get=t,this._set=s}get value(){return this._get()}set value(e){this._set(e)}}function _g(n){return new gg(n)}class yg{constructor(e,t,s){this._object=e,this._key=t,this._defaultValue=s,this.__v_isRef=!0}get value(){const e=this._object[this._key];return e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return Ym(Ae(this._object),this._key)}}class vg{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function bg(n,e,t){return dt(n)?n:ve(n)?new vg(n):Ue(n)&&arguments.length>1?wg(n,e,t):Oe(n)}function wg(n,e,t){const s=n[e];return dt(s)?s:new yg(n,e,t)}class xg{constructor(e,t,s,i){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new ul(e,()=>{this._dirty||(this._dirty=!0,gl(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=s}get value(){const e=Ae(this);return ml(e),(e._dirty||!e._cacheable)&&(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function Tg(n,e,t=!1){let s,i;const r=ve(n);return r?(s=n,i=tn):(s=n.get,i=n.set),new xg(s,i,r||!i,t)}function fs(n,e,t,s){let i;try{i=s?n(...s):n()}catch(r){Ta(r,e,t)}return i}function jt(n,e,t,s){if(ve(n)){const r=fs(n,e,t,s);return r&&wd(r)&&r.catch(o=>{Ta(o,e,t)}),r}const i=[];for(let r=0;r>>1,i=_t[s],r=mr(i);rwn&&_t.splice(e,1)}function Ag(n){de(n)?xi.push(...n):(!Dn||!Dn.includes(n,n.allowRecurse?Is+1:Is))&&xi.push(n),zd()}function Au(n,e=pr?wn+1:0){for(;e<_t.length;e++){const t=_t[e];t&&t.pre&&(_t.splice(e,1),e--,t())}}function Hd(n){if(xi.length){const e=[...new Set(xi)];if(xi.length=0,Dn){Dn.push(...e);return}for(Dn=e,Dn.sort((t,s)=>mr(t)-mr(s)),Is=0;Isn.id==null?1/0:n.id,Ng=(n,e)=>{const t=mr(n)-mr(e);if(t===0){if(n.pre&&!e.pre)return-1;if(e.pre&&!n.pre)return 1}return t};function Gd(n){Nc=!1,pr=!0,_t.sort(Ng);const e=tn;try{for(wn=0;wn<_t.length;wn++){const t=_t[wn];t&&t.active!==!1&&fs(t,null,14)}}finally{wn=0,_t.length=0,Hd(),pr=!1,_l=null,(_t.length||xi.length)&&Gd()}}function Mg(n,e,...t){if(n.isUnmounted)return;const s=n.vnode.props||He;let i=t;const r=e.startsWith("update:"),o=r&&e.slice(7);if(o&&o in s){const u=`${o==="modelValue"?"model":o}Modifiers`,{number:h,trim:d}=s[u]||He;d&&(i=t.map(f=>Qe(f)?f.trim():f)),h&&(i=t.map(Pm))}let a,c=s[a=ic(e)]||s[a=ic(En(e))];!c&&r&&(c=s[a=ic(ei(e))]),c&&jt(c,n,6,i);const l=s[a+"Once"];if(l){if(!n.emitted)n.emitted={};else if(n.emitted[a])return;n.emitted[a]=!0,jt(l,n,6,i)}}function Kd(n,e,t=!1){const s=e.emitsCache,i=s.get(n);if(i!==void 0)return i;const r=n.emits;let o={},a=!1;if(!ve(n)){const c=l=>{const u=Kd(l,e,!0);u&&(a=!0,at(o,u))};!t&&e.mixins.length&&e.mixins.forEach(c),n.extends&&c(n.extends),n.mixins&&n.mixins.forEach(c)}return!r&&!a?(Ue(n)&&s.set(n,null),null):(de(r)?r.forEach(c=>o[c]=null):at(o,r),Ue(n)&&s.set(n,o),o)}function Ea(n,e){return!n||!_a(e)?!1:(e=e.slice(2).replace(/Once$/,""),Ne(n,e[0].toLowerCase()+e.slice(1))||Ne(n,ei(e))||Ne(n,e))}let mt=null,Sa=null;function Io(n){const e=mt;return mt=n,Sa=n&&n.type.__scopeId||null,e}function Ca(n){Sa=n}function Aa(){Sa=null}const kg=n=>nn;function nn(n,e=mt,t){if(!e||n._n)return n;const s=(...i)=>{s._d&&Lu(-1);const r=Io(e);let o;try{o=n(...i)}finally{Io(r),s._d&&Lu(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function rc(n){const{type:e,vnode:t,proxy:s,withProxy:i,props:r,propsOptions:[o],slots:a,attrs:c,emit:l,render:u,renderCache:h,data:d,setupState:f,ctx:p,inheritAttrs:m}=n;let _,g;const y=Io(n);try{if(t.shapeFlag&4){const w=i||s;_=bn(u.call(w,w,h,r,f,d,p)),g=c}else{const w=e;_=bn(w.length>1?w(r,{attrs:c,slots:a,emit:l}):w(r,null)),g=e.props?c:Og(c)}}catch(w){cr.length=0,Ta(w,n,1),_=xe(Wt)}let S=_;if(g&&m!==!1){const w=Object.keys(g),{shapeFlag:v}=S;w.length&&v&7&&(o&&w.some(ol)&&(g=Ig(g,o)),S=Ln(S,g))}return t.dirs&&(S=Ln(S),S.dirs=S.dirs?S.dirs.concat(t.dirs):t.dirs),t.transition&&(S.transition=t.transition),_=S,Io(y),_}const Og=n=>{let e;for(const t in n)(t==="class"||t==="style"||_a(t))&&((e||(e={}))[t]=n[t]);return e},Ig=(n,e)=>{const t={};for(const s in n)(!ol(s)||!(s.slice(9)in e))&&(t[s]=n[s]);return t};function Rg(n,e,t){const{props:s,children:i,component:r}=n,{props:o,children:a,patchFlag:c}=e,l=r.emitsOptions;if(e.dirs||e.transition)return!0;if(t&&c>=0){if(c&1024)return!0;if(c&16)return s?Nu(s,o,l):!!o;if(c&8){const u=e.dynamicProps;for(let h=0;hn.__isSuspense;function Pg(n,e){e&&e.pendingBranch?de(n)?e.effects.push(...n):e.effects.push(n):Ag(n)}function Zd(n,e){return vl(n,null,e)}const lo={};function yt(n,e,t){return vl(n,e,t)}function vl(n,e,{immediate:t,deep:s,flush:i,onTrack:r,onTrigger:o}=He){var a;const c=Ad()===((a=ht)==null?void 0:a.scope)?ht:null;let l,u=!1,h=!1;if(dt(n)?(l=()=>n.value,u=Oo(n)):wi(n)?(l=()=>n,s=!0):de(n)?(h=!0,u=n.some(w=>wi(w)||Oo(w)),l=()=>n.map(w=>{if(dt(w))return w.value;if(wi(w))return Ps(w);if(ve(w))return fs(w,c,2)})):ve(n)?e?l=()=>fs(n,c,2):l=()=>{if(!(c&&c.isUnmounted))return d&&d(),jt(n,c,3,[f])}:l=tn,e&&s){const w=l;l=()=>Ps(w())}let d,f=w=>{d=y.onStop=()=>{fs(w,c,4)}},p;if(br)if(f=tn,e?t&&jt(e,c,3,[l(),h?[]:void 0,f]):l(),i==="sync"){const w=M_();p=w.__watcherHandles||(w.__watcherHandles=[])}else return tn;let m=h?new Array(n.length).fill(lo):lo;const _=()=>{if(y.active)if(e){const w=y.run();(s||u||(h?w.some((v,A)=>Hs(v,m[A])):Hs(w,m)))&&(d&&d(),jt(e,c,3,[w,m===lo?void 0:h&&m[0]===lo?[]:m,f]),m=w)}else y.run()};_.allowRecurse=!!e;let g;i==="sync"?g=_:i==="post"?g=()=>pt(_,c&&c.suspense):(_.pre=!0,c&&(_.id=c.uid),g=()=>yl(_));const y=new ul(l,g);e?t?_():m=y.run():i==="post"?pt(y.run.bind(y),c&&c.suspense):y.run();const S=()=>{y.stop(),c&&c.scope&&al(c.scope.effects,y)};return p&&p.push(S),S}function $g(n,e,t){const s=this.proxy,i=Qe(n)?n.includes(".")?Xd(s,n):()=>s[n]:n.bind(s,s);let r;ve(e)?r=e:(r=e.handler,t=e);const o=ht;Ni(this);const a=vl(i,r.bind(s),t);return o?Ni(o):qs(),a}function Xd(n,e){const t=e.split(".");return()=>{let s=n;for(let i=0;i{Ps(t,e)});else if(Td(n))for(const t in n)Ps(n[t],e);return n}function At(n,e){const t=mt;if(t===null)return n;const s=Ra(t)||t.proxy,i=n.dirs||(n.dirs=[]);for(let r=0;r{n.isMounted=!0}),xl(()=>{n.isUnmounting=!0}),n}const Lt=[Function,Array],Jd={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Lt,onEnter:Lt,onAfterEnter:Lt,onEnterCancelled:Lt,onBeforeLeave:Lt,onLeave:Lt,onAfterLeave:Lt,onLeaveCancelled:Lt,onBeforeAppear:Lt,onAppear:Lt,onAfterAppear:Lt,onAppearCancelled:Lt},Fg={name:"BaseTransition",props:Jd,setup(n,{slots:e}){const t=Wr(),s=Qd();let i;return()=>{const r=e.default&&bl(e.default(),!0);if(!r||!r.length)return;let o=r[0];if(r.length>1){for(const m of r)if(m.type!==Wt){o=m;break}}const a=Ae(n),{mode:c}=a;if(s.isLeaving)return oc(o);const l=Mu(o);if(!l)return oc(o);const u=gr(l,a,s,t);Ai(l,u);const h=t.subTree,d=h&&Mu(h);let f=!1;const{getTransitionKey:p}=l.type;if(p){const m=p();i===void 0?i=m:m!==i&&(i=m,f=!0)}if(d&&d.type!==Wt&&(!hs(l,d)||f)){const m=gr(d,a,s,t);if(Ai(d,m),c==="out-in")return s.isLeaving=!0,m.afterLeave=()=>{s.isLeaving=!1,t.update.active!==!1&&t.update()},oc(o);c==="in-out"&&l.type!==Wt&&(m.delayLeave=(_,g,y)=>{const S=ef(s,d);S[String(d.key)]=d,_[as]=()=>{g(),_[as]=void 0,delete u.delayedLeave},u.delayedLeave=y})}return o}}},Vg=Fg;function ef(n,e){const{leavingVNodes:t}=n;let s=t.get(e.type);return s||(s=Object.create(null),t.set(e.type,s)),s}function gr(n,e,t,s){const{appear:i,mode:r,persisted:o=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:l,onEnterCancelled:u,onBeforeLeave:h,onLeave:d,onAfterLeave:f,onLeaveCancelled:p,onBeforeAppear:m,onAppear:_,onAfterAppear:g,onAppearCancelled:y}=e,S=String(n.key),w=ef(t,n),v=(T,R)=>{T&&jt(T,s,9,R)},A=(T,R)=>{const O=R[1];v(T,R),de(T)?T.every(P=>P.length<=1)&&O():T.length<=1&&O()},N={mode:r,persisted:o,beforeEnter(T){let R=a;if(!t.isMounted)if(i)R=m||a;else return;T[as]&&T[as](!0);const O=w[S];O&&hs(n,O)&&O.el[as]&&O.el[as](),v(R,[T])},enter(T){let R=c,O=l,P=u;if(!t.isMounted)if(i)R=_||c,O=g||l,P=y||u;else return;let M=!1;const F=T[uo]=z=>{M||(M=!0,z?v(P,[T]):v(O,[T]),N.delayedLeave&&N.delayedLeave(),T[uo]=void 0)};R?A(R,[T,F]):F()},leave(T,R){const O=String(n.key);if(T[uo]&&T[uo](!0),t.isUnmounting)return R();v(h,[T]);let P=!1;const M=T[as]=F=>{P||(P=!0,R(),F?v(p,[T]):v(f,[T]),T[as]=void 0,w[O]===n&&delete w[O])};w[O]=n,d?A(d,[T,M]):M()},clone(T){return gr(T,e,t,s)}};return N}function oc(n){if(Na(n))return n=Ln(n),n.children=null,n}function Mu(n){return Na(n)?n.children?n.children[0]:void 0:n}function Ai(n,e){n.shapeFlag&6&&n.component?Ai(n.component.subTree,e):n.shapeFlag&128?(n.ssContent.transition=e.clone(n.ssContent),n.ssFallback.transition=e.clone(n.ssFallback)):n.transition=e}function bl(n,e=!1,t){let s=[],i=0;for(let r=0;r1)for(let r=0;rat({name:n.name},e,{setup:n}))():n}const Ti=n=>!!n.type.__asyncLoader,Na=n=>n.type.__isKeepAlive,Lg={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(n,{slots:e}){const t=Wr(),s=t.ctx;if(!s.renderer)return()=>{const y=e.default&&e.default();return y&&y.length===1?y[0]:y};const i=new Map,r=new Set;let o=null;const a=t.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:h}}}=s,d=h("div");s.activate=(y,S,w,v,A)=>{const N=y.component;l(y,S,w,0,a),c(N.vnode,y,S,w,N,a,v,y.slotScopeIds,A),pt(()=>{N.isDeactivated=!1,N.a&&bi(N.a);const T=y.props&&y.props.onVnodeMounted;T&&Bt(T,N.parent,y)},a)},s.deactivate=y=>{const S=y.component;l(y,d,null,1,a),pt(()=>{S.da&&bi(S.da);const w=y.props&&y.props.onVnodeUnmounted;w&&Bt(w,S.parent,y),S.isDeactivated=!0},a)};function f(y){ac(y),u(y,t,a,!0)}function p(y){i.forEach((S,w)=>{const v=Dc(S.type);v&&(!y||!y(v))&&m(w)})}function m(y){const S=i.get(y);!o||!hs(S,o)?f(S):o&&ac(o),i.delete(y),r.delete(y)}yt(()=>[n.include,n.exclude],([y,S])=>{y&&p(w=>ir(y,w)),S&&p(w=>!ir(S,w))},{flush:"post",deep:!0});let _=null;const g=()=>{_!=null&&i.set(_,cc(t.subTree))};return bs(g),wl(g),xl(()=>{i.forEach(y=>{const{subTree:S,suspense:w}=t,v=cc(S);if(y.type===v.type&&y.key===v.key){ac(v);const A=v.component.da;A&&pt(A,w);return}f(y)})}),()=>{if(_=null,!e.default)return null;const y=e.default(),S=y[0];if(y.length>1)return o=null,y;if(!yr(S)||!(S.shapeFlag&4)&&!(S.shapeFlag&128))return o=null,S;let w=cc(S);const v=w.type,A=Dc(Ti(w)?w.type.__asyncResolved||{}:v),{include:N,exclude:T,max:R}=n;if(N&&(!A||!ir(N,A))||T&&A&&ir(T,A))return o=w,S;const O=w.key==null?v:w.key,P=i.get(O);return w.el&&(w=Ln(w),S.shapeFlag&128&&(S.ssContent=w)),_=O,P?(w.el=P.el,w.component=P.component,w.transition&&Ai(w,w.transition),w.shapeFlag|=512,r.delete(O),r.add(O)):(r.add(O),R&&r.size>parseInt(R,10)&&m(r.values().next().value)),w.shapeFlag|=256,o=w,Yd(S.type)?S:w}}},Bg=Lg;function ir(n,e){return de(n)?n.some(t=>ir(t,e)):Qe(n)?n.split(",").includes(e):Om(n)?n.test(e):!1}function qg(n,e){tf(n,"a",e)}function Ug(n,e){tf(n,"da",e)}function tf(n,e,t=ht){const s=n.__wdc||(n.__wdc=()=>{let i=t;for(;i;){if(i.isDeactivated)return;i=i.parent}return n()});if(Ma(e,s,t),t){let i=t.parent;for(;i&&i.parent;)Na(i.parent.vnode)&&jg(s,e,t,i),i=i.parent}}function jg(n,e,t,s){const i=Ma(e,n,s,!0);nf(()=>{al(s[e],i)},t)}function ac(n){n.shapeFlag&=-257,n.shapeFlag&=-513}function cc(n){return n.shapeFlag&128?n.ssContent:n}function Ma(n,e,t=ht,s=!1){if(t){const i=t[n]||(t[n]=[]),r=e.__weh||(e.__weh=(...o)=>{if(t.isUnmounted)return;Wi(),Ni(t);const a=jt(e,t,n,o);return qs(),zi(),a});return s?i.unshift(r):i.push(r),r}}const Kn=n=>(e,t=ht)=>(!br||n==="sp")&&Ma(n,(...s)=>e(...s),t),Wg=Kn("bm"),bs=Kn("m"),zg=Kn("bu"),wl=Kn("u"),xl=Kn("bum"),nf=Kn("um"),Hg=Kn("sp"),Gg=Kn("rtg"),Kg=Kn("rtc");function Yg(n,e=ht){Ma("ec",n,e)}const Tl="components",Zg="directives";function Ks(n,e){return El(Tl,n,!0,e)||n}const sf=Symbol.for("v-ndc");function Xg(n){return Qe(n)?El(Tl,n,!1)||n:n||sf}function rf(n){return El(Zg,n)}function El(n,e,t=!0,s=!1){const i=mt||ht;if(i){const r=i.type;if(n===Tl){const a=Dc(r,!1);if(a&&(a===e||a===En(e)||a===ba(En(e))))return r}const o=ku(i[n]||r[n],e)||ku(i.appContext[n],e);return!o&&s?r:o}}function ku(n,e){return n&&(n[e]||n[En(e)]||n[ba(En(e))])}function vt(n,e,t,s){let i;const r=t&&t[s];if(de(n)||Qe(n)){i=new Array(n.length);for(let o=0,a=n.length;oe(o,a,void 0,r&&r[a]));else{const o=Object.keys(n);i=new Array(o.length);for(let a=0,c=o.length;ayr(e)?!(e.type===Wt||e.type===Re&&!of(e.children)):!0)?n:null}const Mc=n=>n?_f(n)?Ra(n)||n.proxy:Mc(n.parent):null,ar=at(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>n.props,$attrs:n=>n.attrs,$slots:n=>n.slots,$refs:n=>n.refs,$parent:n=>Mc(n.parent),$root:n=>Mc(n.root),$emit:n=>n.emit,$options:n=>Sl(n),$forceUpdate:n=>n.f||(n.f=()=>yl(n.update)),$nextTick:n=>n.n||(n.n=Hi.bind(n.proxy)),$watch:n=>$g.bind(n)}),lc=(n,e)=>n!==He&&!n.__isScriptSetup&&Ne(n,e),Qg={get({_:n},e){const{ctx:t,setupState:s,data:i,props:r,accessCache:o,type:a,appContext:c}=n;let l;if(e[0]!=="$"){const f=o[e];if(f!==void 0)switch(f){case 1:return s[e];case 2:return i[e];case 4:return t[e];case 3:return r[e]}else{if(lc(s,e))return o[e]=1,s[e];if(i!==He&&Ne(i,e))return o[e]=2,i[e];if((l=n.propsOptions[0])&&Ne(l,e))return o[e]=3,r[e];if(t!==He&&Ne(t,e))return o[e]=4,t[e];kc&&(o[e]=0)}}const u=ar[e];let h,d;if(u)return e==="$attrs"&&Ot(n,"get",e),u(n);if((h=a.__cssModules)&&(h=h[e]))return h;if(t!==He&&Ne(t,e))return o[e]=4,t[e];if(d=c.config.globalProperties,Ne(d,e))return d[e]},set({_:n},e,t){const{data:s,setupState:i,ctx:r}=n;return lc(i,e)?(i[e]=t,!0):s!==He&&Ne(s,e)?(s[e]=t,!0):Ne(n.props,e)||e[0]==="$"&&e.slice(1)in n?!1:(r[e]=t,!0)},has({_:{data:n,setupState:e,accessCache:t,ctx:s,appContext:i,propsOptions:r}},o){let a;return!!t[o]||n!==He&&Ne(n,o)||lc(e,o)||(a=r[0])&&Ne(a,o)||Ne(s,o)||Ne(ar,o)||Ne(i.config.globalProperties,o)},defineProperty(n,e,t){return t.get!=null?n._.accessCache[e]=0:Ne(t,"value")&&this.set(n,e,t.value,null),Reflect.defineProperty(n,e,t)}};function Ou(n){return de(n)?n.reduce((e,t)=>(e[t]=null,e),{}):n}let kc=!0;function Jg(n){const e=Sl(n),t=n.proxy,s=n.ctx;kc=!1,e.beforeCreate&&Iu(e.beforeCreate,n,"bc");const{data:i,computed:r,methods:o,watch:a,provide:c,inject:l,created:u,beforeMount:h,mounted:d,beforeUpdate:f,updated:p,activated:m,deactivated:_,beforeDestroy:g,beforeUnmount:y,destroyed:S,unmounted:w,render:v,renderTracked:A,renderTriggered:N,errorCaptured:T,serverPrefetch:R,expose:O,inheritAttrs:P,components:M,directives:F,filters:z}=e;if(l&&e_(l,s,null),o)for(const Z in o){const te=o[Z];ve(te)&&(s[Z]=te.bind(t))}if(i){const Z=i.call(t,t);Ue(Z)&&(n.data=Vt(Z))}if(kc=!0,r)for(const Z in r){const te=r[Z],ce=ve(te)?te.bind(t,t):ve(te.get)?te.get.bind(t,t):tn,me=!ve(te)&&ve(te.set)?te.set.bind(t):tn,ue=fe({get:ce,set:me});Object.defineProperty(s,Z,{enumerable:!0,configurable:!0,get:()=>ue.value,set:ye=>ue.value=ye})}if(a)for(const Z in a)af(a[Z],s,t,Z);if(c){const Z=ve(c)?c.call(t):c;Reflect.ownKeys(Z).forEach(te=>{wo(te,Z[te])})}u&&Iu(u,n,"c");function X(Z,te){de(te)?te.forEach(ce=>Z(ce.bind(t))):te&&Z(te.bind(t))}if(X(Wg,h),X(bs,d),X(zg,f),X(wl,p),X(qg,m),X(Ug,_),X(Yg,T),X(Kg,A),X(Gg,N),X(xl,y),X(nf,w),X(Hg,R),de(O))if(O.length){const Z=n.exposed||(n.exposed={});O.forEach(te=>{Object.defineProperty(Z,te,{get:()=>t[te],set:ce=>t[te]=ce})})}else n.exposed||(n.exposed={});v&&n.render===tn&&(n.render=v),P!=null&&(n.inheritAttrs=P),M&&(n.components=M),F&&(n.directives=F)}function e_(n,e,t=tn){de(n)&&(n=Oc(n));for(const s in n){const i=n[s];let r;Ue(i)?"default"in i?r=sn(i.from||s,i.default,!0):r=sn(i.from||s):r=sn(i),dt(r)?Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):e[s]=r}}function Iu(n,e,t){jt(de(n)?n.map(s=>s.bind(e.proxy)):n.bind(e.proxy),e,t)}function af(n,e,t,s){const i=s.includes(".")?Xd(t,s):()=>t[s];if(Qe(n)){const r=e[n];ve(r)&&yt(i,r)}else if(ve(n))yt(i,n.bind(t));else if(Ue(n))if(de(n))n.forEach(r=>af(r,e,t,s));else{const r=ve(n.handler)?n.handler.bind(t):e[n.handler];ve(r)&&yt(i,r,n)}}function Sl(n){const e=n.type,{mixins:t,extends:s}=e,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=n.appContext,a=r.get(e);let c;return a?c=a:!i.length&&!t&&!s?c=e:(c={},i.length&&i.forEach(l=>Do(c,l,o,!0)),Do(c,e,o)),Ue(e)&&r.set(e,c),c}function Do(n,e,t,s=!1){const{mixins:i,extends:r}=e;r&&Do(n,r,t,!0),i&&i.forEach(o=>Do(n,o,t,!0));for(const o in e)if(!(s&&o==="expose")){const a=t_[o]||t&&t[o];n[o]=a?a(n[o],e[o]):e[o]}return n}const t_={data:Ru,props:Du,emits:Du,methods:rr,computed:rr,beforeCreate:xt,created:xt,beforeMount:xt,mounted:xt,beforeUpdate:xt,updated:xt,beforeDestroy:xt,beforeUnmount:xt,destroyed:xt,unmounted:xt,activated:xt,deactivated:xt,errorCaptured:xt,serverPrefetch:xt,components:rr,directives:rr,watch:s_,provide:Ru,inject:n_};function Ru(n,e){return e?n?function(){return at(ve(n)?n.call(this,this):n,ve(e)?e.call(this,this):e)}:e:n}function n_(n,e){return rr(Oc(n),Oc(e))}function Oc(n){if(de(n)){const e={};for(let t=0;t1)return t&&ve(e)?e.call(s&&s.proxy):e}}function o_(n,e,t,s=!1){const i={},r={};Mo(r,Oa,1),n.propsDefaults=Object.create(null),lf(n,e,i,r);for(const o in n.propsOptions[0])o in i||(i[o]=void 0);t?n.props=s?i:Vd(i):n.type.props?n.props=i:n.props=r,n.attrs=r}function a_(n,e,t,s){const{props:i,attrs:r,vnode:{patchFlag:o}}=n,a=Ae(i),[c]=n.propsOptions;let l=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=n.vnode.dynamicProps;for(let h=0;h{c=!0;const[d,f]=uf(h,e,!0);at(o,d),f&&a.push(...f)};!t&&e.mixins.length&&e.mixins.forEach(u),n.extends&&u(n.extends),n.mixins&&n.mixins.forEach(u)}if(!r&&!c)return Ue(n)&&s.set(n,yi),yi;if(de(r))for(let u=0;u-1,f[1]=m<0||p-1||Ne(f,"default"))&&a.push(h)}}}const l=[o,a];return Ue(n)&&s.set(n,l),l}function Pu(n){return n[0]!=="$"}function $u(n){const e=n&&n.toString().match(/^\s*(function|class) (\w+)/);return e?e[2]:n===null?"null":""}function Fu(n,e){return $u(n)===$u(e)}function Vu(n,e){return de(e)?e.findIndex(t=>Fu(t,n)):ve(e)&&Fu(e,n)?0:-1}const hf=n=>n[0]==="_"||n==="$stable",Cl=n=>de(n)?n.map(bn):[bn(n)],c_=(n,e,t)=>{if(e._n)return e;const s=nn((...i)=>Cl(e(...i)),t);return s._c=!1,s},df=(n,e,t)=>{const s=n._ctx;for(const i in n){if(hf(i))continue;const r=n[i];if(ve(r))e[i]=c_(i,r,s);else if(r!=null){const o=Cl(r);e[i]=()=>o}}},ff=(n,e)=>{const t=Cl(e);n.slots.default=()=>t},l_=(n,e)=>{if(n.vnode.shapeFlag&32){const t=e._;t?(n.slots=Ae(e),Mo(e,"_",t)):df(e,n.slots={})}else n.slots={},e&&ff(n,e);Mo(n.slots,Oa,1)},u_=(n,e,t)=>{const{vnode:s,slots:i}=n;let r=!0,o=He;if(s.shapeFlag&32){const a=e._;a?t&&a===1?r=!1:(at(i,e),!t&&a===1&&delete i._):(r=!e.$stable,df(e,i)),o=e}else e&&(ff(n,e),o={default:1});if(r)for(const a in i)!hf(a)&&o[a]==null&&delete i[a]};function Rc(n,e,t,s,i=!1){if(de(n)){n.forEach((d,f)=>Rc(d,e&&(de(e)?e[f]:e),t,s,i));return}if(Ti(s)&&!i)return;const r=s.shapeFlag&4?Ra(s.component)||s.component.proxy:s.el,o=i?null:r,{i:a,r:c}=n,l=e&&e.r,u=a.refs===He?a.refs={}:a.refs,h=a.setupState;if(l!=null&&l!==c&&(Qe(l)?(u[l]=null,Ne(h,l)&&(h[l]=null)):dt(l)&&(l.value=null)),ve(c))fs(c,a,12,[o,u]);else{const d=Qe(c),f=dt(c);if(d||f){const p=()=>{if(n.f){const m=d?Ne(h,c)?h[c]:u[c]:c.value;i?de(m)&&al(m,r):de(m)?m.includes(r)||m.push(r):d?(u[c]=[r],Ne(h,c)&&(h[c]=u[c])):(c.value=[r],n.k&&(u[n.k]=c.value))}else d?(u[c]=o,Ne(h,c)&&(h[c]=o)):f&&(c.value=o,n.k&&(u[n.k]=o))};o?(p.id=-1,pt(p,t)):p()}}}const pt=Pg;function h_(n){return d_(n)}function d_(n,e){const t=Ec();t.__VUE__=!0;const{insert:s,remove:i,patchProp:r,createElement:o,createText:a,createComment:c,setText:l,setElementText:u,parentNode:h,nextSibling:d,setScopeId:f=tn,insertStaticContent:p}=n,m=(x,E,k,C=null,I=null,B=null,Y=!1,U=null,H=!!E.dynamicChildren)=>{if(x===E)return;x&&!hs(x,E)&&(C=$(x),ye(x,I,B,!0),x=null),E.patchFlag===-2&&(H=!1,E.dynamicChildren=null);const{type:j,ref:ae,shapeFlag:ie}=E;switch(j){case ka:_(x,E,k,C);break;case Wt:g(x,E,k,C);break;case xo:x==null&&y(E,k,C,Y);break;case Re:M(x,E,k,C,I,B,Y,U,H);break;default:ie&1?v(x,E,k,C,I,B,Y,U,H):ie&6?F(x,E,k,C,I,B,Y,U,H):(ie&64||ie&128)&&j.process(x,E,k,C,I,B,Y,U,H,Q)}ae!=null&&I&&Rc(ae,x&&x.ref,B,E||x,!E)},_=(x,E,k,C)=>{if(x==null)s(E.el=a(E.children),k,C);else{const I=E.el=x.el;E.children!==x.children&&l(I,E.children)}},g=(x,E,k,C)=>{x==null?s(E.el=c(E.children||""),k,C):E.el=x.el},y=(x,E,k,C)=>{[x.el,x.anchor]=p(x.children,E,k,C,x.el,x.anchor)},S=({el:x,anchor:E},k,C)=>{let I;for(;x&&x!==E;)I=d(x),s(x,k,C),x=I;s(E,k,C)},w=({el:x,anchor:E})=>{let k;for(;x&&x!==E;)k=d(x),i(x),x=k;i(E)},v=(x,E,k,C,I,B,Y,U,H)=>{Y=Y||E.type==="svg",x==null?A(E,k,C,I,B,Y,U,H):R(x,E,I,B,Y,U,H)},A=(x,E,k,C,I,B,Y,U)=>{let H,j;const{type:ae,props:ie,shapeFlag:le,transition:_e,dirs:Ee}=x;if(H=x.el=o(x.type,B,ie&&ie.is,ie),le&8?u(H,x.children):le&16&&T(x.children,H,null,C,I,B&&ae!=="foreignObject",Y,U),Ee&&Cs(x,null,C,"created"),N(H,x,x.scopeId,Y,C),ie){for(const Ve in ie)Ve!=="value"&&!bo(Ve)&&r(H,Ve,null,ie[Ve],B,x.children,C,I,we);"value"in ie&&r(H,"value",null,ie.value),(j=ie.onVnodeBeforeMount)&&Bt(j,C,x)}Ee&&Cs(x,null,C,"beforeMount");const We=f_(I,_e);We&&_e.beforeEnter(H),s(H,E,k),((j=ie&&ie.onVnodeMounted)||We||Ee)&&pt(()=>{j&&Bt(j,C,x),We&&_e.enter(H),Ee&&Cs(x,null,C,"mounted")},I)},N=(x,E,k,C,I)=>{if(k&&f(x,k),C)for(let B=0;B{for(let j=H;j{const U=E.el=x.el;let{patchFlag:H,dynamicChildren:j,dirs:ae}=E;H|=x.patchFlag&16;const ie=x.props||He,le=E.props||He;let _e;k&&As(k,!1),(_e=le.onVnodeBeforeUpdate)&&Bt(_e,k,E,x),ae&&Cs(E,x,k,"beforeUpdate"),k&&As(k,!0);const Ee=I&&E.type!=="foreignObject";if(j?O(x.dynamicChildren,j,U,k,C,Ee,B):Y||te(x,E,U,null,k,C,Ee,B,!1),H>0){if(H&16)P(U,E,ie,le,k,C,I);else if(H&2&&ie.class!==le.class&&r(U,"class",null,le.class,I),H&4&&r(U,"style",ie.style,le.style,I),H&8){const We=E.dynamicProps;for(let Ve=0;Ve{_e&&Bt(_e,k,E,x),ae&&Cs(E,x,k,"updated")},C)},O=(x,E,k,C,I,B,Y)=>{for(let U=0;U{if(k!==C){if(k!==He)for(const U in k)!bo(U)&&!(U in C)&&r(x,U,k[U],null,Y,E.children,I,B,we);for(const U in C){if(bo(U))continue;const H=C[U],j=k[U];H!==j&&U!=="value"&&r(x,U,j,H,Y,E.children,I,B,we)}"value"in C&&r(x,"value",k.value,C.value)}},M=(x,E,k,C,I,B,Y,U,H)=>{const j=E.el=x?x.el:a(""),ae=E.anchor=x?x.anchor:a("");let{patchFlag:ie,dynamicChildren:le,slotScopeIds:_e}=E;_e&&(U=U?U.concat(_e):_e),x==null?(s(j,k,C),s(ae,k,C),T(E.children,k,ae,I,B,Y,U,H)):ie>0&&ie&64&&le&&x.dynamicChildren?(O(x.dynamicChildren,le,k,I,B,Y,U),(E.key!=null||I&&E===I.subTree)&&pf(x,E,!0)):te(x,E,k,ae,I,B,Y,U,H)},F=(x,E,k,C,I,B,Y,U,H)=>{E.slotScopeIds=U,x==null?E.shapeFlag&512?I.ctx.activate(E,k,C,Y,H):z(E,k,C,I,B,Y,H):ne(x,E,H)},z=(x,E,k,C,I,B,Y)=>{const U=x.component=x_(x,C,I);if(Na(x)&&(U.ctx.renderer=Q),T_(U),U.asyncDep){if(I&&I.registerDep(U,X),!x.el){const H=U.subTree=xe(Wt);g(null,H,E,k)}return}X(U,x,E,k,I,B,Y)},ne=(x,E,k)=>{const C=E.component=x.component;if(Rg(x,E,k))if(C.asyncDep&&!C.asyncResolved){Z(C,E,k);return}else C.next=E,Cg(C.update),C.update();else E.el=x.el,C.vnode=E},X=(x,E,k,C,I,B,Y)=>{const U=()=>{if(x.isMounted){let{next:ae,bu:ie,u:le,parent:_e,vnode:Ee}=x,We=ae,Ve;As(x,!1),ae?(ae.el=Ee.el,Z(x,ae,Y)):ae=Ee,ie&&bi(ie),(Ve=ae.props&&ae.props.onVnodeBeforeUpdate)&&Bt(Ve,_e,ae,Ee),As(x,!0);const rt=rc(x),Gt=x.subTree;x.subTree=rt,m(Gt,rt,h(Gt.el),$(Gt),x,I,B),ae.el=rt.el,We===null&&Dg(x,rt.el),le&&pt(le,I),(Ve=ae.props&&ae.props.onVnodeUpdated)&&pt(()=>Bt(Ve,_e,ae,Ee),I)}else{let ae;const{el:ie,props:le}=E,{bm:_e,m:Ee,parent:We}=x,Ve=Ti(E);if(As(x,!1),_e&&bi(_e),!Ve&&(ae=le&&le.onVnodeBeforeMount)&&Bt(ae,We,E),As(x,!0),ie&&Se){const rt=()=>{x.subTree=rc(x),Se(ie,x.subTree,x,I,null)};Ve?E.type.__asyncLoader().then(()=>!x.isUnmounted&&rt()):rt()}else{const rt=x.subTree=rc(x);m(null,rt,k,C,x,I,B),E.el=rt.el}if(Ee&&pt(Ee,I),!Ve&&(ae=le&&le.onVnodeMounted)){const rt=E;pt(()=>Bt(ae,We,rt),I)}(E.shapeFlag&256||We&&Ti(We.vnode)&&We.vnode.shapeFlag&256)&&x.a&&pt(x.a,I),x.isMounted=!0,E=k=C=null}},H=x.effect=new ul(U,()=>yl(j),x.scope),j=x.update=()=>H.run();j.id=x.uid,As(x,!0),j()},Z=(x,E,k)=>{E.component=x;const C=x.vnode.props;x.vnode=E,x.next=null,a_(x,E.props,C,k),u_(x,E.children,k),Wi(),Au(),zi()},te=(x,E,k,C,I,B,Y,U,H=!1)=>{const j=x&&x.children,ae=x?x.shapeFlag:0,ie=E.children,{patchFlag:le,shapeFlag:_e}=E;if(le>0){if(le&128){me(j,ie,k,C,I,B,Y,U,H);return}else if(le&256){ce(j,ie,k,C,I,B,Y,U,H);return}}_e&8?(ae&16&&we(j,I,B),ie!==j&&u(k,ie)):ae&16?_e&16?me(j,ie,k,C,I,B,Y,U,H):we(j,I,B,!0):(ae&8&&u(k,""),_e&16&&T(ie,k,C,I,B,Y,U,H))},ce=(x,E,k,C,I,B,Y,U,H)=>{x=x||yi,E=E||yi;const j=x.length,ae=E.length,ie=Math.min(j,ae);let le;for(le=0;leae?we(x,I,B,!0,!1,ie):T(E,k,C,I,B,Y,U,H,ie)},me=(x,E,k,C,I,B,Y,U,H)=>{let j=0;const ae=E.length;let ie=x.length-1,le=ae-1;for(;j<=ie&&j<=le;){const _e=x[j],Ee=E[j]=H?cs(E[j]):bn(E[j]);if(hs(_e,Ee))m(_e,Ee,k,null,I,B,Y,U,H);else break;j++}for(;j<=ie&&j<=le;){const _e=x[ie],Ee=E[le]=H?cs(E[le]):bn(E[le]);if(hs(_e,Ee))m(_e,Ee,k,null,I,B,Y,U,H);else break;ie--,le--}if(j>ie){if(j<=le){const _e=le+1,Ee=_ele)for(;j<=ie;)ye(x[j],I,B,!0),j++;else{const _e=j,Ee=j,We=new Map;for(j=Ee;j<=le;j++){const Rt=E[j]=H?cs(E[j]):bn(E[j]);Rt.key!=null&&We.set(Rt.key,j)}let Ve,rt=0;const Gt=le-Ee+1;let ai=!1,mu=0;const Qi=new Array(Gt);for(j=0;j=Gt){ye(Rt,I,B,!0);continue}let hn;if(Rt.key!=null)hn=We.get(Rt.key);else for(Ve=Ee;Ve<=le;Ve++)if(Qi[Ve-Ee]===0&&hs(Rt,E[Ve])){hn=Ve;break}hn===void 0?ye(Rt,I,B,!0):(Qi[hn-Ee]=j+1,hn>=mu?mu=hn:ai=!0,m(Rt,E[hn],k,null,I,B,Y,U,H),rt++)}const gu=ai?p_(Qi):yi;for(Ve=gu.length-1,j=Gt-1;j>=0;j--){const Rt=Ee+j,hn=E[Rt],_u=Rt+1{const{el:B,type:Y,transition:U,children:H,shapeFlag:j}=x;if(j&6){ue(x.component.subTree,E,k,C);return}if(j&128){x.suspense.move(E,k,C);return}if(j&64){Y.move(x,E,k,Q);return}if(Y===Re){s(B,E,k);for(let ie=0;ieU.enter(B),I);else{const{leave:ie,delayLeave:le,afterLeave:_e}=U,Ee=()=>s(B,E,k),We=()=>{ie(B,()=>{Ee(),_e&&_e()})};le?le(B,Ee,We):We()}else s(B,E,k)},ye=(x,E,k,C=!1,I=!1)=>{const{type:B,props:Y,ref:U,children:H,dynamicChildren:j,shapeFlag:ae,patchFlag:ie,dirs:le}=x;if(U!=null&&Rc(U,null,k,x,!0),ae&256){E.ctx.deactivate(x);return}const _e=ae&1&&le,Ee=!Ti(x);let We;if(Ee&&(We=Y&&Y.onVnodeBeforeUnmount)&&Bt(We,E,x),ae&6)be(x.component,k,C);else{if(ae&128){x.suspense.unmount(k,C);return}_e&&Cs(x,null,E,"beforeUnmount"),ae&64?x.type.remove(x,E,k,I,Q,C):j&&(B!==Re||ie>0&&ie&64)?we(j,E,k,!1,!0):(B===Re&&ie&384||!I&&ae&16)&&we(H,E,k),C&&st(x)}(Ee&&(We=Y&&Y.onVnodeUnmounted)||_e)&&pt(()=>{We&&Bt(We,E,x),_e&&Cs(x,null,E,"unmounted")},k)},st=x=>{const{type:E,el:k,anchor:C,transition:I}=x;if(E===Re){it(k,C);return}if(E===xo){w(x);return}const B=()=>{i(k),I&&!I.persisted&&I.afterLeave&&I.afterLeave()};if(x.shapeFlag&1&&I&&!I.persisted){const{leave:Y,delayLeave:U}=I,H=()=>Y(k,B);U?U(x.el,B,H):H()}else B()},it=(x,E)=>{let k;for(;x!==E;)k=d(x),i(x),x=k;i(E)},be=(x,E,k)=>{const{bum:C,scope:I,update:B,subTree:Y,um:U}=x;C&&bi(C),I.stop(),B&&(B.active=!1,ye(Y,x,E,k)),U&&pt(U,E),pt(()=>{x.isUnmounted=!0},E),E&&E.pendingBranch&&!E.isUnmounted&&x.asyncDep&&!x.asyncResolved&&x.suspenseId===E.pendingId&&(E.deps--,E.deps===0&&E.resolve())},we=(x,E,k,C=!1,I=!1,B=0)=>{for(let Y=B;Yx.shapeFlag&6?$(x.component.subTree):x.shapeFlag&128?x.suspense.next():d(x.anchor||x.el),L=(x,E,k)=>{x==null?E._vnode&&ye(E._vnode,null,null,!0):m(E._vnode||null,x,E,null,null,null,k),Au(),Hd(),E._vnode=x},Q={p:m,um:ye,m:ue,r:st,mt:z,mc:T,pc:te,pbc:O,n:$,o:n};let oe,Se;return e&&([oe,Se]=e(Q)),{render:L,hydrate:oe,createApp:r_(L,oe)}}function As({effect:n,update:e},t){n.allowRecurse=e.allowRecurse=t}function f_(n,e){return(!n||n&&!n.pendingBranch)&&e&&!e.persisted}function pf(n,e,t=!1){const s=n.children,i=e.children;if(de(s)&&de(i))for(let r=0;r>1,n[t[a]]0&&(e[s]=t[r-1]),t[r]=s)}}for(r=t.length,o=t[r-1];r-- >0;)t[r]=o,o=e[o];return t}const m_=n=>n.__isTeleport,Re=Symbol.for("v-fgt"),ka=Symbol.for("v-txt"),Wt=Symbol.for("v-cmt"),xo=Symbol.for("v-stc"),cr=[];let Qt=null;function K(n=!1){cr.push(Qt=n?null:[])}function g_(){cr.pop(),Qt=cr[cr.length-1]||null}let _r=1;function Lu(n){_r+=n}function mf(n){return n.dynamicChildren=_r>0?Qt||yi:null,g_(),_r>0&&Qt&&Qt.push(n),n}function ee(n,e,t,s,i,r){return mf(V(n,e,t,s,i,r,!0))}function et(n,e,t,s,i){return mf(xe(n,e,t,s,i,!0))}function yr(n){return n?n.__v_isVNode===!0:!1}function hs(n,e){return n.type===e.type&&n.key===e.key}const Oa="__vInternal",gf=({key:n})=>n??null,To=({ref:n,ref_key:e,ref_for:t})=>(typeof n=="number"&&(n=""+n),n!=null?Qe(n)||dt(n)||ve(n)?{i:mt,r:n,k:e,f:!!t}:n:null);function V(n,e=null,t=null,s=0,i=null,r=n===Re?0:1,o=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:n,props:e,key:e&&gf(e),ref:e&&To(e),scopeId:Sa,slotScopeIds:null,children:t,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:mt};return a?(Al(c,t),r&128&&n.normalize(c)):t&&(c.shapeFlag|=Qe(t)?8:16),_r>0&&!o&&Qt&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&Qt.push(c),c}const xe=__;function __(n,e=null,t=null,s=0,i=null,r=!1){if((!n||n===sf)&&(n=Wt),yr(n)){const a=Ln(n,e,!0);return t&&Al(a,t),_r>0&&!r&&Qt&&(a.shapeFlag&6?Qt[Qt.indexOf(n)]=a:Qt.push(a)),a.patchFlag|=-2,a}if(A_(n)&&(n=n.__vccOpts),e){e=y_(e);let{class:a,style:c}=e;a&&!Qe(a)&&(e.class=vs(a)),Ue(c)&&(Ld(c)&&!de(c)&&(c=at({},c)),e.style=Be(c))}const o=Qe(n)?1:Yd(n)?128:m_(n)?64:Ue(n)?4:ve(n)?2:0;return V(n,e,t,s,i,o,r,!0)}function y_(n){return n?Ld(n)||Oa in n?at({},n):n:null}function Ln(n,e,t=!1){const{props:s,ref:i,patchFlag:r,children:o}=n,a=e?Ia(s||{},e):s;return{__v_isVNode:!0,__v_skip:!0,type:n.type,props:a,key:a&&gf(a),ref:e&&e.ref?t&&i?de(i)?i.concat(To(e)):[i,To(e)]:To(e):i,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:o,target:n.target,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:e&&n.type!==Re?r===-1?16:r|16:r,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:n.transition,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&Ln(n.ssContent),ssFallback:n.ssFallback&&Ln(n.ssFallback),el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce}}function vr(n=" ",e=0){return xe(ka,null,n,e)}function v_(n,e){const t=xe(xo,null,n);return t.staticCount=e,t}function ut(n="",e=!1){return e?(K(),et(Wt,null,n)):xe(Wt,null,n)}function bn(n){return n==null||typeof n=="boolean"?xe(Wt):de(n)?xe(Re,null,n.slice()):typeof n=="object"?cs(n):xe(ka,null,String(n))}function cs(n){return n.el===null&&n.patchFlag!==-1||n.memo?n:Ln(n)}function Al(n,e){let t=0;const{shapeFlag:s}=n;if(e==null)e=null;else if(de(e))t=16;else if(typeof e=="object")if(s&65){const i=e.default;i&&(i._c&&(i._d=!1),Al(n,i()),i._c&&(i._d=!0));return}else{t=32;const i=e._;!i&&!(Oa in e)?e._ctx=mt:i===3&&mt&&(mt.slots._===1?e._=1:(e._=2,n.patchFlag|=1024))}else ve(e)?(e={default:e,_ctx:mt},t=32):(e=String(e),s&64?(t=16,e=[vr(e)]):t=8);n.children=e,n.shapeFlag|=t}function Ia(...n){const e={};for(let t=0;tht||mt;let Nl,ci,Bu="__VUE_INSTANCE_SETTERS__";(ci=Ec()[Bu])||(ci=Ec()[Bu]=[]),ci.push(n=>ht=n),Nl=n=>{ci.length>1?ci.forEach(e=>e(n)):ci[0](n)};const Ni=n=>{Nl(n),n.scope.on()},qs=()=>{ht&&ht.scope.off(),Nl(null)};function _f(n){return n.vnode.shapeFlag&4}let br=!1;function T_(n,e=!1){br=e;const{props:t,children:s}=n.vnode,i=_f(n);o_(n,t,i,e),l_(n,s);const r=i?E_(n,e):void 0;return br=!1,r}function E_(n,e){const t=n.type;n.accessCache=Object.create(null),n.proxy=Bd(new Proxy(n.ctx,Qg));const{setup:s}=t;if(s){const i=n.setupContext=s.length>1?C_(n):null;Ni(n),Wi();const r=fs(s,n,0,[n.props,i]);if(zi(),qs(),wd(r)){if(r.then(qs,qs),e)return r.then(o=>{qu(n,o,e)}).catch(o=>{Ta(o,n,0)});n.asyncDep=r}else qu(n,r,e)}else yf(n,e)}function qu(n,e,t){ve(e)?n.type.__ssrInlineRender?n.ssrRender=e:n.render=e:Ue(e)&&(n.setupState=jd(e)),yf(n,t)}let Uu;function yf(n,e,t){const s=n.type;if(!n.render){if(!e&&Uu&&!s.render){const i=s.template||Sl(n).template;if(i){const{isCustomElement:r,compilerOptions:o}=n.appContext.config,{delimiters:a,compilerOptions:c}=s,l=at(at({isCustomElement:r,delimiters:a},o),c);s.render=Uu(i,l)}}n.render=s.render||tn}{Ni(n),Wi();try{Jg(n)}finally{zi(),qs()}}}function S_(n){return n.attrsProxy||(n.attrsProxy=new Proxy(n.attrs,{get(e,t){return Ot(n,"get","$attrs"),e[t]}}))}function C_(n){const e=t=>{n.exposed=t||{}};return{get attrs(){return S_(n)},slots:n.slots,emit:n.emit,expose:e}}function Ra(n){if(n.exposed)return n.exposeProxy||(n.exposeProxy=new Proxy(jd(Bd(n.exposed)),{get(e,t){if(t in e)return e[t];if(t in ar)return ar[t](n)},has(e,t){return t in e||t in ar}}))}function Dc(n,e=!0){return ve(n)?n.displayName||n.name:n.name||e&&n.__name}function A_(n){return ve(n)&&"__vccOpts"in n}const fe=(n,e)=>Tg(n,e,br);function Da(n,e,t){const s=arguments.length;return s===2?Ue(e)&&!de(e)?yr(e)?xe(n,null,[e]):xe(n,e):xe(n,null,e):(s>3?t=Array.prototype.slice.call(arguments,2):s===3&&yr(t)&&(t=[t]),xe(n,e,t))}const N_=Symbol.for("v-scx"),M_=()=>sn(N_),k_="3.3.7",O_="http://www.w3.org/2000/svg",Rs=typeof document<"u"?document:null,ju=Rs&&Rs.createElement("template"),I_={insert:(n,e,t)=>{e.insertBefore(n,t||null)},remove:n=>{const e=n.parentNode;e&&e.removeChild(n)},createElement:(n,e,t,s)=>{const i=e?Rs.createElementNS(O_,n):Rs.createElement(n,t?{is:t}:void 0);return n==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:n=>Rs.createTextNode(n),createComment:n=>Rs.createComment(n),setText:(n,e)=>{n.nodeValue=e},setElementText:(n,e)=>{n.textContent=e},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>Rs.querySelector(n),setScopeId(n,e){n.setAttribute(e,"")},insertStaticContent(n,e,t,s,i,r){const o=t?t.previousSibling:e.lastChild;if(i&&(i===r||i.nextSibling))for(;e.insertBefore(i.cloneNode(!0),t),!(i===r||!(i=i.nextSibling)););else{ju.innerHTML=s?`${n}`:n;const a=ju.content;if(s){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}e.insertBefore(a,t)}return[o?o.nextSibling:e.firstChild,t?t.previousSibling:e.lastChild]}},es="transition",Ji="animation",Mi=Symbol("_vtc"),Pa=(n,{slots:e})=>Da(Vg,bf(n),e);Pa.displayName="Transition";const vf={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},R_=Pa.props=at({},Jd,vf),Ns=(n,e=[])=>{de(n)?n.forEach(t=>t(...e)):n&&n(...e)},Wu=n=>n?de(n)?n.some(e=>e.length>1):n.length>1:!1;function bf(n){const e={};for(const M in n)M in vf||(e[M]=n[M]);if(n.css===!1)return e;const{name:t="v",type:s,duration:i,enterFromClass:r=`${t}-enter-from`,enterActiveClass:o=`${t}-enter-active`,enterToClass:a=`${t}-enter-to`,appearFromClass:c=r,appearActiveClass:l=o,appearToClass:u=a,leaveFromClass:h=`${t}-leave-from`,leaveActiveClass:d=`${t}-leave-active`,leaveToClass:f=`${t}-leave-to`}=n,p=D_(i),m=p&&p[0],_=p&&p[1],{onBeforeEnter:g,onEnter:y,onEnterCancelled:S,onLeave:w,onLeaveCancelled:v,onBeforeAppear:A=g,onAppear:N=y,onAppearCancelled:T=S}=e,R=(M,F,z)=>{ss(M,F?u:a),ss(M,F?l:o),z&&z()},O=(M,F)=>{M._isLeaving=!1,ss(M,h),ss(M,f),ss(M,d),F&&F()},P=M=>(F,z)=>{const ne=M?N:y,X=()=>R(F,M,z);Ns(ne,[F,X]),zu(()=>{ss(F,M?c:r),Rn(F,M?u:a),Wu(ne)||Hu(F,s,m,X)})};return at(e,{onBeforeEnter(M){Ns(g,[M]),Rn(M,r),Rn(M,o)},onBeforeAppear(M){Ns(A,[M]),Rn(M,c),Rn(M,l)},onEnter:P(!1),onAppear:P(!0),onLeave(M,F){M._isLeaving=!0;const z=()=>O(M,F);Rn(M,h),xf(),Rn(M,d),zu(()=>{M._isLeaving&&(ss(M,h),Rn(M,f),Wu(w)||Hu(M,s,_,z))}),Ns(w,[M,z])},onEnterCancelled(M){R(M,!1),Ns(S,[M])},onAppearCancelled(M){R(M,!0),Ns(T,[M])},onLeaveCancelled(M){O(M),Ns(v,[M])}})}function D_(n){if(n==null)return null;if(Ue(n))return[uc(n.enter),uc(n.leave)];{const e=uc(n);return[e,e]}}function uc(n){return $m(n)}function Rn(n,e){e.split(/\s+/).forEach(t=>t&&n.classList.add(t)),(n[Mi]||(n[Mi]=new Set)).add(e)}function ss(n,e){e.split(/\s+/).forEach(s=>s&&n.classList.remove(s));const t=n[Mi];t&&(t.delete(e),t.size||(n[Mi]=void 0))}function zu(n){requestAnimationFrame(()=>{requestAnimationFrame(n)})}let P_=0;function Hu(n,e,t,s){const i=n._endId=++P_,r=()=>{i===n._endId&&s()};if(t)return setTimeout(r,t);const{type:o,timeout:a,propCount:c}=wf(n,e);if(!o)return s();const l=o+"end";let u=0;const h=()=>{n.removeEventListener(l,d),r()},d=f=>{f.target===n&&++u>=c&&h()};setTimeout(()=>{u(t[p]||"").split(", "),i=s(`${es}Delay`),r=s(`${es}Duration`),o=Gu(i,r),a=s(`${Ji}Delay`),c=s(`${Ji}Duration`),l=Gu(a,c);let u=null,h=0,d=0;e===es?o>0&&(u=es,h=o,d=r.length):e===Ji?l>0&&(u=Ji,h=l,d=c.length):(h=Math.max(o,l),u=h>0?o>l?es:Ji:null,d=u?u===es?r.length:c.length:0);const f=u===es&&/\b(transform|all)(,|$)/.test(s(`${es}Property`).toString());return{type:u,timeout:h,propCount:d,hasTransform:f}}function Gu(n,e){for(;n.lengthKu(t)+Ku(n[s])))}function Ku(n){return n==="auto"?0:Number(n.slice(0,-1).replace(",","."))*1e3}function xf(){return document.body.offsetHeight}function $_(n,e,t){const s=n[Mi];s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?n.removeAttribute("class"):t?n.setAttribute("class",e):n.className=e}const Ml=Symbol("_vod"),$o={beforeMount(n,{value:e},{transition:t}){n[Ml]=n.style.display==="none"?"":n.style.display,t&&e?t.beforeEnter(n):er(n,e)},mounted(n,{value:e},{transition:t}){t&&e&&t.enter(n)},updated(n,{value:e,oldValue:t},{transition:s}){!e!=!t&&(s?e?(s.beforeEnter(n),er(n,!0),s.enter(n)):s.leave(n,()=>{er(n,!1)}):er(n,e))},beforeUnmount(n,{value:e}){er(n,e)}};function er(n,e){n.style.display=e?n[Ml]:"none"}function F_(n,e,t){const s=n.style,i=Qe(t);if(t&&!i){if(e&&!Qe(e))for(const r in e)t[r]==null&&Pc(s,r,"");for(const r in t)Pc(s,r,t[r])}else{const r=s.display;i?e!==t&&(s.cssText=t):e&&n.removeAttribute("style"),Ml in n&&(s.display=r)}}const Yu=/\s*!important$/;function Pc(n,e,t){if(de(t))t.forEach(s=>Pc(n,e,s));else if(t==null&&(t=""),e.startsWith("--"))n.setProperty(e,t);else{const s=V_(n,e);Yu.test(t)?n.setProperty(ei(s),t.replace(Yu,""),"important"):n[s]=t}}const Zu=["Webkit","Moz","ms"],hc={};function V_(n,e){const t=hc[e];if(t)return t;let s=En(e);if(s!=="filter"&&s in n)return hc[e]=s;s=ba(s);for(let i=0;idc||(W_.then(()=>dc=0),dc=Date.now());function H_(n,e){const t=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=t.attached)return;jt(G_(s,t.value),e,5,[s])};return t.value=n,t.attached=z_(),t}function G_(n,e){if(de(e)){const t=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{t.call(n),n._stopped=!0},e.map(s=>i=>!i._stopped&&s&&s(i))}else return e}const eh=/^on[a-z]/,K_=(n,e,t,s,i=!1,r,o,a,c)=>{e==="class"?$_(n,s,i):e==="style"?F_(n,t,s):_a(e)?ol(e)||U_(n,e,t,s,o):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Y_(n,e,s,i))?B_(n,e,s,r,o,a,c):(e==="true-value"?n._trueValue=s:e==="false-value"&&(n._falseValue=s),L_(n,e,s,i))};function Y_(n,e,t,s){return s?!!(e==="innerHTML"||e==="textContent"||e in n&&eh.test(e)&&ve(t)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&n.tagName==="INPUT"||e==="type"&&n.tagName==="TEXTAREA"||eh.test(e)&&Qe(t)?!1:e in n}const Ef=new WeakMap,Sf=new WeakMap,Fo=Symbol("_moveCb"),th=Symbol("_enterCb"),Cf={name:"TransitionGroup",props:at({},R_,{tag:String,moveClass:String}),setup(n,{slots:e}){const t=Wr(),s=Qd();let i,r;return wl(()=>{if(!i.length)return;const o=n.moveClass||`${n.name||"v"}-move`;if(!t0(i[0].el,t.vnode.el,o))return;i.forEach(Q_),i.forEach(J_);const a=i.filter(e0);xf(),a.forEach(c=>{const l=c.el,u=l.style;Rn(l,o),u.transform=u.webkitTransform=u.transitionDuration="";const h=l[Fo]=d=>{d&&d.target!==l||(!d||/transform$/.test(d.propertyName))&&(l.removeEventListener("transitionend",h),l[Fo]=null,ss(l,o))};l.addEventListener("transitionend",h)})}),()=>{const o=Ae(n),a=bf(o);let c=o.tag||Re;i=r,r=e.default?bl(e.default()):[];for(let l=0;ldelete n.mode;Cf.props;const X_=Cf;function Q_(n){const e=n.el;e[Fo]&&e[Fo](),e[th]&&e[th]()}function J_(n){Sf.set(n,n.el.getBoundingClientRect())}function e0(n){const e=Ef.get(n),t=Sf.get(n),s=e.left-t.left,i=e.top-t.top;if(s||i){const r=n.el.style;return r.transform=r.webkitTransform=`translate(${s}px,${i}px)`,r.transitionDuration="0s",n}}function t0(n,e,t){const s=n.cloneNode(),i=n[Mi];i&&i.forEach(a=>{a.split(/\s+/).forEach(c=>c&&s.classList.remove(c))}),t.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const r=e.nodeType===1?e:e.parentNode;r.appendChild(s);const{hasTransform:o}=wf(s);return r.removeChild(s),o}const nh=n=>{const e=n.props["onUpdate:modelValue"]||!1;return de(e)?t=>bi(e,t):e},fc=Symbol("_assign"),n0={deep:!0,created(n,e,t){n[fc]=nh(t),Tf(n,"change",()=>{const s=n._modelValue,i=s0(n),r=n.checked,o=n[fc];if(de(s)){const a=Sd(s,i),c=a!==-1;if(r&&!c)o(s.concat(i));else if(!r&&c){const l=[...s];l.splice(a,1),o(l)}}else if(ya(s)){const a=new Set(s);r?a.add(i):a.delete(i),o(a)}else o(Af(n,r))})},mounted:sh,beforeUpdate(n,e,t){n[fc]=nh(t),sh(n,e,t)}};function sh(n,{value:e,oldValue:t},s){n._modelValue=e,de(e)?n.checked=Sd(e,s.props.value)>-1:ya(e)?n.checked=e.has(s.props.value):e!==t&&(n.checked=wa(e,Af(n,!0)))}function s0(n){return"_value"in n?n._value:n.value}function Af(n,e){const t=e?"_trueValue":"_falseValue";return t in n?n[t]:e}const i0=["ctrl","shift","alt","meta"],r0={stop:n=>n.stopPropagation(),prevent:n=>n.preventDefault(),self:n=>n.target!==n.currentTarget,ctrl:n=>!n.ctrlKey,shift:n=>!n.shiftKey,alt:n=>!n.altKey,meta:n=>!n.metaKey,left:n=>"button"in n&&n.button!==0,middle:n=>"button"in n&&n.button!==1,right:n=>"button"in n&&n.button!==2,exact:(n,e)=>i0.some(t=>n[`${t}Key`]&&!e.includes(t))},o0=(n,e)=>(t,...s)=>{for(let i=0;it=>{if(!("key"in t))return;const s=ei(t.key);if(e.some(i=>i===s||a0[i]===s))return n(t)},l0=at({patchProp:K_},I_);let ih;function u0(){return ih||(ih=h_(l0))}const Nf=(...n)=>{const e=u0().createApp(...n),{mount:t}=e;return e.mount=s=>{const i=h0(s);if(!i)return;const r=e._component;!ve(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.innerHTML="";const o=t(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},e};function h0(n){return Qe(n)?document.querySelector(n):n}const d0={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},f0=V("path",{fill:"currentColor",d:"M248 144a8 8 0 0 1-16 0a96.11 96.11 0 0 0-96-96a88.1 88.1 0 0 0-88 88a80.09 80.09 0 0 0 80 80a72.08 72.08 0 0 0 72-72a64.07 64.07 0 0 0-64-64a56.06 56.06 0 0 0-56 56a48.05 48.05 0 0 0 48 48a40 40 0 0 0 40-40a32 32 0 0 0-32-32a24 24 0 0 0-24 24a16 16 0 0 0 16 16a8 8 0 0 0 8-8a8 8 0 0 1 0-16a16 16 0 0 1 16 16a24 24 0 0 1-24 24a32 32 0 0 1-32-32a40 40 0 0 1 40-40a48.05 48.05 0 0 1 48 48a56.06 56.06 0 0 1-56 56a64.07 64.07 0 0 1-64-64a72.08 72.08 0 0 1 72-72a80.09 80.09 0 0 1 80 80a88.1 88.1 0 0 1-88 88a96.11 96.11 0 0 1-96-96A104.11 104.11 0 0 1 136 32a112.12 112.12 0 0 1 112 112Z"},null,-1),p0=[f0];function m0(n,e){return K(),ee("svg",d0,[...p0])}const g0={name:"ph-spiral",render:m0},_0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},y0=V("path",{fill:"currentColor",d:"M4 9h4v11H4zm12 4h4v7h-4zm-6-9h4v16h-4z"},null,-1),v0=[y0];function b0(n,e){return K(),ee("svg",_0,[...v0])}const w0={name:"ic-outline-bar-chart",render:b0},x0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},T0=V("path",{fill:"currentColor",d:"M11 2.05v3.02a7.002 7.002 0 1 0 5.192 12.536l2.137 2.137A9.958 9.958 0 0 1 12 22C6.477 22 2 17.523 2 12c0-5.185 3.947-9.449 9-9.95ZM21.95 13a9.954 9.954 0 0 1-2.207 5.328l-2.137-2.136A6.964 6.964 0 0 0 18.93 13h3.022ZM13.002 2.05a10.004 10.004 0 0 1 8.95 8.95H18.93a7.005 7.005 0 0 0-5.928-5.929V2.049Z"},null,-1),E0=[T0];function S0(n,e){return K(),ee("svg",x0,[...E0])}const C0={name:"ri-donut-chart-fill",render:S0},A0={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},N0=V("path",{fill:"currentColor",d:"M15 5v10H5v2h10v10h2V17h10v-2H17V5z"},null,-1),M0=[N0];function k0(n,e){return K(),ee("svg",A0,[...M0])}const O0={name:"la-plus",render:k0},I0={style:{"vertical-align":"middle"},viewBox:"0 0 16 16",width:"1.2em",height:"1.2em"},R0=V("path",{fill:"currentColor",d:"M6.174 1.184a2 2 0 0 1 3.652 0A2 2 0 0 1 12.99 3.01a2 2 0 0 1 1.826 3.164a2 2 0 0 1 0 3.652a2 2 0 0 1-1.826 3.164a2 2 0 0 1-3.164 1.826a2 2 0 0 1-3.652 0A2 2 0 0 1 3.01 12.99a2 2 0 0 1-1.826-3.164a2 2 0 0 1 0-3.652A2 2 0 0 1 3.01 3.01a2 2 0 0 1 3.164-1.826zM8 1a1 1 0 0 0-.998 1.03l.01.091c.012.077.029.176.054.296c.049.241.122.542.213.887c.182.688.428 1.513.676 2.314L8 5.762l.045-.144c.248-.8.494-1.626.676-2.314c.091-.345.164-.646.213-.887a4.997 4.997 0 0 0 .064-.386L9 2a1 1 0 0 0-1-1zM2 9l.03-.002l.091-.01a4.99 4.99 0 0 0 .296-.054c.241-.049.542-.122.887-.213a60.59 60.59 0 0 0 2.314-.676L5.762 8l-.144-.045a60.59 60.59 0 0 0-2.314-.676a16.705 16.705 0 0 0-.887-.213a4.99 4.99 0 0 0-.386-.064L2 7a1 1 0 1 0 0 2zm7 5l-.002-.03a5.005 5.005 0 0 0-.064-.386a16.398 16.398 0 0 0-.213-.888a60.582 60.582 0 0 0-.676-2.314L8 10.238l-.045.144c-.248.8-.494 1.626-.676 2.314c-.091.345-.164.646-.213.887a4.996 4.996 0 0 0-.064.386L7 14a1 1 0 1 0 2 0zm-5.696-2.134l.025-.017a5.001 5.001 0 0 0 .303-.248c.184-.164.408-.377.661-.629A60.614 60.614 0 0 0 5.96 9.23l.103-.111l-.147.033a60.88 60.88 0 0 0-2.343.572c-.344.093-.64.18-.874.258a5.063 5.063 0 0 0-.367.138l-.027.014a1 1 0 1 0 1 1.732zM4.5 14.062a1 1 0 0 0 1.366-.366l.014-.027c.01-.02.021-.048.036-.084a5.09 5.09 0 0 0 .102-.283c.078-.233.165-.53.258-.874a60.6 60.6 0 0 0 .572-2.343l.033-.147l-.11.102a60.848 60.848 0 0 0-1.743 1.667a17.07 17.07 0 0 0-.629.66a5.06 5.06 0 0 0-.248.304l-.017.025a1 1 0 0 0 .366 1.366zm9.196-8.196a1 1 0 0 0-1-1.732l-.025.017a4.951 4.951 0 0 0-.303.248a16.69 16.69 0 0 0-.661.629A60.72 60.72 0 0 0 10.04 6.77l-.102.111l.147-.033a60.6 60.6 0 0 0 2.342-.572c.345-.093.642-.18.875-.258a4.993 4.993 0 0 0 .367-.138a.53.53 0 0 0 .027-.014zM11.5 1.938a1 1 0 0 0-1.366.366l-.014.027c-.01.02-.021.048-.036.084a5.09 5.09 0 0 0-.102.283c-.078.233-.165.53-.258.875a60.62 60.62 0 0 0-.572 2.342l-.033.147l.11-.102a60.848 60.848 0 0 0 1.743-1.667c.252-.253.465-.477.629-.66a5.001 5.001 0 0 0 .248-.304l.017-.025a1 1 0 0 0-.366-1.366zM14 9a1 1 0 0 0 0-2l-.03.002a4.996 4.996 0 0 0-.386.064c-.242.049-.543.122-.888.213c-.688.182-1.513.428-2.314.676L10.238 8l.144.045c.8.248 1.626.494 2.314.676c.345.091.646.164.887.213a4.996 4.996 0 0 0 .386.064L14 9zM1.938 4.5a1 1 0 0 0 .393 1.38l.084.035c.072.03.166.064.283.103c.233.078.53.165.874.258a60.88 60.88 0 0 0 2.343.572l.147.033l-.103-.111a60.584 60.584 0 0 0-1.666-1.742a16.705 16.705 0 0 0-.66-.629a4.996 4.996 0 0 0-.304-.248l-.025-.017a1 1 0 0 0-1.366.366zm2.196-1.196l.017.025a4.996 4.996 0 0 0 .248.303c.164.184.377.408.629.661A60.597 60.597 0 0 0 6.77 5.96l.111.102l-.033-.147a60.602 60.602 0 0 0-.572-2.342c-.093-.345-.18-.642-.258-.875a5.006 5.006 0 0 0-.138-.367l-.014-.027a1 1 0 1 0-1.732 1zm9.928 8.196a1 1 0 0 0-.366-1.366l-.027-.014a5 5 0 0 0-.367-.138c-.233-.078-.53-.165-.875-.258a60.619 60.619 0 0 0-2.342-.572l-.147-.033l.102.111a60.73 60.73 0 0 0 1.667 1.742c.253.252.477.465.66.629a4.946 4.946 0 0 0 .304.248l.025.017a1 1 0 0 0 1.366-.366zm-3.928 2.196a1 1 0 0 0 1.732-1l-.017-.025a5.065 5.065 0 0 0-.248-.303a16.705 16.705 0 0 0-.629-.661A60.462 60.462 0 0 0 9.23 10.04l-.111-.102l.033.147a60.6 60.6 0 0 0 .572 2.342c.093.345.18.642.258.875a4.985 4.985 0 0 0 .138.367a.575.575 0 0 0 .014.027zM8 9.5a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3z"},null,-1),D0=[R0];function P0(n,e){return K(),ee("svg",I0,[...D0])}const $0={name:"bi-flower1",render:P0},F0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},V0=V("path",{fill:"currentColor",d:"M12 4C6.486 4 2 8.486 2 14a9.89 9.89 0 0 0 1.051 4.445c.17.34.516.555.895.555h16.107c.379 0 .726-.215.896-.555A9.89 9.89 0 0 0 22 14c0-5.514-4.486-10-10-10zm7.41 13H4.59A7.875 7.875 0 0 1 4 14c0-4.411 3.589-8 8-8s8 3.589 8 8a7.875 7.875 0 0 1-.59 3z"},null,-1),L0=V("path",{fill:"currentColor",d:"M10.939 12.939a1.53 1.53 0 0 0 0 2.561a1.53 1.53 0 0 0 2.121-.44l3.962-6.038a.034.034 0 0 0 0-.035a.033.033 0 0 0-.045-.01l-6.038 3.962z"},null,-1),B0=[V0,L0];function q0(n,e){return K(),ee("svg",F0,[...B0])}const U0={name:"bx-tachometer",render:q0},j0={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},W0=V("path",{fill:"currentColor",d:"M237.66 18.34a8 8 0 0 0-11.32 0l-52.4 52.41l-5.37-5.38a32.05 32.05 0 0 0-45.26 0L100 88.69l-6.34-6.35a8 8 0 0 0-11.32 11.32l6.35 6.34l-23.32 23.31a32 32 0 0 0 0 45.26l5.38 5.37l-52.41 52.4a8 8 0 0 0 11.32 11.32l52.4-52.41l5.37 5.38a32 32 0 0 0 45.26 0L156 167.31l6.34 6.35a8 8 0 0 0 11.32-11.32l-6.35-6.34l23.32-23.31a32 32 0 0 0 0-45.26l-5.38-5.37l52.41-52.4a8 8 0 0 0 0-11.32Zm-116.29 161a16 16 0 0 1-22.62 0l-22.06-22.09a16 16 0 0 1 0-22.62L100 111.31L144.69 156Zm57.94-57.94L156 144.69L111.31 100l23.32-23.31a16 16 0 0 1 22.62 0l22.06 22a16 16 0 0 1 0 22.68Zm-90.9-86.87a8 8 0 0 1 15.18-5.06l8 24a8 8 0 0 1-15.18 5.06Zm-64 58.94a8 8 0 0 1 10.12-5.06l24 8a8 8 0 0 1-5.06 15.18l-24-8a8 8 0 0 1-5.06-10.12Zm207.18 69.06a8 8 0 0 1-10.12 5.06l-24-8a8 8 0 0 1 5.06-15.18l24 8a8 8 0 0 1 5.06 10.12Zm-64 58.94a8 8 0 0 1-15.18 5.06l-8-24a8 8 0 0 1 15.18-5.06Z"},null,-1),z0=[W0];function H0(n,e){return K(),ee("svg",j0,[...z0])}const G0={name:"ph-plugs-connected",render:H0},K0={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Y0=V("path",{fill:"currentColor",d:"M22 7h-9v2h9V7zm0 8h-9v2h9v-2zM5.54 11L2 7.46l1.41-1.41l2.12 2.12l4.24-4.24l1.41 1.41L5.54 11zm0 8L2 15.46l1.41-1.41l2.12 2.12l4.24-4.24l1.41 1.41L5.54 19z"},null,-1),Z0=[Y0];function X0(n,e){return K(),ee("svg",K0,[...Z0])}const Q0={name:"ic-baseline-checklist",render:X0},J0={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},e1=V("path",{fill:"currentColor",d:"M20.844 2c-1.64 0-3.297.852-4.407 2.156v.032c-.789.98-1.644 2.527-1.375 4.312c-.128-.05-.136-.035-.28-.094c-.692-.281-1.548-.594-2.563-.594c-3.98 0-7 3.606-7 8.344c0 3.067 1.031 5.942 2.406 8.094c.688 1.078 1.469 1.965 2.281 2.625c.813.66 1.664 1.125 2.625 1.125c.961 0 1.68-.324 2.219-.563c.54-.238.957-.437 1.75-.437c.715 0 1.078.195 1.625.438c.547.242 1.293.562 2.281.562c1.07 0 1.98-.523 2.719-1.188c.738-.664 1.36-1.519 1.875-2.343c.516-.824.922-1.633 1.219-2.282c.148-.324.258-.593.343-.812c.086-.219.13-.281.188-.531l.188-.813l-.75-.343a5.33 5.33 0 0 1-1.5-1.063c-.625-.637-1.157-1.508-1.157-2.844A4.08 4.08 0 0 1 24.563 13c.265-.309.542-.563.75-.719c.105-.078.187-.117.25-.156c.062-.04.05-.027.156-.094l.843-.531l-.562-.844c-1.633-2.511-4.246-2.844-5.281-2.844c-.48 0-.82.168-1.25.25c.242-.226.554-.367.75-.624c.004-.004-.004-.028 0-.032c.011-.011.023-.02.031-.031h.031a6.16 6.16 0 0 0 1.563-4.438L21.78 2zm-1.188 2.313c-.172.66-.453 1.289-.906 1.78l-.063.063c-.382.516-.972.899-1.562 1.125c.164-.652.45-1.312.844-1.812c.008-.012.023-.02.031-.032c.438-.5 1.043-.875 1.656-1.125zm-7.437 5.5c.558 0 1.172.21 1.812.468c.64.258 1.239.594 2.094.594c.852 0 1.496-.336 2.25-.594c.754-.258 1.559-.469 2.344-.469c.523 0 1.816.333 2.906 1.344c-.191.172-.36.297-.563.531a6.21 6.21 0 0 0-1.53 4.094c0 1.906.831 3.34 1.718 4.25c.55.563.89.696 1.313.938c-.055.125-.086.222-.157.375a18.82 18.82 0 0 1-1.093 2.062c-.454.727-1.004 1.434-1.532 1.907c-.527.472-1 .687-1.375.687c-.566 0-.898-.156-1.468-.406S17.581 25 16.5 25c-1.137 0-1.977.336-2.563.594c-.585.258-.89.406-1.406.406c-.246 0-.777-.2-1.375-.688c-.597-.488-1.254-1.23-1.844-2.156c-1.183-1.851-2.093-4.394-2.093-7c0-3.941 2.199-6.343 5-6.343z"},null,-1),t1=[e1];function n1(n,e){return K(),ee("svg",J0,[...t1])}const s1={name:"la-apple",render:n1},i1={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},r1=V("path",{fill:"currentColor",d:"M16 4C9.385 4 4 9.385 4 16s5.385 12 12 12s12-5.385 12-12S22.615 4 16 4zm0 2a9.977 9.977 0 0 1 8.922 5.492l-6.807-.004A4.93 4.93 0 0 0 16 11c-1.625 0-3.06.796-3.975 2.006L8.44 9.459A9.966 9.966 0 0 1 16 6zm-8.367 4.523l3.387 5.87a5.015 5.015 0 0 0 4.369 4.566l-1.276 4.857A9.982 9.982 0 0 1 6 16a9.96 9.96 0 0 1 1.633-5.477zm17.808 2.202A9.986 9.986 0 0 1 16 26c-.186 0-.367-.017-.55-.027l3.392-5.871A4.998 4.998 0 0 0 21 16a4.96 4.96 0 0 0-.398-1.947l4.84-1.328zM16 13c1.671 0 3 1.329 3 3s-1.329 3-3 3s-3-1.329-3-3s1.329-3 3-3z"},null,-1),o1=[r1];function a1(n,e){return K(),ee("svg",i1,[...o1])}const c1={name:"la-chrome",render:a1},l1="/pc-keyboard.svg",Mf="14.8.49",rh=(n,e,t)=>({endTime:e,insertTime:t,type:"exponentialRampToValue",value:n}),oh=(n,e,t)=>({endTime:e,insertTime:t,type:"linearRampToValue",value:n}),$c=(n,e)=>({startTime:e,type:"setValue",value:n}),kf=(n,e,t)=>({duration:t,startTime:e,type:"setValueCurve",values:n}),Of=(n,e,{startTime:t,target:s,timeConstant:i})=>s+(e-s)*Math.exp((t-n)/i),gi=n=>n.type==="exponentialRampToValue",Vo=n=>n.type==="linearRampToValue",ls=n=>gi(n)||Vo(n),kl=n=>n.type==="setValue",Pn=n=>n.type==="setValueCurve",Lo=(n,e,t,s)=>{const i=n[e];return i===void 0?s:ls(i)||kl(i)?i.value:Pn(i)?i.values[i.values.length-1]:Of(t,Lo(n,e-1,i.startTime,s),i)},ah=(n,e,t,s,i)=>t===void 0?[s.insertTime,i]:ls(t)?[t.endTime,t.value]:kl(t)?[t.startTime,t.value]:Pn(t)?[t.startTime+t.duration,t.values[t.values.length-1]]:[t.startTime,Lo(n,e-1,t.startTime,i)],Fc=n=>n.type==="cancelAndHold",Vc=n=>n.type==="cancelScheduledValues",ts=n=>Fc(n)||Vc(n)?n.cancelTime:gi(n)||Vo(n)?n.endTime:n.startTime,ch=(n,e,t,{endTime:s,value:i})=>t===i?i:0t+(n-e)/(s-e)*(i-t),u1=(n,e)=>{const t=Math.floor(e),s=Math.ceil(e);return t===s?n[t]:(1-(e-t))*n[t]+(1-(s-e))*n[s]},h1=(n,{duration:e,startTime:t,values:s})=>{const i=(n-t)/e*(s.length-1);return u1(s,i)},ho=n=>n.type==="setTarget";class d1{constructor(e){this._automationEvents=[],this._currenTime=0,this._defaultValue=e}[Symbol.iterator](){return this._automationEvents[Symbol.iterator]()}add(e){const t=ts(e);if(Fc(e)||Vc(e)){const s=this._automationEvents.findIndex(r=>Vc(e)&&Pn(r)?r.startTime+r.duration>=t:ts(r)>=t),i=this._automationEvents[s];if(s!==-1&&(this._automationEvents=this._automationEvents.slice(0,s)),Fc(e)){const r=this._automationEvents[this._automationEvents.length-1];if(i!==void 0&&ls(i)){if(ho(r))throw new Error("The internal list is malformed.");const o=Pn(r)?r.startTime+r.duration:ts(r),a=Pn(r)?r.values[r.values.length-1]:r.value,c=gi(i)?ch(t,o,a,i):lh(t,o,a,i),l=gi(i)?rh(c,t,this._currenTime):oh(c,t,this._currenTime);this._automationEvents.push(l)}r!==void 0&&ho(r)&&this._automationEvents.push($c(this.getValue(t),t)),r!==void 0&&Pn(r)&&r.startTime+r.duration>t&&(this._automationEvents[this._automationEvents.length-1]=kf(new Float32Array([6,7]),r.startTime,t-r.startTime))}}else{const s=this._automationEvents.findIndex(o=>ts(o)>t),i=s===-1?this._automationEvents[this._automationEvents.length-1]:this._automationEvents[s-1];if(i!==void 0&&Pn(i)&&ts(i)+i.duration>t)return!1;const r=gi(e)?rh(e.value,e.endTime,this._currenTime):Vo(e)?oh(e.value,t,this._currenTime):e;if(s===-1)this._automationEvents.push(r);else{if(Pn(e)&&t+e.duration>ts(this._automationEvents[s]))return!1;this._automationEvents.splice(s,0,r)}}return!0}flush(e){const t=this._automationEvents.findIndex(s=>ts(s)>e);if(t>1){const s=this._automationEvents.slice(t-1),i=s[0];ho(i)&&s.unshift($c(Lo(this._automationEvents,t-2,i.startTime,this._defaultValue),i.startTime)),this._automationEvents=s}}getValue(e){if(this._automationEvents.length===0)return this._defaultValue;const t=this._automationEvents.findIndex(o=>ts(o)>e),s=this._automationEvents[t],i=(t===-1?this._automationEvents.length:t)-1,r=this._automationEvents[i];if(r!==void 0&&ho(r)&&(s===void 0||!ls(s)||s.insertTime>e))return Of(e,Lo(this._automationEvents,i-1,r.startTime,this._defaultValue),r);if(r!==void 0&&kl(r)&&(s===void 0||!ls(s)))return r.value;if(r!==void 0&&Pn(r)&&(s===void 0||!ls(s)||r.startTime+r.duration>e))return e({cancelTime:n,type:"cancelAndHold"}),p1=n=>({cancelTime:n,type:"cancelScheduledValues"}),m1=(n,e)=>({endTime:e,type:"exponentialRampToValue",value:n}),g1=(n,e)=>({endTime:e,type:"linearRampToValue",value:n}),_1=(n,e,t)=>({startTime:e,target:n,timeConstant:t,type:"setTarget"}),y1=()=>new DOMException("","AbortError"),v1=n=>(e,t,[s,i,r],o)=>{n(e[i],[t,s,r],a=>a[0]===t&&a[1]===s,o)},b1=n=>(e,t,s)=>{const i=[];for(let r=0;r(e,t)=>{n.set(e,{activeInputs:new Set,passiveInputs:new WeakMap,renderer:t})},ki=new WeakSet,If=new WeakMap,Ol=new WeakMap,Rf=new WeakMap,Il=new WeakMap,$a=new WeakMap,Df=new WeakMap,Lc=new WeakMap,Bc=new WeakMap,qc=new WeakMap,Pf={construct(){return Pf}},x1=n=>{try{const e=new Proxy(n,Pf);new e}catch{return!1}return!0},uh=/^import(?:(?:[\s]+[\w]+|(?:[\s]+[\w]+[\s]*,)?[\s]*\{[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?(?:[\s]*,[\s]*[\w]+(?:[\s]+as[\s]+[\w]+)?)*[\s]*}|(?:[\s]+[\w]+[\s]*,)?[\s]*\*[\s]+as[\s]+[\w]+)[\s]+from)?(?:[\s]*)("([^"\\]|\\.)+"|'([^'\\]|\\.)+')(?:[\s]*);?/,hh=(n,e)=>{const t=[];let s=n.replace(/^[\s]+/,""),i=s.match(uh);for(;i!==null;){const r=i[1].slice(1,-1),o=i[0].replace(/([\s]+)?;?$/,"").replace(r,new URL(r,e).toString());t.push(o),s=s.slice(i[0].length).replace(/^[\s]+/,""),i=s.match(uh)}return[t.join(";"),s]},dh=n=>{if(n!==void 0&&!Array.isArray(n))throw new TypeError("The parameterDescriptors property of given value for processorCtor is not an array.")},fh=n=>{if(!x1(n))throw new TypeError("The given value for processorCtor should be a constructor.");if(n.prototype===null||typeof n.prototype!="object")throw new TypeError("The given value for processorCtor should have a prototype.")},T1=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>{let f=0;return(p,m,_={credentials:"omit"})=>{const g=u.get(p);if(g!==void 0&&g.has(m))return Promise.resolve();const y=l.get(p);if(y!==void 0){const v=y.get(m);if(v!==void 0)return v}const S=r(p),w=S.audioWorklet===void 0?i(m).then(([v,A])=>{const[N,T]=hh(v,A),R=`${N};((a,b)=>{(a[b]=a[b]||[]).push((AudioWorkletProcessor,global,registerProcessor,sampleRate,self,window)=>{${T} +})})(window,'_AWGS')`;return t(R)}).then(()=>{const v=d._AWGS.pop();if(v===void 0)throw new SyntaxError;s(S.currentTime,S.sampleRate,()=>v(class{},void 0,(A,N)=>{if(A.trim()==="")throw e();const T=Bc.get(S);if(T!==void 0){if(T.has(A))throw e();fh(N),dh(N.parameterDescriptors),T.set(A,N)}else fh(N),dh(N.parameterDescriptors),Bc.set(S,new Map([[A,N]]))},S.sampleRate,void 0,void 0))}):Promise.all([i(m),Promise.resolve(n(h,h))]).then(([[v,A],N])=>{const T=f+1;f=T;const[R,O]=hh(v,A),z=`${R};((AudioWorkletProcessor,registerProcessor)=>{${O} +})(${N?"AudioWorkletProcessor":"class extends AudioWorkletProcessor {__b=new WeakSet();constructor(){super();(p=>p.postMessage=(q=>(m,t)=>q.call(p,m,t?t.filter(u=>!this.__b.has(u)):t))(p.postMessage))(this.port)}}"},(n,p)=>registerProcessor(n,class extends p{${N?"":"__c = (a) => a.forEach(e=>this.__b.add(e.buffer));"}process(i,o,p){${N?"":"i.forEach(this.__c);o.forEach(this.__c);this.__c(Object.values(p));"}return super.process(i.map(j=>j.some(k=>k.length===0)?[]:j),o,p)}}));registerProcessor('__sac${T}',class extends AudioWorkletProcessor{process(){return !1}})`,ne=new Blob([z],{type:"application/javascript; charset=utf-8"}),X=URL.createObjectURL(ne);return S.audioWorklet.addModule(X,_).then(()=>{if(a(S))return S;const Z=o(S);return Z.audioWorklet.addModule(X,_).then(()=>Z)}).then(Z=>{if(c===null)throw new SyntaxError;try{new c(Z,`__sac${T}`)}catch{throw new SyntaxError}}).finally(()=>URL.revokeObjectURL(X))});return y===void 0?l.set(p,new Map([[m,w]])):y.set(m,w),w.then(()=>{const v=u.get(p);v===void 0?u.set(p,new Set([m])):v.add(m)}).finally(()=>{const v=l.get(p);v!==void 0&&v.delete(m)}),w}},rn=(n,e)=>{const t=n.get(e);if(t===void 0)throw new Error("A value with the given key could not be found.");return t},Fa=(n,e)=>{const t=Array.from(n).filter(e);if(t.length>1)throw Error("More than one element was found.");if(t.length===0)throw Error("No element was found.");const[s]=t;return n.delete(s),s},$f=(n,e,t,s)=>{const i=rn(n,e),r=Fa(i,o=>o[0]===t&&o[1]===s);return i.size===0&&n.delete(e),r},zr=n=>rn(Df,n),Oi=n=>{if(ki.has(n))throw new Error("The AudioNode is already stored.");ki.add(n),zr(n).forEach(e=>e(!0))},Ff=n=>"port"in n,Hr=n=>{if(!ki.has(n))throw new Error("The AudioNode is not stored.");ki.delete(n),zr(n).forEach(e=>e(!1))},Uc=(n,e)=>{!Ff(n)&&e.every(t=>t.size===0)&&Hr(n)},E1=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>{const f=new WeakMap;return(p,m,_,g,y)=>{const{activeInputs:S,passiveInputs:w}=r(m),{outputs:v}=r(p),A=a(p),N=T=>{const R=c(m),O=c(p);if(T){const P=$f(w,p,_,g);n(S,p,P,!1),!y&&!h(p)&&t(O,R,_,g),d(m)&&Oi(m)}else{const P=s(S,p,_,g);e(w,g,P,!1),!y&&!h(p)&&i(O,R,_,g);const M=o(m);if(M===0)u(m)&&Uc(m,S);else{const F=f.get(m);F!==void 0&&clearTimeout(F),f.set(m,setTimeout(()=>{u(m)&&Uc(m,S)},M*1e3))}}};return l(v,[m,_,g],T=>T[0]===m&&T[1]===_&&T[2]===g,!0)?(A.add(N),u(p)?n(S,p,[_,g,N],!0):e(w,g,[p,_,N],!0),!0):!1}},S1=n=>(e,t,[s,i,r],o)=>{const a=e.get(s);a===void 0?e.set(s,new Set([[i,t,r]])):n(a,[i,t,r],c=>c[0]===i&&c[1]===t,o)},C1=n=>(e,t)=>{const s=n(e,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});t.connect(s).connect(e.destination);const i=()=>{t.removeEventListener("ended",i),t.disconnect(s),s.disconnect()};t.addEventListener("ended",i)},A1=n=>(e,t)=>{n(e).add(t)},N1={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",fftSize:2048,maxDecibels:-30,minDecibels:-100,smoothingTimeConstant:.8},M1=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=i(a),u={...N1,...c},h=s(l,u),d=r(l)?e():null;super(a,!1,h,d),this._nativeAnalyserNode=h}get fftSize(){return this._nativeAnalyserNode.fftSize}set fftSize(a){this._nativeAnalyserNode.fftSize=a}get frequencyBinCount(){return this._nativeAnalyserNode.frequencyBinCount}get maxDecibels(){return this._nativeAnalyserNode.maxDecibels}set maxDecibels(a){const c=this._nativeAnalyserNode.maxDecibels;if(this._nativeAnalyserNode.maxDecibels=a,!(a>this._nativeAnalyserNode.minDecibels))throw this._nativeAnalyserNode.maxDecibels=c,t()}get minDecibels(){return this._nativeAnalyserNode.minDecibels}set minDecibels(a){const c=this._nativeAnalyserNode.minDecibels;if(this._nativeAnalyserNode.minDecibels=a,!(this._nativeAnalyserNode.maxDecibels>a))throw this._nativeAnalyserNode.minDecibels=c,t()}get smoothingTimeConstant(){return this._nativeAnalyserNode.smoothingTimeConstant}set smoothingTimeConstant(a){this._nativeAnalyserNode.smoothingTimeConstant=a}getByteFrequencyData(a){this._nativeAnalyserNode.getByteFrequencyData(a)}getByteTimeDomainData(a){this._nativeAnalyserNode.getByteTimeDomainData(a)}getFloatFrequencyData(a){this._nativeAnalyserNode.getFloatFrequencyData(a)}getFloatTimeDomainData(a){this._nativeAnalyserNode.getFloatTimeDomainData(a)}},wt=(n,e)=>n.context===e,k1=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!wt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,fftSize:a.fftSize,maxDecibels:a.maxDecibels,minDecibels:a.minDecibels,smoothingTimeConstant:a.smoothingTimeConstant};a=n(o,l)}return s.set(o,a),await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},Bo=n=>{try{n.copyToChannel(new Float32Array(1),0,-1)}catch{return!1}return!0},Nn=()=>new DOMException("","IndexSizeError"),Rl=n=>{n.getChannelData=(e=>t=>{try{return e.call(n,t)}catch(s){throw s.code===12?Nn():s}})(n.getChannelData)},O1={numberOfChannels:1},I1=(n,e,t,s,i,r,o,a)=>{let c=null;return class Vf{constructor(u){if(i===null)throw new Error("Missing the native OfflineAudioContext constructor.");const{length:h,numberOfChannels:d,sampleRate:f}={...O1,...u};c===null&&(c=new i(1,1,44100));const p=s!==null&&e(r,r)?new s({length:h,numberOfChannels:d,sampleRate:f}):c.createBuffer(d,h,f);if(p.numberOfChannels===0)throw t();return typeof p.copyFromChannel!="function"?(o(p),Rl(p)):e(Bo,()=>Bo(p))||a(p),n.add(p),p}static[Symbol.hasInstance](u){return u!==null&&typeof u=="object"&&Object.getPrototypeOf(u)===Vf.prototype||n.has(u)}}},Nt=-34028234663852886e22,Tt=-Nt,Vn=n=>ki.has(n),R1={buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1},D1=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d={...R1,...u},f=i(h,d),p=o(h),m=p?e():null;super(l,!1,f,m),this._audioBufferSourceNodeRenderer=m,this._isBufferNullified=!1,this._isBufferSet=d.buffer!==null,this._nativeAudioBufferSourceNode=f,this._onended=null,this._playbackRate=t(this,p,f.playbackRate,Tt,Nt)}get buffer(){return this._isBufferNullified?null:this._nativeAudioBufferSourceNode.buffer}set buffer(l){if(this._nativeAudioBufferSourceNode.buffer=l,l!==null){if(this._isBufferSet)throw s();this._isBufferSet=!0}}get loop(){return this._nativeAudioBufferSourceNode.loop}set loop(l){this._nativeAudioBufferSourceNode.loop=l}get loopEnd(){return this._nativeAudioBufferSourceNode.loopEnd}set loopEnd(l){this._nativeAudioBufferSourceNode.loopEnd=l}get loopStart(){return this._nativeAudioBufferSourceNode.loopStart}set loopStart(l){this._nativeAudioBufferSourceNode.loopStart=l}get onended(){return this._onended}set onended(l){const u=typeof l=="function"?a(this,l):null;this._nativeAudioBufferSourceNode.onended=u;const h=this._nativeAudioBufferSourceNode.onended;this._onended=h!==null&&h===u?l:h}get playbackRate(){return this._playbackRate}start(l=0,u=0,h){if(this._nativeAudioBufferSourceNode.start(l,u,h),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.start=h===void 0?[l,u]:[l,u,h]),this.context.state!=="closed"){Oi(this);const d=()=>{this._nativeAudioBufferSourceNode.removeEventListener("ended",d),Vn(this)&&Hr(this)};this._nativeAudioBufferSourceNode.addEventListener("ended",d)}}stop(l=0){this._nativeAudioBufferSourceNode.stop(l),this._audioBufferSourceNodeRenderer!==null&&(this._audioBufferSourceNodeRenderer.stop=l)}},P1=(n,e,t,s,i)=>()=>{const r=new WeakMap;let o=null,a=null;const c=async(l,u)=>{let h=t(l);const d=wt(h,u);if(!d){const f={buffer:h.buffer,channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,loop:h.loop,loopEnd:h.loopEnd,loopStart:h.loopStart,playbackRate:h.playbackRate.value};h=e(u,f),o!==null&&h.start(...o),a!==null&&h.stop(a)}return r.set(u,h),d?await n(u,l.playbackRate,h.playbackRate):await s(u,l.playbackRate,h.playbackRate),await i(l,u,h),h};return{set start(l){o=l},set stop(l){a=l},render(l,u){const h=r.get(u);return h!==void 0?Promise.resolve(h):c(l,u)}}},$1=n=>"playbackRate"in n,F1=n=>"frequency"in n&&"gain"in n,V1=n=>"offset"in n,L1=n=>!("frequency"in n)&&"gain"in n,B1=n=>"detune"in n&&"frequency"in n,q1=n=>"pan"in n,Et=n=>rn(If,n),Gr=n=>rn(Rf,n),jc=(n,e)=>{const{activeInputs:t}=Et(n);t.forEach(i=>i.forEach(([r])=>{e.includes(n)||jc(r,[...e,n])}));const s=$1(n)?[n.playbackRate]:Ff(n)?Array.from(n.parameters.values()):F1(n)?[n.Q,n.detune,n.frequency,n.gain]:V1(n)?[n.offset]:L1(n)?[n.gain]:B1(n)?[n.detune,n.frequency]:q1(n)?[n.pan]:[];for(const i of s){const r=Gr(i);r!==void 0&&r.activeInputs.forEach(([o])=>jc(o,e))}Vn(n)&&Hr(n)},Lf=n=>{jc(n.destination,[])},U1=n=>n===void 0||typeof n=="number"||typeof n=="string"&&(n==="balanced"||n==="interactive"||n==="playback"),j1=(n,e,t,s,i,r,o,a,c)=>class extends n{constructor(u={}){if(c===null)throw new Error("Missing the native AudioContext constructor.");let h;try{h=new c(u)}catch(p){throw p.code===12&&p.message==="sampleRate is not in range"?t():p}if(h===null)throw s();if(!U1(u.latencyHint))throw new TypeError(`The provided value '${u.latencyHint}' is not a valid enum value of type AudioContextLatencyCategory.`);if(u.sampleRate!==void 0&&h.sampleRate!==u.sampleRate)throw t();super(h,2);const{latencyHint:d}=u,{sampleRate:f}=h;if(this._baseLatency=typeof h.baseLatency=="number"?h.baseLatency:d==="balanced"?512/f:d==="interactive"||d===void 0?256/f:d==="playback"?1024/f:Math.max(2,Math.min(128,Math.round(d*f/128)))*128/f,this._nativeAudioContext=h,c.name==="webkitAudioContext"?(this._nativeGainNode=h.createGain(),this._nativeOscillatorNode=h.createOscillator(),this._nativeGainNode.gain.value=1e-37,this._nativeOscillatorNode.connect(this._nativeGainNode).connect(h.destination),this._nativeOscillatorNode.start()):(this._nativeGainNode=null,this._nativeOscillatorNode=null),this._state=null,h.state==="running"){this._state="suspended";const p=()=>{this._state==="suspended"&&(this._state=null),h.removeEventListener("statechange",p)};h.addEventListener("statechange",p)}}get baseLatency(){return this._baseLatency}get state(){return this._state!==null?this._state:this._nativeAudioContext.state}close(){return this.state==="closed"?this._nativeAudioContext.close().then(()=>{throw e()}):(this._state==="suspended"&&(this._state=null),this._nativeAudioContext.close().then(()=>{this._nativeGainNode!==null&&this._nativeOscillatorNode!==null&&(this._nativeOscillatorNode.stop(),this._nativeGainNode.disconnect(),this._nativeOscillatorNode.disconnect()),Lf(this)}))}createMediaElementSource(u){return new i(this,{mediaElement:u})}createMediaStreamDestination(){return new r(this)}createMediaStreamSource(u){return new o(this,{mediaStream:u})}createMediaStreamTrackSource(u){return new a(this,{mediaStreamTrack:u})}resume(){return this._state==="suspended"?new Promise((u,h)=>{const d=()=>{this._nativeAudioContext.removeEventListener("statechange",d),this._nativeAudioContext.state==="running"?u():this.resume().then(u,h)};this._nativeAudioContext.addEventListener("statechange",d)}):this._nativeAudioContext.resume().catch(u=>{throw u===void 0||u.code===15?e():u})}suspend(){return this._nativeAudioContext.suspend().catch(u=>{throw u===void 0?e():u})}},W1=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d=o(h),f=i(h,u,d),p=d?e(a):null;super(l,!1,f,p),this._isNodeOfNativeOfflineAudioContext=d,this._nativeAudioDestinationNode=f}get channelCount(){return this._nativeAudioDestinationNode.channelCount}set channelCount(l){if(this._isNodeOfNativeOfflineAudioContext)throw s();if(l>this._nativeAudioDestinationNode.maxChannelCount)throw t();this._nativeAudioDestinationNode.channelCount=l}get channelCountMode(){return this._nativeAudioDestinationNode.channelCountMode}set channelCountMode(l){if(this._isNodeOfNativeOfflineAudioContext)throw s();this._nativeAudioDestinationNode.channelCountMode=l}get maxChannelCount(){return this._nativeAudioDestinationNode.maxChannelCount}},z1=n=>{const e=new WeakMap,t=async(s,i)=>{const r=i.destination;return e.set(i,r),await n(s,i,r),r};return{render(s,i){const r=e.get(i);return r!==void 0?Promise.resolve(r):t(s,i)}}},H1=(n,e,t,s,i,r,o,a)=>(c,l)=>{const u=l.listener,h=()=>{const v=new Float32Array(1),A=e(l,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:9}),N=o(l);let T=!1,R=[0,0,-1,0,1,0],O=[0,0,0];const P=()=>{if(T)return;T=!0;const ne=s(l,256,9,0);ne.onaudioprocess=({inputBuffer:X})=>{const Z=[r(X,v,0),r(X,v,1),r(X,v,2),r(X,v,3),r(X,v,4),r(X,v,5)];Z.some((ce,me)=>ce!==R[me])&&(u.setOrientation(...Z),R=Z);const te=[r(X,v,6),r(X,v,7),r(X,v,8)];te.some((ce,me)=>ce!==O[me])&&(u.setPosition(...te),O=te)},A.connect(ne)},M=ne=>X=>{X!==R[ne]&&(R[ne]=X,u.setOrientation(...R))},F=ne=>X=>{X!==O[ne]&&(O[ne]=X,u.setPosition(...O))},z=(ne,X,Z)=>{const te=t(l,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:X});te.connect(A,0,ne),te.start(),Object.defineProperty(te.offset,"defaultValue",{get(){return X}});const ce=n({context:c},N,te.offset,Tt,Nt);return a(ce,"value",me=>()=>me.call(ce),me=>ue=>{try{me.call(ce,ue)}catch(ye){if(ye.code!==9)throw ye}P(),N&&Z(ue)}),ce.cancelAndHoldAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.cancelAndHoldAtTime),ce.cancelScheduledValues=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.cancelScheduledValues),ce.exponentialRampToValueAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.exponentialRampToValueAtTime),ce.linearRampToValueAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.linearRampToValueAtTime),ce.setTargetAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.setTargetAtTime),ce.setValueAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.setValueAtTime),ce.setValueCurveAtTime=(me=>N?()=>{throw i()}:(...ue)=>{const ye=me.apply(ce,ue);return P(),ye})(ce.setValueCurveAtTime),ce};return{forwardX:z(0,0,M(0)),forwardY:z(1,0,M(1)),forwardZ:z(2,-1,M(2)),positionX:z(6,0,F(0)),positionY:z(7,0,F(1)),positionZ:z(8,0,F(2)),upX:z(3,0,M(3)),upY:z(4,1,M(4)),upZ:z(5,0,M(5))}},{forwardX:d,forwardY:f,forwardZ:p,positionX:m,positionY:_,positionZ:g,upX:y,upY:S,upZ:w}=u.forwardX===void 0?h():u;return{get forwardX(){return d},get forwardY(){return f},get forwardZ(){return p},get positionX(){return m},get positionY(){return _},get positionZ(){return g},get upX(){return y},get upY(){return S},get upZ(){return w}}},qo=n=>"context"in n,Kr=n=>qo(n[0]),ti=(n,e,t,s)=>{for(const i of n)if(t(i)){if(s)return!1;throw Error("The set contains at least one similar element.")}return n.add(e),!0},ph=(n,e,[t,s],i)=>{ti(n,[e,t,s],r=>r[0]===e&&r[1]===t,i)},mh=(n,[e,t,s],i)=>{const r=n.get(e);r===void 0?n.set(e,new Set([[t,s]])):ti(r,[t,s],o=>o[0]===t,i)},Gi=n=>"inputs"in n,Uo=(n,e,t,s)=>{if(Gi(e)){const i=e.inputs[s];return n.connect(i,t,0),[i,t,0]}return n.connect(e,t,s),[e,t,s]},Bf=(n,e,t)=>{for(const s of n)if(s[0]===e&&s[1]===t)return n.delete(s),s;return null},G1=(n,e,t)=>Fa(n,s=>s[0]===e&&s[1]===t),qf=(n,e)=>{if(!zr(n).delete(e))throw new Error("Missing the expected event listener.")},Uf=(n,e,t)=>{const s=rn(n,e),i=Fa(s,r=>r[0]===t);return s.size===0&&n.delete(e),i},jo=(n,e,t,s)=>{Gi(e)?n.disconnect(e.inputs[s],t,0):n.disconnect(e,t,s)},Ge=n=>rn(Ol,n),wr=n=>rn(Il,n),Ys=n=>Lc.has(n),Eo=n=>!ki.has(n),gh=(n,e)=>new Promise(t=>{if(e!==null)t(!0);else{const s=n.createScriptProcessor(256,1,1),i=n.createGain(),r=n.createBuffer(1,2,44100),o=r.getChannelData(0);o[0]=1,o[1]=1;const a=n.createBufferSource();a.buffer=r,a.loop=!0,a.connect(s).connect(n.destination),a.connect(i),a.disconnect(i),s.onaudioprocess=c=>{const l=c.inputBuffer.getChannelData(0);Array.prototype.some.call(l,u=>u===1)?t(!0):t(!1),a.stop(),s.onaudioprocess=null,a.disconnect(s),s.disconnect(n.destination)},a.start()}}),pc=(n,e)=>{const t=new Map;for(const s of n)for(const i of s){const r=t.get(i);t.set(i,r===void 0?1:r+1)}t.forEach((s,i)=>e(i,s))},Wo=n=>"context"in n,K1=n=>{const e=new Map;n.connect=(t=>(s,i=0,r=0)=>{const o=Wo(s)?t(s,i,r):t(s,i),a=e.get(s);return a===void 0?e.set(s,[{input:r,output:i}]):a.every(c=>c.input!==r||c.output!==i)&&a.push({input:r,output:i}),o})(n.connect.bind(n)),n.disconnect=(t=>(s,i,r)=>{if(t.apply(n),s===void 0)e.clear();else if(typeof s=="number")for(const[o,a]of e){const c=a.filter(l=>l.output!==s);c.length===0?e.delete(o):e.set(o,c)}else if(e.has(s))if(i===void 0)e.delete(s);else{const o=e.get(s);if(o!==void 0){const a=o.filter(c=>c.output!==i&&(c.input!==r||r===void 0));a.length===0?e.delete(s):e.set(s,a)}}for(const[o,a]of e)a.forEach(c=>{Wo(o)?n.connect(o,c.output,c.input):n.connect(o,c.output)})})(n.disconnect)},Y1=(n,e,t,s)=>{const{activeInputs:i,passiveInputs:r}=Gr(e),{outputs:o}=Et(n),a=zr(n),c=l=>{const u=Ge(n),h=wr(e);if(l){const d=Uf(r,n,t);ph(i,n,d,!1),!s&&!Ys(n)&&u.connect(h,t)}else{const d=G1(i,n,t);mh(r,d,!1),!s&&!Ys(n)&&u.disconnect(h,t)}};return ti(o,[e,t],l=>l[0]===e&&l[1]===t,!0)?(a.add(c),Vn(n)?ph(i,n,[t,c],!0):mh(r,[n,t,c],!0),!0):!1},Z1=(n,e,t,s)=>{const{activeInputs:i,passiveInputs:r}=Et(e),o=Bf(i[s],n,t);return o===null?[$f(r,n,t,s)[2],!1]:[o[2],!0]},X1=(n,e,t)=>{const{activeInputs:s,passiveInputs:i}=Gr(e),r=Bf(s,n,t);return r===null?[Uf(i,n,t)[1],!1]:[r[2],!0]},Dl=(n,e,t,s,i)=>{const[r,o]=Z1(n,t,s,i);if(r!==null&&(qf(n,r),o&&!e&&!Ys(n)&&jo(Ge(n),Ge(t),s,i)),Vn(t)){const{activeInputs:a}=Et(t);Uc(t,a)}},Pl=(n,e,t,s)=>{const[i,r]=X1(n,t,s);i!==null&&(qf(n,i),r&&!e&&!Ys(n)&&Ge(n).disconnect(wr(t),s))},Q1=(n,e)=>{const t=Et(n),s=[];for(const i of t.outputs)Kr(i)?Dl(n,e,...i):Pl(n,e,...i),s.push(i[0]);return t.outputs.clear(),s},J1=(n,e,t)=>{const s=Et(n),i=[];for(const r of s.outputs)r[1]===t&&(Kr(r)?Dl(n,e,...r):Pl(n,e,...r),i.push(r[0]),s.outputs.delete(r));return i},ey=(n,e,t,s,i)=>{const r=Et(n);return Array.from(r.outputs).filter(o=>o[0]===t&&(s===void 0||o[1]===s)&&(i===void 0||o[2]===i)).map(o=>(Kr(o)?Dl(n,e,...o):Pl(n,e,...o),r.outputs.delete(o),o[0]))},ty=(n,e,t,s,i,r,o,a,c,l,u,h,d,f,p,m)=>class extends l{constructor(g,y,S,w){super(S),this._context=g,this._nativeAudioNode=S;const v=u(g);h(v)&&t(gh,()=>gh(v,m))!==!0&&K1(S),Ol.set(this,S),Df.set(this,new Set),g.state!=="closed"&&y&&Oi(this),n(this,w,S)}get channelCount(){return this._nativeAudioNode.channelCount}set channelCount(g){this._nativeAudioNode.channelCount=g}get channelCountMode(){return this._nativeAudioNode.channelCountMode}set channelCountMode(g){this._nativeAudioNode.channelCountMode=g}get channelInterpretation(){return this._nativeAudioNode.channelInterpretation}set channelInterpretation(g){this._nativeAudioNode.channelInterpretation=g}get context(){return this._context}get numberOfInputs(){return this._nativeAudioNode.numberOfInputs}get numberOfOutputs(){return this._nativeAudioNode.numberOfOutputs}connect(g,y=0,S=0){if(y<0||y>=this._nativeAudioNode.numberOfOutputs)throw i();const w=u(this._context),v=p(w);if(d(g)||f(g))throw r();if(qo(g)){const T=Ge(g);try{const O=Uo(this._nativeAudioNode,T,y,S),P=Eo(this);(v||P)&&this._nativeAudioNode.disconnect(...O),this.context.state!=="closed"&&!P&&Eo(g)&&Oi(g)}catch(O){throw O.code===12?r():O}if(e(this,g,y,S,v)){const O=c([this],g);pc(O,s(v))}return g}const A=wr(g);if(A.name==="playbackRate"&&A.maxValue===1024)throw o();try{this._nativeAudioNode.connect(A,y),(v||Eo(this))&&this._nativeAudioNode.disconnect(A,y)}catch(T){throw T.code===12?r():T}if(Y1(this,g,y,v)){const T=c([this],g);pc(T,s(v))}}disconnect(g,y,S){let w;const v=u(this._context),A=p(v);if(g===void 0)w=Q1(this,A);else if(typeof g=="number"){if(g<0||g>=this.numberOfOutputs)throw i();w=J1(this,A,g)}else{if(y!==void 0&&(y<0||y>=this.numberOfOutputs)||qo(g)&&S!==void 0&&(S<0||S>=g.numberOfInputs))throw i();if(w=ey(this,A,g,y,S),w.length===0)throw r()}for(const N of w){const T=c([this],N);pc(T,a)}}},ny=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>(f,p,m,_=null,g=null)=>{const y=new d1(m.defaultValue),S=p?s(y):null,w={get defaultValue(){return m.defaultValue},get maxValue(){return _===null?m.maxValue:_},get minValue(){return g===null?m.minValue:g},get value(){return m.value},set value(v){m.value=v,w.setValueAtTime(v,f.context.currentTime)},cancelAndHoldAtTime(v){if(typeof m.cancelAndHoldAtTime=="function")S===null&&y.flush(f.context.currentTime),y.add(i(v)),m.cancelAndHoldAtTime(v);else{const A=Array.from(y).pop();S===null&&y.flush(f.context.currentTime),y.add(i(v));const N=Array.from(y).pop();m.cancelScheduledValues(v),A!==N&&N!==void 0&&(N.type==="exponentialRampToValue"?m.exponentialRampToValueAtTime(N.value,N.endTime):N.type==="linearRampToValue"?m.linearRampToValueAtTime(N.value,N.endTime):N.type==="setValue"?m.setValueAtTime(N.value,N.startTime):N.type==="setValueCurve"&&m.setValueCurveAtTime(N.values,N.startTime,N.duration))}return w},cancelScheduledValues(v){return S===null&&y.flush(f.context.currentTime),y.add(r(v)),m.cancelScheduledValues(v),w},exponentialRampToValueAtTime(v,A){if(v===0)throw new RangeError;if(!Number.isFinite(A)||A<0)throw new RangeError;return S===null&&y.flush(f.context.currentTime),y.add(o(v,A)),m.exponentialRampToValueAtTime(v,A),w},linearRampToValueAtTime(v,A){return S===null&&y.flush(f.context.currentTime),y.add(a(v,A)),m.linearRampToValueAtTime(v,A),w},setTargetAtTime(v,A,N){return S===null&&y.flush(f.context.currentTime),y.add(c(v,A,N)),m.setTargetAtTime(v,A,N),w},setValueAtTime(v,A){return S===null&&y.flush(f.context.currentTime),y.add(l(v,A)),m.setValueAtTime(v,A),w},setValueCurveAtTime(v,A,N){const T=v instanceof Float32Array?v:new Float32Array(v);if(h!==null&&h.name==="webkitAudioContext"){const R=A+N,O=f.context.sampleRate,P=Math.ceil(A*O),M=Math.floor(R*O),F=M-P,z=new Float32Array(F);for(let X=0;X({replay(e){for(const t of n)if(t.type==="exponentialRampToValue"){const{endTime:s,value:i}=t;e.exponentialRampToValueAtTime(i,s)}else if(t.type==="linearRampToValue"){const{endTime:s,value:i}=t;e.linearRampToValueAtTime(i,s)}else if(t.type==="setTarget"){const{startTime:s,target:i,timeConstant:r}=t;e.setTargetAtTime(i,s,r)}else if(t.type==="setValue"){const{startTime:s,value:i}=t;e.setValueAtTime(i,s)}else if(t.type==="setValueCurve"){const{duration:s,startTime:i,values:r}=t;e.setValueCurveAtTime(r,i,s)}else throw new Error("Can't apply an unknown automation.")}});class jf{constructor(e){this._map=new Map(e)}get size(){return this._map.size}entries(){return this._map.entries()}forEach(e,t=null){return this._map.forEach((s,i)=>e.call(t,s,i,this))}get(e){return this._map.get(e)}has(e){return this._map.has(e)}keys(){return this._map.keys()}values(){return this._map.values()}}const iy={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:1,numberOfOutputs:1,parameterData:{},processorOptions:{}},ry=(n,e,t,s,i,r,o,a,c,l,u,h,d,f)=>class extends e{constructor(m,_,g){var y;const S=a(m),w=c(S),v=u({...iy,...g});d(v);const A=Bc.get(S),N=A==null?void 0:A.get(_),T=w||S.state!=="closed"?S:(y=o(S))!==null&&y!==void 0?y:S,R=i(T,w?null:m.baseLatency,l,_,N,v),O=w?s(_,v,N):null;super(m,!0,R,O);const P=[];R.parameters.forEach((F,z)=>{const ne=t(this,w,F);P.push([z,ne])}),this._nativeAudioWorkletNode=R,this._onprocessorerror=null,this._parameters=new jf(P),w&&n(S,this);const{activeInputs:M}=r(this);h(R,M)}get onprocessorerror(){return this._onprocessorerror}set onprocessorerror(m){const _=typeof m=="function"?f(this,m):null;this._nativeAudioWorkletNode.onprocessorerror=_;const g=this._nativeAudioWorkletNode.onprocessorerror;this._onprocessorerror=g!==null&&g===_?m:g}get parameters(){return this._parameters===null?this._nativeAudioWorkletNode.parameters:this._parameters}get port(){return this._nativeAudioWorkletNode.port}};function zo(n,e,t,s,i){if(typeof n.copyFromChannel=="function")e[t].byteLength===0&&(e[t]=new Float32Array(128)),n.copyFromChannel(e[t],s,i);else{const r=n.getChannelData(s);if(e[t].byteLength===0)e[t]=r.slice(i,i+128);else{const o=new Float32Array(r.buffer,i*Float32Array.BYTES_PER_ELEMENT,128);e[t].set(o)}}}const Wf=(n,e,t,s,i)=>{typeof n.copyToChannel=="function"?e[t].byteLength!==0&&n.copyToChannel(e[t],s,i):e[t].byteLength!==0&&n.getChannelData(s).set(e[t],i)},Ho=(n,e)=>{const t=[];for(let s=0;s{const t=rn(qc,n),s=Ge(e);return rn(t,s)},ay=async(n,e,t,s,i,r,o)=>{const a=e===null?Math.ceil(n.context.length/128)*128:e.length,c=s.channelCount*s.numberOfInputs,l=i.reduce((_,g)=>_+g,0),u=l===0?null:t.createBuffer(l,a,t.sampleRate);if(r===void 0)throw new Error("Missing the processor constructor.");const h=Et(n),d=await oy(t,n),f=Ho(s.numberOfInputs,s.channelCount),p=Ho(s.numberOfOutputs,i),m=Array.from(n.parameters.keys()).reduce((_,g)=>({..._,[g]:new Float32Array(128)}),{});for(let _=0;_0&&e!==null)for(let g=0;g{zo(e,m,g,c+y,_)});for(let g=0;gh.activeInputs[w].size===0?[]:S),y=o(_/t.sampleRate,t.sampleRate,()=>d.process(g,p,m));if(u!==null)for(let S=0,w=0;S(_,g,y)=>{const S=new WeakMap;let w=null;const v=async(A,N)=>{let T=u(A),R=null;const O=wt(T,N),P=Array.isArray(g.outputChannelCount)?g.outputChannelCount:Array.from(g.outputChannelCount);if(h===null){const M=P.reduce((X,Z)=>X+Z,0),F=i(N,{channelCount:Math.max(1,M),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,M)}),z=[];for(let X=0;X{const ue=new d(ce,Math.ceil(A.context.length/128)*128,N.sampleRate),ye=[],st=[];for(let we=0;we{const $=r(ue,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:we.value});return await f(ue,we,$.offset),$})),be=s(ue,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,Z+te)});for(let we=0;wep(A,ue,we))),m(ue)})(),N,g,P,y,l)}const M=await w,F=t(N,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),[z,ne,X]=R;M!==null&&(F.buffer=M,F.start(0)),F.connect(z);for(let Z=0,te=0;Zclass extends p{constructor(v,A){super(v,A),this._nativeContext=v,this._audioWorklet=n===void 0?void 0:{addModule:(N,T)=>n(this,N,T)}}get audioWorklet(){return this._audioWorklet}createAnalyser(){return new e(this)}createBiquadFilter(){return new i(this)}createBuffer(v,A,N){return new t({length:A,numberOfChannels:v,sampleRate:N})}createBufferSource(){return new s(this)}createChannelMerger(v=6){return new r(this,{numberOfInputs:v})}createChannelSplitter(v=6){return new o(this,{numberOfOutputs:v})}createConstantSource(){return new a(this)}createConvolver(){return new c(this)}createDelay(v=1){return new u(this,{maxDelayTime:v})}createDynamicsCompressor(){return new h(this)}createGain(){return new d(this)}createIIRFilter(v,A){return new f(this,{feedback:A,feedforward:v})}createOscillator(){return new m(this)}createPanner(){return new _(this)}createPeriodicWave(v,A,N={disableNormalization:!1}){return new g(this,{...N,imag:A,real:v})}createStereoPanner(){return new y(this)}createWaveShaper(){return new S(this)}decodeAudioData(v,A,N){return l(this._nativeContext,v).then(T=>(typeof A=="function"&&A(T),T),T=>{throw typeof N=="function"&&N(T),T})}},uy={Q:1,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:350,gain:0,type:"lowpass"},hy=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d={...uy,...u},f=i(h,d),p=o(h),m=p?t():null;super(l,!1,f,m),this._Q=e(this,p,f.Q,Tt,Nt),this._detune=e(this,p,f.detune,1200*Math.log2(Tt),-1200*Math.log2(Tt)),this._frequency=e(this,p,f.frequency,l.sampleRate/2,0),this._gain=e(this,p,f.gain,40*Math.log10(Tt),Nt),this._nativeBiquadFilterNode=f,a(this,1)}get detune(){return this._detune}get frequency(){return this._frequency}get gain(){return this._gain}get Q(){return this._Q}get type(){return this._nativeBiquadFilterNode.type}set type(l){this._nativeBiquadFilterNode.type=l}getFrequencyResponse(l,u,h){try{this._nativeBiquadFilterNode.getFrequencyResponse(l,u,h)}catch(d){throw d.code===11?s():d}if(l.length!==u.length||u.length!==h.length)throw s()}},dy=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=wt(l,c);if(!u){const h={Q:l.Q.value,channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,detune:l.detune.value,frequency:l.frequency.value,gain:l.gain.value,type:l.type};l=e(c,h)}return r.set(c,l),u?(await n(c,a.Q,l.Q),await n(c,a.detune,l.detune),await n(c,a.frequency,l.frequency),await n(c,a.gain,l.gain)):(await s(c,a.Q,l.Q),await s(c,a.detune,l.detune),await s(c,a.frequency,l.frequency),await s(c,a.gain,l.gain)),await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},fy=(n,e)=>(t,s)=>{const i=e.get(t);if(i!==void 0)return i;const r=n.get(t);if(r!==void 0)return r;try{const o=s();return o instanceof Promise?(n.set(t,o),o.catch(()=>!1).then(a=>(n.delete(t),e.set(t,a),a))):(e.set(t,o),o)}catch{return e.set(t,!1),!1}},py={channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6},my=(n,e,t,s,i)=>class extends n{constructor(o,a){const c=s(o),l={...py,...a},u=t(c,l),h=i(c)?e():null;super(o,!1,u,h)}},gy=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!wt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,numberOfInputs:a.numberOfInputs};a=n(o,l)}return s.set(o,a),await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},_y={channelCount:6,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:6},yy=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=s(a),u=r({..._y,...c}),h=t(l,u),d=i(l)?e():null;super(a,!1,h,d)}},vy=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!wt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,numberOfOutputs:a.numberOfOutputs};a=n(o,l)}return s.set(o,a),await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},by=n=>(e,t,s)=>n(t,e,s),wy=n=>(e,t,s=0,i=0)=>{const r=e[s];if(r===void 0)throw n();return Wo(t)?r.connect(t,0,i):r.connect(t,0)},xy=n=>(e,t)=>{const s=n(e,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),i=e.createBuffer(1,2,44100);return s.buffer=i,s.loop=!0,s.connect(t),s.start(),()=>{s.stop(),s.disconnect(t)}},Ty={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",offset:1},Ey=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...Ty,...l},d=s(u,h),f=r(u),p=f?t():null;super(c,!1,d,p),this._constantSourceNodeRenderer=p,this._nativeConstantSourceNode=d,this._offset=e(this,f,d.offset,Tt,Nt),this._onended=null}get offset(){return this._offset}get onended(){return this._onended}set onended(c){const l=typeof c=="function"?o(this,c):null;this._nativeConstantSourceNode.onended=l;const u=this._nativeConstantSourceNode.onended;this._onended=u!==null&&u===l?c:u}start(c=0){if(this._nativeConstantSourceNode.start(c),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.start=c),this.context.state!=="closed"){Oi(this);const l=()=>{this._nativeConstantSourceNode.removeEventListener("ended",l),Vn(this)&&Hr(this)};this._nativeConstantSourceNode.addEventListener("ended",l)}}stop(c=0){this._nativeConstantSourceNode.stop(c),this._constantSourceNodeRenderer!==null&&(this._constantSourceNodeRenderer.stop=c)}},Sy=(n,e,t,s,i)=>()=>{const r=new WeakMap;let o=null,a=null;const c=async(l,u)=>{let h=t(l);const d=wt(h,u);if(!d){const f={channelCount:h.channelCount,channelCountMode:h.channelCountMode,channelInterpretation:h.channelInterpretation,offset:h.offset.value};h=e(u,f),o!==null&&h.start(o),a!==null&&h.stop(a)}return r.set(u,h),d?await n(u,l.offset,h.offset):await s(u,l.offset,h.offset),await i(l,u,h),h};return{set start(l){o=l},set stop(l){a=l},render(l,u){const h=r.get(u);return h!==void 0?Promise.resolve(h):c(l,u)}}},Cy=n=>e=>(n[0]=e,n[0]),Ay={buffer:null,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",disableNormalization:!1},Ny=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=s(a),u={...Ay,...c},h=t(l,u),f=i(l)?e():null;super(a,!1,h,f),this._isBufferNullified=!1,this._nativeConvolverNode=h,u.buffer!==null&&r(this,u.buffer.duration)}get buffer(){return this._isBufferNullified?null:this._nativeConvolverNode.buffer}set buffer(a){if(this._nativeConvolverNode.buffer=a,a===null&&this._nativeConvolverNode.buffer!==null){const c=this._nativeConvolverNode.context;this._nativeConvolverNode.buffer=c.createBuffer(1,1,44100),this._isBufferNullified=!0,r(this,0)}else this._isBufferNullified=!1,r(this,this._nativeConvolverNode.buffer===null?0:this._nativeConvolverNode.buffer.duration)}get normalize(){return this._nativeConvolverNode.normalize}set normalize(a){this._nativeConvolverNode.normalize=a}},My=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!wt(a,o)){const l={buffer:a.buffer,channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,disableNormalization:!a.normalize};a=n(o,l)}return s.set(o,a),Gi(a)?await t(r,o,a.inputs[0]):await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},ky=(n,e)=>(t,s,i)=>{if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");try{return new e(t,s,i)}catch(r){throw r.name==="SyntaxError"?n():r}},Oy=()=>new DOMException("","DataCloneError"),_h=n=>{const{port1:e,port2:t}=new MessageChannel;return new Promise(s=>{const i=()=>{t.onmessage=null,e.close(),t.close(),s()};t.onmessage=()=>i();try{e.postMessage(n,[n])}finally{i()}})},Iy=(n,e,t,s,i,r,o,a,c,l,u)=>(h,d)=>{const f=o(h)?h:r(h);if(i.has(d)){const p=t();return Promise.reject(p)}try{i.add(d)}catch{}return e(c,()=>c(f))?f.decodeAudioData(d).then(p=>(_h(d).catch(()=>{}),e(a,()=>a(p))||u(p),n.add(p),p)):new Promise((p,m)=>{const _=async()=>{try{await _h(d)}catch{}},g=y=>{m(y),_()};try{f.decodeAudioData(d,y=>{typeof y.copyFromChannel!="function"&&(l(y),Rl(y)),n.add(y),_().then(()=>p(y))},y=>{g(y===null?s():y)})}catch(y){g(y)}})},Ry=(n,e,t,s,i,r,o,a)=>(c,l)=>{const u=e.get(c);if(u===void 0)throw new Error("Missing the expected cycle count.");const h=r(c.context),d=a(h);if(u===l){if(e.delete(c),!d&&o(c)){const f=s(c),{outputs:p}=t(c);for(const m of p)if(Kr(m)){const _=s(m[0]);n(f,_,m[1],m[2])}else{const _=i(m[0]);f.connect(_,m[1])}}}else e.set(c,u-l)},Dy={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",delayTime:0,maxDelayTime:1},Py=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...Dy,...l},d=s(u,h),f=r(u),p=f?t(h.maxDelayTime):null;super(c,!1,d,p),this._delayTime=e(this,f,d.delayTime),o(this,h.maxDelayTime)}get delayTime(){return this._delayTime}},$y=(n,e,t,s,i)=>r=>{const o=new WeakMap,a=async(c,l)=>{let u=t(c);const h=wt(u,l);if(!h){const d={channelCount:u.channelCount,channelCountMode:u.channelCountMode,channelInterpretation:u.channelInterpretation,delayTime:u.delayTime.value,maxDelayTime:r};u=e(l,d)}return o.set(l,u),h?await n(l,c.delayTime,u.delayTime):await s(l,c.delayTime,u.delayTime),await i(c,l,u),u};return{render(c,l){const u=o.get(l);return u!==void 0?Promise.resolve(u):a(c,l)}}},Fy=n=>(e,t,s,i)=>n(e[i],r=>r[0]===t&&r[1]===s),Vy=n=>(e,t)=>{n(e).delete(t)},Ly=n=>"delayTime"in n,By=(n,e,t)=>function s(i,r){const o=qo(r)?r:t(n,r);if(Ly(o))return[];if(i[0]===o)return[i];if(i.includes(o))return[];const{outputs:a}=e(o);return Array.from(a).map(c=>s([...i,o],c[0])).reduce((c,l)=>c.concat(l),[])},fo=(n,e,t)=>{const s=e[t];if(s===void 0)throw n();return s},qy=n=>(e,t=void 0,s=void 0,i=0)=>t===void 0?e.forEach(r=>r.disconnect()):typeof t=="number"?fo(n,e,t).disconnect():Wo(t)?s===void 0?e.forEach(r=>r.disconnect(t)):i===void 0?fo(n,e,s).disconnect(t,0):fo(n,e,s).disconnect(t,0,i):s===void 0?e.forEach(r=>r.disconnect(t)):fo(n,e,s).disconnect(t,0),Uy={attack:.003,channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",knee:30,ratio:12,release:.25,threshold:-24},jy=(n,e,t,s,i,r,o,a)=>class extends n{constructor(l,u){const h=r(l),d={...Uy,...u},f=s(h,d),p=o(h),m=p?t():null;super(l,!1,f,m),this._attack=e(this,p,f.attack),this._knee=e(this,p,f.knee),this._nativeDynamicsCompressorNode=f,this._ratio=e(this,p,f.ratio),this._release=e(this,p,f.release),this._threshold=e(this,p,f.threshold),a(this,.006)}get attack(){return this._attack}get channelCount(){return this._nativeDynamicsCompressorNode.channelCount}set channelCount(l){const u=this._nativeDynamicsCompressorNode.channelCount;if(this._nativeDynamicsCompressorNode.channelCount=l,l>2)throw this._nativeDynamicsCompressorNode.channelCount=u,i()}get channelCountMode(){return this._nativeDynamicsCompressorNode.channelCountMode}set channelCountMode(l){const u=this._nativeDynamicsCompressorNode.channelCountMode;if(this._nativeDynamicsCompressorNode.channelCountMode=l,l==="max")throw this._nativeDynamicsCompressorNode.channelCountMode=u,i()}get knee(){return this._knee}get ratio(){return this._ratio}get reduction(){return typeof this._nativeDynamicsCompressorNode.reduction.value=="number"?this._nativeDynamicsCompressorNode.reduction.value:this._nativeDynamicsCompressorNode.reduction}get release(){return this._release}get threshold(){return this._threshold}},Wy=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=wt(l,c);if(!u){const h={attack:l.attack.value,channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,knee:l.knee.value,ratio:l.ratio.value,release:l.release.value,threshold:l.threshold.value};l=e(c,h)}return r.set(c,l),u?(await n(c,a.attack,l.attack),await n(c,a.knee,l.knee),await n(c,a.ratio,l.ratio),await n(c,a.release,l.release),await n(c,a.threshold,l.threshold)):(await s(c,a.attack,l.attack),await s(c,a.knee,l.knee),await s(c,a.ratio,l.ratio),await s(c,a.release,l.release),await s(c,a.threshold,l.threshold)),await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},zy=()=>new DOMException("","EncodingError"),Hy=n=>e=>new Promise((t,s)=>{if(n===null){s(new SyntaxError);return}const i=n.document.head;if(i===null)s(new SyntaxError);else{const r=n.document.createElement("script"),o=new Blob([e],{type:"application/javascript"}),a=URL.createObjectURL(o),c=n.onerror,l=()=>{n.onerror=c,URL.revokeObjectURL(a)};n.onerror=(u,h,d,f,p)=>{if(h===a||h===n.location.href&&d===1&&f===1)return l(),s(p),!1;if(c!==null)return c(u,h,d,f,p)},r.onerror=()=>{l(),s(new SyntaxError)},r.onload=()=>{l(),t()},r.src=a,r.type="module",i.appendChild(r)}}),Gy=n=>class{constructor(t){this._nativeEventTarget=t,this._listeners=new WeakMap}addEventListener(t,s,i){if(s!==null){let r=this._listeners.get(s);r===void 0&&(r=n(this,s),typeof s=="function"&&this._listeners.set(s,r)),this._nativeEventTarget.addEventListener(t,r,i)}}dispatchEvent(t){return this._nativeEventTarget.dispatchEvent(t)}removeEventListener(t,s,i){const r=s===null?void 0:this._listeners.get(s);this._nativeEventTarget.removeEventListener(t,r===void 0?null:r,i)}},Ky=n=>(e,t,s)=>{Object.defineProperties(n,{currentFrame:{configurable:!0,get(){return Math.round(e*t)}},currentTime:{configurable:!0,get(){return e}}});try{return s()}finally{n!==null&&(delete n.currentFrame,delete n.currentTime)}},Yy=n=>async e=>{try{const t=await fetch(e);if(t.ok)return[await t.text(),t.url]}catch{}throw n()},Zy={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",gain:1},Xy=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=i(a),u={...Zy,...c},h=s(l,u),d=r(l),f=d?t():null;super(a,!1,h,f),this._gain=e(this,d,h.gain,Tt,Nt)}get gain(){return this._gain}},Qy=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=wt(l,c);if(!u){const h={channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,gain:l.gain.value};l=e(c,h)}return r.set(c,l),u?await n(c,a.gain,l.gain):await s(c,a.gain,l.gain),await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},Jy=(n,e)=>t=>e(n,t),ev=n=>e=>{const t=n(e);if(t.renderer===null)throw new Error("Missing the renderer of the given AudioNode in the audio graph.");return t.renderer},tv=n=>e=>{var t;return(t=n.get(e))!==null&&t!==void 0?t:0},nv=n=>e=>{const t=n(e);if(t.renderer===null)throw new Error("Missing the renderer of the given AudioParam in the audio graph.");return t.renderer},sv=n=>e=>n.get(e),ft=()=>new DOMException("","InvalidStateError"),iv=n=>e=>{const t=n.get(e);if(t===void 0)throw ft();return t},rv=(n,e)=>t=>{let s=n.get(t);if(s!==void 0)return s;if(e===null)throw new Error("Missing the native OfflineAudioContext constructor.");return s=new e(1,1,44100),n.set(t,s),s},ov=n=>e=>{const t=n.get(e);if(t===void 0)throw new Error("The context has no set of AudioWorkletNodes.");return t},Va=()=>new DOMException("","InvalidAccessError"),av=n=>{n.getFrequencyResponse=(e=>(t,s,i)=>{if(t.length!==s.length||s.length!==i.length)throw Va();return e.call(n,t,s,i)})(n.getFrequencyResponse)},cv={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers"},lv=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=s(a),u=i(l),h={...cv,...c},d=e(l,u?null:a.baseLatency,h),f=u?t(h.feedback,h.feedforward):null;super(a,!1,d,f),av(d),this._nativeIIRFilterNode=d,r(this,1)}getFrequencyResponse(a,c,l){return this._nativeIIRFilterNode.getFrequencyResponse(a,c,l)}},zf=(n,e,t,s,i,r,o,a,c,l,u)=>{const h=l.length;let d=a;for(let f=0;f{const i=t instanceof Float64Array?t:new Float64Array(t),r=s instanceof Float64Array?s:new Float64Array(s),o=i.length,a=r.length,c=Math.min(o,a);if(i[0]!==1){for(let p=0;p(r,o)=>{const a=new WeakMap;let c=null;const l=async(u,h)=>{let d=null,f=e(u);const p=wt(f,h);if(h.createIIRFilter===void 0?d=n(h,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}):p||(f=h.createIIRFilter(o,r)),a.set(h,d===null?f:d),d!==null){if(c===null){if(t===null)throw new Error("Missing the native OfflineAudioContext constructor.");const _=new t(u.context.destination.channelCount,u.context.length,h.sampleRate);c=(async()=>{await s(u,_,_.destination);const g=await i(_);return uv(g,h,r,o)})()}const m=await c;return d.buffer=m,d.start(0),d}return await s(u,h,f),f};return{render(u,h){const d=a.get(h);return d!==void 0?Promise.resolve(d):l(u,h)}}},dv=(n,e,t,s,i,r)=>o=>(a,c)=>{const l=n.get(a);if(l===void 0){if(!o&&r(a)){const u=s(a),{outputs:h}=t(a);for(const d of h)if(Kr(d)){const f=s(d[0]);e(u,f,d[1],d[2])}else{const f=i(d[0]);u.disconnect(f,d[1])}}n.set(a,c)}else n.set(a,l+c)},fv=(n,e)=>t=>{const s=n.get(t);return e(s)||e(t)},pv=(n,e)=>t=>n.has(t)||e(t),mv=(n,e)=>t=>n.has(t)||e(t),gv=(n,e)=>t=>{const s=n.get(t);return e(s)||e(t)},_v=n=>e=>n!==null&&e instanceof n,yv=n=>e=>n!==null&&typeof n.AudioNode=="function"&&e instanceof n.AudioNode,vv=n=>e=>n!==null&&typeof n.AudioParam=="function"&&e instanceof n.AudioParam,bv=(n,e)=>t=>n(t)||e(t),wv=n=>e=>n!==null&&e instanceof n,xv=n=>n!==null&&n.isSecureContext,Tv=(n,e,t,s)=>class extends n{constructor(r,o){const a=t(r),c=e(a,o);if(s(a))throw TypeError();super(r,!0,c,null),this._nativeMediaElementAudioSourceNode=c}get mediaElement(){return this._nativeMediaElementAudioSourceNode.mediaElement}},Ev={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers"},Sv=(n,e,t,s)=>class extends n{constructor(r,o){const a=t(r);if(s(a))throw new TypeError;const c={...Ev,...o},l=e(a,c);super(r,!1,l,null),this._nativeMediaStreamAudioDestinationNode=l}get stream(){return this._nativeMediaStreamAudioDestinationNode.stream}},Cv=(n,e,t,s)=>class extends n{constructor(r,o){const a=t(r),c=e(a,o);if(s(a))throw new TypeError;super(r,!0,c,null),this._nativeMediaStreamAudioSourceNode=c}get mediaStream(){return this._nativeMediaStreamAudioSourceNode.mediaStream}},Av=(n,e,t)=>class extends n{constructor(i,r){const o=t(i),a=e(o,r);super(i,!0,a,null)}},Nv=(n,e,t,s,i,r)=>class extends t{constructor(a,c){super(a),this._nativeContext=a,$a.set(this,a),s(a)&&i.set(a,new Set),this._destination=new n(this,c),this._listener=e(this,a),this._onstatechange=null}get currentTime(){return this._nativeContext.currentTime}get destination(){return this._destination}get listener(){return this._listener}get onstatechange(){return this._onstatechange}set onstatechange(a){const c=typeof a=="function"?r(this,a):null;this._nativeContext.onstatechange=c;const l=this._nativeContext.onstatechange;this._onstatechange=l!==null&&l===c?a:l}get sampleRate(){return this._nativeContext.sampleRate}get state(){return this._nativeContext.state}},xr=n=>{const e=new Uint32Array([1179011410,40,1163280727,544501094,16,131073,44100,176400,1048580,1635017060,4,0]);try{const t=n.decodeAudioData(e.buffer,()=>{});return t===void 0?!1:(t.catch(()=>{}),!0)}catch{}return!1},Mv=(n,e)=>(t,s,i)=>{const r=new Set;return t.connect=(o=>(a,c=0,l=0)=>{const u=r.size===0;if(e(a))return o.call(t,a,c,l),n(r,[a,c,l],h=>h[0]===a&&h[1]===c&&h[2]===l,!0),u&&s(),a;o.call(t,a,c),n(r,[a,c],h=>h[0]===a&&h[1]===c,!0),u&&s()})(t.connect),t.disconnect=(o=>(a,c,l)=>{const u=r.size>0;if(a===void 0)o.apply(t),r.clear();else if(typeof a=="number"){o.call(t,a);for(const d of r)d[1]===a&&r.delete(d)}else{e(a)?o.call(t,a,c,l):o.call(t,a,c);for(const d of r)d[0]===a&&(c===void 0||d[1]===c)&&(l===void 0||d[2]===l)&&r.delete(d)}const h=r.size===0;u&&h&&i()})(t.disconnect),t},Ye=(n,e,t)=>{const s=e[t];s!==void 0&&s!==n[t]&&(n[t]=s)},ct=(n,e)=>{Ye(n,e,"channelCount"),Ye(n,e,"channelCountMode"),Ye(n,e,"channelInterpretation")},yh=n=>typeof n.getFloatTimeDomainData=="function",kv=n=>{n.getFloatTimeDomainData=e=>{const t=new Uint8Array(e.length);n.getByteTimeDomainData(t);const s=Math.max(t.length,n.fftSize);for(let i=0;i(t,s)=>{const i=t.createAnalyser();if(ct(i,s),!(s.maxDecibels>s.minDecibels))throw e();return Ye(i,s,"fftSize"),Ye(i,s,"maxDecibels"),Ye(i,s,"minDecibels"),Ye(i,s,"smoothingTimeConstant"),n(yh,()=>yh(i))||kv(i),i},Iv=n=>n===null?null:n.hasOwnProperty("AudioBuffer")?n.AudioBuffer:null,Xe=(n,e,t)=>{const s=e[t];s!==void 0&&s!==n[t].value&&(n[t].value=s)},Rv=n=>{n.start=(e=>{let t=!1;return(s=0,i=0,r)=>{if(t)throw ft();e.call(n,s,i,r),t=!0}})(n.start)},$l=n=>{n.start=(e=>(t=0,s=0,i)=>{if(typeof i=="number"&&i<0||s<0||t<0)throw new RangeError("The parameters can't be negative.");e.call(n,t,s,i)})(n.start)},Fl=n=>{n.stop=(e=>(t=0)=>{if(t<0)throw new RangeError("The parameter can't be negative.");e.call(n,t)})(n.stop)},Dv=(n,e,t,s,i,r,o,a,c,l,u)=>(h,d)=>{const f=h.createBufferSource();return ct(f,d),Xe(f,d,"playbackRate"),Ye(f,d,"buffer"),Ye(f,d,"loop"),Ye(f,d,"loopEnd"),Ye(f,d,"loopStart"),e(t,()=>t(h))||Rv(f),e(s,()=>s(h))||c(f),e(i,()=>i(h))||l(f,h),e(r,()=>r(h))||$l(f),e(o,()=>o(h))||u(f,h),e(a,()=>a(h))||Fl(f),n(h,f),f},Pv=n=>n===null?null:n.hasOwnProperty("AudioContext")?n.AudioContext:n.hasOwnProperty("webkitAudioContext")?n.webkitAudioContext:null,$v=(n,e)=>(t,s,i)=>{const r=t.destination;if(r.channelCount!==s)try{r.channelCount=s}catch{}i&&r.channelCountMode!=="explicit"&&(r.channelCountMode="explicit"),r.maxChannelCount===0&&Object.defineProperty(r,"maxChannelCount",{value:s});const o=n(t,{channelCount:s,channelCountMode:r.channelCountMode,channelInterpretation:r.channelInterpretation,gain:1});return e(o,"channelCount",a=>()=>a.call(o),a=>c=>{a.call(o,c);try{r.channelCount=c}catch(l){if(c>r.maxChannelCount)throw l}}),e(o,"channelCountMode",a=>()=>a.call(o),a=>c=>{a.call(o,c),r.channelCountMode=c}),e(o,"channelInterpretation",a=>()=>a.call(o),a=>c=>{a.call(o,c),r.channelInterpretation=c}),Object.defineProperty(o,"maxChannelCount",{get:()=>r.maxChannelCount}),o.connect(r),o},Fv=n=>n===null?null:n.hasOwnProperty("AudioWorkletNode")?n.AudioWorkletNode:null,Vv=n=>{const{port1:e}=new MessageChannel;try{e.postMessage(n)}finally{e.close()}},Lv=(n,e,t,s,i)=>(r,o,a,c,l,u)=>{if(a!==null)try{const h=new a(r,c,u),d=new Map;let f=null;if(Object.defineProperties(h,{channelCount:{get:()=>u.channelCount,set:()=>{throw n()}},channelCountMode:{get:()=>"explicit",set:()=>{throw n()}},onprocessorerror:{get:()=>f,set:p=>{typeof f=="function"&&h.removeEventListener("processorerror",f),f=typeof p=="function"?p:null,typeof f=="function"&&h.addEventListener("processorerror",f)}}}),h.addEventListener=(p=>(...m)=>{if(m[0]==="processorerror"){const _=typeof m[1]=="function"?m[1]:typeof m[1]=="object"&&m[1]!==null&&typeof m[1].handleEvent=="function"?m[1].handleEvent:null;if(_!==null){const g=d.get(m[1]);g!==void 0?m[1]=g:(m[1]=y=>{y.type==="error"?(Object.defineProperties(y,{type:{value:"processorerror"}}),_(y)):_(new ErrorEvent(m[0],{...y}))},d.set(_,m[1]))}}return p.call(h,"error",m[1],m[2]),p.call(h,...m)})(h.addEventListener),h.removeEventListener=(p=>(...m)=>{if(m[0]==="processorerror"){const _=d.get(m[1]);_!==void 0&&(d.delete(m[1]),m[1]=_)}return p.call(h,"error",m[1],m[2]),p.call(h,m[0],m[1],m[2])})(h.removeEventListener),u.numberOfOutputs!==0){const p=t(r,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return h.connect(p).connect(r.destination),i(h,()=>p.disconnect(),()=>p.connect(r.destination))}return h}catch(h){throw h.code===11?s():h}if(l===void 0)throw s();return Vv(u),e(r,o,l,u)},Hf=(n,e)=>n===null?512:Math.max(512,Math.min(16384,Math.pow(2,Math.round(Math.log2(n*e))))),Bv=n=>new Promise((e,t)=>{const{port1:s,port2:i}=new MessageChannel;s.onmessage=({data:r})=>{s.close(),i.close(),e(r)},s.onmessageerror=({data:r})=>{s.close(),i.close(),t(r)},i.postMessage(n)}),qv=async(n,e)=>{const t=await Bv(e);return new n(t)},Uv=(n,e,t,s)=>{let i=qc.get(n);i===void 0&&(i=new WeakMap,qc.set(n,i));const r=qv(t,s);return i.set(e,r),r},jv=(n,e,t,s,i,r,o,a,c,l,u,h,d)=>(f,p,m,_)=>{if(_.numberOfInputs===0&&_.numberOfOutputs===0)throw c();const g=Array.isArray(_.outputChannelCount)?_.outputChannelCount:Array.from(_.outputChannelCount);if(g.some(C=>C<1))throw c();if(g.length!==_.numberOfOutputs)throw e();if(_.channelCountMode!=="explicit")throw c();const y=_.channelCount*_.numberOfInputs,S=g.reduce((C,I)=>C+I,0),w=m.parameterDescriptors===void 0?0:m.parameterDescriptors.length;if(y+w>6||S>6)throw c();const v=new MessageChannel,A=[],N=[];for(let C=0;C<_.numberOfInputs;C+=1)A.push(o(f,{channelCount:_.channelCount,channelCountMode:_.channelCountMode,channelInterpretation:_.channelInterpretation,gain:1})),N.push(i(f,{channelCount:_.channelCount,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:_.channelCount}));const T=[];if(m.parameterDescriptors!==void 0)for(const{defaultValue:C,maxValue:I,minValue:B,name:Y}of m.parameterDescriptors){const U=r(f,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:_.parameterData[Y]!==void 0?_.parameterData[Y]:C===void 0?0:C});Object.defineProperties(U.offset,{defaultValue:{get:()=>C===void 0?0:C},maxValue:{get:()=>I===void 0?Tt:I},minValue:{get:()=>B===void 0?Nt:B}}),T.push(U)}const R=s(f,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:Math.max(1,y+w)}),O=Hf(p,f.sampleRate),P=a(f,O,y+w,Math.max(1,S)),M=i(f,{channelCount:Math.max(1,S),channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:Math.max(1,S)}),F=[];for(let C=0;C<_.numberOfOutputs;C+=1)F.push(s(f,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:g[C]}));for(let C=0;C<_.numberOfInputs;C+=1){A[C].connect(N[C]);for(let I=0;I<_.channelCount;I+=1)N[C].connect(R,I,C*_.channelCount+I)}const z=new jf(m.parameterDescriptors===void 0?[]:m.parameterDescriptors.map(({name:C},I)=>{const B=T[I];return B.connect(R,0,y+I),B.start(0),[C,B.offset]}));R.connect(P);let ne=_.channelInterpretation,X=null;const Z=_.numberOfOutputs===0?[P]:F,te={get bufferSize(){return O},get channelCount(){return _.channelCount},set channelCount(C){throw t()},get channelCountMode(){return _.channelCountMode},set channelCountMode(C){throw t()},get channelInterpretation(){return ne},set channelInterpretation(C){for(const I of A)I.channelInterpretation=C;ne=C},get context(){return P.context},get inputs(){return A},get numberOfInputs(){return _.numberOfInputs},get numberOfOutputs(){return _.numberOfOutputs},get onprocessorerror(){return X},set onprocessorerror(C){typeof X=="function"&&te.removeEventListener("processorerror",X),X=typeof C=="function"?C:null,typeof X=="function"&&te.addEventListener("processorerror",X)},get parameters(){return z},get port(){return v.port2},addEventListener(...C){return P.addEventListener(C[0],C[1],C[2])},connect:n.bind(null,Z),disconnect:l.bind(null,Z),dispatchEvent(...C){return P.dispatchEvent(C[0])},removeEventListener(...C){return P.removeEventListener(C[0],C[1],C[2])}},ce=new Map;v.port1.addEventListener=(C=>(...I)=>{if(I[0]==="message"){const B=typeof I[1]=="function"?I[1]:typeof I[1]=="object"&&I[1]!==null&&typeof I[1].handleEvent=="function"?I[1].handleEvent:null;if(B!==null){const Y=ce.get(I[1]);Y!==void 0?I[1]=Y:(I[1]=U=>{u(f.currentTime,f.sampleRate,()=>B(U))},ce.set(B,I[1]))}}return C.call(v.port1,I[0],I[1],I[2])})(v.port1.addEventListener),v.port1.removeEventListener=(C=>(...I)=>{if(I[0]==="message"){const B=ce.get(I[1]);B!==void 0&&(ce.delete(I[1]),I[1]=B)}return C.call(v.port1,I[0],I[1],I[2])})(v.port1.removeEventListener);let me=null;Object.defineProperty(v.port1,"onmessage",{get:()=>me,set:C=>{typeof me=="function"&&v.port1.removeEventListener("message",me),me=typeof C=="function"?C:null,typeof me=="function"&&(v.port1.addEventListener("message",me),v.port1.start())}}),m.prototype.port=v.port1;let ue=null;Uv(f,te,m,_).then(C=>ue=C);const st=Ho(_.numberOfInputs,_.channelCount),it=Ho(_.numberOfOutputs,g),be=m.parameterDescriptors===void 0?[]:m.parameterDescriptors.reduce((C,{name:I})=>({...C,[I]:new Float32Array(128)}),{});let we=!0;const $=()=>{_.numberOfOutputs>0&&P.disconnect(M);for(let C=0,I=0;C<_.numberOfOutputs;C+=1){const B=F[C];for(let Y=0;Y{if(ue!==null){const B=h(te);for(let Y=0;Y{zo(C,be,U,y+H,Y)});for(let U=0;U<_.numberOfInputs;U+=1)for(let H=0;H{if(B[ae].size>0)return L.set(ae,O/128),j;const le=L.get(ae);return le===void 0?[]:(j.every(_e=>_e.every(Ee=>Ee===0))&&(le===1?L.delete(ae):L.set(ae,le-1)),j)});we=u(f.currentTime+Y/f.sampleRate,f.sampleRate,()=>ue.process(U,it,be));for(let j=0,ae=0;j<_.numberOfOutputs;j+=1){for(let ie=0;ieP.connect(oe).connect(f.destination),x=()=>{P.disconnect(oe),oe.disconnect()},E=()=>{if(we){x(),_.numberOfOutputs>0&&P.connect(M);for(let C=0,I=0;C<_.numberOfOutputs;C+=1){const B=F[C];for(let Y=0;Y{we&&(Se(),$()),Q=!1};return Se(),d(te,E,k)},Gf=(n,e)=>{const t=n.createBiquadFilter();return ct(t,e),Xe(t,e,"Q"),Xe(t,e,"detune"),Xe(t,e,"frequency"),Xe(t,e,"gain"),Ye(t,e,"type"),t},Wv=(n,e)=>(t,s)=>{const i=t.createChannelMerger(s.numberOfInputs);return n!==null&&n.name==="webkitAudioContext"&&e(t,i),ct(i,s),i},zv=n=>{const e=n.numberOfOutputs;Object.defineProperty(n,"channelCount",{get:()=>e,set:t=>{if(t!==e)throw ft()}}),Object.defineProperty(n,"channelCountMode",{get:()=>"explicit",set:t=>{if(t!=="explicit")throw ft()}}),Object.defineProperty(n,"channelInterpretation",{get:()=>"discrete",set:t=>{if(t!=="discrete")throw ft()}})},Yr=(n,e)=>{const t=n.createChannelSplitter(e.numberOfOutputs);return ct(t,e),zv(t),t},Hv=(n,e,t,s,i)=>(r,o)=>{if(r.createConstantSource===void 0)return t(r,o);const a=r.createConstantSource();return ct(a,o),Xe(a,o,"offset"),e(s,()=>s(r))||$l(a),e(i,()=>i(r))||Fl(a),n(r,a),a},Ki=(n,e)=>(n.connect=e.connect.bind(e),n.disconnect=e.disconnect.bind(e),n),Gv=(n,e,t,s)=>(i,{offset:r,...o})=>{const a=i.createBuffer(1,2,44100),c=e(i,{buffer:null,channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",loop:!1,loopEnd:0,loopStart:0,playbackRate:1}),l=t(i,{...o,gain:r}),u=a.getChannelData(0);u[0]=1,u[1]=1,c.buffer=a,c.loop=!0;const h={get bufferSize(){},get channelCount(){return l.channelCount},set channelCount(p){l.channelCount=p},get channelCountMode(){return l.channelCountMode},set channelCountMode(p){l.channelCountMode=p},get channelInterpretation(){return l.channelInterpretation},set channelInterpretation(p){l.channelInterpretation=p},get context(){return l.context},get inputs(){return[]},get numberOfInputs(){return c.numberOfInputs},get numberOfOutputs(){return l.numberOfOutputs},get offset(){return l.gain},get onended(){return c.onended},set onended(p){c.onended=p},addEventListener(...p){return c.addEventListener(p[0],p[1],p[2])},dispatchEvent(...p){return c.dispatchEvent(p[0])},removeEventListener(...p){return c.removeEventListener(p[0],p[1],p[2])},start(p=0){c.start.call(c,p)},stop(p=0){c.stop.call(c,p)}},d=()=>c.connect(l),f=()=>c.disconnect(l);return n(i,c),s(Ki(h,l),d,f)},Kv=(n,e)=>(t,s)=>{const i=t.createConvolver();if(ct(i,s),s.disableNormalization===i.normalize&&(i.normalize=!s.disableNormalization),Ye(i,s,"buffer"),s.channelCount>2||(e(i,"channelCount",r=>()=>r.call(i),r=>o=>{if(o>2)throw n();return r.call(i,o)}),s.channelCountMode==="max"))throw n();return e(i,"channelCountMode",r=>()=>r.call(i),r=>o=>{if(o==="max")throw n();return r.call(i,o)}),i},Kf=(n,e)=>{const t=n.createDelay(e.maxDelayTime);return ct(t,e),Xe(t,e,"delayTime"),t},Yv=n=>(e,t)=>{const s=e.createDynamicsCompressor();if(ct(s,t),t.channelCount>2||t.channelCountMode==="max")throw n();return Xe(s,t,"attack"),Xe(s,t,"knee"),Xe(s,t,"ratio"),Xe(s,t,"release"),Xe(s,t,"threshold"),s},It=(n,e)=>{const t=n.createGain();return ct(t,e),Xe(t,e,"gain"),t},Zv=n=>(e,t,s)=>{if(e.createIIRFilter===void 0)return n(e,t,s);const i=e.createIIRFilter(s.feedforward,s.feedback);return ct(i,s),i};function Xv(n,e){const t=e[0]*e[0]+e[1]*e[1];return[(n[0]*e[0]+n[1]*e[1])/t,(n[1]*e[0]-n[0]*e[1])/t]}function Qv(n,e){return[n[0]*e[0]-n[1]*e[1],n[0]*e[1]+n[1]*e[0]]}function vh(n,e){let t=[0,0];for(let s=n.length-1;s>=0;s-=1)t=Qv(t,e),t[0]+=n[s];return t}const Jv=(n,e,t,s)=>(i,r,{channelCount:o,channelCountMode:a,channelInterpretation:c,feedback:l,feedforward:u})=>{const h=Hf(r,i.sampleRate),d=l instanceof Float64Array?l:new Float64Array(l),f=u instanceof Float64Array?u:new Float64Array(u),p=d.length,m=f.length,_=Math.min(p,m);if(p===0||p>20)throw s();if(d[0]===0)throw e();if(m===0||m>20)throw s();if(f[0]===0)throw e();if(d[0]!==1){for(let T=0;T{const R=T.inputBuffer,O=T.outputBuffer,P=R.numberOfChannels;for(let M=0;Mn.createMediaElementSource(e.mediaElement),tb=(n,e)=>{const t=n.createMediaStreamDestination();return ct(t,e),t.numberOfOutputs===1&&Object.defineProperty(t,"numberOfOutputs",{get:()=>0}),t},nb=(n,{mediaStream:e})=>{const t=e.getAudioTracks();t.sort((r,o)=>r.ido.id?1:0);const s=t.slice(0,1),i=n.createMediaStreamSource(new MediaStream(s));return Object.defineProperty(i,"mediaStream",{value:e}),i},sb=(n,e)=>(t,{mediaStreamTrack:s})=>{if(typeof t.createMediaStreamTrackSource=="function")return t.createMediaStreamTrackSource(s);const i=new MediaStream([s]),r=t.createMediaStreamSource(i);if(s.kind!=="audio")throw n();if(e(t))throw new TypeError;return r},ib=n=>n===null?null:n.hasOwnProperty("OfflineAudioContext")?n.OfflineAudioContext:n.hasOwnProperty("webkitOfflineAudioContext")?n.webkitOfflineAudioContext:null,rb=(n,e,t,s,i,r)=>(o,a)=>{const c=o.createOscillator();return ct(c,a),Xe(c,a,"detune"),Xe(c,a,"frequency"),a.periodicWave!==void 0?c.setPeriodicWave(a.periodicWave):Ye(c,a,"type"),e(t,()=>t(o))||$l(c),e(s,()=>s(o))||r(c,o),e(i,()=>i(o))||Fl(c),n(o,c),c},ob=n=>(e,t)=>{const s=e.createPanner();return s.orientationX===void 0?n(e,t):(ct(s,t),Xe(s,t,"orientationX"),Xe(s,t,"orientationY"),Xe(s,t,"orientationZ"),Xe(s,t,"positionX"),Xe(s,t,"positionY"),Xe(s,t,"positionZ"),Ye(s,t,"coneInnerAngle"),Ye(s,t,"coneOuterAngle"),Ye(s,t,"coneOuterGain"),Ye(s,t,"distanceModel"),Ye(s,t,"maxDistance"),Ye(s,t,"panningModel"),Ye(s,t,"refDistance"),Ye(s,t,"rolloffFactor"),s)},ab=(n,e,t,s,i,r,o,a,c,l)=>(u,{coneInnerAngle:h,coneOuterAngle:d,coneOuterGain:f,distanceModel:p,maxDistance:m,orientationX:_,orientationY:g,orientationZ:y,panningModel:S,positionX:w,positionY:v,positionZ:A,refDistance:N,rolloffFactor:T,...R})=>{const O=u.createPanner();if(R.channelCount>2||R.channelCountMode==="max")throw o();ct(O,R);const P={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},M=t(u,{...P,channelInterpretation:"speakers",numberOfInputs:6}),F=s(u,{...R,gain:1}),z=s(u,{...P,gain:1}),ne=s(u,{...P,gain:0}),X=s(u,{...P,gain:0}),Z=s(u,{...P,gain:0}),te=s(u,{...P,gain:0}),ce=s(u,{...P,gain:0}),me=i(u,256,6,1),ue=r(u,{...P,curve:new Float32Array([1,1]),oversample:"none"});let ye=[_,g,y],st=[w,v,A];const it=new Float32Array(1);me.onaudioprocess=({inputBuffer:L})=>{const Q=[c(L,it,0),c(L,it,1),c(L,it,2)];Q.some((Se,x)=>Se!==ye[x])&&(O.setOrientation(...Q),ye=Q);const oe=[c(L,it,3),c(L,it,4),c(L,it,5)];oe.some((Se,x)=>Se!==st[x])&&(O.setPosition(...oe),st=oe)},Object.defineProperty(ne.gain,"defaultValue",{get:()=>0}),Object.defineProperty(X.gain,"defaultValue",{get:()=>0}),Object.defineProperty(Z.gain,"defaultValue",{get:()=>0}),Object.defineProperty(te.gain,"defaultValue",{get:()=>0}),Object.defineProperty(ce.gain,"defaultValue",{get:()=>0});const be={get bufferSize(){},get channelCount(){return O.channelCount},set channelCount(L){if(L>2)throw o();F.channelCount=L,O.channelCount=L},get channelCountMode(){return O.channelCountMode},set channelCountMode(L){if(L==="max")throw o();F.channelCountMode=L,O.channelCountMode=L},get channelInterpretation(){return O.channelInterpretation},set channelInterpretation(L){F.channelInterpretation=L,O.channelInterpretation=L},get coneInnerAngle(){return O.coneInnerAngle},set coneInnerAngle(L){O.coneInnerAngle=L},get coneOuterAngle(){return O.coneOuterAngle},set coneOuterAngle(L){O.coneOuterAngle=L},get coneOuterGain(){return O.coneOuterGain},set coneOuterGain(L){if(L<0||L>1)throw e();O.coneOuterGain=L},get context(){return O.context},get distanceModel(){return O.distanceModel},set distanceModel(L){O.distanceModel=L},get inputs(){return[F]},get maxDistance(){return O.maxDistance},set maxDistance(L){if(L<0)throw new RangeError;O.maxDistance=L},get numberOfInputs(){return O.numberOfInputs},get numberOfOutputs(){return O.numberOfOutputs},get orientationX(){return z.gain},get orientationY(){return ne.gain},get orientationZ(){return X.gain},get panningModel(){return O.panningModel},set panningModel(L){O.panningModel=L},get positionX(){return Z.gain},get positionY(){return te.gain},get positionZ(){return ce.gain},get refDistance(){return O.refDistance},set refDistance(L){if(L<0)throw new RangeError;O.refDistance=L},get rolloffFactor(){return O.rolloffFactor},set rolloffFactor(L){if(L<0)throw new RangeError;O.rolloffFactor=L},addEventListener(...L){return F.addEventListener(L[0],L[1],L[2])},dispatchEvent(...L){return F.dispatchEvent(L[0])},removeEventListener(...L){return F.removeEventListener(L[0],L[1],L[2])}};h!==be.coneInnerAngle&&(be.coneInnerAngle=h),d!==be.coneOuterAngle&&(be.coneOuterAngle=d),f!==be.coneOuterGain&&(be.coneOuterGain=f),p!==be.distanceModel&&(be.distanceModel=p),m!==be.maxDistance&&(be.maxDistance=m),_!==be.orientationX.value&&(be.orientationX.value=_),g!==be.orientationY.value&&(be.orientationY.value=g),y!==be.orientationZ.value&&(be.orientationZ.value=y),S!==be.panningModel&&(be.panningModel=S),w!==be.positionX.value&&(be.positionX.value=w),v!==be.positionY.value&&(be.positionY.value=v),A!==be.positionZ.value&&(be.positionZ.value=A),N!==be.refDistance&&(be.refDistance=N),T!==be.rolloffFactor&&(be.rolloffFactor=T),(ye[0]!==1||ye[1]!==0||ye[2]!==0)&&O.setOrientation(...ye),(st[0]!==0||st[1]!==0||st[2]!==0)&&O.setPosition(...st);const we=()=>{F.connect(O),n(F,ue,0,0),ue.connect(z).connect(M,0,0),ue.connect(ne).connect(M,0,1),ue.connect(X).connect(M,0,2),ue.connect(Z).connect(M,0,3),ue.connect(te).connect(M,0,4),ue.connect(ce).connect(M,0,5),M.connect(me).connect(u.destination)},$=()=>{F.disconnect(O),a(F,ue,0,0),ue.disconnect(z),z.disconnect(M),ue.disconnect(ne),ne.disconnect(M),ue.disconnect(X),X.disconnect(M),ue.disconnect(Z),Z.disconnect(M),ue.disconnect(te),te.disconnect(M),ue.disconnect(ce),ce.disconnect(M),M.disconnect(me),me.disconnect(u.destination)};return l(Ki(be,O),we,$)},cb=n=>(e,{disableNormalization:t,imag:s,real:i})=>{const r=s instanceof Float32Array?s:new Float32Array(s),o=i instanceof Float32Array?i:new Float32Array(i),a=e.createPeriodicWave(o,r,{disableNormalization:t});if(Array.from(s).length<2)throw n();return a},Zr=(n,e,t,s)=>n.createScriptProcessor(e,t,s),lb=(n,e)=>(t,s)=>{const i=s.channelCountMode;if(i==="clamped-max")throw e();if(t.createStereoPanner===void 0)return n(t,s);const r=t.createStereoPanner();return ct(r,s),Xe(r,s,"pan"),Object.defineProperty(r,"channelCountMode",{get:()=>i,set:o=>{if(o!==i)throw e()}}),r},ub=(n,e,t,s,i,r)=>{const a=new Float32Array([1,1]),c=Math.PI/2,l={channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete"},u={...l,oversample:"none"},h=(p,m,_,g)=>{const y=new Float32Array(16385),S=new Float32Array(16385);for(let R=0;R<16385;R+=1){const O=R/16384*c;y[R]=Math.cos(O),S[R]=Math.sin(O)}const w=t(p,{...l,gain:0}),v=s(p,{...u,curve:y}),A=s(p,{...u,curve:a}),N=t(p,{...l,gain:0}),T=s(p,{...u,curve:S});return{connectGraph(){m.connect(w),m.connect(A.inputs===void 0?A:A.inputs[0]),m.connect(N),A.connect(_),_.connect(v.inputs===void 0?v:v.inputs[0]),_.connect(T.inputs===void 0?T:T.inputs[0]),v.connect(w.gain),T.connect(N.gain),w.connect(g,0,0),N.connect(g,0,1)},disconnectGraph(){m.disconnect(w),m.disconnect(A.inputs===void 0?A:A.inputs[0]),m.disconnect(N),A.disconnect(_),_.disconnect(v.inputs===void 0?v:v.inputs[0]),_.disconnect(T.inputs===void 0?T:T.inputs[0]),v.disconnect(w.gain),T.disconnect(N.gain),w.disconnect(g,0,0),N.disconnect(g,0,1)}}},d=(p,m,_,g)=>{const y=new Float32Array(16385),S=new Float32Array(16385),w=new Float32Array(16385),v=new Float32Array(16385),A=Math.floor(16385/2);for(let Z=0;Z<16385;Z+=1)if(Z>A){const te=(Z-A)/(16384-A)*c;y[Z]=Math.cos(te),S[Z]=Math.sin(te),w[Z]=0,v[Z]=1}else{const te=Z/(16384-A)*c;y[Z]=1,S[Z]=0,w[Z]=Math.cos(te),v[Z]=Math.sin(te)}const N=e(p,{channelCount:2,channelCountMode:"explicit",channelInterpretation:"discrete",numberOfOutputs:2}),T=t(p,{...l,gain:0}),R=s(p,{...u,curve:y}),O=t(p,{...l,gain:0}),P=s(p,{...u,curve:S}),M=s(p,{...u,curve:a}),F=t(p,{...l,gain:0}),z=s(p,{...u,curve:w}),ne=t(p,{...l,gain:0}),X=s(p,{...u,curve:v});return{connectGraph(){m.connect(N),m.connect(M.inputs===void 0?M:M.inputs[0]),N.connect(T,0),N.connect(O,0),N.connect(F,1),N.connect(ne,1),M.connect(_),_.connect(R.inputs===void 0?R:R.inputs[0]),_.connect(P.inputs===void 0?P:P.inputs[0]),_.connect(z.inputs===void 0?z:z.inputs[0]),_.connect(X.inputs===void 0?X:X.inputs[0]),R.connect(T.gain),P.connect(O.gain),z.connect(F.gain),X.connect(ne.gain),T.connect(g,0,0),F.connect(g,0,0),O.connect(g,0,1),ne.connect(g,0,1)},disconnectGraph(){m.disconnect(N),m.disconnect(M.inputs===void 0?M:M.inputs[0]),N.disconnect(T,0),N.disconnect(O,0),N.disconnect(F,1),N.disconnect(ne,1),M.disconnect(_),_.disconnect(R.inputs===void 0?R:R.inputs[0]),_.disconnect(P.inputs===void 0?P:P.inputs[0]),_.disconnect(z.inputs===void 0?z:z.inputs[0]),_.disconnect(X.inputs===void 0?X:X.inputs[0]),R.disconnect(T.gain),P.disconnect(O.gain),z.disconnect(F.gain),X.disconnect(ne.gain),T.disconnect(g,0,0),F.disconnect(g,0,0),O.disconnect(g,0,1),ne.disconnect(g,0,1)}}},f=(p,m,_,g,y)=>{if(m===1)return h(p,_,g,y);if(m===2)return d(p,_,g,y);throw i()};return(p,{channelCount:m,channelCountMode:_,pan:g,...y})=>{if(_==="max")throw i();const S=n(p,{...y,channelCount:1,channelCountMode:_,numberOfInputs:2}),w=t(p,{...y,channelCount:m,channelCountMode:_,gain:1}),v=t(p,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:g});let{connectGraph:A,disconnectGraph:N}=f(p,m,w,v,S);Object.defineProperty(v.gain,"defaultValue",{get:()=>0}),Object.defineProperty(v.gain,"maxValue",{get:()=>1}),Object.defineProperty(v.gain,"minValue",{get:()=>-1});const T={get bufferSize(){},get channelCount(){return w.channelCount},set channelCount(M){w.channelCount!==M&&(R&&N(),{connectGraph:A,disconnectGraph:N}=f(p,M,w,v,S),R&&A()),w.channelCount=M},get channelCountMode(){return w.channelCountMode},set channelCountMode(M){if(M==="clamped-max"||M==="max")throw i();w.channelCountMode=M},get channelInterpretation(){return w.channelInterpretation},set channelInterpretation(M){w.channelInterpretation=M},get context(){return w.context},get inputs(){return[w]},get numberOfInputs(){return w.numberOfInputs},get numberOfOutputs(){return w.numberOfOutputs},get pan(){return v.gain},addEventListener(...M){return w.addEventListener(M[0],M[1],M[2])},dispatchEvent(...M){return w.dispatchEvent(M[0])},removeEventListener(...M){return w.removeEventListener(M[0],M[1],M[2])}};let R=!1;const O=()=>{A(),R=!0},P=()=>{N(),R=!1};return r(Ki(T,S),O,P)}},hb=(n,e,t,s,i,r,o)=>(a,c)=>{const l=a.createWaveShaper();if(r!==null&&r.name==="webkitAudioContext"&&a.createGain().gain.automationRate===void 0)return t(a,c);ct(l,c);const u=c.curve===null||c.curve instanceof Float32Array?c.curve:new Float32Array(c.curve);if(u!==null&&u.length<2)throw e();Ye(l,{curve:u},"curve"),Ye(l,c,"oversample");let h=null,d=!1;return o(l,"curve",m=>()=>m.call(l),m=>_=>(m.call(l,_),d&&(s(_)&&h===null?h=n(a,l):!s(_)&&h!==null&&(h(),h=null)),_)),i(l,()=>{d=!0,s(l.curve)&&(h=n(a,l))},()=>{d=!1,h!==null&&(h(),h=null)})},db=(n,e,t,s,i)=>(r,{curve:o,oversample:a,...c})=>{const l=r.createWaveShaper(),u=r.createWaveShaper();ct(l,c),ct(u,c);const h=t(r,{...c,gain:1}),d=t(r,{...c,gain:-1}),f=t(r,{...c,gain:1}),p=t(r,{...c,gain:-1});let m=null,_=!1,g=null;const y={get bufferSize(){},get channelCount(){return l.channelCount},set channelCount(v){h.channelCount=v,d.channelCount=v,l.channelCount=v,f.channelCount=v,u.channelCount=v,p.channelCount=v},get channelCountMode(){return l.channelCountMode},set channelCountMode(v){h.channelCountMode=v,d.channelCountMode=v,l.channelCountMode=v,f.channelCountMode=v,u.channelCountMode=v,p.channelCountMode=v},get channelInterpretation(){return l.channelInterpretation},set channelInterpretation(v){h.channelInterpretation=v,d.channelInterpretation=v,l.channelInterpretation=v,f.channelInterpretation=v,u.channelInterpretation=v,p.channelInterpretation=v},get context(){return l.context},get curve(){return g},set curve(v){if(v!==null&&v.length<2)throw e();if(v===null)l.curve=v,u.curve=v;else{const A=v.length,N=new Float32Array(A+2-A%2),T=new Float32Array(A+2-A%2);N[0]=v[0],T[0]=-v[A-1];const R=Math.ceil((A+1)/2),O=(A+1)/2-1;for(let P=1;P{h.connect(l).connect(f),h.connect(d).connect(u).connect(p).connect(f),_=!0,s(g)&&(m=n(r,h))},w=()=>{h.disconnect(l),l.disconnect(f),h.disconnect(d),d.disconnect(u),u.disconnect(p),p.disconnect(f),_=!1,m!==null&&(m(),m=null)};return i(Ki(y,f),S,w)},Ct=()=>new DOMException("","NotSupportedError"),fb={numberOfChannels:1},pb=(n,e,t,s,i)=>class extends n{constructor(o,a,c){let l;if(typeof o=="number"&&a!==void 0&&c!==void 0)l={length:a,numberOfChannels:o,sampleRate:c};else if(typeof o=="object")l=o;else throw new Error("The given parameters are not valid.");const{length:u,numberOfChannels:h,sampleRate:d}={...fb,...l},f=s(h,u,d);e(xr,()=>xr(f))||f.addEventListener("statechange",(()=>{let p=0;const m=_=>{this._state==="running"&&(p>0?(f.removeEventListener("statechange",m),_.stopImmediatePropagation(),this._waitForThePromiseToSettle(_)):p+=1)};return m})()),super(f,h),this._length=u,this._nativeOfflineAudioContext=f,this._state=null}get length(){return this._nativeOfflineAudioContext.length===void 0?this._length:this._nativeOfflineAudioContext.length}get state(){return this._state===null?this._nativeOfflineAudioContext.state:this._state}startRendering(){return this._state==="running"?Promise.reject(t()):(this._state="running",i(this.destination,this._nativeOfflineAudioContext).finally(()=>{this._state=null,Lf(this)}))}_waitForThePromiseToSettle(o){this._state===null?this._nativeOfflineAudioContext.dispatchEvent(o):setTimeout(()=>this._waitForThePromiseToSettle(o))}},mb={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",detune:0,frequency:440,periodicWave:void 0,type:"sine"},gb=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...mb,...l},d=t(u,h),f=r(u),p=f?s():null,m=c.sampleRate/2;super(c,!1,d,p),this._detune=e(this,f,d.detune,153600,-153600),this._frequency=e(this,f,d.frequency,m,-m),this._nativeOscillatorNode=d,this._onended=null,this._oscillatorNodeRenderer=p,this._oscillatorNodeRenderer!==null&&h.periodicWave!==void 0&&(this._oscillatorNodeRenderer.periodicWave=h.periodicWave)}get detune(){return this._detune}get frequency(){return this._frequency}get onended(){return this._onended}set onended(c){const l=typeof c=="function"?o(this,c):null;this._nativeOscillatorNode.onended=l;const u=this._nativeOscillatorNode.onended;this._onended=u!==null&&u===l?c:u}get type(){return this._nativeOscillatorNode.type}set type(c){this._nativeOscillatorNode.type=c,this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=null)}setPeriodicWave(c){this._nativeOscillatorNode.setPeriodicWave(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.periodicWave=c)}start(c=0){if(this._nativeOscillatorNode.start(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.start=c),this.context.state!=="closed"){Oi(this);const l=()=>{this._nativeOscillatorNode.removeEventListener("ended",l),Vn(this)&&Hr(this)};this._nativeOscillatorNode.addEventListener("ended",l)}}stop(c=0){this._nativeOscillatorNode.stop(c),this._oscillatorNodeRenderer!==null&&(this._oscillatorNodeRenderer.stop=c)}},_b=(n,e,t,s,i)=>()=>{const r=new WeakMap;let o=null,a=null,c=null;const l=async(u,h)=>{let d=t(u);const f=wt(d,h);if(!f){const p={channelCount:d.channelCount,channelCountMode:d.channelCountMode,channelInterpretation:d.channelInterpretation,detune:d.detune.value,frequency:d.frequency.value,periodicWave:o===null?void 0:o,type:d.type};d=e(h,p),a!==null&&d.start(a),c!==null&&d.stop(c)}return r.set(h,d),f?(await n(h,u.detune,d.detune),await n(h,u.frequency,d.frequency)):(await s(h,u.detune,d.detune),await s(h,u.frequency,d.frequency)),await i(u,h,d),d};return{set periodicWave(u){o=u},set start(u){a=u},set stop(u){c=u},render(u,h){const d=r.get(h);return d!==void 0?Promise.resolve(d):l(u,h)}}},yb={channelCount:2,channelCountMode:"clamped-max",channelInterpretation:"speakers",coneInnerAngle:360,coneOuterAngle:360,coneOuterGain:0,distanceModel:"inverse",maxDistance:1e4,orientationX:1,orientationY:0,orientationZ:0,panningModel:"equalpower",positionX:0,positionY:0,positionZ:0,refDistance:1,rolloffFactor:1},vb=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...yb,...l},d=t(u,h),f=r(u),p=f?s():null;super(c,!1,d,p),this._nativePannerNode=d,this._orientationX=e(this,f,d.orientationX,Tt,Nt),this._orientationY=e(this,f,d.orientationY,Tt,Nt),this._orientationZ=e(this,f,d.orientationZ,Tt,Nt),this._positionX=e(this,f,d.positionX,Tt,Nt),this._positionY=e(this,f,d.positionY,Tt,Nt),this._positionZ=e(this,f,d.positionZ,Tt,Nt),o(this,1)}get coneInnerAngle(){return this._nativePannerNode.coneInnerAngle}set coneInnerAngle(c){this._nativePannerNode.coneInnerAngle=c}get coneOuterAngle(){return this._nativePannerNode.coneOuterAngle}set coneOuterAngle(c){this._nativePannerNode.coneOuterAngle=c}get coneOuterGain(){return this._nativePannerNode.coneOuterGain}set coneOuterGain(c){this._nativePannerNode.coneOuterGain=c}get distanceModel(){return this._nativePannerNode.distanceModel}set distanceModel(c){this._nativePannerNode.distanceModel=c}get maxDistance(){return this._nativePannerNode.maxDistance}set maxDistance(c){this._nativePannerNode.maxDistance=c}get orientationX(){return this._orientationX}get orientationY(){return this._orientationY}get orientationZ(){return this._orientationZ}get panningModel(){return this._nativePannerNode.panningModel}set panningModel(c){this._nativePannerNode.panningModel=c}get positionX(){return this._positionX}get positionY(){return this._positionY}get positionZ(){return this._positionZ}get refDistance(){return this._nativePannerNode.refDistance}set refDistance(c){this._nativePannerNode.refDistance=c}get rolloffFactor(){return this._nativePannerNode.rolloffFactor}set rolloffFactor(c){this._nativePannerNode.rolloffFactor=c}},bb=(n,e,t,s,i,r,o,a,c,l)=>()=>{const u=new WeakMap;let h=null;const d=async(f,p)=>{let m=null,_=r(f);const g={channelCount:_.channelCount,channelCountMode:_.channelCountMode,channelInterpretation:_.channelInterpretation},y={...g,coneInnerAngle:_.coneInnerAngle,coneOuterAngle:_.coneOuterAngle,coneOuterGain:_.coneOuterGain,distanceModel:_.distanceModel,maxDistance:_.maxDistance,panningModel:_.panningModel,refDistance:_.refDistance,rolloffFactor:_.rolloffFactor},S=wt(_,p);if("bufferSize"in _)m=s(p,{...g,gain:1});else if(!S){const w={...y,orientationX:_.orientationX.value,orientationY:_.orientationY.value,orientationZ:_.orientationZ.value,positionX:_.positionX.value,positionY:_.positionY.value,positionZ:_.positionZ.value};_=i(p,w)}if(u.set(p,m===null?_:m),m!==null){if(h===null){if(o===null)throw new Error("Missing the native OfflineAudioContext constructor.");const P=new o(6,f.context.length,p.sampleRate),M=e(P,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"speakers",numberOfInputs:6});M.connect(P.destination),h=(async()=>{const F=await Promise.all([f.orientationX,f.orientationY,f.orientationZ,f.positionX,f.positionY,f.positionZ].map(async(z,ne)=>{const X=t(P,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",offset:ne===0?1:0});return await a(P,z,X.offset),X}));for(let z=0;z<6;z+=1)F[z].connect(M,0,z),F[z].start(0);return l(P)})()}const w=await h,v=s(p,{...g,gain:1});await c(f,p,v);const A=[];for(let P=0;Pz!==N[ne])||F.some((z,ne)=>z!==T[ne])){N=M,T=F;const z=P/p.sampleRate;R.gain.setValueAtTime(0,z),R=s(p,{...g,gain:0}),O=i(p,{...y,orientationX:N[0],orientationY:N[1],orientationZ:N[2],positionX:T[0],positionY:T[1],positionZ:T[2]}),R.gain.setValueAtTime(1,z),v.connect(R).connect(O.inputs[0]),O.connect(m)}}return m}return S?(await n(p,f.orientationX,_.orientationX),await n(p,f.orientationY,_.orientationY),await n(p,f.orientationZ,_.orientationZ),await n(p,f.positionX,_.positionX),await n(p,f.positionY,_.positionY),await n(p,f.positionZ,_.positionZ)):(await a(p,f.orientationX,_.orientationX),await a(p,f.orientationY,_.orientationY),await a(p,f.orientationZ,_.orientationZ),await a(p,f.positionX,_.positionX),await a(p,f.positionY,_.positionY),await a(p,f.positionZ,_.positionZ)),Gi(_)?await c(f,p,_.inputs[0]):await c(f,p,_),_};return{render(f,p){const m=u.get(p);return m!==void 0?Promise.resolve(m):d(f,p)}}},wb={disableNormalization:!1},xb=(n,e,t,s)=>class Yf{constructor(r,o){const a=e(r),c=s({...wb,...o}),l=n(a,c);return t.add(l),l}static[Symbol.hasInstance](r){return r!==null&&typeof r=="object"&&Object.getPrototypeOf(r)===Yf.prototype||t.has(r)}},Tb=(n,e)=>(t,s,i)=>(n(s).replay(i),e(s,t,i)),Eb=(n,e,t)=>async(s,i,r)=>{const o=n(s);await Promise.all(o.activeInputs.map((a,c)=>Array.from(a).map(async([l,u])=>{const d=await e(l).render(l,i),f=s.context.destination;!t(l)&&(s!==f||!t(s))&&d.connect(r,u,c)})).reduce((a,c)=>[...a,...c],[]))},Sb=(n,e,t)=>async(s,i,r)=>{const o=e(s);await Promise.all(Array.from(o.activeInputs).map(async([a,c])=>{const u=await n(a).render(a,i);t(a)||u.connect(r,c)}))},Cb=(n,e,t,s)=>i=>n(xr,()=>xr(i))?Promise.resolve(n(s,s)).then(r=>{if(!r){const o=t(i,512,0,1);i.oncomplete=()=>{o.onaudioprocess=null,o.disconnect()},o.onaudioprocess=()=>i.currentTime,o.connect(i.destination)}return i.startRendering()}):new Promise(r=>{const o=e(i,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});i.oncomplete=a=>{o.disconnect(),r(a.renderedBuffer)},o.connect(i.destination),i.startRendering()}),Ab=n=>(e,t)=>{n.set(e,t)},Nb=n=>(e,t)=>n.set(e,t),Mb=(n,e,t,s,i,r,o,a)=>(c,l)=>t(c).render(c,l).then(()=>Promise.all(Array.from(s(l)).map(u=>t(u).render(u,l)))).then(()=>i(l)).then(u=>(typeof u.copyFromChannel!="function"?(o(u),Rl(u)):e(r,()=>r(u))||a(u),n.add(u),u)),kb={channelCount:2,channelCountMode:"explicit",channelInterpretation:"speakers",pan:0},Ob=(n,e,t,s,i,r)=>class extends n{constructor(a,c){const l=i(a),u={...kb,...c},h=t(l,u),d=r(l),f=d?s():null;super(a,!1,h,f),this._pan=e(this,d,h.pan)}get pan(){return this._pan}},Ib=(n,e,t,s,i)=>()=>{const r=new WeakMap,o=async(a,c)=>{let l=t(a);const u=wt(l,c);if(!u){const h={channelCount:l.channelCount,channelCountMode:l.channelCountMode,channelInterpretation:l.channelInterpretation,pan:l.pan.value};l=e(c,h)}return r.set(c,l),u?await n(c,a.pan,l.pan):await s(c,a.pan,l.pan),Gi(l)?await i(a,c,l.inputs[0]):await i(a,c,l),l};return{render(a,c){const l=r.get(c);return l!==void 0?Promise.resolve(l):o(a,c)}}},Rb=n=>()=>{if(n===null)return!1;try{new n({length:1,sampleRate:44100})}catch{return!1}return!0},Db=(n,e)=>async()=>{if(n===null)return!0;if(e===null)return!1;const t=new Blob(['class A extends AudioWorkletProcessor{process(i){this.port.postMessage(i,[i[0][0].buffer])}}registerProcessor("a",A)'],{type:"application/javascript; charset=utf-8"}),s=new e(1,128,44100),i=URL.createObjectURL(t);let r=!1,o=!1;try{await s.audioWorklet.addModule(i);const a=new n(s,"a",{numberOfOutputs:0}),c=s.createOscillator();a.port.onmessage=()=>r=!0,a.onprocessorerror=()=>o=!0,c.connect(a),c.start(0),await s.startRendering()}catch{}finally{URL.revokeObjectURL(i)}return r&&!o},Pb=(n,e)=>()=>{if(e===null)return Promise.resolve(!1);const t=new e(1,1,44100),s=n(t,{channelCount:1,channelCountMode:"explicit",channelInterpretation:"discrete",gain:0});return new Promise(i=>{t.oncomplete=()=>{s.disconnect(),i(t.currentTime!==0)},t.startRendering()})},$b=()=>new DOMException("","UnknownError"),Fb={channelCount:2,channelCountMode:"max",channelInterpretation:"speakers",curve:null,oversample:"none"},Vb=(n,e,t,s,i,r,o)=>class extends n{constructor(c,l){const u=i(c),h={...Fb,...l},d=t(u,h),p=r(u)?s():null;super(c,!0,d,p),this._isCurveNullified=!1,this._nativeWaveShaperNode=d,o(this,1)}get curve(){return this._isCurveNullified?null:this._nativeWaveShaperNode.curve}set curve(c){if(c===null)this._isCurveNullified=!0,this._nativeWaveShaperNode.curve=new Float32Array([0,0]);else{if(c.length<2)throw e();this._isCurveNullified=!1,this._nativeWaveShaperNode.curve=c}}get oversample(){return this._nativeWaveShaperNode.oversample}set oversample(c){this._nativeWaveShaperNode.oversample=c}},Lb=(n,e,t)=>()=>{const s=new WeakMap,i=async(r,o)=>{let a=e(r);if(!wt(a,o)){const l={channelCount:a.channelCount,channelCountMode:a.channelCountMode,channelInterpretation:a.channelInterpretation,curve:a.curve,oversample:a.oversample};a=n(o,l)}return s.set(o,a),Gi(a)?await t(r,o,a.inputs[0]):await t(r,o,a),a};return{render(r,o){const a=s.get(o);return a!==void 0?Promise.resolve(a):i(r,o)}}},Bb=()=>typeof window>"u"?null:window,qb=(n,e)=>t=>{t.copyFromChannel=(s,i,r=0)=>{const o=n(r),a=n(i);if(a>=t.numberOfChannels)throw e();const c=t.length,l=t.getChannelData(a),u=s.length;for(let h=o<0?-o:0;h+o{const o=n(r),a=n(i);if(a>=t.numberOfChannels)throw e();const c=t.length,l=t.getChannelData(a),u=s.length;for(let h=o<0?-o:0;h+oe=>{e.copyFromChannel=(t=>(s,i,r=0)=>{const o=n(r),a=n(i);if(o(s,i,r=0)=>{const o=n(r),a=n(i);if(o(e,t)=>{const s=t.createBuffer(1,1,44100);e.buffer===null&&(e.buffer=s),n(e,"buffer",i=>()=>{const r=i.call(e);return r===s?null:r},i=>r=>i.call(e,r===null?s:r))},Wb=(n,e)=>(t,s)=>{s.channelCount=1,s.channelCountMode="explicit",Object.defineProperty(s,"channelCount",{get:()=>1,set:()=>{throw n()}}),Object.defineProperty(s,"channelCountMode",{get:()=>"explicit",set:()=>{throw n()}});const i=t.createBufferSource();e(s,()=>{const a=s.numberOfInputs;for(let c=0;ci.disconnect(s))},Zf=(n,e,t)=>n.copyFromChannel===void 0?n.getChannelData(t)[0]:(n.copyFromChannel(e,t),e[0]),Xf=n=>{if(n===null)return!1;const e=n.length;return e%2!==0?n[Math.floor(e/2)]!==0:n[e/2-1]+n[e/2]!==0},Xr=(n,e,t,s)=>{let i=n;for(;!i.hasOwnProperty(e);)i=Object.getPrototypeOf(i);const{get:r,set:o}=Object.getOwnPropertyDescriptor(i,e);Object.defineProperty(n,e,{get:t(r),set:s(o)})},zb=n=>({...n,outputChannelCount:n.outputChannelCount!==void 0?n.outputChannelCount:n.numberOfInputs===1&&n.numberOfOutputs===1?[n.channelCount]:Array.from({length:n.numberOfOutputs},()=>1)}),Hb=n=>({...n,channelCount:n.numberOfOutputs}),Gb=n=>{const{imag:e,real:t}=n;return e===void 0?t===void 0?{...n,imag:[0,0],real:[0,0]}:{...n,imag:Array.from(t,()=>0),real:t}:t===void 0?{...n,imag:e,real:Array.from(e,()=>0)}:{...n,imag:e,real:t}},Qf=(n,e,t)=>{try{n.setValueAtTime(e,t)}catch(s){if(s.code!==9)throw s;Qf(n,e,t+1e-7)}},Kb=n=>{const e=n.createBufferSource();e.start();try{e.start()}catch{return!0}return!1},Yb=n=>{const e=n.createBufferSource(),t=n.createBuffer(1,1,44100);e.buffer=t;try{e.start(0,1)}catch{return!1}return!0},Zb=n=>{const e=n.createBufferSource();e.start();try{e.stop()}catch{return!1}return!0},Vl=n=>{const e=n.createOscillator();try{e.start(-1)}catch(t){return t instanceof RangeError}return!1},Jf=n=>{const e=n.createBuffer(1,1,44100),t=n.createBufferSource();t.buffer=e,t.start(),t.stop();try{return t.stop(),!0}catch{return!1}},Ll=n=>{const e=n.createOscillator();try{e.stop(-1)}catch(t){return t instanceof RangeError}return!1},Xb=n=>{const{port1:e,port2:t}=new MessageChannel;try{e.postMessage(n)}finally{e.close(),t.close()}},Qb=n=>{n.start=(e=>(t=0,s=0,i)=>{const r=n.buffer,o=r===null?s:Math.min(r.duration,s);r!==null&&o>r.duration-.5/n.context.sampleRate?e.call(n,t,0,0):e.call(n,t,o,i)})(n.start)},ep=(n,e)=>{const t=e.createGain();n.connect(t);const s=(i=>()=>{i.call(n,t),n.removeEventListener("ended",s)})(n.disconnect);n.addEventListener("ended",s),Ki(n,t),n.stop=(i=>{let r=!1;return(o=0)=>{if(r)try{i.call(n,o)}catch{t.gain.setValueAtTime(0,o)}else i.call(n,o),r=!0}})(n.stop)},Yi=(n,e)=>t=>{const s={value:n};return Object.defineProperties(t,{currentTarget:s,target:s}),typeof e=="function"?e.call(n,t):e.handleEvent.call(n,t)},Jb=v1(ti),ew=S1(ti),tw=Fy(Fa),tp=new WeakMap,nw=tv(tp),cn=fy(new Map,new WeakMap),Sn=Bb(),np=Ov(cn,Nn),Bl=ev(Et),gt=Eb(Et,Bl,Ys),sw=k1(np,Ge,gt),ze=iv($a),Yn=ib(Sn),je=wv(Yn),sp=new WeakMap,ip=Gy(Yi),Qr=Pv(Sn),ql=_v(Qr),Ul=yv(Sn),rp=vv(Sn),Tr=Fv(Sn),nt=ty(b1(If),E1(Jb,ew,Uo,tw,jo,Et,nw,zr,Ge,ti,Vn,Ys,Eo),cn,dv(Lc,jo,Et,Ge,wr,Vn),Nn,Va,Ct,Ry(Uo,Lc,Et,Ge,wr,ze,Vn,je),By(sp,Et,rn),ip,ze,ql,Ul,rp,je,Tr),iw=M1(nt,sw,Nn,np,ze,je),jl=new WeakSet,bh=Iv(Sn),op=Cy(new Uint32Array(1)),Wl=qb(op,Nn),zl=Ub(op),ap=I1(jl,cn,Ct,bh,Yn,Rb(bh),Wl,zl),La=C1(It),cp=Sb(Bl,Gr,Ys),Mn=by(cp),Zi=Dv(La,cn,Kb,Yb,Zb,Vl,Jf,Ll,Qb,jb(Xr),ep),kn=Tb(nv(Gr),cp),rw=P1(Mn,Zi,Ge,kn,gt),ln=ny(w1(Rf),sp,Il,sy,f1,p1,m1,g1,_1,$c,kf,Qr,Qf),ow=D1(nt,rw,ln,ft,Zi,ze,je,Yi),aw=W1(nt,z1,Nn,ft,$v(It,Xr),ze,je,gt),cw=dy(Mn,Gf,Ge,kn,gt),ni=Nb(tp),lw=hy(nt,ln,cw,Va,Gf,ze,je,ni),ws=Mv(ti,Ul),uw=Wb(ft,ws),xs=Wv(Qr,uw),hw=gy(xs,Ge,gt),dw=my(nt,hw,xs,ze,je),fw=vy(Yr,Ge,gt),pw=yy(nt,fw,Yr,ze,je,Hb),mw=Gv(La,Zi,It,ws),Xi=Hv(La,cn,mw,Vl,Ll),gw=Sy(Mn,Xi,Ge,kn,gt),_w=Ey(nt,ln,gw,Xi,ze,je,Yi),lp=Kv(Ct,Xr),yw=My(lp,Ge,gt),vw=Ny(nt,yw,lp,ze,je,ni),bw=$y(Mn,Kf,Ge,kn,gt),ww=Py(nt,ln,bw,Kf,ze,je,ni),up=Yv(Ct),xw=Wy(Mn,up,Ge,kn,gt),Tw=jy(nt,ln,xw,up,Ct,ze,je,ni),Ew=Qy(Mn,It,Ge,kn,gt),Sw=Xy(nt,ln,Ew,It,ze,je),Cw=Jv(Va,ft,Zr,Ct),Ba=Cb(cn,It,Zr,Pb(It,Yn)),Aw=hv(Zi,Ge,Yn,gt,Ba),Nw=Zv(Cw),Mw=lv(nt,Nw,Aw,ze,je,ni),kw=H1(ln,xs,Xi,Zr,Ct,Zf,je,Xr),hp=new WeakMap,Ow=Nv(aw,kw,ip,je,hp,Yi),dp=rb(La,cn,Vl,Jf,Ll,ep),Iw=_b(Mn,dp,Ge,kn,gt),Rw=gb(nt,ln,dp,Iw,ze,je,Yi),fp=xy(Zi),Dw=db(fp,ft,It,Xf,ws),qa=hb(fp,ft,Dw,Xf,ws,Qr,Xr),Pw=ab(Uo,ft,xs,It,Zr,qa,Ct,jo,Zf,ws),pp=ob(Pw),$w=bb(Mn,xs,Xi,It,pp,Ge,Yn,kn,gt,Ba),Fw=vb(nt,ln,pp,$w,ze,je,ni),Vw=cb(Nn),Lw=xb(Vw,ze,new WeakSet,Gb),Bw=ub(xs,Yr,It,qa,Ct,ws),mp=lb(Bw,Ct),qw=Ib(Mn,mp,Ge,kn,gt),Uw=Ob(nt,ln,mp,qw,ze,je),jw=Lb(qa,Ge,gt),Ww=Vb(nt,ft,qa,jw,ze,je,ni),gp=xv(Sn),Hl=Ky(Sn),_p=new WeakMap,zw=rv(_p,Yn),Hw=gp?T1(cn,Ct,Hy(Sn),Hl,Yy(y1),ze,zw,je,Tr,new WeakMap,new WeakMap,Db(Tr,Yn),Sn):void 0,Gw=bv(ql,je),Kw=Iy(jl,cn,Oy,zy,new WeakSet,ze,Gw,Bo,xr,Wl,zl),yp=ly(Hw,iw,ap,ow,lw,dw,pw,_w,vw,Kw,ww,Tw,Sw,Mw,Ow,Rw,Fw,Lw,Uw,Ww),Yw=Tv(nt,eb,ze,je),Zw=Sv(nt,tb,ze,je),Xw=Cv(nt,nb,ze,je),Qw=sb(ft,je),Jw=Av(nt,Qw,ze),e2=j1(yp,ft,Ct,$b,Yw,Zw,Xw,Jw,Qr),Gl=ov(hp),t2=A1(Gl),vp=wy(Nn),n2=Vy(Gl),bp=qy(Nn),wp=new WeakMap,s2=Jy(wp,rn),i2=jv(vp,Nn,ft,xs,Yr,Xi,It,Zr,Ct,bp,Hl,s2,ws),r2=Lv(ft,i2,It,Ct,ws),o2=cy(Mn,vp,Zi,xs,Yr,Xi,It,n2,bp,Hl,Ge,Tr,Yn,kn,gt,Ba),a2=sv(_p),c2=Ab(wp),wh=gp?ry(t2,nt,ln,o2,r2,Et,a2,ze,je,Tr,zb,c2,Xb,Yi):void 0,l2=ky(Ct,Yn),u2=Mb(jl,cn,Bl,Gl,Ba,Bo,Wl,zl),h2=pb(yp,cn,ft,l2,u2),d2=fv($a,ql),f2=pv(Ol,Ul),p2=mv(Il,rp),m2=gv($a,je);function $t(n){return typeof n>"u"}function Ce(n){return!$t(n)}function g2(n){return typeof n=="function"}function Bn(n){return typeof n=="number"}function Us(n){return Object.prototype.toString.call(n)==="[object Object]"&&n.constructor===Object}function _2(n){return typeof n=="boolean"}function Ft(n){return Array.isArray(n)}function qn(n){return typeof n=="string"}function po(n){return qn(n)&&/^([a-g]{1}(?:b|#|x|bb)?)(-?[0-9]+)/i.test(n)}function pe(n,e){if(!n)throw new Error(e)}function on(n,e,t=1/0){if(!(e<=n&&n<=t))throw new RangeError(`Value must be within [${e}, ${t}], got: ${n}`)}function xp(n){!n.isOffline&&n.state!=="running"&&Ua('The AudioContext is "suspended". Invoke Tone.start() from a user action to start the audio.')}let Tp=!1,xh=!1;function Th(n){Tp=n}function y2(n){$t(n)&&Tp&&!xh&&(xh=!0,Ua("Events scheduled inside of scheduled callbacks should use the passed in scheduling time. See https://github.com/Tonejs/Tone.js/wiki/Accurate-Timing"))}let Ep=console;function v2(...n){Ep.log(...n)}function Ua(...n){Ep.warn(...n)}function b2(n){return new e2(n)}function w2(n,e,t){return new h2(n,e,t)}const js=typeof self=="object"?self:null,x2=js&&(js.hasOwnProperty("AudioContext")||js.hasOwnProperty("webkitAudioContext"));function T2(n,e,t){return pe(Ce(wh),"This node only works in a secure context (https or localhost)"),new wh(n,e,t)}function un(n,e,t,s){var i=arguments.length,r=i<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,t):s,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(n,e,t,s);else for(var a=n.length-1;a>=0;a--)(o=n[a])&&(r=(i<3?o(r):i>3?o(e,t,r):o(e,t))||r);return i>3&&r&&Object.defineProperty(e,t,r),r}function tt(n,e,t,s){function i(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?r(u.value):i(u.value).then(a,c)}l((s=s.apply(n,e||[])).next())})}class E2{constructor(e,t,s,i){this._callback=e,this._type=t,this._minimumUpdateInterval=Math.max(128/(i||44100),.001),this.updateInterval=s,this._createClock()}_createWorker(){const e=new Blob([` + // the initial timeout time + let timeoutTime = ${(this._updateInterval*1e3).toFixed(1)}; + // onmessage callback + self.onmessage = function(msg){ + timeoutTime = parseInt(msg.data); + }; + // the tick function which posts a message + // and schedules a new tick + function tick(){ + setTimeout(tick, timeoutTime); + self.postMessage('tick'); + } + // call tick initially + tick(); + `],{type:"text/javascript"}),t=URL.createObjectURL(e),s=new Worker(t);s.onmessage=this._callback.bind(this),this._worker=s}_createTimeout(){this._timeout=setTimeout(()=>{this._createTimeout(),this._callback()},this._updateInterval*1e3)}_createClock(){if(this._type==="worker")try{this._createWorker()}catch{this._type="timeout",this._createClock()}else this._type==="timeout"&&this._createTimeout()}_disposeClock(){this._timeout&&clearTimeout(this._timeout),this._worker&&(this._worker.terminate(),this._worker.onmessage=null)}get updateInterval(){return this._updateInterval}set updateInterval(e){var t;this._updateInterval=Math.max(e,this._minimumUpdateInterval),this._type==="worker"&&((t=this._worker)===null||t===void 0||t.postMessage(this._updateInterval*1e3))}get type(){return this._type}set type(e){this._disposeClock(),this._type=e,this._createClock()}dispose(){this._disposeClock()}}function Zs(n){return p2(n)}function ps(n){return f2(n)}function So(n){return m2(n)}function di(n){return d2(n)}function S2(n){return n instanceof ap}function C2(n,e){return n==="value"||Zs(e)||ps(e)||S2(e)}function Ws(n,...e){if(!e.length)return n;const t=e.shift();if(Us(n)&&Us(t))for(const s in t)C2(s,t[s])?n[s]=t[s]:Us(t[s])?(n[s]||Object.assign(n,{[s]:{}}),Ws(n[s],t[s])):Object.assign(n,{[s]:t[s]});return Ws(n,...e)}function A2(n,e){return n.length===e.length&&n.every((t,s)=>e[s]===t)}function W(n,e,t=[],s){const i={},r=Array.from(e);if(Us(r[0])&&s&&!Reflect.has(r[0],s)&&(Object.keys(r[0]).some(a=>Reflect.has(n,a))||(Ws(i,{[s]:r[0]}),t.splice(t.indexOf(s),1),r.shift())),r.length===1&&Us(r[0]))Ws(i,r[0]);else for(let o=0;o{Reflect.has(n,t)&&delete n[t]}),n}/** + * Tone.js + * @author Yotam Mann + * @license http://opensource.org/licenses/MIT MIT License + * @copyright 2014-2019 Yotam Mann + */class Zn{constructor(){this.debug=!1,this._wasDisposed=!1}static getDefaults(){return{}}log(...e){(this.debug||js&&this.toString()===js.TONE_DEBUG_CLASS)&&v2(this,...e)}dispose(){return this._wasDisposed=!0,this}get disposed(){return this._wasDisposed}toString(){return this.name}}Zn.version=Mf;const Kl=1e-6;function Ii(n,e){return n>e+Kl}function Wc(n,e){return Ii(n,e)||Zt(n,e)}function Go(n,e){return n+Klthis.memory){const t=this.length-this.memory;this._timeline.splice(0,t)}return this}remove(e){const t=this._timeline.indexOf(e);return t!==-1&&this._timeline.splice(t,1),this}get(e,t="time"){const s=this._search(e,t);return s!==-1?this._timeline[s]:null}peek(){return this._timeline[0]}shift(){return this._timeline.shift()}getAfter(e,t="time"){const s=this._search(e,t);return s+10&&this._timeline[t-1].time=0?this._timeline[s-1]:null}cancel(e){if(this._timeline.length>1){let t=this._search(e);if(t>=0)if(Zt(this._timeline[t].time,e)){for(let s=t;s>=0&&Zt(this._timeline[s].time,e);s--)t=s;this._timeline=this._timeline.slice(0,t)}else this._timeline=this._timeline.slice(0,t+1);else this._timeline=[]}else this._timeline.length===1&&Wc(this._timeline[0].time,e)&&(this._timeline=[]);return this}cancelBefore(e){const t=this._search(e);return t>=0&&(this._timeline=this._timeline.slice(t+1)),this}previousEvent(e){const t=this._timeline.indexOf(e);return t>0?this._timeline[t-1]:null}_search(e,t="time"){if(this._timeline.length===0)return-1;let s=0;const i=this._timeline.length;let r=i;if(i>0&&this._timeline[i-1][t]<=e)return i-1;for(;s=0&&this._timeline[s].time>=e;)s--;return this._iterate(t,s+1),this}forEachAtTime(e,t){const s=this._search(e);if(s!==-1&&Zt(this._timeline[s].time,e)){let i=s;for(let r=s;r>=0&&Zt(this._timeline[r].time,e);r--)i=r;this._iterate(r=>{t(r)},i,s)}return this}dispose(){return super.dispose(),this._timeline=[],this}}const Sp=[];function ja(n){Sp.push(n)}function k2(n){Sp.forEach(e=>e(n))}const Cp=[];function Wa(n){Cp.push(n)}function O2(n){Cp.forEach(e=>e(n))}class Jr extends Zn{constructor(){super(...arguments),this.name="Emitter"}on(e,t){return e.split(/\W+/).forEach(i=>{$t(this._events)&&(this._events={}),this._events.hasOwnProperty(i)||(this._events[i]=[]),this._events[i].push(t)}),this}once(e,t){const s=(...i)=>{t(...i),this.off(e,s)};return this.on(e,s),this}off(e,t){return e.split(/\W+/).forEach(i=>{if($t(this._events)&&(this._events={}),this._events.hasOwnProperty(i))if($t(t))this._events[i]=[];else{const r=this._events[i];for(let o=r.length-1;o>=0;o--)r[o]===t&&r.splice(o,1)}}),this}emit(e,...t){if(this._events&&this._events.hasOwnProperty(e)){const s=this._events[e].slice(0);for(let i=0,r=s.length;i{const s=Object.getOwnPropertyDescriptor(Jr.prototype,t);Object.defineProperty(e.prototype,t,s)})}dispose(){return super.dispose(),this._events=void 0,this}}class Ap extends Jr{constructor(){super(...arguments),this.isOffline=!1}toJSON(){return{}}}class eo extends Ap{constructor(){var e,t;super(),this.name="Context",this._constants=new Map,this._timeouts=new zt,this._timeoutIds=0,this._initialized=!1,this._closeStarted=!1,this.isOffline=!1,this._workletPromise=null;const s=W(eo.getDefaults(),arguments,["context"]);s.context?(this._context=s.context,this._latencyHint=((e=arguments[0])===null||e===void 0?void 0:e.latencyHint)||""):(this._context=b2({latencyHint:s.latencyHint}),this._latencyHint=s.latencyHint),this._ticker=new E2(this.emit.bind(this,"tick"),s.clockSource,s.updateInterval,this._context.sampleRate),this.on("tick",this._timeoutLoop.bind(this)),this._context.onstatechange=()=>{this.emit("statechange",this.state)},this[!((t=arguments[0])===null||t===void 0)&&t.hasOwnProperty("updateInterval")?"_lookAhead":"lookAhead"]=s.lookAhead}static getDefaults(){return{clockSource:"worker",latencyHint:"interactive",lookAhead:.1,updateInterval:.05}}initialize(){return this._initialized||(k2(this),this._initialized=!0),this}createAnalyser(){return this._context.createAnalyser()}createOscillator(){return this._context.createOscillator()}createBufferSource(){return this._context.createBufferSource()}createBiquadFilter(){return this._context.createBiquadFilter()}createBuffer(e,t,s){return this._context.createBuffer(e,t,s)}createChannelMerger(e){return this._context.createChannelMerger(e)}createChannelSplitter(e){return this._context.createChannelSplitter(e)}createConstantSource(){return this._context.createConstantSource()}createConvolver(){return this._context.createConvolver()}createDelay(e){return this._context.createDelay(e)}createDynamicsCompressor(){return this._context.createDynamicsCompressor()}createGain(){return this._context.createGain()}createIIRFilter(e,t){return this._context.createIIRFilter(e,t)}createPanner(){return this._context.createPanner()}createPeriodicWave(e,t,s){return this._context.createPeriodicWave(e,t,s)}createStereoPanner(){return this._context.createStereoPanner()}createWaveShaper(){return this._context.createWaveShaper()}createMediaStreamSource(e){return pe(di(this._context),"Not available if OfflineAudioContext"),this._context.createMediaStreamSource(e)}createMediaElementSource(e){return pe(di(this._context),"Not available if OfflineAudioContext"),this._context.createMediaElementSource(e)}createMediaStreamDestination(){return pe(di(this._context),"Not available if OfflineAudioContext"),this._context.createMediaStreamDestination()}decodeAudioData(e){return this._context.decodeAudioData(e)}get currentTime(){return this._context.currentTime}get state(){return this._context.state}get sampleRate(){return this._context.sampleRate}get listener(){return this.initialize(),this._listener}set listener(e){pe(!this._initialized,"The listener cannot be set after initialization."),this._listener=e}get transport(){return this.initialize(),this._transport}set transport(e){pe(!this._initialized,"The transport cannot be set after initialization."),this._transport=e}get draw(){return this.initialize(),this._draw}set draw(e){pe(!this._initialized,"Draw cannot be set after initialization."),this._draw=e}get destination(){return this.initialize(),this._destination}set destination(e){pe(!this._initialized,"The destination cannot be set after initialization."),this._destination=e}createAudioWorkletNode(e,t){return T2(this.rawContext,e,t)}addAudioWorkletModule(e){return tt(this,void 0,void 0,function*(){pe(Ce(this.rawContext.audioWorklet),"AudioWorkletNode is only available in a secure context (https or localhost)"),this._workletPromise||(this._workletPromise=this.rawContext.audioWorklet.addModule(e)),yield this._workletPromise})}workletsAreReady(){return tt(this,void 0,void 0,function*(){(yield this._workletPromise)?this._workletPromise:Promise.resolve()})}get updateInterval(){return this._ticker.updateInterval}set updateInterval(e){this._ticker.updateInterval=e}get clockSource(){return this._ticker.type}set clockSource(e){this._ticker.type=e}get lookAhead(){return this._lookAhead}set lookAhead(e){this._lookAhead=e,this.updateInterval=e?e/2:.01}get latencyHint(){return this._latencyHint}get rawContext(){return this._context}now(){return this._context.currentTime+this._lookAhead}immediate(){return this._context.currentTime}resume(){return di(this._context)?this._context.resume():Promise.resolve()}close(){return tt(this,void 0,void 0,function*(){di(this._context)&&this.state!=="closed"&&!this._closeStarted&&(this._closeStarted=!0,yield this._context.close()),this._initialized&&O2(this)})}getConstant(e){if(this._constants.has(e))return this._constants.get(e);{const t=this._context.createBuffer(1,128,this._context.sampleRate),s=t.getChannelData(0);for(let r=0;rthis._constants[e].disconnect()),this.close(),this}_timeoutLoop(){const e=this.now();let t=this._timeouts.peek();for(;this._timeouts.length&&t&&t.time<=e;)t.callback(),this._timeouts.shift(),t=this._timeouts.peek()}setTimeout(e,t){this._timeoutIds++;const s=this.now();return this._timeouts.add({callback:e,id:this._timeoutIds,time:s+t}),this._timeoutIds}clearTimeout(e){return this._timeouts.forEach(t=>{t.id===e&&this._timeouts.remove(t)}),this}clearInterval(e){return this.clearTimeout(e)}setInterval(e,t){const s=++this._timeoutIds,i=()=>{const r=this.now();this._timeouts.add({callback:()=>{e(),i()},id:s,time:r+t})};return i(),s}}class I2 extends Ap{constructor(){super(...arguments),this.lookAhead=0,this.latencyHint=0,this.isOffline=!1}createAnalyser(){return{}}createOscillator(){return{}}createBufferSource(){return{}}createBiquadFilter(){return{}}createBuffer(e,t,s){return{}}createChannelMerger(e){return{}}createChannelSplitter(e){return{}}createConstantSource(){return{}}createConvolver(){return{}}createDelay(e){return{}}createDynamicsCompressor(){return{}}createGain(){return{}}createIIRFilter(e,t){return{}}createPanner(){return{}}createPeriodicWave(e,t,s){return{}}createStereoPanner(){return{}}createWaveShaper(){return{}}createMediaStreamSource(e){return{}}createMediaElementSource(e){return{}}createMediaStreamDestination(){return{}}decodeAudioData(e){return Promise.resolve({})}createAudioWorkletNode(e,t){return{}}get rawContext(){return{}}addAudioWorkletModule(e){return tt(this,void 0,void 0,function*(){return Promise.resolve()})}resume(){return Promise.resolve()}setTimeout(e,t){return 0}clearTimeout(e){return this}setInterval(e,t){return 0}clearInterval(e){return this}getConstant(e){return{}}get currentTime(){return 0}get state(){return{}}get sampleRate(){return 0}get listener(){return{}}get transport(){return{}}get draw(){return{}}set draw(e){}get destination(){return{}}set destination(e){}now(){return 0}immediate(){return 0}}function ke(n,e){Ft(e)?e.forEach(t=>ke(n,t)):Object.defineProperty(n,e,{enumerable:!0,writable:!1})}function Yl(n,e){Ft(e)?e.forEach(t=>Yl(n,t)):Object.defineProperty(n,e,{writable:!0})}const Fe=()=>{};class Le extends Zn{constructor(){super(),this.name="ToneAudioBuffer",this.onload=Fe;const e=W(Le.getDefaults(),arguments,["url","onload","onerror"]);this.reverse=e.reverse,this.onload=e.onload,qn(e.url)?this.load(e.url).catch(e.onerror):e.url&&this.set(e.url)}static getDefaults(){return{onerror:Fe,onload:Fe,reverse:!1}}get sampleRate(){return this._buffer?this._buffer.sampleRate:Pt().sampleRate}set(e){return e instanceof Le?e.loaded?this._buffer=e.get():e.onload=()=>{this.set(e),this.onload(this)}:this._buffer=e,this._reversed&&this._reverse(),this}get(){return this._buffer}load(e){return tt(this,void 0,void 0,function*(){const t=Le.load(e).then(s=>{this.set(s),this.onload(this)});Le.downloads.push(t);try{yield t}finally{const s=Le.downloads.indexOf(t);Le.downloads.splice(s,1)}return this})}dispose(){return super.dispose(),this._buffer=void 0,this}fromArray(e){const t=Ft(e)&&e[0].length>0,s=t?e.length:1,i=t?e[0].length:e.length,r=Pt(),o=r.createBuffer(s,i,r.sampleRate),a=!t&&s===1?[e]:e;for(let c=0;ci/s),this.fromArray(t)}return this}toArray(e){if(Bn(e))return this.getChannelData(e);if(this.numberOfChannels===1)return this.toArray(0);{const t=[];for(let s=0;s0}get duration(){return this._buffer?this._buffer.duration:0}get length(){return this._buffer?this._buffer.length:0}get numberOfChannels(){return this._buffer?this._buffer.numberOfChannels:0}get reverse(){return this._reversed}set reverse(e){this._reversed!==e&&(this._reversed=e,this._reverse())}static fromArray(e){return new Le().fromArray(e)}static fromUrl(e){return tt(this,void 0,void 0,function*(){return yield new Le().load(e)})}static load(e){return tt(this,void 0,void 0,function*(){const t=e.match(/\[([^\]\[]+\|.+)\]$/);if(t){const c=t[1].split("|");let l=c[0];for(const u of c)if(Le.supportsType(u)){l=u;break}e=e.replace(t[0],l)}const s=Le.baseUrl===""||Le.baseUrl.endsWith("/")?Le.baseUrl:Le.baseUrl+"/",i=document.createElement("a");i.href=s+e,i.pathname=(i.pathname+i.hash).split("/").map(encodeURIComponent).join("/");const r=yield fetch(i.href);if(!r.ok)throw new Error(`could not load url: ${e}`);const o=yield r.arrayBuffer();return yield Pt().decodeAudioData(o)})}static supportsType(e){const t=e.split("."),s=t[t.length-1];return document.createElement("audio").canPlayType("audio/"+s)!==""}static loaded(){return tt(this,void 0,void 0,function*(){for(yield Promise.resolve();Le.downloads.length;)yield Le.downloads[0]})}}Le.baseUrl="";Le.downloads=[];class za extends eo{constructor(){super({clockSource:"offline",context:So(arguments[0])?arguments[0]:w2(arguments[0],arguments[1]*arguments[2],arguments[2]),lookAhead:0,updateInterval:So(arguments[0])?128/arguments[0].sampleRate:128/arguments[2]}),this.name="OfflineContext",this._currentTime=0,this.isOffline=!0,this._duration=So(arguments[0])?arguments[0].length/arguments[0].sampleRate:arguments[1]}now(){return this._currentTime}get currentTime(){return this._currentTime}_renderClock(e){return tt(this,void 0,void 0,function*(){let t=0;for(;this._duration-this._currentTime>=0;){this.emit("tick"),this._currentTime+=128/this.sampleRate,t++;const s=Math.floor(this.sampleRate/128);e&&t%s===0&&(yield new Promise(i=>setTimeout(i,1)))}})}render(e=!0){return tt(this,void 0,void 0,function*(){yield this.workletsAreReady(),yield this._renderClock(e);const t=yield this._context.startRendering();return new Le(t)})}close(){return Promise.resolve()}}const Np=new I2;let Fs=Np;function Pt(){return Fs===Np&&x2&&R2(new eo),Fs}function R2(n,e=!1){e&&Fs.dispose(),di(n)?Fs=new eo(n):So(n)?Fs=new za(n):Fs=n}function D2(){return Fs.resume()}if(js&&!js.TONE_SILENCE_LOGGING){const e=` * Tone.js v${Mf} * `;console.log(`%c${e}`,"background: #000; color: #fff")}function P2(n){return Math.pow(10,n/20)}function $2(n){return 20*(Math.log(n)/Math.LN10)}function Mp(n){return Math.pow(2,n/12)}let Ha=440;function F2(){return Ha}function V2(n){Ha=n}function Vs(n){return Math.round(kp(n))}function kp(n){return 69+12*Math.log2(n/Ha)}function Op(n){return Ha*Math.pow(2,(n-69)/12)}class Zl extends Zn{constructor(e,t,s){super(),this.defaultUnits="s",this._val=t,this._units=s,this.context=e,this._expressions=this._getExpressions()}_getExpressions(){return{hz:{method:e=>this._frequencyToUnits(parseFloat(e)),regexp:/^(\d+(?:\.\d+)?)hz$/i},i:{method:e=>this._ticksToUnits(parseInt(e,10)),regexp:/^(\d+)i$/i},m:{method:e=>this._beatsToUnits(parseInt(e,10)*this._getTimeSignature()),regexp:/^(\d+)m$/i},n:{method:(e,t)=>{const s=parseInt(e,10),i=t==="."?1.5:1;return s===1?this._beatsToUnits(this._getTimeSignature())*i:this._beatsToUnits(4/s)*i},regexp:/^(\d+)n(\.?)$/i},number:{method:e=>this._expressions[this.defaultUnits].method.call(this,e),regexp:/^(\d+(?:\.\d+)?)$/},s:{method:e=>this._secondsToUnits(parseFloat(e)),regexp:/^(\d+(?:\.\d+)?)s$/},samples:{method:e=>parseInt(e,10)/this.context.sampleRate,regexp:/^(\d+)samples$/},t:{method:e=>{const t=parseInt(e,10);return this._beatsToUnits(8/(Math.floor(t)*3))},regexp:/^(\d+)t$/i},tr:{method:(e,t,s)=>{let i=0;return e&&e!=="0"&&(i+=this._beatsToUnits(this._getTimeSignature()*parseFloat(e))),t&&t!=="0"&&(i+=this._beatsToUnits(parseFloat(t))),s&&s!=="0"&&(i+=this._beatsToUnits(parseFloat(s)/4)),i},regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?$/}}}valueOf(){if(this._val instanceof Zl&&this.fromType(this._val),$t(this._val))return this._noArg();if(qn(this._val)&&$t(this._units)){for(const e in this._expressions)if(this._expressions[e].regexp.test(this._val.trim())){this._units=e;break}}else if(Us(this._val)){let e=0;for(const t in this._val)if(Ce(this._val[t])){const s=this._val[t],i=new this.constructor(this.context,t).valueOf()*s;e+=i}return e}if(Ce(this._units)){const e=this._expressions[this._units],t=this._val.toString().trim().match(e.regexp);return t?e.method.apply(this,t.slice(1)):e.method.call(this,this._val)}else return qn(this._val)?parseFloat(this._val):this._val}_frequencyToUnits(e){return 1/e}_beatsToUnits(e){return 60/this._getBpm()*e}_secondsToUnits(e){return e}_ticksToUnits(e){return e*this._beatsToUnits(1)/this._getPPQ()}_noArg(){return this._now()}_getBpm(){return this.context.transport.bpm.value}_getTimeSignature(){return this.context.transport.timeSignature}_getPPQ(){return this.context.transport.PPQ}fromType(e){switch(this._units=void 0,this.defaultUnits){case"s":this._val=e.toSeconds();break;case"i":this._val=e.toTicks();break;case"hz":this._val=e.toFrequency();break;case"midi":this._val=e.toMidi();break}return this}toFrequency(){return 1/this.toSeconds()}toSamples(){return this.toSeconds()*this.context.sampleRate}toMilliseconds(){return this.toSeconds()*1e3}}class Jt extends Zl{constructor(){super(...arguments),this.name="TimeClass"}_getExpressions(){return Object.assign(super._getExpressions(),{now:{method:e=>this._now()+new this.constructor(this.context,e).valueOf(),regexp:/^\+(.+)/},quantize:{method:e=>{const t=new Jt(this.context,e).valueOf();return this._secondsToUnits(this.context.transport.nextSubdivision(t))},regexp:/^@(.+)/}})}quantize(e,t=1){const s=new this.constructor(this.context,e).valueOf(),i=this.valueOf(),a=Math.round(i/s)*s-i;return i+a*t}toNotation(){const e=this.toSeconds(),t=["1m"];for(let r=1;r<9;r++){const o=Math.pow(2,r);t.push(o+"n."),t.push(o+"n"),t.push(o+"t")}t.push("0");let s=t[0],i=new Jt(this.context,t[0]).toSeconds();return t.forEach(r=>{const o=new Jt(this.context,r).toSeconds();Math.abs(o-e)3&&(i=parseFloat(parseFloat(r).toFixed(3))),[s,t,i].join(":")}toTicks(){const e=this._beatsToUnits(1);return this.valueOf()/e*this._getPPQ()}toSeconds(){return this.valueOf()}toMidi(){return Vs(this.toFrequency())}_now(){return this.context.now()}}class Mt extends Jt{constructor(){super(...arguments),this.name="Frequency",this.defaultUnits="hz"}static get A4(){return F2()}static set A4(e){V2(e)}_getExpressions(){return Object.assign({},super._getExpressions(),{midi:{regexp:/^(\d+(?:\.\d+)?midi)/,method(e){return this.defaultUnits==="midi"?e:Mt.mtof(e)}},note:{regexp:/^([a-g]{1}(?:b|#|##|x|bb|###|#x|x#|bbb)?)(-?[0-9]+)/i,method(e,t){const i=L2[e.toLowerCase()]+(parseInt(t,10)+1)*12;return this.defaultUnits==="midi"?i:Mt.mtof(i)}},tr:{regexp:/^(\d+(?:\.\d+)?):(\d+(?:\.\d+)?):?(\d+(?:\.\d+)?)?/,method(e,t,s){let i=1;return e&&e!=="0"&&(i*=this._beatsToUnits(this._getTimeSignature()*parseFloat(e))),t&&t!=="0"&&(i*=this._beatsToUnits(parseFloat(t))),s&&s!=="0"&&(i*=this._beatsToUnits(parseFloat(s)/4)),i}}})}transpose(e){return new Mt(this.context,this.valueOf()*Mp(e))}harmonize(e){return e.map(t=>this.transpose(t))}toMidi(){return Vs(this.valueOf())}toNote(){const e=this.toFrequency(),t=Math.log2(e/Mt.A4);let s=Math.round(12*t)+57;const i=Math.floor(s/12);return i<0&&(s+=-12*i),B2[s%12]+i.toString()}toSeconds(){return 1/super.toSeconds()}toTicks(){const e=this._beatsToUnits(1),t=this.valueOf()/e;return Math.floor(t*this._getPPQ())}_noArg(){return 0}_frequencyToUnits(e){return e}_ticksToUnits(e){return 1/(e*60/(this._getBpm()*this._getPPQ()))}_beatsToUnits(e){return 1/super._beatsToUnits(e)}_secondsToUnits(e){return 1/e}static mtof(e){return Op(e)}static ftom(e){return Vs(e)}}const L2={cbbb:-3,cbb:-2,cb:-1,c:0,"c#":1,cx:2,"c##":2,"c###":3,"cx#":3,"c#x":3,dbbb:-1,dbb:0,db:1,d:2,"d#":3,dx:4,"d##":4,"d###":5,"dx#":5,"d#x":5,ebbb:1,ebb:2,eb:3,e:4,"e#":5,ex:6,"e##":6,"e###":7,"ex#":7,"e#x":7,fbbb:2,fbb:3,fb:4,f:5,"f#":6,fx:7,"f##":7,"f###":8,"fx#":8,"f#x":8,gbbb:4,gbb:5,gb:6,g:7,"g#":8,gx:9,"g##":9,"g###":10,"gx#":10,"g#x":10,abbb:6,abb:7,ab:8,a:9,"a#":10,ax:11,"a##":11,"a###":12,"ax#":12,"a#x":12,bbbb:8,bbb:9,bb:10,b:11,"b#":12,bx:13,"b##":13,"b###":14,"bx#":14,"b#x":14},B2=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"];function Ip(n,e){return new Mt(Pt(),n,e)}class lr extends Jt{constructor(){super(...arguments),this.name="TransportTime"}_now(){return this.context.transport.seconds}}class kt extends Zn{constructor(){super();const e=W(kt.getDefaults(),arguments,["context"]);this.defaultContext?this.context=this.defaultContext:this.context=e.context}static getDefaults(){return{context:Pt()}}now(){return this.context.currentTime+this.context.lookAhead}immediate(){return this.context.currentTime}get sampleTime(){return 1/this.context.sampleRate}get blockTime(){return 128/this.context.sampleRate}toSeconds(e){return y2(e),new Jt(this.context,e).toSeconds()}toFrequency(e){return new Mt(this.context,e).toFrequency()}toTicks(e){return new lr(this.context,e).toTicks()}_getPartialProperties(e){const t=this.get();return Object.keys(t).forEach(s=>{$t(e[s])&&delete t[s]}),t}get(){const e=N2(this);return Object.keys(e).forEach(t=>{if(Reflect.has(this,t)){const s=this[t];Ce(s)&&Ce(s.value)&&Ce(s.setValueAtTime)?e[t]=s.value:s instanceof kt?e[t]=s._getPartialProperties(e[t]):Ft(s)||Bn(s)||qn(s)||_2(s)?e[t]=s:delete e[t]}}),e}set(e){return Object.keys(e).forEach(t=>{Reflect.has(this,t)&&Ce(this[t])&&(this[t]&&Ce(this[t].value)&&Ce(this[t].setValueAtTime)?this[t].value!==e[t]&&(this[t].value=e[t]):this[t]instanceof kt?this[t].set(e[t]):this[t]=e[t])}),this}}class Xl extends zt{constructor(e="stopped"){super(),this.name="StateTimeline",this._initial=e,this.setStateAtTime(this._initial,0)}getValueAtTime(e){const t=this.get(e);return t!==null?t.state:this._initial}setStateAtTime(e,t,s){return on(t,0),this.add(Object.assign({},s,{state:e,time:t})),this}getLastState(e,t){const s=this._search(t);for(let i=s;i>=0;i--){const r=this._timeline[i];if(r.state===e)return r}}getNextState(e,t){const s=this._search(t);if(s!==-1)for(let i=s;i0,"timeConstant must be a number greater than 0");const r=this.toSeconds(t);return this._assertRange(i),pe(isFinite(i)&&isFinite(r),`Invalid argument(s) to setTargetAtTime: ${JSON.stringify(e)}, ${JSON.stringify(t)}`),this._events.add({constant:s,time:r,type:"setTargetAtTime",value:i}),this.log(this.units,"setTargetAtTime",e,r,s),this._param.setTargetAtTime(i,r,s),this}setValueCurveAtTime(e,t,s,i=1){s=this.toSeconds(s),t=this.toSeconds(t);const r=this._fromType(e[0])*i;this.setValueAtTime(this._toType(r),t);const o=s/(e.length-1);for(let a=1;a{i.type==="cancelScheduledValues"?e.cancelScheduledValues(i.time):i.type==="setTargetAtTime"?e.setTargetAtTime(i.value,i.time,i.constant):e[i.type](i.value,i.time)}),this}setParam(e){pe(this._swappable,"The Param must be assigned as 'swappable' in the constructor");const t=this.input;return t.disconnect(this._param),this.apply(e),this._param=e,t.connect(this._param),this}dispose(){return super.dispose(),this._events.dispose(),this}get defaultValue(){return this._toType(this._param.defaultValue)}_exponentialApproach(e,t,s,i,r){return s+(t-s)*Math.exp(-(r-e)/i)}_linearInterpolate(e,t,s,i,r){return t+(i-t)*((r-e)/(s-e))}_exponentialInterpolate(e,t,s,i,r){return t*Math.pow(i/t,(r-e)/(s-e))}}class he extends kt{constructor(){super(...arguments),this._internalChannels=[]}get numberOfInputs(){return Ce(this.input)?Zs(this.input)||this.input instanceof Te?1:this.input.numberOfInputs:0}get numberOfOutputs(){return Ce(this.output)?this.output.numberOfOutputs:0}_isAudioNode(e){return Ce(e)&&(e instanceof he||ps(e))}_getInternalNodes(){const e=this._internalChannels.slice(0);return this._isAudioNode(this.input)&&e.push(this.input),this._isAudioNode(this.output)&&this.input!==this.output&&e.push(this.output),e}_setChannelProperties(e){this._getInternalNodes().forEach(s=>{s.channelCount=e.channelCount,s.channelCountMode=e.channelCountMode,s.channelInterpretation=e.channelInterpretation})}_getChannelProperties(){const e=this._getInternalNodes();pe(e.length>0,"ToneAudioNode does not have any internal nodes");const t=e[0];return{channelCount:t.channelCount,channelCountMode:t.channelCountMode,channelInterpretation:t.channelInterpretation}}get channelCount(){return this._getChannelProperties().channelCount}set channelCount(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelCount:e}))}get channelCountMode(){return this._getChannelProperties().channelCountMode}set channelCountMode(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelCountMode:e}))}get channelInterpretation(){return this._getChannelProperties().channelInterpretation}set channelInterpretation(e){const t=this._getChannelProperties();this._setChannelProperties(Object.assign(t,{channelInterpretation:e}))}connect(e,t=0,s=0){return Un(this,e,t,s),this}toDestination(){return this.connect(this.context.destination),this}toMaster(){return Ua("toMaster() has been renamed toDestination()"),this.toDestination()}disconnect(e,t=0,s=0){return Rp(this,e,t,s),this}chain(...e){return Er(this,...e),this}fan(...e){return e.forEach(t=>this.connect(t)),this}dispose(){return super.dispose(),Ce(this.input)&&(this.input instanceof he?this.input.dispose():ps(this.input)&&this.input.disconnect()),Ce(this.output)&&(this.output instanceof he?this.output.dispose():ps(this.output)&&this.output.disconnect()),this._internalChannels=[],this}}function Er(...n){const e=n.shift();n.reduce((t,s)=>(t instanceof he?t.connect(s):ps(t)&&Un(t,s),s),e)}function Un(n,e,t=0,s=0){for(pe(Ce(n),"Cannot connect from undefined node"),pe(Ce(e),"Cannot connect to undefined node"),(e instanceof he||ps(e))&&pe(e.numberOfInputs>0,"Cannot connect to node with no inputs"),pe(n.numberOfOutputs>0,"Cannot connect from node with no outputs");e instanceof he||e instanceof Te;)Ce(e.input)&&(e=e.input);for(;n instanceof he;)Ce(n.output)&&(n=n.output);Zs(e)?n.connect(e,t):n.connect(e,t,s)}function Rp(n,e,t=0,s=0){if(Ce(e))for(;e instanceof he;)e=e.input;for(;!ps(n);)Ce(n.output)&&(n=n.output);Zs(e)?n.disconnect(e,t):ps(e)?n.disconnect(e,t,s):n.disconnect()}class De extends he{constructor(){super(W(De.getDefaults(),arguments,["gain","units"])),this.name="Gain",this._gainNode=this.context.createGain(),this.input=this._gainNode,this.output=this._gainNode;const e=W(De.getDefaults(),arguments,["gain","units"]);this.gain=new Te({context:this.context,convert:e.convert,param:this._gainNode.gain,units:e.units,value:e.gain,minValue:e.minValue,maxValue:e.maxValue}),ke(this,"gain")}static getDefaults(){return Object.assign(he.getDefaults(),{convert:!0,gain:1,units:"gain"})}dispose(){return super.dispose(),this._gainNode.disconnect(),this.gain.dispose(),this}}class Ri extends he{constructor(e){super(e),this.onended=Fe,this._startTime=-1,this._stopTime=-1,this._timeout=-1,this.output=new De({context:this.context,gain:0}),this._gainNode=this.output,this.getStateAtTime=function(t){const s=this.toSeconds(t);return this._startTime!==-1&&s>=this._startTime&&(this._stopTime===-1||s<=this._stopTime)?"started":"stopped"},this._fadeIn=e.fadeIn,this._fadeOut=e.fadeOut,this._curve=e.curve,this.onended=e.onended}static getDefaults(){return Object.assign(he.getDefaults(),{curve:"linear",fadeIn:0,fadeOut:0,onended:Fe})}_startGain(e,t=1){pe(this._startTime===-1,"Source cannot be started more than once");const s=this.toSeconds(this._fadeIn);return this._startTime=e+s,this._startTime=Math.max(this._startTime,this.context.currentTime),s>0?(this._gainNode.gain.setValueAtTime(0,e),this._curve==="linear"?this._gainNode.gain.linearRampToValueAtTime(t,e+s):this._gainNode.gain.exponentialApproachValueAtTime(t,e,s)):this._gainNode.gain.setValueAtTime(t,e),this}stop(e){return this.log("stop",e),this._stopGain(this.toSeconds(e)),this}_stopGain(e){pe(this._startTime!==-1,"'start' must be called before 'stop'"),this.cancelStop();const t=this.toSeconds(this._fadeOut);return this._stopTime=this.toSeconds(e)+t,this._stopTime=Math.max(this._stopTime,this.now()),t>0?this._curve==="linear"?this._gainNode.gain.linearRampTo(0,t,e):this._gainNode.gain.targetRampTo(0,t,e):(this._gainNode.gain.cancelAndHoldAtTime(e),this._gainNode.gain.setValueAtTime(0,e)),this.context.clearTimeout(this._timeout),this._timeout=this.context.setTimeout(()=>{const s=this._curve==="exponential"?t*2:0;this._stopSource(this.now()+s),this._onended()},this._stopTime-this.context.currentTime),this}_onended(){if(this.onended!==Fe&&(this.onended(this),this.onended=Fe,!this.context.isOffline)){const e=()=>this.dispose();typeof window.requestIdleCallback<"u"?window.requestIdleCallback(e):setTimeout(e,1e3)}}get state(){return this.getStateAtTime(this.now())}cancelStop(){return this.log("cancelStop"),pe(this._startTime!==-1,"Source is not started"),this._gainNode.gain.cancelScheduledValues(this._startTime+this.sampleTime),this.context.clearTimeout(this._timeout),this._stopTime=-1,this}dispose(){return super.dispose(),this._gainNode.dispose(),this.onended=Fe,this}}class Ko extends Ri{constructor(){super(W(Ko.getDefaults(),arguments,["offset"])),this.name="ToneConstantSource",this._source=this.context.createConstantSource();const e=W(Ko.getDefaults(),arguments,["offset"]);Un(this._source,this._gainNode),this.offset=new Te({context:this.context,convert:e.convert,param:this._source.offset,units:e.units,value:e.offset,minValue:e.minValue,maxValue:e.maxValue})}static getDefaults(){return Object.assign(Ri.getDefaults(),{convert:!0,offset:1,units:"number"})}start(e){const t=this.toSeconds(e);return this.log("start",t),this._startGain(t),this._source.start(t),this}_stopSource(e){this._source.stop(e)}dispose(){return super.dispose(),this.state==="started"&&this.stop(),this._source.disconnect(),this.offset.dispose(),this}}class qe extends he{constructor(){super(W(qe.getDefaults(),arguments,["value","units"])),this.name="Signal",this.override=!0;const e=W(qe.getDefaults(),arguments,["value","units"]);this.output=this._constantSource=new Ko({context:this.context,convert:e.convert,offset:e.value,units:e.units,minValue:e.minValue,maxValue:e.maxValue}),this._constantSource.start(0),this.input=this._param=this._constantSource.offset}static getDefaults(){return Object.assign(he.getDefaults(),{convert:!0,units:"number",value:0})}connect(e,t=0,s=0){return Ga(this,e,t,s),this}dispose(){return super.dispose(),this._param.dispose(),this._constantSource.dispose(),this}setValueAtTime(e,t){return this._param.setValueAtTime(e,t),this}getValueAtTime(e){return this._param.getValueAtTime(e)}setRampPoint(e){return this._param.setRampPoint(e),this}linearRampToValueAtTime(e,t){return this._param.linearRampToValueAtTime(e,t),this}exponentialRampToValueAtTime(e,t){return this._param.exponentialRampToValueAtTime(e,t),this}exponentialRampTo(e,t,s){return this._param.exponentialRampTo(e,t,s),this}linearRampTo(e,t,s){return this._param.linearRampTo(e,t,s),this}targetRampTo(e,t,s){return this._param.targetRampTo(e,t,s),this}exponentialApproachValueAtTime(e,t,s){return this._param.exponentialApproachValueAtTime(e,t,s),this}setTargetAtTime(e,t,s){return this._param.setTargetAtTime(e,t,s),this}setValueCurveAtTime(e,t,s,i){return this._param.setValueCurveAtTime(e,t,s,i),this}cancelScheduledValues(e){return this._param.cancelScheduledValues(e),this}cancelAndHoldAtTime(e){return this._param.cancelAndHoldAtTime(e),this}rampTo(e,t,s){return this._param.rampTo(e,t,s),this}get value(){return this._param.value}set value(e){this._param.value=e}get convert(){return this._param.convert}set convert(e){this._param.convert=e}get units(){return this._param.units}get overridden(){return this._param.overridden}set overridden(e){this._param.overridden=e}get maxValue(){return this._param.maxValue}get minValue(){return this._param.minValue}apply(e){return this._param.apply(e),this}}function Ga(n,e,t,s){(e instanceof Te||Zs(e)||e instanceof qe&&e.override)&&(e.cancelScheduledValues(0),e.setValueAtTime(0,0),e instanceof qe&&(e.overridden=!0)),Un(n,e,t,s)}class Yo extends Te{constructor(){super(W(Yo.getDefaults(),arguments,["value"])),this.name="TickParam",this._events=new zt(1/0),this._multiplier=1;const e=W(Yo.getDefaults(),arguments,["value"]);this._multiplier=e.multiplier,this._events.cancel(0),this._events.add({ticks:0,time:0,type:"setValueAtTime",value:this._fromType(e.value)}),this.setValueAtTime(e.value,0)}static getDefaults(){return Object.assign(Te.getDefaults(),{multiplier:1,units:"hertz",value:1})}setTargetAtTime(e,t,s){t=this.toSeconds(t),this.setRampPoint(t);const i=this._fromType(e),r=this._events.get(t),o=Math.round(Math.max(1/s,1));for(let a=0;a<=o;a++){const c=s*a+t,l=this._exponentialApproach(r.time,r.value,i,s,c);this.linearRampToValueAtTime(this._toType(l),c)}return this}setValueAtTime(e,t){const s=this.toSeconds(t);super.setValueAtTime(e,t);const i=this._events.get(s),r=this._events.previousEvent(i),o=this._getTicksUntilEvent(r,s);return i.ticks=Math.max(o,0),this}linearRampToValueAtTime(e,t){const s=this.toSeconds(t);super.linearRampToValueAtTime(e,t);const i=this._events.get(s),r=this._events.previousEvent(i),o=this._getTicksUntilEvent(r,s);return i.ticks=Math.max(o,0),this}exponentialRampToValueAtTime(e,t){t=this.toSeconds(t);const s=this._fromType(e),i=this._events.get(t),r=Math.round(Math.max((t-i.time)*10,1)),o=(t-i.time)/r;for(let a=0;a<=r;a++){const c=o*a+i.time,l=this._exponentialInterpolate(i.time,i.value,t,s,c);this.linearRampToValueAtTime(this._toType(l),c)}return this}_getTicksUntilEvent(e,t){if(e===null)e={ticks:0,time:0,type:"setValueAtTime",value:0};else if($t(e.ticks)){const o=this._events.previousEvent(e);e.ticks=this._getTicksUntilEvent(o,e.time)}const s=this._fromType(this.getValueAtTime(e.time));let i=this._fromType(this.getValueAtTime(t));const r=this._events.get(t);return r&&r.time===t&&r.type==="setValueAtTime"&&(i=this._fromType(this.getValueAtTime(t-this.sampleTime))),.5*(t-e.time)*(s+i)+e.ticks}getTicksAtTime(e){const t=this.toSeconds(e),s=this._events.get(t);return Math.max(this._getTicksUntilEvent(s,t),0)}getDurationOfTicks(e,t){const s=this.toSeconds(t),i=this.getTicksAtTime(t);return this.getTimeOfTick(i+e)-s}getTimeOfTick(e){const t=this._events.get(e,"ticks"),s=this._events.getAfter(e,"ticks");if(t&&t.ticks===e)return t.time;if(t&&s&&s.type==="linearRampToValueAtTime"&&t.value!==s.value){const i=this._fromType(this.getValueAtTime(t.time)),o=(this._fromType(this.getValueAtTime(s.time))-i)/(s.time-t.time),a=Math.sqrt(Math.pow(i,2)-2*o*(t.ticks-e)),c=(-i+a)/o,l=(-i-a)/o;return(c>0?c:l)+t.time}else return t?t.value===0?1/0:t.time+(e-t.ticks)/t.value:e/this._initialValue}ticksToTime(e,t){return this.getDurationOfTicks(e,t)}timeToTicks(e,t){const s=this.toSeconds(t),i=this.toSeconds(e),r=this.getTicksAtTime(s);return this.getTicksAtTime(s+i)-r}_fromType(e){return this.units==="bpm"&&this.multiplier?1/(60/e/this.multiplier):super._fromType(e)}_toType(e){return this.units==="bpm"&&this.multiplier?e/this.multiplier*60:super._toType(e)}get multiplier(){return this._multiplier}set multiplier(e){const t=this.value;this._multiplier=e,this.cancelScheduledValues(0),this.setValueAtTime(t,0)}}class Zo extends qe{constructor(){super(W(Zo.getDefaults(),arguments,["value"])),this.name="TickSignal";const e=W(Zo.getDefaults(),arguments,["value"]);this.input=this._param=new Yo({context:this.context,convert:e.convert,multiplier:e.multiplier,param:this._constantSource.offset,units:e.units,value:e.value})}static getDefaults(){return Object.assign(qe.getDefaults(),{multiplier:1,units:"hertz",value:1})}ticksToTime(e,t){return this._param.ticksToTime(e,t)}timeToTicks(e,t){return this._param.timeToTicks(e,t)}getTimeOfTick(e){return this._param.getTimeOfTick(e)}getDurationOfTicks(e,t){return this._param.getDurationOfTicks(e,t)}getTicksAtTime(e){return this._param.getTicksAtTime(e)}get multiplier(){return this._param.multiplier}set multiplier(e){this._param.multiplier=e}dispose(){return super.dispose(),this._param.dispose(),this}}class Xo extends kt{constructor(){super(W(Xo.getDefaults(),arguments,["frequency"])),this.name="TickSource",this._state=new Xl,this._tickOffset=new zt,this._ticksAtTime=new zt,this._secondsAtTime=new zt;const e=W(Xo.getDefaults(),arguments,["frequency"]);this.frequency=new Zo({context:this.context,units:e.units,value:e.frequency}),ke(this,"frequency"),this._state.setStateAtTime("stopped",0),this.setTicksAtTime(0,0)}static getDefaults(){return Object.assign({frequency:1,units:"hertz"},kt.getDefaults())}get state(){return this.getStateAtTime(this.now())}start(e,t){const s=this.toSeconds(e);return this._state.getValueAtTime(s)!=="started"&&(this._state.setStateAtTime("started",s),Ce(t)&&this.setTicksAtTime(t,s),this._ticksAtTime.cancel(s),this._secondsAtTime.cancel(s)),this}stop(e){const t=this.toSeconds(e);if(this._state.getValueAtTime(t)==="stopped"){const s=this._state.get(t);s&&s.time>0&&(this._tickOffset.cancel(s.time),this._state.cancel(s.time))}return this._state.cancel(t),this._state.setStateAtTime("stopped",t),this.setTicksAtTime(0,t),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t),this}pause(e){const t=this.toSeconds(e);return this._state.getValueAtTime(t)==="started"&&(this._state.setStateAtTime("paused",t),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t)),this}cancel(e){return e=this.toSeconds(e),this._state.cancel(e),this._tickOffset.cancel(e),this._ticksAtTime.cancel(e),this._secondsAtTime.cancel(e),this}getTicksAtTime(e){const t=this.toSeconds(e),s=this._state.getLastState("stopped",t),i=this._ticksAtTime.get(t),r={state:"paused",time:t};this._state.add(r);let o=i||s,a=i?i.ticks:0,c=null;return this._state.forEachBetween(o.time,t+this.sampleTime,l=>{let u=o.time;const h=this._tickOffset.get(l.time);h&&h.time>=o.time&&(a=h.ticks,u=h.time),o.state==="started"&&l.state!=="started"&&(a+=this.frequency.getTicksAtTime(l.time)-this.frequency.getTicksAtTime(u),l.time!=r.time&&(c={state:l.state,time:l.time,ticks:a})),o=l}),this._state.remove(r),c&&this._ticksAtTime.add(c),a}get ticks(){return this.getTicksAtTime(this.now())}set ticks(e){this.setTicksAtTime(e,this.now())}get seconds(){return this.getSecondsAtTime(this.now())}set seconds(e){const t=this.now(),s=this.frequency.timeToTicks(e,t);this.setTicksAtTime(s,t)}getSecondsAtTime(e){e=this.toSeconds(e);const t=this._state.getLastState("stopped",e),s={state:"paused",time:e};this._state.add(s);const i=this._secondsAtTime.get(e);let r=i||t,o=i?i.seconds:0,a=null;return this._state.forEachBetween(r.time,e+this.sampleTime,c=>{let l=r.time;const u=this._tickOffset.get(c.time);u&&u.time>=r.time&&(o=u.seconds,l=u.time),r.state==="started"&&c.state!=="started"&&(o+=c.time-l,c.time!=s.time&&(a={state:c.state,time:c.time,seconds:o})),r=c}),this._state.remove(s),a&&this._secondsAtTime.add(a),o}setTicksAtTime(e,t){return t=this.toSeconds(t),this._tickOffset.cancel(t),this._tickOffset.add({seconds:this.frequency.getDurationOfTicks(e,t),ticks:e,time:t}),this._ticksAtTime.cancel(t),this._secondsAtTime.cancel(t),this}getStateAtTime(e){return e=this.toSeconds(e),this._state.getValueAtTime(e)}getTimeOfTick(e,t=this.now()){const s=this._tickOffset.get(t),i=this._state.get(t),r=Math.max(s.time,i.time),o=this.frequency.getTicksAtTime(r)+e-s.ticks;return this.frequency.getTimeOfTick(o)}forEachTickBetween(e,t,s){let i=this._state.get(e);this._state.forEachBetween(e,t,o=>{i&&i.state==="started"&&o.state!=="started"&&this.forEachTickBetween(Math.max(i.time,e),o.time-this.sampleTime,s),i=o});let r=null;if(i&&i.state==="started"){const o=Math.max(i.time,e),a=this.frequency.getTicksAtTime(o),c=this.frequency.getTicksAtTime(i.time),l=a-c;let u=Math.ceil(l)-l;u=Zt(u,1)?0:u;let h=this.frequency.getTimeOfTick(a+u);for(;h{switch(s.state){case"started":const i=this._tickSource.getTicksAtTime(s.time);this.emit("start",s.time,i);break;case"stopped":s.time!==0&&this.emit("stop",s.time);break;case"paused":this.emit("pause",s.time);break}}),this._tickSource.forEachTickBetween(e,t,(s,i)=>{this.callback(s,i)}))}getStateAtTime(e){const t=this.toSeconds(e);return this._state.getValueAtTime(t)}dispose(){return super.dispose(),this.context.off("tick",this._boundLoop),this._tickSource.dispose(),this._state.dispose(),this}}Jr.mixin(Sr);class Qo extends he{constructor(){super(W(Qo.getDefaults(),arguments,["delayTime","maxDelay"])),this.name="Delay";const e=W(Qo.getDefaults(),arguments,["delayTime","maxDelay"]),t=this.toSeconds(e.maxDelay);this._maxDelay=Math.max(t,this.toSeconds(e.delayTime)),this._delayNode=this.input=this.output=this.context.createDelay(t),this.delayTime=new Te({context:this.context,param:this._delayNode.delayTime,units:"time",value:e.delayTime,minValue:0,maxValue:this.maxDelay}),ke(this,"delayTime")}static getDefaults(){return Object.assign(he.getDefaults(),{delayTime:0,maxDelay:1})}get maxDelay(){return this._maxDelay}dispose(){return super.dispose(),this._delayNode.disconnect(),this.delayTime.dispose(),this}}class Ql extends Zn{constructor(){super(),this.name="ToneAudioBuffers",this._buffers=new Map,this._loadingCount=0;const e=W(Ql.getDefaults(),arguments,["urls","onload","baseUrl"],"urls");this.baseUrl=e.baseUrl,Object.keys(e.urls).forEach(t=>{this._loadingCount++;const s=e.urls[t];this.add(t,s,this._bufferLoaded.bind(this,e.onload),e.onerror)})}static getDefaults(){return{baseUrl:"",onerror:Fe,onload:Fe,urls:{}}}has(e){return this._buffers.has(e.toString())}get(e){return pe(this.has(e),`ToneAudioBuffers has no buffer named: ${e}`),this._buffers.get(e.toString())}_bufferLoaded(e){this._loadingCount--,this._loadingCount===0&&e&&e()}get loaded(){return Array.from(this._buffers).every(([e,t])=>t.loaded)}add(e,t,s=Fe,i=Fe){return qn(t)?(this.baseUrl&&t.trim().substring(0,11).toLowerCase()==="data:audio/"&&(this.baseUrl=""),this._buffers.set(e.toString(),new Le(this.baseUrl+t,s,i))):this._buffers.set(e.toString(),new Le(t,s,i)),this}dispose(){return super.dispose(),this._buffers.forEach(e=>e.dispose()),this._buffers.clear(),this}}class Cr extends Mt{constructor(){super(...arguments),this.name="MidiClass",this.defaultUnits="midi"}_frequencyToUnits(e){return Vs(super._frequencyToUnits(e))}_ticksToUnits(e){return Vs(super._ticksToUnits(e))}_beatsToUnits(e){return Vs(super._beatsToUnits(e))}_secondsToUnits(e){return Vs(super._secondsToUnits(e))}toMidi(){return this.valueOf()}toFrequency(){return Op(this.toMidi())}transpose(e){return new Cr(this.context,this.toMidi()+e)}}function Eh(n,e){return new Cr(Pt(),n,e)}class _i extends lr{constructor(){super(...arguments),this.name="Ticks",this.defaultUnits="i"}_now(){return this.context.transport.ticks}_beatsToUnits(e){return this._getPPQ()*e}_secondsToUnits(e){return Math.floor(e/(60/this._getBpm())*this._getPPQ())}_ticksToUnits(e){return e}toTicks(){return this.valueOf()}toSeconds(){return this.valueOf()/this._getPPQ()*(60/this._getBpm())}}class q2 extends kt{constructor(){super(...arguments),this.name="Draw",this.expiration=.25,this.anticipation=.008,this._events=new zt,this._boundDrawLoop=this._drawLoop.bind(this),this._animationFrame=-1}schedule(e,t){return this._events.add({callback:e,time:this.toSeconds(t)}),this._events.length===1&&(this._animationFrame=requestAnimationFrame(this._boundDrawLoop)),this}cancel(e){return this._events.cancel(this.toSeconds(e)),this}_drawLoop(){const e=this.context.currentTime;for(;this._events.length&&this._events.peek().time-this.anticipation<=e;){const t=this._events.shift();t&&e-t.time<=this.expiration&&t.callback()}this._events.length>0&&(this._animationFrame=requestAnimationFrame(this._boundDrawLoop))}dispose(){return super.dispose(),this._events.dispose(),cancelAnimationFrame(this._animationFrame),this}}ja(n=>{n.draw=new q2({context:n})});Wa(n=>{n.draw.dispose()});class U2 extends Zn{constructor(){super(...arguments),this.name="IntervalTimeline",this._root=null,this._length=0}add(e){pe(Ce(e.time),"Events must have a time property"),pe(Ce(e.duration),"Events must have a duration parameter"),e.time=e.time.valueOf();let t=new j2(e.time,e.time+e.duration,e);for(this._root===null?this._root=t:this._root.insert(t),this._length++;t!==null;)t.updateHeight(),t.updateMax(),this._rebalance(t),t=t.parent;return this}remove(e){if(this._root!==null){const t=[];this._root.search(e.time,t);for(const s of t)if(s.event===e){this._removeNode(s),this._length--;break}}return this}get length(){return this._length}cancel(e){return this.forEachFrom(e,t=>this.remove(t)),this}_setRoot(e){this._root=e,this._root!==null&&(this._root.parent=null)}_replaceNodeInParent(e,t){e.parent!==null?(e.isLeftChild()?e.parent.left=t:e.parent.right=t,this._rebalance(e.parent)):this._setRoot(t)}_removeNode(e){if(e.left===null&&e.right===null)this._replaceNodeInParent(e,null);else if(e.right===null)this._replaceNodeInParent(e,e.left);else if(e.left===null)this._replaceNodeInParent(e,e.right);else{const t=e.getBalance();let s,i=null;if(t>0)if(e.left.right===null)s=e.left,s.right=e.right,i=s;else{for(s=e.left.right;s.right!==null;)s=s.right;s.parent&&(s.parent.right=s.left,i=s.parent,s.left=e.left,s.right=e.right)}else if(e.right.left===null)s=e.right,s.left=e.left,i=s;else{for(s=e.right.left;s.left!==null;)s=s.left;s.parent&&(s.parent.left=s.right,i=s.parent,s.left=e.left,s.right=e.right)}e.parent!==null?e.isLeftChild()?e.parent.left=s:e.parent.right=s:this._setRoot(s),i&&this._rebalance(i)}e.dispose()}_rotateLeft(e){const t=e.parent,s=e.isLeftChild(),i=e.right;i&&(e.right=i.left,i.left=e),t!==null?s?t.left=i:t.right=i:this._setRoot(i)}_rotateRight(e){const t=e.parent,s=e.isLeftChild(),i=e.left;i&&(e.left=i.right,i.right=e),t!==null?s?t.left=i:t.right=i:this._setRoot(i)}_rebalance(e){const t=e.getBalance();t>1&&e.left?e.left.getBalance()<0?this._rotateLeft(e.left):this._rotateRight(e):t<-1&&e.right&&(e.right.getBalance()>0?this._rotateRight(e.right):this._rotateLeft(e))}get(e){if(this._root!==null){const t=[];if(this._root.search(e,t),t.length>0){let s=t[0];for(let i=1;is.low&&(s=t[i]);return s.event}}return null}forEach(e){if(this._root!==null){const t=[];this._root.traverse(s=>t.push(s)),t.forEach(s=>{s.event&&e(s.event)})}return this}forEachAtTime(e,t){if(this._root!==null){const s=[];this._root.search(e,s),s.forEach(i=>{i.event&&t(i.event)})}return this}forEachFrom(e,t){if(this._root!==null){const s=[];this._root.searchAfter(e,s),s.forEach(i=>{i.event&&t(i.event)})}return this}dispose(){return super.dispose(),this._root!==null&&this._root.traverse(e=>e.dispose()),this._root=null,this}}class j2{constructor(e,t,s){this._left=null,this._right=null,this.parent=null,this.height=0,this.event=s,this.low=e,this.high=t,this.max=this.high}insert(e){e.low<=this.low?this.left===null?this.left=e:this.left.insert(e):this.right===null?this.right=e:this.right.insert(e)}search(e,t){e>this.max||(this.left!==null&&this.left.search(e,t),this.low<=e&&this.high>e&&t.push(this),!(this.low>e)&&this.right!==null&&this.right.search(e,t))}searchAfter(e,t){this.low>=e&&(t.push(this),this.left!==null&&this.left.searchAfter(e,t)),this.right!==null&&this.right.searchAfter(e,t)}traverse(e){e(this),this.left!==null&&this.left.traverse(e),this.right!==null&&this.right.traverse(e)}updateHeight(){this.left!==null&&this.right!==null?this.height=Math.max(this.left.height,this.right.height)+1:this.right!==null?this.height=this.right.height+1:this.left!==null?this.height=this.left.height+1:this.height=0}updateMax(){this.max=this.high,this.left!==null&&(this.max=Math.max(this.max,this.left.max)),this.right!==null&&(this.max=Math.max(this.max,this.right.max))}getBalance(){let e=0;return this.left!==null&&this.right!==null?e=this.left.height-this.right.height:this.left!==null?e=this.left.height+1:this.right!==null&&(e=-(this.right.height+1)),e}isLeftChild(){return this.parent!==null&&this.parent.left===this}get left(){return this._left}set left(e){this._left=e,e!==null&&(e.parent=this),this.updateHeight(),this.updateMax()}get right(){return this._right}set right(e){this._right=e,e!==null&&(e.parent=this),this.updateHeight(),this.updateMax()}dispose(){this.parent=null,this._left=null,this._right=null,this.event=null}}class Xs extends he{constructor(){super(W(Xs.getDefaults(),arguments,["volume"])),this.name="Volume";const e=W(Xs.getDefaults(),arguments,["volume"]);this.input=this.output=new De({context:this.context,gain:e.volume,units:"decibels"}),this.volume=this.output.gain,ke(this,"volume"),this._unmutedVolume=e.volume,this.mute=e.mute}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,volume:0})}get mute(){return this.volume.value===-1/0}set mute(e){!this.mute&&e?(this._unmutedVolume=this.volume.value,this.volume.value=-1/0):this.mute&&!e&&(this.volume.value=this._unmutedVolume)}dispose(){return super.dispose(),this.input.dispose(),this.volume.dispose(),this}}class Jo extends he{constructor(){super(W(Jo.getDefaults(),arguments)),this.name="Destination",this.input=new Xs({context:this.context}),this.output=new De({context:this.context}),this.volume=this.input.volume;const e=W(Jo.getDefaults(),arguments);Er(this.input,this.output,this.context.rawContext.destination),this.mute=e.mute,this._internalChannels=[this.input,this.context.rawContext.destination,this.output]}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,volume:0})}get mute(){return this.input.mute}set mute(e){this.input.mute=e}chain(...e){return this.input.disconnect(),e.unshift(this.input),e.push(this.output),Er(...e),this}get maxChannelCount(){return this.context.rawContext.destination.maxChannelCount}dispose(){return super.dispose(),this.volume.dispose(),this}}ja(n=>{n.destination=new Jo({context:n})});Wa(n=>{n.destination.dispose()});class W2 extends Zn{constructor(e){super(),this.name="TimelineValue",this._timeline=new zt({memory:10}),this._initialValue=e}set(e,t){return this._timeline.add({value:e,time:t}),this}get(e){const t=this._timeline.get(e);return t?t.value:this._initialValue}}class Cn extends he{constructor(){super(Object.assign(W(Cn.getDefaults(),arguments,["context"])))}connect(e,t=0,s=0){return Ga(this,e,t,s),this}}class Qs extends Cn{constructor(){super(Object.assign(W(Qs.getDefaults(),arguments,["mapping","length"]))),this.name="WaveShaper",this._shaper=this.context.createWaveShaper(),this.input=this._shaper,this.output=this._shaper;const e=W(Qs.getDefaults(),arguments,["mapping","length"]);Ft(e.mapping)||e.mapping instanceof Float32Array?this.curve=Float32Array.from(e.mapping):g2(e.mapping)&&this.setMap(e.mapping,e.length)}static getDefaults(){return Object.assign(qe.getDefaults(),{length:1024})}setMap(e,t=1024){const s=new Float32Array(t);for(let i=0,r=t;is.includes(e));pe(t,"oversampling must be either 'none', '2x', or '4x'"),this._shaper.oversample=e}dispose(){return super.dispose(),this._shaper.disconnect(),this}}class Ar extends Cn{constructor(){super(Object.assign(W(Ar.getDefaults(),arguments,["value"]))),this.name="Pow";const e=W(Ar.getDefaults(),arguments,["value"]);this._exponentScaler=this.input=this.output=new Qs({context:this.context,mapping:this._expFunc(e.value),length:8192}),this._exponent=e.value}static getDefaults(){return Object.assign(Cn.getDefaults(),{value:1})}_expFunc(e){return t=>Math.pow(Math.abs(t),e)}get value(){return this._exponent}set value(e){this._exponent=e,this._exponentScaler.setMap(this._expFunc(this._exponent))}dispose(){return super.dispose(),this._exponentScaler.dispose(),this}}class gs{constructor(e,t){this.id=gs._eventId++,this._remainderTime=0;const s=Object.assign(gs.getDefaults(),t);this.transport=e,this.callback=s.callback,this._once=s.once,this.time=Math.floor(s.time),this._remainderTime=s.time-this.time}static getDefaults(){return{callback:Fe,once:!1,time:0}}get floatTime(){return this.time+this._remainderTime}invoke(e){if(this.callback){const t=this.transport.bpm.getDurationOfTicks(1,e);this.callback(e+this._remainderTime*t),this._once&&this.transport.clear(this.id)}}dispose(){return this.callback=void 0,this}}gs._eventId=0;class Jl extends gs{constructor(e,t){super(e,t),this._currentId=-1,this._nextId=-1,this._nextTick=this.time,this._boundRestart=this._restart.bind(this);const s=Object.assign(Jl.getDefaults(),t);this.duration=s.duration,this._interval=s.interval,this._nextTick=s.time,this.transport.on("start",this._boundRestart),this.transport.on("loopStart",this._boundRestart),this.transport.on("ticks",this._boundRestart),this.context=this.transport.context,this._restart()}static getDefaults(){return Object.assign({},gs.getDefaults(),{duration:1/0,interval:1,once:!1})}invoke(e){this._createEvents(e),super.invoke(e)}_createEvent(){return Go(this._nextTick,this.floatTime+this.duration)?this.transport.scheduleOnce(this.invoke.bind(this),new _i(this.context,this._nextTick).toSeconds()):-1}_createEvents(e){Go(this._nextTick+this._interval,this.floatTime+this.duration)&&(this._nextTick+=this._interval,this._currentId=this._nextId,this._nextId=this.transport.scheduleOnce(this.invoke.bind(this),new _i(this.context,this._nextTick).toSeconds()))}_restart(e){this.transport.clear(this._currentId),this.transport.clear(this._nextId),this._nextTick=this.floatTime;const t=this.transport.getTicksAtTime(e);Ii(t,this.time)&&(this._nextTick=this.floatTime+Math.ceil((t-this.floatTime)/this._interval)*this._interval),this._currentId=this._createEvent(),this._nextTick+=this._interval,this._nextId=this._createEvent()}dispose(){return super.dispose(),this.transport.clear(this._currentId),this.transport.clear(this._nextId),this.transport.off("start",this._boundRestart),this.transport.off("loopStart",this._boundRestart),this.transport.off("ticks",this._boundRestart),this}}let Dp=class zc extends kt{constructor(){super(W(zc.getDefaults(),arguments)),this.name="Transport",this._loop=new W2(!1),this._loopStart=0,this._loopEnd=0,this._scheduledEvents={},this._timeline=new zt,this._repeatedEvents=new U2,this._syncedSignals=[],this._swingAmount=0;const e=W(zc.getDefaults(),arguments);this._ppq=e.ppq,this._clock=new Sr({callback:this._processTick.bind(this),context:this.context,frequency:0,units:"bpm"}),this._bindClockEvents(),this.bpm=this._clock.frequency,this._clock.frequency.multiplier=e.ppq,this.bpm.setValueAtTime(e.bpm,0),ke(this,"bpm"),this._timeSignature=e.timeSignature,this._swingTicks=e.ppq/2}static getDefaults(){return Object.assign(kt.getDefaults(),{bpm:120,loopEnd:"4m",loopStart:0,ppq:192,swing:0,swingSubdivision:"8n",timeSignature:4})}_processTick(e,t){if(this._loop.get(e)&&t>=this._loopEnd&&(this.emit("loopEnd",e),this._clock.setTicksAtTime(this._loopStart,e),t=this._loopStart,this.emit("loopStart",e,this._clock.getSecondsAtTime(e)),this.emit("loop",e)),this._swingAmount>0&&t%this._ppq!==0&&t%(this._swingTicks*2)!==0){const s=t%(this._swingTicks*2)/(this._swingTicks*2),i=Math.sin(s*Math.PI)*this._swingAmount;e+=new _i(this.context,this._swingTicks*2/3).toSeconds()*i}Th(!0),this._timeline.forEachAtTime(t,s=>s.invoke(e)),Th(!1)}schedule(e,t){const s=new gs(this,{callback:e,time:new lr(this.context,t).toTicks()});return this._addEvent(s,this._timeline)}scheduleRepeat(e,t,s,i=1/0){const r=new Jl(this,{callback:e,duration:new Jt(this.context,i).toTicks(),interval:new Jt(this.context,t).toTicks(),time:new lr(this.context,s).toTicks()});return this._addEvent(r,this._repeatedEvents)}scheduleOnce(e,t){const s=new gs(this,{callback:e,once:!0,time:new lr(this.context,t).toTicks()});return this._addEvent(s,this._timeline)}clear(e){if(this._scheduledEvents.hasOwnProperty(e)){const t=this._scheduledEvents[e.toString()];t.timeline.remove(t.event),t.event.dispose(),delete this._scheduledEvents[e.toString()]}return this}_addEvent(e,t){return this._scheduledEvents[e.id.toString()]={event:e,timeline:t},t.add(e),e.id}cancel(e=0){const t=this.toTicks(e);return this._timeline.forEachFrom(t,s=>this.clear(s.id)),this._repeatedEvents.forEachFrom(t,s=>this.clear(s.id)),this}_bindClockEvents(){this._clock.on("start",(e,t)=>{t=new _i(this.context,t).toSeconds(),this.emit("start",e,t)}),this._clock.on("stop",e=>{this.emit("stop",e)}),this._clock.on("pause",e=>{this.emit("pause",e)})}get state(){return this._clock.getStateAtTime(this.now())}start(e,t){this.context.resume();let s;return Ce(t)&&(s=this.toTicks(t)),this._clock.start(e,s),this}stop(e){return this._clock.stop(e),this}pause(e){return this._clock.pause(e),this}toggle(e){return e=this.toSeconds(e),this._clock.getStateAtTime(e)!=="started"?this.start(e):this.stop(e),this}get timeSignature(){return this._timeSignature}set timeSignature(e){Ft(e)&&(e=e[0]/e[1]*4),this._timeSignature=e}get loopStart(){return new Jt(this.context,this._loopStart,"i").toSeconds()}set loopStart(e){this._loopStart=this.toTicks(e)}get loopEnd(){return new Jt(this.context,this._loopEnd,"i").toSeconds()}set loopEnd(e){this._loopEnd=this.toTicks(e)}get loop(){return this._loop.get(this.now())}set loop(e){this._loop.set(e,this.now())}setLoopPoints(e,t){return this.loopStart=e,this.loopEnd=t,this}get swing(){return this._swingAmount}set swing(e){this._swingAmount=e}get swingSubdivision(){return new _i(this.context,this._swingTicks).toNotation()}set swingSubdivision(e){this._swingTicks=this.toTicks(e)}get position(){const e=this.now(),t=this._clock.getTicksAtTime(e);return new _i(this.context,t).toBarsBeatsSixteenths()}set position(e){const t=this.toTicks(e);this.ticks=t}get seconds(){return this._clock.seconds}set seconds(e){const t=this.now(),s=this._clock.frequency.timeToTicks(e,t);this.ticks=s}get progress(){if(this.loop){const e=this.now();return(this._clock.getTicksAtTime(e)-this._loopStart)/(this._loopEnd-this._loopStart)}else return 0}get ticks(){return this._clock.ticks}set ticks(e){if(this._clock.ticks!==e){const t=this.now();if(this.state==="started"){const s=this._clock.getTicksAtTime(t),i=this._clock.frequency.getDurationOfTicks(Math.ceil(s)-s,t),r=t+i;this.emit("stop",r),this._clock.setTicksAtTime(e,r),this.emit("start",r,this._clock.getSecondsAtTime(r))}else this.emit("ticks",t),this._clock.setTicksAtTime(e,t)}}getTicksAtTime(e){return this._clock.getTicksAtTime(e)}getSecondsAtTime(e){return this._clock.getSecondsAtTime(e)}get PPQ(){return this._clock.frequency.multiplier}set PPQ(e){this._clock.frequency.multiplier=e}nextSubdivision(e){if(e=this.toTicks(e),this.state!=="started")return 0;{const t=this.now(),s=this.getTicksAtTime(t),i=e-s%e;return this._clock.nextTickTime(i,t)}}syncSignal(e,t){const s=this.now();let i=this.bpm,r=1/(60/i.getValueAtTime(s)/this.PPQ),o=[];if(e.units==="time"){const c=.015625/r,l=new De(c),u=new Ar(-1),h=new De(c);i.chain(l,u,h),i=h,r=1/r,o=[l,u,h]}t||(e.getValueAtTime(s)!==0?t=e.getValueAtTime(s)/r:t=0);const a=new De(t);return i.connect(a),a.connect(e._param),o.push(a),this._syncedSignals.push({initial:e.value,nodes:o,signal:e}),e.value=0,this}unsyncSignal(e){for(let t=this._syncedSignals.length-1;t>=0;t--){const s=this._syncedSignals[t];s.signal===e&&(s.nodes.forEach(i=>i.dispose()),s.signal.value=s.initial,this._syncedSignals.splice(t,1))}return this}dispose(){return super.dispose(),this._clock.dispose(),Yl(this,"bpm"),this._timeline.dispose(),this._repeatedEvents.dispose(),this}};Jr.mixin(Dp);ja(n=>{n.transport=new Dp({context:n})});Wa(n=>{n.transport.dispose()});class bt extends he{constructor(e){super(e),this.input=void 0,this._state=new Xl("stopped"),this._synced=!1,this._scheduled=[],this._syncedStart=Fe,this._syncedStop=Fe,this._state.memory=100,this._state.increasing=!0,this._volume=this.output=new Xs({context:this.context,mute:e.mute,volume:e.volume}),this.volume=this._volume.volume,ke(this,"volume"),this.onstop=e.onstop}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,onstop:Fe,volume:0})}get state(){return this._synced?this.context.transport.state==="started"?this._state.getValueAtTime(this.context.transport.seconds):"stopped":this._state.getValueAtTime(this.now())}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}_clampToCurrentTime(e){return this._synced?e:Math.max(e,this.context.currentTime)}start(e,t,s){let i=$t(e)&&this._synced?this.context.transport.seconds:this.toSeconds(e);if(i=this._clampToCurrentTime(i),!this._synced&&this._state.getValueAtTime(i)==="started")pe(Ii(i,this._state.get(i).time),"Start time must be strictly greater than previous start time"),this._state.cancel(i),this._state.setStateAtTime("started",i),this.log("restart",i),this.restart(i,t,s);else if(this.log("start",i),this._state.setStateAtTime("started",i),this._synced){const r=this._state.get(i);r&&(r.offset=this.toSeconds(Ei(t,0)),r.duration=s?this.toSeconds(s):void 0);const o=this.context.transport.schedule(a=>{this._start(a,t,s)},i);this._scheduled.push(o),this.context.transport.state==="started"&&this.context.transport.getSecondsAtTime(this.immediate())>i&&this._syncedStart(this.now(),this.context.transport.seconds)}else xp(this.context),this._start(i,t,s);return this}stop(e){let t=$t(e)&&this._synced?this.context.transport.seconds:this.toSeconds(e);if(t=this._clampToCurrentTime(t),this._state.getValueAtTime(t)==="started"||Ce(this._state.getNextState("started",t))){if(this.log("stop",t),!this._synced)this._stop(t);else{const s=this.context.transport.schedule(this._stop.bind(this),t);this._scheduled.push(s)}this._state.cancel(t),this._state.setStateAtTime("stopped",t)}return this}restart(e,t,s){return e=this.toSeconds(e),this._state.getValueAtTime(e)==="started"&&(this._state.cancel(e),this._restart(e,t,s)),this}sync(){return this._synced||(this._synced=!0,this._syncedStart=(e,t)=>{if(Ii(t,0)){const s=this._state.get(t);if(s&&s.state==="started"&&s.time!==t){const i=t-this.toSeconds(s.time);let r;s.duration&&(r=this.toSeconds(s.duration)-i),this._start(e,this.toSeconds(s.offset)+i,r)}}},this._syncedStop=e=>{const t=this.context.transport.getSecondsAtTime(Math.max(e-this.sampleTime,0));this._state.getValueAtTime(t)==="started"&&this._stop(e)},this.context.transport.on("start",this._syncedStart),this.context.transport.on("loopStart",this._syncedStart),this.context.transport.on("stop",this._syncedStop),this.context.transport.on("pause",this._syncedStop),this.context.transport.on("loopEnd",this._syncedStop)),this}unsync(){return this._synced&&(this.context.transport.off("stop",this._syncedStop),this.context.transport.off("pause",this._syncedStop),this.context.transport.off("loopEnd",this._syncedStop),this.context.transport.off("start",this._syncedStart),this.context.transport.off("loopStart",this._syncedStart)),this._synced=!1,this._scheduled.forEach(e=>this.context.transport.clear(e)),this._scheduled=[],this._state.cancel(0),this._stop(0),this}dispose(){return super.dispose(),this.onstop=Fe,this.unsync(),this._volume.dispose(),this._state.dispose(),this}}class Di extends Ri{constructor(){super(W(Di.getDefaults(),arguments,["url","onload"])),this.name="ToneBufferSource",this._source=this.context.createBufferSource(),this._internalChannels=[this._source],this._sourceStarted=!1,this._sourceStopped=!1;const e=W(Di.getDefaults(),arguments,["url","onload"]);Un(this._source,this._gainNode),this._source.onended=()=>this._stopSource(),this.playbackRate=new Te({context:this.context,param:this._source.playbackRate,units:"positive",value:e.playbackRate}),this.loop=e.loop,this.loopStart=e.loopStart,this.loopEnd=e.loopEnd,this._buffer=new Le(e.url,e.onload,e.onerror),this._internalChannels.push(this._source)}static getDefaults(){return Object.assign(Ri.getDefaults(),{url:new Le,loop:!1,loopEnd:0,loopStart:0,onload:Fe,onerror:Fe,playbackRate:1})}get fadeIn(){return this._fadeIn}set fadeIn(e){this._fadeIn=e}get fadeOut(){return this._fadeOut}set fadeOut(e){this._fadeOut=e}get curve(){return this._curve}set curve(e){this._curve=e}start(e,t,s,i=1){pe(this.buffer.loaded,"buffer is either not set or not loaded");const r=this.toSeconds(e);this._startGain(r,i),this.loop?t=Ei(t,this.loopStart):t=Ei(t,0);let o=Math.max(this.toSeconds(t),0);if(this.loop){const a=this.toSeconds(this.loopEnd)||this.buffer.duration,c=this.toSeconds(this.loopStart),l=a-c;Wc(o,a)&&(o=(o-c)%l+c),Zt(o,this.buffer.duration)&&(o=0)}if(this._source.buffer=this.buffer.get(),this._source.loopEnd=this.toSeconds(this.loopEnd)||this.buffer.duration,Go(o,this.buffer.duration)&&(this._sourceStarted=!0,this._source.start(r,o)),Ce(s)){let a=this.toSeconds(s);a=Math.max(a,0),this.stop(r+a)}return this}_stopSource(e){!this._sourceStopped&&this._sourceStarted&&(this._sourceStopped=!0,this._source.stop(this.toSeconds(e)),this._onended())}get loopStart(){return this._source.loopStart}set loopStart(e){this._source.loopStart=this.toSeconds(e)}get loopEnd(){return this._source.loopEnd}set loopEnd(e){this._source.loopEnd=this.toSeconds(e)}get buffer(){return this._buffer}set buffer(e){this._buffer.set(e)}get loop(){return this._source.loop}set loop(e){this._source.loop=e,this._sourceStarted&&this.cancelStop()}dispose(){return super.dispose(),this._source.onended=null,this._source.disconnect(),this._buffer.dispose(),this.playbackRate.dispose(),this}}class Nr extends bt{constructor(){super(W(Nr.getDefaults(),arguments,["type"])),this.name="Noise",this._source=null;const e=W(Nr.getDefaults(),arguments,["type"]);this._playbackRate=e.playbackRate,this.type=e.type,this._fadeIn=e.fadeIn,this._fadeOut=e.fadeOut}static getDefaults(){return Object.assign(bt.getDefaults(),{fadeIn:0,fadeOut:0,playbackRate:1,type:"white"})}get type(){return this._type}set type(e){if(pe(e in Sh,"Noise: invalid type: "+e),this._type!==e&&(this._type=e,this.state==="started")){const t=this.now();this._stop(t),this._start(t)}}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e,this._source&&(this._source.playbackRate.value=e)}_start(e){const t=Sh[this._type];this._source=new Di({url:t,context:this.context,fadeIn:this._fadeIn,fadeOut:this._fadeOut,loop:!0,onended:()=>this.onstop(this),playbackRate:this._playbackRate}).connect(this.output),this._source.start(this.toSeconds(e),Math.random()*(t.duration-.001))}_stop(e){this._source&&(this._source.stop(this.toSeconds(e)),this._source=null)}get fadeIn(){return this._fadeIn}set fadeIn(e){this._fadeIn=e,this._source&&(this._source.fadeIn=this._fadeIn)}get fadeOut(){return this._fadeOut}set fadeOut(e){this._fadeOut=e,this._source&&(this._source.fadeOut=this._fadeOut)}_restart(e){this._stop(e),this._start(e)}dispose(){return super.dispose(),this._source&&this._source.disconnect(),this}}const li=44100*5,mc=2,On={brown:null,pink:null,white:null},Sh={get brown(){if(!On.brown){const n=[];for(let e=0;ethis.onstop(this)});this._oscillator=s,this._wave?this._oscillator.setPeriodicWave(this._wave):this._oscillator.type=this._type,this._oscillator.connect(this.output),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.start(t)}_stop(e){const t=this.toSeconds(e);this._oscillator&&this._oscillator.stop(t)}_restart(e){const t=this.toSeconds(e);return this.log("restart",t),this._oscillator&&this._oscillator.cancelStop(),this._state.cancel(t),this}syncFrequency(){return this.context.transport.syncSignal(this.frequency),this}unsyncFrequency(){return this.context.transport.unsyncSignal(this.frequency),this}_getCachedPeriodicWave(){if(this._type==="custom")return Ze._periodicWaveCache.find(t=>t.phase===this._phase&&A2(t.partials,this._partials));{const e=Ze._periodicWaveCache.find(t=>t.type===this._type&&t.phase===this._phase);return this._partialCount=e?e.partialCount:this._partialCount,e}}get type(){return this._type}set type(e){this._type=e;const t=["sine","square","sawtooth","triangle"].indexOf(e)!==-1;if(this._phase===0&&t)this._wave=void 0,this._partialCount=0,this._oscillator!==null&&(this._oscillator.type=e);else{const s=this._getCachedPeriodicWave();if(Ce(s)){const{partials:i,wave:r}=s;this._wave=r,this._partials=i,this._oscillator!==null&&this._oscillator.setPeriodicWave(this._wave)}else{const[i,r]=this._getRealImaginary(e,this._phase),o=this.context.createPeriodicWave(i,r);this._wave=o,this._oscillator!==null&&this._oscillator.setPeriodicWave(this._wave),Ze._periodicWaveCache.push({imag:r,partialCount:this._partialCount,partials:this._partials,phase:this._phase,real:i,type:this._type,wave:this._wave}),Ze._periodicWaveCache.length>100&&Ze._periodicWaveCache.shift()}}}get baseType(){return this._type.replace(this.partialCount.toString(),"")}set baseType(e){this.partialCount&&this._type!=="custom"&&e!=="custom"?this.type=e+this.partialCount:this.type=e}get partialCount(){return this._partialCount}set partialCount(e){on(e,0);let t=this._type;const s=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(this._type);if(s&&(t=s[1]),this._type!=="custom")e===0?this.type=t:this.type=t+e.toString();else{const i=new Float32Array(e);this._partials.forEach((r,o)=>i[o]=r),this._partials=Array.from(i),this.type=this._type}}_getRealImaginary(e,t){let i=2048;const r=new Float32Array(i),o=new Float32Array(i);let a=1;if(e==="custom"){if(a=this._partials.length+1,this._partialCount=this._partials.length,i=a,this._partials.length===0)return[r,o]}else{const c=/^(sine|triangle|square|sawtooth)(\d+)$/.exec(e);c?(a=parseInt(c[2],10)+1,this._partialCount=parseInt(c[2],10),e=c[1],a=Math.max(a,2),i=a):this._partialCount=0,this._partials=[]}for(let c=1;c>1&1?-1:1):u=0,this._partials[c-1]=u;break;case"custom":u=this._partials[c-1];break;default:throw new TypeError("Oscillator: invalid type: "+e)}u!==0?(r[c]=-u*Math.sin(t*c),o[c]=u*Math.cos(t*c)):(r[c]=0,o[c]=0)}return[r,o]}_inverseFFT(e,t,s){let i=0;const r=e.length;for(let o=0;o(e+1)/2}),this.input=this._norm,this.output=this._norm}dispose(){return super.dispose(),this._norm.dispose(),this}}class _s extends qe{constructor(){super(Object.assign(W(_s.getDefaults(),arguments,["value"]))),this.name="Multiply",this.override=!1;const e=W(_s.getDefaults(),arguments,["value"]);this._mult=this.input=this.output=new De({context:this.context,minValue:e.minValue,maxValue:e.maxValue}),this.factor=this._param=this._mult.gain,this.factor.setValueAtTime(e.value,0)}static getDefaults(){return Object.assign(qe.getDefaults(),{value:0})}dispose(){return super.dispose(),this._mult.dispose(),this}}class Mr extends bt{constructor(){super(W(Mr.getDefaults(),arguments,["frequency","type","modulationType"])),this.name="AMOscillator",this._modulationScale=new Pp({context:this.context}),this._modulationNode=new De({context:this.context});const e=W(Mr.getDefaults(),arguments,["frequency","type","modulationType"]);this._carrier=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase,type:e.type}),this.frequency=this._carrier.frequency,this.detune=this._carrier.detune,this._modulator=new Ze({context:this.context,phase:e.phase,type:e.modulationType}),this.harmonicity=new _s({context:this.context,units:"positive",value:e.harmonicity}),this.frequency.chain(this.harmonicity,this._modulator.frequency),this._modulator.chain(this._modulationScale,this._modulationNode.gain),this._carrier.chain(this._modulationNode,this.output),ke(this,["frequency","detune","harmonicity"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{harmonicity:1,modulationType:"square"})}_start(e){this._modulator.start(e),this._carrier.start(e)}_stop(e){this._modulator.stop(e),this._carrier.stop(e)}_restart(e){this._modulator.restart(e),this._carrier.restart(e)}get type(){return this._carrier.type}set type(e){this._carrier.type=e}get baseType(){return this._carrier.baseType}set baseType(e){this._carrier.baseType=e}get partialCount(){return this._carrier.partialCount}set partialCount(e){this._carrier.partialCount=e}get modulationType(){return this._modulator.type}set modulationType(e){this._modulator.type=e}get phase(){return this._carrier.phase}set phase(e){this._carrier.phase=e,this._modulator.phase=e}get partials(){return this._carrier.partials}set partials(e){this._carrier.partials=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.detune.dispose(),this.harmonicity.dispose(),this._carrier.dispose(),this._modulator.dispose(),this._modulationNode.dispose(),this._modulationScale.dispose(),this}}class kr extends bt{constructor(){super(W(kr.getDefaults(),arguments,["frequency","type","modulationType"])),this.name="FMOscillator",this._modulationNode=new De({context:this.context,gain:0});const e=W(kr.getDefaults(),arguments,["frequency","type","modulationType"]);this._carrier=new Ze({context:this.context,detune:e.detune,frequency:0,onstop:()=>this.onstop(this),phase:e.phase,type:e.type}),this.detune=this._carrier.detune,this.frequency=new qe({context:this.context,units:"frequency",value:e.frequency}),this._modulator=new Ze({context:this.context,phase:e.phase,type:e.modulationType}),this.harmonicity=new _s({context:this.context,units:"positive",value:e.harmonicity}),this.modulationIndex=new _s({context:this.context,units:"positive",value:e.modulationIndex}),this.frequency.connect(this._carrier.frequency),this.frequency.chain(this.harmonicity,this._modulator.frequency),this.frequency.chain(this.modulationIndex,this._modulationNode),this._modulator.connect(this._modulationNode.gain),this._modulationNode.connect(this._carrier.frequency),this._carrier.connect(this.output),this.detune.connect(this._modulator.detune),ke(this,["modulationIndex","frequency","detune","harmonicity"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{harmonicity:1,modulationIndex:2,modulationType:"square"})}_start(e){this._modulator.start(e),this._carrier.start(e)}_stop(e){this._modulator.stop(e),this._carrier.stop(e)}_restart(e){return this._modulator.restart(e),this._carrier.restart(e),this}get type(){return this._carrier.type}set type(e){this._carrier.type=e}get baseType(){return this._carrier.baseType}set baseType(e){this._carrier.baseType=e}get partialCount(){return this._carrier.partialCount}set partialCount(e){this._carrier.partialCount=e}get modulationType(){return this._modulator.type}set modulationType(e){this._modulator.type=e}get phase(){return this._carrier.phase}set phase(e){this._carrier.phase=e,this._modulator.phase=e}get partials(){return this._carrier.partials}set partials(e){this._carrier.partials=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.harmonicity.dispose(),this._carrier.dispose(),this._modulator.dispose(),this._modulationNode.dispose(),this.modulationIndex.dispose(),this}}class Pi extends bt{constructor(){super(W(Pi.getDefaults(),arguments,["frequency","width"])),this.name="PulseOscillator",this._widthGate=new De({context:this.context,gain:0}),this._thresh=new Qs({context:this.context,mapping:t=>t<=0?-1:1});const e=W(Pi.getDefaults(),arguments,["frequency","width"]);this.width=new qe({context:this.context,units:"audioRange",value:e.width}),this._triangle=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase,type:"triangle"}),this.frequency=this._triangle.frequency,this.detune=this._triangle.detune,this._triangle.chain(this._thresh,this.output),this.width.chain(this._widthGate,this._thresh),ke(this,["width","frequency","detune"])}static getDefaults(){return Object.assign(bt.getDefaults(),{detune:0,frequency:440,phase:0,type:"pulse",width:.2})}_start(e){e=this.toSeconds(e),this._triangle.start(e),this._widthGate.gain.setValueAtTime(1,e)}_stop(e){e=this.toSeconds(e),this._triangle.stop(e),this._widthGate.gain.cancelScheduledValues(e),this._widthGate.gain.setValueAtTime(0,e)}_restart(e){this._triangle.restart(e),this._widthGate.gain.cancelScheduledValues(e),this._widthGate.gain.setValueAtTime(1,e)}get phase(){return this._triangle.phase}set phase(e){this._triangle.phase=e}get type(){return"pulse"}get baseType(){return"pulse"}get partials(){return[]}get partialCount(){return 0}set carrierType(e){this._triangle.type=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this._triangle.dispose(),this.width.dispose(),this._widthGate.dispose(),this._thresh.dispose(),this}}class Or extends bt{constructor(){super(W(Or.getDefaults(),arguments,["frequency","type","spread"])),this.name="FatOscillator",this._oscillators=[];const e=W(Or.getDefaults(),arguments,["frequency","type","spread"]);this.frequency=new qe({context:this.context,units:"frequency",value:e.frequency}),this.detune=new qe({context:this.context,units:"cents",value:e.detune}),this._spread=e.spread,this._type=e.type,this._phase=e.phase,this._partials=e.partials,this._partialCount=e.partialCount,this.count=e.count,ke(this,["frequency","detune"])}static getDefaults(){return Object.assign(Ze.getDefaults(),{count:3,spread:20,type:"sawtooth"})}_start(e){e=this.toSeconds(e),this._forEach(t=>t.start(e))}_stop(e){e=this.toSeconds(e),this._forEach(t=>t.stop(e))}_restart(e){this._forEach(t=>t.restart(e))}_forEach(e){for(let t=0;tt.type=e)}get spread(){return this._spread}set spread(e){if(this._spread=e,this._oscillators.length>1){const t=-e/2,s=e/(this._oscillators.length-1);this._forEach((i,r)=>i.detune.value=t+s*r)}}get count(){return this._oscillators.length}set count(e){if(on(e,1),this._oscillators.length!==e){this._forEach(t=>t.dispose()),this._oscillators=[];for(let t=0;tthis.onstop(this):Fe});this.type==="custom"&&(s.partials=this._partials),this.frequency.connect(s.frequency),this.detune.connect(s.detune),s.detune.overridden=!1,s.connect(this.output),this._oscillators[t]=s}this.spread=this._spread,this.state==="started"&&this._forEach(t=>t.start())}}get phase(){return this._phase}set phase(e){this._phase=e,this._forEach((t,s)=>t.phase=this._phase+s/this.count*360)}get baseType(){return this._oscillators[0].baseType}set baseType(e){this._forEach(t=>t.baseType=e),this._type=this._oscillators[0].type}get partials(){return this._oscillators[0].partials}set partials(e){this._partials=e,this._partialCount=this._partials.length,e.length&&(this._type="custom",this._forEach(t=>t.partials=e))}get partialCount(){return this._oscillators[0].partialCount}set partialCount(e){this._partialCount=e,this._forEach(t=>t.partialCount=e),this._type=this._oscillators[0].type}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this.frequency.dispose(),this.detune.dispose(),this._forEach(e=>e.dispose()),this}}class Ir extends bt{constructor(){super(W(Ir.getDefaults(),arguments,["frequency","modulationFrequency"])),this.name="PWMOscillator",this.sourceType="pwm",this._scale=new _s({context:this.context,value:2});const e=W(Ir.getDefaults(),arguments,["frequency","modulationFrequency"]);this._pulse=new Pi({context:this.context,frequency:e.modulationFrequency}),this._pulse.carrierType="sine",this.modulationFrequency=this._pulse.frequency,this._modulator=new Ze({context:this.context,detune:e.detune,frequency:e.frequency,onstop:()=>this.onstop(this),phase:e.phase}),this.frequency=this._modulator.frequency,this.detune=this._modulator.detune,this._modulator.chain(this._scale,this._pulse.width),this._pulse.connect(this.output),ke(this,["modulationFrequency","frequency","detune"])}static getDefaults(){return Object.assign(bt.getDefaults(),{detune:0,frequency:440,modulationFrequency:.4,phase:0,type:"pwm"})}_start(e){e=this.toSeconds(e),this._modulator.start(e),this._pulse.start(e)}_stop(e){e=this.toSeconds(e),this._modulator.stop(e),this._pulse.stop(e)}_restart(e){this._modulator.restart(e),this._pulse.restart(e)}get type(){return"pwm"}get baseType(){return"pwm"}get partials(){return[]}get partialCount(){return 0}get phase(){return this._modulator.phase}set phase(e){this._modulator.phase=e}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this._pulse.dispose(),this._scale.dispose(),this._modulator.dispose(),this}}const Ch={am:Mr,fat:Or,fm:kr,oscillator:Ze,pulse:Pi,pwm:Ir};class Js extends bt{constructor(){super(W(Js.getDefaults(),arguments,["frequency","type"])),this.name="OmniOscillator";const e=W(Js.getDefaults(),arguments,["frequency","type"]);this.frequency=new qe({context:this.context,units:"frequency",value:e.frequency}),this.detune=new qe({context:this.context,units:"cents",value:e.detune}),ke(this,["frequency","detune"]),this.set(e)}static getDefaults(){return Object.assign(Ze.getDefaults(),kr.getDefaults(),Mr.getDefaults(),Or.getDefaults(),Pi.getDefaults(),Ir.getDefaults())}_start(e){this._oscillator.start(e)}_stop(e){this._oscillator.stop(e)}_restart(e){return this._oscillator.restart(e),this}get type(){let e="";return["am","fm","fat"].some(t=>this._sourceType===t)&&(e=this._sourceType),e+this._oscillator.type}set type(e){e.substr(0,2)==="fm"?(this._createNewOscillator("fm"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(2)):e.substr(0,2)==="am"?(this._createNewOscillator("am"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(2)):e.substr(0,3)==="fat"?(this._createNewOscillator("fat"),this._oscillator=this._oscillator,this._oscillator.type=e.substr(3)):e==="pwm"?(this._createNewOscillator("pwm"),this._oscillator=this._oscillator):e==="pulse"?this._createNewOscillator("pulse"):(this._createNewOscillator("oscillator"),this._oscillator=this._oscillator,this._oscillator.type=e)}get partials(){return this._oscillator.partials}set partials(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&(this._oscillator.partials=e)}get partialCount(){return this._oscillator.partialCount}set partialCount(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&(this._oscillator.partialCount=e)}set(e){return Reflect.has(e,"type")&&e.type&&(this.type=e.type),super.set(e),this}_createNewOscillator(e){if(e!==this._sourceType){this._sourceType=e;const t=Ch[e],s=this.now();if(this._oscillator){const i=this._oscillator;i.stop(s),this.context.setTimeout(()=>i.dispose(),this.blockTime)}this._oscillator=new t({context:this.context}),this.frequency.connect(this._oscillator.frequency),this.detune.connect(this._oscillator.detune),this._oscillator.connect(this.output),this._oscillator.onstop=()=>this.onstop(this),this.state==="started"&&this._oscillator.start(s)}}get phase(){return this._oscillator.phase}set phase(e){this._oscillator.phase=e}get sourceType(){return this._sourceType}set sourceType(e){let t="sine";this._oscillator.type!=="pwm"&&this._oscillator.type!=="pulse"&&(t=this._oscillator.type),e==="fm"?this.type="fm"+t:e==="am"?this.type="am"+t:e==="fat"?this.type="fat"+t:e==="oscillator"?this.type=t:e==="pulse"?this.type="pulse":e==="pwm"&&(this.type="pwm")}_getOscType(e,t){return e instanceof Ch[t]}get baseType(){return this._oscillator.baseType}set baseType(e){!this._getOscType(this._oscillator,"pulse")&&!this._getOscType(this._oscillator,"pwm")&&e!=="pulse"&&e!=="pwm"&&(this._oscillator.baseType=e)}get width(){if(this._getOscType(this._oscillator,"pulse"))return this._oscillator.width}get count(){if(this._getOscType(this._oscillator,"fat"))return this._oscillator.count}set count(e){this._getOscType(this._oscillator,"fat")&&Bn(e)&&(this._oscillator.count=e)}get spread(){if(this._getOscType(this._oscillator,"fat"))return this._oscillator.spread}set spread(e){this._getOscType(this._oscillator,"fat")&&Bn(e)&&(this._oscillator.spread=e)}get modulationType(){if(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))return this._oscillator.modulationType}set modulationType(e){(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))&&qn(e)&&(this._oscillator.modulationType=e)}get modulationIndex(){if(this._getOscType(this._oscillator,"fm"))return this._oscillator.modulationIndex}get harmonicity(){if(this._getOscType(this._oscillator,"fm")||this._getOscType(this._oscillator,"am"))return this._oscillator.harmonicity}get modulationFrequency(){if(this._getOscType(this._oscillator,"pwm"))return this._oscillator.modulationFrequency}asArray(e=1024){return tt(this,void 0,void 0,function*(){return si(this,e)})}dispose(){return super.dispose(),this.detune.dispose(),this.frequency.dispose(),this._oscillator.dispose(),this}}class eu extends qe{constructor(){super(Object.assign(W(eu.getDefaults(),arguments,["value"]))),this.override=!1,this.name="Add",this._sum=new De({context:this.context}),this.input=this._sum,this.output=this._sum,this.addend=this._param,Er(this._constantSource,this._sum)}static getDefaults(){return Object.assign(qe.getDefaults(),{value:0})}dispose(){return super.dispose(),this._sum.dispose(),this}}class Rr extends Cn{constructor(){super(Object.assign(W(Rr.getDefaults(),arguments,["min","max"]))),this.name="Scale";const e=W(Rr.getDefaults(),arguments,["min","max"]);this._mult=this.input=new _s({context:this.context,value:e.max-e.min}),this._add=this.output=new eu({context:this.context,value:e.min}),this._min=e.min,this._max=e.max,this.input.connect(this.output)}static getDefaults(){return Object.assign(Cn.getDefaults(),{max:1,min:0})}get min(){return this._min}set min(e){this._min=e,this._setRange()}get max(){return this._max}set max(e){this._max=e,this._setRange()}_setRange(){this._add.value=this._min,this._mult.value=this._max-this._min}dispose(){return super.dispose(),this._add.dispose(),this._mult.dispose(),this}}class tu extends Cn{constructor(){super(Object.assign(W(tu.getDefaults(),arguments))),this.name="Zero",this._gain=new De({context:this.context}),this.output=this._gain,this.input=void 0,Un(this.context.getConstant(0),this._gain)}dispose(){return super.dispose(),Rp(this.context.getConstant(0),this._gain),this}}class ta extends he{constructor(){super(W(ta.getDefaults(),arguments,["frequency","min","max"])),this.name="LFO",this._stoppedValue=0,this._units="number",this.convert=!0,this._fromType=Te.prototype._fromType,this._toType=Te.prototype._toType,this._is=Te.prototype._is,this._clampValue=Te.prototype._clampValue;const e=W(ta.getDefaults(),arguments,["frequency","min","max"]);this._oscillator=new Ze(e),this.frequency=this._oscillator.frequency,this._amplitudeGain=new De({context:this.context,gain:e.amplitude,units:"normalRange"}),this.amplitude=this._amplitudeGain.gain,this._stoppedSignal=new qe({context:this.context,units:"audioRange",value:0}),this._zeros=new tu({context:this.context}),this._a2g=new Pp({context:this.context}),this._scaler=this.output=new Rr({context:this.context,max:e.max,min:e.min}),this.units=e.units,this.min=e.min,this.max=e.max,this._oscillator.chain(this._amplitudeGain,this._a2g,this._scaler),this._zeros.connect(this._a2g),this._stoppedSignal.connect(this._a2g),ke(this,["amplitude","frequency"]),this.phase=e.phase}static getDefaults(){return Object.assign(Ze.getDefaults(),{amplitude:1,frequency:"4n",max:1,min:0,type:"sine",units:"number"})}start(e){return e=this.toSeconds(e),this._stoppedSignal.setValueAtTime(0,e),this._oscillator.start(e),this}stop(e){return e=this.toSeconds(e),this._stoppedSignal.setValueAtTime(this._stoppedValue,e),this._oscillator.stop(e),this}sync(){return this._oscillator.sync(),this._oscillator.syncFrequency(),this}unsync(){return this._oscillator.unsync(),this._oscillator.unsyncFrequency(),this}_setStoppedValue(){this._stoppedValue=this._oscillator.getInitialValue(),this._stoppedSignal.value=this._stoppedValue}get min(){return this._toType(this._scaler.min)}set min(e){e=this._fromType(e),this._scaler.min=e}get max(){return this._toType(this._scaler.max)}set max(e){e=this._fromType(e),this._scaler.max=e}get type(){return this._oscillator.type}set type(e){this._oscillator.type=e,this._setStoppedValue()}get partials(){return this._oscillator.partials}set partials(e){this._oscillator.partials=e,this._setStoppedValue()}get phase(){return this._oscillator.phase}set phase(e){this._oscillator.phase=e,this._setStoppedValue()}get units(){return this._units}set units(e){const t=this.min,s=this.max;this._units=e,this.min=t,this.max=s}get state(){return this._oscillator.state}connect(e,t,s){return(e instanceof Te||e instanceof qe)&&(this.convert=e.convert,this.units=e.units),Ga(this,e,t,s),this}dispose(){return super.dispose(),this._oscillator.dispose(),this._stoppedSignal.dispose(),this._zeros.dispose(),this._scaler.dispose(),this._a2g.dispose(),this._amplitudeGain.dispose(),this.amplitude.dispose(),this}}function $p(n,e=1/0){const t=new WeakMap;return function(s,i){Reflect.defineProperty(s,i,{configurable:!0,enumerable:!0,get:function(){return t.get(this)},set:function(r){on(r,n,e),t.set(this,r)}})}}function Xn(n,e=1/0){const t=new WeakMap;return function(s,i){Reflect.defineProperty(s,i,{configurable:!0,enumerable:!0,get:function(){return t.get(this)},set:function(r){on(this.toSeconds(r),n,e),t.set(this,r)}})}}class Dr extends bt{constructor(){super(W(Dr.getDefaults(),arguments,["url","onload"])),this.name="Player",this._activeSources=new Set;const e=W(Dr.getDefaults(),arguments,["url","onload"]);this._buffer=new Le({onload:this._onload.bind(this,e.onload),onerror:e.onerror,reverse:e.reverse,url:e.url}),this.autostart=e.autostart,this._loop=e.loop,this._loopStart=e.loopStart,this._loopEnd=e.loopEnd,this._playbackRate=e.playbackRate,this.fadeIn=e.fadeIn,this.fadeOut=e.fadeOut}static getDefaults(){return Object.assign(bt.getDefaults(),{autostart:!1,fadeIn:0,fadeOut:0,loop:!1,loopEnd:0,loopStart:0,onload:Fe,onerror:Fe,playbackRate:1,reverse:!1})}load(e){return tt(this,void 0,void 0,function*(){return yield this._buffer.load(e),this._onload(),this})}_onload(e=Fe){e(),this.autostart&&this.start()}_onSourceEnd(e){this.onstop(this),this._activeSources.delete(e),this._activeSources.size===0&&!this._synced&&this._state.getValueAtTime(this.now())==="started"&&(this._state.cancel(this.now()),this._state.setStateAtTime("stopped",this.now()))}start(e,t,s){return super.start(e,t,s),this}_start(e,t,s){this._loop?t=Ei(t,this._loopStart):t=Ei(t,0);const i=this.toSeconds(t),r=s;s=Ei(s,Math.max(this._buffer.duration-i,0));let o=this.toSeconds(s);o=o/this._playbackRate,e=this.toSeconds(e);const a=new Di({url:this._buffer,context:this.context,fadeIn:this.fadeIn,fadeOut:this.fadeOut,loop:this._loop,loopEnd:this._loopEnd,loopStart:this._loopStart,onended:this._onSourceEnd.bind(this),playbackRate:this._playbackRate}).connect(this.output);!this._loop&&!this._synced&&(this._state.cancel(e+o),this._state.setStateAtTime("stopped",e+o,{implicitEnd:!0})),this._activeSources.add(a),this._loop&&$t(r)?a.start(e,i):a.start(e,i,o-this.toSeconds(this.fadeOut))}_stop(e){const t=this.toSeconds(e);this._activeSources.forEach(s=>s.stop(t))}restart(e,t,s){return super.restart(e,t,s),this}_restart(e,t,s){var i;(i=[...this._activeSources].pop())===null||i===void 0||i.stop(e),this._start(e,t,s)}seek(e,t){const s=this.toSeconds(t);if(this._state.getValueAtTime(s)==="started"){const i=this.toSeconds(e);this._stop(s),this._start(s,i)}return this}setLoopPoints(e,t){return this.loopStart=e,this.loopEnd=t,this}get loopStart(){return this._loopStart}set loopStart(e){this._loopStart=e,this.buffer.loaded&&on(this.toSeconds(e),0,this.buffer.duration),this._activeSources.forEach(t=>{t.loopStart=e})}get loopEnd(){return this._loopEnd}set loopEnd(e){this._loopEnd=e,this.buffer.loaded&&on(this.toSeconds(e),0,this.buffer.duration),this._activeSources.forEach(t=>{t.loopEnd=e})}get buffer(){return this._buffer}set buffer(e){this._buffer.set(e)}get loop(){return this._loop}set loop(e){if(this._loop!==e&&(this._loop=e,this._activeSources.forEach(t=>{t.loop=e}),e)){const t=this._state.getNextState("stopped",this.now());t&&this._state.cancel(t.time)}}get playbackRate(){return this._playbackRate}set playbackRate(e){this._playbackRate=e;const t=this.now(),s=this._state.getNextState("stopped",t);s&&s.implicitEnd&&(this._state.cancel(s.time),this._activeSources.forEach(i=>i.cancelStop())),this._activeSources.forEach(i=>{i.playbackRate.setValueAtTime(e,t)})}get reverse(){return this._buffer.reverse}set reverse(e){this._buffer.reverse=e}get loaded(){return this._buffer.loaded}dispose(){return super.dispose(),this._activeSources.forEach(e=>e.dispose()),this._activeSources.clear(),this._buffer.dispose(),this}}un([Xn(0)],Dr.prototype,"fadeIn",void 0);un([Xn(0)],Dr.prototype,"fadeOut",void 0);class z2 extends Cn{constructor(){super(...arguments),this.name="GainToAudio",this._norm=new Qs({context:this.context,mapping:e=>Math.abs(e)*2-1}),this.input=this._norm,this.output=this._norm}dispose(){return super.dispose(),this._norm.dispose(),this}}class Ht extends he{constructor(){super(W(Ht.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="Envelope",this._sig=new qe({context:this.context,value:0}),this.output=this._sig,this.input=void 0;const e=W(Ht.getDefaults(),arguments,["attack","decay","sustain","release"]);this.attack=e.attack,this.decay=e.decay,this.sustain=e.sustain,this.release=e.release,this.attackCurve=e.attackCurve,this.releaseCurve=e.releaseCurve,this.decayCurve=e.decayCurve}static getDefaults(){return Object.assign(he.getDefaults(),{attack:.01,attackCurve:"linear",decay:.1,decayCurve:"exponential",release:1,releaseCurve:"exponential",sustain:.5})}get value(){return this.getValueAtTime(this.now())}_getCurve(e,t){if(qn(e))return e;{let s;for(s in mo)if(mo[s][t]===e)return s;return e}}_setCurve(e,t,s){if(qn(s)&&Reflect.has(mo,s)){const i=mo[s];Us(i)?e!=="_decayCurve"&&(this[e]=i[t]):this[e]=i}else if(Ft(s)&&e!=="_decayCurve")this[e]=s;else throw new Error("Envelope: invalid curve: "+s)}get attackCurve(){return this._getCurve(this._attackCurve,"In")}set attackCurve(e){this._setCurve("_attackCurve","In",e)}get releaseCurve(){return this._getCurve(this._releaseCurve,"Out")}set releaseCurve(e){this._setCurve("_releaseCurve","Out",e)}get decayCurve(){return this._getCurve(this._decayCurve,"Out")}set decayCurve(e){this._setCurve("_decayCurve","Out",e)}triggerAttack(e,t=1){this.log("triggerAttack",e,t),e=this.toSeconds(e);let i=this.toSeconds(this.attack);const r=this.toSeconds(this.decay),o=this.getValueAtTime(e);if(o>0){const a=1/i;i=(1-o)/a}if(i0){const s=this.toSeconds(this.release);s{let e,t;const s=[];for(e=0;e<128;e++)s[e]=Math.sin(e/(128-1)*(Math.PI/2));const i=[],r=6.4;for(e=0;e<128-1;e++){t=e/(128-1);const d=Math.sin(t*(Math.PI*2)*r-Math.PI/2)+1;i[e]=d/10+t*.83}i[128-1]=1;const o=[],a=5;for(e=0;e<128;e++)o[e]=Math.ceil(e/(128-1)*a)/a;const c=[];for(e=0;e<128;e++)t=e/(128-1),c[e]=.5*(1-Math.cos(Math.PI*t));const l=[];for(e=0;e<128;e++){t=e/(128-1);const d=Math.pow(t,3)*4+.2,f=Math.cos(d*Math.PI*2*t);l[e]=Math.abs(f*(1-t))}function u(d){const f=new Array(d.length);for(let p=0;pthis._original_triggerRelease(t);const e=W(jn.getDefaults(),arguments);this._volume=this.output=new Xs({context:this.context,volume:e.volume}),this.volume=this._volume.volume,ke(this,"volume")}static getDefaults(){return Object.assign(he.getDefaults(),{volume:0})}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",0),this.context.transport.on("stop",this._syncedRelease),this.context.transport.on("pause",this._syncedRelease),this.context.transport.on("loopEnd",this._syncedRelease)),this}_syncState(){let e=!1;return this._synced||(this._synced=!0,e=!0),e}_syncMethod(e,t){const s=this["_original_"+e]=this[e];this[e]=(...i)=>{const r=i[t],o=this.context.transport.schedule(a=>{i[t]=a,s.apply(this,i)},r);this._scheduledEvents.push(o)}}unsync(){return this._scheduledEvents.forEach(e=>this.context.transport.clear(e)),this._scheduledEvents=[],this._synced&&(this._synced=!1,this.triggerAttack=this._original_triggerAttack,this.triggerRelease=this._original_triggerRelease,this.context.transport.off("stop",this._syncedRelease),this.context.transport.off("pause",this._syncedRelease),this.context.transport.off("loopEnd",this._syncedRelease)),this}triggerAttackRelease(e,t,s,i){const r=this.toSeconds(s),o=this.toSeconds(t);return this.triggerAttack(e,r,i),this.triggerRelease(r+o),this}dispose(){return super.dispose(),this._volume.dispose(),this.unsync(),this._scheduledEvents=[],this}}class An extends jn{constructor(){super(W(An.getDefaults(),arguments));const e=W(An.getDefaults(),arguments);this.portamento=e.portamento,this.onsilence=e.onsilence}static getDefaults(){return Object.assign(jn.getDefaults(),{detune:0,onsilence:Fe,portamento:0})}triggerAttack(e,t,s=1){this.log("triggerAttack",e,t,s);const i=this.toSeconds(t);return this._triggerEnvelopeAttack(i,s),this.setNote(e,i),this}triggerRelease(e){this.log("triggerRelease",e);const t=this.toSeconds(e);return this._triggerEnvelopeRelease(t),this}setNote(e,t){const s=this.toSeconds(t),i=e instanceof Mt?e.toFrequency():e;if(this.portamento>0&&this.getLevelAtTime(s)>.05){const r=this.toSeconds(this.portamento);this.frequency.exponentialRampTo(i,r,s)}else this.frequency.setValueAtTime(i,s);return this}}un([Xn(0)],An.prototype,"portamento",void 0);class Ka extends Ht{constructor(){super(W(Ka.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="AmplitudeEnvelope",this._gainNode=new De({context:this.context,gain:0}),this.output=this._gainNode,this.input=this._gainNode,this._sig.connect(this._gainNode.gain),this.output=this._gainNode,this.input=this._gainNode}dispose(){return super.dispose(),this._gainNode.dispose(),this}}class $i extends An{constructor(){super(W($i.getDefaults(),arguments)),this.name="Synth";const e=W($i.getDefaults(),arguments);this.oscillator=new Js(Object.assign({context:this.context,detune:e.detune,onstop:()=>this.onsilence(this)},e.oscillator)),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.envelope=new Ka(Object.assign({context:this.context},e.envelope)),this.oscillator.chain(this.envelope,this.output),ke(this,["oscillator","frequency","detune","envelope"])}static getDefaults(){return Object.assign(An.getDefaults(),{envelope:Object.assign($s(Ht.getDefaults(),Object.keys(he.getDefaults())),{attack:.005,decay:.1,release:1,sustain:.3}),oscillator:Object.assign($s(Js.getDefaults(),[...Object.keys(bt.getDefaults()),"frequency","detune"]),{type:"triangle"})})}_triggerEnvelopeAttack(e,t){if(this.envelope.triggerAttack(e,t),this.oscillator.start(e),this.envelope.sustain===0){const s=this.toSeconds(this.envelope.attack),i=this.toSeconds(this.envelope.decay);this.oscillator.stop(e+s+i)}}_triggerEnvelopeRelease(e){this.envelope.triggerRelease(e),this.oscillator.stop(e+this.toSeconds(this.envelope.release))}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this.oscillator.dispose(),this.envelope.dispose(),this}}class Pr extends he{constructor(){super(W(Pr.getDefaults(),arguments,["frequency","type"])),this.name="BiquadFilter";const e=W(Pr.getDefaults(),arguments,["frequency","type"]);this._filter=this.context.createBiquadFilter(),this.input=this.output=this._filter,this.Q=new Te({context:this.context,units:"number",value:e.Q,param:this._filter.Q}),this.frequency=new Te({context:this.context,units:"frequency",value:e.frequency,param:this._filter.frequency}),this.detune=new Te({context:this.context,units:"cents",value:e.detune,param:this._filter.detune}),this.gain=new Te({context:this.context,units:"decibels",convert:!1,value:e.gain,param:this._filter.gain}),this.type=e.type}static getDefaults(){return Object.assign(he.getDefaults(),{Q:1,type:"lowpass",frequency:350,detune:0,gain:0})}get type(){return this._filter.type}set type(e){pe(["lowpass","highpass","bandpass","lowshelf","highshelf","notch","allpass","peaking"].indexOf(e)!==-1,`Invalid filter type: ${e}`),this._filter.type=e}getFrequencyResponse(e=128){const t=new Float32Array(e);for(let o=0;os.type=e)}get rolloff(){return this._rolloff}set rolloff(e){const t=Bn(e)?e:parseInt(e,10),s=[-12,-24,-48,-96];let i=s.indexOf(t);pe(i!==-1,`rolloff can only be ${s.join(", ")}`),i+=1,this._rolloff=t,this.input.disconnect(),this._filters.forEach(r=>r.disconnect()),this._filters=new Array(i);for(let r=0;r1);return this._filters.forEach(()=>{t.getFrequencyResponse(e).forEach((r,o)=>s[o]*=r)}),t.dispose(),s}dispose(){return super.dispose(),this._filters.forEach(e=>{e.dispose()}),Yl(this,["detune","frequency","gain","Q"]),this.frequency.dispose(),this.Q.dispose(),this.detune.dispose(),this.gain.dispose(),this}}class Fr extends Ht{constructor(){super(W(Fr.getDefaults(),arguments,["attack","decay","sustain","release"])),this.name="FrequencyEnvelope";const e=W(Fr.getDefaults(),arguments,["attack","decay","sustain","release"]);this._octaves=e.octaves,this._baseFrequency=this.toFrequency(e.baseFrequency),this._exponent=this.input=new Ar({context:this.context,value:e.exponent}),this._scale=this.output=new Rr({context:this.context,min:this._baseFrequency,max:this._baseFrequency*Math.pow(2,this._octaves)}),this._sig.chain(this._exponent,this._scale)}static getDefaults(){return Object.assign(Ht.getDefaults(),{baseFrequency:200,exponent:1,octaves:4})}get baseFrequency(){return this._baseFrequency}set baseFrequency(e){const t=this.toFrequency(e);on(t,0),this._baseFrequency=t,this._scale.min=this._baseFrequency,this.octaves=this._octaves}get octaves(){return this._octaves}set octaves(e){this._octaves=e,this._scale.max=this._baseFrequency*Math.pow(2,e)}get exponent(){return this._exponent.value}set exponent(e){this._exponent.value=e}dispose(){return super.dispose(),this._exponent.dispose(),this._scale.dispose(),this}}class na extends An{constructor(){super(W(na.getDefaults(),arguments)),this.name="MonoSynth";const e=W(na.getDefaults(),arguments);this.oscillator=new Js(Object.assign(e.oscillator,{context:this.context,detune:e.detune,onstop:()=>this.onsilence(this)})),this.frequency=this.oscillator.frequency,this.detune=this.oscillator.detune,this.filter=new $r(Object.assign(e.filter,{context:this.context})),this.filterEnvelope=new Fr(Object.assign(e.filterEnvelope,{context:this.context})),this.envelope=new Ka(Object.assign(e.envelope,{context:this.context})),this.oscillator.chain(this.filter,this.envelope,this.output),this.filterEnvelope.connect(this.filter.frequency),ke(this,["oscillator","frequency","detune","filter","filterEnvelope","envelope"])}static getDefaults(){return Object.assign(An.getDefaults(),{envelope:Object.assign($s(Ht.getDefaults(),Object.keys(he.getDefaults())),{attack:.005,decay:.1,release:1,sustain:.9}),filter:Object.assign($s($r.getDefaults(),Object.keys(he.getDefaults())),{Q:1,rolloff:-12,type:"lowpass"}),filterEnvelope:Object.assign($s(Fr.getDefaults(),Object.keys(he.getDefaults())),{attack:.6,baseFrequency:200,decay:.2,exponent:2,octaves:3,release:2,sustain:.5}),oscillator:Object.assign($s(Js.getDefaults(),Object.keys(bt.getDefaults())),{type:"sawtooth"})})}_triggerEnvelopeAttack(e,t=1){if(this.envelope.triggerAttack(e,t),this.filterEnvelope.triggerAttack(e),this.oscillator.start(e),this.envelope.sustain===0){const s=this.toSeconds(this.envelope.attack),i=this.toSeconds(this.envelope.decay);this.oscillator.stop(e+s+i)}}_triggerEnvelopeRelease(e){this.envelope.triggerRelease(e),this.filterEnvelope.triggerRelease(e),this.oscillator.stop(e+this.toSeconds(this.envelope.release))}getLevelAtTime(e){return e=this.toSeconds(e),this.envelope.getValueAtTime(e)}dispose(){return super.dispose(),this.oscillator.dispose(),this.envelope.dispose(),this.filterEnvelope.dispose(),this.filter.dispose(),this}}class Vr extends $i{constructor(){super(W(Vr.getDefaults(),arguments)),this.name="MembraneSynth",this.portamento=0;const e=W(Vr.getDefaults(),arguments);this.pitchDecay=e.pitchDecay,this.octaves=e.octaves,ke(this,["oscillator","envelope"])}static getDefaults(){return Ws(An.getDefaults(),$i.getDefaults(),{envelope:{attack:.001,attackCurve:"exponential",decay:.4,release:1.4,sustain:.01},octaves:10,oscillator:{type:"sine"},pitchDecay:.05})}setNote(e,t){const s=this.toSeconds(t),i=this.toFrequency(e instanceof Mt?e.toFrequency():e),r=i*this.octaves;return this.oscillator.frequency.setValueAtTime(r,s),this.oscillator.frequency.exponentialRampToValueAtTime(i,s+this.toSeconds(this.pitchDecay)),this}dispose(){return super.dispose(),this}}un([$p(0)],Vr.prototype,"octaves",void 0);un([Xn(0)],Vr.prototype,"pitchDecay",void 0);const Fp=new Set;function nu(n){Fp.add(n)}function Vp(n,e){const t=`registerProcessor("${n}", ${e})`;Fp.add(t)}const H2=` + /** + * The base AudioWorkletProcessor for use in Tone.js. Works with the [[ToneAudioWorklet]]. + */ + class ToneAudioWorkletProcessor extends AudioWorkletProcessor { + + constructor(options) { + + super(options); + /** + * If the processor was disposed or not. Keep alive until it's disposed. + */ + this.disposed = false; + /** + * The number of samples in the processing block + */ + this.blockSize = 128; + /** + * the sample rate + */ + this.sampleRate = sampleRate; + + this.port.onmessage = (event) => { + // when it receives a dispose + if (event.data === "dispose") { + this.disposed = true; + } + }; + } + } +`;nu(H2);const G2=` + /** + * Abstract class for a single input/output processor. + * has a 'generate' function which processes one sample at a time + */ + class SingleIOProcessor extends ToneAudioWorkletProcessor { + + constructor(options) { + super(Object.assign(options, { + numberOfInputs: 1, + numberOfOutputs: 1 + })); + /** + * Holds the name of the parameter and a single value of that + * parameter at the current sample + * @type { [name: string]: number } + */ + this.params = {} + } + + /** + * Generate an output sample from the input sample and parameters + * @abstract + * @param input number + * @param channel number + * @param parameters { [name: string]: number } + * @returns number + */ + generate(){} + + /** + * Update the private params object with the + * values of the parameters at the given index + * @param parameters { [name: string]: Float32Array }, + * @param index number + */ + updateParams(parameters, index) { + for (const paramName in parameters) { + const param = parameters[paramName]; + if (param.length > 1) { + this.params[paramName] = parameters[paramName][index]; + } else { + this.params[paramName] = parameters[paramName][0]; + } + } + } + + /** + * Process a single frame of the audio + * @param inputs Float32Array[][] + * @param outputs Float32Array[][] + */ + process(inputs, outputs, parameters) { + const input = inputs[0]; + const output = outputs[0]; + // get the parameter values + const channelCount = Math.max(input && input.length || 0, output.length); + for (let sample = 0; sample < this.blockSize; sample++) { + this.updateParams(parameters, sample); + for (let channel = 0; channel < channelCount; channel++) { + const inputSample = input && input.length ? input[channel][sample] : 0; + output[channel][sample] = this.generate(inputSample, channel, this.params); + } + } + return !this.disposed; + } + }; +`;nu(G2);const K2=` + /** + * A multichannel buffer for use within an AudioWorkletProcessor as a delay line + */ + class DelayLine { + + constructor(size, channels) { + this.buffer = []; + this.writeHead = [] + this.size = size; + + // create the empty channels + for (let i = 0; i < channels; i++) { + this.buffer[i] = new Float32Array(this.size); + this.writeHead[i] = 0; + } + } + + /** + * Push a value onto the end + * @param channel number + * @param value number + */ + push(channel, value) { + this.writeHead[channel] += 1; + if (this.writeHead[channel] > this.size) { + this.writeHead[channel] = 0; + } + this.buffer[channel][this.writeHead[channel]] = value; + } + + /** + * Get the recorded value of the channel given the delay + * @param channel number + * @param delay number delay samples + */ + get(channel, delay) { + let readHead = this.writeHead[channel] - Math.floor(delay); + if (readHead < 0) { + readHead += this.size; + } + return this.buffer[channel][readHead]; + } + } +`;nu(K2);const Y2="feedback-comb-filter",Z2=` + class FeedbackCombFilterWorklet extends SingleIOProcessor { + + constructor(options) { + super(options); + this.delayLine = new DelayLine(this.sampleRate, options.channelCount || 2); + } + + static get parameterDescriptors() { + return [{ + name: "delayTime", + defaultValue: 0.1, + minValue: 0, + maxValue: 1, + automationRate: "k-rate" + }, { + name: "feedback", + defaultValue: 0.5, + minValue: 0, + maxValue: 0.9999, + automationRate: "k-rate" + }]; + } + + generate(input, channel, parameters) { + const delayedSample = this.delayLine.get(channel, parameters.delayTime * this.sampleRate); + this.delayLine.push(channel, input + delayedSample * parameters.feedback); + return delayedSample; + } + } +`;Vp(Y2,Z2);class sa extends jn{constructor(){super(W(sa.getDefaults(),arguments,["voice","options"])),this.name="PolySynth",this._availableVoices=[],this._activeVoices=[],this._voices=[],this._gcTimeout=-1,this._averageActiveVoices=0,this._syncedRelease=i=>this.releaseAll(i);const e=W(sa.getDefaults(),arguments,["voice","options"]);pe(!Bn(e.voice),"DEPRECATED: The polyphony count is no longer the first argument.");const t=e.voice.getDefaults();this.options=Object.assign(t,e.options),this.voice=e.voice,this.maxPolyphony=e.maxPolyphony,this._dummyVoice=this._getNextAvailableVoice();const s=this._voices.indexOf(this._dummyVoice);this._voices.splice(s,1),this._gcTimeout=this.context.setInterval(this._collectGarbage.bind(this),1)}static getDefaults(){return Object.assign(jn.getDefaults(),{maxPolyphony:32,options:{},voice:$i})}get activeVoices(){return this._activeVoices.length}_makeVoiceAvailable(e){this._availableVoices.push(e);const t=this._activeVoices.findIndex(s=>s.voice===e);this._activeVoices.splice(t,1)}_getNextAvailableVoice(){if(this._availableVoices.length)return this._availableVoices.shift();if(this._voices.lengthMath.ceil(this._averageActiveVoices+1)){const e=this._availableVoices.shift(),t=this._voices.indexOf(e);this._voices.splice(t,1),this.context.isOffline||e.dispose()}}_triggerAttack(e,t,s){e.forEach(i=>{const r=new Cr(this.context,i).toMidi(),o=this._getNextAvailableVoice();o&&(o.triggerAttack(i,t,s),this._activeVoices.push({midi:r,voice:o,released:!1}),this.log("triggerAttack",i,t))})}_triggerRelease(e,t){e.forEach(s=>{const i=new Cr(this.context,s).toMidi(),r=this._activeVoices.find(({midi:o,released:a})=>o===i&&!a);r&&(r.voice.triggerRelease(t),r.released=!0,this.log("triggerRelease",s,t))})}_scheduleEvent(e,t,s,i){pe(!this.disposed,"Synth was already disposed"),s<=this.now()?e==="attack"?this._triggerAttack(t,s,i):this._triggerRelease(t,s):this.context.setTimeout(()=>{this.disposed||this._scheduleEvent(e,t,s,i)},s-this.now())}triggerAttack(e,t,s){Array.isArray(e)||(e=[e]);const i=this.toSeconds(t);return this._scheduleEvent("attack",e,i,s),this}triggerRelease(e,t){Array.isArray(e)||(e=[e]);const s=this.toSeconds(t);return this._scheduleEvent("release",e,s),this}triggerAttackRelease(e,t,s,i){const r=this.toSeconds(s);if(this.triggerAttack(e,r,i),Ft(t)){pe(Ft(e),"If the duration is an array, the notes must also be an array"),e=e;for(let o=0;o0,"The duration must be greater than 0"),this.triggerRelease(e[o],r+c)}}else{const o=this.toSeconds(t);pe(o>0,"The duration must be greater than 0"),this.triggerRelease(e,r+o)}return this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1),this.context.transport.on("stop",this._syncedRelease),this.context.transport.on("pause",this._syncedRelease),this.context.transport.on("loopEnd",this._syncedRelease)),this}set(e){const t=$s(e,["onsilence","context"]);return this.options=Ws(this.options,t),this._voices.forEach(s=>s.set(t)),this._dummyVoice.set(t),this}get(){return this._dummyVoice.get()}releaseAll(e){const t=this.toSeconds(e);return this._activeVoices.forEach(({voice:s})=>{s.triggerRelease(t)}),this}dispose(){return super.dispose(),this._dummyVoice.dispose(),this._voices.forEach(e=>e.dispose()),this._activeVoices=[],this._availableVoices=[],this.context.clearInterval(this._gcTimeout),this}}class Lr extends jn{constructor(){super(W(Lr.getDefaults(),arguments,["urls","onload","baseUrl"],"urls")),this.name="Sampler",this._activeSources=new Map;const e=W(Lr.getDefaults(),arguments,["urls","onload","baseUrl"],"urls"),t={};Object.keys(e.urls).forEach(s=>{const i=parseInt(s,10);if(pe(po(s)||Bn(i)&&isFinite(i),`url key is neither a note or midi pitch: ${s}`),po(s)){const r=new Mt(this.context,s).toMidi();t[r]=e.urls[s]}else Bn(i)&&isFinite(i)&&(t[i]=e.urls[i])}),this._buffers=new Ql({urls:t,onload:e.onload,baseUrl:e.baseUrl,onerror:e.onerror}),this.attack=e.attack,this.release=e.release,this.curve=e.curve,this._buffers.loaded&&Promise.resolve().then(e.onload)}static getDefaults(){return Object.assign(jn.getDefaults(),{attack:0,baseUrl:"",curve:"exponential",onload:Fe,onerror:Fe,release:.1,urls:{}})}_findClosest(e){let s=0;for(;s<96;){if(this._buffers.has(e+s))return-s;if(this._buffers.has(e-s))return s;s++}throw new Error(`No available buffers for note: ${e}`)}triggerAttack(e,t,s=1){return this.log("triggerAttack",e,t,s),Array.isArray(e)||(e=[e]),e.forEach(i=>{const r=kp(new Mt(this.context,i).toFrequency()),o=Math.round(r),a=r-o,c=this._findClosest(o),l=o-c,u=this._buffers.get(l),h=Mp(c+a),d=new Di({url:u,context:this.context,curve:this.curve,fadeIn:this.attack,fadeOut:this.release,playbackRate:h}).connect(this.output);d.start(t,0,u.duration/h,s),Ft(this._activeSources.get(o))||this._activeSources.set(o,[]),this._activeSources.get(o).push(d),d.onended=()=>{if(this._activeSources&&this._activeSources.has(o)){const f=this._activeSources.get(o),p=f.indexOf(d);p!==-1&&f.splice(p,1)}}}),this}triggerRelease(e,t){return this.log("triggerRelease",e,t),Array.isArray(e)||(e=[e]),e.forEach(s=>{const i=new Mt(this.context,s).toMidi();if(this._activeSources.has(i)&&this._activeSources.get(i).length){const r=this._activeSources.get(i);t=this.toSeconds(t),r.forEach(o=>{o.stop(t)}),this._activeSources.set(i,[])}}),this}releaseAll(e){const t=this.toSeconds(e);return this._activeSources.forEach(s=>{for(;s.length;)s.shift().stop(t)}),this}sync(){return this._syncState()&&(this._syncMethod("triggerAttack",1),this._syncMethod("triggerRelease",1)),this}triggerAttackRelease(e,t,s,i=1){const r=this.toSeconds(s);return this.triggerAttack(e,r,i),Ft(t)?(pe(Ft(e),"notes must be an array when duration is array"),e.forEach((o,a)=>{const c=t[Math.min(a,t.length-1)];this.triggerRelease(o,r+this.toSeconds(c))})):this.triggerRelease(e,r+this.toSeconds(t)),this}add(e,t,s){if(pe(po(e)||isFinite(e),`note must be a pitch or midi: ${e}`),po(e)){const i=new Mt(this.context,e).toMidi();this._buffers.add(i,t,s)}else this._buffers.add(e,t,s);return this}get loaded(){return this._buffers.loaded}dispose(){return super.dispose(),this._buffers.dispose(),this._activeSources.forEach(e=>{e.forEach(t=>t.dispose())}),this._activeSources.clear(),this}}un([Xn(0)],Lr.prototype,"attack",void 0);un([Xn(0)],Lr.prototype,"release",void 0);class ia extends he{constructor(){super(Object.assign(W(ia.getDefaults(),arguments,["fade"]))),this.name="CrossFade",this._panner=this.context.createStereoPanner(),this._split=this.context.createChannelSplitter(2),this._g2a=new z2({context:this.context}),this.a=new De({context:this.context,gain:0}),this.b=new De({context:this.context,gain:0}),this.output=new De({context:this.context}),this._internalChannels=[this.a,this.b];const e=W(ia.getDefaults(),arguments,["fade"]);this.fade=new qe({context:this.context,units:"normalRange",value:e.fade}),ke(this,"fade"),this.context.getConstant(1).connect(this._panner),this._panner.connect(this._split),this._panner.channelCount=1,this._panner.channelCountMode="explicit",Un(this._split,this.a.gain,0),Un(this._split,this.b.gain,1),this.fade.chain(this._g2a,this._panner.pan),this.a.connect(this.output),this.b.connect(this.output)}static getDefaults(){return Object.assign(he.getDefaults(),{fade:.5})}dispose(){return super.dispose(),this.a.dispose(),this.b.dispose(),this.output.dispose(),this.fade.dispose(),this._g2a.dispose(),this._panner.disconnect(),this._split.disconnect(),this}}class Fi extends he{constructor(e){super(e),this.name="Effect",this._dryWet=new ia({context:this.context}),this.wet=this._dryWet.fade,this.effectSend=new De({context:this.context}),this.effectReturn=new De({context:this.context}),this.input=new De({context:this.context}),this.output=this._dryWet,this.input.fan(this._dryWet.a,this.effectSend),this.effectReturn.connect(this._dryWet.b),this.wet.setValueAtTime(e.wet,0),this._internalChannels=[this.effectReturn,this.effectSend],ke(this,"wet")}static getDefaults(){return Object.assign(he.getDefaults(),{wet:1})}connectEffect(e){return this._internalChannels.push(e),this.effectSend.chain(e,this.effectReturn),this}dispose(){return super.dispose(),this._dryWet.dispose(),this.effectSend.dispose(),this.effectReturn.dispose(),this.wet.dispose(),this}}class Ah extends Fi{constructor(e){super(e),this.name="LFOEffect",this._lfo=new ta({context:this.context,frequency:e.frequency,amplitude:e.depth}),this.depth=this._lfo.amplitude,this.frequency=this._lfo.frequency,this.type=e.type,ke(this,["frequency","depth"])}static getDefaults(){return Object.assign(Fi.getDefaults(),{frequency:1,type:"sine",depth:1})}start(e){return this._lfo.start(e),this}stop(e){return this._lfo.stop(e),this}sync(){return this._lfo.sync(),this}unsync(){return this._lfo.unsync(),this}get type(){return this._lfo.type}set type(e){this._lfo.type=e}dispose(){return super.dispose(),this._lfo.dispose(),this.frequency.dispose(),this.depth.dispose(),this}}class Br extends he{constructor(){super(Object.assign(W(Br.getDefaults(),arguments,["pan"]))),this.name="Panner",this._panner=this.context.createStereoPanner(),this.input=this._panner,this.output=this._panner;const e=W(Br.getDefaults(),arguments,["pan"]);this.pan=new Te({context:this.context,param:this._panner.pan,value:e.pan,minValue:-1,maxValue:1}),this._panner.channelCount=e.channelCount,this._panner.channelCountMode="explicit",ke(this,"pan")}static getDefaults(){return Object.assign(he.getDefaults(),{pan:0,channelCount:1})}dispose(){return super.dispose(),this._panner.disconnect(),this.pan.dispose(),this}}class ra extends Ah{constructor(){super(W(ra.getDefaults(),arguments,["frequency"])),this.name="AutoPanner";const e=W(ra.getDefaults(),arguments,["frequency"]);this._panner=new Br({context:this.context,channelCount:e.channelCount}),this.connectEffect(this._panner),this._lfo.connect(this._panner.pan),this._lfo.min=-1,this._lfo.max=1}static getDefaults(){return Object.assign(Ah.getDefaults(),{channelCount:1})}dispose(){return super.dispose(),this._panner.dispose(),this}}const X2="bit-crusher",Q2=` + class BitCrusherWorklet extends SingleIOProcessor { + + static get parameterDescriptors() { + return [{ + name: "bits", + defaultValue: 12, + minValue: 1, + maxValue: 16, + automationRate: 'k-rate' + }]; + } + + generate(input, _channel, parameters) { + const step = Math.pow(0.5, parameters.bits - 1); + const val = step * Math.floor(input / step + 0.5); + return val; + } + } +`;Vp(X2,Q2);class oa extends he{constructor(){super(W(oa.getDefaults(),arguments,["channels"])),this.name="Merge";const e=W(oa.getDefaults(),arguments,["channels"]);this._merger=this.output=this.input=this.context.createChannelMerger(e.channels)}static getDefaults(){return Object.assign(he.getDefaults(),{channels:2})}dispose(){return super.dispose(),this._merger.disconnect(),this}}class Nh extends Fi{constructor(e){super(e),this.name="FeedbackEffect",this._feedbackGain=new De({context:this.context,gain:e.feedback,units:"normalRange"}),this.feedback=this._feedbackGain.gain,ke(this,"feedback"),this.effectReturn.chain(this._feedbackGain,this.effectSend)}static getDefaults(){return Object.assign(Fi.getDefaults(),{feedback:.125})}dispose(){return super.dispose(),this._feedbackGain.dispose(),this.feedback.dispose(),this}}class aa extends Nh{constructor(){super(W(aa.getDefaults(),arguments,["delayTime","feedback"])),this.name="FeedbackDelay";const e=W(aa.getDefaults(),arguments,["delayTime","feedback"]);this._delayNode=new Qo({context:this.context,delayTime:e.delayTime,maxDelay:e.maxDelay}),this.delayTime=this._delayNode.delayTime,this.connectEffect(this._delayNode),ke(this,"delayTime")}static getDefaults(){return Object.assign(Nh.getDefaults(),{delayTime:.25,maxDelay:1})}dispose(){return super.dispose(),this._delayNode.dispose(),this.delayTime.dispose(),this}}class ca extends Fi{constructor(){super(W(ca.getDefaults(),arguments,["decay"])),this.name="Reverb",this._convolver=this.context.createConvolver(),this.ready=Promise.resolve();const e=W(ca.getDefaults(),arguments,["decay"]);this._decay=e.decay,this._preDelay=e.preDelay,this.generate(),this.connectEffect(this._convolver)}static getDefaults(){return Object.assign(Fi.getDefaults(),{decay:1.5,preDelay:.01})}get decay(){return this._decay}set decay(e){e=this.toSeconds(e),on(e,.001),this._decay=e,this.generate()}get preDelay(){return this._preDelay}set preDelay(e){e=this.toSeconds(e),on(e,0),this._preDelay=e,this.generate()}generate(){return tt(this,void 0,void 0,function*(){const e=this.ready,t=new za(2,this._decay+this._preDelay,this.context.sampleRate),s=new Nr({context:t}),i=new Nr({context:t}),r=new oa({context:t});s.connect(r,0,0),i.connect(r,0,1);const o=new De({context:t}).toDestination();r.connect(o),s.start(0),i.start(0),o.gain.setValueAtTime(0,0),o.gain.setValueAtTime(1,this._preDelay),o.gain.exponentialApproachValueAtTime(0,this._preDelay,this.decay);const a=t.render();return this.ready=a.then(Fe),yield e,this._convolver.buffer=(yield a).get(),this})}dispose(){return super.dispose(),this._convolver.disconnect(),this}}class Je extends he{constructor(){super(W(Je.getDefaults(),arguments,["solo"])),this.name="Solo";const e=W(Je.getDefaults(),arguments,["solo"]);this.input=this.output=new De({context:this.context}),Je._allSolos.has(this.context)||Je._allSolos.set(this.context,new Set),Je._allSolos.get(this.context).add(this),this.solo=e.solo}static getDefaults(){return Object.assign(he.getDefaults(),{solo:!1})}get solo(){return this._isSoloed()}set solo(e){e?this._addSolo():this._removeSolo(),Je._allSolos.get(this.context).forEach(t=>t._updateSolo())}get muted(){return this.input.gain.value===0}_addSolo(){Je._soloed.has(this.context)||Je._soloed.set(this.context,new Set),Je._soloed.get(this.context).add(this)}_removeSolo(){Je._soloed.has(this.context)&&Je._soloed.get(this.context).delete(this)}_isSoloed(){return Je._soloed.has(this.context)&&Je._soloed.get(this.context).has(this)}_noSolos(){return!Je._soloed.has(this.context)||Je._soloed.has(this.context)&&Je._soloed.get(this.context).size===0}_updateSolo(){this._isSoloed()?this.input.gain.value=1:this._noSolos()?this.input.gain.value=1:this.input.gain.value=0}dispose(){return super.dispose(),Je._allSolos.get(this.context).delete(this),this._removeSolo(),this}}Je._allSolos=new Map;Je._soloed=new Map;class la extends he{constructor(){super(W(la.getDefaults(),arguments,["pan","volume"])),this.name="PanVol";const e=W(la.getDefaults(),arguments,["pan","volume"]);this._panner=this.input=new Br({context:this.context,pan:e.pan,channelCount:e.channelCount}),this.pan=this._panner.pan,this._volume=this.output=new Xs({context:this.context,volume:e.volume}),this.volume=this._volume.volume,this._panner.connect(this._volume),this.mute=e.mute,ke(this,["pan","volume"])}static getDefaults(){return Object.assign(he.getDefaults(),{mute:!1,pan:0,volume:0,channelCount:1})}get mute(){return this._volume.mute}set mute(e){this._volume.mute=e}dispose(){return super.dispose(),this._panner.dispose(),this.pan.dispose(),this._volume.dispose(),this.volume.dispose(),this}}class Ds extends he{constructor(){super(W(Ds.getDefaults(),arguments,["volume","pan"])),this.name="Channel";const e=W(Ds.getDefaults(),arguments,["volume","pan"]);this._solo=this.input=new Je({solo:e.solo,context:this.context}),this._panVol=this.output=new la({context:this.context,pan:e.pan,volume:e.volume,mute:e.mute,channelCount:e.channelCount}),this.pan=this._panVol.pan,this.volume=this._panVol.volume,this._solo.connect(this._panVol),ke(this,["pan","volume"])}static getDefaults(){return Object.assign(he.getDefaults(),{pan:0,volume:0,mute:!1,solo:!1,channelCount:1})}get solo(){return this._solo.solo}set solo(e){this._solo.solo=e}get muted(){return this._solo.muted||this.mute}get mute(){return this._panVol.mute}set mute(e){this._panVol.mute=e}_getBus(e){return Ds.buses.has(e)||Ds.buses.set(e,new De({context:this.context})),Ds.buses.get(e)}send(e,t=0){const s=this._getBus(e),i=new De({context:this.context,units:"decibels",gain:t});return this.connect(i),i.connect(s),i}receive(e){return this._getBus(e).connect(this),this}dispose(){return super.dispose(),this._panVol.dispose(),this.pan.dispose(),this.volume.dispose(),this._solo.dispose(),this}}Ds.buses=new Map;let J2=class extends he{constructor(){super(...arguments),this.name="Listener",this.positionX=new Te({context:this.context,param:this.context.rawContext.listener.positionX}),this.positionY=new Te({context:this.context,param:this.context.rawContext.listener.positionY}),this.positionZ=new Te({context:this.context,param:this.context.rawContext.listener.positionZ}),this.forwardX=new Te({context:this.context,param:this.context.rawContext.listener.forwardX}),this.forwardY=new Te({context:this.context,param:this.context.rawContext.listener.forwardY}),this.forwardZ=new Te({context:this.context,param:this.context.rawContext.listener.forwardZ}),this.upX=new Te({context:this.context,param:this.context.rawContext.listener.upX}),this.upY=new Te({context:this.context,param:this.context.rawContext.listener.upY}),this.upZ=new Te({context:this.context,param:this.context.rawContext.listener.upZ})}static getDefaults(){return Object.assign(he.getDefaults(),{positionX:0,positionY:0,positionZ:0,forwardX:0,forwardY:0,forwardZ:-1,upX:0,upY:1,upZ:0})}dispose(){return super.dispose(),this.positionX.dispose(),this.positionY.dispose(),this.positionZ.dispose(),this.forwardX.dispose(),this.forwardY.dispose(),this.forwardZ.dispose(),this.upX.dispose(),this.upY.dispose(),this.upZ.dispose(),this}};ja(n=>{n.listener=new J2({context:n})});Wa(n=>{n.listener.dispose()});class ua extends he{constructor(){super(W(ua.getDefaults(),arguments,["threshold","ratio"])),this.name="Compressor",this._compressor=this.context.createDynamicsCompressor(),this.input=this._compressor,this.output=this._compressor;const e=W(ua.getDefaults(),arguments,["threshold","ratio"]);this.threshold=new Te({minValue:this._compressor.threshold.minValue,maxValue:this._compressor.threshold.maxValue,context:this.context,convert:!1,param:this._compressor.threshold,units:"decibels",value:e.threshold}),this.attack=new Te({minValue:this._compressor.attack.minValue,maxValue:this._compressor.attack.maxValue,context:this.context,param:this._compressor.attack,units:"time",value:e.attack}),this.release=new Te({minValue:this._compressor.release.minValue,maxValue:this._compressor.release.maxValue,context:this.context,param:this._compressor.release,units:"time",value:e.release}),this.knee=new Te({minValue:this._compressor.knee.minValue,maxValue:this._compressor.knee.maxValue,context:this.context,convert:!1,param:this._compressor.knee,units:"decibels",value:e.knee}),this.ratio=new Te({minValue:this._compressor.ratio.minValue,maxValue:this._compressor.ratio.maxValue,context:this.context,convert:!1,param:this._compressor.ratio,units:"positive",value:e.ratio}),ke(this,["knee","release","attack","ratio","threshold"])}static getDefaults(){return Object.assign(he.getDefaults(),{attack:.003,knee:30,ratio:12,release:.25,threshold:-24})}get reduction(){return this._compressor.reduction}dispose(){return super.dispose(),this._compressor.disconnect(),this.attack.dispose(),this.release.dispose(),this.threshold.dispose(),this.ratio.dispose(),this.knee.dispose(),this}}const gc=Pt().transport;Pt().destination;Pt().destination;Pt().listener;Pt().draw;Pt();class en{constructor(e=!1){this.eventMap={},this.eventsSuspended=e==!0}addListener(e,t,s={}){if(typeof e=="string"&&e.length<1||e instanceof String&&e.length<1||typeof e!="string"&&!(e instanceof String)&&e!==en.ANY_EVENT)throw new TypeError("The 'event' parameter must be a string or EventEmitter.ANY_EVENT.");if(typeof t!="function")throw new TypeError("The callback must be a function.");const i=new Mh(e,this,t,s);return this.eventMap[e]||(this.eventMap[e]=[]),s.prepend?this.eventMap[e].unshift(i):this.eventMap[e].push(i),i}addOneTimeListener(e,t,s={}){s.remaining=1,this.addListener(e,t,s)}static get ANY_EVENT(){return Symbol.for("Any event")}hasListener(e,t){return e===void 0?this.eventMap[en.ANY_EVENT]&&this.eventMap[en.ANY_EVENT].length>0?!0:Object.entries(this.eventMap).some(([,s])=>s.length>0):this.eventMap[e]&&this.eventMap[e].length>0?t instanceof Mh?this.eventMap[e].filter(i=>i===t).length>0:typeof t=="function"?this.eventMap[e].filter(i=>i.callback===t).length>0:t==null:!1}get eventNames(){return Object.keys(this.eventMap)}getListeners(e){return this.eventMap[e]||[]}suspendEvent(e){this.getListeners(e).forEach(t=>{t.suspended=!0})}unsuspendEvent(e){this.getListeners(e).forEach(t=>{t.suspended=!1})}getListenerCount(e){return this.getListeners(e).length}emit(e,...t){if(typeof e!="string"&&!(e instanceof String))throw new TypeError("The 'event' parameter must be a string.");if(this.eventsSuspended)return;let s=[],i=this.eventMap[en.ANY_EVENT]||[];return this.eventMap[e]&&(i=i.concat(this.eventMap[e])),i.forEach(r=>{if(r.suspended)return;let o=[...t];Array.isArray(r.arguments)&&(o=o.concat(r.arguments)),r.remaining>0&&(s.push(r.callback.apply(r.context,o)),r.count++),--r.remaining<1&&r.remove()}),s}removeListener(e,t,s={}){if(e===void 0){this.eventMap={};return}else if(!this.eventMap[e])return;let i=this.eventMap[e].filter(r=>t&&r.callback!==t||s.remaining&&s.remaining!==r.remaining||s.context&&s.context!==r.context);i.length?this.eventMap[e]=i:delete this.eventMap[e]}async waitFor(e,t={}){return t.duration=parseInt(t.duration),(isNaN(t.duration)||t.duration<=0)&&(t.duration=1/0),new Promise((s,i)=>{let r,o=this.addListener(e,()=>{clearTimeout(r),s()},{remaining:1});t.duration!==1/0&&(r=setTimeout(()=>{o.remove(),i("The duration expired before the event was emitted.")},t.duration))})}get eventCount(){return Object.keys(this.eventMap).length}}class Mh{constructor(e,t,s,i={}){if(typeof e!="string"&&!(e instanceof String)&&e!==en.ANY_EVENT)throw new TypeError("The 'event' parameter must be a string or EventEmitter.ANY_EVENT.");if(!t)throw new ReferenceError("The 'target' parameter is mandatory.");if(typeof s!="function")throw new TypeError("The 'callback' must be a function.");i.arguments!==void 0&&!Array.isArray(i.arguments)&&(i.arguments=[i.arguments]),i=Object.assign({context:t,remaining:1/0,arguments:void 0,duration:1/0},i),i.duration!==1/0&&setTimeout(()=>this.remove(),i.duration),this.arguments=i.arguments,this.callback=s,this.context=i.context,this.count=0,this.event=e,this.remaining=parseInt(i.remaining)>=1?parseInt(i.remaining):1/0,this.suspended=!1,this.target=t}remove(){this.target.removeListener(this.event,this.callback,{context:this.context,remaining:this.remaining})}}/** + * The `Enumerations` class contains enumerations and arrays of elements used throughout the + * library. All its properties are static and should be referenced using the class name. For + * example: `Enumerations.CHANNEL_MESSAGES`. + * + * @license Apache-2.0 + * @since 3.0.0 + */class q{static get MIDI_CHANNEL_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MESSAGES enum has been deprecated. Use the Enumerations.CHANNEL_MESSAGES enum instead."),q.CHANNEL_MESSAGES}static get CHANNEL_MESSAGES(){return{noteoff:8,noteon:9,keyaftertouch:10,controlchange:11,programchange:12,channelaftertouch:13,pitchbend:14}}static get CHANNEL_NUMBERS(){return[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}static get MIDI_CHANNEL_NUMBERS(){return this.validation&&console.warn("The MIDI_CHANNEL_NUMBERS array has been deprecated. Use the Enumerations.CHANNEL_NUMBERS array instead."),[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}static get CHANNEL_MODE_MESSAGES(){return{allsoundoff:120,resetallcontrollers:121,localcontrol:122,allnotesoff:123,omnimodeoff:124,omnimodeon:125,monomodeon:126,polymodeon:127}}static get MIDI_CHANNEL_MODE_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MODE_MESSAGES enum has been deprecated. Use the Enumerations.CHANNEL_MODE_MESSAGES enum instead."),q.CHANNEL_MODE_MESSAGES}static get MIDI_CONTROL_CHANGE_MESSAGES(){return this.validation&&console.warn("The MIDI_CONTROL_CHANGE_MESSAGES enum has been deprecated. Use the Enumerations.CONTROL_CHANGE_MESSAGES array instead."),{bankselectcoarse:0,modulationwheelcoarse:1,breathcontrollercoarse:2,controller3:3,footcontrollercoarse:4,portamentotimecoarse:5,dataentrycoarse:6,volumecoarse:7,balancecoarse:8,controller9:9,pancoarse:10,expressioncoarse:11,effectcontrol1coarse:12,effectcontrol2coarse:13,controller14:14,controller15:15,generalpurposeslider1:16,generalpurposeslider2:17,generalpurposeslider3:18,generalpurposeslider4:19,controller20:20,controller21:21,controller22:22,controller23:23,controller24:24,controller25:25,controller26:26,controller27:27,controller28:28,controller29:29,controller30:30,controller31:31,bankselectfine:32,modulationwheelfine:33,breathcontrollerfine:34,controller35:35,footcontrollerfine:36,portamentotimefine:37,dataentryfine:38,volumefine:39,balancefine:40,controller41:41,panfine:42,expressionfine:43,effectcontrol1fine:44,effectcontrol2fine:45,controller46:46,controller47:47,controller48:48,controller49:49,controller50:50,controller51:51,controller52:52,controller53:53,controller54:54,controller55:55,controller56:56,controller57:57,controller58:58,controller59:59,controller60:60,controller61:61,controller62:62,controller63:63,holdpedal:64,portamento:65,sustenutopedal:66,softpedal:67,legatopedal:68,hold2pedal:69,soundvariation:70,resonance:71,soundreleasetime:72,soundattacktime:73,brightness:74,soundcontrol6:75,soundcontrol7:76,soundcontrol8:77,soundcontrol9:78,soundcontrol10:79,generalpurposebutton1:80,generalpurposebutton2:81,generalpurposebutton3:82,generalpurposebutton4:83,controller84:84,controller85:85,controller86:86,controller87:87,controller88:88,controller89:89,controller90:90,reverblevel:91,tremololevel:92,choruslevel:93,celestelevel:94,phaserlevel:95,databuttonincrement:96,databuttondecrement:97,nonregisteredparametercoarse:98,nonregisteredparameterfine:99,registeredparametercoarse:100,registeredparameterfine:101,controller102:102,controller103:103,controller104:104,controller105:105,controller106:106,controller107:107,controller108:108,controller109:109,controller110:110,controller111:111,controller112:112,controller113:113,controller114:114,controller115:115,controller116:116,controller117:117,controller118:118,controller119:119,allsoundoff:120,resetallcontrollers:121,localcontrol:122,allnotesoff:123,omnimodeoff:124,omnimodeon:125,monomodeon:126,polymodeon:127}}static get CONTROL_CHANGE_MESSAGES(){return[{number:0,name:"bankselectcoarse",description:"Bank Select (Coarse)",position:"msb"},{number:1,name:"modulationwheelcoarse",description:"Modulation Wheel (Coarse)",position:"msb"},{number:2,name:"breathcontrollercoarse",description:"Breath Controller (Coarse)",position:"msb"},{number:3,name:"controller3",description:"Undefined",position:"msb"},{number:4,name:"footcontrollercoarse",description:"Foot Controller (Coarse)",position:"msb"},{number:5,name:"portamentotimecoarse",description:"Portamento Time (Coarse)",position:"msb"},{number:6,name:"dataentrycoarse",description:"Data Entry (Coarse)",position:"msb"},{number:7,name:"volumecoarse",description:"Channel Volume (Coarse)",position:"msb"},{number:8,name:"balancecoarse",description:"Balance (Coarse)",position:"msb"},{number:9,name:"controller9",description:"Controller 9 (Coarse)",position:"msb"},{number:10,name:"pancoarse",description:"Pan (Coarse)",position:"msb"},{number:11,name:"expressioncoarse",description:"Expression Controller (Coarse)",position:"msb"},{number:12,name:"effectcontrol1coarse",description:"Effect Control 1 (Coarse)",position:"msb"},{number:13,name:"effectcontrol2coarse",description:"Effect Control 2 (Coarse)",position:"msb"},{number:14,name:"controller14",description:"Undefined",position:"msb"},{number:15,name:"controller15",description:"Undefined",position:"msb"},{number:16,name:"generalpurposecontroller1",description:"General Purpose Controller 1 (Coarse)",position:"msb"},{number:17,name:"generalpurposecontroller2",description:"General Purpose Controller 2 (Coarse)",position:"msb"},{number:18,name:"generalpurposecontroller3",description:"General Purpose Controller 3 (Coarse)",position:"msb"},{number:19,name:"generalpurposecontroller4",description:"General Purpose Controller 4 (Coarse)",position:"msb"},{number:20,name:"controller20",description:"Undefined",position:"msb"},{number:21,name:"controller21",description:"Undefined",position:"msb"},{number:22,name:"controller22",description:"Undefined",position:"msb"},{number:23,name:"controller23",description:"Undefined",position:"msb"},{number:24,name:"controller24",description:"Undefined",position:"msb"},{number:25,name:"controller25",description:"Undefined",position:"msb"},{number:26,name:"controller26",description:"Undefined",position:"msb"},{number:27,name:"controller27",description:"Undefined",position:"msb"},{number:28,name:"controller28",description:"Undefined",position:"msb"},{number:29,name:"controller29",description:"Undefined",position:"msb"},{number:30,name:"controller30",description:"Undefined",position:"msb"},{number:31,name:"controller31",description:"Undefined",position:"msb"},{number:32,name:"bankselectfine",description:"Bank Select (Fine)",position:"lsb"},{number:33,name:"modulationwheelfine",description:"Modulation Wheel (Fine)",position:"lsb"},{number:34,name:"breathcontrollerfine",description:"Breath Controller (Fine)",position:"lsb"},{number:35,name:"controller35",description:"Undefined",position:"lsb"},{number:36,name:"footcontrollerfine",description:"Foot Controller (Fine)",position:"lsb"},{number:37,name:"portamentotimefine",description:"Portamento Time (Fine)",position:"lsb"},{number:38,name:"dataentryfine",description:"Data Entry (Fine)",position:"lsb"},{number:39,name:"channelvolumefine",description:"Channel Volume (Fine)",position:"lsb"},{number:40,name:"balancefine",description:"Balance (Fine)",position:"lsb"},{number:41,name:"controller41",description:"Undefined",position:"lsb"},{number:42,name:"panfine",description:"Pan (Fine)",position:"lsb"},{number:43,name:"expressionfine",description:"Expression Controller (Fine)",position:"lsb"},{number:44,name:"effectcontrol1fine",description:"Effect control 1 (Fine)",position:"lsb"},{number:45,name:"effectcontrol2fine",description:"Effect control 2 (Fine)",position:"lsb"},{number:46,name:"controller46",description:"Undefined",position:"lsb"},{number:47,name:"controller47",description:"Undefined",position:"lsb"},{number:48,name:"controller48",description:"General Purpose Controller 1 (Fine)",position:"lsb"},{number:49,name:"controller49",description:"General Purpose Controller 2 (Fine)",position:"lsb"},{number:50,name:"controller50",description:"General Purpose Controller 3 (Fine)",position:"lsb"},{number:51,name:"controller51",description:"General Purpose Controller 4 (Fine)",position:"lsb"},{number:52,name:"controller52",description:"Undefined",position:"lsb"},{number:53,name:"controller53",description:"Undefined",position:"lsb"},{number:54,name:"controller54",description:"Undefined",position:"lsb"},{number:55,name:"controller55",description:"Undefined",position:"lsb"},{number:56,name:"controller56",description:"Undefined",position:"lsb"},{number:57,name:"controller57",description:"Undefined",position:"lsb"},{number:58,name:"controller58",description:"Undefined",position:"lsb"},{number:59,name:"controller59",description:"Undefined",position:"lsb"},{number:60,name:"controller60",description:"Undefined",position:"lsb"},{number:61,name:"controller61",description:"Undefined",position:"lsb"},{number:62,name:"controller62",description:"Undefined",position:"lsb"},{number:63,name:"controller63",description:"Undefined",position:"lsb"},{number:64,name:"damperpedal",description:"Damper Pedal On/Off"},{number:65,name:"portamento",description:"Portamento On/Off"},{number:66,name:"sostenuto",description:"Sostenuto On/Off"},{number:67,name:"softpedal",description:"Soft Pedal On/Off"},{number:68,name:"legatopedal",description:"Legato Pedal On/Off"},{number:69,name:"hold2",description:"Hold 2 On/Off"},{number:70,name:"soundvariation",description:"Sound Variation",position:"lsb"},{number:71,name:"resonance",description:"Resonance",position:"lsb"},{number:72,name:"releasetime",description:"Release Time",position:"lsb"},{number:73,name:"attacktime",description:"Attack Time",position:"lsb"},{number:74,name:"brightness",description:"Brightness",position:"lsb"},{number:75,name:"decaytime",description:"Decay Time",position:"lsb"},{number:76,name:"vibratorate",description:"Vibrato Rate",position:"lsb"},{number:77,name:"vibratodepth",description:"Vibrato Depth",position:"lsb"},{number:78,name:"vibratodelay",description:"Vibrato Delay",position:"lsb"},{number:79,name:"controller79",description:"Undefined",position:"lsb"},{number:80,name:"generalpurposecontroller5",description:"General Purpose Controller 5",position:"lsb"},{number:81,name:"generalpurposecontroller6",description:"General Purpose Controller 6",position:"lsb"},{number:82,name:"generalpurposecontroller7",description:"General Purpose Controller 7",position:"lsb"},{number:83,name:"generalpurposecontroller8",description:"General Purpose Controller 8",position:"lsb"},{number:84,name:"portamentocontrol",description:"Portamento Control",position:"lsb"},{number:85,name:"controller85",description:"Undefined"},{number:86,name:"controller86",description:"Undefined"},{number:87,name:"controller87",description:"Undefined"},{number:88,name:"highresolutionvelocityprefix",description:"High Resolution Velocity Prefix",position:"lsb"},{number:89,name:"controller89",description:"Undefined"},{number:90,name:"controller90",description:"Undefined"},{number:91,name:"effect1depth",description:"Effects 1 Depth (Reverb Send Level)"},{number:92,name:"effect2depth",description:"Effects 2 Depth"},{number:93,name:"effect3depth",description:"Effects 3 Depth (Chorus Send Level)"},{number:94,name:"effect4depth",description:"Effects 4 Depth"},{number:95,name:"effect5depth",description:"Effects 5 Depth"},{number:96,name:"dataincrement",description:"Data Increment"},{number:97,name:"datadecrement",description:"Data Decrement"},{number:98,name:"nonregisteredparameterfine",description:"Non-Registered Parameter Number (Fine)",position:"lsb"},{number:99,name:"nonregisteredparametercoarse",description:"Non-Registered Parameter Number (Coarse)",position:"msb"},{number:100,name:"registeredparameterfine",description:"Registered Parameter Number (Fine)",position:"lsb"},{number:101,name:"registeredparametercoarse",description:"Registered Parameter Number (Coarse)",position:"msb"},{number:102,name:"controller102",description:"Undefined"},{number:103,name:"controller103",description:"Undefined"},{number:104,name:"controller104",description:"Undefined"},{number:105,name:"controller105",description:"Undefined"},{number:106,name:"controller106",description:"Undefined"},{number:107,name:"controller107",description:"Undefined"},{number:108,name:"controller108",description:"Undefined"},{number:109,name:"controller109",description:"Undefined"},{number:110,name:"controller110",description:"Undefined"},{number:111,name:"controller111",description:"Undefined"},{number:112,name:"controller112",description:"Undefined"},{number:113,name:"controller113",description:"Undefined"},{number:114,name:"controller114",description:"Undefined"},{number:115,name:"controller115",description:"Undefined"},{number:116,name:"controller116",description:"Undefined"},{number:117,name:"controller117",description:"Undefined"},{number:118,name:"controller118",description:"Undefined"},{number:119,name:"controller119",description:"Undefined"},{number:120,name:"allsoundoff",description:"All Sound Off"},{number:121,name:"resetallcontrollers",description:"Reset All Controllers"},{number:122,name:"localcontrol",description:"Local Control On/Off"},{number:123,name:"allnotesoff",description:"All Notes Off"},{number:124,name:"omnimodeoff",description:"Omni Mode Off"},{number:125,name:"omnimodeon",description:"Omni Mode On"},{number:126,name:"monomodeon",description:"Mono Mode On"},{number:127,name:"polymodeon",description:"Poly Mode On"}]}static get REGISTERED_PARAMETERS(){return{pitchbendrange:[0,0],channelfinetuning:[0,1],channelcoarsetuning:[0,2],tuningprogram:[0,3],tuningbank:[0,4],modulationrange:[0,5],azimuthangle:[61,0],elevationangle:[61,1],gain:[61,2],distanceratio:[61,3],maximumdistance:[61,4],maximumdistancegain:[61,5],referencedistanceratio:[61,6],panspreadangle:[61,7],rollangle:[61,8]}}static get MIDI_REGISTERED_PARAMETERS(){return this.validation&&console.warn("The MIDI_REGISTERED_PARAMETERS enum has been deprecated. Use the Enumerations.REGISTERED_PARAMETERS enum instead."),q.MIDI_REGISTERED_PARAMETERS}static get SYSTEM_MESSAGES(){return{sysex:240,timecode:241,songposition:242,songselect:243,tunerequest:246,tuningrequest:246,sysexend:247,clock:248,start:250,continue:251,stop:252,activesensing:254,reset:255,midimessage:0,unknownsystemmessage:-1}}static get MIDI_SYSTEM_MESSAGES(){return this.validation&&console.warn("The MIDI_SYSTEM_MESSAGES enum has been deprecated. Use the Enumerations.SYSTEM_MESSAGES enum instead."),q.SYSTEM_MESSAGES}static get CHANNEL_EVENTS(){return["noteoff","controlchange","noteon","keyaftertouch","programchange","channelaftertouch","pitchbend","allnotesoff","allsoundoff","localcontrol","monomode","omnimode","resetallcontrollers","nrpn","nrpn-dataentrycoarse","nrpn-dataentryfine","nrpn-dataincrement","nrpn-datadecrement","rpn","rpn-dataentrycoarse","rpn-dataentryfine","rpn-dataincrement","rpn-datadecrement","nrpn-databuttonincrement","nrpn-databuttondecrement","rpn-databuttonincrement","rpn-databuttondecrement"]}}/** + * The `Note` class represents a single musical note such as `"D3"`, `"G#4"`, `"F-1"`, `"Gb7"`, etc. + * + * `Note` objects can be played back on a single channel by calling + * [`OutputChannel.playNote()`]{@link OutputChannel#playNote} or, on multiple channels of the same + * output, by calling [`Output.playNote()`]{@link Output#playNote}. + * + * The note has [`attack`](#attack) and [`release`](#release) velocities set at `0.5` by default. + * These can be changed by passing in the appropriate option. It is also possible to set a + * system-wide default for attack and release velocities by using the + * [`WebMidi.defaults`](WebMidi#defaults) property. + * + * If you prefer to work with raw MIDI values (`0` to `127`), you can use [`rawAttack`](#rawAttack) and + * [`rawRelease`](#rawRelease) to both get and set the values. + * + * The note may have a [`duration`](#duration). If it does, playback will be automatically stopped + * when the duration has elapsed by sending a `"noteoff"` event. By default, the duration is set to + * `Infinity`. In this case, it will never stop playing unless explicitly stopped by calling a + * method such as [`OutputChannel.stopNote()`]{@link OutputChannel#stopNote}, + * [`Output.stopNote()`]{@link Output#stopNote} or similar. + * + * @license Apache-2.0 + * @since 3.0.0 + */class Ls{constructor(e,t={}){this.duration=G.defaults.note.duration,this.attack=G.defaults.note.attack,this.release=G.defaults.note.release,t.duration!=null&&(this.duration=t.duration),t.attack!=null&&(this.attack=t.attack),t.rawAttack!=null&&(this.attack=J.from7bitToFloat(t.rawAttack)),t.release!=null&&(this.release=t.release),t.rawRelease!=null&&(this.release=J.from7bitToFloat(t.rawRelease)),Number.isInteger(e)?this.identifier=J.toNoteIdentifier(e):this.identifier=e}get identifier(){return this._name+(this._accidental||"")+this._octave}set identifier(e){const t=J.getNoteDetails(e);if(G.validation&&!e)throw new Error("Invalid note identifier");this._name=t.name,this._accidental=t.accidental,this._octave=t.octave}get name(){return this._name}set name(e){if(G.validation&&(e=e.toUpperCase(),!["C","D","E","F","G","A","B"].includes(e)))throw new Error("Invalid name value");this._name=e}get accidental(){return this._accidental}set accidental(e){if(G.validation&&(e=e.toLowerCase(),!["#","##","b","bb"].includes(e)))throw new Error("Invalid accidental value");this._accidental=e}get octave(){return this._octave}set octave(e){if(G.validation&&(e=parseInt(e),isNaN(e)))throw new Error("Invalid octave value");this._octave=e}get duration(){return this._duration}set duration(e){if(G.validation&&(e=parseFloat(e),isNaN(e)||e===null||e<0))throw new RangeError("Invalid duration value.");this._duration=e}get attack(){return this._attack}set attack(e){if(G.validation&&(e=parseFloat(e),isNaN(e)||!(e>=0&&e<=1)))throw new RangeError("Invalid attack value.");this._attack=e}get release(){return this._release}set release(e){if(G.validation&&(e=parseFloat(e),isNaN(e)||!(e>=0&&e<=1)))throw new RangeError("Invalid release value.");this._release=e}get rawAttack(){return J.fromFloatTo7Bit(this._attack)}set rawAttack(e){this._attack=J.from7bitToFloat(e)}get rawRelease(){return J.fromFloatTo7Bit(this._release)}set rawRelease(e){this._release=J.from7bitToFloat(e)}get number(){return J.toNoteNumber(this.identifier)}getOffsetNumber(e=0,t=0){return G.validation&&(e=parseInt(e)||0,t=parseInt(t)||0),Math.min(Math.max(this.number+e*12+t,0),127)}}/** + * The `Utilities` class contains general-purpose utility methods. All methods are static and + * should be called using the class name. For example: `Utilities.getNoteDetails("C4")`. + * + * @license Apache-2.0 + * @since 3.0.0 + */class J{static toNoteNumber(e,t=0){if(t=t==null?0:parseInt(t),isNaN(t))throw new RangeError("Invalid 'octaveOffset' value");typeof e!="string"&&(e="");const s=this.getNoteDetails(e);if(!s)throw new TypeError("Invalid note identifier");const i={C:0,D:2,E:4,F:5,G:7,A:9,B:11};let r=(s.octave+1+t)*12;if(r+=i[s.name],s.accidental&&(s.accidental.startsWith("b")?r-=s.accidental.length:r+=s.accidental.length),r<0||r>127)throw new RangeError("Invalid octaveOffset value");return r}static getNoteDetails(e){Number.isInteger(e)&&(e=this.toNoteIdentifier(e));const t=e.match(/^([CDEFGAB])(#{0,2}|b{0,2})(-?\d+)$/i);if(!t)throw new TypeError("Invalid note identifier");const s=t[1].toUpperCase(),i=parseInt(t[3]);let r=t[2].toLowerCase();return r=r===""?void 0:r,{accidental:r,identifier:s+(r||"")+i,name:s,octave:i}}static sanitizeChannels(e){let t;if(G.validation){if(e==="all")t=["all"];else if(e==="none")return[]}return Array.isArray(e)?t=e:t=[e],t.indexOf("all")>-1&&(t=q.MIDI_CHANNEL_NUMBERS),t.map(function(s){return parseInt(s)}).filter(function(s){return s>=1&&s<=16})}static toTimestamp(e){let t=!1;const s=parseFloat(e);return isNaN(s)?!1:(typeof e=="string"&&e.substring(0,1)==="+"?s>=0&&(t=G.time+s):s>=0&&(t=s),t)}static guessNoteNumber(e,t){t=parseInt(t)||0;let s=!1;if(Number.isInteger(e)&&e>=0&&e<=127)s=parseInt(e);else if(parseInt(e)>=0&&parseInt(e)<=127)s=parseInt(e);else if(typeof e=="string"||e instanceof String)try{s=this.toNoteNumber(e.trim(),t)}catch{return!1}return s}static toNoteIdentifier(e,t){if(e=parseInt(e),isNaN(e)||e<0||e>127)throw new RangeError("Invalid note number");if(t=t==null?0:parseInt(t),isNaN(t))throw new RangeError("Invalid octaveOffset value");const s=["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"],i=Math.floor(e/12-1)+t;return s[e%12]+i.toString()}static buildNote(e,t={}){if(t.octaveOffset=parseInt(t.octaveOffset)||0,e instanceof Ls)return e;let s=this.guessNoteNumber(e,t.octaveOffset);if(s===!1)throw new TypeError(`The input could not be parsed as a note (${e})`);return t.octaveOffset=void 0,new Ls(s,t)}static buildNoteArray(e,t={}){let s=[];return Array.isArray(e)||(e=[e]),e.forEach(i=>{s.push(this.buildNote(i,t))}),s}static from7bitToFloat(e){return e===1/0&&(e=127),e=parseInt(e)||0,Math.min(Math.max(e/127,0),1)}static fromFloatTo7Bit(e){return e===1/0&&(e=1),e=parseFloat(e)||0,Math.min(Math.max(Math.round(e*127),0),127)}static fromMsbLsbToFloat(e,t=0){G.validation&&(e=Math.min(Math.max(parseInt(e)||0,0),127),t=Math.min(Math.max(parseInt(t)||0,0),127));const s=((e<<7)+t)/16383;return Math.min(Math.max(s,0),1)}static fromFloatToMsbLsb(e){G.validation&&(e=Math.min(Math.max(parseFloat(e)||0,0),1));const t=Math.round(e*16383);return{msb:t>>7,lsb:t&127}}static offsetNumber(e,t=0,s=0){if(G.validation){if(e=parseInt(e),isNaN(e))throw new Error("Invalid note number");t=parseInt(t)||0,s=parseInt(s)||0}return Math.min(Math.max(e+t*12+s,0),127)}static getPropertyByValue(e,t){return Object.keys(e).find(s=>e[s]===t)}static getCcNameByNumber(e){if(!(G.validation&&(e=parseInt(e),!(e>=0&&e<=127))))return q.CONTROL_CHANGE_MESSAGES[e].name}static getCcNumberByName(e){let t=q.CONTROL_CHANGE_MESSAGES.find(s=>s.name===e);return t?t.number:q.MIDI_CONTROL_CHANGE_MESSAGES[e]}static getChannelModeByNumber(e){if(!(e>=120&&e<=127))return!1;for(let t in q.CHANNEL_MODE_MESSAGES)if(q.CHANNEL_MODE_MESSAGES.hasOwnProperty(t)&&e===q.CHANNEL_MODE_MESSAGES[t])return t;return!1}static get isNode(){return typeof process<"u"&&process.versions!=null&&process.versions.node!=null}static get isBrowser(){return typeof window<"u"&&typeof window.document<"u"}}/** + * The `OutputChannel` class represents a single output MIDI channel. `OutputChannel` objects are + * provided by an [`Output`](Output) port which, itself, is made available by a device. The + * `OutputChannel` object is derived from the host's MIDI subsystem and should not be instantiated + * directly. + * + * All 16 `OutputChannel` objects can be found inside the parent output's + * [`channels`]{@link Output#channels} property. + * + * @param {Output} output The [`Output`](Output) this channel belongs to. + * @param {number} number The MIDI channel number (`1` - `16`). + * + * @extends EventEmitter + * @license Apache-2.0 + * @since 3.0.0 + */class ex extends en{constructor(e,t){super(),this._output=e,this._number=t,this._octaveOffset=0}destroy(){this._output=null,this._number=null,this._octaveOffset=0,this.removeListener()}send(e,t={time:0}){return this.output.send(e,t),this}sendKeyAftertouch(e,t,s={}){if(G.validation){if(s.useRawValue&&(s.rawValue=s.useRawValue),isNaN(parseFloat(t)))throw new RangeError("Invalid key aftertouch value.");if(s.rawValue){if(!(t>=0&&t<=127&&Number.isInteger(t)))throw new RangeError("Key aftertouch raw value must be an integer between 0 and 127.")}else if(!(t>=0&&t<=1))throw new RangeError("Key aftertouch value must be a float between 0 and 1.")}s.rawValue||(t=J.fromFloatTo7Bit(t));const i=G.octaveOffset+this.output.octaveOffset+this.octaveOffset;return Array.isArray(e)||(e=[e]),J.buildNoteArray(e).forEach(r=>{this.send([(q.CHANNEL_MESSAGES.keyaftertouch<<4)+(this.number-1),r.getOffsetNumber(i),t],{time:J.toTimestamp(s.time)})}),this}sendControlChange(e,t,s={}){if(typeof e=="string"&&(e=J.getCcNumberByName(e)),Array.isArray(t)||(t=[t]),G.validation){if(e===void 0)throw new TypeError("Control change must be identified with a valid name or an integer between 0 and 127.");if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new TypeError("Control change number must be an integer between 0 and 127.");if(t=t.map(i=>{const r=Math.min(Math.max(parseInt(i),0),127);if(isNaN(r))throw new TypeError("Values must be integers between 0 and 127");return r}),t.length===2&&e>=32)throw new TypeError("To use a value array, the controller must be between 0 and 31")}return t.forEach((i,r)=>{this.send([(q.CHANNEL_MESSAGES.controlchange<<4)+(this.number-1),e+r*32,t[r]],{time:J.toTimestamp(s.time)})}),this}_selectNonRegisteredParameter(e,t={}){return this.sendControlChange(99,e[0],t),this.sendControlChange(98,e[1],t),this}_deselectRegisteredParameter(e={}){return this.sendControlChange(101,127,e),this.sendControlChange(100,127,e),this}_deselectNonRegisteredParameter(e={}){return this.sendControlChange(101,127,e),this.sendControlChange(100,127,e),this}_selectRegisteredParameter(e,t={}){return this.sendControlChange(101,e[0],t),this.sendControlChange(100,e[1],t),this}_setCurrentParameter(e,t={}){return e=[].concat(e),this.sendControlChange(6,e[0],t),e.length<2?this:(this.sendControlChange(38,e[1],t),this)}sendRpnDecrement(e,t={}){if(Array.isArray(e)||(e=q.REGISTERED_PARAMETERS[e]),G.validation){if(e===void 0)throw new TypeError("The specified registered parameter is invalid.");let s=!1;if(Object.getOwnPropertyNames(q.REGISTERED_PARAMETERS).forEach(i=>{q.REGISTERED_PARAMETERS[i][0]===e[0]&&q.REGISTERED_PARAMETERS[i][1]===e[1]&&(s=!0)}),!s)throw new TypeError("The specified registered parameter is invalid.")}return this._selectRegisteredParameter(e,t),this.sendControlChange(97,0,t),this._deselectRegisteredParameter(t),this}sendRpnIncrement(e,t={}){if(Array.isArray(e)||(e=q.REGISTERED_PARAMETERS[e]),G.validation){if(e===void 0)throw new TypeError("The specified registered parameter is invalid.");let s=!1;if(Object.getOwnPropertyNames(q.REGISTERED_PARAMETERS).forEach(i=>{q.REGISTERED_PARAMETERS[i][0]===e[0]&&q.REGISTERED_PARAMETERS[i][1]===e[1]&&(s=!0)}),!s)throw new TypeError("The specified registered parameter is invalid.")}return this._selectRegisteredParameter(e,t),this.sendControlChange(96,0,t),this._deselectRegisteredParameter(t),this}playNote(e,t={}){this.sendNoteOn(e,t);const s=Array.isArray(e)?e:[e];for(let i of s)if(parseInt(i.duration)>0){const r={time:(J.toTimestamp(t.time)||G.time)+parseInt(i.duration),release:i.release,rawRelease:i.rawRelease};this.sendNoteOff(i,r)}else if(parseInt(t.duration)>0){const r={time:(J.toTimestamp(t.time)||G.time)+parseInt(t.duration),release:t.release,rawRelease:t.rawRelease};this.sendNoteOff(i,r)}return this}sendNoteOff(e,t={}){if(G.validation){if(t.rawRelease!=null&&!(t.rawRelease>=0&&t.rawRelease<=127))throw new RangeError("The 'rawRelease' option must be an integer between 0 and 127");if(t.release!=null&&!(t.release>=0&&t.release<=1))throw new RangeError("The 'release' option must be an number between 0 and 1");t.rawVelocity&&(t.rawRelease=t.velocity,console.warn("The 'rawVelocity' option is deprecated. Use 'rawRelease' instead.")),t.velocity&&(t.release=t.velocity,console.warn("The 'velocity' option is deprecated. Use 'attack' instead."))}let s=64;t.rawRelease!=null?s=t.rawRelease:isNaN(t.release)||(s=Math.round(t.release*127));const i=G.octaveOffset+this.output.octaveOffset+this.octaveOffset;return J.buildNoteArray(e,{rawRelease:parseInt(s)}).forEach(r=>{this.send([(q.CHANNEL_MESSAGES.noteoff<<4)+(this.number-1),r.getOffsetNumber(i),r.rawRelease],{time:J.toTimestamp(t.time)})}),this}stopNote(e,t={}){return this.sendNoteOff(e,t)}sendNoteOn(e,t={}){if(G.validation){if(t.rawAttack!=null&&!(t.rawAttack>=0&&t.rawAttack<=127))throw new RangeError("The 'rawAttack' option must be an integer between 0 and 127");if(t.attack!=null&&!(t.attack>=0&&t.attack<=1))throw new RangeError("The 'attack' option must be an number between 0 and 1");t.rawVelocity&&(t.rawAttack=t.velocity,t.rawRelease=t.release,console.warn("The 'rawVelocity' option is deprecated. Use 'rawAttack' or 'rawRelease'.")),t.velocity&&(t.attack=t.velocity,console.warn("The 'velocity' option is deprecated. Use 'attack' instead."))}let s=64;t.rawAttack!=null?s=t.rawAttack:isNaN(t.attack)||(s=Math.round(t.attack*127));const i=G.octaveOffset+this.output.octaveOffset+this.octaveOffset;return J.buildNoteArray(e,{rawAttack:s}).forEach(r=>{this.send([(q.CHANNEL_MESSAGES.noteon<<4)+(this.number-1),r.getOffsetNumber(i),r.rawAttack],{time:J.toTimestamp(t.time)})}),this}sendChannelMode(e,t=0,s={}){if(typeof e=="string"&&(e=q.CHANNEL_MODE_MESSAGES[e]),G.validation){if(e===void 0)throw new TypeError("Invalid channel mode message name or number.");if(isNaN(e)||!(e>=120&&e<=127))throw new TypeError("Invalid channel mode message number.");if(isNaN(parseInt(t))||t<0||t>127)throw new RangeError("Value must be an integer between 0 and 127.")}return this.send([(q.CHANNEL_MESSAGES.controlchange<<4)+(this.number-1),e,t],{time:J.toTimestamp(s.time)}),this}sendOmniMode(e,t={}){return e===void 0||e?this.sendChannelMode("omnimodeon",0,t):this.sendChannelMode("omnimodeoff",0,t),this}sendChannelAftertouch(e,t={}){if(G.validation){if(isNaN(parseFloat(e)))throw new RangeError("Invalid channel aftertouch value.");if(t.rawValue){if(!(e>=0&&e<=127&&Number.isInteger(e)))throw new RangeError("Channel aftertouch raw value must be an integer between 0 and 127.")}else if(!(e>=0&&e<=1))throw new RangeError("Channel aftertouch value must be a float between 0 and 1.")}return this.send([(q.CHANNEL_MESSAGES.channelaftertouch<<4)+(this.number-1),Math.round(e*127)],{time:J.toTimestamp(t.time)}),this}sendMasterTuning(e,t={}){if(e=parseFloat(e)||0,G.validation&&!(e>-65&&e<64))throw new RangeError("The value must be a decimal number larger than -65 and smaller than 64.");let s=Math.floor(e)+64,i=e-Math.floor(e);i=Math.round((i+1)/2*16383);let r=i>>7&127,o=i&127;return this.sendRpnValue("channelcoarsetuning",s,t),this.sendRpnValue("channelfinetuning",[r,o],t),this}sendModulationRange(e,t,s={}){if(G.validation){if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new RangeError("The semitones value must be an integer between 0 and 127.");if(t!=null&&(!Number.isInteger(t)||!(t>=0&&t<=127)))throw new RangeError("If specified, the cents value must be an integer between 0 and 127.")}return t>=0&&t<=127||(t=0),this.sendRpnValue("modulationrange",[e,t],s),this}sendNrpnValue(e,t,s={}){if(t=[].concat(t),G.validation){if(!Array.isArray(e)||!Number.isInteger(e[0])||!Number.isInteger(e[1]))throw new TypeError("The specified NRPN is invalid.");if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The first byte of the NRPN must be between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The second byte of the NRPN must be between 0 and 127.");t.forEach(i=>{if(!(i>=0&&i<=127))throw new RangeError("The data bytes of the NRPN must be between 0 and 127.")})}return this._selectNonRegisteredParameter(e,s),this._setCurrentParameter(t,s),this._deselectNonRegisteredParameter(s),this}sendPitchBend(e,t={}){if(G.validation)if(t.rawValue&&Array.isArray(e)){if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The pitch bend MSB must be an integer between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The pitch bend LSB must be an integer between 0 and 127.")}else if(t.rawValue&&!Array.isArray(e)){if(!(e>=0&&e<=127))throw new RangeError("The pitch bend MSB must be an integer between 0 and 127.")}else{if(isNaN(e)||e===null)throw new RangeError("Invalid pitch bend value.");if(!(e>=-1&&e<=1))throw new RangeError("The pitch bend value must be a float between -1 and 1.")}let s=0,i=0;if(t.rawValue&&Array.isArray(e))s=e[0],i=e[1];else if(t.rawValue&&!Array.isArray(e))s=e;else{const r=J.fromFloatToMsbLsb((e+1)/2);s=r.msb,i=r.lsb}return this.send([(q.CHANNEL_MESSAGES.pitchbend<<4)+(this.number-1),i,s],{time:J.toTimestamp(t.time)}),this}sendPitchBendRange(e,t,s={}){if(G.validation){if(!Number.isInteger(e)||!(e>=0&&e<=127))throw new RangeError("The semitones value must be an integer between 0 and 127.");if(!Number.isInteger(t)||!(t>=0&&t<=127))throw new RangeError("The cents value must be an integer between 0 and 127.")}return this.sendRpnValue("pitchbendrange",[e,t],s),this}sendProgramChange(e,t={}){if(e=parseInt(e)||0,G.validation&&!(e>=0&&e<=127))throw new RangeError("The program number must be between 0 and 127.");return this.send([(q.CHANNEL_MESSAGES.programchange<<4)+(this.number-1),e],{time:J.toTimestamp(t.time)}),this}sendRpnValue(e,t,s={}){if(Array.isArray(e)||(e=q.REGISTERED_PARAMETERS[e]),G.validation){if(!Number.isInteger(e[0])||!Number.isInteger(e[1]))throw new TypeError("The specified NRPN is invalid.");if(!(e[0]>=0&&e[0]<=127))throw new RangeError("The first byte of the RPN must be between 0 and 127.");if(!(e[1]>=0&&e[1]<=127))throw new RangeError("The second byte of the RPN must be between 0 and 127.");[].concat(t).forEach(i=>{if(!(i>=0&&i<=127))throw new RangeError("The data bytes of the RPN must be between 0 and 127.")})}return this._selectRegisteredParameter(e,s),this._setCurrentParameter(t,s),this._deselectRegisteredParameter(s),this}sendTuningBank(e,t={}){if(G.validation&&(!Number.isInteger(e)||!(e>=0&&e<=127)))throw new RangeError("The tuning bank number must be between 0 and 127.");return this.sendRpnValue("tuningbank",e,t),this}sendTuningProgram(e,t={}){if(G.validation&&(!Number.isInteger(e)||!(e>=0&&e<=127)))throw new RangeError("The tuning program number must be between 0 and 127.");return this.sendRpnValue("tuningprogram",e,t),this}sendLocalControl(e,t={}){return e?this.sendChannelMode("localcontrol",127,t):this.sendChannelMode("localcontrol",0,t)}sendAllNotesOff(e={}){return this.sendChannelMode("allnotesoff",0,e)}sendAllSoundOff(e={}){return this.sendChannelMode("allsoundoff",0,e)}sendResetAllControllers(e={}){return this.sendChannelMode("resetallcontrollers",0,e)}sendPolyphonicMode(e,t={}){return e==="mono"?this.sendChannelMode("monomodeon",0,t):this.sendChannelMode("polymodeon",0,t)}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get output(){return this._output}get number(){return this._number}}/** + * The `Output` class represents a single MIDI output port (not to be confused with a MIDI channel). + * A port is made available by a MIDI device. A MIDI device can advertise several input and output + * ports. Each port has 16 MIDI channels which can be accessed via the [`channels`](#channels) + * property. + * + * The `Output` object is automatically instantiated by the library according to the host's MIDI + * subsystem and should not be directly instantiated. + * + * You can access all available `Output` objects by referring to the + * [`WebMidi.outputs`](WebMidi#outputs) array or by using methods such as + * [`WebMidi.getOutputByName()`](WebMidi#getOutputByName) or + * [`WebMidi.getOutputById()`](WebMidi#getOutputById). + * + * @fires Output#opened + * @fires Output#disconnected + * @fires Output#closed + * + * @extends EventEmitter + * @license Apache-2.0 + */class Hc extends en{constructor(e){super(),this._midiOutput=e,this._octaveOffset=0,this.channels=[];for(let t=1;t<=16;t++)this.channels[t]=new ex(this,t);this._midiOutput.onstatechange=this._onStateChange.bind(this)}async destroy(){this.removeListener(),this.channels.forEach(e=>e.destroy()),this.channels=[],this._midiOutput&&(this._midiOutput.onstatechange=null),await this.close(),this._midiOutput=null}_onStateChange(e){let t={timestamp:G.time};e.port.connection==="open"?(t.type="opened",t.target=this,t.port=t.target,this.emit("opened",t)):e.port.connection==="closed"&&e.port.state==="connected"?(t.type="closed",t.target=this,t.port=t.target,this.emit("closed",t)):e.port.connection==="closed"&&e.port.state==="disconnected"?(t.type="disconnected",t.port={connection:e.port.connection,id:e.port.id,manufacturer:e.port.manufacturer,name:e.port.name,state:e.port.state,type:e.port.type},this.emit("disconnected",t)):e.port.connection==="pending"&&e.port.state==="disconnected"||console.warn("This statechange event was not caught:",e.port.connection,e.port.state)}async open(){try{return await this._midiOutput.open(),Promise.resolve(this)}catch(e){return Promise.reject(e)}}async close(){this._midiOutput?await this._midiOutput.close():await Promise.resolve()}send(e,t={time:0},s=0){if(e instanceof Lp&&(e=J.isNode?e.data:e.rawData),e instanceof Uint8Array&&J.isNode&&(e=Array.from(e)),G.validation){if(!Array.isArray(e)&&!(e instanceof Uint8Array)&&(e=[e],Array.isArray(t)&&(e=e.concat(t)),t=isNaN(s)?{time:0}:{time:s}),!(parseInt(e[0])>=128&&parseInt(e[0])<=255))throw new RangeError("The first byte (status) must be an integer between 128 and 255.");e.slice(1).forEach(i=>{if(i=parseInt(i),!(i>=0&&i<=255))throw new RangeError("Data bytes must be integers between 0 and 255.")}),t||(t={time:0})}return this._midiOutput.send(e,J.toTimestamp(t.time)),this}sendSysex(e,t=[],s={}){if(e=[].concat(e),t instanceof Uint8Array){const i=new Uint8Array(1+e.length+t.length+1);i[0]=q.SYSTEM_MESSAGES.sysex,i.set(Uint8Array.from(e),1),i.set(t,1+e.length),i[i.length-1]=q.SYSTEM_MESSAGES.sysexend,this.send(i,{time:s.time})}else{const i=e.concat(t,q.SYSTEM_MESSAGES.sysexend);this.send([q.SYSTEM_MESSAGES.sysex].concat(i),{time:s.time})}return this}clear(){return this._midiOutput.clear?this._midiOutput.clear():G.validation&&console.warn("The 'clear()' method has not yet been implemented in your environment."),this}sendTimecodeQuarterFrame(e,t={}){if(G.validation&&(e=parseInt(e),isNaN(e)||!(e>=0&&e<=127)))throw new RangeError("The value must be an integer between 0 and 127.");return this.send([q.SYSTEM_MESSAGES.timecode,e],{time:t.time}),this}sendSongPosition(e=0,t={}){e=Math.floor(e)||0;var s=e>>7&127,i=e&127;return this.send([q.SYSTEM_MESSAGES.songposition,s,i],{time:t.time}),this}sendSongSelect(e=0,t={}){if(G.validation&&(e=parseInt(e),isNaN(e)||!(e>=0&&e<=127)))throw new RangeError("The program value must be between 0 and 127");return this.send([q.SYSTEM_MESSAGES.songselect,e],{time:t.time}),this}sendTuneRequest(e={}){return this.send([q.SYSTEM_MESSAGES.tunerequest],{time:e.time}),this}sendClock(e={}){return this.send([q.SYSTEM_MESSAGES.clock],{time:e.time}),this}sendStart(e={}){return this.send([q.SYSTEM_MESSAGES.start],{time:e.time}),this}sendContinue(e={}){return this.send([q.SYSTEM_MESSAGES.continue],{time:e.time}),this}sendStop(e={}){return this.send([q.SYSTEM_MESSAGES.stop],{time:e.time}),this}sendActiveSensing(e={}){return this.send([q.SYSTEM_MESSAGES.activesensing],{time:e.time}),this}sendReset(e={}){return this.send([q.SYSTEM_MESSAGES.reset],{time:e.time}),this}sendTuningRequest(e={}){return G.validation&&console.warn("The sendTuningRequest() method has been deprecated. Use sendTuningRequest() instead."),this.sendTuneRequest(e)}sendKeyAftertouch(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendKeyAftertouch(e,t,s)}),this}sendControlChange(e,t,s={},i={}){if(G.validation&&(Array.isArray(s)||Number.isInteger(s)||s==="all")){const r=s;s=i,s.channels=r,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)}return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendControlChange(e,t,s)}),this}sendPitchBendRange(e=0,t=0,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendPitchBendRange(e,t,s)}),this}setPitchBendRange(e=0,t=0,s="all",i={}){return G.validation&&(console.warn("The setPitchBendRange() method is deprecated. Use sendPitchBendRange() instead."),i.channels=s,i.channels==="all"&&(i.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendPitchBendRange(e,t,i)}sendRpnValue(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendRpnValue(e,t,s)}),this}setRegisteredParameter(e,t=[],s="all",i={}){return G.validation&&(console.warn("The setRegisteredParameter() method is deprecated. Use sendRpnValue() instead."),i.channels=s,i.channels==="all"&&(i.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendRpnValue(e,t,i)}sendChannelAftertouch(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendChannelAftertouch(e,t)}),this}sendPitchBend(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendPitchBend(e,t)}),this}sendProgramChange(e=0,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendProgramChange(e,t)}),this}sendModulationRange(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendModulationRange(e,t,s)}),this}setModulationRange(e=0,t=0,s="all",i={}){return G.validation&&(console.warn("The setModulationRange() method is deprecated. Use sendModulationRange() instead."),i.channels=s,i.channels==="all"&&(i.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendModulationRange(e,t,i)}sendMasterTuning(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendMasterTuning(e,t)}),this}setMasterTuning(e,t={},s={}){return G.validation&&(console.warn("The setMasterTuning() method is deprecated. Use sendMasterTuning() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendMasterTuning(e,s)}sendTuningProgram(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendTuningProgram(e,t)}),this}setTuningProgram(e,t="all",s={}){return G.validation&&(console.warn("The setTuningProgram() method is deprecated. Use sendTuningProgram() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendTuningProgram(e,s)}sendTuningBank(e=0,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendTuningBank(e,t)}),this}setTuningBank(e,t="all",s={}){return G.validation&&(console.warn("The setTuningBank() method is deprecated. Use sendTuningBank() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendTuningBank(e,s)}sendChannelMode(e,t=0,s={},i={}){if(G.validation&&(Array.isArray(s)||Number.isInteger(s)||s==="all")){const r=s;s=i,s.channels=r,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)}return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(r=>{this.channels[r].sendChannelMode(e,t,s)}),this}sendAllSoundOff(e={}){return e.channels==null&&(e.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(e.channels).forEach(t=>{this.channels[t].sendAllSoundOff(e)}),this}sendAllNotesOff(e={}){return e.channels==null&&(e.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(e.channels).forEach(t=>{this.channels[t].sendAllNotesOff(e)}),this}sendResetAllControllers(e={},t={}){if(G.validation&&(Array.isArray(e)||Number.isInteger(e)||e==="all")){const s=e;e=t,e.channels=s,e.channels==="all"&&(e.channels=q.MIDI_CHANNEL_NUMBERS)}return e.channels==null&&(e.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(e.channels).forEach(s=>{this.channels[s].sendResetAllControllers(e)}),this}sendPolyphonicMode(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendPolyphonicMode(e,t)}),this}sendLocalControl(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendLocalControl(e,t)}),this}sendOmniMode(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendOmniMode(e,t)}),this}sendNrpnValue(e,t,s={}){return s.channels==null&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].sendNrpnValue(e,t,s)}),this}setNonRegisteredParameter(e,t=[],s="all",i={}){return G.validation&&(console.warn("The setNonRegisteredParameter() method is deprecated. Use sendNrpnValue() instead."),i.channels=s,i.channels==="all"&&(i.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendNrpnValue(e,t,i)}sendRpnIncrement(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendRpnIncrement(e,t)}),this}incrementRegisteredParameter(e,t="all",s={}){return G.validation&&(console.warn("The incrementRegisteredParameter() method is deprecated. Use sendRpnIncrement() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendRpnIncrement(e,s)}sendRpnDecrement(e,t={}){return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(s=>{this.channels[s].sendRpnDecrement(e,t)}),this}decrementRegisteredParameter(e,t="all",s={}){return G.validation&&(console.warn("The decrementRegisteredParameter() method is deprecated. Use sendRpnDecrement() instead."),s.channels=t,s.channels==="all"&&(s.channels=q.MIDI_CHANNEL_NUMBERS)),this.sendRpnDecrement(e,s)}sendNoteOff(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendNoteOff(e,t)}),this}stopNote(e,t){return this.sendNoteOff(e,t)}playNote(e,t={},s={}){if(G.validation&&(t.rawVelocity&&console.warn("The 'rawVelocity' option is deprecated. Use 'rawAttack' instead."),t.velocity&&console.warn("The 'velocity' option is deprecated. Use 'velocity' instead."),Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].playNote(e,t)}),this}sendNoteOn(e,t={},s={}){if(G.validation&&(Array.isArray(t)||Number.isInteger(t)||t==="all")){const i=t;t=s,t.channels=i,t.channels==="all"&&(t.channels=q.MIDI_CHANNEL_NUMBERS)}return t.channels==null&&(t.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(t.channels).forEach(i=>{this.channels[i].sendNoteOn(e,t)}),this}get name(){return this._midiOutput.name}get id(){return this._midiOutput.id}get connection(){return this._midiOutput.connection}get manufacturer(){return this._midiOutput.manufacturer}get state(){return this._midiOutput.state}get type(){return this._midiOutput.type}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}}/** + * The `Forwarder` class allows the forwarding of MIDI messages to predetermined outputs. When you + * call its [`forward()`](#forward) method, it will send the specified [`Message`](Message) object + * to all the outputs listed in its [`destinations`](#destinations) property. + * + * If specific channels or message types have been defined in the [`channels`](#channels) or + * [`types`](#types) properties, only messages matching the channels/types will be forwarded. + * + * While it can be manually instantiated, you are more likely to come across a `Forwarder` object as + * the return value of the [`Input.addForwarder()`](Input#addForwarder) method. + * + * @license Apache-2.0 + * @since 3.0.0 + */class kh{constructor(e=[],t={}){this.destinations=[],this.types=[...Object.keys(q.SYSTEM_MESSAGES),...Object.keys(q.CHANNEL_MESSAGES)],this.channels=q.MIDI_CHANNEL_NUMBERS,this.suspended=!1,Array.isArray(e)||(e=[e]),t.types&&!Array.isArray(t.types)&&(t.types=[t.types]),t.channels&&!Array.isArray(t.channels)&&(t.channels=[t.channels]),G.validation&&(e.forEach(s=>{if(!(s instanceof Hc))throw new TypeError("Destinations must be of type 'Output'.")}),t.types!==void 0&&t.types.forEach(s=>{if(!q.SYSTEM_MESSAGES.hasOwnProperty(s)&&!q.CHANNEL_MESSAGES.hasOwnProperty(s))throw new TypeError("Type must be a valid message type.")}),t.channels!==void 0&&t.channels.forEach(s=>{if(!q.MIDI_CHANNEL_NUMBERS.includes(s))throw new TypeError("MIDI channel must be between 1 and 16.")})),this.destinations=e,t.types&&(this.types=t.types),t.channels&&(this.channels=t.channels)}forward(e){this.suspended||this.types.includes(e.type)&&(e.channel&&!this.channels.includes(e.channel)||this.destinations.forEach(t=>{G.validation&&!(t instanceof Hc)||t.send(e)}))}}/** + * The `InputChannel` class represents a single MIDI input channel (1-16) from a single input + * device. This object is derived from the host's MIDI subsystem and should not be instantiated + * directly. + * + * All 16 `InputChannel` objects can be found inside the input's [`channels`](Input#channels) + * property. + * + * @fires InputChannel#midimessage + * @fires InputChannel#unknownmessage + * + * @fires InputChannel#noteoff + * @fires InputChannel#noteon + * @fires InputChannel#keyaftertouch + * @fires InputChannel#programchange + * @fires InputChannel#channelaftertouch + * @fires InputChannel#pitchbend + * + * @fires InputChannel#allnotesoff + * @fires InputChannel#allsoundoff + * @fires InputChannel#localcontrol + * @fires InputChannel#monomode + * @fires InputChannel#omnimode + * @fires InputChannel#resetallcontrollers + * + * @fires InputChannel#event:nrpn + * @fires InputChannel#event:nrpn-dataentrycoarse + * @fires InputChannel#event:nrpn-dataentryfine + * @fires InputChannel#event:nrpn-dataincrement + * @fires InputChannel#event:nrpn-datadecrement + * @fires InputChannel#event:rpn + * @fires InputChannel#event:rpn-dataentrycoarse + * @fires InputChannel#event:rpn-dataentryfine + * @fires InputChannel#event:rpn-dataincrement + * @fires InputChannel#event:rpn-datadecrement + * + * @fires InputChannel#controlchange + * @fires InputChannel#event:controlchange-controllerxxx + * @fires InputChannel#event:controlchange-bankselectcoarse + * @fires InputChannel#event:controlchange-modulationwheelcoarse + * @fires InputChannel#event:controlchange-breathcontrollercoarse + * @fires InputChannel#event:controlchange-footcontrollercoarse + * @fires InputChannel#event:controlchange-portamentotimecoarse + * @fires InputChannel#event:controlchange-dataentrycoarse + * @fires InputChannel#event:controlchange-volumecoarse + * @fires InputChannel#event:controlchange-balancecoarse + * @fires InputChannel#event:controlchange-pancoarse + * @fires InputChannel#event:controlchange-expressioncoarse + * @fires InputChannel#event:controlchange-effectcontrol1coarse + * @fires InputChannel#event:controlchange-effectcontrol2coarse + * @fires InputChannel#event:controlchange-generalpurposecontroller1 + * @fires InputChannel#event:controlchange-generalpurposecontroller2 + * @fires InputChannel#event:controlchange-generalpurposecontroller3 + * @fires InputChannel#event:controlchange-generalpurposecontroller4 + * @fires InputChannel#event:controlchange-bankselectfine + * @fires InputChannel#event:controlchange-modulationwheelfine + * @fires InputChannel#event:controlchange-breathcontrollerfine + * @fires InputChannel#event:controlchange-footcontrollerfine + * @fires InputChannel#event:controlchange-portamentotimefine + * @fires InputChannel#event:controlchange-dataentryfine + * @fires InputChannel#event:controlchange-channelvolumefine + * @fires InputChannel#event:controlchange-balancefine + * @fires InputChannel#event:controlchange-panfine + * @fires InputChannel#event:controlchange-expressionfine + * @fires InputChannel#event:controlchange-effectcontrol1fine + * @fires InputChannel#event:controlchange-effectcontrol2fine + * @fires InputChannel#event:controlchange-damperpedal + * @fires InputChannel#event:controlchange-portamento + * @fires InputChannel#event:controlchange-sostenuto + * @fires InputChannel#event:controlchange-softpedal + * @fires InputChannel#event:controlchange-legatopedal + * @fires InputChannel#event:controlchange-hold2 + * @fires InputChannel#event:controlchange-soundvariation + * @fires InputChannel#event:controlchange-resonance + * @fires InputChannel#event:controlchange-releasetime + * @fires InputChannel#event:controlchange-attacktime + * @fires InputChannel#event:controlchange-brightness + * @fires InputChannel#event:controlchange-decaytime + * @fires InputChannel#event:controlchange-vibratorate + * @fires InputChannel#event:controlchange-vibratodepth + * @fires InputChannel#event:controlchange-vibratodelay + * @fires InputChannel#event:controlchange-generalpurposecontroller5 + * @fires InputChannel#event:controlchange-generalpurposecontroller6 + * @fires InputChannel#event:controlchange-generalpurposecontroller7 + * @fires InputChannel#event:controlchange-generalpurposecontroller8 + * @fires InputChannel#event:controlchange-portamentocontrol + * @fires InputChannel#event:controlchange-highresolutionvelocityprefix + * @fires InputChannel#event:controlchange-effect1depth + * @fires InputChannel#event:controlchange-effect2depth + * @fires InputChannel#event:controlchange-effect3depth + * @fires InputChannel#event:controlchange-effect4depth + * @fires InputChannel#event:controlchange-effect5depth + * @fires InputChannel#event:controlchange-dataincrement + * @fires InputChannel#event:controlchange-datadecrement + * @fires InputChannel#event:controlchange-nonregisteredparameterfine + * @fires InputChannel#event:controlchange-nonregisteredparametercoarse + * @fires InputChannel#event:controlchange-registeredparameterfine + * @fires InputChannel#event:controlchange-registeredparametercoarse + * @fires InputChannel#event:controlchange-allsoundoff + * @fires InputChannel#event:controlchange-resetallcontrollers + * @fires InputChannel#event:controlchange-localcontrol + * @fires InputChannel#event:controlchange-allnotesoff + * @fires InputChannel#event:controlchange-omnimodeoff + * @fires InputChannel#event:controlchange-omnimodeon + * @fires InputChannel#event:controlchange-monomodeon + * @fires InputChannel#event:controlchange-polymodeon + * @fires InputChannel#event: + * + * @extends EventEmitter + * @license Apache-2.0 + * @since 3.0.0 + */class tx extends en{constructor(e,t){super(),this._input=e,this._number=t,this._octaveOffset=0,this._nrpnBuffer=[],this._rpnBuffer=[],this.parameterNumberEventsEnabled=!0,this.notesState=new Array(128).fill(!1)}destroy(){this._input=null,this._number=null,this._octaveOffset=0,this._nrpnBuffer=[],this.notesState=new Array(128).fill(!1),this.parameterNumberEventsEnabled=!1,this.removeListener()}_processMidiMessageEvent(e){const t=Object.assign({},e);t.port=this.input,t.target=this,t.type="midimessage",this.emit(t.type,t),this._parseEventForStandardMessages(t)}_parseEventForStandardMessages(e){const t=Object.assign({},e);t.type=t.message.type||"unknownmessage";const s=e.message.dataBytes[0],i=e.message.dataBytes[1];if(t.type==="noteoff"||t.type==="noteon"&&i===0)this.notesState[s]=!1,t.type="noteoff",t.note=new Ls(J.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+G.octaveOffset),{rawAttack:0,rawRelease:i}),t.value=J.from7bitToFloat(i),t.rawValue=i,t.velocity=t.note.release,t.rawVelocity=t.note.rawRelease;else if(t.type==="noteon")this.notesState[s]=!0,t.note=new Ls(J.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+G.octaveOffset),{rawAttack:i}),t.value=J.from7bitToFloat(i),t.rawValue=i,t.velocity=t.note.attack,t.rawVelocity=t.note.rawAttack;else if(t.type==="keyaftertouch")t.note=new Ls(J.offsetNumber(s,this.octaveOffset+this.input.octaveOffset+G.octaveOffset)),t.value=J.from7bitToFloat(i),t.rawValue=i,t.identifier=t.note.identifier,t.key=t.note.number,t.rawKey=s;else if(t.type==="controlchange"){t.controller={number:s,name:q.CONTROL_CHANGE_MESSAGES[s].name,description:q.CONTROL_CHANGE_MESSAGES[s].description,position:q.CONTROL_CHANGE_MESSAGES[s].position},t.subtype=t.controller.name||"controller"+s,t.value=J.from7bitToFloat(i),t.rawValue=i;const r=Object.assign({},t);r.type=`${t.type}-controller${s}`,delete r.subtype,this.emit(r.type,r);const o=Object.assign({},t);o.type=`${t.type}-`+q.CONTROL_CHANGE_MESSAGES[s].name,delete o.subtype,o.type.indexOf("controller")!==0&&this.emit(o.type,o),t.message.dataBytes[0]>=120&&this._parseChannelModeMessage(t),this.parameterNumberEventsEnabled&&this._isRpnOrNrpnController(t.message.dataBytes[0])&&this._parseEventForParameterNumber(t)}else t.type==="programchange"?(t.value=s,t.rawValue=t.value):t.type==="channelaftertouch"?(t.value=J.from7bitToFloat(s),t.rawValue=s):t.type==="pitchbend"?(t.value=((i<<7)+s-8192)/8192,t.rawValue=(i<<7)+s):t.type="unknownmessage";this.emit(t.type,t)}_parseChannelModeMessage(e){const t=Object.assign({},e);t.type=t.controller.name,t.type==="localcontrol"&&(t.value=t.message.data[2]===127,t.rawValue=t.message.data[2]),t.type==="omnimodeon"?(t.type="omnimode",t.value=!0,t.rawValue=t.message.data[2]):t.type==="omnimodeoff"&&(t.type="omnimode",t.value=!1,t.rawValue=t.message.data[2]),t.type==="monomodeon"?(t.type="monomode",t.value=!0,t.rawValue=t.message.data[2]):t.type==="polymodeon"&&(t.type="monomode",t.value=!1,t.rawValue=t.message.data[2]),this.emit(t.type,t)}_parseEventForParameterNumber(e){const t=e.message.dataBytes[0],s=e.message.dataBytes[1];t===99||t===101?(this._nrpnBuffer=[],this._rpnBuffer=[],t===99?this._nrpnBuffer=[e.message]:s!==127&&(this._rpnBuffer=[e.message])):t===98||t===100?t===98?(this._rpnBuffer=[],this._nrpnBuffer.length===1?this._nrpnBuffer.push(e.message):this._nrpnBuffer=[]):(this._nrpnBuffer=[],this._rpnBuffer.length===1&&s!==127?this._rpnBuffer.push(e.message):this._rpnBuffer=[]):(t===6||t===38||t===96||t===97)&&(this._rpnBuffer.length===2?this._dispatchParameterNumberEvent("rpn",this._rpnBuffer[0].dataBytes[1],this._rpnBuffer[1].dataBytes[1],e):this._nrpnBuffer.length===2?this._dispatchParameterNumberEvent("nrpn",this._nrpnBuffer[0].dataBytes[1],this._nrpnBuffer[1].dataBytes[1],e):(this._nrpnBuffer=[],this._rpnBuffer=[]))}_isRpnOrNrpnController(e){return e===6||e===38||e===96||e===97||e===98||e===99||e===100||e===101}_dispatchParameterNumberEvent(e,t,s,i){e=e==="nrpn"?"nrpn":"rpn";const r={target:i.target,timestamp:i.timestamp,message:i.message,parameterMsb:t,parameterLsb:s,value:J.from7bitToFloat(i.message.dataBytes[1]),rawValue:i.message.dataBytes[1]};e==="rpn"?r.parameter=Object.keys(q.REGISTERED_PARAMETERS).find(c=>q.REGISTERED_PARAMETERS[c][0]===t&&q.REGISTERED_PARAMETERS[c][1]===s):r.parameter=(t<<7)+s;const o=q.CONTROL_CHANGE_MESSAGES[i.message.dataBytes[0]].name;r.type=`${e}-${o}`,this.emit(r.type,r);const a=Object.assign({},r);a.type==="nrpn-dataincrement"?a.type="nrpn-databuttonincrement":a.type==="nrpn-datadecrement"?a.type="nrpn-databuttondecrement":a.type==="rpn-dataincrement"?a.type="rpn-databuttonincrement":a.type==="rpn-datadecrement"&&(a.type="rpn-databuttondecrement"),this.emit(a.type,a),r.type=e,r.subtype=o,this.emit(r.type,r)}getChannelModeByNumber(e){return G.validation&&(console.warn("The 'getChannelModeByNumber()' method has been moved to the 'Utilities' class."),e=Math.floor(e)),J.getChannelModeByNumber(e)}getCcNameByNumber(e){if(G.validation&&(console.warn("The 'getCcNameByNumber()' method has been moved to the 'Utilities' class."),e=parseInt(e),!(e>=0&&e<=127)))throw new RangeError("Invalid control change number.");return J.getCcNameByNumber(e)}getNoteState(e){e instanceof Ls&&(e=e.identifier);const t=J.guessNoteNumber(e,G.octaveOffset+this.input.octaveOffset+this.octaveOffset);return this.notesState[t]}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get input(){return this._input}get number(){return this._number}get nrpnEventsEnabled(){return this.parameterNumberEventsEnabled}set nrpnEventsEnabled(e){this.validation&&(e=!!e),this.parameterNumberEventsEnabled=e}}/** + * The `Message` class represents a single MIDI message. It has several properties that make it + * easy to make sense of the binary data it contains. + * + * @license Apache-2.0 + * @since 3.0.0 + */class Lp{constructor(e){this.rawData=e,this.data=Array.from(this.rawData),this.statusByte=this.rawData[0],this.rawDataBytes=this.rawData.slice(1),this.dataBytes=this.data.slice(1),this.isChannelMessage=!1,this.isSystemMessage=!1,this.command=void 0,this.channel=void 0,this.manufacturerId=void 0,this.type=void 0,this.statusByte<240?(this.isChannelMessage=!0,this.command=this.statusByte>>4,this.channel=(this.statusByte&15)+1):(this.isSystemMessage=!0,this.command=this.statusByte),this.isChannelMessage?this.type=J.getPropertyByValue(q.CHANNEL_MESSAGES,this.command):this.isSystemMessage&&(this.type=J.getPropertyByValue(q.SYSTEM_MESSAGES,this.command)),this.statusByte===q.SYSTEM_MESSAGES.sysex&&(this.dataBytes[0]===0?(this.manufacturerId=this.dataBytes.slice(0,3),this.dataBytes=this.dataBytes.slice(3,this.rawDataBytes.length-1),this.rawDataBytes=this.rawDataBytes.slice(3,this.rawDataBytes.length-1)):(this.manufacturerId=[this.dataBytes[0]],this.dataBytes=this.dataBytes.slice(1,this.dataBytes.length-1),this.rawDataBytes=this.rawDataBytes.slice(1,this.rawDataBytes.length-1)))}}/** + * The `Input` class represents a single MIDI input port. This object is automatically instantiated + * by the library according to the host's MIDI subsystem and does not need to be directly + * instantiated. Instead, you can access all `Input` objects by referring to the + * [`WebMidi.inputs`](WebMidi#inputs) array. You can also retrieve inputs by using methods such as + * [`WebMidi.getInputByName()`](WebMidi#getInputByName) and + * [`WebMidi.getInputById()`](WebMidi#getInputById). + * + * Note that a single MIDI device may expose several inputs and/or outputs. + * + * **Important**: the `Input` class does not directly fire channel-specific MIDI messages + * (such as [`noteon`](InputChannel#event:noteon) or + * [`controlchange`](InputChannel#event:controlchange), etc.). The [`InputChannel`](InputChannel) + * object does that. However, you can still use the + * [`Input.addListener()`](#addListener) method to listen to channel-specific events on multiple + * [`InputChannel`](InputChannel) objects at once. + * + * @fires Input#opened + * @fires Input#disconnected + * @fires Input#closed + * @fires Input#midimessage + * + * @fires Input#sysex + * @fires Input#timecode + * @fires Input#songposition + * @fires Input#songselect + * @fires Input#tunerequest + * @fires Input#clock + * @fires Input#start + * @fires Input#continue + * @fires Input#stop + * @fires Input#activesensing + * @fires Input#reset + * + * @fires Input#unknownmidimessage + * + * @extends EventEmitter + * @license Apache-2.0 + */class nx extends en{constructor(e){super(),this._midiInput=e,this._octaveOffset=0,this.channels=[];for(let t=1;t<=16;t++)this.channels[t]=new tx(this,t);this._forwarders=[],this._midiInput.onstatechange=this._onStateChange.bind(this),this._midiInput.onmidimessage=this._onMidiMessage.bind(this)}async destroy(){this.removeListener(),this.channels.forEach(e=>e.destroy()),this.channels=[],this._forwarders=[],this._midiInput&&(this._midiInput.onstatechange=null,this._midiInput.onmidimessage=null),await this.close(),this._midiInput=null}_onStateChange(e){let t={timestamp:G.time,target:this,port:this};e.port.connection==="open"?(t.type="opened",this.emit("opened",t)):e.port.connection==="closed"&&e.port.state==="connected"?(t.type="closed",this.emit("closed",t)):e.port.connection==="closed"&&e.port.state==="disconnected"?(t.type="disconnected",t.port={connection:e.port.connection,id:e.port.id,manufacturer:e.port.manufacturer,name:e.port.name,state:e.port.state,type:e.port.type},this.emit("disconnected",t)):e.port.connection==="pending"&&e.port.state==="disconnected"||console.warn("This statechange event was not caught: ",e.port.connection,e.port.state)}_onMidiMessage(e){const t=new Lp(e.data),s={port:this,target:this,message:t,timestamp:e.timeStamp,type:"midimessage",data:t.data,rawData:t.data,statusByte:t.data[0],dataBytes:t.dataBytes};this.emit("midimessage",s),t.isSystemMessage?this._parseEvent(s):t.isChannelMessage&&this.channels[t.channel]._processMidiMessageEvent(s),this._forwarders.forEach(i=>i.forward(t))}_parseEvent(e){const t=Object.assign({},e);t.type=t.message.type||"unknownmidimessage",t.type==="songselect"&&(t.song=e.data[1]+1,t.value=e.data[1],t.rawValue=t.value),this.emit(t.type,t)}async open(){try{await this._midiInput.open()}catch(e){return Promise.reject(e)}return Promise.resolve(this)}async close(){if(!this._midiInput)return Promise.resolve(this);try{await this._midiInput.close()}catch(e){return Promise.reject(e)}return Promise.resolve(this)}getChannelModeByNumber(){G.validation&&console.warn("The 'getChannelModeByNumber()' method has been moved to the 'Utilities' class.")}addListener(e,t,s={}){if(G.validation&&typeof s=="function"){let i=t!=null?[].concat(t):void 0;t=s,s={channels:i}}if(q.CHANNEL_EVENTS.includes(e)){s.channels===void 0&&(s.channels=q.MIDI_CHANNEL_NUMBERS);let i=[];return J.sanitizeChannels(s.channels).forEach(r=>{i.push(this.channels[r].addListener(e,t,s))}),i}else return super.addListener(e,t,s)}addOneTimeListener(e,t,s={}){return s.remaining=1,this.addListener(e,t,s)}on(e,t,s,i){return this.addListener(e,t,s,i)}hasListener(e,t,s={}){if(G.validation&&typeof s=="function"){let i=[].concat(t);t=s,s={channels:i}}return q.CHANNEL_EVENTS.includes(e)?(s.channels===void 0&&(s.channels=q.MIDI_CHANNEL_NUMBERS),J.sanitizeChannels(s.channels).every(i=>this.channels[i].hasListener(e,t))):super.hasListener(e,t)}removeListener(e,t,s={}){if(G.validation&&typeof s=="function"){let i=[].concat(t);t=s,s={channels:i}}if(s.channels===void 0&&(s.channels=q.MIDI_CHANNEL_NUMBERS),e==null)return J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i]&&this.channels[i].removeListener()}),super.removeListener();q.CHANNEL_EVENTS.includes(e)?J.sanitizeChannels(s.channels).forEach(i=>{this.channels[i].removeListener(e,t,s)}):super.removeListener(e,t,s)}addForwarder(e,t={}){let s;return e instanceof kh?s=e:s=new kh(e,t),this._forwarders.push(s),s}removeForwarder(e){this._forwarders=this._forwarders.filter(t=>t!==e)}hasForwarder(e){return this._forwarders.includes(e)}get name(){return this._midiInput.name}get id(){return this._midiInput.id}get connection(){return this._midiInput.connection}get manufacturer(){return this._midiInput.manufacturer}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get state(){return this._midiInput.state}get type(){return this._midiInput.type}get nrpnEventsEnabled(){return G.validation&&console.warn("The 'nrpnEventsEnabled' property has been moved to the 'InputChannel' class."),!1}}/** + * The `WebMidi` object makes it easier to work with the low-level Web MIDI API. Basically, it + * simplifies sending outgoing MIDI messages and reacting to incoming MIDI messages. + * + * When using the WebMidi.js library, you should know that the `WebMidi` class has already been + * instantiated. You cannot instantiate it yourself. If you use the **IIFE** version, you should + * simply use the global object called `WebMidi`. If you use the **CJS** (CommonJS) or **ESM** (ES6 + * module) version, you get an already-instantiated object when you import the module. + * + * @fires WebMidi#connected + * @fires WebMidi#disabled + * @fires WebMidi#disconnected + * @fires WebMidi#enabled + * @fires WebMidi#error + * @fires WebMidi#midiaccessgranted + * @fires WebMidi#portschanged + * + * @extends EventEmitter + * @license Apache-2.0 + */class sx extends en{constructor(){super(),this.defaults={note:{attack:J.from7bitToFloat(64),release:J.from7bitToFloat(64),duration:1/0}},this.interface=null,this.validation=!0,this._inputs=[],this._disconnectedInputs=[],this._outputs=[],this._disconnectedOutputs=[],this._stateChangeQueue=[],this._octaveOffset=0}async enable(e={},t=!1){if(J.isNode){try{window.navigator}catch{global.navigator=await Object.getPrototypeOf(async function(){}).constructor(` + let jzz = await import("jzz"); + return jzz.default; + `)()}try{}catch{global.performance=await Object.getPrototypeOf(async function(){}).constructor(` + let perf_hooks = await import("perf_hooks"); + return perf_hooks.performance; + `)()}}if(this.validation=e.validation!==!1,this.validation&&(typeof e=="function"&&(e={callback:e,sysex:t}),t&&(e.sysex=!0)),this.enabled)return typeof e.callback=="function"&&e.callback(),Promise.resolve();const s={timestamp:this.time,target:this,type:"error",error:void 0},i={timestamp:this.time,target:this,type:"midiaccessgranted"},r={timestamp:this.time,target:this,type:"enabled"};try{typeof e.requestMIDIAccessFunction=="function"?this.interface=await e.requestMIDIAccessFunction({sysex:e.sysex,software:e.software}):this.interface=await navigator.requestMIDIAccess({sysex:e.sysex,software:e.software})}catch(o){return s.error=o,this.emit("error",s),typeof e.callback=="function"&&e.callback(o),Promise.reject(o)}this.emit("midiaccessgranted",i),this.interface.onstatechange=this._onInterfaceStateChange.bind(this);try{await this._updateInputsAndOutputs()}catch(o){return s.error=o,this.emit("error",s),typeof e.callback=="function"&&e.callback(o),Promise.reject(o)}return this.emit("enabled",r),typeof e.callback=="function"&&e.callback(),Promise.resolve(this)}async disable(){return this.interface&&(this.interface.onstatechange=void 0),this._destroyInputsAndOutputs().then(()=>{navigator&&typeof navigator.close=="function"&&navigator.close(),this.interface=null;let e={timestamp:this.time,target:this,type:"disabled"};this.emit("disabled",e),this.removeListener()})}getInputById(e,t={disconnected:!1}){if(this.validation){if(!this.enabled)throw new Error("WebMidi is not enabled.");if(!e)return}if(t.disconnected){for(let s=0;s=0&&e<=127?J.getNoteDetails(J.offsetNumber(e,this.octaveOffset)).octave:!1}sanitizeChannels(e){return this.validation&&console.warn("The sanitizeChannels() method has been moved to the utilities class."),J.sanitizeChannels(e)}toMIDIChannels(e){return this.validation&&console.warn("The toMIDIChannels() method has been deprecated. Use Utilities.sanitizeChannels() instead."),J.sanitizeChannels(e)}guessNoteNumber(e){return this.validation&&console.warn("The guessNoteNumber() method has been deprecated. Use Utilities.guessNoteNumber() instead."),J.guessNoteNumber(e,this.octaveOffset)}getValidNoteArray(e,t={}){return this.validation&&console.warn("The getValidNoteArray() method has been moved to the Utilities.buildNoteArray()"),J.buildNoteArray(e,t)}convertToTimestamp(e){return this.validation&&console.warn("The convertToTimestamp() method has been moved to Utilities.toTimestamp()."),J.toTimestamp(e)}async _destroyInputsAndOutputs(){let e=[];return this.inputs.forEach(t=>e.push(t.destroy())),this.outputs.forEach(t=>e.push(t.destroy())),Promise.all(e).then(()=>{this._inputs=[],this._outputs=[]})}_onInterfaceStateChange(e){this._updateInputsAndOutputs();let t={timestamp:e.timeStamp,type:e.port.state,target:this};if(e.port.state==="connected"&&e.port.connection==="open"){e.port.type==="output"?t.port=this.getOutputById(e.port.id):e.port.type==="input"&&(t.port=this.getInputById(e.port.id)),this.emit(e.port.state,t);const s=Object.assign({},t);s.type="portschanged",this.emit(s.type,s)}else if(e.port.state==="disconnected"&&e.port.connection==="pending"){e.port.type==="input"?t.port=this.getInputById(e.port.id,{disconnected:!0}):e.port.type==="output"&&(t.port=this.getOutputById(e.port.id,{disconnected:!0})),this.emit(e.port.state,t);const s=Object.assign({},t);s.type="portschanged",this.emit(s.type,s)}}async _updateInputsAndOutputs(){return Promise.all([this._updateInputs(),this._updateOutputs()])}async _updateInputs(){if(!this.interface)return;for(let t=this._inputs.length-1;t>=0;t--){const s=this._inputs[t];Array.from(this.interface.inputs.values()).find(r=>r===s._midiInput)||(this._disconnectedInputs.push(s),this._inputs.splice(t,1))}let e=[];return this.interface.inputs.forEach(t=>{if(!this._inputs.find(s=>s._midiInput===t)){let s=this._disconnectedInputs.find(i=>i._midiInput===t);s||(s=new nx(t)),this._inputs.push(s),e.push(s.open())}}),Promise.all(e)}async _updateOutputs(){if(!this.interface)return;for(let t=this._outputs.length-1;t>=0;t--){const s=this._outputs[t];Array.from(this.interface.outputs.values()).find(r=>r===s._midiOutput)||(this._disconnectedOutputs.push(s),this._outputs.splice(t,1))}let e=[];return this.interface.outputs.forEach(t=>{if(!this._outputs.find(s=>s._midiOutput===t)){let s=this._disconnectedOutputs.find(i=>i._midiOutput===t);s||(s=new Hc(t)),this._outputs.push(s),e.push(s.open())}}),Promise.all(e)}get enabled(){return this.interface!==null}get inputs(){return this._inputs}get isNode(){return this.validation&&console.warn("WebMidi.isNode has been deprecated. Use Utilities.isNode instead."),J.isNode}get isBrowser(){return this.validation&&console.warn("WebMidi.isBrowser has been deprecated. Use Utilities.isBrowser instead."),J.isBrowser}get octaveOffset(){return this._octaveOffset}set octaveOffset(e){if(this.validation&&(e=parseInt(e),isNaN(e)))throw new TypeError("The 'octaveOffset' property must be an integer.");this._octaveOffset=e}get outputs(){return this._outputs}get supported(){return typeof navigator<"u"&&navigator.requestMIDIAccess}get sysexEnabled(){return!!(this.interface&&this.interface.sysexEnabled)}get time(){return performance.now()}get version(){return"3.1.6"}get flavour(){return"esm"}get CHANNEL_EVENTS(){return this.validation&&console.warn("The CHANNEL_EVENTS enum has been moved to Enumerations.CHANNEL_EVENTS."),q.CHANNEL_EVENTS}get MIDI_SYSTEM_MESSAGES(){return this.validation&&console.warn("The MIDI_SYSTEM_MESSAGES enum has been moved to Enumerations.SYSTEM_MESSAGES."),q.SYSTEM_MESSAGES}get MIDI_CHANNEL_MODE_MESSAGES(){return this.validation&&console.warn("The MIDI_CHANNEL_MODE_MESSAGES enum has been moved to Enumerations.CHANNEL_MODE_MESSAGES."),q.CHANNEL_MODE_MESSAGES}get MIDI_CONTROL_CHANGE_MESSAGES(){return this.validation&&console.warn("The MIDI_CONTROL_CHANGE_MESSAGES enum has been replaced by the Enumerations.CONTROL_CHANGE_MESSAGES array."),q.MIDI_CONTROL_CHANGE_MESSAGES}get MIDI_REGISTERED_PARAMETER(){return this.validation&&console.warn("The MIDI_REGISTERED_PARAMETER enum has been moved to Enumerations.REGISTERED_PARAMETERS."),q.REGISTERED_PARAMETERS}get NOTES(){return this.validation&&console.warn("The NOTES enum has been deprecated."),["C","C#","D","D#","E","F","F#","G","G#","A","A#","B"]}}const G=new sx;G.constructor=null;function to(n){return Ad()?(Hm(n),!0):!1}function qt(n){return typeof n=="function"?n():b(n)}const su=typeof window<"u"&&typeof document<"u",ix=Object.prototype.toString,rx=n=>ix.call(n)==="[object Object]",_c=(n,e,t)=>Math.min(t,Math.max(e,n)),ha=()=>{},ox=ax();function ax(){var n;return su&&((n=window==null?void 0:window.navigator)==null?void 0:n.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function cx(n,e){function t(...s){return new Promise((i,r)=>{Promise.resolve(n(()=>e.apply(this,s),{fn:e,thisArg:this,args:s})).then(i).catch(r)})}return t}const Bp=n=>n();function lx(n=Bp){const e=Oe(!0);function t(){e.value=!1}function s(){e.value=!0}const i=(...r)=>{e.value&&n(...r)};return{isActive:jr(e),pause:t,resume:s,eventFilter:i}}function ux(...n){if(n.length!==1)return bg(...n);const e=n[0];return typeof e=="function"?jr(_g(()=>({get:e,set:ha}))):Oe(e)}function hx(n,e,t={}){const{eventFilter:s=Bp,...i}=t;return yt(n,cx(s,e),i)}function dx(n,e,t={}){const{eventFilter:s,...i}=t,{eventFilter:r,pause:o,resume:a,isActive:c}=lx(s);return{stop:hx(n,e,{...i,eventFilter:r}),pause:o,resume:a,isActive:c}}function qp(n,e=!0){Wr()?bs(n):e?n():Hi(n)}function Ut(n){var e;const t=qt(n);return(e=t==null?void 0:t.$el)!=null?e:t}const Wn=su?window:void 0,fx=su?window.document:void 0;function Tn(...n){let e,t,s,i;if(typeof n[0]=="string"||Array.isArray(n[0])?([t,s,i]=n,e=Wn):[e,t,s,i]=n,!e)return ha;Array.isArray(t)||(t=[t]),Array.isArray(s)||(s=[s]);const r=[],o=()=>{r.forEach(u=>u()),r.length=0},a=(u,h,d,f)=>(u.addEventListener(h,d,f),()=>u.removeEventListener(h,d,f)),c=yt(()=>[Ut(e),qt(i)],([u,h])=>{if(o(),!u)return;const d=rx(h)?{...h}:h;r.push(...t.flatMap(f=>s.map(p=>a(u,f,p,d))))},{immediate:!0,flush:"post"}),l=()=>{c(),o()};return to(l),l}let Oh=!1;function px(n,e,t={}){const{window:s=Wn,ignore:i=[],capture:r=!0,detectIframe:o=!1}=t;if(!s)return;ox&&!Oh&&(Oh=!0,Array.from(s.document.body.children).forEach(d=>d.addEventListener("click",ha)),s.document.documentElement.addEventListener("click",ha));let a=!0;const c=d=>i.some(f=>{if(typeof f=="string")return Array.from(s.document.querySelectorAll(f)).some(p=>p===d.target||d.composedPath().includes(p));{const p=Ut(f);return p&&(d.target===p||d.composedPath().includes(p))}}),u=[Tn(s,"click",d=>{const f=Ut(n);if(!(!f||f===d.target||d.composedPath().includes(f))){if(d.detail===0&&(a=!c(d)),!a){a=!0;return}e(d)}},{passive:!0,capture:r}),Tn(s,"pointerdown",d=>{const f=Ut(n);f&&(a=!d.composedPath().includes(f)&&!c(d))},{passive:!0}),o&&Tn(s,"blur",d=>{setTimeout(()=>{var f;const p=Ut(n);((f=s.document.activeElement)==null?void 0:f.tagName)==="IFRAME"&&!(p!=null&&p.contains(s.document.activeElement))&&e(d)},0)})].filter(Boolean);return()=>u.forEach(d=>d())}function mx(n){return typeof n=="function"?n:typeof n=="string"?e=>e.key===n:Array.isArray(n)?e=>n.includes(e.key):()=>!0}function iu(...n){let e,t,s={};n.length===3?(e=n[0],t=n[1],s=n[2]):n.length===2?typeof n[1]=="object"?(e=!0,t=n[0],s=n[1]):(e=n[0],t=n[1]):(e=!0,t=n[0]);const{target:i=Wn,eventName:r="keydown",passive:o=!1,dedupe:a=!1}=s,c=mx(e);return Tn(i,r,u=>{u.repeat&&qt(a)||c(u)&&t(u)},o)}function Co(n,e,t={}){return iu(n,e,{...t,eventName:"keydown"})}function gx(){const n=Oe(!1);return Wr()&&bs(()=>{n.value=!0}),n}function ru(n){const e=gx();return fe(()=>(e.value,!!n()))}function ou(n,e={}){const{immediate:t=!0,fpsLimit:s=void 0,window:i=Wn}=e,r=Oe(!1),o=s?1e3/s:null;let a=0,c=null;function l(d){if(!r.value||!i)return;const f=d-(a||d);if(o&&ft&&"matchMedia"in t&&typeof t.matchMedia=="function");let i;const r=Oe(!1),o=l=>{r.value=l.matches},a=()=>{i&&("removeEventListener"in i?i.removeEventListener("change",o):i.removeListener(o))},c=Zd(()=>{s.value&&(a(),i=t.matchMedia(qt(n)),"addEventListener"in i?i.addEventListener("change",o):i.addListener(o),r.value=i.matches)});return to(()=>{c(),a(),i=void 0}),r}const go=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},_o="__vueuse_ssr_handlers__",yx=vx();function vx(){return _o in go||(go[_o]=go[_o]||{}),go[_o]}function Up(n,e){return yx[n]||e}function bx(n){return n==null?"any":n instanceof Set?"set":n instanceof Map?"map":n instanceof Date?"date":typeof n=="boolean"?"boolean":typeof n=="string"?"string":typeof n=="object"?"object":Number.isNaN(n)?"any":"number"}const wx={boolean:{read:n=>n==="true",write:n=>String(n)},object:{read:n=>JSON.parse(n),write:n=>JSON.stringify(n)},number:{read:n=>Number.parseFloat(n),write:n=>String(n)},any:{read:n=>n,write:n=>String(n)},string:{read:n=>n,write:n=>String(n)},map:{read:n=>new Map(JSON.parse(n)),write:n=>JSON.stringify(Array.from(n.entries()))},set:{read:n=>new Set(JSON.parse(n)),write:n=>JSON.stringify(Array.from(n))},date:{read:n=>new Date(n),write:n=>n.toISOString()}},Ih="vueuse-storage";function St(n,e,t,s={}){var i;const{flush:r="pre",deep:o=!0,listenToStorageChanges:a=!0,writeDefaults:c=!0,mergeDefaults:l=!1,shallow:u,window:h=Wn,eventFilter:d,onError:f=T=>{console.error(T)}}=s,p=(u?qd:Oe)(e);if(!t)try{t=Up("getDefaultStorage",()=>{var T;return(T=Wn)==null?void 0:T.localStorage})()}catch(T){f(T)}if(!t)return p;const m=qt(e),_=bx(m),g=(i=s.serializer)!=null?i:wx[_],{pause:y,resume:S}=dx(p,()=>w(p.value),{flush:r,deep:o,eventFilter:d});return h&&a&&(Tn(h,"storage",N),Tn(h,Ih,A)),N(),p;function w(T){try{if(T==null)t.removeItem(n);else{const R=g.write(T),O=t.getItem(n);O!==R&&(t.setItem(n,R),h&&h.dispatchEvent(new CustomEvent(Ih,{detail:{key:n,oldValue:O,newValue:R,storageArea:t}})))}}catch(R){f(R)}}function v(T){const R=T?T.newValue:t.getItem(n);if(R==null)return c&&m!==null&&t.setItem(n,g.write(m)),m;if(!T&&l){const O=g.read(R);return typeof l=="function"?l(O,m):_==="object"&&!Array.isArray(O)?{...m,...O}:O}else return typeof R!="string"?R:g.read(R)}function A(T){N(T.detail)}function N(T){if(!(T&&T.storageArea!==t)){if(T&&T.key==null){p.value=m;return}if(!(T&&T.key!==n)){y();try{(T==null?void 0:T.newValue)!==g.write(p.value)&&(p.value=v(T))}catch(R){f(R)}finally{T?Hi(S):S()}}}}}function xx(n){return _x("(prefers-color-scheme: dark)",n)}function Tx(n={}){const{selector:e="html",attribute:t="class",initialValue:s="auto",window:i=Wn,storage:r,storageKey:o="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:c,emitAuto:l,disableTransition:u=!0}=n,h={auto:"",light:"light",dark:"dark",...n.modes||{}},d=xx({window:i}),f=fe(()=>d.value?"dark":"light"),p=c||(o==null?ux(s):St(o,s,r,{window:i,listenToStorageChanges:a})),m=fe(()=>p.value==="auto"?f.value:p.value),_=Up("updateHTMLAttrs",(w,v,A)=>{const N=typeof w=="string"?i==null?void 0:i.document.querySelector(w):Ut(w);if(!N)return;let T;if(u){T=i.document.createElement("style");const R="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";T.appendChild(document.createTextNode(R)),i.document.head.appendChild(T)}if(v==="class"){const R=A.split(/\s/g);Object.values(h).flatMap(O=>(O||"").split(/\s/g)).filter(Boolean).forEach(O=>{R.includes(O)?N.classList.add(O):N.classList.remove(O)})}else N.setAttribute(v,A);u&&(i.getComputedStyle(T).opacity,document.head.removeChild(T))});function g(w){var v;_(e,t,(v=h[w])!=null?v:w)}function y(w){n.onChanged?n.onChanged(w,g):g(w)}yt(m,y,{flush:"post",immediate:!0}),qp(()=>y(m.value));const S=fe({get(){return l?p.value:m.value},set(w){p.value=w}});try{return Object.assign(S,{store:p,system:f,state:m})}catch{return S}}function Ex(n={}){const{valueDark:e="dark",valueLight:t=""}=n,s=Tx({...n,onChanged:(r,o)=>{var a;n.onChanged?(a=n.onChanged)==null||a.call(n,r==="dark",o,r):o(r)},modes:{dark:e,light:t}});return fe({get(){return s.value==="dark"},set(r){const o=r?"dark":"light";s.system.value===o?s.value="auto":s.value=o}})}function Sx(n,e,t={}){const{window:s=Wn,...i}=t;let r;const o=ru(()=>s&&"ResizeObserver"in s),a=()=>{r&&(r.disconnect(),r=void 0)},c=fe(()=>Array.isArray(n)?n.map(h=>Ut(h)):[Ut(n)]),l=yt(c,h=>{if(a(),o.value&&s){r=new ResizeObserver(e);for(const d of h)d&&r.observe(d,i)}},{immediate:!0,flush:"post",deep:!0}),u=()=>{a(),l()};return to(u),{isSupported:o,stop:u}}function Cx(n,e={}){const{reset:t=!0,windowResize:s=!0,windowScroll:i=!0,immediate:r=!0}=e,o=Oe(0),a=Oe(0),c=Oe(0),l=Oe(0),u=Oe(0),h=Oe(0),d=Oe(0),f=Oe(0);function p(){const m=Ut(n);if(!m){t&&(o.value=0,a.value=0,c.value=0,l.value=0,u.value=0,h.value=0,d.value=0,f.value=0);return}const _=m.getBoundingClientRect();o.value=_.height,a.value=_.bottom,c.value=_.left,l.value=_.right,u.value=_.top,h.value=_.width,d.value=_.x,f.value=_.y}return Sx(n,p),yt(()=>Ut(n),m=>!m&&p()),i&&Tn("scroll",p,{capture:!0,passive:!0}),s&&Tn("resize",p,{passive:!0}),qp(()=>{r&&p()}),{height:o,bottom:a,left:c,right:l,top:u,width:h,x:d,y:f,update:p}}const Rh=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Dh(n,e={}){const{document:t=fx,autoExit:s=!1}=e,i=fe(()=>{var g;return(g=Ut(n))!=null?g:t==null?void 0:t.querySelector("html")}),r=Oe(!1),o=fe(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(g=>t&&g in t||i.value&&g in i.value)),a=fe(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(g=>t&&g in t||i.value&&g in i.value)),c=fe(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(g=>t&&g in t||i.value&&g in i.value)),l=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(g=>t&&g in t),u=ru(()=>i.value&&t&&o.value!==void 0&&a.value!==void 0&&c.value!==void 0),h=()=>l?(t==null?void 0:t[l])===i.value:!1,d=()=>{if(c.value){if(t&&t[c.value]!=null)return t[c.value];{const g=i.value;if((g==null?void 0:g[c.value])!=null)return!!g[c.value]}}return!1};async function f(){if(!(!u.value||!r.value)){if(a.value)if((t==null?void 0:t[a.value])!=null)await t[a.value]();else{const g=i.value;(g==null?void 0:g[a.value])!=null&&await g[a.value]()}r.value=!1}}async function p(){if(!u.value||r.value)return;d()&&await f();const g=i.value;o.value&&(g==null?void 0:g[o.value])!=null&&(await g[o.value](),r.value=!0)}async function m(){await(r.value?f():p())}const _=()=>{const g=d();(!g||g&&h())&&(r.value=g)};return Tn(t,Rh,_,!1),Tn(()=>Ut(i),Rh,_,!1),s&&to(f),{isSupported:u,isFullscreen:r,enter:p,exit:f,toggle:m}}const D=Vt({enabled:!1,initiated:!1,keyboardInitiated:!1,offset:-1,out:!0,inputs:{},outputs:{},forwards:{},playing:!1,channels:{},channel:St("global-midi-channel",1),note:null,time:0,duration:0,maxDuration:3e3,message:null,log:[],cc:{},clock:0,filter:St("global-midi-filter",{}),available:fe(()=>Object.entries(D.outputs).length>0),total:{hits:0,dur:0,duration:fe(()=>D.total.dur+D.duration),notes:[0,0,0,0,0,0,0,0,0,0,0,0],durations:[0,0,0,0,0,0,0,0,0,0,0,0],durs:fe(()=>D.total.durations.map((n,e)=>({pitch:e,dur:n})).filter(n=>n.dur>0)),reset(){D.total.hits=0,D.total.dur=0,D.total.notes=new Array(12).fill(0),D.total.durations=new Array(12).fill(0)}}}),ui={KeyA:{note:"C",offset:0},KeyW:{note:"C#",offset:0},KeyS:{note:"D",offset:0},KeyE:{note:"D#",offset:0},KeyD:{note:"E",offset:0},KeyF:{note:"F",offset:0},KeyT:{note:"F#",offset:0},KeyG:{note:"G",offset:0},KeyY:{note:"G#",offset:0},KeyH:{note:"A",offset:0},KeyU:{note:"A#",offset:0},KeyJ:{note:"B",offset:0},KeyK:{note:"C",offset:1},KeyO:{note:"C#",offset:1},KeyL:{note:"D",offset:1},KeyP:{note:"D#",offset:1},Semicolon:{note:"E",offset:1},Quote:{note:"F",offset:1},BracketRight:{note:"F#",offset:1}};function Ax(){D.keyboardInitiated||(document.addEventListener("keydown",n=>{n.code=="KeyZ"&&D.offset--,n.code=="KeyX"&&D.offset++,!(n.repeat||!ui[n.code])&&(n.ctrlKey||n.altKey||n.metaKey||((n.code=="Slash"||n.code=="Quote")&&n.preventDefault(),Ph(ui[n.code].note,ui[n.code].offset)))}),document.addEventListener("keyup",n=>{ui[n.code]&&Ph(ui[n.code].note,ui[n.code].offset,!0)}),Co("Enter",()=>D.total.reset()),D.keyboardInitiated=!0)}function Ph(n,e,t){let s=n+(4+e+D.offset);const i=new Ls(s,{attack:t?0:1}),r={type:t?"noteoff":"noteon",note:i,port:{id:"PC Keyboard"},timestamp:D.time,target:{number:0}};Gc(r)}ou(()=>{var n,e,t;D.time=G.time,((n=D==null?void 0:D.note)==null?void 0:n.velocity)>0?D.duration=G.time-((e=D==null?void 0:D.note)==null?void 0:e.timestamp):(D.total.dur+=D.duration,D.total.durations[((t=D==null?void 0:D.note)==null?void 0:t.pitch)||0]+=D.duration,D.duration=0)});yt(()=>D.duration,n=>{n>D.maxDuration&&D.total.reset()});function ii(){return bs(()=>{G.supported&&Nx()}),Zd(()=>{if(!D.out)return;let n=Object.values(G.outputs);D.playing?n.forEach(e=>{e.sendContinue()}):n.forEach(e=>{e.sendStop()})}),{midi:D,midiAttack:kx,midiRelease:Rx,midiOnce:Dx,setCC:Px,WebMidi:G}}function Nx(){D.initiated||(G.enable(),G.addListener("enabled",n=>{D.enabled=!0,$h()}),G.addListener("connected",n=>{$h()}),G.addListener("disconnected",n=>{delete D[n.port.type+"s"][n.port.id]}),D.initiated=!0)}function $h(){D.inputs=Vt({}),G.inputs.forEach(n=>{D.enabled=!0,D.inputs[n.id]={name:n.name,manufacturer:n.manufacturer,forwarder:n.addForwarder(),event:null,note:null,cc:null},n.removeListener(),n.addListener("start",()=>{D.playing=!0}),n.addListener("stop",()=>{D.playing=!1,D.channels={}}),n.addListener("midimessage",e=>{var t;((t=e==null?void 0:e.message)==null?void 0:t.type)!="clock"&&(D.inputs[n.id].event=e,D.message=e.message,D.log.unshift(e),D.log.length>100&&D.log.pop())}),n.addListener("noteon",e=>{D.inputs[n.id].note=Gc(e)},{channels:"all"}),n.addListener("noteoff",e=>{D.inputs[n.id].note=Gc(e)},{channels:"all"}),n.addListener("controlchange",e=>{const t=Mx(e);t&&(D.inputs[n.id].cc=t,D.cc=t)},{channels:"all"}),n.addListener("clock",e=>{D.clock=e.timestamp})}),D.outputs=Vt({}),G.outputs.forEach(n=>{D.outputs[n.id]={name:n.name,manufacturer:n.manufacturer}})}function Gc(n){let e=n.note;if(e.port=n.port.id,e.type=n.type,e.timestamp=D.time,e.channel=n.target.number,n.type=="noteoff")e.velocity=0;else{e.velocity=100,D.total.hits++;let t=(n.note.number+3)%12;D.total.notes[t]=D.total.notes[t]+1}if(e.pitch=(e.number+3)%12,e.octA=Math.floor((e.number+3)/12)-1,!D.filter[e.channel])return jp(e.channel),D.channels[e.channel].notes[e.number]=e,D.note=e,e}function Mx(n){if(D.filter[n.target.number])return;let e={channel:n.target.number,timestamp:n.timestamp,number:n.controller.number,value:n.value,raw:n.rawValue,port:n.port.id};return jp(e.channel),D.channels[e.channel].cc[e.number]=e,e}function jp(n){D.channels[n]||(D.channels[n]={num:n,activeNotes:{},notes:{},cc:{}})}function Wp(n,e,t){var s,i,r;(r=(i=(s=D.channels)==null?void 0:s[n])==null?void 0:i.notes)!=null&&r[e]&&(D.channels[n].notes[e].velocity=t)}function kx(n,e){if(!D.out)return;let t=(n==null?void 0:n.channel)||D.channel;Wp(t,n==null?void 0:n.number,100),G.outputs.forEach(s=>{s.playNote(n.number,{channels:t,...e})})}function Ox(n,e){D.out&&G.outputs.forEach(t=>{t.playNote(n,{channels:D.channel,...e})})}function Ix(n,e){D.out&&(n?G.outputs.forEach(t=>{t.stopNote(n,{channels:D.channel,...e})}):G.outputs.forEach(t=>{t.sendAllNotesOff(),t.sendAllSoundOff({time:"+1"})}))}function Rx(n){if(D.out)if(n){let e=(n==null?void 0:n.channel)||D.channel;Wp(e,n==null?void 0:n.number,0),G.outputs.forEach(t=>{t.stopNote(n.number,{channels:e})})}else G.outputs.forEach(e=>{e.sendAllNotesOff(),e.sendAllSoundOff({time:"+1"})})}function Dx(n,e){!D.out||D.filter[D.channel]||(Ox(n,e),setTimeout(()=>{Ix(n,e)},300))}function Px(n,e){D.out&&G.outputs.forEach(t=>{t.sendControlChange(Number(n.number),e,n.channel)})}function $x(n,e){var r,o;const t=G.outputs.find(a=>a.id==e),s=D.inputs[n].forwarder.destinations,i=s.indexOf(t);i==-1?(s.push(t),D.forwards[n]=D.forwards[n]||{},D.forwards[n][e]=!0):(s.splice(i,1),(o=(r=D.forwards)==null?void 0:r[n])==null||delete o[e])}function Kc(n,e,t){if(typeof n=="function"||Gs(n))return fe(()=>_c(qt(n),qt(e),qt(t)));const s=Oe(n);return fe({get(){return s.value=_c(s.value,qt(e),qt(t))},set(i){s.value=_c(i,qt(e),qt(t))}})}const Ie={},Me=Vt({midi:!0,bpm:Kc(St("tempo-bpm",90),10,500),quantize:St("quantize","@8n"),octave:Kc(St("synth-transpose",0),-2,2),transpose:fe(()=>Me.octave*12),initiated:!1,params:{oscillator:{type:St("synth-osc","sawtooth8")},volume:-20,envelope:{attack:.005,decay:.3,sustain:.4,release:.8},filterEnvelope:{attack:.001,decay:.7,sustain:.5,release:1,baseFrequency:60,octaves:5}}});function zp(){return Me.initiated||(Co("zя".split(""),n=>{Me.octave--}),Co("xч".split(""),n=>{Me.octave++}),Co("Escape",()=>yc()),gc.bpm.set(Me.bpm),gc.start(),yt(()=>Me.bpm,n=>{gc.bpm.rampTo(n,2)}),yt(()=>Me.params,n=>{Ie.poly&&Ie.poly.set(n)},{deep:!0}),yt(()=>D.note,n=>{Me.midi&&(n.velocity>0?Fh(Eh(n.number).toFrequency(),n.velocity/127):Vh(Eh(n.number).toFrequency()))}),yt(()=>D.playing,n=>{n||yc()})),{init:ri,synth:Ie,synthOptions:Me,synthOnce:Fx,synthAttack:Fh,synthRelease:Vh,synthReleaseAll:yc}}function ri(){D2(),!(Ie!=null&&Ie.poly)&&(Ie.compressor=new ua().toDestination(),Ie.pan=new ra({depth:.4,frequency:"8n",wet:.7}).connect(Ie.compressor),Ie.reverb=new ca(2.5).connect(Ie.pan),Ie.poly=new sa(na,Me.params).connect(Ie.pan),Ie.delay=new aa({delayTime:"8n",wet:.3,feedback:.3,maxDelay:"8n"}).toDestination(),Ie.poly.connect(Ie.reverb),Ie.poly.connect(Ie.delay),Ie.poly.connect(Ie.pan),Ie.pan.start(),Me.initiated=!0)}function Fx(n="A4",e="8n",t){if(!Ie.poly||Me.mute)return ri();Ie.poly.triggerAttackRelease(n,e),Ie.poly.releaseAll(Me.quantize)}function Fh(n,e){if(!Ie.poly||Me.mute)return ri();Ie.poly.triggerAttack(Ip(n).transpose(Me.transpose),Me.quantize,e)}function Vh(n){if(!Ie.poly||Me.mute)return ri();Ie.poly.triggerRelease(Ip(n).transpose(Me.transpose),Me.quantize)}function yc(){if(!Ie.poly||Me.mute)return ri();Ie.poly.releaseAll(Me.quantize)}const Vx={key:0,class:"text-center absolute z-500 p-4 rounded-xl shadow-xl bg-light-200 mx-auto dark_bg-dark-200 min-w-80",style:{left:"50%",top:"50%",transform:"translate(-50%, -50%)"}},Lx=V("h2",{class:"text-center text-2xl my-4"},"Let's play music with touch ",-1),Bx={key:0,class:"p-4 flex flex-col gap-2"},qx={class:"button p-4 flex items-center",href:"https://chrome.google.com",target:"_blank"},Ux=V("div",{class:"ml-2"},"Google Chrome for Desktop or Android",-1),jx={class:"button p-4 flex items-center",href:"https://apps.apple.com/ru/app/web-midi-browser/id953846217",target:"_blank"},Wx=V("div",{class:"ml-2"},"Web MIDI Browser for iOS",-1),zx={class:"button p-4 flex items-center",href:"https://caniuse.com/?search=midi",target:"_blank"},Hx=V("div",{class:"ml-2"},"Other options",-1),Gx=V("div",{class:"mt-4"},"Or play notes with your PC keyboard ",-1),Kx=V("img",{src:l1},null,-1),Yx={key:1,class:"px-4"},Zx=["disabled","id","onUpdate:modelValue"],Xx=["for"],Qx={__name:"start",setup(n){const e=Oe(!1),t=Vt({browser:{text:"MIDI enabled browser",checked:fe(()=>D==null?void 0:D.enabled),disabled:!0},controller:{text:"TouchMe (or any other MIDI controller)",checked:St("touch-me",!1)},usb:{text:"USB cable (you have it in your package)",checked:St("usb-cable",!1)},adapter:{text:"Special adapter, if your device doesn’t have a usb port ",checked:St("usb-adapter",!1)},friend:{text:"Your best friend ",checked:St("your-friend",!1)}});return(s,i)=>{const r=c1,o=s1,a=Q0;return b(Me).initiated?ut("",!0):(K(),ee("div",Vx,[Lx,b(D).enabled?(K(),ee("div",Yx,[(K(!0),ee(Re,null,vt(b(t),(c,l)=>(K(),ee("div",{class:"flex items-center my-4",key:l},[At(V("input",{class:"transform scale-200",type:"checkbox",disabled:c.disabled,id:l,"onUpdate:modelValue":u=>c.checked=u},null,8,Zx),[[n0,c.checked]]),V("label",{class:"ml-4",for:l},Ke(c.text),9,Xx)]))),128))])):(K(),ee("div",Bx,[vr("This interactive experience needs Web MIDI API support. Unfortunately, your current browser doesn't provide it. Is it Firefox or Safari? Please, use another one here."),V("a",qx,[xe(r,{class:"text-2xl"}),Ux]),V("a",jx,[xe(o,{class:"text-2xl"}),Wx]),V("a",zx,[xe(a,{class:"text-2xl"}),Hx]),Gx,Kx])),V("button",{class:"button mx-auto w-full font-bold",onClick:i[0]||(i[0]=c=>{b(ri)(),e.value=!0})},"Start")]))}}},Jx={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},eT=V("path",{fill:"currentColor",d:"M16 3C8.832 3 3 8.832 3 16s5.832 13 13 13s13-5.832 13-13S23.168 3 16 3zm0 2c6.086 0 11 4.914 11 11s-4.914 11-11 11S5 22.086 5 16S9.914 5 16 5zm-3.781 5.781L10.78 12.22L14.562 16l-3.78 3.781l1.437 1.438L16 17.437l3.781 3.782l1.438-1.438L17.437 16l3.782-3.781l-1.438-1.438L16 14.562z"},null,-1),tT=[eT];function nT(n,e){return K(),ee("svg",Jx,[...tT])}const sT={name:"la-times-circle",render:nT},iT={class:"-mt-3 mb-1 font-bold"},rT=V("div",{class:"absolute bottom-1 text-xs"},"BPM",-1),oT={__name:"bpm",setup(n){const e=[60,80,100,120];function t(){let s=e.findIndex(i=>i==Me.bpm);Me.bpm=e[++s%e.length]}return(s,i)=>(K(),ee("button",{class:"button relative",onClick:i[0]||(i[0]=r=>t())},[V("div",iT,Ke(b(Me).bpm),1),rT]))}},aT={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},cT=V("g",{fill:"currentColor"},[V("path",{d:"M128 64v64H24Zm104 64H128v64Z",opacity:".2"}),V("path",{d:"m236.19 134.81l-104 64A8 8 0 0 1 120 192V78.32l-91.81 56.49a8 8 0 0 1-8.38-13.62l104-64A8 8 0 0 1 136 64v113.68l91.81-56.49a8 8 0 0 1 8.38 13.62Z"})],-1),lT=[cT];function uT(n,e){return K(),ee("svg",aT,[...lT])}const hT={name:"ph-wave-sawtooth-duotone",render:uT},dT={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},fT=V("g",{fill:"currentColor"},[V("path",{d:"M128 72v56H24V72Zm0 56v56h104v-56Z",opacity:".2"}),V("path",{d:"M240 128v56a8 8 0 0 1-8 8H128a8 8 0 0 1-8-8V80H32v48a8 8 0 0 1-16 0V72a8 8 0 0 1 8-8h104a8 8 0 0 1 8 8v104h88v-48a8 8 0 0 1 16 0Z"})],-1),pT=[fT];function mT(n,e){return K(),ee("svg",dT,[...pT])}const gT={name:"ph-wave-square-duotone",render:mT},_T={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},yT=V("g",{fill:"currentColor"},[V("path",{d:"m76 56l52 72H24Zm156 72H128l52 72Z",opacity:".2"}),V("path",{d:"m238.48 132.68l-52 72a8 8 0 0 1-13 0L76 69.66l-45.51 63a8 8 0 1 1-13-9.36l52-72a8 8 0 0 1 13 0l97.51 135l45.51-63a8 8 0 1 1 13 9.36Z"})],-1),vT=[yT];function bT(n,e){return K(),ee("svg",_T,[...vT])}const wT={name:"ph-wave-triangle-duotone",render:bT},xT={style:{"vertical-align":"middle"},viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},TT=V("g",{fill:"currentColor"},[V("path",{d:"M232 128c-52 110.85-78 55.43-104 0Zm-208 0h104c-26-55.43-52-110.85-104 0Z",opacity:".2"}),V("path",{d:"M239.24 131.4c-22 46.8-41.4 68.6-61.2 68.6c-25.1 0-40.73-33.32-57.28-68.6C107.7 103.56 92.9 72 78 72c-16.4 0-36.31 37.21-46.72 59.4a8 8 0 0 1-14.48-6.8C38.71 77.8 58.16 56 78 56c25.1 0 40.73 33.32 57.28 68.6C148.3 152.44 163.1 184 178 184c16.4 0 36.31-37.21 46.72-59.4a8 8 0 0 1 14.48 6.8Z"})],-1),ET=[TT];function ST(n,e){return K(),ee("svg",xT,[...ET])}const CT={name:"ph-wave-sine-duotone",render:ST},AT={__name:"oscillator",setup(n){const e={sine:"SIN",triangle:"TRI",square8:"SQR",sawtooth8:"SAW"};function t(){let a=Object.keys(e),c=a.findIndex(l=>l==i.params.oscillator.type);i.params.oscillator.type=a[++c%a.length]}const s=fe(()=>i.params.oscillator.type),{synthOptions:i,synthOnce:r,init:o}=zp();return(a,c)=>{const l=CT,u=wT,h=gT,d=hT;return K(),ee("div",{class:"button flex-auto flex justify-center m-1 cursor-pointer",onClick:c[0]||(c[0]=f=>{var p,m;t(),b(r)((m=(p=b(D))==null?void 0:p.note)==null?void 0:m.identifier),!b(i).initiated&&b(o)()})},[s.value=="sine"?(K(),et(l,{key:0})):ut("",!0),s.value=="triangle"?(K(),et(u,{key:1})):ut("",!0),s.value=="square8"?(K(),et(h,{key:2})):ut("",!0),s.value=="sawtooth8"?(K(),et(d,{key:3})):ut("",!0)])}}},NT=["A","A#","B","C","C#","D","D#","E","F","F#","G","G#"];function ot(n=0,e,t=1,s=1){return e=e||Math.floor(n/12)+4,`hsla(${n%12*30},${t*100}%,${Math.abs(e+2)*8}%,${s})`}function MT(n=0,e=12,t=35,s=100,i=100){let r=(n-e/4)/(e/2)*Math.PI,o=t*Math.cos(r)+s/2,a=t*Math.sin(r)+i/2;return{x:o,y:a}}const ys={},Ya=(n,e)=>{const t=n.__vccOpts||n;for(const[s,i]of e)t[s]=i;return t},kT={class:"flex flex-col gap-1 mb-4 overflow-x-scroll font-mono pt-4"},OT={class:"txt whitespace-nowrap"},IT={class:"txt"},RT={class:"txt"},DT={class:"txt text-center"},PT={class:"txt text-right"},Hp={__name:"log",setup(n){Oe(!1);const{midi:e,midiAttack:t,midiRelease:s,setCC:i}=ii();return(r,o)=>(K(),ee("div",kT,[xe(X_,{name:"fall",mode:"out-in"},{default:nn(()=>[(K(!0),ee(Re,null,vt(b(e).log,a=>{var c,l;return K(),ee("div",{class:"flex text-xs fall whitespace-nowrap justify-between",key:a},[V("div",{class:"p-2",style:Be({backgroundColor:b(ot)(a.message.dataBytes[0]+3||0)})},null,4),V("div",OT,Ke(b(J).toNoteIdentifier(a.message.dataBytes[0]||1)),1),V("div",IT,Ke((c=a.message)==null?void 0:c.type),1),V("div",RT,Ke((a.message.dataBytes[1]/127).toFixed(2)),1),V("div",DT,Ke(a.data.join(",")),1),V("div",PT,"CH"+Ke((l=a.message)==null?void 0:l.channel),1)])}),128))]),_:1})]))}};typeof ys=="function"&&ys(Hp);const $T=Ya(Hp,[["__scopeId","data-v-5ef71097"]]);const FT=n=>(Ca("data-v-b0381278"),n=n(),Aa(),n),VT={class:"p-4 shadow-lg rounded-2xl bg-light-900 dark_bg-dark-300 relative border-2 shadow-lg",style:{flex:"1 1 200px"}},LT={class:"flex justify-between flex-wrap gap-1"},BT={class:"flex-col"},qT={class:"text-sm"},UT={class:"text-xl font-bold"},jT={class:"flex-col text-xs font-mono flex gap-2 text-center"},WT={key:1,class:"display"},zT={class:"flex flex-wrap gap-3 mt-4 items-center"},HT=FT(()=>V("div",{class:"text-xs"},"TO",-1)),GT=["onClick"],KT={class:"text-sm"},YT={__name:"input",props:{input:Object,iid:[Number,String]},setup(n){const e=n,{midi:t}=ii(),s=fe(()=>{var i,r,o;return((r=(i=e.input)==null?void 0:i.note)==null?void 0:r.velocity)>0?ot((o=e.input.note)==null?void 0:o.pitch,null,1,.4):"#7773"});return(i,r)=>{var o,a,c,l,u,h,d,f,p,m,_,g,y,S,w,v;return K(),ee("div",VT,[V("div",LT,[V("div",BT,[V("div",qT,Ke(n.input.manufacturer),1),V("div",UT,Ke(n.input.name),1)]),V("div",jT,[n.input.note?(K(),ee("div",{key:0,class:"display",style:Be({backgroundColor:b(s)})},[V("div",{class:"indicator",style:Be({transform:`scale(${(a=(o=n.input)==null?void 0:o.note)==null?void 0:a.attack},1)`})},null,4),V("i",null,"CH"+Ke((l=(c=n.input)==null?void 0:c.note)==null?void 0:l.channel),1),V("div",{class:"px-1 rounded-sm",style:Be({backgroundColor:b(s)})},Ke((h=(u=n.input)==null?void 0:u.note)==null?void 0:h.identifier),5),V("i",null,Ke((f=(d=n.input)==null?void 0:d.note)==null?void 0:f.number),1)],4)):ut("",!0),n.input.cc?(K(),ee("div",WT,[V("div",{class:"indicator",style:Be({transform:`scale(${(m=(p=n.input)==null?void 0:p.cc)==null?void 0:m.value},1)`})},null,4),V("i",null,"CH"+Ke((g=(_=n.input)==null?void 0:_.cc)==null?void 0:g.channel),1),V("i",null,"CC"+Ke((S=(y=n.input)==null?void 0:y.cc)==null?void 0:S.number),1),V("i",null,Ke((v=(w=n.input)==null?void 0:w.cc)==null?void 0:v.raw),1)])):ut("",!0)])]),V("div",zT,[HT,(K(!0),ee(Re,null,vt(b(t).outputs,(A,N)=>{var T,R;return At((K(),ee("button",{class:vs(["px-2 shadow-sm rounded-xl bg-light-200 dark_bg-dark-500 cursor-pointer border-2 border-transparent select-none",{active:(R=(T=b(t).forwards)==null?void 0:T[n.iid])==null?void 0:R[N]}]),onClick:O=>b($x)(n.iid,N),key:N},[V("div",KT,Ke(A.name),1)],10,GT)),[[$o,n.input.name!=A.name]])}),128))])])}}},ZT=Ya(YT,[["__scopeId","data-v-b0381278"]]);const au=n=>(Ca("data-v-27bfda27"),n=n(),Aa(),n),XT={class:"z-40 flex flex-col gap-2"},QT={key:0,class:"p-2 border border-red-500 text-red-500"},JT=au(()=>V("a",{class:"font-normal underline",href:"https://caniuse.com/?search=midi",target:"_blank"},"compatible browser ",-1)),eE=au(()=>V("span",null,"or ",-1)),tE=au(()=>V("a",{class:"font-normal underline",href:"https://apps.apple.com/ru/app/web-midi-browser/id953846217",target:"_blank"},"Web MIDI Browser on iOS",-1)),nE={key:1,class:"flex flex-wrap gap-4 justify-center"},sE={__name:"panel",props:{toChannel:{type:Boolean,default:!0}},setup(n){return iu(" ",e=>{e.preventDefault(),D.playing=!D.playing}),(e,t)=>{var r;const s=ZT,i=$T;return K(),ee("div",XT,[(r=b(D))!=null&&r.enabled?(K(),ee("div",nE,[(K(!0),ee(Re,null,vt(b(D).inputs,(o,a)=>(K(),et(s,{input:o,iid:a,key:a},null,8,["input","iid"]))),128))])):(K(),ee("div",QT,[vr("MIDI is not available. Use a "),JT,eE,tE])),xe(i,{class:"max-h-40vh mt-6"})])}}},iE=Ya(sE,[["__scopeId","data-v-27bfda27"]]),rE={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},oE=V("path",{fill:"currentColor",d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781l1.44 1.439L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z"},null,-1),aE=[oE];function cE(n,e){return K(),ee("svg",rE,[...aE])}const lE={name:"la-times",render:cE},uE={style:{"vertical-align":"middle"},viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},hE=V("path",{d:"M12 2c5.523 0 10 4.477 10 10s-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2zm8.182 10c0-3.82-2.635-7.039-6.182-7.934V6h-4V4.066C6.453 4.96 3.818 8.18 3.818 12c0 4.51 3.673 8.182 8.182 8.182c4.51 0 8.182-3.673 8.182-8.182zM7 10.636a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728zm10 0a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728zm-8.636 3.637a1.364 1.364 0 1 1 0 2.727a1.364 1.364 0 0 1 0-2.727zm7.272 0a1.364 1.364 0 1 1 0 2.727a1.364 1.364 0 0 1 0-2.727zM12 15.636a1.364 1.364 0 1 1 0 2.728a1.364 1.364 0 0 1 0-2.728z",fill:"currentColor"},null,-1),dE=[hE];function fE(n,e){return K(),ee("svg",uE,[...dE])}const pE={name:"mdi-midi-input",render:fE},mE={class:"p-0"},gE={__name:"state",setup(n){const e=St("global-midi-panel",!1),t=Oe(null);px(t,()=>{e.value=!1});const{midi:s}=ii();return(i,r)=>{var l,u;const o=pE,a=lE,c=iE;return K(),ee("div",mE,[V("button",{class:"button text-2xl",onClick:r[0]||(r[0]=o0(h=>e.value=!b(e),["stop"])),"aria-label":"Toggle MIDI panel"},[xe(o,{class:"transition-all duration-200",style:Be({opacity:b(s).enabled?1:.2,color:b(ot)(b(s).enabled?(l=b(s).note)==null?void 0:l.pitch:0,(u=b(s).note)==null?void 0:u.octA)})},null,8,["style"])]),xe(Pa,{name:"fade"},{default:nn(()=>[b(e)?(K(),ee("div",{key:0,class:"panel",ref_key:"target",ref:t},[V("div",{class:"button cursor-pointer p-1 absolute top-4 right-4 z-100",onClick:r[1]||(r[1]=h=>e.value=!1)},[xe(a)]),xe(c)],512)):ut("",!0)]),_:1})])}}},_E={style:{"vertical-align":"middle"},viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"},yE=v_('',9),vE=[yE];function bE(n,e){return K(),ee("svg",_E,[...vE])}const wE={name:"ion-ios-sunny",render:bE},xE={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},TE=V("path",{fill:"currentColor",d:"M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3Z"},null,-1),EE=[TE];function SE(n,e){return K(),ee("svg",xE,[...EE])}const CE={name:"carbon-moon",render:SE},yo=Ex();Vt({initiated:!1,mute:St("mute",!1),volume:Kc(St("main-vol",1),0,1)});const AE={__name:"dark",setup(n){return(e,t)=>{const s=CE,i=wE;return K(),ee("button",{class:"button",onClick:t[0]||(t[0]=r=>yo.value=!b(yo)),"aria-label":"Toggle dark mode"},[At(xe(s,null,null,512),[[$o,b(yo)]]),At(xe(i,null,null,512),[[$o,!b(yo)]])])}}},NE={style:{"vertical-align":"middle"},viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},ME=V("path",{fill:"currentColor",d:"M4 4v9h2V6h7V4H4zm15 0v2h7v7h2V4h-9zM4 19v9h9v-2H6v-7H4zm22 0v7h-7v2h9v-9h-2z"},null,-1),kE=[ME];function OE(n,e){return K(),ee("svg",NE,[...kE])}const IE={name:"la-expand",render:OE},RE={__name:"fullscreen",props:["el"],setup(n){const e=n,t=Oe();bs(()=>{Hi(()=>{e.el?t.value=e.el:t.value=document.getElementById("screen"),s.value=Dh(t.value)})});const s=Oe();function i(){s.value||(s.value=Dh(t.value)),s.value.toggle()}const r=fe(()=>{var o;return(o=s.value)==null?void 0:o.isSupported});return(o,a)=>{const c=IE;return At((K(),ee("button",{class:"button",onClick:a[0]||(a[0]=l=>i())},[xe(c)],512)),[[$o,b(r)]])}}};const DE=n=>(Ca("data-v-9f417c45"),n=n(),Aa(),n),PE={class:"flex gap-4 absolute flex-col right-2 bottom-2 top-20 text-xl items-center opacity-40 hover_opacity-100 transition justify-between items-center"},$E={class:"flex-0 flex flex-col gap-1"},FE=DE(()=>V("div",{class:"flex-auto"},null,-1)),VE={class:"flex-0 flex flex-col items-center gap-2"},LE={__name:"overlay",setup(n){const e=[-2,-1,0,1,2],t=["+0","@4n","@8n","@16n","@32n"],{synthReleaseAll:s}=zp();function i(){let o=e.findIndex(a=>a==Me.octave);Me.octave=e[++o%e.length]}function r(){let o=t.findIndex(a=>a==Me.quantize);Me.quantize=t[++o%t.length]}return(o,a)=>{const c=RE,l=AE,u=gE,h=AT,d=oT,f=sT,p=rf("tooltip");return K(),ee("div",PE,[V("div",$E,[At(xe(c,null,null,512),[[p,"Toggle fullscreen mode",void 0,{left:!0}]]),At(xe(l,null,null,512),[[p,"Toggle dark mode",void 0,{left:!0}]]),At(xe(u,null,null,512),[[p,"MIDI state",void 0,{left:!0}]])]),FE,V("div",VE,[At(xe(h,null,null,512),[[p,"Synth oscillator type",void 0,{left:!0}]]),At((K(),ee("button",{class:"button w-16 font-bold select-none",onClick:a[0]||(a[0]=m=>i()),"aria-label":"Octave offset"},[vr(Ke(b(Me).octave>0?"+":"")+Ke(b(Me).octave),1)])),[[p,"Octave offset",void 0,{left:!0}]]),At((K(),ee("button",{class:"button font-bold text-sm w-16 select-none",onClick:r,"aria-label":"Synth quantize"},[vr(Ke(b(Me).quantize),1)])),[[p,"Synth quantize",void 0,{left:!0}]]),At(xe(d,null,null,512),[[p,"Increment tempo",void 0,{left:!0}]]),At((K(),ee("button",{class:"button w-16",onClick:a[1]||(a[1]=m=>b(s)("+1n"))},[xe(f)])),[[p,"Turn off all synth voices",void 0,{left:!0}]])])])}}},BE=Ya(LE,[["__scopeId","data-v-9f417c45"]]),qE=.5*(Math.sqrt(3)-1),tr=(3-Math.sqrt(3))/6,Lh=n=>Math.floor(n)|0,Bh=new Float64Array([1,1,-1,1,1,-1,-1,-1,1,0,-1,0,1,0,-1,0,0,1,0,-1,0,1,0,-1]);function Gp(n=Math.random){const e=UE(n),t=new Float64Array(e).map(i=>Bh[i%12*2]),s=new Float64Array(e).map(i=>Bh[i%12*2+1]);return function(r,o){let a=0,c=0,l=0;const u=(r+o)*qE,h=Lh(r+u),d=Lh(o+u),f=(h+d)*tr,p=h-f,m=d-f,_=r-p,g=o-m;let y,S;_>g?(y=1,S=0):(y=0,S=1);const w=_-y+tr,v=g-S+tr,A=_-1+2*tr,N=g-1+2*tr,T=h&255,R=d&255;let O=.5-_*_-g*g;if(O>=0){const F=T+e[R],z=t[F],ne=s[F];O*=O,a=O*O*(z*_+ne*g)}let P=.5-w*w-v*v;if(P>=0){const F=T+y+e[R+S],z=t[F],ne=s[F];P*=P,c=P*P*(z*w+ne*v)}let M=.5-A*A-N*N;if(M>=0){const F=T+1+e[R+1],z=t[F],ne=s[F];M*=M,l=M*M*(z*A+ne*N)}return 70*(a+c+l)}}function UE(n){const t=new Uint8Array(512);for(let s=0;s<512/2;s++)t[s]=s;for(let s=0;s<512/2-1;s++){const i=s+~~(n()*(256-s)),r=t[s];t[s]=t[i],t[i]=r}for(let s=256;s<512;s++)t[s]=t[s-256];return t}var ge=globalThis&&globalThis.__classPrivateFieldSet||function(n,e,t){if(!e.has(n))throw new TypeError("attempted to set private field on non-instance");return e.set(n,t),t},se=globalThis&&globalThis.__classPrivateFieldGet||function(n,e){if(!e.has(n))throw new TypeError("attempted to get private field on non-instance");return e.get(n)},is,Ms,Yt,fi,or,dn,fn,pn,mn,gn,_n,yn,vn,ks,pi,rs,Ao,os;const jE=function(n){var e=131,t=137,s=0;n+="x";var i=Math.floor(9007199254740991/t);for(let r=0;ri&&(s=Math.floor(s/t)),s=s*e+n.charCodeAt(r);return s},re="0123456789abcdef".split(""),WE=[-2147483648,8388608,32768,128],Kt=[24,16,8,0],vo=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],lt=[];class zE{constructor(e=!1,t=!1){is.set(this,void 0),Ms.set(this,void 0),Yt.set(this,void 0),fi.set(this,void 0),or.set(this,void 0),dn.set(this,void 0),fn.set(this,void 0),pn.set(this,void 0),mn.set(this,void 0),gn.set(this,void 0),_n.set(this,void 0),yn.set(this,void 0),vn.set(this,void 0),ks.set(this,void 0),pi.set(this,void 0),rs.set(this,void 0),Ao.set(this,0),os.set(this,void 0),this.init(e,t)}init(e,t){t?(lt[0]=lt[16]=lt[1]=lt[2]=lt[3]=lt[4]=lt[5]=lt[6]=lt[7]=lt[8]=lt[9]=lt[10]=lt[11]=lt[12]=lt[13]=lt[14]=lt[15]=0,ge(this,Ms,lt)):ge(this,Ms,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e?(ge(this,dn,3238371032),ge(this,fn,914150663),ge(this,pn,812702999),ge(this,mn,4144912697),ge(this,gn,4290775857),ge(this,_n,1750603025),ge(this,yn,1694076839),ge(this,vn,3204075428)):(ge(this,dn,1779033703),ge(this,fn,3144134277),ge(this,pn,1013904242),ge(this,mn,2773480762),ge(this,gn,1359893119),ge(this,_n,2600822924),ge(this,yn,528734635),ge(this,vn,1541459225)),ge(this,is,ge(this,os,ge(this,Yt,ge(this,pi,0)))),ge(this,fi,ge(this,ks,!1)),ge(this,or,!0),ge(this,rs,e)}update(e){if(se(this,fi))return this;let t;e instanceof ArrayBuffer?t=new Uint8Array(e):t=e;let s=0;const i=t.length,r=se(this,Ms);for(;s>2]|=t[s]<>2]|=a<>2]|=(192|a>>6)<>2]|=(128|a&63)<=57344?(r[o>>2]|=(224|a>>12)<>2]|=(128|a>>6&63)<>2]|=(128|a&63)<>2]|=(240|a>>18)<>2]|=(128|a>>12&63)<>2]|=(128|a>>6&63)<>2]|=(128|a&63)<=64?(ge(this,is,r[16]),ge(this,os,o-64),this.hash(),ge(this,ks,!0)):ge(this,os,o)}return se(this,Yt)>4294967295&&(ge(this,pi,se(this,pi)+(se(this,Yt)/4294967296<<0)),ge(this,Yt,se(this,Yt)%4294967296)),this}finalize(){if(se(this,fi))return;ge(this,fi,!0);const e=se(this,Ms),t=se(this,Ao);e[16]=se(this,is),e[t>>2]|=WE[t&3],ge(this,is,e[16]),t>=56&&(se(this,ks)||this.hash(),e[0]=se(this,is),e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=se(this,pi)<<3|se(this,Yt)>>>29,e[15]=se(this,Yt)<<3,this.hash()}hash(){let e=se(this,dn),t=se(this,fn),s=se(this,pn),i=se(this,mn),r=se(this,gn),o=se(this,_n),a=se(this,yn),c=se(this,vn);const l=se(this,Ms);let u,h,d,f,p,m,_,g,y,S;for(let w=16;w<64;++w)f=l[w-15],u=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3,f=l[w-2],h=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,l[w]=l[w-16]+u+l[w-7]+h<<0;S=t&s;for(let w=0;w<64;w+=4)se(this,or)?(se(this,rs)?(_=300032,f=l[0]-1413257819,c=f-150054599<<0,i=f+24177077<<0):(_=704751109,f=l[0]-210244248,c=f-1521486534<<0,i=f+143694565<<0),ge(this,or,!1)):(u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),h=(r>>>6|r<<26)^(r>>>11|r<<21)^(r>>>25|r<<7),_=e&t,d=_^e&s^S,m=r&o^~r&a,f=c+h+m+vo[w]+l[w],p=u+d,c=i+f<<0,i=f+p<<0),u=(i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10),h=(c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7),g=i&e,d=g^i&t^_,m=c&r^~c&o,f=a+h+m+vo[w+1]+l[w+1],p=u+d,a=s+f<<0,s=f+p<<0,u=(s>>>2|s<<30)^(s>>>13|s<<19)^(s>>>22|s<<10),h=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),y=s&i,d=y^s&e^g,m=a&c^~a&r,f=o+h+m+vo[w+2]+l[w+2],p=u+d,o=t+f<<0,t=f+p<<0,u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),h=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),S=t&s,d=S^t&i^y,m=o&a^~o&c,f=r+h+m+vo[w+3]+l[w+3],p=u+d,r=e+f<<0,e=f+p<<0;ge(this,dn,se(this,dn)+e<<0),ge(this,fn,se(this,fn)+t<<0),ge(this,pn,se(this,pn)+s<<0),ge(this,mn,se(this,mn)+i<<0),ge(this,gn,se(this,gn)+r<<0),ge(this,_n,se(this,_n)+o<<0),ge(this,yn,se(this,yn)+a<<0),ge(this,vn,se(this,vn)+c<<0)}hex(){this.finalize();const e=se(this,dn),t=se(this,fn),s=se(this,pn),i=se(this,mn),r=se(this,gn),o=se(this,_n),a=se(this,yn),c=se(this,vn);let l=re[e>>28&15]+re[e>>24&15]+re[e>>20&15]+re[e>>16&15]+re[e>>12&15]+re[e>>8&15]+re[e>>4&15]+re[e&15]+re[t>>28&15]+re[t>>24&15]+re[t>>20&15]+re[t>>16&15]+re[t>>12&15]+re[t>>8&15]+re[t>>4&15]+re[t&15]+re[s>>28&15]+re[s>>24&15]+re[s>>20&15]+re[s>>16&15]+re[s>>12&15]+re[s>>8&15]+re[s>>4&15]+re[s&15]+re[i>>28&15]+re[i>>24&15]+re[i>>20&15]+re[i>>16&15]+re[i>>12&15]+re[i>>8&15]+re[i>>4&15]+re[i&15]+re[r>>28&15]+re[r>>24&15]+re[r>>20&15]+re[r>>16&15]+re[r>>12&15]+re[r>>8&15]+re[r>>4&15]+re[r&15]+re[o>>28&15]+re[o>>24&15]+re[o>>20&15]+re[o>>16&15]+re[o>>12&15]+re[o>>8&15]+re[o>>4&15]+re[o&15]+re[a>>28&15]+re[a>>24&15]+re[a>>20&15]+re[a>>16&15]+re[a>>12&15]+re[a>>8&15]+re[a>>4&15]+re[a&15];return se(this,rs)||(l+=re[c>>28&15]+re[c>>24&15]+re[c>>20&15]+re[c>>16&15]+re[c>>12&15]+re[c>>8&15]+re[c>>4&15]+re[c&15]),l}toString(){return this.hex()}digest(){this.finalize();const e=se(this,dn),t=se(this,fn),s=se(this,pn),i=se(this,mn),r=se(this,gn),o=se(this,_n),a=se(this,yn),c=se(this,vn),l=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,s>>24&255,s>>16&255,s>>8&255,s&255,i>>24&255,i>>16&255,i>>8&255,i&255,r>>24&255,r>>16&255,r>>8&255,r&255,o>>24&255,o>>16&255,o>>8&255,o&255,a>>24&255,a>>16&255,a>>8&255,a&255];return se(this,rs)||l.push(c>>24&255,c>>16&255,c>>8&255,c&255),l}array(){return this.digest()}arrayBuffer(){this.finalize();const e=new ArrayBuffer(se(this,rs)?28:32),t=new DataView(e);return t.setUint32(0,se(this,dn)),t.setUint32(4,se(this,fn)),t.setUint32(8,se(this,pn)),t.setUint32(12,se(this,mn)),t.setUint32(16,se(this,gn)),t.setUint32(20,se(this,_n)),t.setUint32(24,se(this,yn)),se(this,rs)||t.setUint32(28,se(this,vn)),e}}is=new WeakMap,Ms=new WeakMap,Yt=new WeakMap,fi=new WeakMap,or=new WeakMap,dn=new WeakMap,fn=new WeakMap,pn=new WeakMap,mn=new WeakMap,gn=new WeakMap,_n=new WeakMap,yn=new WeakMap,vn=new WeakMap,ks=new WeakMap,pi=new WeakMap,rs=new WeakMap,Ao=new WeakMap,os=new WeakMap;function HE(n){const e=new zE;return e.update(n),parseInt(e.hex().substring(0,8),16)}const GE=function(n){var e="#";return n.forEach(function(t){t<16&&(e+=0),e+=t.toString(16)}),e},KE=function(n,e,t){n/=360;var s=t<.5?t*(1+e):t+e-t*e,i=2*t-s;return[n+1/3,n,n-1/3].map(function(r){return r<0&&r++,r>1&&r--,r<1/6?r=i+(s-i)*6*r:r<.5?r=s:r<2/3?r=i+(s-i)*6*(2/3-r):r=i,Math.round(r*255)})};class YE{constructor(e={}){const[t,s]=[e.lightness,e.saturation].map(function(i){return i=i!==void 0?i:[.35,.5,.65],Array.isArray(i)?i.concat():[i]});this.L=t,this.S=s,typeof e.hue=="number"&&(e.hue={min:e.hue,max:e.hue}),typeof e.hue=="object"&&!Array.isArray(e.hue)&&(e.hue=[e.hue]),typeof e.hue>"u"&&(e.hue=[]),this.hueRanges=e.hue.map(function(i){return{min:typeof i.min>"u"?0:i.min,max:typeof i.max>"u"?360:i.max}}),this.hash=HE,typeof e.hash=="function"&&(this.hash=e.hash),e.hash==="bkdr"&&(this.hash=jE)}hsl(e){var t,s,i,r=this.hash(e),o=727;if(this.hueRanges.length){const a=this.hueRanges[r%this.hueRanges.length];t=r/this.hueRanges.length%o*(a.max-a.min)/o+a.min}else t=r%359;return r=Math.ceil(r/360),s=this.S[r%this.S.length],r=Math.ceil(r/this.S.length),i=this.L[r%this.L.length],[t,s,i]}rgb(e){var t=this.hsl(e);return KE.apply(this,t)}hex(e){var t=this.rgb(e);return GE(t)}}const ZE="modulepreload",XE=function(n){return"/"+n},qh={},oi=function(e,t,s){if(!t||t.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(t.map(r=>{if(r=XE(r),r in qh)return;qh[r]=!0;const o=r.endsWith(".css"),a=o?'[rel="stylesheet"]':"";if(!!s)for(let u=i.length-1;u>=0;u--){const h=i[u];if(h.href===r&&(!o||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${a}`))return;const l=document.createElement("link");if(l.rel=o?"stylesheet":ZE,o||(l.as="script",l.crossOrigin=""),l.href=r,document.head.appendChild(l),o)return new Promise((u,h)=>{l.addEventListener("load",u),l.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>e()).catch(r=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=r,window.dispatchEvent(o),!o.defaultPrevented)throw r})},QE=()=>oi(()=>Promise.resolve().then(()=>UA),void 0),JE=()=>oi(()=>Promise.resolve().then(()=>YA),void 0),eS=()=>oi(()=>Promise.resolve().then(()=>tN),void 0),tS=()=>oi(()=>Promise.resolve().then(()=>hN),void 0),nS=()=>oi(()=>Promise.resolve().then(()=>wN),void 0),sS=()=>oi(()=>Promise.resolve().then(()=>NN),void 0),iS=()=>oi(()=>Promise.resolve().then(()=>PN),void 0),Yc=[{name:"stats",path:"/stats",component:QE,props:!0},{name:"spiral",path:"/spiral",component:JE,props:!0,title:"Electric",subtitle:"by Chromatone"},{name:"rose",path:"/rose",component:eS,props:!0},{name:"level",path:"/level",component:tS,props:!0,title:"Electric",subtitle:"by Chromatone"},{name:"index",path:"/",component:nS,props:!0,title:"Floating",subtitle:"by Chromatone"},{name:"donut",path:"/donut",component:sS,props:!0},{name:"cross",path:"/cross",component:iS,props:!0}],Uh=Oe(),rS=St("active-scene","Rose");function Ts(){const{width:n,height:e}=Cx(Uh);return{visual:Uh,width:n,height:e,activeScene:rS}}/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const mi=typeof window<"u";function oS(n){return n.__esModule||n[Symbol.toStringTag]==="Module"}const $e=Object.assign;function vc(n,e){const t={};for(const s in e){const i=e[s];t[s]=an(i)?i.map(n):n(i)}return t}const ur=()=>{},an=Array.isArray,aS=/\/$/,cS=n=>n.replace(aS,"");function bc(n,e,t="/"){let s,i={},r="",o="";const a=e.indexOf("#");let c=e.indexOf("?");return a=0&&(c=-1),c>-1&&(s=e.slice(0,c),r=e.slice(c+1,a>-1?a:e.length),i=n(r)),a>-1&&(s=s||e.slice(0,a),o=e.slice(a,e.length)),s=dS(s??e,t),{fullPath:s+(r&&"?")+r+o,path:s,query:i,hash:o}}function lS(n,e){const t=e.query?n(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function jh(n,e){return!e||!n.toLowerCase().startsWith(e.toLowerCase())?n:n.slice(e.length)||"/"}function uS(n,e,t){const s=e.matched.length-1,i=t.matched.length-1;return s>-1&&s===i&&Vi(e.matched[s],t.matched[i])&&Kp(e.params,t.params)&&n(e.query)===n(t.query)&&e.hash===t.hash}function Vi(n,e){return(n.aliasOf||n)===(e.aliasOf||e)}function Kp(n,e){if(Object.keys(n).length!==Object.keys(e).length)return!1;for(const t in n)if(!hS(n[t],e[t]))return!1;return!0}function hS(n,e){return an(n)?Wh(n,e):an(e)?Wh(e,n):n===e}function Wh(n,e){return an(e)?n.length===e.length&&n.every((t,s)=>t===e[s]):n.length===1&&n[0]===e}function dS(n,e){if(n.startsWith("/"))return n;if(!n)return e;const t=e.split("/"),s=n.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let r=t.length-1,o,a;for(o=0;o1&&r--;else break;return t.slice(0,r).join("/")+"/"+s.slice(o-(o===s.length?1:0)).join("/")}var qr;(function(n){n.pop="pop",n.push="push"})(qr||(qr={}));var hr;(function(n){n.back="back",n.forward="forward",n.unknown=""})(hr||(hr={}));function fS(n){if(!n)if(mi){const e=document.querySelector("base");n=e&&e.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),cS(n)}const pS=/^[^#]+#/;function mS(n,e){return n.replace(pS,"#")+e}function gS(n,e){const t=document.documentElement.getBoundingClientRect(),s=n.getBoundingClientRect();return{behavior:e.behavior,left:s.left-t.left-(e.left||0),top:s.top-t.top-(e.top||0)}}const Za=()=>({left:window.pageXOffset,top:window.pageYOffset});function _S(n){let e;if("el"in n){const t=n.el,s=typeof t=="string"&&t.startsWith("#"),i=typeof t=="string"?s?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!i)return;e=gS(i,n)}else e=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.pageXOffset,e.top!=null?e.top:window.pageYOffset)}function zh(n,e){return(history.state?history.state.position-e:-1)+n}const Zc=new Map;function yS(n,e){Zc.set(n,e)}function vS(n){const e=Zc.get(n);return Zc.delete(n),e}let bS=()=>location.protocol+"//"+location.host;function Yp(n,e){const{pathname:t,search:s,hash:i}=e,r=n.indexOf("#");if(r>-1){let a=i.includes(n.slice(r))?n.slice(r).length:1,c=i.slice(a);return c[0]!=="/"&&(c="/"+c),jh(c,"")}return jh(t,n)+s+i}function wS(n,e,t,s){let i=[],r=[],o=null;const a=({state:d})=>{const f=Yp(n,location),p=t.value,m=e.value;let _=0;if(d){if(t.value=f,e.value=d,o&&o===p){o=null;return}_=m?d.position-m.position:0}else s(f);i.forEach(g=>{g(t.value,p,{delta:_,type:qr.pop,direction:_?_>0?hr.forward:hr.back:hr.unknown})})};function c(){o=t.value}function l(d){i.push(d);const f=()=>{const p=i.indexOf(d);p>-1&&i.splice(p,1)};return r.push(f),f}function u(){const{history:d}=window;d.state&&d.replaceState($e({},d.state,{scroll:Za()}),"")}function h(){for(const d of r)d();r=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:h}}function Hh(n,e,t,s=!1,i=!1){return{back:n,current:e,forward:t,replaced:s,position:window.history.length,scroll:i?Za():null}}function xS(n){const{history:e,location:t}=window,s={value:Yp(n,t)},i={value:e.state};i.value||r(s.value,{back:null,current:s.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function r(c,l,u){const h=n.indexOf("#"),d=h>-1?(t.host&&document.querySelector("base")?n:n.slice(h))+c:bS()+n+c;try{e[u?"replaceState":"pushState"](l,"",d),i.value=l}catch(f){console.error(f),t[u?"replace":"assign"](d)}}function o(c,l){const u=$e({},e.state,Hh(i.value.back,c,i.value.forward,!0),l,{position:i.value.position});r(c,u,!0),s.value=c}function a(c,l){const u=$e({},i.value,e.state,{forward:c,scroll:Za()});r(u.current,u,!0);const h=$e({},Hh(s.value,c,null),{position:u.position+1},l);r(c,h,!1),s.value=c}return{location:s,state:i,push:a,replace:o}}function TS(n){n=fS(n);const e=xS(n),t=wS(n,e.state,e.location,e.replace);function s(r,o=!0){o||t.pauseListeners(),history.go(r)}const i=$e({location:"",base:n,go:s,createHref:mS.bind(null,n)},e,t);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function ES(n){return n=location.host?n||location.pathname+location.search:"",n.includes("#")||(n+="#"),TS(n)}function SS(n){return typeof n=="string"||n&&typeof n=="object"}function Zp(n){return typeof n=="string"||typeof n=="symbol"}const ns={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Xp=Symbol("");var Gh;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(Gh||(Gh={}));function Li(n,e){return $e(new Error,{type:n,[Xp]:!0},e)}function In(n,e){return n instanceof Error&&Xp in n&&(e==null||!!(n.type&e))}const Kh="[^/]+?",CS={sensitive:!1,strict:!1,start:!0,end:!0},AS=/[.+*?^${}()[\]/\\]/g;function NS(n,e){const t=$e({},CS,e),s=[];let i=t.start?"^":"";const r=[];for(const l of n){const u=l.length?[]:[90];t.strict&&!l.length&&(i+="/");for(let h=0;he.length?e.length===1&&e[0]===40+40?1:-1:0}function kS(n,e){let t=0;const s=n.score,i=e.score;for(;t0&&e[e.length-1]<0}const OS={type:0,value:""},IS=/[a-zA-Z0-9_]/;function RS(n){if(!n)return[[]];if(n==="/")return[[OS]];if(!n.startsWith("/"))throw new Error(`Invalid path "${n}"`);function e(f){throw new Error(`ERR (${t})/"${l}": ${f}`)}let t=0,s=t;const i=[];let r;function o(){r&&i.push(r),r=[]}let a=0,c,l="",u="";function h(){l&&(t===0?r.push({type:0,value:l}):t===1||t===2||t===3?(r.length>1&&(c==="*"||c==="+")&&e(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):e("Invalid state to consume buffer"),l="")}function d(){l+=c}for(;a{o(y)}:ur}function o(u){if(Zp(u)){const h=s.get(u);h&&(s.delete(u),t.splice(t.indexOf(h),1),h.children.forEach(o),h.alias.forEach(o))}else{const h=t.indexOf(u);h>-1&&(t.splice(h,1),u.record.name&&s.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return t}function c(u){let h=0;for(;h=0&&(u.record.path!==t[h].record.path||!Qp(u,t[h]));)h++;t.splice(h,0,u),u.record.name&&!Xh(u)&&s.set(u.record.name,u)}function l(u,h){let d,f={},p,m;if("name"in u&&u.name){if(d=s.get(u.name),!d)throw Li(1,{location:u});m=d.record.name,f=$e(Zh(h.params,d.keys.filter(y=>!y.optional).map(y=>y.name)),u.params&&Zh(u.params,d.keys.map(y=>y.name))),p=d.stringify(f)}else if("path"in u)p=u.path,d=t.find(y=>y.re.test(p)),d&&(f=d.parse(p),m=d.record.name);else{if(d=h.name?s.get(h.name):t.find(y=>y.re.test(h.path)),!d)throw Li(1,{location:u,currentLocation:h});m=d.record.name,f=$e({},h.params,u.params),p=d.stringify(f)}const _=[];let g=d;for(;g;)_.unshift(g.record),g=g.parent;return{name:m,path:p,params:f,matched:_,meta:VS(_)}}return n.forEach(u=>r(u)),{addRoute:r,resolve:l,removeRoute:o,getRoutes:a,getRecordMatcher:i}}function Zh(n,e){const t={};for(const s of e)s in n&&(t[s]=n[s]);return t}function $S(n){return{path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:void 0,beforeEnter:n.beforeEnter,props:FS(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}}}function FS(n){const e={},t=n.props||!1;if("component"in n)e.default=t;else for(const s in n.components)e[s]=typeof t=="object"?t[s]:t;return e}function Xh(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function VS(n){return n.reduce((e,t)=>$e(e,t.meta),{})}function Qh(n,e){const t={};for(const s in n)t[s]=s in e?e[s]:n[s];return t}function Qp(n,e){return e.children.some(t=>t===n||Qp(n,t))}const Jp=/#/g,LS=/&/g,BS=/\//g,qS=/=/g,US=/\?/g,em=/\+/g,jS=/%5B/g,WS=/%5D/g,tm=/%5E/g,zS=/%60/g,nm=/%7B/g,HS=/%7C/g,sm=/%7D/g,GS=/%20/g;function cu(n){return encodeURI(""+n).replace(HS,"|").replace(jS,"[").replace(WS,"]")}function KS(n){return cu(n).replace(nm,"{").replace(sm,"}").replace(tm,"^")}function Xc(n){return cu(n).replace(em,"%2B").replace(GS,"+").replace(Jp,"%23").replace(LS,"%26").replace(zS,"`").replace(nm,"{").replace(sm,"}").replace(tm,"^")}function YS(n){return Xc(n).replace(qS,"%3D")}function ZS(n){return cu(n).replace(Jp,"%23").replace(US,"%3F")}function XS(n){return n==null?"":ZS(n).replace(BS,"%2F")}function da(n){try{return decodeURIComponent(""+n)}catch{}return""+n}function QS(n){const e={};if(n===""||n==="?")return e;const s=(n[0]==="?"?n.slice(1):n).split("&");for(let i=0;ir&&Xc(r)):[s&&Xc(s)]).forEach(r=>{r!==void 0&&(e+=(e.length?"&":"")+t,r!=null&&(e+="="+r))})}return e}function JS(n){const e={};for(const t in n){const s=n[t];s!==void 0&&(e[t]=an(s)?s.map(i=>i==null?null:""+i):s==null?s:""+s)}return e}const eC=Symbol(""),ed=Symbol(""),Xa=Symbol(""),lu=Symbol(""),Qc=Symbol("");function nr(){let n=[];function e(s){return n.push(s),()=>{const i=n.indexOf(s);i>-1&&n.splice(i,1)}}function t(){n=[]}return{add:e,list:()=>n.slice(),reset:t}}function us(n,e,t,s,i){const r=s&&(s.enterCallbacks[i]=s.enterCallbacks[i]||[]);return()=>new Promise((o,a)=>{const c=h=>{h===!1?a(Li(4,{from:t,to:e})):h instanceof Error?a(h):SS(h)?a(Li(2,{from:e,to:h})):(r&&s.enterCallbacks[i]===r&&typeof h=="function"&&r.push(h),o())},l=n.call(s&&s.instances[i],e,t,c);let u=Promise.resolve(l);n.length<3&&(u=u.then(c)),u.catch(h=>a(h))})}function wc(n,e,t,s){const i=[];for(const r of n)for(const o in r.components){let a=r.components[o];if(!(e!=="beforeRouteEnter"&&!r.instances[o]))if(tC(a)){const l=(a.__vccOpts||a)[e];l&&i.push(us(l,t,s,r,o))}else{let c=a();i.push(()=>c.then(l=>{if(!l)return Promise.reject(new Error(`Couldn't resolve component "${o}" at "${r.path}"`));const u=oS(l)?l.default:l;r.components[o]=u;const d=(u.__vccOpts||u)[e];return d&&us(d,t,s,r,o)()}))}}return i}function tC(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function td(n){const e=sn(Xa),t=sn(lu),s=fe(()=>e.resolve(b(n.to))),i=fe(()=>{const{matched:c}=s.value,{length:l}=c,u=c[l-1],h=t.matched;if(!u||!h.length)return-1;const d=h.findIndex(Vi.bind(null,u));if(d>-1)return d;const f=nd(c[l-2]);return l>1&&nd(u)===f&&h[h.length-1].path!==f?h.findIndex(Vi.bind(null,c[l-2])):d}),r=fe(()=>i.value>-1&&rC(t.params,s.value.params)),o=fe(()=>i.value>-1&&i.value===t.matched.length-1&&Kp(t.params,s.value.params));function a(c={}){return iC(c)?e[b(n.replace)?"replace":"push"](b(n.to)).catch(ur):Promise.resolve()}return{route:s,href:fe(()=>s.value.href),isActive:r,isExactActive:o,navigate:a}}const nC=Gn({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:td,setup(n,{slots:e}){const t=Vt(td(n)),{options:s}=sn(Xa),i=fe(()=>({[sd(n.activeClass,s.linkActiveClass,"router-link-active")]:t.isActive,[sd(n.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:t.isExactActive}));return()=>{const r=e.default&&e.default(t);return n.custom?r:Da("a",{"aria-current":t.isExactActive?n.ariaCurrentValue:null,href:t.href,onClick:t.navigate,class:i.value},r)}}}),sC=nC;function iC(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const e=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return n.preventDefault&&n.preventDefault(),!0}}function rC(n,e){for(const t in e){const s=e[t],i=n[t];if(typeof s=="string"){if(s!==i)return!1}else if(!an(i)||i.length!==s.length||s.some((r,o)=>r!==i[o]))return!1}return!0}function nd(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const sd=(n,e,t)=>n??e??t,oC=Gn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:e,slots:t}){const s=sn(Qc),i=fe(()=>n.route||s.value),r=sn(ed,0),o=fe(()=>{let l=b(r);const{matched:u}=i.value;let h;for(;(h=u[l])&&!h.components;)l++;return l}),a=fe(()=>i.value.matched[o.value]);wo(ed,fe(()=>o.value+1)),wo(eC,a),wo(Qc,i);const c=Oe();return yt(()=>[c.value,a.value,n.name],([l,u,h],[d,f,p])=>{u&&(u.instances[h]=l,f&&f!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=f.leaveGuards),u.updateGuards.size||(u.updateGuards=f.updateGuards))),l&&u&&(!f||!Vi(u,f)||!d)&&(u.enterCallbacks[h]||[]).forEach(m=>m(l))},{flush:"post"}),()=>{const l=i.value,u=n.name,h=a.value,d=h&&h.components[u];if(!d)return id(t.default,{Component:d,route:l});const f=h.props[u],p=f?f===!0?l.params:typeof f=="function"?f(l):f:null,_=Da(d,$e({},p,e,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(h.instances[u]=null)},ref:c}));return id(t.default,{Component:_,route:l})||_}}});function id(n,e){if(!n)return null;const t=n(e);return t.length===1?t[0]:t}const aC=oC;function cC(n){const e=PS(n.routes,n),t=n.parseQuery||QS,s=n.stringifyQuery||Jh,i=n.history,r=nr(),o=nr(),a=nr(),c=qd(ns);let l=ns;mi&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=vc.bind(null,$=>""+$),h=vc.bind(null,XS),d=vc.bind(null,da);function f($,L){let Q,oe;return Zp($)?(Q=e.getRecordMatcher($),oe=L):oe=$,e.addRoute(oe,Q)}function p($){const L=e.getRecordMatcher($);L&&e.removeRoute(L)}function m(){return e.getRoutes().map($=>$.record)}function _($){return!!e.getRecordMatcher($)}function g($,L){if(L=$e({},L||c.value),typeof $=="string"){const k=bc(t,$,L.path),C=e.resolve({path:k.path},L),I=i.createHref(k.fullPath);return $e(k,C,{params:d(C.params),hash:da(k.hash),redirectedFrom:void 0,href:I})}let Q;if("path"in $)Q=$e({},$,{path:bc(t,$.path,L.path).path});else{const k=$e({},$.params);for(const C in k)k[C]==null&&delete k[C];Q=$e({},$,{params:h(k)}),L.params=h(L.params)}const oe=e.resolve(Q,L),Se=$.hash||"";oe.params=u(d(oe.params));const x=lS(s,$e({},$,{hash:KS(Se),path:oe.path})),E=i.createHref(x);return $e({fullPath:x,hash:Se,query:s===Jh?JS($.query):$.query||{}},oe,{redirectedFrom:void 0,href:E})}function y($){return typeof $=="string"?bc(t,$,c.value.path):$e({},$)}function S($,L){if(l!==$)return Li(8,{from:L,to:$})}function w($){return N($)}function v($){return w($e(y($),{replace:!0}))}function A($){const L=$.matched[$.matched.length-1];if(L&&L.redirect){const{redirect:Q}=L;let oe=typeof Q=="function"?Q($):Q;return typeof oe=="string"&&(oe=oe.includes("?")||oe.includes("#")?oe=y(oe):{path:oe},oe.params={}),$e({query:$.query,hash:$.hash,params:"path"in oe?{}:$.params},oe)}}function N($,L){const Q=l=g($),oe=c.value,Se=$.state,x=$.force,E=$.replace===!0,k=A(Q);if(k)return N($e(y(k),{state:typeof k=="object"?$e({},Se,k.state):Se,force:x,replace:E}),L||Q);const C=Q;C.redirectedFrom=L;let I;return!x&&uS(s,oe,Q)&&(I=Li(16,{to:C,from:oe}),ue(oe,oe,!0,!1)),(I?Promise.resolve(I):O(C,oe)).catch(B=>In(B)?In(B,2)?B:me(B):te(B,C,oe)).then(B=>{if(B){if(In(B,2))return N($e({replace:E},y(B.to),{state:typeof B.to=="object"?$e({},Se,B.to.state):Se,force:x}),L||C)}else B=M(C,oe,!0,E,Se);return P(C,oe,B),B})}function T($,L){const Q=S($,L);return Q?Promise.reject(Q):Promise.resolve()}function R($){const L=it.values().next().value;return L&&typeof L.runWithContext=="function"?L.runWithContext($):$()}function O($,L){let Q;const[oe,Se,x]=lC($,L);Q=wc(oe.reverse(),"beforeRouteLeave",$,L);for(const k of oe)k.leaveGuards.forEach(C=>{Q.push(us(C,$,L))});const E=T.bind(null,$,L);return Q.push(E),we(Q).then(()=>{Q=[];for(const k of r.list())Q.push(us(k,$,L));return Q.push(E),we(Q)}).then(()=>{Q=wc(Se,"beforeRouteUpdate",$,L);for(const k of Se)k.updateGuards.forEach(C=>{Q.push(us(C,$,L))});return Q.push(E),we(Q)}).then(()=>{Q=[];for(const k of x)if(k.beforeEnter)if(an(k.beforeEnter))for(const C of k.beforeEnter)Q.push(us(C,$,L));else Q.push(us(k.beforeEnter,$,L));return Q.push(E),we(Q)}).then(()=>($.matched.forEach(k=>k.enterCallbacks={}),Q=wc(x,"beforeRouteEnter",$,L),Q.push(E),we(Q))).then(()=>{Q=[];for(const k of o.list())Q.push(us(k,$,L));return Q.push(E),we(Q)}).catch(k=>In(k,8)?k:Promise.reject(k))}function P($,L,Q){a.list().forEach(oe=>R(()=>oe($,L,Q)))}function M($,L,Q,oe,Se){const x=S($,L);if(x)return x;const E=L===ns,k=mi?history.state:{};Q&&(oe||E?i.replace($.fullPath,$e({scroll:E&&k&&k.scroll},Se)):i.push($.fullPath,Se)),c.value=$,ue($,L,Q,E),me()}let F;function z(){F||(F=i.listen(($,L,Q)=>{if(!be.listening)return;const oe=g($),Se=A(oe);if(Se){N($e(Se,{replace:!0}),oe).catch(ur);return}l=oe;const x=c.value;mi&&yS(zh(x.fullPath,Q.delta),Za()),O(oe,x).catch(E=>In(E,12)?E:In(E,2)?(N(E.to,oe).then(k=>{In(k,20)&&!Q.delta&&Q.type===qr.pop&&i.go(-1,!1)}).catch(ur),Promise.reject()):(Q.delta&&i.go(-Q.delta,!1),te(E,oe,x))).then(E=>{E=E||M(oe,x,!1),E&&(Q.delta&&!In(E,8)?i.go(-Q.delta,!1):Q.type===qr.pop&&In(E,20)&&i.go(-1,!1)),P(oe,x,E)}).catch(ur)}))}let ne=nr(),X=nr(),Z;function te($,L,Q){me($);const oe=X.list();return oe.length?oe.forEach(Se=>Se($,L,Q)):console.error($),Promise.reject($)}function ce(){return Z&&c.value!==ns?Promise.resolve():new Promise(($,L)=>{ne.add([$,L])})}function me($){return Z||(Z=!$,z(),ne.list().forEach(([L,Q])=>$?Q($):L()),ne.reset()),$}function ue($,L,Q,oe){const{scrollBehavior:Se}=n;if(!mi||!Se)return Promise.resolve();const x=!Q&&vS(zh($.fullPath,0))||(oe||!Q)&&history.state&&history.state.scroll||null;return Hi().then(()=>Se($,L,x)).then(E=>E&&_S(E)).catch(E=>te(E,$,L))}const ye=$=>i.go($);let st;const it=new Set,be={currentRoute:c,listening:!0,addRoute:f,removeRoute:p,hasRoute:_,getRoutes:m,resolve:g,options:n,push:w,replace:v,go:ye,back:()=>ye(-1),forward:()=>ye(1),beforeEach:r.add,beforeResolve:o.add,afterEach:a.add,onError:X.add,isReady:ce,install($){const L=this;$.component("RouterLink",sC),$.component("RouterView",aC),$.config.globalProperties.$router=L,Object.defineProperty($.config.globalProperties,"$route",{enumerable:!0,get:()=>b(c)}),mi&&!st&&c.value===ns&&(st=!0,w(i.location).catch(Se=>{}));const Q={};for(const Se in ns)Object.defineProperty(Q,Se,{get:()=>c.value[Se],enumerable:!0});$.provide(Xa,L),$.provide(lu,Vd(Q)),$.provide(Qc,c);const oe=$.unmount;it.add($),$.unmount=function(){it.delete($),it.size<1&&(l=ns,F&&F(),F=null,c.value=ns,st=!1,Z=!1),oe()}}};function we($){return $.reduce((L,Q)=>L.then(()=>R(Q)),Promise.resolve())}return be}function lC(n,e){const t=[],s=[],i=[],r=Math.max(e.matched.length,n.matched.length);for(let o=0;oVi(l,a))?s.push(a):t.push(a));const c=n.matched[o];c&&(e.matched.find(l=>Vi(l,c))||i.push(c))}return[t,s,i]}function uC(){return sn(Xa)}function hC(){return sn(lu)}const dC={class:"flex flex-col h-100vh w-full"},fC={key:0,class:"absolute bottom-20 text-center flex flex-col items-center w-full"},pC={class:"text-sm"},mC={class:"h-full w-full"},gC=["viewBox"],_C=V("defs",null,[V("filter",{id:"noiseFilter"},[V("feTurbulence",{type:"fractalNoise",basefrequency:"6.29",numoctaves:"6",stitchtiles:"stitch"})])],-1),yC=["width","height"],vC={class:"absolute left-0 top-10 flex flex-col gap-2 m-2 opacity-20 hover_opacity-100 transition"},bC={__name:"app",setup(n){const{midi:e}=ii(),t=hC(),s=uC(),i=Oe(0),r=Gp(),o=Oe();ou(()=>{i.value++,o.value=r(1,i.value/2e3)});const a=new YE({saturation:[.05,.28,.62],lightness:[.75,.87,.9]}),c=fe(()=>a.hex(Math.random()*1e5+"a")),l=fe(()=>a.hex(Math.random()*1e5+"b"));fe(()=>`linear-gradient(${o.value*360}deg, ${c.value}, ${l.value})`);const{visual:u,width:h,height:d}=Ts(),f=Oe(!1);yt(()=>e.total.hits,m=>{m==0&&s.push(p())}),iu([" ","Enter"],()=>{ri(),s.push(p())});function p(){let m,_,g,y;for(let S=0;S<20&&(m=Math.random(),_=Object.values(Yc),g=m*_.length,y=_[Math.floor(g)].path,!!t.path.includes(y));S++);return f.value=!0,y}return bs(()=>{Ax()}),(m,_)=>{const g=BE,y=Qx,S=Ks("router-view"),w=G0,v=U0,A=$0,N=O0,T=C0,R=w0,O=g0,P=Ks("router-link"),M=rf("tooltip");return K(),ee("div",dC,[xe(g),b(f)?ut("",!0):(K(),ee("div",fC,[V("div",pC,"Hold any note more than "+Ke(b(e).maxDuration/1e3)+" seconds or press Enter/Spacebar to randomly change current scene.",1)])),xe(y),V("div",mC,[(K(),ee("svg",{class:"h-full w-full",id:"visual",ref_key:"visual",ref:u,version:"1.1",baseProfile:"full",viewBox:`0 0 ${b(h)} ${b(d)}`,xmlns:"http://www.w3.org/2000/svg"},[_C,V("rect",{filter:"url(#noiseFilter)",fill:"hsl(20,70%,60%)",opacity:"0.1",width:b(h),height:b(d)},null,8,yC),xe(S,null,{default:nn(({Component:F})=>[xe(Pa,{name:"fade",mode:"out-in"},{default:nn(()=>[(K(),et(Bg,null,[(K(),et(Xg(F),{id:"content"}))],1024))]),_:2},1024)]),_:1})],8,gC)),V("div",vC,[(K(!0),ee(Re,null,vt(b(Yc),(F,z)=>At((K(),et(P,{class:vs(["button p-2 cursor-pointer text-3xl",{active:m.$route.path==F.path}]),key:F.path,onClick:_[0]||(_[0]=ne=>f.value=!0),to:F},{default:nn(()=>[F.name=="index"?(K(),et(w,{key:0})):ut("",!0),F.name=="level"?(K(),et(v,{key:1})):ut("",!0),F.name=="rose"?(K(),et(A,{key:2})):ut("",!0),F.name=="cross"?(K(),et(N,{key:3})):ut("",!0),F.name=="donut"?(K(),et(T,{key:4})):ut("",!0),F.name=="stats"?(K(),et(R,{key:5})):ut("",!0),F.name=="spiral"?(K(),et(O,{key:6})):ut("",!0)]),_:2},1032,["to","class"])),[[M,F.name.charAt(0).toUpperCase()+F.name.slice(1)+" scene",void 0,{right:!0}]])),128))])])])}}};function Qn(n){return n.split("-")[0]}function Si(n){return n.split("-")[1]}function no(n){return["top","bottom"].includes(Qn(n))?"x":"y"}function uu(n){return n==="y"?"height":"width"}function rd(n){let{reference:e,floating:t,placement:s}=n;const i=e.x+e.width/2-t.width/2,r=e.y+e.height/2-t.height/2;let o;switch(Qn(s)){case"top":o={x:i,y:e.y-t.height};break;case"bottom":o={x:i,y:e.y+e.height};break;case"right":o={x:e.x+e.width,y:r};break;case"left":o={x:e.x-t.width,y:r};break;default:o={x:e.x,y:e.y}}const a=no(s),c=uu(a);switch(Si(s)){case"start":o[a]=o[a]-(e[c]/2-t[c]/2);break;case"end":o[a]=o[a]+(e[c]/2-t[c]/2);break}return o}const wC=async(n,e,t)=>{const{placement:s="bottom",strategy:i="absolute",middleware:r=[],platform:o}=t;let a=await o.getElementRects({reference:n,floating:e,strategy:i}),{x:c,y:l}=rd({...a,placement:s}),u=s,h={};for(let d=0;d({name:"arrow",options:n,async fn(e){const{element:t,padding:s=0}=n??{},{x:i,y:r,placement:o,rects:a,platform:c}=e;if(t==null)return{};const l=im(s),u={x:i,y:r},h=Qn(o),d=no(h),f=uu(d),p=await c.getDimensions({element:t}),m=d==="y"?"top":"left",_=d==="y"?"bottom":"right",g=a.reference[f]+a.reference[d]-u[d]-a.floating[f],y=u[d]-a.reference[d],S=await c.getOffsetParent({element:t}),w=S?d==="y"?S.clientHeight||0:S.clientWidth||0:0,v=g/2-y/2,A=l[m],N=w-p[f]-l[_],T=w/2-p[f]/2+v,R=el(A,T,N);return{data:{[d]:R,centerOffset:T-R}}}}),SC={left:"right",right:"left",bottom:"top",top:"bottom"};function fa(n){return n.replace(/left|right|bottom|top/g,e=>SC[e])}function rm(n,e){const t=Si(n)==="start",s=no(n),i=uu(s);let r=s==="x"?t?"right":"left":t?"bottom":"top";return e.reference[i]>e.floating[i]&&(r=fa(r)),{main:r,cross:fa(r)}}const CC={start:"end",end:"start"};function tl(n){return n.replace(/start|end/g,e=>CC[e])}const AC=["top","right","bottom","left"],NC=AC.reduce((n,e)=>n.concat(e,e+"-start",e+"-end"),[]);function MC(n,e,t){return(n?[...t.filter(i=>Si(i)===n),...t.filter(i=>Si(i)!==n)]:t.filter(i=>Qn(i)===i)).filter(i=>n?Si(i)===n||(e?tl(i)!==i:!1):!0)}const kC=function(n){return n===void 0&&(n={}),{name:"autoPlacement",options:n,async fn(e){var t,s,i,r,o,a;const{x:c,y:l,rects:u,middlewareData:h,placement:d}=e,{alignment:f=null,allowedPlacements:p=NC,autoAlignment:m=!0,..._}=n;if((t=h.autoPlacement)!=null&&t.skip)return{};const g=MC(f,m,p),y=await Qa(e,_),S=(s=(i=h.autoPlacement)==null?void 0:i.index)!=null?s:0,w=g[S],{main:v,cross:A}=rm(w,u);if(d!==w)return{x:c,y:l,reset:{placement:g[0]}};const N=[y[Qn(w)],y[v],y[A]],T=[...(r=(o=h.autoPlacement)==null?void 0:o.overflows)!=null?r:[],{placement:w,overflows:N}],R=g[S+1];if(R)return{data:{index:S+1,overflows:T},reset:{placement:R}};const O=T.slice().sort((M,F)=>M.overflows[0]-F.overflows[0]),P=(a=O.find(M=>{let{overflows:F}=M;return F.every(z=>z<=0)}))==null?void 0:a.placement;return{data:{skip:!0},reset:{placement:P??O[0].placement}}}}};function OC(n){const e=fa(n);return[tl(n),e,tl(e)]}const IC=function(n){return n===void 0&&(n={}),{name:"flip",options:n,async fn(e){var t,s;const{placement:i,middlewareData:r,rects:o,initialPlacement:a}=e;if((t=r.flip)!=null&&t.skip)return{};const{mainAxis:c=!0,crossAxis:l=!0,fallbackPlacements:u,fallbackStrategy:h="bestFit",flipAlignment:d=!0,...f}=n,p=Qn(i),_=u||(p===a||!d?[fa(a)]:OC(a)),g=[a,..._],y=await Qa(e,f),S=[];let w=((s=r.flip)==null?void 0:s.overflows)||[];if(c&&S.push(y[p]),l){const{main:T,cross:R}=rm(i,o);S.push(y[T],y[R])}if(w=[...w,{placement:i,overflows:S}],!S.every(T=>T<=0)){var v,A;const T=((v=(A=r.flip)==null?void 0:A.index)!=null?v:0)+1,R=g[T];if(R)return{data:{index:T,overflows:w},reset:{placement:R}};let O="bottom";switch(h){case"bestFit":{var N;const P=(N=w.slice().sort((M,F)=>M.overflows.filter(z=>z>0).reduce((z,ne)=>z+ne,0)-F.overflows.filter(z=>z>0).reduce((z,ne)=>z+ne,0))[0])==null?void 0:N.placement;P&&(O=P);break}case"initialPlacement":O=a;break}return{data:{skip:!0},reset:{placement:O}}}return{}}}};function RC(n){let{placement:e,rects:t,value:s}=n;const i=Qn(e),r=["left","top"].includes(i)?-1:1,o=typeof s=="function"?s({...t,placement:e}):s,{mainAxis:a,crossAxis:c}=typeof o=="number"?{mainAxis:o,crossAxis:0}:{mainAxis:0,crossAxis:0,...o};return no(i)==="x"?{x:c,y:a*r}:{x:a*r,y:c}}const DC=function(n){return n===void 0&&(n=0),{name:"offset",options:n,fn(e){const{x:t,y:s,placement:i,rects:r}=e,o=RC({placement:i,rects:r,value:n});return{x:t+o.x,y:s+o.y,data:o}}}};function PC(n){return n==="x"?"y":"x"}const $C=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(e){const{x:t,y:s,placement:i}=e,{mainAxis:r=!0,crossAxis:o=!1,limiter:a={fn:_=>{let{x:g,y}=_;return{x:g,y}}},...c}=n,l={x:t,y:s},u=await Qa(e,c),h=no(Qn(i)),d=PC(h);let f=l[h],p=l[d];if(r){const _=h==="y"?"top":"left",g=h==="y"?"bottom":"right",y=f+u[_],S=f-u[g];f=el(y,f,S)}if(o){const _=d==="y"?"top":"left",g=d==="y"?"bottom":"right",y=p+u[_],S=p-u[g];p=el(y,p,S)}const m=a.fn({...e,[h]:f,[d]:p});return{...m,data:{x:m.x-t,y:m.y-s}}}}},FC=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(e){var t;const{placement:s,rects:i,middlewareData:r}=e,{apply:o,...a}=n;if((t=r.size)!=null&&t.skip)return{};const c=await Qa(e,a),l=Qn(s),u=Si(s)==="end";let h,d;l==="top"||l==="bottom"?(h=l,d=u?"left":"right"):(d=l,h=u?"top":"bottom");const f=Os(c.left,0),p=Os(c.right,0),m=Os(c.top,0),_=Os(c.bottom,0),g={height:i.floating.height-(["left","right"].includes(s)?2*(m!==0||_!==0?m+_:Os(c.top,c.bottom)):c[h]),width:i.floating.width-(["top","bottom"].includes(s)?2*(f!==0||p!==0?f+p:Os(c.left,c.right)):c[d])};return o==null||o({...g,...i}),{data:{skip:!0},reset:{rects:!0}}}}};function hu(n){return(n==null?void 0:n.toString())==="[object Window]"}function Es(n){if(n==null)return window;if(!hu(n)){const e=n.ownerDocument;return e&&e.defaultView||window}return n}function Ja(n){return Es(n).getComputedStyle(n)}function zn(n){return hu(n)?"":n?(n.nodeName||"").toLowerCase():""}function Hn(n){return n instanceof Es(n).HTMLElement}function pa(n){return n instanceof Es(n).Element}function VC(n){return n instanceof Es(n).Node}function om(n){const e=Es(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function ec(n){const{overflow:e,overflowX:t,overflowY:s}=Ja(n);return/auto|scroll|overlay|hidden/.test(e+s+t)}function LC(n){return["table","td","th"].includes(zn(n))}function am(n){const e=navigator.userAgent.toLowerCase().includes("firefox"),t=Ja(n);return t.transform!=="none"||t.perspective!=="none"||t.contain==="paint"||["transform","perspective"].includes(t.willChange)||e&&t.willChange==="filter"||e&&(t.filter?t.filter!=="none":!1)}const od=Math.min,dr=Math.max,ma=Math.round;function Bi(n,e){e===void 0&&(e=!1);const t=n.getBoundingClientRect();let s=1,i=1;return e&&Hn(n)&&(s=n.offsetWidth>0&&ma(t.width)/n.offsetWidth||1,i=n.offsetHeight>0&&ma(t.height)/n.offsetHeight||1),{width:t.width/s,height:t.height/i,top:t.top/i,right:t.right/s,bottom:t.bottom/i,left:t.left/s,x:t.left/s,y:t.top/i}}function Ss(n){return((VC(n)?n.ownerDocument:n.document)||window.document).documentElement}function tc(n){return hu(n)?{scrollLeft:n.pageXOffset,scrollTop:n.pageYOffset}:{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function cm(n){return Bi(Ss(n)).left+tc(n).scrollLeft}function BC(n){const e=Bi(n);return ma(e.width)!==n.offsetWidth||ma(e.height)!==n.offsetHeight}function qC(n,e,t){const s=Hn(e),i=Ss(e),r=Bi(n,s&&BC(e));let o={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(s||!s&&t!=="fixed")if((zn(e)!=="body"||ec(i))&&(o=tc(e)),Hn(e)){const c=Bi(e,!0);a.x=c.x+e.clientLeft,a.y=c.y+e.clientTop}else i&&(a.x=cm(i));return{x:r.left+o.scrollLeft-a.x,y:r.top+o.scrollTop-a.y,width:r.width,height:r.height}}function nc(n){return zn(n)==="html"?n:n.assignedSlot||n.parentNode||(om(n)?n.host:null)||Ss(n)}function ad(n){return!Hn(n)||getComputedStyle(n).position==="fixed"?null:n.offsetParent}function UC(n){let e=nc(n);for(;Hn(e)&&!["html","body"].includes(zn(e));){if(am(e))return e;e=e.parentNode}return null}function nl(n){const e=Es(n);let t=ad(n);for(;t&&LC(t)&&getComputedStyle(t).position==="static";)t=ad(t);return t&&(zn(t)==="html"||zn(t)==="body"&&getComputedStyle(t).position==="static"&&!am(t))?e:t||UC(n)||e}function cd(n){return{width:n.offsetWidth,height:n.offsetHeight}}function jC(n){let{rect:e,offsetParent:t,strategy:s}=n;const i=Hn(t),r=Ss(t);if(t===r)return e;let o={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if((i||!i&&s!=="fixed")&&((zn(t)!=="body"||ec(r))&&(o=tc(t)),Hn(t))){const c=Bi(t,!0);a.x=c.x+t.clientLeft,a.y=c.y+t.clientTop}return{...e,x:e.x-o.scrollLeft+a.x,y:e.y-o.scrollTop+a.y}}function WC(n){const e=Es(n),t=Ss(n),s=e.visualViewport;let i=t.clientWidth,r=t.clientHeight,o=0,a=0;return s&&(i=s.width,r=s.height,Math.abs(e.innerWidth/s.scale-s.width)<.01&&(o=s.offsetLeft,a=s.offsetTop)),{width:i,height:r,x:o,y:a}}function zC(n){var e;const t=Ss(n),s=tc(n),i=(e=n.ownerDocument)==null?void 0:e.body,r=dr(t.scrollWidth,t.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),o=dr(t.scrollHeight,t.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0);let a=-s.scrollLeft+cm(n);const c=-s.scrollTop;return Ja(i||t).direction==="rtl"&&(a+=dr(t.clientWidth,i?i.clientWidth:0)-r),{width:r,height:o,x:a,y:c}}function lm(n){return["html","body","#document"].includes(zn(n))?n.ownerDocument.body:Hn(n)&&ec(n)?n:lm(nc(n))}function ga(n,e){var t;e===void 0&&(e=[]);const s=lm(n),i=s===((t=n.ownerDocument)==null?void 0:t.body),r=Es(s),o=i?[r].concat(r.visualViewport||[],ec(s)?s:[]):s,a=e.concat(o);return i?a:a.concat(ga(nc(o)))}function HC(n,e){const t=e.getRootNode==null?void 0:e.getRootNode();if(n.contains(e))return!0;if(t&&om(t)){let s=e;do{if(s&&n===s)return!0;s=s.parentNode||s.host}while(s)}return!1}function GC(n){const e=Bi(n),t=e.top+n.clientTop,s=e.left+n.clientLeft;return{top:t,left:s,x:s,y:t,right:s+n.clientWidth,bottom:t+n.clientHeight,width:n.clientWidth,height:n.clientHeight}}function ld(n,e){return e==="viewport"?Jc(WC(n)):pa(e)?GC(e):Jc(zC(Ss(n)))}function KC(n){const e=ga(nc(n)),s=["absolute","fixed"].includes(Ja(n).position)&&Hn(n)?nl(n):n;return pa(s)?e.filter(i=>pa(i)&&HC(i,s)&&zn(i)!=="body"):[]}function YC(n){let{element:e,boundary:t,rootBoundary:s}=n;const r=[...t==="clippingParents"?KC(e):[].concat(t),s],o=r[0],a=r.reduce((c,l)=>{const u=ld(e,l);return c.top=dr(u.top,c.top),c.right=od(u.right,c.right),c.bottom=od(u.bottom,c.bottom),c.left=dr(u.left,c.left),c},ld(e,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}const ZC={getElementRects:n=>{let{reference:e,floating:t,strategy:s}=n;return{reference:qC(e,nl(t),s),floating:{...cd(t),x:0,y:0}}},convertOffsetParentRelativeRectToViewportRelativeRect:n=>jC(n),getOffsetParent:n=>{let{element:e}=n;return nl(e)},isElement:n=>pa(n),getDocumentElement:n=>{let{element:e}=n;return Ss(e)},getClippingClientRect:n=>YC(n),getDimensions:n=>{let{element:e}=n;return cd(e)},getClientRects:n=>{let{element:e}=n;return e.getClientRects()}},XC=(n,e,t)=>wC(n,e,{platform:ZC,...t});var QC=Object.defineProperty,JC=Object.defineProperties,eA=Object.getOwnPropertyDescriptors,ud=Object.getOwnPropertySymbols,tA=Object.prototype.hasOwnProperty,nA=Object.prototype.propertyIsEnumerable,hd=(n,e,t)=>e in n?QC(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,$n=(n,e)=>{for(var t in e||(e={}))tA.call(e,t)&&hd(n,t,e[t]);if(ud)for(var t of ud(e))nA.call(e,t)&&hd(n,t,e[t]);return n},so=(n,e)=>JC(n,eA(e));function um(n,e){for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(typeof e[t]=="object"&&n[t]?um(n[t],e[t]):n[t]=e[t])}const zs={disabled:!1,distance:5,skidding:0,container:"body",boundary:void 0,instantMove:!1,disposeTimeout:5e3,popperTriggers:[],strategy:"absolute",preventOverflow:!0,flip:!0,shift:!0,overflowPadding:0,arrowPadding:0,arrowOverflow:!0,themes:{tooltip:{placement:"top",triggers:["hover","focus","touch"],hideTriggers:n=>[...n,"click"],delay:{show:200,hide:0},handleResize:!1,html:!1,loadingContent:"..."},dropdown:{placement:"bottom",triggers:["click"],delay:0,handleResize:!0,autoHide:!0},menu:{$extend:"dropdown",triggers:["hover","focus"],popperTriggers:["hover","focus"],delay:{show:0,hide:400}}}};function qi(n,e){let t=zs.themes[n]||{},s;do s=t[e],typeof s>"u"?t.$extend?t=zs.themes[t.$extend]||{}:(t=null,s=zs[e]):t=null;while(t);return s}function sA(n){const e=[n];let t=zs.themes[n]||{};do t.$extend&&!t.$resetCss?(e.push(t.$extend),t=zs.themes[t.$extend]||{}):t=null;while(t);return e.map(s=>`v-popper--theme-${s}`)}let Ui=!1;if(typeof window<"u"){Ui=!1;try{const n=Object.defineProperty({},"passive",{get(){Ui=!0}});window.addEventListener("test",null,n)}catch{}}let hm=!1;typeof window<"u"&&typeof navigator<"u"&&(hm=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);const dm=["auto","top","bottom","left","right"].reduce((n,e)=>n.concat([e,`${e}-start`,`${e}-end`]),[]),dd={hover:"mouseenter",focus:"focus",click:"click",touch:"touchstart"},fd={hover:"mouseleave",focus:"blur",click:"click",touch:"touchend"};function iA(n,e){const t=n.indexOf(e);t!==-1&&n.splice(t,1)}function xc(){return new Promise(n=>requestAnimationFrame(()=>{requestAnimationFrame(n)}))}const xn=[];let hi=null,sl=function(){};typeof window<"u"&&(sl=window.Element);function Pe(n){return function(e){return qi(e.theme,n)}}var fm=()=>Gn({name:"VPopper",props:{theme:{type:String,required:!0},targetNodes:{type:Function,required:!0},referenceNode:{type:Function,required:!0},popperNode:{type:Function,required:!0},shown:{type:Boolean,default:!1},showGroup:{type:String,default:null},ariaId:{default:null},disabled:{type:Boolean,default:Pe("disabled")},placement:{type:String,default:Pe("placement"),validator:n=>dm.includes(n)},delay:{type:[String,Number,Object],default:Pe("delay")},distance:{type:[Number,String],default:Pe("distance")},skidding:{type:[Number,String],default:Pe("skidding")},triggers:{type:Array,default:Pe("triggers")},showTriggers:{type:[Array,Function],default:Pe("showTriggers")},hideTriggers:{type:[Array,Function],default:Pe("hideTriggers")},popperTriggers:{type:Array,default:Pe("popperTriggers")},popperShowTriggers:{type:[Array,Function],default:Pe("popperShowTriggers")},popperHideTriggers:{type:[Array,Function],default:Pe("popperHideTriggers")},container:{type:[String,Object,sl,Boolean],default:Pe("container")},boundary:{type:[String,sl],default:Pe("boundary")},strategy:{type:String,validator:n=>["absolute","fixed"].includes(n),default:Pe("strategy")},autoHide:{type:Boolean,default:Pe("autoHide")},handleResize:{type:Boolean,default:Pe("handleResize")},instantMove:{type:Boolean,default:Pe("instantMove")},eagerMount:{type:Boolean,default:Pe("eagerMount")},popperClass:{type:[String,Array,Object],default:Pe("popperClass")},computeTransformOrigin:{type:Boolean,default:Pe("computeTransformOrigin")},autoMinSize:{type:Boolean,default:Pe("autoMinSize")},autoMaxSize:{type:Boolean,default:Pe("autoMaxSize")},preventOverflow:{type:Boolean,default:Pe("preventOverflow")},overflowPadding:{type:[Number,String],default:Pe("overflowPadding")},arrowPadding:{type:[Number,String],default:Pe("arrowPadding")},arrowOverflow:{type:Boolean,default:Pe("arrowOverflow")},flip:{type:Boolean,default:Pe("flip")},shift:{type:Boolean,default:Pe("shift")},shiftCrossAxis:{type:Boolean,default:Pe("shiftCrossAxis")}},emits:["show","hide","update:shown","apply-show","apply-hide","close-group","close-directive","auto-hide","resize","dispose"],data(){return{isShown:!1,isMounted:!1,skipTransition:!1,classes:{showFrom:!1,showTo:!1,hideFrom:!1,hideTo:!0},result:{x:0,y:0,placement:"",strategy:this.strategy,arrow:{x:0,y:0,centerOffset:0},transformOrigin:null}}},computed:{popperId(){return this.ariaId!=null?this.ariaId:this.randomId},shouldMountContent(){return this.eagerMount||this.isMounted},slotData(){return{popperId:this.popperId,isShown:this.isShown,shouldMountContent:this.shouldMountContent,skipTransition:this.skipTransition,autoHide:this.autoHide,show:this.show,hide:this.hide,handleResize:this.handleResize,onResize:this.onResize,classes:so($n({},this.classes),{popperClass:this.popperClass}),result:this.result}}},watch:$n({shown:"$_autoShowHide",disabled(n){n?this.dispose():this.init()},async container(){this.isShown&&(this.$_ensureTeleport(),await this.$_computePosition())},triggers(){this.$_isDisposed||(this.$_removeEventListeners(),this.$_addEventListeners())}},["placement","distance","skidding","boundary","strategy","overflowPadding","arrowPadding","preventOverflow","shift","shiftCrossAxis","flip"].reduce((n,e)=>(n[e]="$_computePosition",n),{})),created(){this.$_isDisposed=!0,this.randomId=`popper_${[Math.random(),Date.now()].map(n=>n.toString(36).substring(2,10)).join("_")}`},mounted(){this.init(),this.$_detachPopperNode()},activated(){this.$_autoShowHide()},deactivated(){this.hide()},beforeUnmount(){this.dispose()},methods:{show({event:n=null,skipDelay:e=!1,force:t=!1}={}){(t||!this.disabled)&&(this.$_scheduleShow(n,e),this.$emit("show"),this.$_showFrameLocked=!0,requestAnimationFrame(()=>{this.$_showFrameLocked=!1})),this.$emit("update:shown",!0)},hide({event:n=null,skipDelay:e=!1}={}){this.$_scheduleHide(n,e),this.$emit("hide"),this.$emit("update:shown",!1)},init(){this.$_isDisposed&&(this.$_isDisposed=!1,this.isMounted=!1,this.$_events=[],this.$_preventShow=!1,this.$_referenceNode=this.referenceNode(),this.$_targetNodes=this.targetNodes().filter(n=>n.nodeType===n.ELEMENT_NODE),this.$_popperNode=this.popperNode(),this.$_innerNode=this.$_popperNode.querySelector(".v-popper__inner"),this.$_arrowNode=this.$_popperNode.querySelector(".v-popper__arrow-container"),this.$_swapTargetAttrs("title","data-original-title"),this.$_detachPopperNode(),this.triggers.length&&this.$_addEventListeners(),this.shown&&this.show())},dispose(){this.$_isDisposed||(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.$_detachPopperNode(),this.isMounted=!1,this.isShown=!1,this.$_swapTargetAttrs("data-original-title","title"),this.$emit("dispose"))},async onResize(){this.isShown&&(await this.$_computePosition(),this.$emit("resize"))},async $_computePosition(){var n;if(this.$_isDisposed)return;const e={strategy:this.strategy,middleware:[]};(this.distance||this.skidding)&&e.middleware.push(DC({mainAxis:this.distance,crossAxis:this.skidding}));const t=this.placement.startsWith("auto");t?e.middleware.push(kC({alignment:(n=this.placement.split("-")[1])!=null?n:""})):e.placement=this.placement,this.preventOverflow&&(this.shift&&e.middleware.push($C({padding:this.overflowPadding,boundary:this.boundary,crossAxis:this.shiftCrossAxis})),!t&&this.flip&&e.middleware.push(IC({padding:this.overflowPadding,boundary:this.boundary}))),e.middleware.push(EC({element:this.$_arrowNode,padding:this.arrowPadding})),this.arrowOverflow&&e.middleware.push({name:"arrowOverflow",fn:({placement:i,rects:r,middlewareData:o})=>{let a;const{centerOffset:c}=o.arrow;return i.startsWith("top")||i.startsWith("bottom")?a=Math.abs(c)>r.reference.width/2:a=Math.abs(c)>r.reference.height/2,{data:{overflow:a}}}}),this.autoMinSize&&e.middleware.push({name:"autoMinSize",fn:({rects:i,placement:r,middlewareData:o})=>{var a;if((a=o.autoMinSize)!=null&&a.skip)return{};let c,l;return r.startsWith("top")||r.startsWith("bottom")?c=i.reference.width:l=i.reference.height,this.$_innerNode.style.minWidth=c!=null?`${c}px`:null,this.$_innerNode.style.minHeight=l!=null?`${l}px`:null,{data:{skip:!0},reset:{rects:!0}}}}),this.autoMaxSize&&e.middleware.push(FC({boundary:this.boundary,padding:this.overflowPadding,apply:({width:i,height:r})=>{this.$_innerNode.style.maxWidth=i!=null?`${i}px`:null,this.$_innerNode.style.maxHeight=r!=null?`${r}px`:null}}));const s=await XC(this.$_referenceNode,this.$_popperNode,e);Object.assign(this.result,{x:s.x,y:s.y,placement:s.placement,strategy:s.strategy,arrow:$n($n({},s.middlewareData.arrow),s.middlewareData.arrowOverflow)})},$_scheduleShow(n=null,e=!1){if(this.$_hideInProgress=!1,clearTimeout(this.$_scheduleTimer),hi&&this.instantMove&&hi.instantMove){hi.$_applyHide(!0),this.$_applyShow(!0);return}e?this.$_applyShow():this.$_scheduleTimer=setTimeout(this.$_applyShow.bind(this),this.$_computeDelay("show"))},$_scheduleHide(n=null,e=!1){this.$_hideInProgress=!0,clearTimeout(this.$_scheduleTimer),this.isShown&&(hi=this),e?this.$_applyHide():this.$_scheduleTimer=setTimeout(this.$_applyHide.bind(this),this.$_computeDelay("hide"))},$_computeDelay(n){const e=this.delay;return parseInt(e&&e[n]||e||0)},async $_applyShow(n=!1){clearTimeout(this.$_disposeTimer),clearTimeout(this.$_scheduleTimer),this.skipTransition=n,!this.isShown&&(this.$_ensureTeleport(),await xc(),await this.$_computePosition(),await this.$_applyShowEffect())},async $_applyShowEffect(){if(this.$_hideInProgress)return;if(this.computeTransformOrigin){const e=this.$_referenceNode.getBoundingClientRect(),t=this.$_popperNode.querySelector(".v-popper__wrapper"),s=t.parentNode.getBoundingClientRect(),i=e.x+e.width/2-(s.left+t.offsetLeft),r=e.y+e.height/2-(s.top+t.offsetTop);this.result.transformOrigin=`${i}px ${r}px`}this.isShown=!0,this.$_applyAttrsToTarget({"aria-describedby":this.popperId,"data-popper-shown":""});const n=this.showGroup;if(n){let e;for(let t=0;t{this.$_popperNode&&(this.$_detachPopperNode(),this.isMounted=!1)},e)),this.$emit("apply-hide"),this.classes.showFrom=!1,this.classes.showTo=!1,this.classes.hideFrom=!0,this.classes.hideTo=!1,await xc(),this.classes.hideFrom=!1,this.classes.hideTo=!0},$_autoShowHide(){this.shown?this.show():this.hide()},$_ensureTeleport(){if(this.$_isDisposed)return;let n=this.container;if(typeof n=="string"?n=window.document.querySelector(n):n===!1&&(n=this.$_targetNodes[0].parentNode),!n)throw new Error("No container for popover: "+this.container);n.appendChild(this.$_popperNode),this.isMounted=!0},$_addEventListeners(){const n=(i,r,o)=>{this.$_events.push({targetNodes:i,eventType:r,handler:o}),i.forEach(a=>a.addEventListener(r,o,Ui?{passive:!0}:void 0))},e=(i,r,o,a,c)=>{let l=o;a!=null&&(l=typeof a=="function"?a(l):a),l.forEach(u=>{const h=r[u];h&&n(i,h,c)})},t=i=>{this.isShown&&!this.$_hideInProgress||(i.usedByTooltip=!0,!this.$_preventShow&&this.show({event:i}))};e(this.$_targetNodes,dd,this.triggers,this.showTriggers,t),e([this.$_popperNode],dd,this.popperTriggers,this.popperShowTriggers,t);const s=i=>{i.usedByTooltip||this.hide({event:i})};e(this.$_targetNodes,fd,this.triggers,this.hideTriggers,s),e([this.$_popperNode],fd,this.popperTriggers,this.popperHideTriggers,s),n([...ga(this.$_referenceNode),...ga(this.$_popperNode)],"scroll",()=>{this.$_computePosition()})},$_removeEventListeners(){this.$_events.forEach(({targetNodes:n,eventType:e,handler:t})=>{n.forEach(s=>s.removeEventListener(e,t))}),this.$_events=[]},$_handleGlobalClose(n,e=!1){this.$_showFrameLocked||(this.hide({event:n}),n.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),e&&(this.$_preventShow=!0,setTimeout(()=>{this.$_preventShow=!1},300)))},$_detachPopperNode(){this.$_popperNode.parentNode&&this.$_popperNode.parentNode.removeChild(this.$_popperNode)},$_swapTargetAttrs(n,e){for(const t of this.$_targetNodes){const s=t.getAttribute(n);s&&(t.removeAttribute(n),t.setAttribute(e,s))}},$_applyAttrsToTarget(n){for(const e of this.$_targetNodes)for(const t in n){const s=n[t];s==null?e.removeAttribute(t):e.setAttribute(t,s)}}},render(){return this.$slots.default(this.slotData)}});typeof document<"u"&&typeof window<"u"&&(hm?(document.addEventListener("touchstart",pd,Ui?{passive:!0,capture:!0}:!0),document.addEventListener("touchend",oA,Ui?{passive:!0,capture:!0}:!0)):(window.addEventListener("mousedown",pd,!0),window.addEventListener("click",rA,!0)),window.addEventListener("resize",aA));function pd(n){for(let e=0;e{(n.closeAllPopover||n.closePopover&&r||s.autoHide&&!r)&&s.$_handleGlobalClose(n,e)})}}function aA(n){for(let e=0;e0)return parseInt(n.substring(e+5,n.indexOf(".",e)),10);var t=n.indexOf("Trident/");if(t>0){var s=n.indexOf("rv:");return parseInt(n.substring(s+3,n.indexOf(".",s)),10)}var i=n.indexOf("Edge/");return i>0?parseInt(n.substring(i+5,n.indexOf(".",i)),10):-1}let No;function il(){il.init||(il.init=!0,No=cA()!==-1)}var sc={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){il(),Hi(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const n=document.createElement("object");this._resizeObject=n,n.setAttribute("aria-hidden","true"),n.setAttribute("tabindex",-1),n.onload=this.addResizeHandlers,n.type="text/html",No&&this.$el.appendChild(n),n.data="about:blank",No||this.$el.appendChild(n)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!No&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const lA=kg();Ca("data-v-b329ee4c");const uA={class:"resize-observer",tabindex:"-1"};Aa();const hA=lA((n,e,t,s,i,r)=>(K(),et("div",uA)));sc.render=hA;sc.__scopeId="data-v-b329ee4c";sc.__file="src/components/ResizeObserver.vue";var mm={computed:{themeClass(){return sA(this.theme)}}},du=(n,e)=>{const t=n.__vccOpts||n;for(const[s,i]of e)t[s]=i;return t};const dA=Gn({name:"VPopperContent",components:{ResizeObserver:sc},mixins:[mm],props:{popperId:String,theme:String,shown:Boolean,mounted:Boolean,skipTransition:Boolean,autoHide:Boolean,handleResize:Boolean,classes:Object,result:Object},emits:["hide","resize"],methods:{toPx(n){return n!=null&&!isNaN(n)?`${n}px`:null}}}),fA=["id","aria-hidden","tabindex","data-popper-placement"],pA={ref:"inner",class:"v-popper__inner"},mA=V("div",{class:"v-popper__arrow-outer"},null,-1),gA=V("div",{class:"v-popper__arrow-inner"},null,-1),_A=[mA,gA];function yA(n,e,t,s,i,r){const o=Ks("ResizeObserver");return K(),ee("div",{id:n.popperId,ref:"popover",class:vs(["v-popper__popper",[n.themeClass,n.classes.popperClass,{"v-popper__popper--shown":n.shown,"v-popper__popper--hidden":!n.shown,"v-popper__popper--show-from":n.classes.showFrom,"v-popper__popper--show-to":n.classes.showTo,"v-popper__popper--hide-from":n.classes.hideFrom,"v-popper__popper--hide-to":n.classes.hideTo,"v-popper__popper--skip-transition":n.skipTransition,"v-popper__popper--arrow-overflow":n.result.arrow.overflow}]]),style:Be({position:n.result.strategy,transform:`translate3d(${Math.round(n.result.x)}px,${Math.round(n.result.y)}px,0)`}),"aria-hidden":n.shown?"false":"true",tabindex:n.autoHide?0:void 0,"data-popper-placement":n.result.placement,onKeyup:e[1]||(e[1]=c0(a=>n.autoHide&&n.$emit("hide"),["esc"]))},[V("div",{class:"v-popper__wrapper",style:Be({transformOrigin:n.result.transformOrigin})},[V("div",pA,[n.mounted?(K(),ee(Re,{key:0},[V("div",null,[Ro(n.$slots,"default")]),n.handleResize?(K(),et(o,{key:0,onNotify:e[0]||(e[0]=a=>n.$emit("resize",a))})):ut("",!0)],64)):ut("",!0)],512),V("div",{ref:"arrow",class:"v-popper__arrow-container",style:Be({left:n.toPx(n.result.arrow.x),top:n.toPx(n.result.arrow.y)})},_A,4)],4)],46,fA)}var gm=du(dA,[["render",yA]]),_m={methods:{show(...n){return this.$refs.popper.show(...n)},hide(...n){return this.$refs.popper.hide(...n)},dispose(...n){return this.$refs.popper.dispose(...n)},onResize(...n){return this.$refs.popper.onResize(...n)}}};const vA=Gn({name:"VPopperWrapper",components:{Popper:fm(),PopperContent:gm},mixins:[_m,mm],inheritAttrs:!1,props:{theme:{type:String,default:null}},computed:{finalTheme(){var n;return(n=this.theme)!=null?n:this.$options.vPopperTheme},popperAttrs(){const n=$n({},this.$attrs);return delete n.class,delete n.style,n}},methods:{getTargetNodes(){return Array.from(this.$refs.reference.children).filter(n=>n!==this.$refs.popperContent.$el)}}});function bA(n,e,t,s,i,r){const o=Ks("PopperContent"),a=Ks("Popper");return K(),et(a,Ia({ref:"popper"},n.popperAttrs,{theme:n.finalTheme,"target-nodes":n.getTargetNodes,"reference-node":()=>n.$refs.reference,"popper-node":()=>n.$refs.popperContent.$el}),{default:nn(({popperId:c,isShown:l,shouldMountContent:u,skipTransition:h,autoHide:d,show:f,hide:p,handleResize:m,onResize:_,classes:g,result:y})=>[V("div",{ref:"reference",class:vs(["v-popper",[n.$attrs.class,n.themeClass,{"v-popper--shown":l}]]),style:Be(n.$attrs.style)},[Ro(n.$slots,"default",{shown:l,show:f,hide:p}),xe(o,{ref:"popperContent","popper-id":c,theme:n.finalTheme,shown:l,mounted:u,"skip-transition":h,"auto-hide":d,"handle-resize":m,classes:g,result:y,onHide:p,onResize:_},{default:nn(()=>[Ro(n.$slots,"popper",{shown:l,hide:p})]),_:2},1032,["popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])],6)]),_:3},16,["theme","target-nodes","reference-node","popper-node"])}var fu=du(vA,[["render",bA]]);const md=Gn(so($n({},fu),{name:"VDropdown",vPopperTheme:"dropdown"})),gd=Gn(so($n({},fu),{name:"VMenu",vPopperTheme:"menu"})),_d=Gn(so($n({},fu),{name:"VTooltip",vPopperTheme:"tooltip"})),wA=Gn({name:"VTooltipDirective",components:{Popper:fm(),PopperContent:gm},mixins:[_m],inheritAttrs:!1,props:{theme:{type:String,default:"tooltip"},html:{type:Boolean,default:n=>qi(n.theme,"html")},content:{type:[String,Number,Function],default:null},loadingContent:{type:String,default:n=>qi(n.theme,"loadingContent")}},data(){return{asyncContent:null}},computed:{isContentAsync(){return typeof this.content=="function"},loading(){return this.isContentAsync&&this.asyncContent==null},finalContent(){return this.isContentAsync?this.loading?this.loadingContent:this.asyncContent:this.content}},watch:{content:{handler(){this.fetchContent(!0)},immediate:!0},async finalContent(){await this.$nextTick(),this.$refs.popper.onResize()}},created(){this.$_fetchId=0},methods:{fetchContent(n){if(typeof this.content=="function"&&this.$_isShown&&(n||!this.$_loading&&this.asyncContent==null)){this.asyncContent=null,this.$_loading=!0;const e=++this.$_fetchId,t=this.content(this);t.then?t.then(s=>this.onResult(e,s)):this.onResult(e,t)}},onResult(n,e){n===this.$_fetchId&&(this.$_loading=!1,this.asyncContent=e)},onShow(){this.$_isShown=!0,this.fetchContent()},onHide(){this.$_isShown=!1}}}),xA=["innerHTML"],TA=["textContent"];function EA(n,e,t,s,i,r){const o=Ks("PopperContent"),a=Ks("Popper");return K(),et(a,Ia({ref:"popper"},n.$attrs,{theme:n.theme,"popper-node":()=>n.$refs.popperContent.$el,onApplyShow:n.onShow,onApplyHide:n.onHide}),{default:nn(({popperId:c,isShown:l,shouldMountContent:u,skipTransition:h,autoHide:d,hide:f,handleResize:p,onResize:m,classes:_,result:g})=>[xe(o,{ref:"popperContent",class:vs({"v-popper--tooltip-loading":n.loading}),"popper-id":c,theme:n.theme,shown:l,mounted:u,"skip-transition":h,"auto-hide":d,"handle-resize":p,classes:_,result:g,onHide:f,onResize:m},{default:nn(()=>[n.html?(K(),ee("div",{key:0,innerHTML:n.finalContent},null,8,xA)):(K(),ee("div",{key:1,textContent:Ke(n.finalContent)},null,8,TA))]),_:2},1032,["class","popper-id","theme","shown","mounted","skip-transition","auto-hide","handle-resize","classes","result","onHide","onResize"])]),_:1},16,["theme","popper-node","onApplyShow","onApplyHide"])}var SA=du(wA,[["render",EA]]);const ym="v-popper--has-tooltip";function CA(n,e){let t=n.placement;if(!t&&e)for(const s of dm)e[s]&&(t=s);return t||(t=qi(n.theme||"tooltip","placement")),t}function vm(n,e,t){let s;const i=typeof e;return i==="string"?s={content:e}:e&&i==="object"?s=e:s={content:!1},s.placement=CA(s,t),s.targetNodes=()=>[n],s.referenceNode=()=>n,s}let Tc,Ur,AA=0;function NA(){if(Tc)return;Ur=Oe([]),Tc=Nf({name:"VTooltipDirectiveApp",setup(){return{directives:Ur}},render(){return this.directives.map(e=>Da(SA,so($n({},e.options),{shown:e.shown.value||e.options.shown,key:e.id})))},devtools:{hide:!0}});const n=document.createElement("div");document.body.appendChild(n),Tc.mount(n)}function MA(n,e,t){NA();const s=Oe(vm(n,e,t)),i=Oe(!1),r={id:AA++,options:s,shown:i};return Ur.value.push(r),n.classList&&n.classList.add(ym),n.$_popper={options:s,item:r,show(){i.value=!0},hide(){i.value=!1}}}function bm(n){if(n.$_popper){const e=Ur.value.indexOf(n.$_popper.item);e!==-1&&Ur.value.splice(e,1),delete n.$_popper,delete n.$_popperOldShown,delete n.$_popperMountTarget}n.classList&&n.classList.remove(ym)}function yd(n,{value:e,oldValue:t,modifiers:s}){const i=vm(n,e,s);if(!i.content||qi(i.theme||"tooltip","disabled"))bm(n);else{let r;n.$_popper?(r=n.$_popper,r.options.value=i):r=MA(n,e,s),typeof e.shown<"u"&&e.shown!==n.$_popperOldShown&&(n.$_popperOldShown=e.shown,e.shown?r.show():r.hide())}}var kA={beforeMount:yd,updated:yd,beforeUnmount(n){bm(n)}};function vd(n){n.addEventListener("click",wm),n.addEventListener("touchstart",xm,Ui?{passive:!0}:!1)}function bd(n){n.removeEventListener("click",wm),n.removeEventListener("touchstart",xm),n.removeEventListener("touchend",Tm),n.removeEventListener("touchcancel",Em)}function wm(n){const e=n.currentTarget;n.closePopover=!e.$_vclosepopover_touch,n.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function xm(n){if(n.changedTouches.length===1){const e=n.currentTarget;e.$_vclosepopover_touch=!0;const t=n.changedTouches[0];e.$_vclosepopover_touchPoint=t,e.addEventListener("touchend",Tm),e.addEventListener("touchcancel",Em)}}function Tm(n){const e=n.currentTarget;if(e.$_vclosepopover_touch=!1,n.changedTouches.length===1){const t=n.changedTouches[0],s=e.$_vclosepopover_touchPoint;n.closePopover=Math.abs(t.screenY-s.screenY)<20&&Math.abs(t.screenX-s.screenX)<20,n.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function Em(n){const e=n.currentTarget;e.$_vclosepopover_touch=!1}var OA={beforeMount(n,{value:e,modifiers:t}){n.$_closePopoverModifiers=t,(typeof e>"u"||e)&&vd(n)},updated(n,{value:e,oldValue:t,modifiers:s}){n.$_closePopoverModifiers=s,e!==t&&(typeof e>"u"||e?vd(n):bd(n))},beforeUnmount(n){bd(n)}};function IA(n,e={}){n.$_vTooltipInstalled||(n.$_vTooltipInstalled=!0,um(zs,e),n.directive("tooltip",kA),n.directive("close-popper",OA),n.component("v-tooltip",_d),n.component("VTooltip",_d),n.component("v-dropdown",md),n.component("VDropdown",md),n.component("v-menu",gd),n.component("VMenu",gd))}const RA={version:"2.0.0-y.0",install:IA,options:zs},DA=cC({history:ES(),routes:[...Yc],scrollBehavior(n,e,t){return t||{top:0,behavior:"smooth"}}}),pu=Nf(bC);pu.use(DA);pu.use(RA);pu.mount("#touchme-app");const PA={class:"stats"},$A={class:"grid"},FA=["x","y","width","height","transform-origin","fill"],VA=["transform"],LA=["height","width","fill","transform-origin"],BA=["x","y"],qA={__name:"stats",setup(n){const{width:e,height:t}=Ts();return(s,i)=>(K(),ee("g",PA,[V("g",$A,[(K(),ee(Re,null,vt(10,(r,o)=>V("g",{class:"note",key:r},[(K(),ee(Re,null,vt(12,(a,c)=>{var l,u,h,d,f,p,m,_,g;return V("rect",{style:Be([{transition:"all 300ms ease-out"},`transform: scale(1,${a-4+r*12==((u=(l=b(D))==null?void 0:l.note)==null?void 0:u.number)&&((d=(h=b(D))==null?void 0:h.note)!=null&&d.attack)?((f=b(D))==null?void 0:f.duration)/300+1:1})`]),key:c,x:c*b(e)/12,y:b(t)-b(t)/9*o,width:b(e)/12,height:b(t)/9,"transform-origin":`${b(e)/12} ${b(t)-b(t)/9*(o-.5)}`,fill:b(ot)(c+12*a,3,1,a-4+r*12==((m=(p=b(D))==null?void 0:p.note)==null?void 0:m.number)&&((g=(_=b(D))==null?void 0:_.note)!=null&&g.attack)?1:.05)},null,12,FA)}),64))])),64))]),(K(!0),ee(Re,null,vt(b(D).total.durations,(r,o)=>(K(),ee("g",{class:"stat",key:o,transform:`translate(${o*b(e)/12})`},[V("rect",{x:0,y:0,height:b(t),width:b(e)/12,fill:b(ot)(o,2),"transform-origin":`0 ${b(t)}`,style:Be([{transition:"all 200ms ease-out"},`transform: scale(1,${r/b(D).total.duration||0})`])},null,12,LA),V("text",{x:b(e)/24,y:b(t)-20,"text-anchor":"middle",fill:"currentColor"},Ke(b(NT)[o]),9,BA)],8,VA))),128))]))}},UA=Object.freeze(Object.defineProperty({__proto__:null,default:qA},Symbol.toStringTag,{value:"Module"})),jA={class:"arrows pointer-events-none transition",transform:"translate(0 40)"},WA=["cx","cy","fill","transform-origin"],zA={class:"ticks"},HA=["transform-origin"],GA=["x1","x2","stroke-width","stroke","transform-origin","transform"],KA=["x1","y1","x2","transform-origin"],Sm={__name:"spiral",setup(n){const{width:e,height:t}=Ts(),{midi:s}=ii();return fe(()=>(s.time/1e3).toFixed()),(i,r)=>{var o,a,c,l;return K(),ee("g",jA,[V("circle",{class:"center",style:Be([{transition:"all 400ms ease-out"},{transform:`scale(${((o=b(s).note)==null?void 0:o.attack)*b(s).duration/20+1})`}]),cx:b(e)/2,cy:b(t)/2,fill:((a=b(s).note)==null?void 0:a.attack)>0?b(ot)((((c=b(s).note)==null?void 0:c.number)-9)%12):"currentColor",r:5,"transform-origin":`${b(e)/2} ${b(t)/2}`},null,12,WA),V("g",zA,[(K(),ee(Re,null,vt(120,u=>{var h,d,f,p;return V("g",{key:u,"transform-origin":`${b(e)/2} ${b(t)/2}`,style:Be({transform:`rotate(${u-60}deg)`})},[V("line",{style:{transition:"all 400ms ease-out"},x1:b(e)/2,x2:b(e)/2,y1:10,y2:100,"stroke-width":((h=b(s).note)==null?void 0:h.number)==u&&((d=b(s).note)!=null&&d.attack)?50*(1+b(s).duration/1e3):2,stroke:((f=b(s).note)==null?void 0:f.number)==u&&((p=b(s).note)!=null&&p.attack)?b(ot)((u+3)%12):"currentColor","stroke-linecap":"round","transform-origin":`${b(e)/2} ${b(t)/2}`,transform:`rotate(${u*b(s).time/2e4}) scale(${1-u/120*b(s).time/5e5})`},null,8,GA)],12,HA)}),64))]),V("line",{class:"arrow",style:Be([{transition:"all 400ms ease-out"},{transform:`rotate(${((l=b(s).note)==null?void 0:l.number)*(1+b(s).time/2e4)-60}deg)`}]),x1:b(e)/2,y1:b(t)/2,"stroke-width":"4",stroke:"currentColor","stroke-linecap":"round",x2:b(e)/2,y2:20,"transform-origin":`${b(e)/2} ${b(t)/2}`},null,12,KA)])}}};typeof ys=="function"&&ys(Sm);const YA=Object.freeze(Object.defineProperty({__proto__:null,default:Sm},Symbol.toStringTag,{value:"Module"})),ZA=["x1","x2","y1","y2","stroke-width","stroke","transform-origin","transform"],XA=["cx","cy","fill","transform-origin"],QA=["x1","x2","y1","y2","transform-origin","transform"],JA=["cx","cy","transform-origin","fill"],eN={__name:"rose",setup(n){const{width:e,height:t}=Ts(),s=fe(()=>new Array(12).fill(1).map((r,o)=>D.total.notes[o]?MT(o,12,D.total.notes[o]/D.total.hits*e.value*1.2+50,e.value,t.value):{})),i=fe(()=>{const r=s.value.filter(a=>a.x&&a.y);return r.map((a,c)=>({x1:a.x,y1:a.y,x2:r[c==r.length-1?0:c+1].x,y2:r[c==r.length-1?0:c+1].y}))});return(r,o)=>{var a,c,l,u,h,d;return K(),ee("g",null,[(K(),ee(Re,null,vt(12,(f,p)=>{var m,_,g,y;return V("line",{style:{transition:"all 500ms ease-out"},key:f,x1:b(e)/2,x2:b(e)/2,y1:b(t)/2,y2:-b(t)/2,"stroke-linecap":"round","stroke-width":((_=(m=b(D))==null?void 0:m.note)==null?void 0:_.pitch)==p&&((y=(g=b(D))==null?void 0:g.note)!=null&&y.attack)?b(D).duration/10:2,stroke:b(ot)(p,4),"transform-origin":`${b(e)/2} ${b(t)/2}`,transform:`rotate(${30*p})`},null,8,ZA)}),64)),(K(!0),ee(Re,null,vt(b(s),(f,p)=>(K(),ee("circle",{class:"mix-blend-multiply dark_mix-blend-difference",style:Be([{transition:"all 400ms ease-out"},`transform: scale(${50*b(D).total.durations[p]/b(D).total.duration})`]),key:p,cx:f.x||b(e)/2,r:10,cy:f.y||b(t)/2,fill:b(ot)(p),"stroke-width":"4","transform-origin":`${f.x} ${f.y}`},null,12,XA))),128)),(K(!0),ee(Re,null,vt(b(i),f=>(K(),ee("line",Ia({class:"mix-blend-exclusion",style:{transition:"all 300ms ease-out"},key:f},f,{stroke:"currentColor","stroke-width":"4","stroke-linecap":"round"}),null,16))),128)),V("line",{class:"mix-blend-difference",style:{transition:"all 300ms ease-out"},x1:b(e)/2,x2:b(e)/2,y1:b(t)/2-b(D).duration/5-100,y2:b(t)/2,"transform-origin":`${b(e)/2} ${b(t)/2}`,transform:`rotate(${30*((c=(a=b(D))==null?void 0:a.note)==null?void 0:c.pitch)||0})`,stroke:"white","stroke-width":"4","stroke-linecap":"round"},null,8,QA),V("circle",{style:Be([{transition:"all 200ms ease-out"},`transform: scale(${b(D).duration/1e3})`]),cx:b(e)/2,cy:b(t)/2,r:30,"transform-origin":`${b(e)/2} ${b(t)/2}`,fill:b(ot)((u=(l=b(D))==null?void 0:l.note)==null?void 0:u.pitch,3,(d=(h=b(D))==null?void 0:h.note)==null?void 0:d.attack)},null,12,JA)])}}},tN=Object.freeze(Object.defineProperty({__proto__:null,default:eN},Symbol.toStringTag,{value:"Module"})),nN={class:"arrows pointer-events-none transition",transform:"translate(0 40)"},sN={class:"ticks"},iN=["transform-origin"],rN=["x1","x2","stroke-width","stroke"],oN=["x1","y1","x2","transform-origin"],aN=["cx","cy","fill","transform-origin"],cN=["fill"],lN=["x","y","transform-origin","transform"],uN=["width","x","y","transform-origin","transform"],Cm={__name:"level",setup(n){const{width:e,height:t}=Ts(),{midi:s}=ii();return fe(()=>(s.time/1e3).toFixed()),(i,r)=>{var o,a,c,l,u,h,d,f,p;return K(),ee("g",nN,[V("g",sN,[(K(),ee(Re,null,vt(120,m=>{var _,g,y,S;return V("g",{key:m,"transform-origin":`${b(e)/2} ${b(t)/2}`,style:Be({transform:`rotate(${m-60}deg)`})},[V("line",{x1:b(e)/2,x2:b(e)/2,y1:10,y2:70,"stroke-width":((_=b(s).note)==null?void 0:_.number)==m&&((g=b(s).note)!=null&&g.attack)?2+50*b(s).duration/1e3:2,stroke:((y=b(s).note)==null?void 0:y.number)==m&&((S=b(s).note)!=null&&S.attack)?b(ot)((m+3)%12):"currentColor","stroke-linecap":"round"},null,8,rN)],12,iN)}),64))]),V("line",{class:"arrow transition",x1:b(e)/2,y1:b(t)/2,"stroke-width":"4",stroke:"currentColor","stroke-linecap":"round",x2:b(e)/2,y2:20,"transform-origin":`${b(e)/2} ${b(t)/2}`,style:Be({transform:`rotate(${((o=b(s).note)==null?void 0:o.number)-60}deg)`})},null,12,oN),V("circle",{class:"center transition",cx:b(e)/2,cy:b(t)/2,fill:((a=b(s).note)==null?void 0:a.attack)>0?b(ot)((((c=b(s).note)==null?void 0:c.number)-9)%12):"currentColor",r:5,"transform-origin":`${b(e)/2} ${b(t)/2}`,style:Be({transform:`scale(${((l=b(s).note)==null?void 0:l.attack)*10+1})`})},null,12,aN),V("g",{fill:((u=b(s).note)==null?void 0:u.attack)>0?b(ot)((((h=b(s).note)==null?void 0:h.number)-9)%12):"currentColor"},[V("text",{class:"transition font-bold","text-anchor":"middle","alignment-baseline":"central",x:b(e)/2,y:b(t)/2*1.5,"font-size":"4em","transform-origin":`${b(e)/2} ${b(t)/2*1.5}`,transform:`scale(${((f=(d=b(s))==null?void 0:d.note)==null?void 0:f.attack)||0})`},Ke(((p=b(s).note)==null?void 0:p.identifier)||""),9,lN),V("rect",{width:b(e)/2,x:b(e)/2-b(e)/4,y:b(t)/2*1.6,height:300,"transform-origin":`${b(e)/2} ${b(t)/2*1.5}`,transform:`scale(${b(s).duration/2e3} 1)`},null,8,uN)],8,cN)])}}};typeof ys=="function"&&ys(Cm);const hN=Object.freeze(Object.defineProperty({__proto__:null,default:Cm},Symbol.toStringTag,{value:"Module"})),dN=["viewBox"],fN=V("defs",null,[V("filter",{id:"blur",x:"-300%",y:"-300%",width:"600%",height:"600%"},[V("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"50"})])],-1),pN=["width","height"],mN=["stroke-width","stroke","x1","x2","y1","y2"],gN=V("circle",{"stroke-width":"2",stroke:"white",fill:"hsl(30,90%,80%)",r:"30"},null,-1),_N=V("circle",{r:"3",cx:"20"},null,-1),yN=V("circle",{r:"3",cx:"10"},null,-1),vN=[gN,_N,yN],bN=["cx","cy","r","fill","opacity"],Am={__name:"index",setup(n){const{width:e,height:t}=Ts(),{midi:s}=ii(),i=Gp();function r(){const a=Vt({x:100,y:100,angle:0}),c=Oe(0),l=Math.random();return ou(()=>{c.value++,a.x=(i(l*100,c.value/2e3)+1)/2,a.y=(i(l*200,c.value/2e3)+1)/2,a.angle=(i(l*300,c.value/2e3)+1)/2}),a}const o=Vt([]);return o.push(r()),o.push(r()),(a,c)=>{var l,u,h,d,f,p,m,_,g,y;return K(),ee("svg",{class:"h-full",id:"visual",version:"1.1",baseProfile:"full",viewBox:`0 0 ${b(e)} ${b(t)}`,xmlns:"http://www.w3.org/2000/svg"},[fN,V("rect",{opacity:"0.1",width:b(e),height:b(t)},null,8,pN),V("line",{style:{transition:"stroke-width 0.2s ease-out"},"stroke-width":((u=(l=b(s))==null?void 0:l.note)==null?void 0:u.number)*((d=(h=b(s))==null?void 0:h.note)==null?void 0:d.velocity)/200*b(s).duration/100,stroke:b(ot)(((p=(f=b(s))==null?void 0:f.note)==null?void 0:p.number)-21),"stroke-linecap":"round",x1:b(o)[0].x*b(e),x2:b(o)[1].x*b(e),y1:b(o)[0].y*b(t),y2:b(o)[1].y*b(t)},null,8,mN),(K(!0),ee(Re,null,vt(b(o),S=>(K(),ee("g",{style:Be([{transition:"transform 0.1s ease-out"},`transform: translate(${S.x*b(e)}px,${S.y*b(t)}px) rotate(${S.angle*360}deg) scale(${b(s).duration/1e3+1})`]),key:S},vN,4))),128)),V("circle",{cx:(b(o)[0].x+b(o)[1].x)*b(e)/2,cy:(b(o)[0].y+b(o)[1].y)*b(t)/2,r:b(s).duration/20+25,fill:b(ot)(((_=(m=b(s))==null?void 0:m.note)==null?void 0:_.number)-9),opacity:.75*((y=(g=b(s))==null?void 0:g.note)==null?void 0:y.attack)||0},null,8,bN)],8,dN)}}};typeof ys=="function"&&ys(Am);const wN=Object.freeze(Object.defineProperty({__proto__:null,default:Am},Symbol.toStringTag,{value:"Module"})),xN=["d","fill","stroke","stroke-width","fill-opacity","transform-origin"],TN={__name:"ring",props:{fill:{type:String,default:"gray"},stroke:{type:String,default:"none"},sWidth:{type:Number,default:0},cx:{type:Number,default:500},cy:{type:Number,default:500},radius:{type:Number,default:450},from:{type:Number,default:0},to:{type:Number,default:360},thickness:{type:Number,default:100},op:{type:Number,default:1},round:{type:Boolean,default:!1}},setup(n){const e=n,t=Vt({from:fe(()=>e.from<=e.to?e.from:e.to),to:fe(()=>e.from>e.to?e.from:e.to),start:fe(()=>s(t.to)),end:fe(()=>s(t.from)),largeArcFlag:fe(()=>t.to-t.from<=180?"0":"1"),cutout:fe(()=>e.radius-e.thickness),start2:fe(()=>s(t.to,t.cutout)),end2:fe(()=>s(t.from,t.cutout))});function s(a=0,c=e.radius){return o(e.cx,e.cy,c,a)}const i=fe(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"L",t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"L",t.start.x,t.start.y,"Z"].join(" ")),r=fe(()=>["M",t.start.x,t.start.y,"A",e.radius,e.radius,0,t.largeArcFlag,0,t.end.x,t.end.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.end2.x,t.end2.y,"A",t.cutout,t.cutout,0,t.largeArcFlag,1,t.start2.x,t.start2.y,"A",e.thickness/2,e.thickness/2,0,0,0,t.start.x,t.start.y,"Z"].join(" "));function o(a,c,l,u){var h=(u-90)*Math.PI/180;return{x:a+l*Math.cos(h),y:c+l*Math.sin(h)}}return(a,c)=>(K(),ee("path",{style:{transition:"all 200ms ease-out"},d:n.round?b(r):b(i),fill:n.fill,stroke:n.stroke,"stroke-width":n.sWidth,"fill-rule":"evenodd","stroke-linejoin":"round","fill-opacity":n.op,"transform-origin":`${n.cx} ${n.cy}`},[Ro(a.$slots,"default")],8,xN))}},EN={class:"donut"},SN=["cx","cy","transform","transform-origin","fill"],CN=["x","y"],AN={__name:"donut",setup(n){const{width:e,height:t}=Ts(),s=fe(()=>(t.value2*Math.PI*s.value);const i=fe(()=>D.total.durations.reduce((a,c)=>a+c)||1),r=fe(()=>D.total.durations.map(a=>a/i.value)),o=fe(()=>{let a=0;const c=[0];return r.value.forEach(l=>{a+=Number(l),c.push(a)}),c});return(a,c)=>{var u,h,d,f,p,m,_,g;const l=TN;return K(),ee("g",EN,[(K(!0),ee(Re,null,vt(b(r),(y,S)=>(K(),ee("g",null,[xe(l,{style:{transition:"all 500ms ease-out"},cx:b(e)/2,cy:b(t)/2,radius:b(s),fill:b(ot)(S),from:b(o)[S]*360,to:(b(o)[S]+b(r)[S])*360,thickness:b(e)/3},null,8,["cx","cy","radius","fill","from","to","thickness"])]))),256)),V("circle",{style:{transition:"all 200ms ease-out"},cx:b(e)/2,cy:b(t)/2,r:30,opacity:"0.9",transform:`scale(${((h=(u=b(D))==null?void 0:u.note)==null?void 0:h.attack)*b(D).duration/500+1||1})`,"transform-origin":`${b(e)/2} ${b(t)/2}`,fill:b(ot)((f=(d=b(D))==null?void 0:d.note)==null?void 0:f.pitch,3,(m=(p=b(D))==null?void 0:p.note)==null?void 0:m.attack)},null,8,SN),V("text",{x:b(e)/2,y:b(t)/2+8,"text-anchor":"middle","font-size":"14"},Ke((g=(_=b(D))==null?void 0:_.note)==null?void 0:g.identifier),9,CN)])}}},NN=Object.freeze(Object.defineProperty({__proto__:null,default:AN},Symbol.toStringTag,{value:"Module"})),MN={class:"cross"},kN=["x","height","transform-origin","fill"],ON=["x2","stroke","stroke-width","transform-origin"],IN=["cx","cy","transform-origin","fill","opacity"],RN=["transform-origin","width","height"],DN={__name:"cross",setup(n){const{width:e,height:t}=Ts();return(s,i)=>{var r,o,a,c,l,u;return K(),ee("g",MN,[V("rect",{style:Be([{transition:"all 300ms ease-in-out"},`transform: scale(${b(D).duration/60}, 1)`]),x:b(e)/2-50,y:0,height:b(t),width:100,"transform-origin":`${b(e)/2} 0`,fill:b(ot)(((o=(r=b(D))==null?void 0:r.note)==null?void 0:o.pitch)-24+7)},null,12,kN),V("line",{class:"mix-blend-multiply dark_mix-blend-difference",style:Be([{transition:"all 300ms ease-in-out"},`transform: translateY(${(127-((c=(a=b(D))==null?void 0:a.note)==null?void 0:c.number))/127*b(t)||0}px)`]),x1:0,x2:b(e),y1:0,y2:0,stroke:b(ot)((u=(l=b(D))==null?void 0:l.note)==null?void 0:u.pitch),"stroke-width":b(D).duration,"transform-origin":`${b(e)/2} 0`},null,12,ON),(K(),ee(Re,null,vt(127,h=>{var d,f,p,m;return V("circle",{style:Be([{transition:"all 300ms ease-in-out"},`transform: scale(${((f=(d=b(D))==null?void 0:d.note)==null?void 0:f.number)==h?b(D).duration/50:1})`]),key:h,cx:b(e)/2,cy:(127-h)/127*b(t)||0,"transform-origin":`${b(e)/2} ${(127-h)/127*b(t)||0}`,r:60,fill:b(ot)((h+3)%12),opacity:((m=(p=b(D))==null?void 0:p.note)==null?void 0:m.number)==h?.9:0},null,12,IN)}),64)),V("rect",{class:"mix-blend-exclusion",style:Be([{transition:"all 100ms ease-in-out"},`transform: scale(1,${b(D).total.duration/b(D).time})`]),fill:"white",opacity:"0.1",x:0,y:0,"transform-origin":`0 ${b(t)}`,width:b(e),height:b(t)},null,12,RN)])}}},PN=Object.freeze(Object.defineProperty({__proto__:null,default:DN},Symbol.toStringTag,{value:"Module"})); +//# sourceMappingURL=index-6fda5aab.js.map diff --git a/assets/index-6fda5aab.js.map b/assets/index-6fda5aab.js.map new file mode 100644 index 0000000..cecf501 --- /dev/null +++ b/assets/index-6fda5aab.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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AAM,uBACN,YAAa,2BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,kBACN,YAAa,sBACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,eACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,gBACN,YAAa,mBACb,SAAU,KACX,EACD,CACE,OAAQ,EACR,KAAM,cACN,YAAa,wBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,mBACN,YAAa,iCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,4BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,4BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,wCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,qBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,sBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,uBACN,YAAa,2BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,yBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,yBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,oBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,oBACN,YAAa,wBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,iBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,UACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,qBACN,YAAa,0BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,sCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,qBACd,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,mBACd,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,kBACd,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,mBACd,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,qBACd,EACD,CACE,OAAQ,GACR,KAAM,QACN,YAAa,eACd,EACD,CACE,OAAQ,GACR,KAAM,iBACN,YAAa,kBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,cACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,aACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,YACN,YAAa,aACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,cACN,YAAa,eACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,gBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,gBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,YACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,4BACN,YAAa,+BACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,oBACN,YAAa,qBACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,+BACN,YAAa,kCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,WACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,qCACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,qCACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,eACN,YAAa,iBACd,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,gBACd,EACD,CACE,OAAQ,GACR,KAAM,gBACN,YAAa,gBACd,EACD,CACE,OAAQ,GACR,KAAM,6BACN,YAAa,yCACb,SAAU,KACX,EACD,CACE,OAAQ,GACR,KAAM,+BACN,YAAa,2CACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,0BACN,YAAa,qCACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,4BACN,YAAa,uCACb,SAAU,KACX,EACD,CACE,OAAQ,IACR,KAAM,gBACN,YAAa,WACd,EACD,CACE,OAAQ,IACR,KAAM,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","names":["makeMap","str","expectsLowerCase","map","list","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","onRE","isOn","key","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isRegExp","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","_","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","looseToNumber","n","toNumber","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","name","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","toDisplayString","replacer","_key","entries","val2","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","l","last","recordEffectScope","effect","scope","getCurrentScope","onScopeDispose","createDep","effects","dep","wasTracked","trackOpBit","newTracked","initDepMarkers","deps","finalizeDepMarkers","ptr","targetMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ReactiveEffect","scheduler","parent","lastShouldTrack","shouldTrack","cleanupEffect","effect2","trackStack","pauseTracking","resetTracking","track","target","type","depsMap","trackEffects","debuggerEventExtraInfo","shouldTrack2","trigger","newValue","oldTarget","newLength","key2","triggerEffects","triggerEffect","getDepFromReactive","object","_a","isNonTrackableKeys","builtInSymbols","arrayInstrumentations","createArrayInstrumentations","instrumentations","args","toRaw","BaseReactiveHandler","_isReadonly","_shallow","receiver","isReadonly2","shallow","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","MutableReactiveHandler","isReadonly","isShallow","hadKey","result","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","v","get","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","has","size","add","set","get2","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","isProxy","raw","markRaw","trackRefValue","ref2","triggerRefValue","newVal","r","ref","createRef","shallowRef","rawValue","RefImpl","__v_isShallow","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","customRef","ObjectRefImpl","_object","_defaultValue","GetterRefImpl","_getter","toRef","source","defaultValue","propertyToRef","ComputedRefImpl","getter","_setter","isSSR","self","computed","getterOrOptions","debugOptions","setter","onlyGetter","callWithErrorHandling","instance","err","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","appErrorHandler","logError","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","cb","flushPreFlushCbs","seen","flushPostFlushCbs","deduped","comparator","diff","check","emit","event","rawArgs","props","modelArg","modifiersKey","number","trim","handlerName","handler","onceHandler","normalizeEmitsOptions","comp","appContext","asMixin","cached","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","options","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","pushScopeId","popScopeId","withScopeId","_id","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","Component","vnode","withProxy","propsOptions","slots","attrs","render","renderCache","data","setupState","inheritAttrs","fallthroughAttrs","proxyToUse","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","Comment","root","keys","shapeFlag","filterModelListeners","cloneVNode","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","component","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","emitsOptions","nextKeys","updateHOCHostEl","isSuspense","queueEffectWithSuspense","suspense","watchEffect","doWatch","INITIAL_WATCHER_VALUE","watch","immediate","deep","flush","onTrack","onTrigger","currentInstance","forceTrigger","isMultiSource","isShallow$1","s","traverse","cleanup","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","useSSRContext","queuePostRenderEffect","unwatch","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","path","segments","withDirectives","directives","internalInstance","getExposeProxy","bindings","dir","modifiers","invokeDirectiveHook","oldBindings","binding","hook","leaveCbKey","enterCbKey","useTransitionState","state","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","BaseTransitionImpl","getCurrentInstance","prevTransitionKey","children","getTransitionRawChildren","child","rawProps","mode","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","isSameVNodeType","leavingHooks","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","BaseTransition","leavingVNodes","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","callHook","callAsyncHook","hook2","hooks","leavingVNode","afterHook","cancelHook","called","cancelled","vnode2","isKeepAlive","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","extraOptions","isAsyncWrapper","KeepAliveImpl","sharedContext","current","parentSuspense","patch","move","_unmount","createElement","storageContainer","container","anchor","isSVG","instance2","vnodeHook","invokeVNodeHook","unmount","resetShapeFlag","pruneCache","filter","getComponentName","pruneCacheEntry","include","exclude","matches","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","subTree","da","rawVNode","isVNode","max","cachedVNode","KeepAlive","pattern","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","resolveDirective","warnMissing","selfName","resolve","registry","renderList","renderItem","index","renderSlot","fallback","noSlotted","slot","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","vnodes","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","descriptor","normalizePropsOrEmits","applyOptions","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","filters","resolveInjections","methodHandler","opt","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","inject","h","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","to","from","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","isMounted","app","version","plugin","mixin","directive","rootContainer","isHydrate","currentApp","parentProvides","treatDefaultAsFactory","initProps","isStateful","InternalObjectKey","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","stringIndex","getType","ctor","match","isSameType","expectedTypes","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","n1","n2","parentComponent","slotScopeIds","getNextHostNode","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","next","removeStaticNode","mountElement","patchElement","transition","dirs","mountChildren","setScopeId","unmountChildren","needCallTransitionHooks","needTransition","scopeId","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","update","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","allowed","ch1","ch2","len","arrI","isTeleport","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","style","extraProps","mergeRef","mergedProps","mergeProps","createTextVNode","text","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","globalCurrentInstanceSetters","settersKey","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","compile","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","getAttrsProxy","includeInferred","computed$1","propsOrChildren","ssrContextKey","svgNS","doc","templateContainer","nodeOps","tag","is","node","selector","before","wrapper","TRANSITION","ANIMATION","vtcKey","Transition","resolveTransitionProps","DOMTransitionPropsValidators","TransitionPropsValidators","h2","hasExplicitCallback","baseProps","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","_vtc","endId","expectedType","explicitTimeout","resolveIfNotStale","timeout","propCount","getTransitionInfo","endEvent","ended","onEnd","styles","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","d","toMs","patchClass","transitionClasses","vShowOldKey","vShow","setDisplay","patchStyle","isCssString","setStyle","currentDisplay","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","nativeOnRE","patchProp","shouldSetAsProp","positionMap","newPositionMap","moveCbKey","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","cssTransitionProps","removeMode","TransitionGroup","oldPos","newPos","dx","dy","clone","getModelAssigner","assignKey","vModelCheckbox","modelValue","elementValue","getValue","checked","assign","found","filtered","getCheckboxValue","setChecked","systemModifiers","modifierGuards","withModifiers","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","_imports_0","createExtendedExponentialRampToValueAutomationEvent","endTime","insertTime","createExtendedLinearRampToValueAutomationEvent","createSetValueAutomationEvent","startTime","createSetValueCurveAutomationEvent","getTargetValueAtTime","time","valueAtStartTime","timeConstant","isExponentialRampToValueAutomationEvent","automationEvent","isLinearRampToValueAutomationEvent","isAnyRampToValueAutomationEvent","isSetValueAutomationEvent","isSetValueCurveAutomationEvent","getValueOfAutomationEventAtIndexAtTime","automationEvents","getEndTimeAndValueOfPreviousAutomationEvent","currentAutomationEvent","nextAutomationEvent","isCancelAndHoldAutomationEvent","isCancelScheduledValuesAutomationEvent","getEventTime","getExponentialRampValueAtTime","getLinearRampValueAtTime","interpolateValue","theoreticIndex","lowerIndex","upperIndex","getValueCurveValueAtTime","isSetTargetAutomationEvent","AutomationEventList","eventTime","removedAutomationEvent","lastAutomationEvent","startValue","truncatedAutomationEvent","previousAutomationEvent","persistentAutomationEvent","remainingAutomationEvents","firstRemainingAutomationEvent","indexOfNextEvent","indexOfCurrentEvent","createCancelAndHoldAutomationEvent","cancelTime","createCancelScheduledValuesAutomationEvent","createExponentialRampToValueAutomationEvent","createLinearRampToValueAutomationEvent","createSetTargetAutomationEvent","createAbortError","createAddActiveInputConnectionToAudioNode","insertElementInSet","activeInputs","output","input","eventListener","ignoreDuplicates","activeInputConnection","createAddAudioNodeConnections","audioNodeConnectionsStore","audioNode","audioNodeRenderer","nativeAudioNode","createAddAudioParamConnections","audioParamConnectionsStore","audioParam","audioParamRenderer","ACTIVE_AUDIO_NODE_STORE","AUDIO_NODE_CONNECTIONS_STORE","AUDIO_NODE_STORE","AUDIO_PARAM_CONNECTIONS_STORE","AUDIO_PARAM_STORE","CONTEXT_STORE","EVENT_LISTENERS","CYCLE_COUNTERS","NODE_NAME_TO_PROCESSOR_CONSTRUCTOR_MAPS","NODE_TO_PROCESSOR_MAPS","isConstructible","constructible","IMPORT_STATEMENT_REGEX","splitImportStatements","url","importStatements","sourceWithoutImportStatements","unresolvedUrl","importStatementWithResolvedUrl","verifyParameterDescriptors","parameterDescriptors","verifyProcessorCtor","processorCtor","createAddAudioWorkletModule","cacheTestResult","createNotSupportedError","evaluateSource","exposeCurrentFrameAndCurrentTime","fetchSource","getNativeContext","getOrCreateBackupOfflineAudioContext","isNativeOfflineAudioContext","nativeAudioWorkletNodeConstructor","ongoingRequests","resolvedRequests","testAudioWorkletProcessorPostMessageSupport","window","moduleURL","resolvedRequestsOfContext","ongoingRequestsOfContext","promiseOfOngoingRequest","nativeContext","promise","absoluteUrl","wrappedSource","evaluateAudioWorkletGlobalScope","nodeNameToProcessorConstructorMap","isSupportingPostMessage","currentIndex","blob","backupOfflineAudioContext","nativeContextOrBackupOfflineAudioContext","updatedResolvedRequestsOfContext","updatedOngoingRequestsOfContext","getValueForKey","pickElementFromSet","predicate","matchingElements","matchingElement","deletePassiveInputConnectionToAudioNode","passiveInputs","passiveInputConnections","matchingConnection","passiveInputConnection","getEventListenersOfAudioNode","setInternalStateToActive","isAudioWorkletNode","setInternalStateToPassive","setInternalStateToPassiveWhenNecessary","connections","createAddConnectionToAudioNode","addActiveInputConnectionToAudioNode","addPassiveInputConnectionToAudioNode","connectNativeAudioNodeToNativeAudioNode","deleteActiveInputConnectionToAudioNode","disconnectNativeAudioNodeFromNativeAudioNode","getAudioNodeConnections","getAudioNodeTailTime","getNativeAudioNode","isActiveAudioNode","isPartOfACycle","isPassiveAudioNode","tailTimeTimeoutIds","destination","isOffline","outputs","eventListeners","isActive","nativeDestinationAudioNode","nativeSourceAudioNode","partialConnection","tailTime","tailTimeTimeoutId","outputConnection","createAddPassiveInputConnectionToAudioNode","createAddSilentConnection","createNativeGainNode","nativeAudioScheduledSourceNode","nativeGainNode","disconnect","createAddUnrenderedAudioWorkletNode","getUnrenderedAudioWorkletNodes","audioWorkletNode","DEFAULT_OPTIONS","createAnalyserNodeConstructor","audionNodeConstructor","createAnalyserNodeRenderer","createIndexSizeError","createNativeAnalyserNode","mergedOptions","nativeAnalyserNode","analyserNodeRenderer","maxDecibels","minDecibels","array","isOwnedByContext","createAnalyserNodeRendererFactory","renderInputsOfAudioNode","renderedNativeAnalyserNodes","createAnalyserNode","nativeOfflineAudioContext","renderedNativeAnalyserNode","testAudioBufferCopyChannelMethodsOutOfBoundsSupport","nativeAudioBuffer","wrapAudioBufferGetChannelDataMethod","audioBuffer","getChannelData","channel","createAudioBufferConstructor","audioBufferStore","nativeAudioBufferConstructor","nativeOfflineAudioContextConstructor","testNativeAudioBufferConstructorSupport","wrapAudioBufferCopyChannelMethods","wrapAudioBufferCopyChannelMethodsOutOfBounds","AudioBuffer","length","numberOfChannels","sampleRate","MOST_NEGATIVE_SINGLE_FLOAT","MOST_POSITIVE_SINGLE_FLOAT","createAudioBufferSourceNodeConstructor","audioNodeConstructor","createAudioBufferSourceNodeRenderer","createAudioParam","createInvalidStateError","createNativeAudioBufferSourceNode","wrapEventListener","nativeAudioBufferSourceNode","audioBufferSourceNodeRenderer","wrappedListener","nativeOnEnded","when","offset","resetInternalStateToPassive","createAudioBufferSourceNodeRendererFactory","connectAudioParam","renderAutomation","renderedNativeAudioBufferSourceNodes","stop","createAudioBufferSourceNode","nativeAudioBufferSourceNodeIsOwnedByContext","renderedNativeAudioBufferSourceNode","isAudioBufferSourceNode","isBiquadFilterNode","isConstantSourceNode","isGainNode","isOscillatorNode","isStereoPannerNode","getAudioParamConnections","deactivateActiveAudioNodeInputConnections","trace","audioParams","audioParamConnections","deactivateAudioGraph","isValidLatencyHint","latencyHint","createAudioContextConstructor","baseAudioContextConstructor","createUnknownError","mediaElementAudioSourceNodeConstructor","mediaStreamAudioDestinationNodeConstructor","mediaStreamAudioSourceNodeConstructor","mediaStreamTrackAudioSourceNodeConstructor","nativeAudioContextConstructor","nativeAudioContext","revokeState","mediaElement","mediaStream","mediaStreamTrack","reject","resolvePromise","createAudioDestinationNodeConstructor","createAudioDestinationNodeRenderer","createNativeAudioDestinationNode","channelCount","nativeAudioDestinationNode","audioDestinationNodeRenderer","renderedNativeAudioDestinationNodes","createAudioDestinationNode","renderedNativeAudioDestinationNode","createAudioListenerFactory","createNativeChannelMergerNode","createNativeConstantSourceNode","createNativeScriptProcessorNode","getFirstSample","overwriteAccessors","nativeListener","createFakeAudioParams","buffer","channelMergerNode","isScriptProcessorNodeCreated","lastOrientation","lastPosition","createScriptProcessorNode","scriptProcessorNode","inputBuffer","orientation","positon","createSetOrientation","createSetPosition","createFakeAudioParam","setValue","constantSourceNode","cancelAndHoldAtTime","cancelScheduledValues","exponentialRampToValueAtTime","linearRampToValueAtTime","setTargetAtTime","setValueAtTime","setValueCurveAtTime","forwardX","forwardY","forwardZ","positionX","positionY","positionZ","upX","upY","upZ","isAudioNode","audioNodeOrAudioParam","isAudioNodeOutputConnection","element","lmnt","addActiveInputConnectionToAudioParam","addPassiveInputConnectionToAudioParam","isNativeAudioNodeFaker","nativeAudioNodeOrNativeAudioNodeFaker","fakeNativeDestinationAudioNode","deleteActiveInputConnection","activeInputConnections","deleteActiveInputConnectionToAudioParam","deleteEventListenerOfAudioNode","deletePassiveInputConnectionToAudioParam","getNativeAudioParam","testAudioNodeDisconnectMethodSupport","analyzer","dummy","ones","channelData","chnnlDt","sample","visitEachAudioNodeOnce","cycles","visitor","counts","cycle","count","isNativeAudioNode","nativeAudioNodeOrAudioParam","wrapAudioNodeDisconnectMethod","connect","returnValue","connectionsToDestination","connection","destinationOrOutput","filteredConnections","addConnectionToAudioParamOfAudioContext","nativeAudioParam","deleteInputConnectionOfAudioNode","deleteInputConnectionOfAudioParam","deleteInputsOfAudioNode","listener","deleteInputsOfAudioParam","deleteAnyConnection","audioNodeConnectionsOfSource","destinations","deleteConnectionAtOutput","deleteConnectionToDestination","createAudioNodeConstructor","addAudioNodeConnections","addConnectionToAudioNode","createIncrementCycleCounter","createInvalidAccessError","decrementCycleCounter","detectCycles","eventTargetConstructor","isNativeAudioContext","isNativeAudioParam","isPassive","createAudioParamFactory","addAudioParamConnections","audioParamAudioNodeStore","audioParamStore","createAudioParamRenderer","setValueAtTimeUntilPossible","isAudioParamOfOfflineAudioContext","maxValue","minValue","automationEventList","previousLastEvent","currentLastEvent","convertedValues","firstSample","lastSample","numberOfInterpolatedValues","interpolatedValues","timeOfLastSample","ReadOnlyMap","parameters","createAudioWorkletNodeConstructor","addUnrenderedAudioWorkletNode","createAudioWorkletNodeRenderer","createNativeAudioWorkletNode","getBackupOfflineAudioContext","sanitizeAudioWorkletNodeOptions","setActiveAudioWorkletNodeInputs","testAudioWorkletNodeOptionsClonability","processorConstructor","nativeAudioWorkletNode","audioWorkletNodeRenderer","nm","nativeOnProcessorError","copyFromChannel","channelNumber","bufferOffset","slicedInput","copyToChannel","createNestedArrays","x","y","arrays","getAudioWorkletProcessor","nodeToProcessorMap","processBuffer","renderedBuffer","outputChannelCount","numberOfInputChannels","numberOfOutputChannels","sum","processedBuffer","audioNodeConnections","audioWorkletProcessor","inputs","prmtrs","potentiallyEmptyInputs","activeSourceFlag","outputChannelSplitterNodeOutput","error","createAudioWorkletNodeRendererFactory","connectMultipleOutputs","createNativeChannelSplitterNode","deleteUnrenderedAudioWorkletNode","disconnectMultipleOutputs","renderNativeOfflineAudioContext","renderedNativeAudioNodes","processedBufferPromise","createAudioNode","nativeOutputNodes","nativeAudioWorkletNodeIsOwnedByContext","outputChannelSplitterNode","outputChannelMergerNodes","outputGainNode","numberOfParameters","partialOfflineAudioContext","gainNodes","inputChannelSplitterNodes","constantSourceNodes","inputChannelMergerNode","gainNode","audioBufferSourceNode","outputChannelMergerNode","renderedNativeAudioWorkletNodeOrGainNode","createBaseAudioContextConstructor","addAudioWorkletModule","analyserNodeConstructor","audioBufferConstructor","audioBufferSourceNodeConstructor","biquadFilterNodeConstructor","channelMergerNodeConstructor","channelSplitterNodeConstructor","constantSourceNodeConstructor","convolverNodeConstructor","decodeAudioData","delayNodeConstructor","dynamicsCompressorNodeConstructor","gainNodeConstructor","iIRFilterNodeConstructor","minimalBaseAudioContextConstructor","oscillatorNodeConstructor","pannerNodeConstructor","periodicWaveConstructor","stereoPannerNodeConstructor","waveShaperNodeConstructor","_nativeContext","numberOfInputs","numberOfOutputs","maxDelayTime","feedforward","feedback","real","imag","constraints","audioData","successCallback","errorCallback","createBiquadFilterNodeConstructor","createBiquadFilterNodeRenderer","createNativeBiquadFilterNode","setAudioNodeTailTime","nativeBiquadFilterNode","biquadFilterNodeRenderer","frequencyHz","magResponse","phaseResponse","createBiquadFilterNodeRendererFactory","renderedNativeBiquadFilterNodes","createBiquadFilterNode","nativeBiquadFilterNodeIsOwnedByContext","renderedNativeBiquadFilterNode","createCacheTestResult","ongoingTests","testResults","tester","test","cachedTestResult","ongoingTest","synchronousTestResult","finalTestResult","createChannelMergerNodeConstructor","createChannelMergerNodeRenderer","nativeChannelMergerNode","channelMergerNodeRenderer","createChannelMergerNodeRendererFactory","renderedNativeAudioNode","createChannelSplitterNodeConstructor","createChannelSplitterNodeRenderer","sanitizeChannelSplitterOptions","nativeChannelSplitterNode","channelSplitterNodeRenderer","createChannelSplitterNodeRendererFactory","createConnectAudioParam","renderInputsOfAudioParam","createConnectMultipleOutputs","outputAudioNodes","outputAudioNode","createConnectedNativeAudioBufferSourceNodeFactory","createConstantSourceNodeConstructor","createConstantSourceNodeRendererFactory","nativeConstantSourceNode","constantSourceNodeRenderer","renderedNativeConstantSourceNodes","createConstantSourceNode","nativeConstantSourceNodeIsOwnedByContext","renderedNativeConstantSourceNode","createConvertNumberToUnsignedLong","unit32Array","createConvolverNodeConstructor","createConvolverNodeRenderer","createNativeConvolverNode","nativeConvolverNode","convolverNodeRenderer","createConvolverNodeRendererFactory","renderedNativeConvolverNodes","createConvolverNode","renderedNativeConvolverNode","createCreateNativeOfflineAudioContext","createDataCloneError","detachArrayBuffer","arrayBuffer","port1","port2","closeAndResolve","createDecodeAudioData","createEncodingError","detachedArrayBuffers","isNativeContext","testPromiseSupport","anyContext","complete","fail","createDecrementCycleCounter","cycleCounters","cycleCounter","nativeDestinationAudioParam","createDelayNodeConstructor","createDelayNodeRenderer","createNativeDelayNode","nativeDelayNode","delayNodeRenderer","createDelayNodeRendererFactory","renderedNativeDelayNodes","createDelayNode","nativeDelayNodeIsOwnedByContext","renderedNativeDelayNode","createDeleteActiveInputConnectionToAudioNode","createDeleteUnrenderedAudioWorkletNode","isDelayNode","createDetectCycles","chain","nextLink","mergedCycles","nestedCycles","getOutputAudioNodeAtIndex","createDisconnectMultipleOutputs","createDynamicsCompressorNodeConstructor","createDynamicsCompressorNodeRenderer","createNativeDynamicsCompressorNode","nativeDynamicsCompressorNode","dynamicsCompressorNodeRenderer","previousChannelCount","createDynamicsCompressorNodeRendererFactory","renderedNativeDynamicsCompressorNodes","createDynamicsCompressorNode","nativeDynamicsCompressorNodeIsOwnedByContext","renderedNativeDynamicsCompressorNode","createEvaluateSource","head","script","originalOnErrorHandler","removeErrorEventListenerAndRevokeUrl","message","src","lineno","colno","createEventTargetConstructor","_nativeEventTarget","wrappedEventListener","createExposeCurrentFrameAndCurrentTime","currentTime","createFetchSource","response","createGainNodeConstructor","createGainNodeRenderer","gainNodeRenderer","createGainNodeRendererFactory","renderedNativeGainNodes","createGainNode","nativeGainNodeIsOwnedByContext","renderedNativeGainNode","createGetActiveAudioWorkletNodeInputs","activeAudioWorkletNodeInputsStore","createGetAudioNodeRenderer","createGetAudioNodeTailTime","audioNodeTailTimeStore","createGetAudioParamRenderer","createGetBackupOfflineAudioContext","backupOfflineAudioContextStore","createGetNativeContext","contextStore","createGetOrCreateBackupOfflineAudioContext","createGetUnrenderedAudioWorkletNodes","unrenderedAudioWorkletNodeStore","unrenderedAudioWorkletNodes","wrapIIRFilterNodeGetFrequencyResponseMethod","nativeIIRFilterNode","getFrequencyResponse","createIIRFilterNodeConstructor","createNativeIIRFilterNode","createIIRFilterNodeRenderer","iirFilterNodeRenderer","filterBuffer","feedbackLength","feedforwardLength","minLength","xBuffer","yBuffer","bufferIndex","bufferLength","inputLength","filterFullBuffer","convertedFeedback","convertedFeedforward","filteredBuffer","createIIRFilterNodeRendererFactory","filteredBufferPromise","nativeIIRFilterNodeIsOwnedByContext","createIncrementCycleCounterFactory","createIsAnyAudioContext","anything","createIsAnyAudioNode","audioNodeStore","createIsAnyAudioParam","createIsAnyOfflineAudioContext","createIsNativeAudioContext","createIsNativeAudioNode","createIsNativeAudioParam","createIsNativeContext","createIsNativeOfflineAudioContext","createIsSecureContext","createMediaElementAudioSourceNodeConstructor","createNativeMediaElementAudioSourceNode","nativeMediaElementAudioSourceNode","createMediaStreamAudioDestinationNodeConstructor","createNativeMediaStreamAudioDestinationNode","nativeMediaStreamAudioDestinationNode","createMediaStreamAudioSourceNodeConstructor","createNativeMediaStreamAudioSourceNode","nativeMediaStreamAudioSourceNode","createMediaStreamTrackAudioSourceNodeConstructor","createNativeMediaStreamTrackAudioSourceNode","nativeMediaStreamTrackAudioSourceNode","createMinimalBaseAudioContextConstructor","audioDestinationNodeConstructor","createAudioListener","nativeOnStateChange","uint32Array","createMonitorConnections","whenConnected","whenDisconnected","wasDisconnected","wasConnected","isDisconnected","assignNativeAudioNodeOption","option","assignNativeAudioNodeOptions","testAnalyserNodeGetFloatTimeDomainDataMethodSupport","wrapAnalyserNodeGetFloatTimeDomainDataMethod","byteTimeDomainData","createNativeAnalyserNodeFactory","createNativeAudioBufferConstructor","assignNativeAudioNodeAudioParamValue","wrapAudioBufferSourceNodeStartMethodConsecutiveCalls","isScheduled","wrapAudioScheduledSourceNodeStartMethodNegativeParameters","wrapAudioScheduledSourceNodeStopMethodNegativeParameters","createNativeAudioBufferSourceNodeFactory","addSilentConnection","testAudioBufferSourceNodeStartMethodConsecutiveCallsSupport","testAudioBufferSourceNodeStartMethodOffsetClampingSupport","testAudioBufferSourceNodeStopMethodNullifiedBufferSupport","testAudioScheduledSourceNodeStartMethodNegativeParametersSupport","testAudioScheduledSourceNodeStopMethodConsecutiveCallsSupport","testAudioScheduledSourceNodeStopMethodNegativeParametersSupport","wrapAudioBufferSourceNodeStartMethodOffsetClampling","wrapAudioBufferSourceNodeStopMethodNullifiedBuffer","wrapAudioScheduledSourceNodeStopMethodConsecutiveCalls","createNativeAudioContextConstructor","createNativeAudioDestinationNodeFactory","isNodeOfNativeOfflineAudioContext","createNativeAudioWorkletNodeConstructor","testClonabilityOfAudioWorkletNodeOptions","audioWorkletNodeOptions","createNativeAudioWorkletNodeFactory","createNativeAudioWorkletNodeFaker","monitorConnections","baseLatency","patchedEventListeners","onprocessorerror","unpatchedEventListener","patchedEventListener","computeBufferSize","cloneAudioWorkletNodeOptions","createAudioWorkletProcessorPromise","clonedAudioWorkletNodeOptions","createAudioWorkletProcessor","audioWorkletProcessorPromise","createNativeAudioWorkletNodeFakerFactory","getActiveAudioWorkletNodeInputs","messageChannel","bufferSize","parameterMap","channelInterpretation","nativeAudioWorkletNodeFaker","onmessage","dWrkltPrcssr","disconnectOutputsGraph","activeInputIndexes","outputBuffer","isConnected","disconnectFakeGraph","connectFakeGraph","createNativeChannelMergerNodeFactory","wrapChannelMergerNode","wrapChannelSplitterNode","channelSplitterNode","createNativeConstantSourceNodeFactory","createNativeConstantSourceNodeFaker","interceptConnections","original","interceptor","createNativeConstantSourceNodeFakerFactory","audioNodeOptions","nativeConstantSourceNodeFaker","createNativeConvolverNodeFactory","createNativeDynamicsCompressorNodeFactory","createNativeIIRFilterNodeFactory","createNativeIIRFilterNodeFaker","divide","denominator","multiply","evaluatePolynomial","coefficient","z","createNativeIIRFilterNodeFakerFactory","channelCountMode","bufferIndexes","xBuffers","yBuffers","nyquist","omega","numerator","audioStreamTracks","filteredAudioStreamTracks","createNativeMediaStreamTrackAudioSourceNodeFactory","createNativeOfflineAudioContextConstructor","createNativeOscillatorNodeFactory","nativeOscillatorNode","createNativePannerNodeFactory","createNativePannerNodeFaker","nativePannerNode","createNativePannerNodeFakerFactory","createNativeWaveShaperNode","coneInnerAngle","coneOuterAngle","coneOuterGain","distanceModel","maxDistance","orientationX","orientationY","orientationZ","panningModel","refDistance","rolloffFactor","pannerNode","SINGLE_CHANNEL_OPTIONS","inputGainNode","orientationXGainNode","orientationYGainNode","orientationZGainNode","positionXGainNode","positionYGainNode","positionZGainNode","waveShaperNode","nativePannerNodeFaker","createNativePeriodicWaveFactory","disableNormalization","convertedImag","convertedReal","nativePeriodicWave","createNativeStereoPannerNodeFactory","createNativeStereoPannerNodeFaker","nativeStereoPannerNode","createNativeStereoPannerNodeFakerFactory","DC_CURVE","HALF_PI","SINGLE_CHANNEL_WAVE_SHAPER_OPTIONS","buildInternalGraphForMono","panGainNode","leftWaveShaperCurve","rightWaveShaperCurve","leftGainNode","leftWaveShaperNode","panWaveShaperNode","rightGainNode","rightWaveShaperNode","buildInternalGraphForStereo","leftInputForLeftOutputWaveShaperCurve","leftInputForRightOutputWaveShaperCurve","rightInputForLeftOutputWaveShaperCurve","rightInputForRightOutputWaveShaperCurve","centerIndex","leftInputForLeftOutputGainNode","leftInputForLeftOutputWaveShaperNode","leftInputForRightOutputGainNode","leftInputForRightOutputWaveShaperNode","rightInputForLeftOutputGainNode","rightInputForLeftOutputWaveShaperNode","rightInputForRightOutputGainNode","rightInputForRightOutputWaveShaperNode","buildInternalGraph","pan","connectGraph","disconnectGraph","nativeStereoPannerNodeFakerFactory","createNativeWaveShaperNodeFactory","createConnectedNativeAudioBufferSourceNode","createNativeWaveShaperNodeFaker","isDCCurve","nativeWaveShaperNode","curve","disconnectNativeAudioBufferSourceNode","createNativeWaveShaperNodeFakerFactory","oversample","negativeWaveShaperNode","positiveWaveShaperNode","invertGainNode","revertGainNode","unmodifiedCurve","nativeWaveShaperNodeFaker","curveLength","negativeCurve","positiveCurve","createOfflineAudioContextConstructor","createNativeOfflineAudioContext","startRendering","delayStateChangeEvent","createOscillatorNodeConstructor","createNativeOscillatorNode","createOscillatorNodeRenderer","oscillatorNodeRenderer","periodicWave","createOscillatorNodeRendererFactory","renderedNativeOscillatorNodes","createOscillatorNode","nativeOscillatorNodeIsOwnedByContext","renderedNativeOscillatorNode","createPannerNodeConstructor","createNativePannerNode","createPannerNodeRenderer","pannerNodeRenderer","createPannerNodeRendererFactory","renderedBufferPromise","commonAudioNodeOptions","commonNativePannerNodeOptions","nativePannerNodeIsOwnedByContext","nativeConstantSourceNodes","channelDatas","gateGainNode","partialPannerNode","renderedNativeGainNodeOrNativePannerNode","createPeriodicWaveConstructor","createNativePeriodicWave","periodicWaveStore","sanitizePeriodicWaveOptions","PeriodicWave","createRenderAutomation","getAudioParamRenderer","createRenderInputsOfAudioNode","getAudioNodeRenderer","allRenderingPromises","renderingPromises","createRenderInputsOfAudioParam","createRenderNativeOfflineAudioContext","testOfflineAudioContextCurrentTimeSupport","isOfflineAudioContextCurrentTimeSupported","createSetActiveAudioWorkletNodeInputs","createSetAudioNodeTailTime","createStartRendering","createStereoPannerNodeConstructor","createNativeStereoPannerNode","createStereoPannerNodeRenderer","stereoPannerNodeRenderer","createStereoPannerNodeRendererFactory","renderedNativeStereoPannerNodes","createStereoPannerNode","nativeStereoPannerNodeIsOwnedByContext","renderedNativeStereoPannerNode","createTestAudioBufferConstructorSupport","createTestAudioWorkletProcessorPostMessageSupport","offlineAudioContext","isEmittingMessageEvents","isEmittingProcessorErrorEvents","oscillator","createTestOfflineAudioContextCurrentTimeSupport","createWaveShaperNodeConstructor","createWaveShaperNodeRenderer","waveShaperNodeRenderer","createWaveShaperNodeRendererFactory","renderedNativeWaveShaperNodes","createWaveShaperNode","renderedNativeWaveShaperNode","createWindow","createWrapAudioBufferCopyChannelMethods","convertNumberToUnsignedLong","channelNumberAsNumber","bufferOffsetAsNumber","audioBufferLength","destinationLength","sourceLength","createWrapAudioBufferCopyChannelMethodsOutOfBounds","createWrapAudioBufferSourceNodeStopMethodNullifiedBuffer","nullifiedBuffer","createWrapChannelMergerNode","property","createGetter","createSetter","prototype","wrapAudioBufferSourceNodeStartMethodOffsetClamping","clampedOffset","disconnectGainNode","isStopped","createConstantSourceNodeRenderer","isSecureContext","audioContextConstructor","audioWorkletNodeConstructor","offlineAudioContextConstructor","isAnyAudioContext","isAnyAudioNode","isAnyAudioParam","isAnyOfflineAudioContext","isUndef","isDefined","isNumber","isNote","assert","statement","assertRange","gte","lte","assertContextRunning","warn","isInsideScheduledCallback","printedScheduledWarning","enterScheduledCallback","insideCallback","assertUsedScheduleTime","defaultLogger","log","createAudioContext","stdAudioContext","createOfflineAudioContext","channels","stdOfflineAudioContext","theWindow","hasAudioContext","createAudioWorkletNode","stdAudioWorkletNode","__decorate","decorators","desc","__awaiter","_arguments","P","generator","adopt","fulfilled","step","rejected","Ticker","updateInterval","contextSampleRate","blobUrl","worker","interval","isAudioParam","isOfflineAudioContext","isAudioContext","isAudioBuffer","noCopy","deepMerge","sources","deepEquals","arrayA","arrayB","optionsFromArguments","defaults","argsArray","objKey","opts","getDefaultsFromInstance","defaultArg","given","omitFromObject","omit","Tone","EPSILON","GT","GTE","EQ","LT","clamp","min","Timeline","lastValue","param","after","beginning","midPoint","nextEvent","testEvent","lowerBound","upperBound","notifyNewContext","onContextInit","initializeContext","notifyCloseContext","onContextClose","closeContext","Emitter","eventName","boundCallback","eventList","constr","BaseContext","Context","_b","feedForward","stream","t","constant","now","firstEvent","intervalFn","DummyContext","_numberOfChannels","_length","_sampleRate","_numberOfInputs","_numberOfOutputs","_maxDelayTime","_feedForward","_feedback","_real","_imag","_constraints","_stream","_element","_audioData","_name","_options","_url","_fn","_timeout","_interval","_val","_d","readOnly","writable","noOp","ToneAudioBuffer","getContext","doneLoading","isMultidimensional","multiChannelArray","chanNum","outputArray","numChannels","channelArray","startSamples","endSamples","retBuffer","rev","extensions","extension","ext","baseUrl","location","OfflineContext","asynchronous","yieldEvery","dummyContext","globalContext","setContext","disposeOld","printString","dbToGain","db","gainToDb","gain","intervalToFrequencyRatio","A4","getA4","setA4","freq","ftom","frequency","ftomf","mtof","midi","TimeBaseClass","units","dot","numericValue","scalar","q","total","typeName","quantity","expr","matching","beats","seconds","ticks","TimeClass","capture","quantTo","subdiv","percent","subdivision","testNotations","power","closest","closestSeconds","notation","notationSeconds","quarterTime","quarters","measures","sixteenths","sixteenthString","FrequencyClass","pitch","octave","noteNumber","noteToScaleIndex","intervals","scaleIndexToNote","Frequency","TransportTimeClass","ToneWithContext","attribute","member","StateTimeline","initial","Param","computedTime","previous","previousVal","beforeValue","currentVal","rampTime","scaling","startingValue","segTime","valueAtTime","previousEvent","subdivisions","t0","v0","v1","t1","ToneAudioNode","nodeList","outputNum","inputNum","nodes","connectSeries","first","srcNode","dstNode","outputNumber","inputNumber","Gain","OneShotSource","fadeInTime","fadeOutTime","additionalTail","disposeCallback","ToneConstantSource","Signal","connectSignal","convert","overridden","signal","TickParam","computedValue","prevEvent","rampVal","ticksUntilTime","computedVal","segmentDur","val0","val1","onTheLineEvent","currentTick","tick","delta","sol1","sol2","computedDuration","startTicks","TickSignal","TickSource","stopEvent","memoizedEvent","tmpEvent","lastState","elapsedTicks","eventToMemoize","periodStartTime","offsetEvent","elapsedSeconds","absoluteTicks","lastStateEvent","maxStartTime","ticksAtStart","nextTickTime","Clock","Delay","maxDelayInSeconds","ToneAudioBuffers","onerror","MidiClass","Midi","TicksClass","Draw","IntervalTimeline","IntervalNode","results","replacement","balance","temp","isLeftChild","pivotNode","allNodes","low","high","point","Volume","mute","Destination","TimelineValue","SignalOperator","WaveShaper","mapping","oversampling","isOverSampleType","Pow","exponent","TransportEvent","transport","tickDuration","TransportRepeatEvent","Transport","tickTime","progress","amount","eventId","timeline","computedAfter","offsetTicks","timeSig","startPosition","endPosition","loop","remainingTick","ppq","transportPos","remainingTicks","ratio","sourceValue","scaleFactor","scaleBefore","reciprocal","scaleAfter","ratioSignal","syncedSignal","Source","sched","stateEvent","startOffset","ToneBufferSource","computedOffset","loopEnd","loopStart","loopDuration","computedDur","Noise","_noiseBuffers","rate","BUFFER_LENGTH","NUM_CHANNELS","_noiseCache","channelNum","lastOut","white","b0","b1","b2","b3","b4","b5","b6","generateWaveform","ToneOscillatorNode","Oscillator","description","oscProps","isBasicType","partials","wave","baseType","partial","fullPartials","phase","periodicWaveSize","partialCount","piFactor","twoPi","testPositions","AudioToGain","Multiply","AMOscillator","FMOscillator","PulseOscillator","FatOscillator","osc","iterator","spread","PWMOscillator","OmniOscillatorSourceMap","OmniOscillator","prefix","oscType","OscConstructor","oldOsc","sType","sourceType","mType","Add","Scale","Zero","LFO","currentMin","currentMax","range","valueMap","propertyKey","timeRange","Player","origDuration","GainToAudio","Envelope","direction","curveName","EnvelopeCurves","curveDef","velocity","attack","decay","currentValue","attackRate","decayValue","decayStart","release","attackPortion","envelopeDuration","sustainTime","totalDuration","cosineCurve","rippleCurve","rippleCurveFreq","sineWave","stairsCurve","steps","sineCurve","bounceCurve","invertCurve","out","reverseCurve","Instrument","changed","timePosition","originalMethod","note","Monophonic","computedFrequency","portTime","AmplitudeEnvelope","Synth","computedAttack","computedDecay","BiquadFilter","freqValues","magValues","phaseValues","filterClone","Filter","rolloff","rolloffNum","possibilities","cascadingCount","totalResponse","FrequencyEnvelope","octaves","MonoSynth","MembraneSynth","hertz","maxNote","workletContext","addToWorklet","classOrFunction","registerProcessor","classDesc","processor","toneAudioWorkletProcessor","singleIOProcess","delayLine","workletName","feedbackCombFilter","PolySynth","voice","activeVoiceIndex","firstAvail","notes","midiNote","released","durationSeconds","sanitizedOptions","Sampler","urlMap","mid","midiFloat","remainder","difference","closestNote","playbackRate","CrossFade","Effect","LFOEffect","Panner","AutoPanner","bitCrusherWorklet","Merge","FeedbackEffect","FeedbackDelay","Reverb","previousReady","noiseL","noiseR","merge","renderPromise","Solo","solo","PanVol","Channel","volume","bus","sendKnob","Listener","Compressor","EventEmitter","eventsSuspended","listeners","params","Enumerations","Note","wm","Utilities","fragments","octaveOffset","semitoneOffset","identifier","accidental","ch","parsed","msb","lsb","multiplied","cm","OutputChannel","pressure","controller","parameter","valid","noteOffOptions","nVelocity","command","coarse","fine","semitones","cents","nrpn","program","rpn","Output","midiOutput","legacy","Message","identification","Forwarder","InputChannel","data1","data2","numberedEvent","namedEvent","paramMsb","paramLsb","subtype","legacyEvent","Input","midiInput","forwarder","WebMidi","errorEvent","midiAccessGrantedEvent","enabledEvent","promises","portsChangedEvent","nInput","nOutput","tryOnScopeDispose","toValue","isClient","toString","noop","isIOS","getIsIOS","createFilterWrapper","bypassFilter","invoke","pausableFilter","extendFilter","pause","resume","eventFilter","toRef$1","watchWithFilter","watchPausable","tryOnMounted","sync","unrefElement","elRef","plain","defaultWindow","defaultDocument","useEventListener","events","cleanups","options2","stopWatch","optionsClone","_iOSWorkaround","onClickOutside","ignore","detectIframe","shouldListen","shouldIgnore","target2","createKeyPredicate","keyFilter","onKeyStroke","passive","dedupe","onKeyDown","useMounted","useSupported","useRafFn","fpsLimit","intervalLimit","previousFrameTimestamp","rafId","timestamp","useMediaQuery","query","isSupported","mediaQuery","_global","globalKey","handlers","getHandlers","getSSRHandler","guessSerializerType","rawInit","StorageSerializers","customStorageEventName","useStorage","storage","listenToStorageChanges","writeDefaults","mergeDefaults","onError","_a2","serializer","pauseWatch","resumeWatch","pausableWatch","write","updateFromCustomEvent","serialized","read","usePreferredDark","useColorMode","storageKey","storageRef","emitAuto","disableTransition","modes","preferredDark","system","store","updateHTMLAttrs","selector2","attribute2","styleString","defaultOnChanged","onChanged","auto","useDark","valueDark","valueLight","mode2","defaultHandler","modeVal","useResizeObserver","observerOptions","observer","targets","els","_el","useElementBounding","reset","windowResize","windowScroll","height","bottom","left","right","top","width","rect","ele","eventHandlers","useFullscreen","document","autoExit","targetRef","isFullscreen","requestMethod","exitMethod","fullscreenEnabled","fullscreenElementMethod","isCurrentElementFullScreen","isElementFullScreen","exit","enter","toggle","handlerCallback","isElementFullScreenValue","noteKeys","useKeyboard","playMidi","off","title","ev","noteInOn","_c","dur","useMidi","setupMidi","outs","midiAttack","midiRelease","midiOnce","setCC","initMidi","cc","ccIn","createChannel","setVelocity","midiPlay","midiStop","forwardMidi","iid","oid","useClamp","_value","value2","synth","synthOptions","useSynth","synthReleaseAll","bpm","synthAttack","synthRelease","play","init","synthOnce","started","bpms","types","pitchColor","alpha","getCircleCoord","radius","angle","block0","__props","color","panel","isDark","full","supported","cycleOctaves","oct","F2","G2","fastFloor","grad2","createNoise2D","random","perm","buildPermutationTable","permGrad2x","permGrad2y","n0","X0","Y0","x0","y0","i1","j1","x1","y1","x2","y2","ii","jj","gi0","g0x","g0y","gi1","g1x","g1y","t2","gi2","g2x","g2y","aux","__classPrivateFieldSet","this","privateMap","__classPrivateFieldGet","_block","_blocks","_bytes","_finalized","_first","_h0","_h1","_h2","_h3","_h4","_h5","_h6","_h7","_hashed","_hBytes","_is224","_lastByteIndex","_start","BKDRHash","seed","seed2","hash","MAX_SAFE_INTEGER","HEX_CHARS","EXTRA","SHIFT","K","blocks","Sha256","is224","sharedMemory","msg","code","f","g","s0","maj","ab","cd","bc","h0","h1","h3","h4","h5","h6","h7","hex","dataView","Sha256ToInt","sha256","RGB2HEX","RGBArray","HSL2RGB","H","S","L","ColorHash","hueResolution","hsl","rgb","__pages_import_0__","__vitePreload","stats","__pages_import_1__","spiral","__pages_import_2__","rose","__pages_import_3__","level","__pages_import_4__","__pages_import_5__","donut","__pages_import_6__","cross","routes","visual","activeScene","useScene","isBrowser","isESModule","applyToParams","newParams","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","searchString","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","position","toPosition","segment","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","search","slicePos","pathFromHash","useHistoryListeners","historyState","replace","teardowns","pauseState","popStateHandler","fromState","pauseListeners","listen","teardown","beforeUnloadListener","history","destroy","buildState","back","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","push","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","route","isRouteName","START_LOCATION_NORMALIZED","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","score","segmentScores","tokenIndex","token","subSegmentScore","repeatable","optional","regexp","re","subPattern","parse","stringify","avoidDuplicatedSlash","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","parser","matcher","createRouterMatcher","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","insertMatcher","matcherRef","getRoutes","isRecordChildOf","paramsFromLocation","matched","parentMatcher","mergeMetaFields","normalizeRecordProps","propsObject","meta","partialOptions","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","searchParams","searchParam","eqPos","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","enterCallbackArray","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","link","elClass","getLinkClass","RouterLink","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","injectedRoute","routeToDisplay","injectedDepth","depth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","routePropsOption","routeProps","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","href","matcherLocation","targetParams","fullPath","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","runWithContext","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","readyHandlers","errorListeners","ready","isReady","scrollBehavior","reactiveRoute","unmountApp","recordFrom","recordTo","useRouter","useRoute","noise2D","getColor","color1","color2","hits","randomScene","rnd","scs","scenes","getBasePlacement","placement","getAlignment","getMainAxisFromPlacement","getLengthFromAxis","axis","computeCoordsFromPlacement","_ref","reference","floating","commonX","commonY","coords","mainAxis","computePosition","config","strategy","middleware","platform","rects","statefulPlacement","middlewareData","nextX","nextY","expandPaddingObject","padding","getSideObjectFromPadding","rectToClientRect","detectOverflow","middlewareArguments","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","elementClientRect","within","min$1","max$1","arrow","basePlacement","arrowDimensions","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","hash$1","getOppositePlacement","getAlignmentSides","isStart","mainAlignmentSide","getOppositeAlignmentPlacement","basePlacements","allPlacements","acc","getPlacementList","alignment","autoAlignment","allowedPlacements","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_middlewareData$autoP3","_middlewareData$autoP4","_middlewareData$autoP5","_placementsSortedByLe","detectOverflowOptions","placements","overflow","currentPlacement","main","currentOverflows","allOverflows","nextPlacement","placementsSortedByLeastOverflow","placementThatFitsOnAllSides","overflows","getExpandedPlacements","oppositePlacement","flip","_middlewareData$flip","_middlewareData$flip2","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","flipAlignment","fallbackPlacements","overflowsData","side","_middlewareData$flip$","_middlewareData$flip3","resetPlacement","_overflowsData$slice$","convertValueToCoords","multiplier","crossAxis","diffCoords","getCrossAxis","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","_middlewareData$size","apply","isEnd","heightSide","widthSide","xMin","xMax","yMin","yMax","dimensions","isWindow","getWindow","ownerDocument","getComputedStyle$1","getNodeName","isHTMLElement","isElement","isNode","isShadowRoot","OwnElement","isScrollParent","overflowX","overflowY","isTableElement","isContainingBlock","isFirefox","css","round","getBoundingClientRect","includeScale","clientRect","scaleX","scaleY","getDocumentElement","getNodeScroll","getWindowScrollBarX","isScaled","getRectRelativeToOffsetParent","offsetParent","isOffsetParentAnElement","documentElement","offsets","offsetRect","getParentNode","getTrueOffsetParent","getContainingBlock","currentNode","getOffsetParent","getDimensions","convertOffsetParentRelativeRectToViewportRelativeRect","getViewportRect","win","html","visualViewport","getDocumentRect","_element$ownerDocumen","body","getScrollParent","getScrollParents","_node$ownerDocument","scrollParent","isBody","updatedList","contains","rootNode","getInnerBoundingClientRect","getClientRectFromClippingParent","clippingParent","getClippingParents","clippingParents","clipperElement","getClippingClientRect","firstClippingParent","clippingRect","accRect","_ref2","_ref3","_ref4","_ref5","computePosition$1","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","getDefaultConfig","theme","themeConfig","getThemeClasses","supportsPassive","SHOW_EVENT_MAP","HIDE_EVENT_MAP","removeFromArray","shownPoppers","hidingPopper","Element","defaultPropFactory","PrivatePopper","skipDelay","isPlacementAuto","centerOffset","delay","skipTransition","bounds","popperWrapper","parentBounds","showGroup","popover","disposeTime","addListeners2","targetNodes","eventType","addEvents","eventMap","commonTriggers","customTrigger","triggers","handleShow","handleHide","touch","attrFrom","attrTo","handleGlobalMousedown","handleGlobalTouchend","handleGlobalClick","computePositionAllShownPoppers","popper","popperContent","handleGlobalClose","getInternetExplorerVersion","ua","msie","trident","rv","edge","isIE","initCompat","_withId","_hoisted_1$2","_ctx","_cache","$props","$setup","$data","$options","PrivateThemeClass","_export_sfc","sfc","_sfc_main$5","_hoisted_1$1","_hoisted_2$1","_hoisted_3","createElementVNode","_hoisted_4","_hoisted_5","_sfc_render$2","_component_ResizeObserver","$event","PrivatePopperContent","PrivatePopperMethods","_sfc_main$4","_sfc_render$1","_component_PopperContent","_component_Popper","popperId","isShown","shouldMountContent","autoHide","show","hide","handleResize","onResize","classes","PrivatePopperWrapper","_sfc_main$3","_sfc_main$2","_sfc_main$1","_sfc_main","fetchId","_hoisted_1","_hoisted_2","_sfc_render","PrivateTooltipDirective","TARGET_CLASS","getPlacement","pos","getOptions","directiveApp","ensureDirectiveApp","mountTarget","createTooltip","shown","destroyTooltip","bind","PrivateVTooltip","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","firstTouch","PrivateVClosePopper","install","savedPosition","App","FloatingVue","lines","active","useActor","actor","actors","arc","getPolar","polarToCartesian","pill","centerX","centerY","angleInDegrees","angleInRadians","totalDur","parts","part"],"sources":["../../node_modules/.pnpm/@vue+shared@3.3.7/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../node_modules/.pnpm/@vue+reactivity@3.3.7/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-core@3.3.7/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-dom@3.3.7/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../../../../../../../pc-keyboard.svg","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/version.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-extended-exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-extended-linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-value-curve-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-target-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/any-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-value-curve-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-value-of-automation-event-at-index-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-end-time-and-value-of-previous-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/cancel-and-hold-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/cancel-scheduled-values-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-event-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-exponential-ramp-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-linear-ramp-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/interpolate-value.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/get-value-curve-value-at-time.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/guards/set-target-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/classes/automation-event-list.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-cancel-and-hold-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-cancel-scheduled-values-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-exponential-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-linear-ramp-to-value-automation-event.js","../../node_modules/.pnpm/automation-events@4.0.20/node_modules/automation-events/build/es2019/functions/create-set-target-automation-event.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/abort-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-active-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-node-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-param-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/globals.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-constructible.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/split-import-statements.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-audio-worklet-module.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-value-for-key.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/pick-element-from-set.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-passive-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-event-listeners-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-active.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-passive.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-internal-state-to-passive-when-necessary.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-passive-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-silent-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/add-unrendered-audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/analyser-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-owned-by-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/analyser-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-copy-channel-methods-out-of-bounds-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/index-size-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-get-channel-data-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/constants.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-active-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-buffer-source-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-buffer-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/biquad-filter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/constant-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/gain-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/oscillator-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/stereo-panner-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-node-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-param-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/deactivate-active-audio-node-input-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/deactivate-audio-graph.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-valid-latency-hint.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-destination-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-destination-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-listener-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/audio-node-output-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/insert-element-in-set.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/add-active-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/add-passive-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/native-audio-node-faker.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/connect-native-audio-node-to-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-active-input-connection.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-active-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-event-listeners-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/delete-passive-input-connection-to-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/disconnect-native-audio-node-from-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-native-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-part-of-a-cycle.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-passive-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-node-disconnect-method-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/visit-each-audio-node-once.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-node-disconnect-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-param-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-param-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/read-only-map.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-worklet-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/copy-from-channel.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/copy-to-channel.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-nested-arrays.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-audio-worklet-processor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/audio-worklet-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/base-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/biquad-filter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/biquad-filter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/cache-test-result.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-merger-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-merger-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-splitter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/channel-splitter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connect-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connect-multiple-outputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/connected-native-audio-buffer-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/constant-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/constant-source-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convert-number-to-unsigned-long.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convolver-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/convolver-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/create-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/data-clone-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/detach-array-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/decode-audio-data.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/decrement-cycle-counter.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delay-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delay-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delete-active-input-connection-to-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/delete-unrendered-audio-worklet-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/guards/delay-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/detect-cycles.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/disconnect-multiple-outputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/dynamics-compressor-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/dynamics-compressor-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/encoding-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/evaluate-source.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/event-target-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/expose-current-frame-and-current-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/fetch-source.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/gain-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/gain-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-active-audio-worklet-node-inputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-node-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-node-tail-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-audio-param-renderer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-backup-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/invalid-state-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-native-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-or-create-backup-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/get-unrendered-audio-worklet-nodes.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/invalid-access-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-iir-filter-node-get-frequency-response-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/iir-filter-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/filter-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/iir-filter-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/increment-cycle-counter-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-any-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/is-secure-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-element-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-audio-destination-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/media-stream-track-audio-source-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/minimal-base-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-promise-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/monitor-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-option.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-analyser-node-get-float-time-domain-data-method-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-analyser-node-get-float-time-domain-data-method.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-analyser-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-buffer-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/assign-native-audio-node-audio-param-value.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-source-node-start-method-consecutive-calls.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-start-method-negative-parameters.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-stop-method-negative-parameters.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-buffer-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-destination-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-clonability-of-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/compute-buffer-size.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/clone-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-audio-worklet-processor-promise.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/create-audio-worklet-processor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-audio-worklet-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-biquad-filter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-channel-merger-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-channel-splitter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-channel-splitter-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-constant-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/intercept-connections.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-constant-source-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-convolver-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-delay-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-dynamics-compressor-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-gain-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-iir-filter-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-iir-filter-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-element-audio-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-audio-destination-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-audio-source-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-media-stream-track-audio-source-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-offline-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-oscillator-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-panner-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-panner-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-periodic-wave-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-script-processor-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-stereo-panner-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-stereo-panner-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-wave-shaper-node-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/native-wave-shaper-node-faker-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/not-supported-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/offline-audio-context-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/oscillator-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/oscillator-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/panner-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/panner-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/periodic-wave-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-automation.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-inputs-of-audio-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-inputs-of-audio-param.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/render-native-offline-audio-context.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/set-active-audio-worklet-node-inputs.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/set-audio-node-tail-time.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/start-rendering.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/stereo-panner-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/stereo-panner-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-audio-buffer-constructor-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-audio-worklet-processor-post-message-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/test-offline-audio-context-current-time-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/unknown-error.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wave-shaper-node-constructor.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wave-shaper-node-renderer-factory.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/window.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-copy-channel-methods.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-copy-channel-methods-out-of-bounds.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-audio-buffer-source-node-stop-method-nullified-buffer.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/factories/wrap-channel-merger-node.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/get-first-sample.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/is-dc-curve.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/overwrite-accessors.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-audio-worklet-node-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-channel-splitter-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/sanitize-periodic-wave-options.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/set-value-at-time-until-possible.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-start-method-consecutive-calls-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-start-method-offset-clamping-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-buffer-source-node-stop-method-nullified-buffer-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-start-method-negative-parameters-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-stop-method-consecutive-calls-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-scheduled-source-node-stop-method-negative-parameters-support.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/test-audio-worklet-node-options-clonability.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-buffer-source-node-start-method-offset-clamping.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-audio-scheduled-source-node-stop-method-consecutive-calls.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/helpers/wrap-event-listener.js","../../node_modules/.pnpm/standardized-audio-context@25.3.29/node_modules/standardized-audio-context/build/es2019/module.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/TypeCheck.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Debug.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/AudioContext.js","../../node_modules/.pnpm/tslib@2.4.0/node_modules/tslib/tslib.es6.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Ticker.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/AdvancedTypeCheck.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Defaults.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/Tone.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Math.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Timeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ContextInitialization.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Emitter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/BaseContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Context.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/DummyContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Interface.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioBuffer.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/OfflineContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/Global.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Conversions.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/TimeBase.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Time.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Frequency.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/TransportTime.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneWithContext.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/StateTimeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Param.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioNode.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Gain.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/OneShotSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/ToneConstantSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Signal.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickParam.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickSignal.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TickSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Clock.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Delay.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/ToneAudioBuffers.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Midi.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/type/Ticks.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Draw.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/IntervalTimeline.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Volume.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Destination.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/TimelineValue.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/SignalOperator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/WaveShaper.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Pow.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TransportEvent.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/TransportRepeatEvent.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/clock/Transport.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/Source.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/buffer/ToneBufferSource.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/Noise.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/OscillatorInterface.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/ToneOscillatorNode.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/Oscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/AudioToGain.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Multiply.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/AMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/FMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/PulseOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/FatOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/PWMOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/OmniOscillator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Add.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Scale.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/Zero.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/oscillator/LFO.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/util/Decorator.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/source/buffer/Player.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/signal/GainToAudio.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/Envelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Instrument.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Monophonic.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/AmplitudeEnvelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Synth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/BiquadFilter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/Filter.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/envelope/FrequencyEnvelope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/MonoSynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/MembraneSynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/WorkletGlobalScope.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/ToneAudioWorkletProcessor.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/SingleIOProcessor.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/worklet/DelayLine.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/filter/FeedbackCombFilter.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/PolySynth.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/instrument/Sampler.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/CrossFade.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/Effect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/LFOEffect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Panner.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/AutoPanner.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/BitCrusher.worklet.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Merge.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/FeedbackEffect.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/FeedbackDelay.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/effect/Reverb.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Solo.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/PanVol.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/channel/Channel.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/core/context/Listener.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/component/dynamics/Compressor.js","../../node_modules/.pnpm/tone@14.8.49/node_modules/tone/build/esm/index.js","../../node_modules/.pnpm/webmidi@3.1.6/node_modules/webmidi/dist/esm/webmidi.esm.js","../../node_modules/.pnpm/@vueuse+shared@10.5.0_vue@3.3.7/node_modules/@vueuse/shared/index.mjs","../../node_modules/.pnpm/@vueuse+core@10.5.0_vue@3.3.7/node_modules/@vueuse/core/index.mjs","../../src/use/midi.js","../../node_modules/.pnpm/@vueuse+math@10.5.0_vue@3.3.7/node_modules/@vueuse/math/index.mjs","../../src/use/synth.js","../../src/components/state/start.vue","../../src/components/state/bpm.vue","../../src/components/state/oscillator.vue","../../src/use/chromatone.js","../../../../../../../../../@vite-plugin-pages/route-block","../../src/components/midi/log.vue","../../src/components/midi/input.vue","../../src/components/midi/panel.vue","../../src/components/midi/state.vue","../../src/use/state.js","../../src/components/state/fullscreen.vue","../../src/components/state/overlay.vue","../../node_modules/.pnpm/simplex-noise@4.0.1/node_modules/simplex-noise/dist/esm/simplex-noise.js","../../node_modules/.pnpm/color-hash@2.0.2/node_modules/color-hash/dist/esm.js","../../../../../../../../../@vite-plugin-pages/generated-pages?id=~pages","../../src/use/scene.js","../../node_modules/.pnpm/vue-router@4.2.5_vue@3.3.7/node_modules/vue-router/dist/vue-router.mjs","../../src/app.vue","../../node_modules/.pnpm/@floating-ui+core@0.3.1/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../../node_modules/.pnpm/@floating-ui+dom@0.1.10/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","../../node_modules/.pnpm/floating-vue@2.0.0-y.0_vue@3.3.7/node_modules/floating-vue/dist/floating-vue.es.js","../../src/main.js","../../src/scenes/stats.vue","../../src/scenes/spiral.vue","../../src/scenes/rose.vue","../../src/scenes/level.vue","../../src/scenes/index.vue","../../src/components/scene/ring.vue","../../src/scenes/donut.vue","../../src/scenes/cross.vue"],"sourcesContent":["function makeMap(str, expectsLowerCase) {\n const map = /* @__PURE__ */ Object.create(null);\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst onRE = /^on[^a-z]/;\nconst isOn = (key) => onRE.test(key);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `HYDRATE_EVENTS`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {\n entries[`${key} =>`] = val2;\n return entries;\n }, {})\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()]\n };\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","import { extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit;\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n } else {\n deps[ptr++] = dep;\n }\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = void 0;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n } else {\n cleanupEffect(this);\n }\n return this.fn();\n } finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = void 0;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n if (activeEffect === this) {\n this.deferStop = true;\n } else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect2) {\n const { deps } = effect2;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect2);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep());\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { effect: activeEffect, target, type, key } : void 0;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack2 = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit;\n shouldTrack2 = !wasTracked(dep);\n }\n } else {\n shouldTrack2 = !dep.has(activeEffect);\n }\n if (shouldTrack2) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (!!(process.env.NODE_ENV !== \"production\") && activeEffect.onTrack) {\n activeEffect.onTrack(\n extend(\n {\n effect: activeEffect\n },\n debuggerEventExtraInfo\n )\n );\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = !!(process.env.NODE_ENV !== \"production\") ? { target, type, key, newValue, oldValue, oldTarget } : void 0;\n if (deps.length === 1) {\n if (deps[0]) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(deps[0], eventInfo);\n } else {\n triggerEffects(deps[0]);\n }\n }\n } else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(createDep(effects), eventInfo);\n } else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect2 of effects) {\n if (effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n for (const effect2 of effects) {\n if (!effect2.computed) {\n triggerEffect(effect2, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect2, debuggerEventExtraInfo) {\n if (effect2 !== activeEffect || effect2.allowRecurse) {\n if (!!(process.env.NODE_ENV !== \"production\") && effect2.onTrigger) {\n effect2.onTrigger(extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n if (effect2.scheduler) {\n effect2.scheduler();\n } else {\n effect2.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _shallow = false) {\n this._isReadonly = _isReadonly;\n this._shallow = _shallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, shallow = this._shallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return shallow;\n } else if (key === \"__v_raw\" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(shallow = false) {\n super(false, shallow);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!this._shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(shallow = false) {\n super(true, shallow);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\", true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref2) {\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n trackEffects(ref2.dep || (ref2.dep = createDep()), {\n target: ref2,\n type: \"get\",\n key: \"value\"\n });\n } else {\n trackEffects(ref2.dep || (ref2.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref2, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n triggerEffects(dep, {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n });\n } else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n console.warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst tick = /* @__PURE__ */ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = void 0;\n this._dirty = true;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n } else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(\n true\n /* computedTrigger */\n );\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return this._value = this.effect.run();\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n return toRaw(this)._get();\n }\n}\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\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, toValue, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, 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, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, capitalize, isGloballyAllowed, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools && typeof devtools.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(\n render.call(\n proxyToUse,\n proxyToUse,\n renderCache,\n props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, void 0];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else {\n suspense.pendingId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n isSVG,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container2, anchor2, 0);\n queuePostFlushCb(effects);\n }\n };\n }\n let { anchor: anchor2 } = suspense;\n if (activeBranch) {\n anchor2 = next(activeBranch);\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor2, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, isSVG: isSVG2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n isSVG2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n isSVG,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n document.createElement(\"div\"),\n null,\n isSVG,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n /* hydrating */\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = vnode.el = branch.el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\n}\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n var _a;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = getCurrentScope() === ((_a = currentInstance) == null ? void 0 : _a.scope) ? currentInstance : null;\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n } else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return traverse(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n } else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n const internalInstance = currentRenderingInstance;\n if (internalInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(internalInstance) || internalInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === void 0) {\n prevTransitionKey = key;\n } else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode) ? vnode.children ? vnode.children[0] : void 0 : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n /* do not throw in dev if user provided error component */\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, isSVG, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n isSVG,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n unsetCurrentInstance();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings[type].replace(/ hook$/, \"\"));\n warn(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n /* do not include inferred name to avoid breaking existing code */\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => queueJob(i.update)),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn(`Cannot mutate \n\n\n\n","\n\n","\n\n\n\n","export const midiA = 69\n\nexport const notes = ['A', 'A#', 'B', 'C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#',]\n\n\nexport function pitchNoteOctave(pitch) {\n return {\n note: pitch > 0 ? pitch % 12 : 12 + (pitch % 12),\n octave: Math.floor(pitch / 12) + 4,\n }\n}\n\nexport function pitchFreq(\n pitch = 0,\n octave = 3,\n middleA = 440,\n tuning = 'equal',\n) {\n let hz = 0\n const justCents = [0, 112, 204, 316, 386, 498, 590, 702, 814, 884, 1017, 1088]\n if (tuning == 'equal') {\n hz = Number(middleA * Math.pow(2, octave - 3 + pitch / 12))\n }\n if (tuning == 'just') {\n let diff = Number(Math.pow(Math.pow(2, 1 / 1200), justCents[pitch]))\n hz = Number(middleA * Math.pow(2, octave - 4) * diff)\n }\n return hz\n}\n\nexport function pitchColor(pitch = 0, octave, velocity = 1, alpha = 1) {\n octave = octave || Math.floor(pitch / 12) + 4\n return `hsla(${(pitch % 12) * 30},${velocity * 100}%,${Math.abs(octave + 2) * 8\n }%,${alpha})`\n}\n\nexport function freqColor(freq) {\n return pitchColor(freqPitch(freq))\n}\n\nexport function freqPitch(freq, middleA = 440) {\n return 12 * (Math.log(freq / middleA) / Math.log(2))\n}\n\nexport function isInChroma(chroma, tonic, note) {\n return chroma.split('')[(24 + note - tonic) % 12] == '1'\n}\n\nexport function getCircleCoord(n = 0, total = 12, radius = 35, width = 100, height = 100) {\n let angle = ((n - total / 4) / (total / 2)) * Math.PI // Calculate the angle at which the element will be placed.\n // For a semicircle, we would use (i / numNodes) * Math.PI.\n let x = radius * Math.cos(angle) + width / 2 // Calculate the x position of the element.\n let y = radius * Math.sin(angle) + height / 2 // Calculate the y position of the element.\n return { x, y }\n}\n\nexport function rotateArray(arr, count = 1) {\n return [...arr.slice(count, arr.length), ...arr.slice(0, count)]\n}\n\nexport function clampNum(main, delta, min = 0, max = 100) {\n return Math.max(min, Math.min(Number(main) + Number(delta), max));\n}","export default {};","\n\n\n\n\n\n\n\ntitle: Log\nsubtitle: by Chromatone \n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n","import { useDark } from '@vueuse/core'\nimport { getDestination, gainToDb } from 'tone'\n\nexport const isDark = useDark()\n\nconst audio = reactive({\n initiated: false,\n mute: useStorage('mute', false),\n volume: useClamp(useStorage('main-vol', 1), 0, 1),\n})\n\n\nexport function useAudio() {\n if (!audio.initiated) {\n watchEffect(() => {\n getDestination().mute = audio.mute\n })\n\n watchEffect(() => {\n getDestination().volume.targetRampTo(gainToDb(audio.volume), 0.1)\n })\n }\n audio.initiated = true\n return audio\n}","\n\n\n\n","\n\n\n\n","/*\n * A fast javascript implementation of simplex noise by Jonas Wagner\n\nBased on a speed-improved simplex noise algorithm for 2D, 3D and 4D in Java.\nWhich is based on example code by Stefan Gustavson (stegu@itn.liu.se).\nWith Optimisations by Peter Eastman (peastman@drizzle.stanford.edu).\nBetter rank ordering method by Stefan Gustavson in 2012.\n\n Copyright (c) 2022 Jonas Wagner\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n */\n// these #__PURE__ comments help uglifyjs with dead code removal\n// \nconst F2 = /*#__PURE__*/ 0.5 * (Math.sqrt(3.0) - 1.0);\nconst G2 = /*#__PURE__*/ (3.0 - Math.sqrt(3.0)) / 6.0;\nconst F3 = 1.0 / 3.0;\nconst G3 = 1.0 / 6.0;\nconst F4 = /*#__PURE__*/ (Math.sqrt(5.0) - 1.0) / 4.0;\nconst G4 = /*#__PURE__*/ (5.0 - Math.sqrt(5.0)) / 20.0;\n// I'm really not sure why this | 0 (basically a coercion to int)\n// is making this faster but I get ~5 million ops/sec more on the\n// benchmarks across the board or a ~10% speedup.\nconst fastFloor = (x) => Math.floor(x) | 0;\nconst grad2 = /*#__PURE__*/ new Float64Array([1, 1,\n -1, 1,\n 1, -1,\n -1, -1,\n 1, 0,\n -1, 0,\n 1, 0,\n -1, 0,\n 0, 1,\n 0, -1,\n 0, 1,\n 0, -1]);\n// double seems to be faster than single or int's\n// probably because most operations are in double precision\nconst grad3 = /*#__PURE__*/ new Float64Array([1, 1, 0,\n -1, 1, 0,\n 1, -1, 0,\n -1, -1, 0,\n 1, 0, 1,\n -1, 0, 1,\n 1, 0, -1,\n -1, 0, -1,\n 0, 1, 1,\n 0, -1, 1,\n 0, 1, -1,\n 0, -1, -1]);\n// double is a bit quicker here as well\nconst grad4 = /*#__PURE__*/ new Float64Array([0, 1, 1, 1, 0, 1, 1, -1, 0, 1, -1, 1, 0, 1, -1, -1,\n 0, -1, 1, 1, 0, -1, 1, -1, 0, -1, -1, 1, 0, -1, -1, -1,\n 1, 0, 1, 1, 1, 0, 1, -1, 1, 0, -1, 1, 1, 0, -1, -1,\n -1, 0, 1, 1, -1, 0, 1, -1, -1, 0, -1, 1, -1, 0, -1, -1,\n 1, 1, 0, 1, 1, 1, 0, -1, 1, -1, 0, 1, 1, -1, 0, -1,\n -1, 1, 0, 1, -1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, -1,\n 1, 1, 1, 0, 1, 1, -1, 0, 1, -1, 1, 0, 1, -1, -1, 0,\n -1, 1, 1, 0, -1, 1, -1, 0, -1, -1, 1, 0, -1, -1, -1, 0]);\n/**\n * Creates a 2D noise function\n * @param random the random function that will be used to build the permutation table\n * @returns {NoiseFunction2D}\n */\nexport function createNoise2D(random = Math.random) {\n const perm = buildPermutationTable(random);\n // precalculating this yields a little ~3% performance improvement.\n const permGrad2x = new Float64Array(perm).map(v => grad2[(v % 12) * 2]);\n const permGrad2y = new Float64Array(perm).map(v => grad2[(v % 12) * 2 + 1]);\n return function noise2D(x, y) {\n // if(!isFinite(x) || !isFinite(y)) return 0;\n let n0 = 0; // Noise contributions from the three corners\n let n1 = 0;\n let n2 = 0;\n // Skew the input space to determine which simplex cell we're in\n const s = (x + y) * F2; // Hairy factor for 2D\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const t = (i + j) * G2;\n const X0 = i - t; // Unskew the cell origin back to (x,y) space\n const Y0 = j - t;\n const x0 = x - X0; // The x,y distances from the cell origin\n const y0 = y - Y0;\n // For the 2D case, the simplex shape is an equilateral triangle.\n // Determine which simplex we are in.\n let i1, j1; // Offsets for second (middle) corner of simplex in (i,j) coords\n if (x0 > y0) {\n i1 = 1;\n j1 = 0;\n } // lower triangle, XY order: (0,0)->(1,0)->(1,1)\n else {\n i1 = 0;\n j1 = 1;\n } // upper triangle, YX order: (0,0)->(0,1)->(1,1)\n // A step of (1,0) in (i,j) means a step of (1-c,-c) in (x,y), and\n // a step of (0,1) in (i,j) means a step of (-c,1-c) in (x,y), where\n // c = (3-sqrt(3))/6\n const x1 = x0 - i1 + G2; // Offsets for middle corner in (x,y) unskewed coords\n const y1 = y0 - j1 + G2;\n const x2 = x0 - 1.0 + 2.0 * G2; // Offsets for last corner in (x,y) unskewed coords\n const y2 = y0 - 1.0 + 2.0 * G2;\n // Work out the hashed gradient indices of the three simplex corners\n const ii = i & 255;\n const jj = j & 255;\n // Calculate the contribution from the three corners\n let t0 = 0.5 - x0 * x0 - y0 * y0;\n if (t0 >= 0) {\n const gi0 = ii + perm[jj];\n const g0x = permGrad2x[gi0];\n const g0y = permGrad2y[gi0];\n t0 *= t0;\n // n0 = t0 * t0 * (grad2[gi0] * x0 + grad2[gi0 + 1] * y0); // (x,y) of grad3 used for 2D gradient\n n0 = t0 * t0 * (g0x * x0 + g0y * y0);\n }\n let t1 = 0.5 - x1 * x1 - y1 * y1;\n if (t1 >= 0) {\n const gi1 = ii + i1 + perm[jj + j1];\n const g1x = permGrad2x[gi1];\n const g1y = permGrad2y[gi1];\n t1 *= t1;\n // n1 = t1 * t1 * (grad2[gi1] * x1 + grad2[gi1 + 1] * y1);\n n1 = t1 * t1 * (g1x * x1 + g1y * y1);\n }\n let t2 = 0.5 - x2 * x2 - y2 * y2;\n if (t2 >= 0) {\n const gi2 = ii + 1 + perm[jj + 1];\n const g2x = permGrad2x[gi2];\n const g2y = permGrad2y[gi2];\n t2 *= t2;\n // n2 = t2 * t2 * (grad2[gi2] * x2 + grad2[gi2 + 1] * y2);\n n2 = t2 * t2 * (g2x * x2 + g2y * y2);\n }\n // Add contributions from each corner to get the final noise value.\n // The result is scaled to return values in the interval [-1,1].\n return 70.0 * (n0 + n1 + n2);\n };\n}\n/**\n * Creates a 3D noise function\n * @param random the random function that will be used to build the permutation table\n * @returns {NoiseFunction3D}\n */\nexport function createNoise3D(random = Math.random) {\n const perm = buildPermutationTable(random);\n // precalculating these seems to yield a speedup of over 15%\n const permGrad3x = new Float64Array(perm).map(v => grad3[(v % 12) * 3]);\n const permGrad3y = new Float64Array(perm).map(v => grad3[(v % 12) * 3 + 1]);\n const permGrad3z = new Float64Array(perm).map(v => grad3[(v % 12) * 3 + 2]);\n return function noise3D(x, y, z) {\n let n0, n1, n2, n3; // Noise contributions from the four corners\n // Skew the input space to determine which simplex cell we're in\n const s = (x + y + z) * F3; // Very nice and simple skew factor for 3D\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const k = fastFloor(z + s);\n const t = (i + j + k) * G3;\n const X0 = i - t; // Unskew the cell origin back to (x,y,z) space\n const Y0 = j - t;\n const Z0 = k - t;\n const x0 = x - X0; // The x,y,z distances from the cell origin\n const y0 = y - Y0;\n const z0 = z - Z0;\n // For the 3D case, the simplex shape is a slightly irregular tetrahedron.\n // Determine which simplex we are in.\n let i1, j1, k1; // Offsets for second corner of simplex in (i,j,k) coords\n let i2, j2, k2; // Offsets for third corner of simplex in (i,j,k) coords\n if (x0 >= y0) {\n if (y0 >= z0) {\n i1 = 1;\n j1 = 0;\n k1 = 0;\n i2 = 1;\n j2 = 1;\n k2 = 0;\n } // X Y Z order\n else if (x0 >= z0) {\n i1 = 1;\n j1 = 0;\n k1 = 0;\n i2 = 1;\n j2 = 0;\n k2 = 1;\n } // X Z Y order\n else {\n i1 = 0;\n j1 = 0;\n k1 = 1;\n i2 = 1;\n j2 = 0;\n k2 = 1;\n } // Z X Y order\n }\n else { // x0 grad4[(v % 32) * 4]);\n const permGrad4y = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 1]);\n const permGrad4z = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 2]);\n const permGrad4w = new Float64Array(perm).map(v => grad4[(v % 32) * 4 + 3]);\n return function noise4D(x, y, z, w) {\n let n0, n1, n2, n3, n4; // Noise contributions from the five corners\n // Skew the (x,y,z,w) space to determine which cell of 24 simplices we're in\n const s = (x + y + z + w) * F4; // Factor for 4D skewing\n const i = fastFloor(x + s);\n const j = fastFloor(y + s);\n const k = fastFloor(z + s);\n const l = fastFloor(w + s);\n const t = (i + j + k + l) * G4; // Factor for 4D unskewing\n const X0 = i - t; // Unskew the cell origin back to (x,y,z,w) space\n const Y0 = j - t;\n const Z0 = k - t;\n const W0 = l - t;\n const x0 = x - X0; // The x,y,z,w distances from the cell origin\n const y0 = y - Y0;\n const z0 = z - Z0;\n const w0 = w - W0;\n // For the 4D case, the simplex is a 4D shape I won't even try to describe.\n // To find out which of the 24 possible simplices we're in, we need to\n // determine the magnitude ordering of x0, y0, z0 and w0.\n // Six pair-wise comparisons are performed between each possible pair\n // of the four coordinates, and the results are used to rank the numbers.\n let rankx = 0;\n let ranky = 0;\n let rankz = 0;\n let rankw = 0;\n if (x0 > y0)\n rankx++;\n else\n ranky++;\n if (x0 > z0)\n rankx++;\n else\n rankz++;\n if (x0 > w0)\n rankx++;\n else\n rankw++;\n if (y0 > z0)\n ranky++;\n else\n rankz++;\n if (y0 > w0)\n ranky++;\n else\n rankw++;\n if (z0 > w0)\n rankz++;\n else\n rankw++;\n // simplex[c] is a 4-vector with the numbers 0, 1, 2 and 3 in some order.\n // Many values of c will never occur, since e.g. x>y>z>w makes x= 3 ? 1 : 0;\n const j1 = ranky >= 3 ? 1 : 0;\n const k1 = rankz >= 3 ? 1 : 0;\n const l1 = rankw >= 3 ? 1 : 0;\n // The integer offsets for the third simplex corner\n const i2 = rankx >= 2 ? 1 : 0;\n const j2 = ranky >= 2 ? 1 : 0;\n const k2 = rankz >= 2 ? 1 : 0;\n const l2 = rankw >= 2 ? 1 : 0;\n // The integer offsets for the fourth simplex corner\n const i3 = rankx >= 1 ? 1 : 0;\n const j3 = ranky >= 1 ? 1 : 0;\n const k3 = rankz >= 1 ? 1 : 0;\n const l3 = rankw >= 1 ? 1 : 0;\n // The fifth corner has all coordinate offsets = 1, so no need to compute that.\n const x1 = x0 - i1 + G4; // Offsets for second corner in (x,y,z,w) coords\n const y1 = y0 - j1 + G4;\n const z1 = z0 - k1 + G4;\n const w1 = w0 - l1 + G4;\n const x2 = x0 - i2 + 2.0 * G4; // Offsets for third corner in (x,y,z,w) coords\n const y2 = y0 - j2 + 2.0 * G4;\n const z2 = z0 - k2 + 2.0 * G4;\n const w2 = w0 - l2 + 2.0 * G4;\n const x3 = x0 - i3 + 3.0 * G4; // Offsets for fourth corner in (x,y,z,w) coords\n const y3 = y0 - j3 + 3.0 * G4;\n const z3 = z0 - k3 + 3.0 * G4;\n const w3 = w0 - l3 + 3.0 * G4;\n const x4 = x0 - 1.0 + 4.0 * G4; // Offsets for last corner in (x,y,z,w) coords\n const y4 = y0 - 1.0 + 4.0 * G4;\n const z4 = z0 - 1.0 + 4.0 * G4;\n const w4 = w0 - 1.0 + 4.0 * G4;\n // Work out the hashed gradient indices of the five simplex corners\n const ii = i & 255;\n const jj = j & 255;\n const kk = k & 255;\n const ll = l & 255;\n // Calculate the contribution from the five corners\n let t0 = 0.6 - x0 * x0 - y0 * y0 - z0 * z0 - w0 * w0;\n if (t0 < 0)\n n0 = 0.0;\n else {\n const gi0 = ii + perm[jj + perm[kk + perm[ll]]];\n t0 *= t0;\n n0 = t0 * t0 * (permGrad4x[gi0] * x0 + permGrad4y[gi0] * y0 + permGrad4z[gi0] * z0 + permGrad4w[gi0] * w0);\n }\n let t1 = 0.6 - x1 * x1 - y1 * y1 - z1 * z1 - w1 * w1;\n if (t1 < 0)\n n1 = 0.0;\n else {\n const gi1 = ii + i1 + perm[jj + j1 + perm[kk + k1 + perm[ll + l1]]];\n t1 *= t1;\n n1 = t1 * t1 * (permGrad4x[gi1] * x1 + permGrad4y[gi1] * y1 + permGrad4z[gi1] * z1 + permGrad4w[gi1] * w1);\n }\n let t2 = 0.6 - x2 * x2 - y2 * y2 - z2 * z2 - w2 * w2;\n if (t2 < 0)\n n2 = 0.0;\n else {\n const gi2 = ii + i2 + perm[jj + j2 + perm[kk + k2 + perm[ll + l2]]];\n t2 *= t2;\n n2 = t2 * t2 * (permGrad4x[gi2] * x2 + permGrad4y[gi2] * y2 + permGrad4z[gi2] * z2 + permGrad4w[gi2] * w2);\n }\n let t3 = 0.6 - x3 * x3 - y3 * y3 - z3 * z3 - w3 * w3;\n if (t3 < 0)\n n3 = 0.0;\n else {\n const gi3 = ii + i3 + perm[jj + j3 + perm[kk + k3 + perm[ll + l3]]];\n t3 *= t3;\n n3 = t3 * t3 * (permGrad4x[gi3] * x3 + permGrad4y[gi3] * y3 + permGrad4z[gi3] * z3 + permGrad4w[gi3] * w3);\n }\n let t4 = 0.6 - x4 * x4 - y4 * y4 - z4 * z4 - w4 * w4;\n if (t4 < 0)\n n4 = 0.0;\n else {\n const gi4 = ii + 1 + perm[jj + 1 + perm[kk + 1 + perm[ll + 1]]];\n t4 *= t4;\n n4 = t4 * t4 * (permGrad4x[gi4] * x4 + permGrad4y[gi4] * y4 + permGrad4z[gi4] * z4 + permGrad4w[gi4] * w4);\n }\n // Sum up and scale the result to cover the range [-1,1]\n return 27.0 * (n0 + n1 + n2 + n3 + n4);\n };\n}\n/**\n * Builds a random permutation table.\n * This is exported only for (internal) testing purposes.\n * Do not rely on this export.\n * @private\n */\nexport function buildPermutationTable(random) {\n const tableSize = 512;\n const p = new Uint8Array(tableSize);\n for (let i = 0; i < tableSize / 2; i++) {\n p[i] = i;\n }\n for (let i = 0; i < tableSize / 2 - 1; i++) {\n const r = i + ~~(random() * (256 - i));\n const aux = p[i];\n p[i] = p[r];\n p[r] = aux;\n }\n for (let i = 256; i < tableSize; i++) {\n p[i] = p[i - 256];\n }\n return p;\n}\n//# sourceMappingURL=simplex-noise.js.map","// deno-fmt-ignore-file\n// deno-lint-ignore-file\n// This code was bundled using `deno bundle` and it's not recommended to edit it manually\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n};\nvar _block, _blocks, _bytes, _finalized, _first, _h0, _h1, _h2, _h3, _h4, _h5, _h6, _h7, _hashed, _hBytes, _is224, _lastByteIndex, _start;\nconst BKDRHash = function (str) {\n var seed = 131;\n var seed2 = 137;\n var hash = 0;\n str += 'x';\n var MAX_SAFE_INTEGER = Math.floor(9007199254740991 / seed2);\n for (let i = 0; i < str.length; i++) {\n if (hash > MAX_SAFE_INTEGER) {\n hash = Math.floor(hash / seed2);\n }\n hash = hash * seed + str.charCodeAt(i);\n }\n return hash;\n};\nconst HEX_CHARS = \"0123456789abcdef\".split(\"\");\nconst EXTRA = [\n -2147483648,\n 8388608,\n 32768,\n 128\n];\nconst SHIFT = [\n 24,\n 16,\n 8,\n 0\n];\nconst K = [\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n];\nconst blocks = [];\nclass Sha256 {\n constructor(is224 = false, sharedMemory = false) {\n _block.set(this, void 0);\n _blocks.set(this, void 0);\n _bytes.set(this, void 0);\n _finalized.set(this, void 0);\n _first.set(this, void 0);\n _h0.set(this, void 0);\n _h1.set(this, void 0);\n _h2.set(this, void 0);\n _h3.set(this, void 0);\n _h4.set(this, void 0);\n _h5.set(this, void 0);\n _h6.set(this, void 0);\n _h7.set(this, void 0);\n _hashed.set(this, void 0);\n _hBytes.set(this, void 0);\n _is224.set(this, void 0);\n _lastByteIndex.set(this, 0);\n _start.set(this, void 0);\n this.init(is224, sharedMemory);\n }\n init(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n __classPrivateFieldSet(this, _blocks, blocks);\n }\n else {\n __classPrivateFieldSet(this, _blocks, [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ]);\n }\n if (is224) {\n __classPrivateFieldSet(this, _h0, 0xc1059ed8);\n __classPrivateFieldSet(this, _h1, 0x367cd507);\n __classPrivateFieldSet(this, _h2, 0x3070dd17);\n __classPrivateFieldSet(this, _h3, 0xf70e5939);\n __classPrivateFieldSet(this, _h4, 0xffc00b31);\n __classPrivateFieldSet(this, _h5, 0x68581511);\n __classPrivateFieldSet(this, _h6, 0x64f98fa7);\n __classPrivateFieldSet(this, _h7, 0xbefa4fa4);\n }\n else {\n __classPrivateFieldSet(this, _h0, 0x6a09e667);\n __classPrivateFieldSet(this, _h1, 0xbb67ae85);\n __classPrivateFieldSet(this, _h2, 0x3c6ef372);\n __classPrivateFieldSet(this, _h3, 0xa54ff53a);\n __classPrivateFieldSet(this, _h4, 0x510e527f);\n __classPrivateFieldSet(this, _h5, 0x9b05688c);\n __classPrivateFieldSet(this, _h6, 0x1f83d9ab);\n __classPrivateFieldSet(this, _h7, 0x5be0cd19);\n }\n __classPrivateFieldSet(this, _block, __classPrivateFieldSet(this, _start, __classPrivateFieldSet(this, _bytes, __classPrivateFieldSet(this, _hBytes, 0))));\n __classPrivateFieldSet(this, _finalized, __classPrivateFieldSet(this, _hashed, false));\n __classPrivateFieldSet(this, _first, true);\n __classPrivateFieldSet(this, _is224, is224);\n }\n update(message) {\n if (__classPrivateFieldGet(this, _finalized)) {\n return this;\n }\n let msg;\n if (message instanceof ArrayBuffer) {\n msg = new Uint8Array(message);\n }\n else {\n msg = message;\n }\n let index = 0;\n const length = msg.length;\n const blocks = __classPrivateFieldGet(this, _blocks);\n while (index < length) {\n let i;\n if (__classPrivateFieldGet(this, _hashed)) {\n __classPrivateFieldSet(this, _hashed, false);\n blocks[0] = __classPrivateFieldGet(this, _block);\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n if (typeof msg !== \"string\") {\n for (i = __classPrivateFieldGet(this, _start); index < length && i < 64; ++index) {\n blocks[i >> 2] |= msg[index] << SHIFT[i++ & 3];\n }\n }\n else {\n for (i = __classPrivateFieldGet(this, _start); index < length && i < 64; ++index) {\n let code = msg.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n }\n else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n else {\n code = 0x10000 + ((code & 0x3ff) << 10 | msg.charCodeAt(++index) & 0x3ff);\n blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n }\n }\n __classPrivateFieldSet(this, _lastByteIndex, i);\n __classPrivateFieldSet(this, _bytes, __classPrivateFieldGet(this, _bytes) + (i - __classPrivateFieldGet(this, _start)));\n if (i >= 64) {\n __classPrivateFieldSet(this, _block, blocks[16]);\n __classPrivateFieldSet(this, _start, i - 64);\n this.hash();\n __classPrivateFieldSet(this, _hashed, true);\n }\n else {\n __classPrivateFieldSet(this, _start, i);\n }\n }\n if (__classPrivateFieldGet(this, _bytes) > 4294967295) {\n __classPrivateFieldSet(this, _hBytes, __classPrivateFieldGet(this, _hBytes) + (__classPrivateFieldGet(this, _bytes) / 4294967296 << 0));\n __classPrivateFieldSet(this, _bytes, __classPrivateFieldGet(this, _bytes) % 4294967296);\n }\n return this;\n }\n finalize() {\n if (__classPrivateFieldGet(this, _finalized)) {\n return;\n }\n __classPrivateFieldSet(this, _finalized, true);\n const blocks = __classPrivateFieldGet(this, _blocks);\n const i = __classPrivateFieldGet(this, _lastByteIndex);\n blocks[16] = __classPrivateFieldGet(this, _block);\n blocks[i >> 2] |= EXTRA[i & 3];\n __classPrivateFieldSet(this, _block, blocks[16]);\n if (i >= 56) {\n if (!__classPrivateFieldGet(this, _hashed)) {\n this.hash();\n }\n blocks[0] = __classPrivateFieldGet(this, _block);\n blocks[16] = blocks[1] = blocks[2] = blocks[3] = blocks[4] = blocks[5] = blocks[6] = blocks[7] = blocks[8] = blocks[9] = blocks[10] = blocks[11] = blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = __classPrivateFieldGet(this, _hBytes) << 3 | __classPrivateFieldGet(this, _bytes) >>> 29;\n blocks[15] = __classPrivateFieldGet(this, _bytes) << 3;\n this.hash();\n }\n hash() {\n let a = __classPrivateFieldGet(this, _h0);\n let b = __classPrivateFieldGet(this, _h1);\n let c = __classPrivateFieldGet(this, _h2);\n let d = __classPrivateFieldGet(this, _h3);\n let e = __classPrivateFieldGet(this, _h4);\n let f = __classPrivateFieldGet(this, _h5);\n let g = __classPrivateFieldGet(this, _h6);\n let h = __classPrivateFieldGet(this, _h7);\n const blocks = __classPrivateFieldGet(this, _blocks);\n let s0;\n let s1;\n let maj;\n let t1;\n let t2;\n let ch;\n let ab;\n let da;\n let cd;\n let bc;\n for (let j = 16; j < 64; ++j) {\n t1 = blocks[j - 15];\n s0 = (t1 >>> 7 | t1 << 25) ^ (t1 >>> 18 | t1 << 14) ^ t1 >>> 3;\n t1 = blocks[j - 2];\n s1 = (t1 >>> 17 | t1 << 15) ^ (t1 >>> 19 | t1 << 13) ^ t1 >>> 10;\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n bc = b & c;\n for (let j1 = 0; j1 < 64; j1 += 4) {\n if (__classPrivateFieldGet(this, _first)) {\n if (__classPrivateFieldGet(this, _is224)) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n }\n else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n __classPrivateFieldSet(this, _first, false);\n }\n else {\n s0 = (a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10);\n s1 = (e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7);\n ab = a & b;\n maj = ab ^ a & c ^ bc;\n ch = e & f ^ ~e & g;\n t1 = h + s1 + ch + K[j1] + blocks[j1];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n s0 = (d >>> 2 | d << 30) ^ (d >>> 13 | d << 19) ^ (d >>> 22 | d << 10);\n s1 = (h >>> 6 | h << 26) ^ (h >>> 11 | h << 21) ^ (h >>> 25 | h << 7);\n da = d & a;\n maj = da ^ d & b ^ ab;\n ch = h & e ^ ~h & f;\n t1 = g + s1 + ch + K[j1 + 1] + blocks[j1 + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = (c >>> 2 | c << 30) ^ (c >>> 13 | c << 19) ^ (c >>> 22 | c << 10);\n s1 = (g >>> 6 | g << 26) ^ (g >>> 11 | g << 21) ^ (g >>> 25 | g << 7);\n cd = c & d;\n maj = cd ^ c & a ^ da;\n ch = g & h ^ ~g & e;\n t1 = f + s1 + ch + K[j1 + 2] + blocks[j1 + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = (b >>> 2 | b << 30) ^ (b >>> 13 | b << 19) ^ (b >>> 22 | b << 10);\n s1 = (f >>> 6 | f << 26) ^ (f >>> 11 | f << 21) ^ (f >>> 25 | f << 7);\n bc = b & c;\n maj = bc ^ b & d ^ cd;\n ch = f & g ^ ~f & h;\n t1 = e + s1 + ch + K[j1 + 3] + blocks[j1 + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n }\n __classPrivateFieldSet(this, _h0, __classPrivateFieldGet(this, _h0) + a << 0);\n __classPrivateFieldSet(this, _h1, __classPrivateFieldGet(this, _h1) + b << 0);\n __classPrivateFieldSet(this, _h2, __classPrivateFieldGet(this, _h2) + c << 0);\n __classPrivateFieldSet(this, _h3, __classPrivateFieldGet(this, _h3) + d << 0);\n __classPrivateFieldSet(this, _h4, __classPrivateFieldGet(this, _h4) + e << 0);\n __classPrivateFieldSet(this, _h5, __classPrivateFieldGet(this, _h5) + f << 0);\n __classPrivateFieldSet(this, _h6, __classPrivateFieldGet(this, _h6) + g << 0);\n __classPrivateFieldSet(this, _h7, __classPrivateFieldGet(this, _h7) + h << 0);\n }\n hex() {\n this.finalize();\n const h0 = __classPrivateFieldGet(this, _h0);\n const h1 = __classPrivateFieldGet(this, _h1);\n const h2 = __classPrivateFieldGet(this, _h2);\n const h3 = __classPrivateFieldGet(this, _h3);\n const h4 = __classPrivateFieldGet(this, _h4);\n const h5 = __classPrivateFieldGet(this, _h5);\n const h6 = __classPrivateFieldGet(this, _h6);\n const h7 = __classPrivateFieldGet(this, _h7);\n let hex = HEX_CHARS[h0 >> 28 & 0x0f] + HEX_CHARS[h0 >> 24 & 0x0f] + HEX_CHARS[h0 >> 20 & 0x0f] + HEX_CHARS[h0 >> 16 & 0x0f] + HEX_CHARS[h0 >> 12 & 0x0f] + HEX_CHARS[h0 >> 8 & 0x0f] + HEX_CHARS[h0 >> 4 & 0x0f] + HEX_CHARS[h0 & 0x0f] + HEX_CHARS[h1 >> 28 & 0x0f] + HEX_CHARS[h1 >> 24 & 0x0f] + HEX_CHARS[h1 >> 20 & 0x0f] + HEX_CHARS[h1 >> 16 & 0x0f] + HEX_CHARS[h1 >> 12 & 0x0f] + HEX_CHARS[h1 >> 8 & 0x0f] + HEX_CHARS[h1 >> 4 & 0x0f] + HEX_CHARS[h1 & 0x0f] + HEX_CHARS[h2 >> 28 & 0x0f] + HEX_CHARS[h2 >> 24 & 0x0f] + HEX_CHARS[h2 >> 20 & 0x0f] + HEX_CHARS[h2 >> 16 & 0x0f] + HEX_CHARS[h2 >> 12 & 0x0f] + HEX_CHARS[h2 >> 8 & 0x0f] + HEX_CHARS[h2 >> 4 & 0x0f] + HEX_CHARS[h2 & 0x0f] + HEX_CHARS[h3 >> 28 & 0x0f] + HEX_CHARS[h3 >> 24 & 0x0f] + HEX_CHARS[h3 >> 20 & 0x0f] + HEX_CHARS[h3 >> 16 & 0x0f] + HEX_CHARS[h3 >> 12 & 0x0f] + HEX_CHARS[h3 >> 8 & 0x0f] + HEX_CHARS[h3 >> 4 & 0x0f] + HEX_CHARS[h3 & 0x0f] + HEX_CHARS[h4 >> 28 & 0x0f] + HEX_CHARS[h4 >> 24 & 0x0f] + HEX_CHARS[h4 >> 20 & 0x0f] + HEX_CHARS[h4 >> 16 & 0x0f] + HEX_CHARS[h4 >> 12 & 0x0f] + HEX_CHARS[h4 >> 8 & 0x0f] + HEX_CHARS[h4 >> 4 & 0x0f] + HEX_CHARS[h4 & 0x0f] + HEX_CHARS[h5 >> 28 & 0x0f] + HEX_CHARS[h5 >> 24 & 0x0f] + HEX_CHARS[h5 >> 20 & 0x0f] + HEX_CHARS[h5 >> 16 & 0x0f] + HEX_CHARS[h5 >> 12 & 0x0f] + HEX_CHARS[h5 >> 8 & 0x0f] + HEX_CHARS[h5 >> 4 & 0x0f] + HEX_CHARS[h5 & 0x0f] + HEX_CHARS[h6 >> 28 & 0x0f] + HEX_CHARS[h6 >> 24 & 0x0f] + HEX_CHARS[h6 >> 20 & 0x0f] + HEX_CHARS[h6 >> 16 & 0x0f] + HEX_CHARS[h6 >> 12 & 0x0f] + HEX_CHARS[h6 >> 8 & 0x0f] + HEX_CHARS[h6 >> 4 & 0x0f] + HEX_CHARS[h6 & 0x0f];\n if (!__classPrivateFieldGet(this, _is224)) {\n hex += HEX_CHARS[h7 >> 28 & 0x0f] + HEX_CHARS[h7 >> 24 & 0x0f] + HEX_CHARS[h7 >> 20 & 0x0f] + HEX_CHARS[h7 >> 16 & 0x0f] + HEX_CHARS[h7 >> 12 & 0x0f] + HEX_CHARS[h7 >> 8 & 0x0f] + HEX_CHARS[h7 >> 4 & 0x0f] + HEX_CHARS[h7 & 0x0f];\n }\n return hex;\n }\n toString() {\n return this.hex();\n }\n digest() {\n this.finalize();\n const h0 = __classPrivateFieldGet(this, _h0);\n const h1 = __classPrivateFieldGet(this, _h1);\n const h2 = __classPrivateFieldGet(this, _h2);\n const h3 = __classPrivateFieldGet(this, _h3);\n const h4 = __classPrivateFieldGet(this, _h4);\n const h5 = __classPrivateFieldGet(this, _h5);\n const h6 = __classPrivateFieldGet(this, _h6);\n const h7 = __classPrivateFieldGet(this, _h7);\n const arr = [\n h0 >> 24 & 0xff,\n h0 >> 16 & 0xff,\n h0 >> 8 & 0xff,\n h0 & 0xff,\n h1 >> 24 & 0xff,\n h1 >> 16 & 0xff,\n h1 >> 8 & 0xff,\n h1 & 0xff,\n h2 >> 24 & 0xff,\n h2 >> 16 & 0xff,\n h2 >> 8 & 0xff,\n h2 & 0xff,\n h3 >> 24 & 0xff,\n h3 >> 16 & 0xff,\n h3 >> 8 & 0xff,\n h3 & 0xff,\n h4 >> 24 & 0xff,\n h4 >> 16 & 0xff,\n h4 >> 8 & 0xff,\n h4 & 0xff,\n h5 >> 24 & 0xff,\n h5 >> 16 & 0xff,\n h5 >> 8 & 0xff,\n h5 & 0xff,\n h6 >> 24 & 0xff,\n h6 >> 16 & 0xff,\n h6 >> 8 & 0xff,\n h6 & 0xff\n ];\n if (!__classPrivateFieldGet(this, _is224)) {\n arr.push(h7 >> 24 & 0xff, h7 >> 16 & 0xff, h7 >> 8 & 0xff, h7 & 0xff);\n }\n return arr;\n }\n array() {\n return this.digest();\n }\n arrayBuffer() {\n this.finalize();\n const buffer = new ArrayBuffer(__classPrivateFieldGet(this, _is224) ? 28 : 32);\n const dataView = new DataView(buffer);\n dataView.setUint32(0, __classPrivateFieldGet(this, _h0));\n dataView.setUint32(4, __classPrivateFieldGet(this, _h1));\n dataView.setUint32(8, __classPrivateFieldGet(this, _h2));\n dataView.setUint32(12, __classPrivateFieldGet(this, _h3));\n dataView.setUint32(16, __classPrivateFieldGet(this, _h4));\n dataView.setUint32(20, __classPrivateFieldGet(this, _h5));\n dataView.setUint32(24, __classPrivateFieldGet(this, _h6));\n if (!__classPrivateFieldGet(this, _is224)) {\n dataView.setUint32(28, __classPrivateFieldGet(this, _h7));\n }\n return buffer;\n }\n}\n_block = new WeakMap(), _blocks = new WeakMap(), _bytes = new WeakMap(), _finalized = new WeakMap(), _first = new WeakMap(), _h0 = new WeakMap(), _h1 = new WeakMap(), _h2 = new WeakMap(), _h3 = new WeakMap(), _h4 = new WeakMap(), _h5 = new WeakMap(), _h6 = new WeakMap(), _h7 = new WeakMap(), _hashed = new WeakMap(), _hBytes = new WeakMap(), _is224 = new WeakMap(), _lastByteIndex = new WeakMap(), _start = new WeakMap();\nfunction Sha256ToInt(s) {\n const sha256 = new Sha256();\n sha256.update(s);\n return parseInt(sha256.hex().substring(0, 8), 16);\n}\nconst RGB2HEX = function (RGBArray) {\n var hex = '#';\n RGBArray.forEach(function (value) {\n if (value < 16) {\n hex += 0;\n }\n hex += value.toString(16);\n });\n return hex;\n};\nconst HSL2RGB = function (H, S, L) {\n H /= 360;\n var q = L < 0.5 ? L * (1 + S) : L + S - L * S;\n var p = 2 * L - q;\n return [\n H + 1 / 3,\n H,\n H - 1 / 3\n ].map(function (color) {\n if (color < 0) {\n color++;\n }\n if (color > 1) {\n color--;\n }\n if (color < 1 / 6) {\n color = p + (q - p) * 6 * color;\n }\n else if (color < 0.5) {\n color = q;\n }\n else if (color < 2 / 3) {\n color = p + (q - p) * 6 * (2 / 3 - color);\n }\n else {\n color = p;\n }\n return Math.round(color * 255);\n });\n};\nclass ColorHash {\n constructor(options = {}) {\n const [L, S] = [\n options.lightness,\n options.saturation\n ].map(function (param) {\n param = param !== undefined ? param : [\n 0.35,\n 0.5,\n 0.65\n ];\n return Array.isArray(param) ? param.concat() : [\n param\n ];\n });\n this.L = L;\n this.S = S;\n if (typeof options.hue === 'number') {\n options.hue = {\n min: options.hue,\n max: options.hue\n };\n }\n if (typeof options.hue === 'object' && !Array.isArray(options.hue)) {\n options.hue = [\n options.hue\n ];\n }\n if (typeof options.hue === 'undefined') {\n options.hue = [];\n }\n this.hueRanges = options.hue.map(function (range) {\n return {\n min: typeof range.min === 'undefined' ? 0 : range.min,\n max: typeof range.max === 'undefined' ? 360 : range.max\n };\n });\n this.hash = Sha256ToInt;\n if (typeof options.hash === 'function') {\n this.hash = options.hash;\n }\n if (options.hash === 'bkdr') {\n this.hash = BKDRHash;\n }\n }\n hsl(str) {\n var H, S, L;\n var hash = this.hash(str);\n var hueResolution = 727;\n if (this.hueRanges.length) {\n const range = this.hueRanges[hash % this.hueRanges.length];\n H = hash / this.hueRanges.length % hueResolution * (range.max - range.min) / hueResolution + range.min;\n }\n else {\n H = hash % 359;\n }\n hash = Math.ceil(hash / 360);\n S = this.S[hash % this.S.length];\n hash = Math.ceil(hash / this.S.length);\n L = this.L[hash % this.L.length];\n return [\n H,\n S,\n L\n ];\n }\n rgb(str) {\n var hsl = this.hsl(str);\n return HSL2RGB.apply(this, hsl);\n }\n hex(str) {\n var rgb = this.rgb(str);\n return RGB2HEX(rgb);\n }\n}\nexport { ColorHash as default };\n","const __pages_import_0__ = () => import(\"/src/scenes/stats.vue\");\nconst __pages_import_1__ = () => import(\"/src/scenes/spiral.vue\");\nconst __pages_import_2__ = () => import(\"/src/scenes/rose.vue\");\nconst __pages_import_3__ = () => import(\"/src/scenes/level.vue\");\nconst __pages_import_4__ = () => import(\"/src/scenes/index.vue\");\nconst __pages_import_5__ = () => import(\"/src/scenes/donut.vue\");\nconst __pages_import_6__ = () => import(\"/src/scenes/cross.vue\");\n\nconst routes = [{\"name\":\"stats\",\"path\":\"/stats\",\"component\":__pages_import_0__,\"props\":true},{\"name\":\"spiral\",\"path\":\"/spiral\",\"component\":__pages_import_1__,\"props\":true,\"title\":\"Electric\",\"subtitle\":\"by Chromatone\"},{\"name\":\"rose\",\"path\":\"/rose\",\"component\":__pages_import_2__,\"props\":true},{\"name\":\"level\",\"path\":\"/level\",\"component\":__pages_import_3__,\"props\":true,\"title\":\"Electric\",\"subtitle\":\"by Chromatone\"},{\"name\":\"index\",\"path\":\"/\",\"component\":__pages_import_4__,\"props\":true,\"title\":\"Floating\",\"subtitle\":\"by Chromatone\"},{\"name\":\"donut\",\"path\":\"/donut\",\"component\":__pages_import_5__,\"props\":true},{\"name\":\"cross\",\"path\":\"/cross\",\"component\":__pages_import_6__,\"props\":true}];\n\nexport default routes;","import { pitchColor, getCircleCoord, notes } from '~/use/chromatone'\nimport { useElementBounding, useStorage } from \"@vueuse/core\";\n\nconst visual = ref()\n\nexport const activeScene = useStorage('active-scene', 'Rose')\n\nexport function useScene() {\n const { width, height } = useElementBounding(visual)\n return { visual, width, height, activeScene }\n}\n","/*!\n * vue-router v4.2.5\n * (c) 2023 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof window !== 'undefined';\n\nfunction isESModule(obj) {\n return obj.__esModule || obj[Symbol.toStringTag] === 'Module';\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n const newParams = {};\n for (const key in params) {\n const value = params[key];\n newParams[key] = isArray(value)\n ? value.map(fn)\n : fn(value);\n }\n return newParams;\n}\nconst noop = () => { };\n/**\n * Typesafe alternative to Array.isArray\n * https://github.com/microsoft/TypeScript/pull/48228\n */\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\n // avoid using ...args as it breaks in older Edge builds\n const args = Array.from(arguments).slice(1);\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\n/**\n * Transforms a URI into a normalized history location\n *\n * @param parseQuery\n * @param location - URI to normalize\n * @param currentLocation - current absolute location. Allows resolving relative\n * paths. Must start with `/`. Defaults to `/`\n * @returns a normalized history location\n */\nfunction parseURL(parseQuery, location, currentLocation = '/') {\n let path, query = {}, searchString = '', hash = '';\n // Could use URL and URLSearchParams but IE 11 doesn't support it\n // TODO: move to new URL()\n const hashPos = location.indexOf('#');\n let searchPos = location.indexOf('?');\n // the hash appears before the search, so it's not part of the search string\n if (hashPos < searchPos && hashPos >= 0) {\n searchPos = -1;\n }\n if (searchPos > -1) {\n path = location.slice(0, searchPos);\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\n query = parseQuery(searchString);\n }\n if (hashPos > -1) {\n path = path || location.slice(0, hashPos);\n // keep the # character\n hash = location.slice(hashPos, location.length);\n }\n // no search and no query\n path = resolveRelativePath(path != null ? path : location, currentLocation);\n // empty path means a relative query or hash `?foo=f`, `#thing`\n return {\n fullPath: path + (searchString && '?') + searchString + hash,\n path,\n query,\n hash,\n };\n}\n/**\n * Stringifies a URL object\n *\n * @param stringifyQuery\n * @param location\n */\nfunction stringifyURL(stringifyQuery, location) {\n const query = location.query ? stringifyQuery(location.query) : '';\n return location.path + (query && '?') + query + (location.hash || '');\n}\n/**\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n *\n * @param pathname - location.pathname\n * @param base - base to strip off\n */\nfunction stripBase(pathname, base) {\n // no base or base is not found at the beginning\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\n return pathname;\n return pathname.slice(base.length) || '/';\n}\n/**\n * Checks if two RouteLocation are equal. This means that both locations are\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\n * parameters and `hash` are the same\n *\n * @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n * @param a - first {@link RouteLocation}\n * @param b - second {@link RouteLocation}\n */\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n const aLastIndex = a.matched.length - 1;\n const bLastIndex = b.matched.length - 1;\n return (aLastIndex > -1 &&\n aLastIndex === bLastIndex &&\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\n isSameRouteLocationParams(a.params, b.params) &&\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\n a.hash === b.hash);\n}\n/**\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\n * considered equal to the `RouteRecord` they are aliasing.\n *\n * @param a - first {@link RouteRecord}\n * @param b - second {@link RouteRecord}\n */\nfunction isSameRouteRecord(a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n if (Object.keys(a).length !== Object.keys(b).length)\n return false;\n for (const key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\n return false;\n }\n return true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n return isArray(a)\n ? isEquivalentArray(a, b)\n : isArray(b)\n ? isEquivalentArray(b, a)\n : a === b;\n}\n/**\n * Check if two arrays are the same or if an array with one single entry is the\n * same as another primitive value. Used to check query and parameters\n *\n * @param a - array of values\n * @param b - array of values or a single value\n */\nfunction isEquivalentArray(a, b) {\n return isArray(b)\n ? a.length === b.length && a.every((value, i) => value === b[i])\n : a.length === 1 && a[0] === b;\n}\n/**\n * Resolves a relative path that starts with `.`.\n *\n * @param to - path location we are resolving\n * @param from - currentLocation.path, should start with `/`\n */\nfunction resolveRelativePath(to, from) {\n if (to.startsWith('/'))\n return to;\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n return to;\n }\n if (!to)\n return from;\n const fromSegments = from.split('/');\n const toSegments = to.split('/');\n const lastToSegment = toSegments[toSegments.length - 1];\n // make . and ./ the same (../ === .., ../../ === ../..)\n // this is the same behavior as new URL()\n if (lastToSegment === '..' || lastToSegment === '.') {\n toSegments.push('');\n }\n let position = fromSegments.length - 1;\n let toPosition;\n let segment;\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n segment = toSegments[toPosition];\n // we stay on the same position\n if (segment === '.')\n continue;\n // go up in the from array\n if (segment === '..') {\n // we can't go below zero, but we still need to increment toPosition\n if (position > 1)\n position--;\n // continue\n }\n // we reached a non-relative path, we stop here\n else\n break;\n }\n return (fromSegments.slice(0, position).join('/') +\n '/' +\n toSegments\n // ensure we use at least the last element in the toSegments\n .slice(toPosition - (toPosition === toSegments.length ? 1 : 0))\n .join('/'));\n}\n\nvar NavigationType;\n(function (NavigationType) {\n NavigationType[\"pop\"] = \"pop\";\n NavigationType[\"push\"] = \"push\";\n})(NavigationType || (NavigationType = {}));\nvar NavigationDirection;\n(function (NavigationDirection) {\n NavigationDirection[\"back\"] = \"back\";\n NavigationDirection[\"forward\"] = \"forward\";\n NavigationDirection[\"unknown\"] = \"\";\n})(NavigationDirection || (NavigationDirection = {}));\n/**\n * Starting location for Histories\n */\nconst START = '';\n// Generic utils\n/**\n * Normalizes a base by removing any trailing slash and reading the base tag if\n * present.\n *\n * @param base - base to normalize\n */\nfunction normalizeBase(base) {\n if (!base) {\n if (isBrowser) {\n // respect tag\n const baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\n }\n else {\n base = '/';\n }\n }\n // ensure leading slash when it was removed by the regex above avoid leading\n // slash with hash because the file could be read from the disk like file://\n // and the leading slash would cause problems\n if (base[0] !== '/' && base[0] !== '#')\n base = '/' + base;\n // remove the trailing slash so all other method can just do `base + fullPath`\n // to build an href\n return removeTrailingSlash(base);\n}\n// remove any character before the hash\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n return base.replace(BEFORE_HASH_RE, '#') + location;\n}\n\nfunction getElementPosition(el, offset) {\n const docRect = document.documentElement.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n return {\n behavior: offset.behavior,\n left: elRect.left - docRect.left - (offset.left || 0),\n top: elRect.top - docRect.top - (offset.top || 0),\n };\n}\nconst computeScrollPosition = () => ({\n left: window.pageXOffset,\n top: window.pageYOffset,\n});\nfunction scrollToPosition(position) {\n let scrollToOptions;\n if ('el' in position) {\n const positionEl = position.el;\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\n /**\n * `id`s can accept pretty much any characters, including CSS combinators\n * like `>` or `~`. It's still possible to retrieve elements using\n * `document.getElementById('~')` but it needs to be escaped when using\n * `document.querySelector('#\\\\~')` for it to be valid. The only\n * requirements for `id`s are them to be unique on the page and to not be\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\n * be properly escaped for it to work with `querySelector`. We could check\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\n * would make things inconsistent since they are valid characters for an\n * `id` but would need to be escaped when using `querySelector`, breaking\n * their usage and ending up in no selector returned. Selectors need to be\n * escaped:\n *\n * - `#1-thing` becomes `#\\31 -thing`\n * - `#with~symbols` becomes `#with\\\\~symbols`\n *\n * - More information about the topic can be found at\n * https://mathiasbynens.be/notes/html5-id-class.\n * - Practical example: https://mathiasbynens.be/demo/html5-id\n */\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\n try {\n const foundEl = document.querySelector(position.el);\n if (isIdSelector && foundEl) {\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n // return to avoid other warnings\n return;\n }\n }\n catch (err) {\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n // return to avoid other warnings\n return;\n }\n }\n }\n const el = typeof positionEl === 'string'\n ? isIdSelector\n ? document.getElementById(positionEl.slice(1))\n : document.querySelector(positionEl)\n : positionEl;\n if (!el) {\n (process.env.NODE_ENV !== 'production') &&\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n return;\n }\n scrollToOptions = getElementPosition(el, position);\n }\n else {\n scrollToOptions = position;\n }\n if ('scrollBehavior' in document.documentElement.style)\n window.scrollTo(scrollToOptions);\n else {\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.pageXOffset, scrollToOptions.top != null ? scrollToOptions.top : window.pageYOffset);\n }\n}\nfunction getScrollKey(path, delta) {\n const position = history.state ? history.state.position - delta : -1;\n return position + path;\n}\nconst scrollPositions = new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n scrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n const scroll = scrollPositions.get(key);\n // consume it so it's not used again\n scrollPositions.delete(key);\n return scroll;\n}\n// TODO: RFC about how to save scroll position\n/**\n * ScrollBehavior instance used by the router to compute and restore the scroll\n * position when navigating.\n */\n// export interface ScrollHandler {\n// // returns a scroll position that can be saved in history\n// compute(): ScrollPositionEntry\n// // can take an extended ScrollPositionEntry\n// scroll(position: ScrollPosition): void\n// }\n// export const scrollHandler: ScrollHandler = {\n// compute: computeScroll,\n// scroll: scrollToPosition,\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\n/**\n * Creates a normalized history location from a window.location object\n * @param base - The base path\n * @param location - The window.location object\n */\nfunction createCurrentLocation(base, location) {\n const { pathname, search, hash } = location;\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\n const hashPos = base.indexOf('#');\n if (hashPos > -1) {\n let slicePos = hash.includes(base.slice(hashPos))\n ? base.slice(hashPos).length\n : 1;\n let pathFromHash = hash.slice(slicePos);\n // prepend the starting slash to hash so the url starts with /#\n if (pathFromHash[0] !== '/')\n pathFromHash = '/' + pathFromHash;\n return stripBase(pathFromHash, '');\n }\n const path = stripBase(pathname, base);\n return path + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n let listeners = [];\n let teardowns = [];\n // TODO: should it be a stack? a Dict. Check if the popstate listener\n // can trigger twice\n let pauseState = null;\n const popStateHandler = ({ state, }) => {\n const to = createCurrentLocation(base, location);\n const from = currentLocation.value;\n const fromState = historyState.value;\n let delta = 0;\n if (state) {\n currentLocation.value = to;\n historyState.value = state;\n // ignore the popstate and reset the pauseState\n if (pauseState && pauseState === from) {\n pauseState = null;\n return;\n }\n delta = fromState ? state.position - fromState.position : 0;\n }\n else {\n replace(to);\n }\n // Here we could also revert the navigation by calling history.go(-delta)\n // this listener will have to be adapted to not trigger again and to wait for the url\n // to be updated before triggering the listeners. Some kind of validation function would also\n // need to be passed to the listeners so the navigation can be accepted\n // call all listeners\n listeners.forEach(listener => {\n listener(currentLocation.value, from, {\n delta,\n type: NavigationType.pop,\n direction: delta\n ? delta > 0\n ? NavigationDirection.forward\n : NavigationDirection.back\n : NavigationDirection.unknown,\n });\n });\n };\n function pauseListeners() {\n pauseState = currentLocation.value;\n }\n function listen(callback) {\n // set up the listener and prepare teardown callbacks\n listeners.push(callback);\n const teardown = () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n teardowns.push(teardown);\n return teardown;\n }\n function beforeUnloadListener() {\n const { history } = window;\n if (!history.state)\n return;\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\n }\n function destroy() {\n for (const teardown of teardowns)\n teardown();\n teardowns = [];\n window.removeEventListener('popstate', popStateHandler);\n window.removeEventListener('beforeunload', beforeUnloadListener);\n }\n // set up the listeners and prepare teardown callbacks\n window.addEventListener('popstate', popStateHandler);\n // TODO: could we use 'pagehide' or 'visibilitychange' instead?\n // https://developer.chrome.com/blog/page-lifecycle-api/\n window.addEventListener('beforeunload', beforeUnloadListener, {\n passive: true,\n });\n return {\n pauseListeners,\n listen,\n destroy,\n };\n}\n/**\n * Creates a state object\n */\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n return {\n back,\n current,\n forward,\n replaced,\n position: window.history.length,\n scroll: computeScroll ? computeScrollPosition() : null,\n };\n}\nfunction useHistoryStateNavigation(base) {\n const { history, location } = window;\n // private variables\n const currentLocation = {\n value: createCurrentLocation(base, location),\n };\n const historyState = { value: history.state };\n // build current history entry as this is a fresh navigation\n if (!historyState.value) {\n changeLocation(currentLocation.value, {\n back: null,\n current: currentLocation.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: history.length - 1,\n replaced: true,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null,\n }, true);\n }\n function changeLocation(to, state, replace) {\n /**\n * if a base tag is provided, and we are on a normal domain, we have to\n * respect the provided `base` attribute because pushState() will use it and\n * potentially erase anything before the `#` like at\n * https://github.com/vuejs/router/issues/685 where a base of\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\n * there is no host, the `` tag makes no sense and if there isn't a\n * base tag we can just use everything after the `#`.\n */\n const hashIndex = base.indexOf('#');\n const url = hashIndex > -1\n ? (location.host && document.querySelector('base')\n ? base\n : base.slice(hashIndex)) + to\n : createBaseLocation() + base + to;\n try {\n // BROWSER QUIRK\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\n historyState.value = state;\n }\n catch (err) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Error with push/replace State', err);\n }\n else {\n console.error(err);\n }\n // Force the navigation, this also resets the call count\n location[replace ? 'replace' : 'assign'](url);\n }\n }\n function replace(to, data) {\n const state = assign({}, history.state, buildState(historyState.value.back, \n // keep back and forward entries but override current position\n to, historyState.value.forward, true), data, { position: historyState.value.position });\n changeLocation(to, state, true);\n currentLocation.value = to;\n }\n function push(to, data) {\n // Add to current entry the information of where we are going\n // as well as saving the current position\n const currentState = assign({}, \n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n historyState.value, history.state, {\n forward: to,\n scroll: computeScrollPosition(),\n });\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\n `history.replaceState(history.state, '', url)\\n\\n` +\n `You can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`);\n }\n changeLocation(currentState.current, currentState, true);\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\n changeLocation(to, state, false);\n currentLocation.value = to;\n }\n return {\n location: currentLocation,\n state: historyState,\n push,\n replace,\n };\n}\n/**\n * Creates an HTML5 history. Most common history for single page applications.\n *\n * @param base -\n */\nfunction createWebHistory(base) {\n base = normalizeBase(base);\n const historyNavigation = useHistoryStateNavigation(base);\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n function go(delta, triggerListeners = true) {\n if (!triggerListeners)\n historyListeners.pauseListeners();\n history.go(delta);\n }\n const routerHistory = assign({\n // it's overridden right after\n location: '',\n base,\n go,\n createHref: createHref.bind(null, base),\n }, historyNavigation, historyListeners);\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => historyNavigation.location.value,\n });\n Object.defineProperty(routerHistory, 'state', {\n enumerable: true,\n get: () => historyNavigation.state.value,\n });\n return routerHistory;\n}\n\n/**\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n *\n * @param base - Base applied to all urls, defaults to '/'\n * @returns a history object that can be passed to the router constructor\n */\nfunction createMemoryHistory(base = '') {\n let listeners = [];\n let queue = [START];\n let position = 0;\n base = normalizeBase(base);\n function setLocation(location) {\n position++;\n if (position !== queue.length) {\n // we are in the middle, we remove everything from here in the queue\n queue.splice(position);\n }\n queue.push(location);\n }\n function triggerListeners(to, from, { direction, delta }) {\n const info = {\n direction,\n delta,\n type: NavigationType.pop,\n };\n for (const callback of listeners) {\n callback(to, from, info);\n }\n }\n const routerHistory = {\n // rewritten by Object.defineProperty\n location: START,\n // TODO: should be kept in queue\n state: {},\n base,\n createHref: createHref.bind(null, base),\n replace(to) {\n // remove current entry and decrement position\n queue.splice(position--, 1);\n setLocation(to);\n },\n push(to, data) {\n setLocation(to);\n },\n listen(callback) {\n listeners.push(callback);\n return () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n },\n destroy() {\n listeners = [];\n queue = [START];\n position = 0;\n },\n go(delta, shouldTrigger = true) {\n const from = this.location;\n const direction = \n // we are considering delta === 0 going forward, but in abstract mode\n // using 0 for the delta doesn't make sense like it does in html5 where\n // it reloads the page\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\n if (shouldTrigger) {\n triggerListeners(this.location, from, {\n direction,\n delta,\n });\n }\n },\n };\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => queue[position],\n });\n return routerHistory;\n}\n\n/**\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n * handle any URL is not possible.\n *\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n * after the `#`).\n *\n * @example\n * ```js\n * // at https://example.com/folder\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n * // you should avoid doing this because it changes the original url and breaks copying urls\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n *\n * // at file:///usr/etc/folder/index.html\n * // for locations with no `host`, the base is ignored\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n * ```\n */\nfunction createWebHashHistory(base) {\n // Make sure this implementation is fine in terms of encoding, specially for IE11\n // for `file://`, directly use the pathname and ignore the base\n // location.pathname contains an initial `/` even at the root: `https://example.com`\n base = location.host ? base || location.pathname + location.search : '';\n // allow the user to provide a `#` in the middle: `/base/#/app`\n if (!base.includes('#'))\n base += '#';\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\n }\n return createWebHistory(base);\n}\n\nfunction isRouteLocation(route) {\n return typeof route === 'string' || (route && typeof route === 'object');\n}\nfunction isRouteName(name) {\n return typeof name === 'string' || typeof name === 'symbol';\n}\n\n/**\n * Initial route location where the router is. Can be used in navigation guards\n * to differentiate the initial navigation.\n *\n * @example\n * ```js\n * import { START_LOCATION } from 'vue-router'\n *\n * router.beforeEach((to, from) => {\n * if (from === START_LOCATION) {\n * // initial navigation\n * }\n * })\n * ```\n */\nconst START_LOCATION_NORMALIZED = {\n path: '/',\n name: undefined,\n params: {},\n query: {},\n hash: '',\n fullPath: '/',\n matched: [],\n meta: {},\n redirectedFrom: undefined,\n};\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\n/**\n * Enumeration with all possible types for navigation failures. Can be passed to\n * {@link isNavigationFailure} to check for specific failures.\n */\nvar NavigationFailureType;\n(function (NavigationFailureType) {\n /**\n * An aborted navigation is a navigation that failed because a navigation\n * guard returned `false` or called `next(false)`\n */\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n /**\n * A cancelled navigation is a navigation that failed because a more recent\n * navigation finished started (not necessarily finished).\n */\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n /**\n * A duplicated navigation is a navigation that failed because it was\n * initiated while already being at the exact same location.\n */\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n})(NavigationFailureType || (NavigationFailureType = {}));\n// DEV only debug messages\nconst ErrorTypeMessages = {\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\n : ''}`;\n },\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n },\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n },\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n },\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n },\n};\nfunction createRouterError(type, params) {\n // keep full error messages in cjs versions\n if ((process.env.NODE_ENV !== 'production') || !true) {\n return assign(new Error(ErrorTypeMessages[type](params)), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n else {\n return assign(new Error(), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n}\nfunction isNavigationFailure(error, type) {\n return (error instanceof Error &&\n NavigationFailureSymbol in error &&\n (type == null || !!(error.type & type)));\n}\nconst propertiesToLog = ['params', 'query', 'hash'];\nfunction stringifyRoute(to) {\n if (typeof to === 'string')\n return to;\n if ('path' in to)\n return to.path;\n const location = {};\n for (const key of propertiesToLog) {\n if (key in to)\n location[key] = to[key];\n }\n return JSON.stringify(location, null, 2);\n}\n\n// default pattern for a param: non-greedy everything but /\nconst BASE_PARAM_PATTERN = '[^/]+?';\nconst BASE_PATH_PARSER_OPTIONS = {\n sensitive: false,\n strict: false,\n start: true,\n end: true,\n};\n// Special Regex characters that must be escaped in static tokens\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\n *\n * @param segments - array of segments returned by tokenizePath\n * @param extraOptions - optional options for the regexp\n * @returns a PathParser\n */\nfunction tokensToParser(segments, extraOptions) {\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\n const score = [];\n // the regexp as a string\n let pattern = options.start ? '^' : '';\n // extracted keys\n const keys = [];\n for (const segment of segments) {\n // the root segment needs special treatment\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\n // allow trailing slash\n if (options.strict && !segment.length)\n pattern += '/';\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n const token = segment[tokenIndex];\n // resets the score if we are inside a sub-segment /:a-other-:b\n let subSegmentScore = 40 /* PathScore.Segment */ +\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\n if (token.type === 0 /* TokenType.Static */) {\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n pattern += '/';\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\n subSegmentScore += 40 /* PathScore.Static */;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional, regexp } = token;\n keys.push({\n name: value,\n repeatable,\n optional,\n });\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\n // the user provided a custom regexp /:id(\\\\d+)\n if (re !== BASE_PARAM_PATTERN) {\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\n // make sure the regexp is valid before using it\n try {\n new RegExp(`(${re})`);\n }\n catch (err) {\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\n err.message);\n }\n }\n // when we repeat we must take care of the repeating leading slash\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n subPattern =\n // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n optional && segment.length < 2\n ? `(?:/${subPattern})`\n : '/' + subPattern;\n if (optional)\n subPattern += '?';\n pattern += subPattern;\n subSegmentScore += 20 /* PathScore.Dynamic */;\n if (optional)\n subSegmentScore += -8 /* PathScore.BonusOptional */;\n if (repeatable)\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\n if (re === '.*')\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\n }\n segmentScores.push(subSegmentScore);\n }\n // an empty array like /home/ -> [[{home}], []]\n // if (!segment.length) pattern += '/'\n score.push(segmentScores);\n }\n // only apply the strict bonus to the last score\n if (options.strict && options.end) {\n const i = score.length - 1;\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\n }\n // TODO: dev only warn double trailing slash\n if (!options.strict)\n pattern += '/?';\n if (options.end)\n pattern += '$';\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\n else if (options.strict)\n pattern += '(?:/|$)';\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\n function parse(path) {\n const match = path.match(re);\n const params = {};\n if (!match)\n return null;\n for (let i = 1; i < match.length; i++) {\n const value = match[i] || '';\n const key = keys[i - 1];\n params[key.name] = value && key.repeatable ? value.split('/') : value;\n }\n return params;\n }\n function stringify(params) {\n let path = '';\n // for optional parameters to allow to be empty\n let avoidDuplicatedSlash = false;\n for (const segment of segments) {\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\n path += '/';\n avoidDuplicatedSlash = false;\n for (const token of segment) {\n if (token.type === 0 /* TokenType.Static */) {\n path += token.value;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional } = token;\n const param = value in params ? params[value] : '';\n if (isArray(param) && !repeatable) {\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n }\n const text = isArray(param)\n ? param.join('/')\n : param;\n if (!text) {\n if (optional) {\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\n if (segment.length < 2) {\n // remove the last slash as we could be at the end\n if (path.endsWith('/'))\n path = path.slice(0, -1);\n // do not append a slash on the next iteration\n else\n avoidDuplicatedSlash = true;\n }\n }\n else\n throw new Error(`Missing required param \"${value}\"`);\n }\n path += text;\n }\n }\n }\n // avoid empty path when we have multiple optional params\n return path || '/';\n }\n return {\n re,\n score,\n keys,\n parse,\n stringify,\n };\n}\n/**\n * Compares an array of numbers as used in PathParser.score and returns a\n * number. This function can be used to `sort` an array\n *\n * @param a - first array of numbers\n * @param b - second array of numbers\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n * should be sorted first\n */\nfunction compareScoreArray(a, b) {\n let i = 0;\n while (i < a.length && i < b.length) {\n const diff = b[i] - a[i];\n // only keep going if diff === 0\n if (diff)\n return diff;\n i++;\n }\n // if the last subsegment was Static, the shorter segments should be sorted first\n // otherwise sort the longest segment first\n if (a.length < b.length) {\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? -1\n : 1;\n }\n else if (a.length > b.length) {\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? 1\n : -1;\n }\n return 0;\n}\n/**\n * Compare function that can be used with `sort` to sort an array of PathParser\n *\n * @param a - first PathParser\n * @param b - second PathParser\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n */\nfunction comparePathParserScore(a, b) {\n let i = 0;\n const aScore = a.score;\n const bScore = b.score;\n while (i < aScore.length && i < bScore.length) {\n const comp = compareScoreArray(aScore[i], bScore[i]);\n // do not return if both are equal\n if (comp)\n return comp;\n i++;\n }\n if (Math.abs(bScore.length - aScore.length) === 1) {\n if (isLastScoreNegative(aScore))\n return 1;\n if (isLastScoreNegative(bScore))\n return -1;\n }\n // if a and b share the same score entries but b has more, sort b first\n return bScore.length - aScore.length;\n // this is the ternary version\n // return aScore.length < bScore.length\n // ? 1\n // : aScore.length > bScore.length\n // ? -1\n // : 0\n}\n/**\n * This allows detecting splats at the end of a path: /home/:id(.*)*\n *\n * @param score - score to check\n * @returns true if the last entry is negative\n */\nfunction isLastScoreNegative(score) {\n const last = score[score.length - 1];\n return score.length > 0 && last[last.length - 1] < 0;\n}\n\nconst ROOT_TOKEN = {\n type: 0 /* TokenType.Static */,\n value: '',\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\n// After some profiling, the cache seems to be unnecessary because tokenizePath\n// (the slowest part of adding a route) is very fast\n// const tokenCache = new Map()\nfunction tokenizePath(path) {\n if (!path)\n return [[]];\n if (path === '/')\n return [[ROOT_TOKEN]];\n if (!path.startsWith('/')) {\n throw new Error((process.env.NODE_ENV !== 'production')\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\n : `Invalid path \"${path}\"`);\n }\n // if (tokenCache.has(path)) return tokenCache.get(path)!\n function crash(message) {\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n }\n let state = 0 /* TokenizerState.Static */;\n let previousState = state;\n const tokens = [];\n // the segment will always be valid because we get into the initial state\n // with the leading /\n let segment;\n function finalizeSegment() {\n if (segment)\n tokens.push(segment);\n segment = [];\n }\n // index on the path\n let i = 0;\n // char at index\n let char;\n // buffer of the value read\n let buffer = '';\n // custom regexp for a param\n let customRe = '';\n function consumeBuffer() {\n if (!buffer)\n return;\n if (state === 0 /* TokenizerState.Static */) {\n segment.push({\n type: 0 /* TokenType.Static */,\n value: buffer,\n });\n }\n else if (state === 1 /* TokenizerState.Param */ ||\n state === 2 /* TokenizerState.ParamRegExp */ ||\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\n if (segment.length > 1 && (char === '*' || char === '+'))\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n segment.push({\n type: 1 /* TokenType.Param */,\n value: buffer,\n regexp: customRe,\n repeatable: char === '*' || char === '+',\n optional: char === '*' || char === '?',\n });\n }\n else {\n crash('Invalid state to consume buffer');\n }\n buffer = '';\n }\n function addCharToBuffer() {\n buffer += char;\n }\n while (i < path.length) {\n char = path[i++];\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\n previousState = state;\n state = 4 /* TokenizerState.EscapeNext */;\n continue;\n }\n switch (state) {\n case 0 /* TokenizerState.Static */:\n if (char === '/') {\n if (buffer) {\n consumeBuffer();\n }\n finalizeSegment();\n }\n else if (char === ':') {\n consumeBuffer();\n state = 1 /* TokenizerState.Param */;\n }\n else {\n addCharToBuffer();\n }\n break;\n case 4 /* TokenizerState.EscapeNext */:\n addCharToBuffer();\n state = previousState;\n break;\n case 1 /* TokenizerState.Param */:\n if (char === '(') {\n state = 2 /* TokenizerState.ParamRegExp */;\n }\n else if (VALID_PARAM_RE.test(char)) {\n addCharToBuffer();\n }\n else {\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n }\n break;\n case 2 /* TokenizerState.ParamRegExp */:\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\n // it already works by escaping the closing )\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\n // is this really something people need since you can also write\n // /prefix_:p()_suffix\n if (char === ')') {\n // handle the escaped )\n if (customRe[customRe.length - 1] == '\\\\')\n customRe = customRe.slice(0, -1) + char;\n else\n state = 3 /* TokenizerState.ParamRegExpEnd */;\n }\n else {\n customRe += char;\n }\n break;\n case 3 /* TokenizerState.ParamRegExpEnd */:\n // same as finalizing a param\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n customRe = '';\n break;\n default:\n crash('Unknown state');\n break;\n }\n }\n if (state === 2 /* TokenizerState.ParamRegExp */)\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n consumeBuffer();\n finalizeSegment();\n // tokenCache.set(path, tokens)\n return tokens;\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\n const parser = tokensToParser(tokenizePath(record.path), options);\n // warn against params with the same name\n if ((process.env.NODE_ENV !== 'production')) {\n const existingKeys = new Set();\n for (const key of parser.keys) {\n if (existingKeys.has(key.name))\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n existingKeys.add(key.name);\n }\n }\n const matcher = assign(parser, {\n record,\n parent,\n // these needs to be populated by the parent\n children: [],\n alias: [],\n });\n if (parent) {\n // both are aliases or both are not aliases\n // we don't want to mix them because the order is used when\n // passing originalRecord in Matcher.addRoute\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\n parent.children.push(matcher);\n }\n return matcher;\n}\n\n/**\n * Creates a Router Matcher.\n *\n * @internal\n * @param routes - array of initial routes\n * @param globalOptions - global route options\n */\nfunction createRouterMatcher(routes, globalOptions) {\n // normalized ordered array of matchers\n const matchers = [];\n const matcherMap = new Map();\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\n function getRecordMatcher(name) {\n return matcherMap.get(name);\n }\n function addRoute(record, parent, originalRecord) {\n // used later on to remove by name\n const isRootAdd = !originalRecord;\n const mainNormalizedRecord = normalizeRouteRecord(record);\n if ((process.env.NODE_ENV !== 'production')) {\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n }\n // we might be the child of an alias\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n const options = mergeOptions(globalOptions, record);\n // generate an array of records to correctly handle aliases\n const normalizedRecords = [\n mainNormalizedRecord,\n ];\n if ('alias' in record) {\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\n for (const alias of aliases) {\n normalizedRecords.push(assign({}, mainNormalizedRecord, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: originalRecord\n ? originalRecord.record.components\n : mainNormalizedRecord.components,\n path: alias,\n // we might be the child of an alias\n aliasOf: originalRecord\n ? originalRecord.record\n : mainNormalizedRecord,\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n }));\n }\n }\n let matcher;\n let originalMatcher;\n for (const normalizedRecord of normalizedRecords) {\n const { path } = normalizedRecord;\n // Build up the path for nested routes if the child isn't an absolute\n // route. Only add the / delimiter if the child path isn't empty and if the\n // parent path doesn't have a trailing slash\n if (parent && path[0] !== '/') {\n const parentPath = parent.record.path;\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\n normalizedRecord.path =\n parent.record.path + (path && connectingSlash + path);\n }\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\n 'See more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.');\n }\n // create the object beforehand, so it can be passed to children\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\n checkMissingParamsInAbsolutePath(matcher, parent);\n // if we are an alias we must tell the original record that we exist,\n // so we can be removed\n if (originalRecord) {\n originalRecord.alias.push(matcher);\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameParams(originalRecord, matcher);\n }\n }\n else {\n // otherwise, the first record is the original and others are aliases\n originalMatcher = originalMatcher || matcher;\n if (originalMatcher !== matcher)\n originalMatcher.alias.push(matcher);\n // remove the route if named and only for the top record (avoid in nested calls)\n // this works because the original record is the first one\n if (isRootAdd && record.name && !isAliasRecord(matcher))\n removeRoute(record.name);\n }\n if (mainNormalizedRecord.children) {\n const children = mainNormalizedRecord.children;\n for (let i = 0; i < children.length; i++) {\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n }\n }\n // if there was no original record, then the first one was not an alias and all\n // other aliases (if any) need to reference this record when adding children\n originalRecord = originalRecord || matcher;\n // TODO: add normalized records for more flexibility\n // if (parent && isAliasRecord(originalRecord)) {\n // parent.children.push(originalRecord)\n // }\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\n // not be reached and pass through the catch all route\n if ((matcher.record.components &&\n Object.keys(matcher.record.components).length) ||\n matcher.record.name ||\n matcher.record.redirect) {\n insertMatcher(matcher);\n }\n }\n return originalMatcher\n ? () => {\n // since other matchers are aliases, they should be removed by the original matcher\n removeRoute(originalMatcher);\n }\n : noop;\n }\n function removeRoute(matcherRef) {\n if (isRouteName(matcherRef)) {\n const matcher = matcherMap.get(matcherRef);\n if (matcher) {\n matcherMap.delete(matcherRef);\n matchers.splice(matchers.indexOf(matcher), 1);\n matcher.children.forEach(removeRoute);\n matcher.alias.forEach(removeRoute);\n }\n }\n else {\n const index = matchers.indexOf(matcherRef);\n if (index > -1) {\n matchers.splice(index, 1);\n if (matcherRef.record.name)\n matcherMap.delete(matcherRef.record.name);\n matcherRef.children.forEach(removeRoute);\n matcherRef.alias.forEach(removeRoute);\n }\n }\n }\n function getRoutes() {\n return matchers;\n }\n function insertMatcher(matcher) {\n let i = 0;\n while (i < matchers.length &&\n comparePathParserScore(matcher, matchers[i]) >= 0 &&\n // Adding children with empty path should still appear before the parent\n // https://github.com/vuejs/router/issues/1124\n (matcher.record.path !== matchers[i].record.path ||\n !isRecordChildOf(matcher, matchers[i])))\n i++;\n matchers.splice(i, 0, matcher);\n // only add the original record to the name map\n if (matcher.record.name && !isAliasRecord(matcher))\n matcherMap.set(matcher.record.name, matcher);\n }\n function resolve(location, currentLocation) {\n let matcher;\n let params = {};\n let path;\n let name;\n if ('name' in location && location.name) {\n matcher = matcherMap.get(location.name);\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n });\n // warn if the user is passing invalid params so they can debug it better when they get removed\n if ((process.env.NODE_ENV !== 'production')) {\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\n if (invalidParams.length) {\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n }\n name = matcher.record.name;\n params = assign(\n // paramsFromLocation is a new object\n paramsFromLocation(currentLocation.params, \n // only keep params that exist in the resolved location\n // TODO: only keep optional params coming from a parent record\n matcher.keys.filter(k => !k.optional).map(k => k.name)), \n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n location.params &&\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\n // throws if cannot be stringified\n path = matcher.stringify(params);\n }\n else if ('path' in location) {\n // no need to resolve the path with the matcher as it was provided\n // this also allows the user to control the encoding\n path = location.path;\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n }\n matcher = matchers.find(m => m.re.test(path));\n // matcher should have a value after the loop\n if (matcher) {\n // we know the matcher works because we tested the regexp\n params = matcher.parse(path);\n name = matcher.record.name;\n }\n // location is a relative path\n }\n else {\n // match by name or path of current route\n matcher = currentLocation.name\n ? matcherMap.get(currentLocation.name)\n : matchers.find(m => m.re.test(currentLocation.path));\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n currentLocation,\n });\n name = matcher.record.name;\n // since we are navigating to the same location, we don't need to pick the\n // params like when `name` is provided\n params = assign({}, currentLocation.params, location.params);\n path = matcher.stringify(params);\n }\n const matched = [];\n let parentMatcher = matcher;\n while (parentMatcher) {\n // reversed order so parents are at the beginning\n matched.unshift(parentMatcher.record);\n parentMatcher = parentMatcher.parent;\n }\n return {\n name,\n path,\n params,\n matched,\n meta: mergeMetaFields(matched),\n };\n }\n // add initial routes\n routes.forEach(route => addRoute(route));\n return { addRoute, resolve, removeRoute, getRoutes, getRecordMatcher };\n}\nfunction paramsFromLocation(params, keys) {\n const newParams = {};\n for (const key of keys) {\n if (key in params)\n newParams[key] = params[key];\n }\n return newParams;\n}\n/**\n * Normalizes a RouteRecordRaw. Creates a copy\n *\n * @param record\n * @returns the normalized version\n */\nfunction normalizeRouteRecord(record) {\n return {\n path: record.path,\n redirect: record.redirect,\n name: record.name,\n meta: record.meta || {},\n aliasOf: undefined,\n beforeEnter: record.beforeEnter,\n props: normalizeRecordProps(record),\n children: record.children || [],\n instances: {},\n leaveGuards: new Set(),\n updateGuards: new Set(),\n enterCallbacks: {},\n components: 'components' in record\n ? record.components || null\n : record.component && { default: record.component },\n };\n}\n/**\n * Normalize the optional `props` in a record to always be an object similar to\n * components. Also accept a boolean for components.\n * @param record\n */\nfunction normalizeRecordProps(record) {\n const propsObject = {};\n // props does not exist on redirect records, but we can set false directly\n const props = record.props || false;\n if ('component' in record) {\n propsObject.default = props;\n }\n else {\n // NOTE: we could also allow a function to be applied to every component.\n // Would need user feedback for use cases\n for (const name in record.components)\n propsObject[name] = typeof props === 'object' ? props[name] : props;\n }\n return propsObject;\n}\n/**\n * Checks if a record or any of its parent is an alias\n * @param record\n */\nfunction isAliasRecord(record) {\n while (record) {\n if (record.record.aliasOf)\n return true;\n record = record.parent;\n }\n return false;\n}\n/**\n * Merge meta fields of an array of records\n *\n * @param matched - array of matched records\n */\nfunction mergeMetaFields(matched) {\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction mergeOptions(defaults, partialOptions) {\n const options = {};\n for (const key in defaults) {\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n }\n return options;\n}\nfunction isSameParam(a, b) {\n return (a.name === b.name &&\n a.optional === b.optional &&\n a.repeatable === b.repeatable);\n}\n/**\n * Check if a path and its alias have the same required params\n *\n * @param a - original record\n * @param b - alias record\n */\nfunction checkSameParams(a, b) {\n for (const key of a.keys) {\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n for (const key of b.keys) {\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n}\n/**\n * A route with a name and a child with an empty path without a name should warn when adding the route\n *\n * @param mainNormalizedRecord - RouteRecordNormalized\n * @param parent - RouteRecordMatcher\n */\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n if (parent &&\n parent.record.name &&\n !mainNormalizedRecord.name &&\n !mainNormalizedRecord.path) {\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n }\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n for (const key of parent.keys) {\n if (!record.keys.find(isSameParam.bind(null, key)))\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n }\n}\nfunction isRecordChildOf(record, parent) {\n return parent.children.some(child => child === record || isRecordChildOf(record, child));\n}\n\n/**\n * Encoding Rules ␣ = Space Path: ␣ \" < > # ? { } Query: ␣ \" < > # & = Hash: ␣ \"\n * < > `\n *\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n * defines some extra characters to be encoded. Most browsers do not encode them\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n * plus `-._~`. This extra safety should be applied to query by patching the\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\n * encoded everywhere because some browsers like FF encode it when directly\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n */\n// const EXTRA_RESERVED_RE = /[!'()*]/g\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\nconst HASH_RE = /#/g; // %23\nconst AMPERSAND_RE = /&/g; // %26\nconst SLASH_RE = /\\//g; // %2F\nconst EQUAL_RE = /=/g; // %3D\nconst IM_RE = /\\?/g; // %3F\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\n * seems to be less flexible than not doing so and I can't find out the legacy\n * systems requiring this for regular requests like text/html. In the standard,\n * the encoding of the plus character is only mentioned for\n * application/x-www-form-urlencoded\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n * leave the plus character as is in queries. To be more flexible, we allow the\n * plus character on the query, but it can also be manually encoded by the user.\n *\n * Resources:\n * - https://url.spec.whatwg.org/#urlencoded-parsing\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n */\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\nconst ENC_CARET_RE = /%5E/g; // ^\nconst ENC_BACKTICK_RE = /%60/g; // `\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\nconst ENC_PIPE_RE = /%7C/g; // |\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\nconst ENC_SPACE_RE = /%20/g; // }\n/**\n * Encode characters that need to be encoded on the path, search and hash\n * sections of the URL.\n *\n * @internal\n * @param text - string to encode\n * @returns encoded string\n */\nfunction commonEncode(text) {\n return encodeURI('' + text)\n .replace(ENC_PIPE_RE, '|')\n .replace(ENC_BRACKET_OPEN_RE, '[')\n .replace(ENC_BRACKET_CLOSE_RE, ']');\n}\n/**\n * Encode characters that need to be encoded on the hash section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeHash(text) {\n return commonEncode(text)\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^');\n}\n/**\n * Encode characters that need to be encoded query values on the query\n * section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeQueryValue(text) {\n return (commonEncode(text)\n // Encode the space as +, encode the + to differentiate it from the space\n .replace(PLUS_RE, '%2B')\n .replace(ENC_SPACE_RE, '+')\n .replace(HASH_RE, '%23')\n .replace(AMPERSAND_RE, '%26')\n .replace(ENC_BACKTICK_RE, '`')\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^'));\n}\n/**\n * Like `encodeQueryValue` but also encodes the `=` character.\n *\n * @param text - string to encode\n */\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodePath(text) {\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL as a\n * param. This function encodes everything {@link encodePath} does plus the\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n * string instead.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeParam(text) {\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) {\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\n }\n return '' + text;\n}\n\n/**\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n * version with the leading `?` and without Should work as URLSearchParams\n\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n const eqPos = searchParam.indexOf('=');\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n/**\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n * doesn't prepend a `?`\n *\n * @internal\n *\n * @param query - query object to stringify\n * @returns string version of the query without the leading `?`\n */\nfunction stringifyQuery(query) {\n let search = '';\n for (let key in query) {\n const value = query[key];\n key = encodeQueryKey(key);\n if (value == null) {\n // only null adds the value\n if (value !== undefined) {\n search += (search.length ? '&' : '') + key;\n }\n continue;\n }\n // keep null values\n const values = isArray(value)\n ? value.map(v => v && encodeQueryValue(v))\n : [value && encodeQueryValue(value)];\n values.forEach(value => {\n // skip undefined values in arrays as if they were not present\n // smaller code than using filter\n if (value !== undefined) {\n // only append & with non-empty search\n search += (search.length ? '&' : '') + key;\n if (value != null)\n search += '=' + value;\n }\n });\n }\n return search;\n}\n/**\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n * numbers into strings, removing keys with an undefined value and replacing\n * undefined with null in arrays\n *\n * @param query - query object to normalize\n * @returns a normalized query object\n */\nfunction normalizeQuery(query) {\n const normalizedQuery = {};\n for (const key in query) {\n const value = query[key];\n if (value !== undefined) {\n normalizedQuery[key] = isArray(value)\n ? value.map(v => (v == null ? null : '' + v))\n : value == null\n ? value\n : '' + value;\n }\n }\n return normalizedQuery;\n}\n\n/**\n * RouteRecord being rendered by the closest ancestor Router View. Used for\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n * Location Matched\n *\n * @internal\n */\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\n/**\n * Allows overriding the router view depth to control which component in\n * `matched` is rendered. rvd stands for Router View Depth\n *\n * @internal\n */\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\n/**\n * Allows overriding the router instance returned by `useRouter` in tests. r\n * stands for router\n *\n * @internal\n */\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\n/**\n * Allows overriding the current route returned by `useRoute` in tests. rl\n * stands for route location\n *\n * @internal\n */\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\n/**\n * Allows overriding the current route used by router-view. Internally this is\n * used when the `route` prop is passed.\n *\n * @internal\n */\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n */\nfunction useCallbacks() {\n let handlers = [];\n function add(handler) {\n handlers.push(handler);\n return () => {\n const i = handlers.indexOf(handler);\n if (i > -1)\n handlers.splice(i, 1);\n };\n }\n function reset() {\n handlers = [];\n }\n return {\n add,\n list: () => handlers.slice(),\n reset,\n };\n}\n\nfunction registerGuard(record, name, guard) {\n const removeFromList = () => {\n record[name].delete(guard);\n };\n onUnmounted(removeFromList);\n onDeactivated(removeFromList);\n onActivated(() => {\n record[name].add(guard);\n });\n record[name].add(guard);\n}\n/**\n * Add a navigation guard that triggers whenever the component for the current\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\n * used in any component. The guard is removed when the component is unmounted.\n *\n * @param leaveGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteLeave(leaveGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\n}\n/**\n * Add a navigation guard that triggers whenever the current location is about\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n * component. The guard is removed when the component is unmounted.\n *\n * @param updateGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteUpdate(updateGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'updateGuards', updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name) {\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\n const enterCallbackArray = record &&\n // name is defined if record is because of the function overload\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n return () => new Promise((resolve, reject) => {\n const next = (valid) => {\n if (valid === false) {\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\n from,\n to,\n }));\n }\n else if (valid instanceof Error) {\n reject(valid);\n }\n else if (isRouteLocation(valid)) {\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\n from: to,\n to: valid,\n }));\n }\n else {\n if (enterCallbackArray &&\n // since enterCallbackArray is truthy, both record and name also are\n record.enterCallbacks[name] === enterCallbackArray &&\n typeof valid === 'function') {\n enterCallbackArray.push(valid);\n }\n resolve();\n }\n };\n // wrapping with Promise.resolve allows it to work with both async and sync guards\n const guardReturn = guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next);\n let guardCall = Promise.resolve(guardReturn);\n if (guard.length < 3)\n guardCall = guardCall.then(next);\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\n guardCall = guardCall.then(resolvedValue => {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n return Promise.reject(new Error('Invalid navigation guard'));\n }\n return resolvedValue;\n });\n }\n else if (guardReturn !== undefined) {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n reject(new Error('Invalid navigation guard'));\n return;\n }\n }\n }\n guardCall.catch(err => reject(err));\n });\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n let called = 0;\n return function () {\n if (called++ === 1)\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n // @ts-expect-error: we put it in the original one because it's easier to check\n next._called = true;\n if (called === 1)\n next.apply(null, arguments);\n };\n}\nfunction extractComponentsGuards(matched, guardType, to, from) {\n const guards = [];\n for (const record of matched) {\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\n ` or \"children\" property.`);\n }\n for (const name in record.components) {\n let rawComponent = record.components[name];\n if ((process.env.NODE_ENV !== 'production')) {\n if (!rawComponent ||\n (typeof rawComponent !== 'object' &&\n typeof rawComponent !== 'function')) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\n ` a valid component. Received \"${String(rawComponent)}\".`);\n // throw to ensure we stop here but warn to ensure the message isn't\n // missed by the user\n throw new Error('Invalid route component');\n }\n else if ('then' in rawComponent) {\n // warn if user wrote import('/component.vue') instead of () =>\n // import('./component.vue')\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\n `Promise instead of a function that returns a Promise. Did you ` +\n `write \"import('./MyPage.vue')\" instead of ` +\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\n `production if not fixed.`);\n const promise = rawComponent;\n rawComponent = () => promise;\n }\n else if (rawComponent.__asyncLoader &&\n // warn only once per component\n !rawComponent.__warnedDefineAsync) {\n rawComponent.__warnedDefineAsync = true;\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\n `using \"defineAsyncComponent()\". ` +\n `Write \"() => import('./MyPage.vue')\" instead of ` +\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n }\n }\n // skip update and leave guards if the route component is not mounted\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\n continue;\n if (isRouteComponent(rawComponent)) {\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = rawComponent.__vccOpts || rawComponent;\n const guard = options[guardType];\n guard && guards.push(guardToPromiseFn(guard, to, from, record, name));\n }\n else {\n // start requesting the chunk already\n let componentPromise = rawComponent();\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n componentPromise = Promise.resolve(componentPromise);\n }\n guards.push(() => componentPromise.then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = resolvedComponent.__vccOpts || resolvedComponent;\n const guard = options[guardType];\n return guard && guardToPromiseFn(guard, to, from, record, name)();\n }));\n }\n }\n }\n return guards;\n}\n/**\n * Allows differentiating lazy components from functional components and vue-class-component\n * @internal\n *\n * @param component\n */\nfunction isRouteComponent(component) {\n return (typeof component === 'object' ||\n 'displayName' in component ||\n 'props' in component ||\n '__vccOpts' in component);\n}\n/**\n * Ensures a route is loaded, so it can be passed as o prop to ``.\n *\n * @param route - resolved route to load\n */\nfunction loadRouteLocation(route) {\n return route.matched.every(record => record.redirect)\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\n : Promise.all(route.matched.map(record => record.components &&\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\n const rawComponent = record.components[name];\n if (typeof rawComponent === 'function' &&\n !('displayName' in rawComponent)) {\n promises.push(rawComponent().then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n return;\n }));\n }\n return promises;\n }, [])))).then(() => route);\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\n// `isExactActive` behavior should go through an RFC\nfunction useLink(props) {\n const router = inject(routerKey);\n const currentRoute = inject(routeLocationKey);\n const route = computed(() => router.resolve(unref(props.to)));\n const activeRecordIndex = computed(() => {\n const { matched } = route.value;\n const { length } = matched;\n const routeMatched = matched[length - 1];\n const currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length)\n return -1;\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n if (index > -1)\n return index;\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[length - 2]);\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n getOriginalPath(routeMatched) === parentRecordPath &&\n // avoid comparing the child with its parent\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\n : index);\n });\n const isActive = computed(() => activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, route.value.params));\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, route.value.params));\n function navigate(e = {}) {\n if (guardEvent(e)) {\n return router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\n // avoid uncaught errors are they are logged anyway\n ).catch(noop);\n }\n return Promise.resolve();\n }\n // devtools only\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n const instance = getCurrentInstance();\n if (instance) {\n const linkContextDevtools = {\n route: route.value,\n isActive: isActive.value,\n isExactActive: isExactActive.value,\n };\n // @ts-expect-error: this is internal\n instance.__vrl_devtools = instance.__vrl_devtools || [];\n // @ts-expect-error: this is internal\n instance.__vrl_devtools.push(linkContextDevtools);\n watchEffect(() => {\n linkContextDevtools.route = route.value;\n linkContextDevtools.isActive = isActive.value;\n linkContextDevtools.isExactActive = isExactActive.value;\n }, { flush: 'post' });\n }\n }\n /**\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n */\n return {\n route,\n href: computed(() => route.value.href),\n isActive,\n isExactActive,\n navigate,\n };\n}\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterLink',\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: true,\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: 'page',\n },\n },\n useLink,\n setup(props, { slots }) {\n const link = reactive(useLink(props));\n const { options } = inject(routerKey);\n const elClass = computed(() => ({\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\n }));\n return () => {\n const children = slots.default && slots.default(link);\n return props.custom\n ? children\n : h('a', {\n 'aria-current': link.isExactActive\n ? props.ariaCurrentValue\n : null,\n href: link.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: link.navigate,\n class: elClass.value,\n }, children);\n };\n },\n});\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to render a link that triggers a navigation on click.\n */\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\n return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented)\n return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0)\n return;\n // don't redirect if `target=\"_blank\"`\n // @ts-expect-error getAttribute does exist\n if (e.currentTarget && e.currentTarget.getAttribute) {\n // @ts-expect-error getAttribute exists\n const target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target))\n return;\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault)\n e.preventDefault();\n return true;\n}\nfunction includesParams(outer, inner) {\n for (const key in inner) {\n const innerValue = inner[key];\n const outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue)\n return false;\n }\n else {\n if (!isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some((value, i) => value !== outerValue[i]))\n return false;\n }\n }\n return true;\n}\n/**\n * Get the original path value of a record by following its aliasOf\n * @param record\n */\nfunction getOriginalPath(record) {\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\n}\n/**\n * Utility class to get the active class based on defaults.\n * @param propClass\n * @param globalClass\n * @param defaultClass\n */\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\n ? propClass\n : globalClass != null\n ? globalClass\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterView',\n // #674 we manually inherit them\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n default: 'default',\n },\n route: Object,\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(props, { attrs, slots }) {\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\n const injectedRoute = inject(routerViewLocationKey);\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\n const injectedDepth = inject(viewDepthKey, 0);\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\n // that are used to reuse the `path` property\n const depth = computed(() => {\n let initialDepth = unref(injectedDepth);\n const { matched } = routeToDisplay.value;\n let matchedRoute;\n while ((matchedRoute = matched[initialDepth]) &&\n !matchedRoute.components) {\n initialDepth++;\n }\n return initialDepth;\n });\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n provide(viewDepthKey, computed(() => depth.value + 1));\n provide(matchedRouteKey, matchedRouteRef);\n provide(routerViewLocationKey, routeToDisplay);\n const viewRef = ref();\n // watch at the same time the component instance, the route record we are\n // rendering, and the name\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\n // copy reused instances\n if (to) {\n // this will update the instance for new instances as well as reused\n // instances when navigating to a new route\n to.instances[name] = instance;\n // the component instance is reused for a different route or name, so\n // we copy any saved update or leave guards. With async setup, the\n // mounting component will mount before the matchedRoute changes,\n // making instance === oldInstance, so we check if guards have been\n // added before. This works because we remove guards when\n // unmounting/deactivating components\n if (from && from !== to && instance && instance === oldInstance) {\n if (!to.leaveGuards.size) {\n to.leaveGuards = from.leaveGuards;\n }\n if (!to.updateGuards.size) {\n to.updateGuards = from.updateGuards;\n }\n }\n }\n // trigger beforeRouteEnter next callbacks\n if (instance &&\n to &&\n // if there is no instance but to and from are the same this might be\n // the first visit\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\n }\n }, { flush: 'post' });\n return () => {\n const route = routeToDisplay.value;\n // we need the value at the time we render because when we unmount, we\n // navigated to a different location so the value is different\n const currentName = props.name;\n const matchedRoute = matchedRouteRef.value;\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\n if (!ViewComponent) {\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\n }\n // props from route configuration\n const routePropsOption = matchedRoute.props[currentName];\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? route.params\n : typeof routePropsOption === 'function'\n ? routePropsOption(route)\n : routePropsOption\n : null;\n const onVnodeUnmounted = vnode => {\n // remove the instance reference to prevent leak\n if (vnode.component.isUnmounted) {\n matchedRoute.instances[currentName] = null;\n }\n };\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\n onVnodeUnmounted,\n ref: viewRef,\n }));\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n isBrowser &&\n component.ref) {\n // TODO: can display if it's an alias, its props\n const info = {\n depth: depth.value,\n name: matchedRoute.name,\n path: matchedRoute.path,\n meta: matchedRoute.meta,\n };\n const internalInstances = isArray(component.ref)\n ? component.ref.map(r => r.i)\n : [component.ref.i];\n internalInstances.forEach(instance => {\n // @ts-expect-error\n instance.__vrv_devtools = info;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and both accept vnodes\n normalizeSlot(slots.default, { Component: component, route }) ||\n component);\n };\n },\n});\nfunction normalizeSlot(slot, data) {\n if (!slot)\n return null;\n const slotContent = slot(data);\n return slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to display the current route the user is at.\n */\nconst RouterView = RouterViewImpl;\n// warn against deprecated usage with & \n// due to functional component being no longer eager in Vue 3\nfunction warnDeprecatedUsage() {\n const instance = getCurrentInstance();\n const parentName = instance.parent && instance.parent.type.name;\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n if (parentName &&\n (parentName === 'KeepAlive' || parentName.includes('Transition')) &&\n typeof parentSubTreeType === 'object' &&\n parentSubTreeType.name === 'RouterView') {\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\n warn(` can no longer be used directly inside or .\\n` +\n `Use slot props instead:\\n\\n` +\n `\\n` +\n ` <${comp}>\\n` +\n ` \\n` +\n ` \\n` +\n ``);\n }\n}\n\n/**\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n *\n * @param routeLocation - routeLocation to format\n * @param tooltip - optional tooltip\n * @returns a copy of the routeLocation\n */\nfunction formatRouteLocation(routeLocation, tooltip) {\n const copy = assign({}, routeLocation, {\n // remove variables that can contain vue instances\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\n });\n return {\n _custom: {\n type: null,\n readOnly: true,\n display: routeLocation.fullPath,\n tooltip,\n value: copy,\n },\n };\n}\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\n// to support multiple router instances\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n // Take over router.beforeEach and afterEach\n // make sure we are not registering the devtool twice\n if (router.__hasDevtools)\n return;\n router.__hasDevtools = true;\n // increment to support multiple router instances\n const id = routerId++;\n setupDevtoolsPlugin({\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\n label: 'Vue Router',\n packageName: 'vue-router',\n homepage: 'https://router.vuejs.org',\n logo: 'https://router.vuejs.org/logo.png',\n componentStateTypes: ['Routing'],\n app,\n }, api => {\n if (typeof api.now !== 'function') {\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n // display state added by the router\n api.on.inspectComponent((payload, ctx) => {\n if (payload.instanceData) {\n payload.instanceData.state.push({\n type: 'Routing',\n key: '$route',\n editable: false,\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\n });\n }\n });\n // mark router-link as active and display tags on router views\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n if (componentInstance.__vrv_devtools) {\n const info = componentInstance.__vrv_devtools;\n node.tags.push({\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\n textColor: 0,\n tooltip: 'This component is rendered by <router-view>',\n backgroundColor: PINK_500,\n });\n }\n // if multiple useLink are used\n if (isArray(componentInstance.__vrl_devtools)) {\n componentInstance.__devtoolsApi = api;\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\n let backgroundColor = ORANGE_400;\n let tooltip = '';\n if (devtoolsData.isExactActive) {\n backgroundColor = LIME_500;\n tooltip = 'This is exactly active';\n }\n else if (devtoolsData.isActive) {\n backgroundColor = BLUE_600;\n tooltip = 'This link is active';\n }\n node.tags.push({\n label: devtoolsData.route.path,\n textColor: 0,\n tooltip,\n backgroundColor,\n });\n });\n }\n });\n watch(router.currentRoute, () => {\n // refresh active state\n refreshRoutesView();\n api.notifyComponentUpdate();\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n const navigationsLayerId = 'router:navigations:' + id;\n api.addTimelineLayer({\n id: navigationsLayerId,\n label: `Router${id ? ' ' + id : ''} Navigations`,\n color: 0x40a8c4,\n });\n // const errorsLayerId = 'router:errors'\n // api.addTimelineLayer({\n // id: errorsLayerId,\n // label: 'Router Errors',\n // color: 0xea5455,\n // })\n router.onError((error, to) => {\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'Error during Navigation',\n subtitle: to.fullPath,\n logType: 'error',\n time: api.now(),\n data: { error },\n groupId: to.meta.__navigationId,\n },\n });\n });\n // attached to `meta` and used to group events\n let navigationId = 0;\n router.beforeEach((to, from) => {\n const data = {\n guard: formatDisplay('beforeEach'),\n from: formatRouteLocation(from, 'Current Location during this navigation'),\n to: formatRouteLocation(to, 'Target location'),\n };\n // Used to group navigations together, hide from devtools\n Object.defineProperty(to.meta, '__navigationId', {\n value: navigationId++,\n });\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n time: api.now(),\n title: 'Start of navigation',\n subtitle: to.fullPath,\n data,\n groupId: to.meta.__navigationId,\n },\n });\n });\n router.afterEach((to, from, failure) => {\n const data = {\n guard: formatDisplay('afterEach'),\n };\n if (failure) {\n data.failure = {\n _custom: {\n type: Error,\n readOnly: true,\n display: failure ? failure.message : '',\n tooltip: 'Navigation Failure',\n value: failure,\n },\n };\n data.status = formatDisplay('❌');\n }\n else {\n data.status = formatDisplay('✅');\n }\n // we set here to have the right order\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\n data.to = formatRouteLocation(to, 'Target location');\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'End of navigation',\n subtitle: to.fullPath,\n time: api.now(),\n data,\n logType: failure ? 'warning' : 'default',\n groupId: to.meta.__navigationId,\n },\n });\n });\n /**\n * Inspector of Existing routes\n */\n const routerInspectorId = 'router-inspector:' + id;\n api.addInspector({\n id: routerInspectorId,\n label: 'Routes' + (id ? ' ' + id : ''),\n icon: 'book',\n treeFilterPlaceholder: 'Search routes',\n });\n function refreshRoutesView() {\n // the routes view isn't active\n if (!activeRoutesPayload)\n return;\n const payload = activeRoutesPayload;\n // children routes will appear as nested\n let routes = matcher.getRoutes().filter(route => !route.parent ||\n // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !route.parent.record.components);\n // reset match state to false\n routes.forEach(resetMatchStateOnRouteRecord);\n // apply a match state if there is a payload\n if (payload.filter) {\n routes = routes.filter(route => \n // save matches state based on the payload\n isRouteMatching(route, payload.filter.toLowerCase()));\n }\n // mark active routes\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\n }\n let activeRoutesPayload;\n api.on.getInspectorTree(payload => {\n activeRoutesPayload = payload;\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n refreshRoutesView();\n }\n });\n /**\n * Display information about the currently selected route record\n */\n api.on.getInspectorState(payload => {\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n const routes = matcher.getRoutes();\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\n if (route) {\n payload.state = {\n options: formatRouteRecordMatcherForStateInspector(route),\n };\n }\n }\n });\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n}\nfunction modifierForKey(key) {\n if (key.optional) {\n return key.repeatable ? '*' : '?';\n }\n else {\n return key.repeatable ? '+' : '';\n }\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n const { record } = route;\n const fields = [\n { editable: false, key: 'path', value: record.path },\n ];\n if (record.name != null) {\n fields.push({\n editable: false,\n key: 'name',\n value: record.name,\n });\n }\n fields.push({ editable: false, key: 'regexp', value: route.re });\n if (route.keys.length) {\n fields.push({\n editable: false,\n key: 'keys',\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.keys\n .map(key => `${key.name}${modifierForKey(key)}`)\n .join(' '),\n tooltip: 'Param keys',\n value: route.keys,\n },\n },\n });\n }\n if (record.redirect != null) {\n fields.push({\n editable: false,\n key: 'redirect',\n value: record.redirect,\n });\n }\n if (route.alias.length) {\n fields.push({\n editable: false,\n key: 'aliases',\n value: route.alias.map(alias => alias.record.path),\n });\n }\n if (Object.keys(route.record.meta).length) {\n fields.push({\n editable: false,\n key: 'meta',\n value: route.record.meta,\n });\n }\n fields.push({\n key: 'score',\n editable: false,\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.score.map(score => score.join(', ')).join(' | '),\n tooltip: 'Score used to sort routes',\n value: route.score,\n },\n },\n });\n return fields;\n}\n/**\n * Extracted from tailwind palette\n */\nconst PINK_500 = 0xec4899;\nconst BLUE_600 = 0x2563eb;\nconst LIME_500 = 0x84cc16;\nconst CYAN_400 = 0x22d3ee;\nconst ORANGE_400 = 0xfb923c;\n// const GRAY_100 = 0xf4f4f5\nconst DARK = 0x666666;\nfunction formatRouteRecordForInspector(route) {\n const tags = [];\n const { record } = route;\n if (record.name != null) {\n tags.push({\n label: String(record.name),\n textColor: 0,\n backgroundColor: CYAN_400,\n });\n }\n if (record.aliasOf) {\n tags.push({\n label: 'alias',\n textColor: 0,\n backgroundColor: ORANGE_400,\n });\n }\n if (route.__vd_match) {\n tags.push({\n label: 'matches',\n textColor: 0,\n backgroundColor: PINK_500,\n });\n }\n if (route.__vd_exactActive) {\n tags.push({\n label: 'exact',\n textColor: 0,\n backgroundColor: LIME_500,\n });\n }\n if (route.__vd_active) {\n tags.push({\n label: 'active',\n textColor: 0,\n backgroundColor: BLUE_600,\n });\n }\n if (record.redirect) {\n tags.push({\n label: typeof record.redirect === 'string'\n ? `redirect: ${record.redirect}`\n : 'redirects',\n textColor: 0xffffff,\n backgroundColor: DARK,\n });\n }\n // add an id to be able to select it. Using the `path` is not possible because\n // empty path children would collide with their parents\n let id = record.__vd_id;\n if (id == null) {\n id = String(routeRecordId++);\n record.__vd_id = id;\n }\n return {\n id,\n label: record.path,\n tags,\n children: route.children.map(formatRouteRecordForInspector),\n };\n}\n// incremental id for route records and inspector state\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n // no route will be active if matched is empty\n // reset the matching state\n const isExactActive = currentRoute.matched.length &&\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n route.__vd_exactActive = route.__vd_active = isExactActive;\n if (!isExactActive) {\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\n }\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n route.__vd_match = false;\n route.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\n route.__vd_match = false;\n if (!found || found.length < 3) {\n return false;\n }\n // use a regexp without $ at the end to match nested routes better\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\n if (nonEndingRE.test(filter)) {\n // mark children as matches\n route.children.forEach(child => isRouteMatching(child, filter));\n // exception case: `/`\n if (route.record.path !== '/' || filter === '/') {\n route.__vd_match = route.re.test(filter);\n return true;\n }\n // hide the / route\n return false;\n }\n const path = route.record.path.toLowerCase();\n const decodedPath = decode(path);\n // also allow partial matching on the path\n if (!filter.startsWith('/') &&\n (decodedPath.includes(filter) || path.includes(filter)))\n return true;\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\n return true;\n if (route.record.name && String(route.record.name).includes(filter))\n return true;\n return route.children.some(child => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n const ret = {};\n for (const key in obj) {\n if (!keys.includes(key)) {\n // @ts-expect-error\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n\n/**\n * Creates a Router instance that can be used by a Vue app.\n *\n * @param options - {@link RouterOptions}\n */\nfunction createRouter(options) {\n const matcher = createRouterMatcher(options.routes, options);\n const parseQuery$1 = options.parseQuery || parseQuery;\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n const routerHistory = options.history;\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\n ' https://next.router.vuejs.org/api/#history.');\n const beforeGuards = useCallbacks();\n const beforeResolveGuards = useCallbacks();\n const afterGuards = useCallbacks();\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n let pendingLocation = START_LOCATION_NORMALIZED;\n // leave the scrollRestoration if no scrollBehavior is provided\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\n const encodeParams = applyToParams.bind(null, encodeParam);\n const decodeParams = \n // @ts-expect-error: intentionally avoid the type check\n applyToParams.bind(null, decode);\n function addRoute(parentOrRoute, route) {\n let parent;\n let record;\n if (isRouteName(parentOrRoute)) {\n parent = matcher.getRecordMatcher(parentOrRoute);\n record = route;\n }\n else {\n record = parentOrRoute;\n }\n return matcher.addRoute(record, parent);\n }\n function removeRoute(name) {\n const recordMatcher = matcher.getRecordMatcher(name);\n if (recordMatcher) {\n matcher.removeRoute(recordMatcher);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\n }\n }\n function getRoutes() {\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\n }\n function hasRoute(name) {\n return !!matcher.getRecordMatcher(name);\n }\n function resolve(rawLocation, currentLocation) {\n // const objectLocation = routerLocationAsObject(rawLocation)\n // we create a copy to modify it later\n currentLocation = assign({}, currentLocation || currentRoute.value);\n if (typeof rawLocation === 'string') {\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n const href = routerHistory.createHref(locationNormalized.fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//'))\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation}\"`);\n }\n }\n // locationNormalized is always a new object\n return assign(locationNormalized, matchedRoute, {\n params: decodeParams(matchedRoute.params),\n hash: decode(locationNormalized.hash),\n redirectedFrom: undefined,\n href,\n });\n }\n let matcherLocation;\n // path could be relative in object as well\n if ('path' in rawLocation) {\n if ((process.env.NODE_ENV !== 'production') &&\n 'params' in rawLocation &&\n !('name' in rawLocation) &&\n // @ts-expect-error: the type is never\n Object.keys(rawLocation.params).length) {\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n }\n matcherLocation = assign({}, rawLocation, {\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\n });\n }\n else {\n // remove any nullish param\n const targetParams = assign({}, rawLocation.params);\n for (const key in targetParams) {\n if (targetParams[key] == null) {\n delete targetParams[key];\n }\n }\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\n matcherLocation = assign({}, rawLocation, {\n params: encodeParams(targetParams),\n });\n // current location params are decoded, we need to encode them in case the\n // matcher merges the params\n currentLocation.params = encodeParams(currentLocation.params);\n }\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n const hash = rawLocation.hash || '';\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n }\n // the matcher might have merged current location params, so\n // we need to run the decoding again\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n hash: encodeHash(hash),\n path: matchedRoute.path,\n }));\n const href = routerHistory.createHref(fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//')) {\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n }\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${'path' in rawLocation ? rawLocation.path : rawLocation}\"`);\n }\n }\n return assign({\n fullPath,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash,\n query: \n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n stringifyQuery$1 === stringifyQuery\n ? normalizeQuery(rawLocation.query)\n : (rawLocation.query || {}),\n }, matchedRoute, {\n redirectedFrom: undefined,\n href,\n });\n }\n function locationAsObject(to) {\n return typeof to === 'string'\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\n : assign({}, to);\n }\n function checkCanceledNavigation(to, from) {\n if (pendingLocation !== to) {\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\n from,\n to,\n });\n }\n }\n function push(to) {\n return pushWithRedirect(to);\n }\n function replace(to) {\n return push(assign(locationAsObject(to), { replace: true }));\n }\n function handleRedirectRecord(to) {\n const lastMatched = to.matched[to.matched.length - 1];\n if (lastMatched && lastMatched.redirect) {\n const { redirect } = lastMatched;\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\n if (typeof newTargetLocation === 'string') {\n newTargetLocation =\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\n ? (newTargetLocation = locationAsObject(newTargetLocation))\n : // force empty params\n { path: newTargetLocation };\n // @ts-expect-error: force empty params when a string is passed to let\n // the router parse them again\n newTargetLocation.params = {};\n }\n if ((process.env.NODE_ENV !== 'production') &&\n !('path' in newTargetLocation) &&\n !('name' in newTargetLocation)) {\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n throw new Error('Invalid redirect');\n }\n return assign({\n query: to.query,\n hash: to.hash,\n // avoid transferring params if the redirect has a path\n params: 'path' in newTargetLocation ? {} : to.params,\n }, newTargetLocation);\n }\n }\n function pushWithRedirect(to, redirectedFrom) {\n const targetLocation = (pendingLocation = resolve(to));\n const from = currentRoute.value;\n const data = to.state;\n const force = to.force;\n // to could be a string where `replace` is a function\n const replace = to.replace === true;\n const shouldRedirect = handleRedirectRecord(targetLocation);\n if (shouldRedirect)\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n state: typeof shouldRedirect === 'object'\n ? assign({}, data, shouldRedirect.state)\n : data,\n force,\n replace,\n }), \n // keep original redirectedFrom if it exists\n redirectedFrom || targetLocation);\n // if it was a redirect we already called `pushWithRedirect` above\n const toLocation = targetLocation;\n toLocation.redirectedFrom = redirectedFrom;\n let failure;\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\n // trigger scroll to allow scrolling to the same anchor\n handleScroll(from, from, \n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n true, \n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n false);\n }\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\n .catch((error) => isNavigationFailure(error)\n ? // navigation redirects still mark the router as ready\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\n ? error\n : markAsReady(error) // also returns the error\n : // reject any unknown error\n triggerError(error, toLocation, from))\n .then((failure) => {\n if (failure) {\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n if ((process.env.NODE_ENV !== 'production') &&\n // we are redirecting to the same location we were already at\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\n // and we have done it a couple of times\n redirectedFrom &&\n // @ts-expect-error: added only in dev\n (redirectedFrom._count = redirectedFrom._count\n ? // @ts-expect-error\n redirectedFrom._count + 1\n : 1) > 30) {\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\n }\n return pushWithRedirect(\n // keep options\n assign({\n // preserve an existing replacement but allow the redirect to override it\n replace,\n }, locationAsObject(failure.to), {\n state: typeof failure.to === 'object'\n ? assign({}, data, failure.to.state)\n : data,\n force,\n }), \n // preserve the original redirectedFrom if any\n redirectedFrom || toLocation);\n }\n }\n else {\n // if we fail we don't finalize the navigation\n failure = finalizeNavigation(toLocation, from, true, replace, data);\n }\n triggerAfterEach(toLocation, from, failure);\n return failure;\n });\n }\n /**\n * Helper to reject and skip all navigation guards if a new navigation happened\n * @param to\n * @param from\n */\n function checkCanceledNavigationAndReject(to, from) {\n const error = checkCanceledNavigation(to, from);\n return error ? Promise.reject(error) : Promise.resolve();\n }\n function runWithContext(fn) {\n const app = installedApps.values().next().value;\n // support Vue < 3.3\n return app && typeof app.runWithContext === 'function'\n ? app.runWithContext(fn)\n : fn();\n }\n // TODO: refactor the whole before guards by internally using router.beforeEach\n function navigate(to, from) {\n let guards;\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n // all components here have been resolved once because we are leaving\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\n // leavingRecords is already reversed\n for (const record of leavingRecords) {\n record.leaveGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeRouteLeave guards\n return (runGuardQueue(guards)\n .then(() => {\n // check global guards beforeEach\n guards = [];\n for (const guard of beforeGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n .then(() => {\n // check in components beforeRouteUpdate\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\n for (const record of updatingRecords) {\n record.updateGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check the route beforeEnter\n guards = [];\n for (const record of enteringRecords) {\n // do not trigger beforeEnter on reused views\n if (record.beforeEnter) {\n if (isArray(record.beforeEnter)) {\n for (const beforeEnter of record.beforeEnter)\n guards.push(guardToPromiseFn(beforeEnter, to, from));\n }\n else {\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n }\n }\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\n // clear existing enterCallbacks, these are added by extractComponentsGuards\n to.matched.forEach(record => (record.enterCallbacks = {}));\n // check in-component beforeRouteEnter\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check global guards beforeResolve\n guards = [];\n for (const guard of beforeResolveGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n // catch any navigation canceled\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\n ? err\n : Promise.reject(err)));\n }\n function triggerAfterEach(to, from, failure) {\n // navigation is confirmed, call afterGuards\n // TODO: wrap with error handlers\n afterGuards\n .list()\n .forEach(guard => runWithContext(() => guard(to, from, failure)));\n }\n /**\n * - Cleans up any navigation guards\n * - Changes the url if necessary\n * - Calls the scrollBehavior\n */\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\n // a more recent navigation took place\n const error = checkCanceledNavigation(toLocation, from);\n if (error)\n return error;\n // only consider as push if it's not the first navigation\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\n const state = !isBrowser ? {} : history.state;\n // change URL only if the user did a push/replace and if it's not the initial navigation because\n // it's just reflecting the url\n if (isPush) {\n // on the initial navigation, we want to reuse the scroll position from\n // history state if it exists\n if (replace || isFirstNavigation)\n routerHistory.replace(toLocation.fullPath, assign({\n scroll: isFirstNavigation && state && state.scroll,\n }, data));\n else\n routerHistory.push(toLocation.fullPath, data);\n }\n // accept current navigation\n currentRoute.value = toLocation;\n handleScroll(toLocation, from, isPush, isFirstNavigation);\n markAsReady();\n }\n let removeHistoryListener;\n // attach listener to history to trigger navigations\n function setupListeners() {\n // avoid setting up listeners twice due to an invalid first navigation\n if (removeHistoryListener)\n return;\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\n if (!router.listening)\n return;\n // cannot be a redirect route because it was in history\n const toLocation = resolve(to);\n // due to dynamic routing, and to hash history with manual navigation\n // (manually changing the url or calling history.hash = '#/somewhere'),\n // there could be a redirect record in history\n const shouldRedirect = handleRedirectRecord(toLocation);\n if (shouldRedirect) {\n pushWithRedirect(assign(shouldRedirect, { replace: true }), toLocation).catch(noop);\n return;\n }\n pendingLocation = toLocation;\n const from = currentRoute.value;\n // TODO: should be moved to web history?\n if (isBrowser) {\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n }\n navigate(toLocation, from)\n .catch((error) => {\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n return error;\n }\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\n // false) but this is bug prone as we have no way to wait the\n // navigation to be finished before calling pushWithRedirect. Using\n // a setTimeout of 16ms seems to work but there is no guarantee for\n // it to work on every browser. So instead we do not restore the\n // history entry and trigger a new navigation as requested by the\n // navigation guard.\n // the error is already handled by router.push we just want to avoid\n // logging the error\n pushWithRedirect(error.to, toLocation\n // avoid an uncaught rejection, let push call triggerError\n )\n .then(failure => {\n // manual change in hash history #916 ending up in the URL not\n // changing, but it was changed by the manual url change, so we\n // need to manually change it ourselves\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\n !info.delta &&\n info.type === NavigationType.pop) {\n routerHistory.go(-1, false);\n }\n })\n .catch(noop);\n // avoid the then branch\n return Promise.reject();\n }\n // do not restore history on unknown direction\n if (info.delta) {\n routerHistory.go(-info.delta, false);\n }\n // unrecognized error, transfer to the global handler\n return triggerError(error, toLocation, from);\n })\n .then((failure) => {\n failure =\n failure ||\n finalizeNavigation(\n // after navigation, all matched components are resolved\n toLocation, from, false);\n // revert the navigation\n if (failure) {\n if (info.delta &&\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n routerHistory.go(-info.delta, false);\n }\n else if (info.type === NavigationType.pop &&\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\n // manual change in hash history #916\n // it's like a push but lacks the information of the direction\n routerHistory.go(-1, false);\n }\n }\n triggerAfterEach(toLocation, from, failure);\n })\n // avoid warnings in the console about uncaught rejections, they are logged by triggerErrors\n .catch(noop);\n });\n }\n // Initialization and Errors\n let readyHandlers = useCallbacks();\n let errorListeners = useCallbacks();\n let ready;\n /**\n * Trigger errorListeners added via onError and throws the error as well\n *\n * @param error - error to throw\n * @param to - location we were navigating to when the error happened\n * @param from - location we were navigating from when the error happened\n * @returns the error as a rejected promise\n */\n function triggerError(error, to, from) {\n markAsReady(error);\n const list = errorListeners.list();\n if (list.length) {\n list.forEach(handler => handler(error, to, from));\n }\n else {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('uncaught error during route navigation:');\n }\n console.error(error);\n }\n // reject the error no matter there were error listeners or not\n return Promise.reject(error);\n }\n function isReady() {\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\n return Promise.resolve();\n return new Promise((resolve, reject) => {\n readyHandlers.add([resolve, reject]);\n });\n }\n function markAsReady(err) {\n if (!ready) {\n // still not ready if an error happened\n ready = !err;\n setupListeners();\n readyHandlers\n .list()\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\n readyHandlers.reset();\n }\n return err;\n }\n // Scroll behavior\n function handleScroll(to, from, isPush, isFirstNavigation) {\n const { scrollBehavior } = options;\n if (!isBrowser || !scrollBehavior)\n return Promise.resolve();\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\n ((isFirstNavigation || !isPush) &&\n history.state &&\n history.state.scroll) ||\n null;\n return nextTick()\n .then(() => scrollBehavior(to, from, scrollPosition))\n .then(position => position && scrollToPosition(position))\n .catch(err => triggerError(err, to, from));\n }\n const go = (delta) => routerHistory.go(delta);\n let started;\n const installedApps = new Set();\n const router = {\n currentRoute,\n listening: true,\n addRoute,\n removeRoute,\n hasRoute,\n getRoutes,\n resolve,\n options,\n push,\n replace,\n go,\n back: () => go(-1),\n forward: () => go(1),\n beforeEach: beforeGuards.add,\n beforeResolve: beforeResolveGuards.add,\n afterEach: afterGuards.add,\n onError: errorListeners.add,\n isReady,\n install(app) {\n const router = this;\n app.component('RouterLink', RouterLink);\n app.component('RouterView', RouterView);\n app.config.globalProperties.$router = router;\n Object.defineProperty(app.config.globalProperties, '$route', {\n enumerable: true,\n get: () => unref(currentRoute),\n });\n // this initial navigation is only necessary on client, on server it doesn't\n // make sense because it will create an extra unnecessary navigation and could\n // lead to problems\n if (isBrowser &&\n // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !started &&\n currentRoute.value === START_LOCATION_NORMALIZED) {\n // see above\n started = true;\n push(routerHistory.location).catch(err => {\n if ((process.env.NODE_ENV !== 'production'))\n warn('Unexpected error when starting the router:', err);\n });\n }\n const reactiveRoute = {};\n for (const key in START_LOCATION_NORMALIZED) {\n Object.defineProperty(reactiveRoute, key, {\n get: () => currentRoute.value[key],\n enumerable: true,\n });\n }\n app.provide(routerKey, router);\n app.provide(routeLocationKey, shallowReactive(reactiveRoute));\n app.provide(routerViewLocationKey, currentRoute);\n const unmountApp = app.unmount;\n installedApps.add(app);\n app.unmount = function () {\n installedApps.delete(app);\n // the router is not attached to an app anymore\n if (installedApps.size < 1) {\n // invalidate the current navigation\n pendingLocation = START_LOCATION_NORMALIZED;\n removeHistoryListener && removeHistoryListener();\n removeHistoryListener = null;\n currentRoute.value = START_LOCATION_NORMALIZED;\n started = false;\n ready = false;\n }\n unmountApp();\n };\n // TODO: this probably needs to be updated so it can be used by vue-termui\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n addDevtools(app, router, matcher);\n }\n },\n };\n // TODO: type this as NavigationGuardReturn or similar instead of any\n function runGuardQueue(guards) {\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n }\n return router;\n}\nfunction extractChangingRecords(to, from) {\n const leavingRecords = [];\n const updatingRecords = [];\n const enteringRecords = [];\n const len = Math.max(from.matched.length, to.matched.length);\n for (let i = 0; i < len; i++) {\n const recordFrom = from.matched[i];\n if (recordFrom) {\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\n updatingRecords.push(recordFrom);\n else\n leavingRecords.push(recordFrom);\n }\n const recordTo = to.matched[i];\n if (recordTo) {\n // the type doesn't matter because we are comparing per reference\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\n enteringRecords.push(recordTo);\n }\n }\n }\n return [leavingRecords, updatingRecords, enteringRecords];\n}\n\n/**\n * Returns the router instance. Equivalent to using `$router` inside\n * templates.\n */\nfunction useRouter() {\n return inject(routerKey);\n}\n/**\n * Returns the current route location. Equivalent to using `$route` inside\n * templates.\n */\nfunction useRoute() {\n return inject(routeLocationKey);\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","\n\n\n\n\n\n\n","function getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].includes(getBasePlacement(placement)) ? 'x' : 'y';\n}\n\nfunction getLengthFromAxis(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\n\nfunction computeCoordsFromPlacement(_ref) {\n let {\n reference,\n floating,\n placement\n } = _ref;\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n let coords;\n\n switch (getBasePlacement(placement)) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n\n switch (getAlignment(placement)) {\n case 'start':\n coords[mainAxis] = coords[mainAxis] - (reference[length] / 2 - floating[length] / 2);\n break;\n\n case 'end':\n coords[mainAxis] = coords[mainAxis] + (reference[length] / 2 - floating[length] / 2);\n break;\n }\n\n return coords;\n}\n\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n\n if (process.env.NODE_ENV !== \"production\") {\n if (platform == null) {\n console.error(['Floating UI: `platform` property was not passed to config. If you', 'want to use Floating UI on the web, install @floating-ui/dom', 'instead of the /core package. Otherwise, you can create your own', '`platform`: https://floating-ui.com/docs/platform'].join(' '));\n }\n\n if (middleware.filter(_ref => {\n let {\n name\n } = _ref;\n return name === 'autoPlacement' || name === 'flip';\n }).length > 1) {\n throw new Error(['Floating UI: duplicate `flip` and/or `autoPlacement`', 'middleware detected. This will lead to an infinite loop. Ensure only', 'one of either has been passed to the `middleware` array.'].join(' '));\n }\n }\n\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement\n });\n let statefulPlacement = placement;\n let middlewareData = {};\n let _debug_loop_count_ = 0;\n\n for (let i = 0; i < middleware.length; i++) {\n if (process.env.NODE_ENV !== \"production\") {\n _debug_loop_count_++;\n\n if (_debug_loop_count_ > 100) {\n throw new Error(['Floating UI: The middleware lifecycle appears to be', 'running in an infinite loop. This is usually caused by a `reset`', 'continually being returned without a break condition.'].join(' '));\n }\n }\n\n const {\n name,\n fn\n } = middleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = { ...middlewareData,\n [name]: data != null ? data : {}\n };\n\n if (reset) {\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n\n ({\n x,\n y\n } = computeCoordsFromPlacement({ ...rects,\n placement: statefulPlacement\n }));\n }\n\n i = -1;\n continue;\n }\n }\n\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\n\nfunction getSideObjectFromPadding(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\n\nfunction rectToClientRect(rect) {\n return { ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nasync function detectOverflow(middlewareArguments, options) {\n if (options === void 0) {\n options = {};\n }\n\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = middlewareArguments;\n const {\n boundary = 'clippingParents',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = options;\n const paddingObject = getSideObjectFromPadding(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = await platform.getClippingClientRect({\n element: (await platform.isElement(element)) ? element : element.contextElement || (await platform.getDocumentElement({\n element: elements.floating\n })),\n boundary,\n rootBoundary\n });\n const elementClientRect = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: elementContext === 'floating' ? { ...rects.floating,\n x,\n y\n } : rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n })); // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n return {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n}\n\nconst min = Math.min;\nconst max = Math.max;\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\n\nconst arrow = options => ({\n name: 'arrow',\n options,\n\n async fn(middlewareArguments) {\n // Since `element` is required, we don't Partial<> the type\n const {\n element,\n padding = 0\n } = options != null ? options : {};\n const {\n x,\n y,\n placement,\n rects,\n platform\n } = middlewareArguments;\n\n if (element == null) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn('Floating UI: No `element` was passed to the `arrow` middleware.');\n }\n\n return {};\n }\n\n const paddingObject = getSideObjectFromPadding(padding);\n const coords = {\n x,\n y\n };\n const basePlacement = getBasePlacement(placement);\n const axis = getMainAxisFromPlacement(basePlacement);\n const length = getLengthFromAxis(axis);\n const arrowDimensions = await platform.getDimensions({\n element\n });\n const minProp = axis === 'y' ? 'top' : 'left';\n const maxProp = axis === 'y' ? 'bottom' : 'right';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await platform.getOffsetParent({\n element\n });\n const clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside of the floating element's bounds\n\n const min = paddingObject[minProp];\n const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = within(min, center, max);\n return {\n data: {\n [axis]: offset,\n centerOffset: center - offset\n }\n };\n }\n\n});\n\nconst hash$1 = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);\n}\n\nfunction getAlignmentSides(placement, rects) {\n const isStart = getAlignment(placement) === 'start';\n const mainAxis = getMainAxisFromPlacement(placement);\n const length = getLengthFromAxis(mainAxis);\n let mainAlignmentSide = mainAxis === 'x' ? isStart ? 'right' : 'left' : isStart ? 'bottom' : 'top';\n\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n\n return {\n main: mainAlignmentSide,\n cross: getOppositePlacement(mainAlignmentSide)\n };\n}\n\nconst hash = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, matched => hash[matched]);\n}\n\nconst basePlacements = ['top', 'right', 'bottom', 'left'];\nconst allPlacements = /*#__PURE__*/basePlacements.reduce((acc, basePlacement) => acc.concat(basePlacement, basePlacement + \"-start\", basePlacement + \"-end\"), []);\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getBasePlacement(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n\n return true;\n });\n}\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'autoPlacement',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$autoP, _middlewareData$autoP2, _middlewareData$autoP3, _middlewareData$autoP4, _middlewareData$autoP5, _placementsSortedByLe;\n\n const {\n x,\n y,\n rects,\n middlewareData,\n placement\n } = middlewareArguments;\n const {\n alignment = null,\n allowedPlacements = allPlacements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$autoP = middlewareData.autoPlacement) != null && _middlewareData$autoP.skip) {\n return {};\n }\n\n const placements = getPlacementList(alignment, autoAlignment, allowedPlacements);\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const currentIndex = (_middlewareData$autoP2 = (_middlewareData$autoP3 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP3.index) != null ? _middlewareData$autoP2 : 0;\n const currentPlacement = placements[currentIndex];\n const {\n main,\n cross\n } = getAlignmentSides(currentPlacement, rects); // Make `computeCoords` start from the right place\n\n if (placement !== currentPlacement) {\n return {\n x,\n y,\n reset: {\n placement: placements[0]\n }\n };\n }\n\n const currentOverflows = [overflow[getBasePlacement(currentPlacement)], overflow[main], overflow[cross]];\n const allOverflows = [...((_middlewareData$autoP4 = (_middlewareData$autoP5 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP5.overflows) != null ? _middlewareData$autoP4 : []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements[currentIndex + 1]; // There are more placements to check\n\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n const placementsSortedByLeastOverflow = allOverflows.slice().sort((a, b) => a.overflows[0] - b.overflows[0]);\n const placementThatFitsOnAllSides = (_placementsSortedByLe = placementsSortedByLeastOverflow.find(_ref => {\n let {\n overflows\n } = _ref;\n return overflows.every(overflow => overflow <= 0);\n })) == null ? void 0 : _placementsSortedByLe.placement;\n return {\n data: {\n skip: true\n },\n reset: {\n placement: placementThatFitsOnAllSides != null ? placementThatFitsOnAllSides : placementsSortedByLeastOverflow[0].placement\n }\n };\n }\n\n };\n};\n\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\n\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'flip',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$flip, _middlewareData$flip2;\n\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement\n } = middlewareArguments;\n\n if ((_middlewareData$flip = middlewareData.flip) != null && _middlewareData$flip.skip) {\n return {};\n }\n\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n flipAlignment = true,\n ...detectOverflowOptions\n } = options;\n const basePlacement = getBasePlacement(placement);\n const isBasePlacement = basePlacement === initialPlacement;\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.overflows) || [];\n\n if (checkMainAxis) {\n overflows.push(overflow[basePlacement]);\n }\n\n if (checkCrossAxis) {\n const {\n main,\n cross\n } = getAlignmentSides(placement, rects);\n overflows.push(overflow[main], overflow[cross]);\n }\n\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }]; // One or more sides is overflowing\n\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip$, _middlewareData$flip3;\n\n const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip3 = middlewareData.flip) == null ? void 0 : _middlewareData$flip3.index) != null ? _middlewareData$flip$ : 0) + 1;\n const nextPlacement = placements[nextIndex];\n\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n let resetPlacement = 'bottom';\n\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$slice$;\n\n const placement = (_overflowsData$slice$ = overflowsData.slice().sort((a, b) => a.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0) - b.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0))[0]) == null ? void 0 : _overflowsData$slice$.placement;\n\n if (placement) {\n resetPlacement = placement;\n }\n\n break;\n }\n\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n\n return {};\n }\n\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return basePlacements.some(side => overflow[side] >= 0);\n}\n\nconst hide = () => ({\n name: 'hide',\n\n async fn(modifierArguments) {\n const referenceOverflow = await detectOverflow(modifierArguments, {\n elementContext: 'reference'\n });\n const floatingAltOverflow = await detectOverflow(modifierArguments, {\n altBoundary: true\n });\n const referenceHiddenOffsets = getSideOffsets(referenceOverflow, modifierArguments.rects.reference);\n const escapedOffsets = getSideOffsets(floatingAltOverflow, modifierArguments.rects.floating);\n const referenceHidden = isAnySideFullyClipped(referenceHiddenOffsets);\n const escaped = isAnySideFullyClipped(escapedOffsets);\n return {\n data: {\n referenceHidden,\n referenceHiddenOffsets,\n escaped,\n escapedOffsets\n }\n };\n }\n\n});\n\nfunction convertValueToCoords(_ref) {\n let {\n placement,\n rects,\n value\n } = _ref;\n const basePlacement = getBasePlacement(placement);\n const multiplier = ['left', 'top'].includes(basePlacement) ? -1 : 1;\n const rawValue = typeof value === 'function' ? value({ ...rects,\n placement\n }) : value;\n const {\n mainAxis,\n crossAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawValue\n };\n return getMainAxisFromPlacement(basePlacement) === 'x' ? {\n x: crossAxis,\n y: mainAxis * multiplier\n } : {\n x: mainAxis * multiplier,\n y: crossAxis\n };\n}\nconst offset = function (value) {\n if (value === void 0) {\n value = 0;\n }\n\n return {\n name: 'offset',\n options: value,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects\n } = middlewareArguments;\n const diffCoords = convertValueToCoords({\n placement,\n rects,\n value\n });\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n\n };\n};\n\nfunction getCrossAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'shift',\n options,\n\n async fn(middlewareArguments) {\n const {\n x,\n y,\n placement\n } = middlewareArguments;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = options;\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const mainAxis = getMainAxisFromPlacement(getBasePlacement(placement));\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = within(min, mainAxisCoord, max);\n }\n\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = within(min, crossAxisCoord, max);\n }\n\n const limitedCoords = limiter.fn({ ...middlewareArguments,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return { ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n\n };\n};\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n options,\n\n fn(middlewareArguments) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = options;\n const coords = {\n x,\n y\n };\n const mainAxis = getMainAxisFromPlacement(placement);\n const crossAxis = getCrossAxis(mainAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = typeof offset === 'function' ? offset({ ...rects,\n placement\n }) : offset;\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2, _middlewareData$offse3, _middlewareData$offse4;\n\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getBasePlacement(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? (_middlewareData$offse = (_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) != null ? _middlewareData$offse : 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : (_middlewareData$offse3 = (_middlewareData$offse4 = middlewareData.offset) == null ? void 0 : _middlewareData$offse4[crossAxis]) != null ? _middlewareData$offse3 : 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n\n };\n};\n\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'size',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$size;\n\n const {\n placement,\n rects,\n middlewareData\n } = middlewareArguments;\n const {\n apply,\n ...detectOverflowOptions\n } = options;\n\n if ((_middlewareData$size = middlewareData.size) != null && _middlewareData$size.skip) {\n return {};\n }\n\n const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);\n const basePlacement = getBasePlacement(placement);\n const isEnd = getAlignment(placement) === 'end';\n let heightSide;\n let widthSide;\n\n if (basePlacement === 'top' || basePlacement === 'bottom') {\n heightSide = basePlacement;\n widthSide = isEnd ? 'left' : 'right';\n } else {\n widthSide = basePlacement;\n heightSide = isEnd ? 'top' : 'bottom';\n }\n\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n const dimensions = {\n height: rects.floating.height - (['left', 'right'].includes(placement) ? 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)) : overflow[heightSide]),\n width: rects.floating.width - (['top', 'bottom'].includes(placement) ? 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)) : overflow[widthSide])\n };\n apply == null ? void 0 : apply({ ...dimensions,\n ...rects\n });\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n\n };\n};\n\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n\n return {\n name: 'inline',\n options,\n\n async fn(middlewareArguments) {\n var _middlewareData$inlin, _await$platform$getCl;\n\n const {\n placement,\n elements,\n rects,\n platform,\n strategy,\n middlewareData\n } = middlewareArguments; // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n\n const {\n padding = 2,\n x,\n y\n } = options;\n\n if ((_middlewareData$inlin = middlewareData.inline) != null && _middlewareData$inlin.skip) {\n return {};\n }\n\n const fallback = rectToClientRect(await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect: rects.reference,\n offsetParent: await platform.getOffsetParent({\n element: elements.floating\n }),\n strategy\n }));\n const clientRects = Array.from((_await$platform$getCl = await (platform.getClientRects == null ? void 0 : platform.getClientRects({\n element: elements.reference\n }))) != null ? _await$platform$getCl : []);\n const paddingObject = getSideObjectFromPadding(padding);\n\n function getBoundingClientRect() {\n // There are two rects and they are disjoined\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n var _clientRects$find;\n\n // Find the first rect in which the point is fully inside\n return (_clientRects$find = clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom)) != null ? _clientRects$find : fallback;\n } // There are 2 or more connected rects\n\n\n if (clientRects.length >= 2) {\n if (getMainAxisFromPlacement(placement) === 'x') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getBasePlacement(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n const isLeftPlacement = getBasePlacement(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftPlacement ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n\n return fallback;\n }\n\n return {\n data: {\n skip: true\n },\n reset: {\n rects: await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n })\n }\n };\n }\n\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, rectToClientRect, shift, size };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction isWindow(value) {\n return (value == null ? void 0 : value.toString()) === '[object Window]';\n}\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction getNodeName(node) {\n return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction isShadowRoot(node) {\n const OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n const {\n overflow,\n overflowX,\n overflowY\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n // TODO: Try and use feature detection here instead\n const isFirefox = navigator.userAgent.toLowerCase().includes('firefox');\n const css = getComputedStyle$1(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n const clientRect = element.getBoundingClientRect();\n let scaleX = 1;\n let scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n return {\n width: clientRect.width / scaleX,\n height: clientRect.height / scaleY,\n top: clientRect.top / scaleY,\n right: clientRect.right / scaleX,\n bottom: clientRect.bottom / scaleY,\n left: clientRect.left / scaleX,\n x: clientRect.left / scaleX,\n y: clientRect.top / scaleY\n };\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isWindow(element)) {\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n }\n\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\nfunction isScaled(element) {\n const rect = getBoundingClientRect(element);\n return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const rect = getBoundingClientRect(element, isOffsetParentAnElement && isScaled(offsetParent));\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || ( // DOM Element detected\n isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n}\n\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n const window = getWindow(element);\n let offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getDimensions(element) {\n return {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n\n if (offsetParent === documentElement) {\n return rect;\n }\n\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } // This doesn't appear to be need to be negated.\n // else if (documentElement) {\n // offsets.x = getWindowScrollBarX(documentElement);\n // }\n\n }\n\n return { ...rect,\n x: rect.x - scroll.scrollLeft + offsets.x,\n y: rect.y - scroll.scrollTop + offsets.y\n };\n}\n\nfunction getViewportRect(element) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n\n if (Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) < 0.01) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// of the `` and `` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n\n if (getComputedStyle$1(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].includes(getNodeName(node))) {\n // @ts-ignore assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\nfunction getScrollParents(node, list) {\n var _node$ownerDocument;\n\n if (list === void 0) {\n list = [];\n }\n\n const scrollParent = getScrollParent(node);\n const isBody = scrollParent === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollParent);\n const target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n const updatedList = list.concat(target);\n return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here\n updatedList.concat(getScrollParents(getParentNode(target)));\n}\n\nfunction contains(parent, child) {\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n\n do {\n // use `===` replace node.isSameNode()\n if (next && parent === next) {\n return true;\n } // @ts-ignore: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n }\n\n return false;\n}\n\nfunction getInnerBoundingClientRect(element) {\n const clientRect = getBoundingClientRect(element);\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n return {\n top,\n left,\n x: left,\n y: top,\n right: left + element.clientWidth,\n bottom: top + element.clientHeight,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getClientRectFromClippingParent(element, clippingParent) {\n if (clippingParent === 'viewport') {\n return rectToClientRect(getViewportRect(element));\n }\n\n if (isElement(clippingParent)) {\n return getInnerBoundingClientRect(clippingParent);\n }\n\n return rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n const clippingParents = getScrollParents(getParentNode(element));\n const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle$1(element).position);\n const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // @ts-ignore isElement check ensures we return Array\n\n\n return clippingParents.filter(clippingParent => isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body');\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingClientRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary\n } = _ref;\n const mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n const clippingParents = [...mainClippingParents, rootBoundary];\n const firstClippingParent = clippingParents[0];\n const clippingRect = clippingParents.reduce((accRect, clippingParent) => {\n const rect = getClientRectFromClippingParent(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingParent(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nconst platform = {\n getElementRects: _ref => {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n return {\n reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),\n floating: { ...getDimensions(floating),\n x: 0,\n y: 0\n }\n };\n },\n convertOffsetParentRelativeRectToViewportRelativeRect: args => convertOffsetParentRelativeRectToViewportRelativeRect(args),\n getOffsetParent: _ref2 => {\n let {\n element\n } = _ref2;\n return getOffsetParent(element);\n },\n isElement: value => isElement(value),\n getDocumentElement: _ref3 => {\n let {\n element\n } = _ref3;\n return getDocumentElement(element);\n },\n getClippingClientRect: args => getClippingClientRect(args),\n getDimensions: _ref4 => {\n let {\n element\n } = _ref4;\n return getDimensions(element);\n },\n getClientRects: _ref5 => {\n let {\n element\n } = _ref5;\n return element.getClientRects();\n }\n};\n\nconst computePosition = (reference, floating, options) => computePosition$1(reference, floating, {\n platform,\n ...options\n});\n\nexport { computePosition, getScrollParents };\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nimport { defineComponent, pushScopeId, popScopeId, nextTick, openBlock, createBlock, withScopeId, resolveComponent, createElementBlock, normalizeClass, normalizeStyle, withKeys, createElementVNode, Fragment, renderSlot, createCommentVNode, mergeProps, withCtx, createVNode, toDisplayString, ref, createApp, h } from \"vue\";\nimport { offset, autoPlacement, shift, flip, arrow, size, computePosition, getScrollParents } from \"@floating-ui/dom\";\nfunction assign(to, from) {\n for (const key in from) {\n if (Object.prototype.hasOwnProperty.call(from, key)) {\n if (typeof from[key] === \"object\" && to[key]) {\n assign(to[key], from[key]);\n } else {\n to[key] = from[key];\n }\n }\n }\n}\nconst config = {\n disabled: false,\n distance: 5,\n skidding: 0,\n container: \"body\",\n boundary: void 0,\n instantMove: false,\n disposeTimeout: 5e3,\n popperTriggers: [],\n strategy: \"absolute\",\n preventOverflow: true,\n flip: true,\n shift: true,\n overflowPadding: 0,\n arrowPadding: 0,\n arrowOverflow: true,\n themes: {\n tooltip: {\n placement: \"top\",\n triggers: [\"hover\", \"focus\", \"touch\"],\n hideTriggers: (events) => [...events, \"click\"],\n delay: {\n show: 200,\n hide: 0\n },\n handleResize: false,\n html: false,\n loadingContent: \"...\"\n },\n dropdown: {\n placement: \"bottom\",\n triggers: [\"click\"],\n delay: 0,\n handleResize: true,\n autoHide: true\n },\n menu: {\n $extend: \"dropdown\",\n triggers: [\"hover\", \"focus\"],\n popperTriggers: [\"hover\", \"focus\"],\n delay: {\n show: 0,\n hide: 400\n }\n }\n }\n};\nfunction getDefaultConfig(theme, key) {\n let themeConfig = config.themes[theme] || {};\n let value;\n do {\n value = themeConfig[key];\n if (typeof value === \"undefined\") {\n if (themeConfig.$extend) {\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n value = config[key];\n }\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return value;\n}\nfunction getThemeClasses(theme) {\n const result = [theme];\n let themeConfig = config.themes[theme] || {};\n do {\n if (themeConfig.$extend && !themeConfig.$resetCss) {\n result.push(themeConfig.$extend);\n themeConfig = config.themes[themeConfig.$extend] || {};\n } else {\n themeConfig = null;\n }\n } while (themeConfig);\n return result.map((c) => `v-popper--theme-${c}`);\n}\nvar vueResize = \"\";\nlet supportsPassive = false;\nif (typeof window !== \"undefined\") {\n supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, \"passive\", {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener(\"test\", null, opts);\n } catch (e) {\n }\n}\nlet isIOS = false;\nif (typeof window !== \"undefined\" && typeof navigator !== \"undefined\") {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\nconst placements = [\"auto\", \"top\", \"bottom\", \"left\", \"right\"].reduce((acc, base) => acc.concat([\n base,\n `${base}-start`,\n `${base}-end`\n]), []);\nconst SHOW_EVENT_MAP = {\n hover: \"mouseenter\",\n focus: \"focus\",\n click: \"click\",\n touch: \"touchstart\"\n};\nconst HIDE_EVENT_MAP = {\n hover: \"mouseleave\",\n focus: \"blur\",\n click: \"click\",\n touch: \"touchend\"\n};\nfunction removeFromArray(array, item) {\n const index = array.indexOf(item);\n if (index !== -1) {\n array.splice(index, 1);\n }\n}\nfunction nextFrame() {\n return new Promise((resolve) => requestAnimationFrame(() => {\n requestAnimationFrame(resolve);\n }));\n}\nconst shownPoppers = [];\nlet hidingPopper = null;\nlet Element = function() {\n};\nif (typeof window !== \"undefined\") {\n Element = window.Element;\n}\nfunction defaultPropFactory(prop) {\n return function(props) {\n return getDefaultConfig(props.theme, prop);\n };\n}\nvar PrivatePopper = () => defineComponent({\n name: \"VPopper\",\n props: {\n theme: {\n type: String,\n required: true\n },\n targetNodes: {\n type: Function,\n required: true\n },\n referenceNode: {\n type: Function,\n required: true\n },\n popperNode: {\n type: Function,\n required: true\n },\n shown: {\n type: Boolean,\n default: false\n },\n showGroup: {\n type: String,\n default: null\n },\n ariaId: {\n default: null\n },\n disabled: {\n type: Boolean,\n default: defaultPropFactory(\"disabled\")\n },\n placement: {\n type: String,\n default: defaultPropFactory(\"placement\"),\n validator: (value) => placements.includes(value)\n },\n delay: {\n type: [String, Number, Object],\n default: defaultPropFactory(\"delay\")\n },\n distance: {\n type: [Number, String],\n default: defaultPropFactory(\"distance\")\n },\n skidding: {\n type: [Number, String],\n default: defaultPropFactory(\"skidding\")\n },\n triggers: {\n type: Array,\n default: defaultPropFactory(\"triggers\")\n },\n showTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"showTriggers\")\n },\n hideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"hideTriggers\")\n },\n popperTriggers: {\n type: Array,\n default: defaultPropFactory(\"popperTriggers\")\n },\n popperShowTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperShowTriggers\")\n },\n popperHideTriggers: {\n type: [Array, Function],\n default: defaultPropFactory(\"popperHideTriggers\")\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: defaultPropFactory(\"container\")\n },\n boundary: {\n type: [String, Element],\n default: defaultPropFactory(\"boundary\")\n },\n strategy: {\n type: String,\n validator: (value) => [\"absolute\", \"fixed\"].includes(value),\n default: defaultPropFactory(\"strategy\")\n },\n autoHide: {\n type: Boolean,\n default: defaultPropFactory(\"autoHide\")\n },\n handleResize: {\n type: Boolean,\n default: defaultPropFactory(\"handleResize\")\n },\n instantMove: {\n type: Boolean,\n default: defaultPropFactory(\"instantMove\")\n },\n eagerMount: {\n type: Boolean,\n default: defaultPropFactory(\"eagerMount\")\n },\n popperClass: {\n type: [String, Array, Object],\n default: defaultPropFactory(\"popperClass\")\n },\n computeTransformOrigin: {\n type: Boolean,\n default: defaultPropFactory(\"computeTransformOrigin\")\n },\n autoMinSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMinSize\")\n },\n autoMaxSize: {\n type: Boolean,\n default: defaultPropFactory(\"autoMaxSize\")\n },\n preventOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"preventOverflow\")\n },\n overflowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"overflowPadding\")\n },\n arrowPadding: {\n type: [Number, String],\n default: defaultPropFactory(\"arrowPadding\")\n },\n arrowOverflow: {\n type: Boolean,\n default: defaultPropFactory(\"arrowOverflow\")\n },\n flip: {\n type: Boolean,\n default: defaultPropFactory(\"flip\")\n },\n shift: {\n type: Boolean,\n default: defaultPropFactory(\"shift\")\n },\n shiftCrossAxis: {\n type: Boolean,\n default: defaultPropFactory(\"shiftCrossAxis\")\n }\n },\n emits: [\n \"show\",\n \"hide\",\n \"update:shown\",\n \"apply-show\",\n \"apply-hide\",\n \"close-group\",\n \"close-directive\",\n \"auto-hide\",\n \"resize\",\n \"dispose\"\n ],\n data() {\n return {\n isShown: false,\n isMounted: false,\n skipTransition: false,\n classes: {\n showFrom: false,\n showTo: false,\n hideFrom: false,\n hideTo: true\n },\n result: {\n x: 0,\n y: 0,\n placement: \"\",\n strategy: this.strategy,\n arrow: {\n x: 0,\n y: 0,\n centerOffset: 0\n },\n transformOrigin: null\n }\n };\n },\n computed: {\n popperId() {\n return this.ariaId != null ? this.ariaId : this.randomId;\n },\n shouldMountContent() {\n return this.eagerMount || this.isMounted;\n },\n slotData() {\n return {\n popperId: this.popperId,\n isShown: this.isShown,\n shouldMountContent: this.shouldMountContent,\n skipTransition: this.skipTransition,\n autoHide: this.autoHide,\n show: this.show,\n hide: this.hide,\n handleResize: this.handleResize,\n onResize: this.onResize,\n classes: __spreadProps(__spreadValues({}, this.classes), {\n popperClass: this.popperClass\n }),\n result: this.result\n };\n }\n },\n watch: __spreadValues({\n shown: \"$_autoShowHide\",\n disabled(value) {\n if (value) {\n this.dispose();\n } else {\n this.init();\n }\n },\n async container() {\n if (this.isShown) {\n this.$_ensureTeleport();\n await this.$_computePosition();\n }\n },\n triggers() {\n if (!this.$_isDisposed) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n }\n }\n }, [\n \"placement\",\n \"distance\",\n \"skidding\",\n \"boundary\",\n \"strategy\",\n \"overflowPadding\",\n \"arrowPadding\",\n \"preventOverflow\",\n \"shift\",\n \"shiftCrossAxis\",\n \"flip\"\n ].reduce((acc, prop) => {\n acc[prop] = \"$_computePosition\";\n return acc;\n }, {})),\n created() {\n this.$_isDisposed = true;\n this.randomId = `popper_${[Math.random(), Date.now()].map((n) => n.toString(36).substring(2, 10)).join(\"_\")}`;\n },\n mounted() {\n this.init();\n this.$_detachPopperNode();\n },\n activated() {\n this.$_autoShowHide();\n },\n deactivated() {\n this.hide();\n },\n beforeUnmount() {\n this.dispose();\n },\n methods: {\n show({ event = null, skipDelay = false, force = false } = {}) {\n if (force || !this.disabled) {\n this.$_scheduleShow(event, skipDelay);\n this.$emit(\"show\");\n this.$_showFrameLocked = true;\n requestAnimationFrame(() => {\n this.$_showFrameLocked = false;\n });\n }\n this.$emit(\"update:shown\", true);\n },\n hide({ event = null, skipDelay = false } = {}) {\n this.$_scheduleHide(event, skipDelay);\n this.$emit(\"hide\");\n this.$emit(\"update:shown\", false);\n },\n init() {\n if (!this.$_isDisposed)\n return;\n this.$_isDisposed = false;\n this.isMounted = false;\n this.$_events = [];\n this.$_preventShow = false;\n this.$_referenceNode = this.referenceNode();\n this.$_targetNodes = this.targetNodes().filter((e) => e.nodeType === e.ELEMENT_NODE);\n this.$_popperNode = this.popperNode();\n this.$_innerNode = this.$_popperNode.querySelector(\".v-popper__inner\");\n this.$_arrowNode = this.$_popperNode.querySelector(\".v-popper__arrow-container\");\n this.$_swapTargetAttrs(\"title\", \"data-original-title\");\n this.$_detachPopperNode();\n if (this.triggers.length) {\n this.$_addEventListeners();\n }\n if (this.shown) {\n this.show();\n }\n },\n dispose() {\n if (this.$_isDisposed)\n return;\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({ skipDelay: true });\n this.$_detachPopperNode();\n this.isMounted = false;\n this.isShown = false;\n this.$_swapTargetAttrs(\"data-original-title\", \"title\");\n this.$emit(\"dispose\");\n },\n async onResize() {\n if (this.isShown) {\n await this.$_computePosition();\n this.$emit(\"resize\");\n }\n },\n async $_computePosition() {\n var _a;\n if (this.$_isDisposed)\n return;\n const options2 = {\n strategy: this.strategy,\n middleware: []\n };\n if (this.distance || this.skidding) {\n options2.middleware.push(offset({\n mainAxis: this.distance,\n crossAxis: this.skidding\n }));\n }\n const isPlacementAuto = this.placement.startsWith(\"auto\");\n if (isPlacementAuto) {\n options2.middleware.push(autoPlacement({\n alignment: (_a = this.placement.split(\"-\")[1]) != null ? _a : \"\"\n }));\n } else {\n options2.placement = this.placement;\n }\n if (this.preventOverflow) {\n if (this.shift) {\n options2.middleware.push(shift({\n padding: this.overflowPadding,\n boundary: this.boundary,\n crossAxis: this.shiftCrossAxis\n }));\n }\n if (!isPlacementAuto && this.flip) {\n options2.middleware.push(flip({\n padding: this.overflowPadding,\n boundary: this.boundary\n }));\n }\n }\n options2.middleware.push(arrow({\n element: this.$_arrowNode,\n padding: this.arrowPadding\n }));\n if (this.arrowOverflow) {\n options2.middleware.push({\n name: \"arrowOverflow\",\n fn: ({ placement, rects, middlewareData }) => {\n let overflow;\n const { centerOffset } = middlewareData.arrow;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n overflow = Math.abs(centerOffset) > rects.reference.width / 2;\n } else {\n overflow = Math.abs(centerOffset) > rects.reference.height / 2;\n }\n return {\n data: {\n overflow\n }\n };\n }\n });\n }\n if (this.autoMinSize) {\n options2.middleware.push({\n name: \"autoMinSize\",\n fn: ({ rects, placement, middlewareData }) => {\n var _a2;\n if ((_a2 = middlewareData.autoMinSize) == null ? void 0 : _a2.skip) {\n return {};\n }\n let width;\n let height;\n if (placement.startsWith(\"top\") || placement.startsWith(\"bottom\")) {\n width = rects.reference.width;\n } else {\n height = rects.reference.height;\n }\n this.$_innerNode.style.minWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.minHeight = height != null ? `${height}px` : null;\n return {\n data: {\n skip: true\n },\n reset: {\n rects: true\n }\n };\n }\n });\n }\n if (this.autoMaxSize) {\n options2.middleware.push(size({\n boundary: this.boundary,\n padding: this.overflowPadding,\n apply: ({ width, height }) => {\n this.$_innerNode.style.maxWidth = width != null ? `${width}px` : null;\n this.$_innerNode.style.maxHeight = height != null ? `${height}px` : null;\n }\n }));\n }\n const data = await computePosition(this.$_referenceNode, this.$_popperNode, options2);\n Object.assign(this.result, {\n x: data.x,\n y: data.y,\n placement: data.placement,\n strategy: data.strategy,\n arrow: __spreadValues(__spreadValues({}, data.middlewareData.arrow), data.middlewareData.arrowOverflow)\n });\n },\n $_scheduleShow(event = null, skipDelay = false) {\n this.$_hideInProgress = false;\n clearTimeout(this.$_scheduleTimer);\n if (hidingPopper && this.instantMove && hidingPopper.instantMove) {\n hidingPopper.$_applyHide(true);\n this.$_applyShow(true);\n return;\n }\n if (skipDelay) {\n this.$_applyShow();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyShow.bind(this), this.$_computeDelay(\"show\"));\n }\n },\n $_scheduleHide(event = null, skipDelay = false) {\n this.$_hideInProgress = true;\n clearTimeout(this.$_scheduleTimer);\n if (this.isShown) {\n hidingPopper = this;\n }\n if (skipDelay) {\n this.$_applyHide();\n } else {\n this.$_scheduleTimer = setTimeout(this.$_applyHide.bind(this), this.$_computeDelay(\"hide\"));\n }\n },\n $_computeDelay(type) {\n const delay = this.delay;\n return parseInt(delay && delay[type] || delay || 0);\n },\n async $_applyShow(skipTransition = false) {\n clearTimeout(this.$_disposeTimer);\n clearTimeout(this.$_scheduleTimer);\n this.skipTransition = skipTransition;\n if (this.isShown) {\n return;\n }\n this.$_ensureTeleport();\n await nextFrame();\n await this.$_computePosition();\n await this.$_applyShowEffect();\n },\n async $_applyShowEffect() {\n if (this.$_hideInProgress)\n return;\n if (this.computeTransformOrigin) {\n const bounds = this.$_referenceNode.getBoundingClientRect();\n const popperWrapper = this.$_popperNode.querySelector(\".v-popper__wrapper\");\n const parentBounds = popperWrapper.parentNode.getBoundingClientRect();\n const x = bounds.x + bounds.width / 2 - (parentBounds.left + popperWrapper.offsetLeft);\n const y = bounds.y + bounds.height / 2 - (parentBounds.top + popperWrapper.offsetTop);\n this.result.transformOrigin = `${x}px ${y}px`;\n }\n this.isShown = true;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": this.popperId,\n \"data-popper-shown\": \"\"\n });\n const showGroup = this.showGroup;\n if (showGroup) {\n let popover;\n for (let i = 0; i < shownPoppers.length; i++) {\n popover = shownPoppers[i];\n if (popover.showGroup !== showGroup) {\n popover.hide();\n popover.$emit(\"close-group\");\n }\n }\n }\n shownPoppers.push(this);\n this.$emit(\"apply-show\");\n this.classes.showFrom = true;\n this.classes.showTo = false;\n this.classes.hideFrom = false;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.showFrom = false;\n this.classes.showTo = true;\n },\n async $_applyHide(skipTransition = false) {\n clearTimeout(this.$_scheduleTimer);\n if (!this.isShown) {\n return;\n }\n this.skipTransition = skipTransition;\n removeFromArray(shownPoppers, this);\n if (hidingPopper === this) {\n hidingPopper = null;\n }\n this.isShown = false;\n this.$_applyAttrsToTarget({\n \"aria-describedby\": void 0,\n \"data-popper-shown\": void 0\n });\n clearTimeout(this.$_disposeTimer);\n const disposeTime = getDefaultConfig(this.theme, \"disposeTimeout\");\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(() => {\n if (this.$_popperNode) {\n this.$_detachPopperNode();\n this.isMounted = false;\n }\n }, disposeTime);\n }\n this.$emit(\"apply-hide\");\n this.classes.showFrom = false;\n this.classes.showTo = false;\n this.classes.hideFrom = true;\n this.classes.hideTo = false;\n await nextFrame();\n this.classes.hideFrom = false;\n this.classes.hideTo = true;\n },\n $_autoShowHide() {\n if (this.shown) {\n this.show();\n } else {\n this.hide();\n }\n },\n $_ensureTeleport() {\n if (this.$_isDisposed)\n return;\n let container = this.container;\n if (typeof container === \"string\") {\n container = window.document.querySelector(container);\n } else if (container === false) {\n container = this.$_targetNodes[0].parentNode;\n }\n if (!container) {\n throw new Error(\"No container for popover: \" + this.container);\n }\n container.appendChild(this.$_popperNode);\n this.isMounted = true;\n },\n $_addEventListeners() {\n const addListeners2 = (targetNodes, eventType, handler) => {\n this.$_events.push({ targetNodes, eventType, handler });\n targetNodes.forEach((node) => node.addEventListener(eventType, handler, supportsPassive ? {\n passive: true\n } : void 0));\n };\n const addEvents = (targetNodes, eventMap, commonTriggers, customTrigger, handler) => {\n let triggers = commonTriggers;\n if (customTrigger != null) {\n triggers = typeof customTrigger === \"function\" ? customTrigger(triggers) : customTrigger;\n }\n triggers.forEach((trigger) => {\n const eventType = eventMap[trigger];\n if (eventType) {\n addListeners2(targetNodes, eventType, handler);\n }\n });\n };\n const handleShow = (event) => {\n if (this.isShown && !this.$_hideInProgress) {\n return;\n }\n event.usedByTooltip = true;\n !this.$_preventShow && this.show({ event });\n };\n addEvents(this.$_targetNodes, SHOW_EVENT_MAP, this.triggers, this.showTriggers, handleShow);\n addEvents([this.$_popperNode], SHOW_EVENT_MAP, this.popperTriggers, this.popperShowTriggers, handleShow);\n const handleHide = (event) => {\n if (event.usedByTooltip) {\n return;\n }\n this.hide({ event });\n };\n addEvents(this.$_targetNodes, HIDE_EVENT_MAP, this.triggers, this.hideTriggers, handleHide);\n addEvents([this.$_popperNode], HIDE_EVENT_MAP, this.popperTriggers, this.popperHideTriggers, handleHide);\n addListeners2([\n ...getScrollParents(this.$_referenceNode),\n ...getScrollParents(this.$_popperNode)\n ], \"scroll\", () => {\n this.$_computePosition();\n });\n },\n $_removeEventListeners() {\n this.$_events.forEach(({ targetNodes, eventType, handler }) => {\n targetNodes.forEach((node) => node.removeEventListener(eventType, handler));\n });\n this.$_events = [];\n },\n $_handleGlobalClose(event, touch = false) {\n if (this.$_showFrameLocked)\n return;\n this.hide({ event });\n if (event.closePopover) {\n this.$emit(\"close-directive\");\n } else {\n this.$emit(\"auto-hide\");\n }\n if (touch) {\n this.$_preventShow = true;\n setTimeout(() => {\n this.$_preventShow = false;\n }, 300);\n }\n },\n $_detachPopperNode() {\n this.$_popperNode.parentNode && this.$_popperNode.parentNode.removeChild(this.$_popperNode);\n },\n $_swapTargetAttrs(attrFrom, attrTo) {\n for (const el of this.$_targetNodes) {\n const value = el.getAttribute(attrFrom);\n if (value) {\n el.removeAttribute(attrFrom);\n el.setAttribute(attrTo, value);\n }\n }\n },\n $_applyAttrsToTarget(attrs) {\n for (const el of this.$_targetNodes) {\n for (const n in attrs) {\n const value = attrs[n];\n if (value == null) {\n el.removeAttribute(n);\n } else {\n el.setAttribute(n, value);\n }\n }\n }\n }\n },\n render() {\n return this.$slots.default(this.slotData);\n }\n});\nif (typeof document !== \"undefined\" && typeof window !== \"undefined\") {\n if (isIOS) {\n document.addEventListener(\"touchstart\", handleGlobalMousedown, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n document.addEventListener(\"touchend\", handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener(\"mousedown\", handleGlobalMousedown, true);\n window.addEventListener(\"click\", handleGlobalClick, true);\n }\n window.addEventListener(\"resize\", computePositionAllShownPoppers);\n}\nfunction handleGlobalMousedown(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n const popperContent = popper.popperNode();\n popper.$_mouseDownContains = popperContent.contains(event.target);\n }\n}\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\nfunction handleGlobalClose(event, touch = false) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n const popperContent = popper.popperNode();\n const contains = popper.$_mouseDownContains || popperContent.contains(event.target);\n requestAnimationFrame(() => {\n if (event.closeAllPopover || event.closePopover && contains || popper.autoHide && !contains) {\n popper.$_handleGlobalClose(event, touch);\n }\n });\n }\n}\nfunction computePositionAllShownPoppers(event) {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.$_computePosition(event);\n }\n}\nfunction hideAllPoppers() {\n for (let i = 0; i < shownPoppers.length; i++) {\n const popper = shownPoppers[i];\n popper.hide();\n }\n}\nfunction getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf(\"MSIE \");\n if (msie > 0) {\n return parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie)), 10);\n }\n var trident = ua.indexOf(\"Trident/\");\n if (trident > 0) {\n var rv = ua.indexOf(\"rv:\");\n return parseInt(ua.substring(rv + 3, ua.indexOf(\".\", rv)), 10);\n }\n var edge = ua.indexOf(\"Edge/\");\n if (edge > 0) {\n return parseInt(ua.substring(edge + 5, ua.indexOf(\".\", edge)), 10);\n }\n return -1;\n}\nlet isIE;\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\nvar script = {\n name: \"ResizeObserver\",\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n emits: [\n \"notify\"\n ],\n mounted() {\n initCompat();\n nextTick(() => {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n if (this.emitOnMount) {\n this.emitSize();\n }\n });\n const object = document.createElement(\"object\");\n this._resizeObject = object;\n object.setAttribute(\"aria-hidden\", \"true\");\n object.setAttribute(\"tabindex\", -1);\n object.onload = this.addResizeHandlers;\n object.type = \"text/html\";\n if (isIE) {\n this.$el.appendChild(object);\n }\n object.data = \"about:blank\";\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeUnmount() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize() {\n this.$emit(\"notify\", {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener(\"resize\", this.compareAndNotify);\n this.compareAndNotify();\n },\n removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener(\"resize\", this.compareAndNotify);\n }\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\nconst _withId = /* @__PURE__ */ withScopeId(\"data-v-b329ee4c\");\npushScopeId(\"data-v-b329ee4c\");\nconst _hoisted_1$2 = {\n class: \"resize-observer\",\n tabindex: \"-1\"\n};\npopScopeId();\nconst render = /* @__PURE__ */ _withId((_ctx, _cache, $props, $setup, $data, $options) => {\n return openBlock(), createBlock(\"div\", _hoisted_1$2);\n});\nscript.render = render;\nscript.__scopeId = \"data-v-b329ee4c\";\nscript.__file = \"src/components/ResizeObserver.vue\";\nvar PrivateThemeClass = {\n computed: {\n themeClass() {\n return getThemeClasses(this.theme);\n }\n }\n};\nvar PopperContent_vue_vue_type_style_index_0_lang = \"\";\nvar _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nconst _sfc_main$5 = defineComponent({\n name: \"VPopperContent\",\n components: {\n ResizeObserver: script\n },\n mixins: [\n PrivateThemeClass\n ],\n props: {\n popperId: String,\n theme: String,\n shown: Boolean,\n mounted: Boolean,\n skipTransition: Boolean,\n autoHide: Boolean,\n handleResize: Boolean,\n classes: Object,\n result: Object\n },\n emits: [\n \"hide\",\n \"resize\"\n ],\n methods: {\n toPx(value) {\n if (value != null && !isNaN(value)) {\n return `${value}px`;\n }\n return null;\n }\n }\n});\nconst _hoisted_1$1 = [\"id\", \"aria-hidden\", \"tabindex\", \"data-popper-placement\"];\nconst _hoisted_2$1 = {\n ref: \"inner\",\n class: \"v-popper__inner\"\n};\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-outer\" }, null, -1);\nconst _hoisted_4 = /* @__PURE__ */ createElementVNode(\"div\", { class: \"v-popper__arrow-inner\" }, null, -1);\nconst _hoisted_5 = [\n _hoisted_3,\n _hoisted_4\n];\nfunction _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_ResizeObserver = resolveComponent(\"ResizeObserver\");\n return openBlock(), createElementBlock(\"div\", {\n id: _ctx.popperId,\n ref: \"popover\",\n class: normalizeClass([\"v-popper__popper\", [\n _ctx.themeClass,\n _ctx.classes.popperClass,\n {\n \"v-popper__popper--shown\": _ctx.shown,\n \"v-popper__popper--hidden\": !_ctx.shown,\n \"v-popper__popper--show-from\": _ctx.classes.showFrom,\n \"v-popper__popper--show-to\": _ctx.classes.showTo,\n \"v-popper__popper--hide-from\": _ctx.classes.hideFrom,\n \"v-popper__popper--hide-to\": _ctx.classes.hideTo,\n \"v-popper__popper--skip-transition\": _ctx.skipTransition,\n \"v-popper__popper--arrow-overflow\": _ctx.result.arrow.overflow\n }\n ]]),\n style: normalizeStyle({\n position: _ctx.result.strategy,\n transform: `translate3d(${Math.round(_ctx.result.x)}px,${Math.round(_ctx.result.y)}px,0)`\n }),\n \"aria-hidden\": _ctx.shown ? \"false\" : \"true\",\n tabindex: _ctx.autoHide ? 0 : void 0,\n \"data-popper-placement\": _ctx.result.placement,\n onKeyup: _cache[1] || (_cache[1] = withKeys(($event) => _ctx.autoHide && _ctx.$emit(\"hide\"), [\"esc\"]))\n }, [\n createElementVNode(\"div\", {\n class: \"v-popper__wrapper\",\n style: normalizeStyle({\n transformOrigin: _ctx.result.transformOrigin\n })\n }, [\n createElementVNode(\"div\", _hoisted_2$1, [\n _ctx.mounted ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createElementVNode(\"div\", null, [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _ctx.handleResize ? (openBlock(), createBlock(_component_ResizeObserver, {\n key: 0,\n onNotify: _cache[0] || (_cache[0] = ($event) => _ctx.$emit(\"resize\", $event))\n })) : createCommentVNode(\"\", true)\n ], 64)) : createCommentVNode(\"\", true)\n ], 512),\n createElementVNode(\"div\", {\n ref: \"arrow\",\n class: \"v-popper__arrow-container\",\n style: normalizeStyle({\n left: _ctx.toPx(_ctx.result.arrow.x),\n top: _ctx.toPx(_ctx.result.arrow.y)\n })\n }, _hoisted_5, 4)\n ], 4)\n ], 46, _hoisted_1$1);\n}\nvar PrivatePopperContent = /* @__PURE__ */ _export_sfc(_sfc_main$5, [[\"render\", _sfc_render$2]]);\nvar PrivatePopperMethods = {\n methods: {\n show(...args) {\n return this.$refs.popper.show(...args);\n },\n hide(...args) {\n return this.$refs.popper.hide(...args);\n },\n dispose(...args) {\n return this.$refs.popper.dispose(...args);\n },\n onResize(...args) {\n return this.$refs.popper.onResize(...args);\n }\n }\n};\nvar PopperWrapper_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$4 = defineComponent({\n name: \"VPopperWrapper\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods,\n PrivateThemeClass\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: null\n }\n },\n computed: {\n finalTheme() {\n var _a;\n return (_a = this.theme) != null ? _a : this.$options.vPopperTheme;\n },\n popperAttrs() {\n const result = __spreadValues({}, this.$attrs);\n delete result.class;\n delete result.style;\n return result;\n }\n },\n methods: {\n getTargetNodes() {\n return Array.from(this.$refs.reference.children).filter((node) => node !== this.$refs.popperContent.$el);\n }\n }\n});\nfunction _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, mergeProps({ ref: \"popper\" }, _ctx.popperAttrs, {\n theme: _ctx.finalTheme,\n \"target-nodes\": _ctx.getTargetNodes,\n \"reference-node\": () => _ctx.$refs.reference,\n \"popper-node\": () => _ctx.$refs.popperContent.$el\n }), {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n show,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n createElementVNode(\"div\", {\n ref: \"reference\",\n class: normalizeClass([\"v-popper\", [\n _ctx.$attrs.class,\n _ctx.themeClass,\n {\n \"v-popper--shown\": isShown\n }\n ]]),\n style: normalizeStyle(_ctx.$attrs.style)\n }, [\n renderSlot(_ctx.$slots, \"default\", {\n shown: isShown,\n show,\n hide\n }),\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n \"popper-id\": popperId,\n theme: _ctx.finalTheme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"popper\", {\n shown: isShown,\n hide\n })\n ]),\n _: 2\n }, 1032, [\"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ], 6)\n ]),\n _: 3\n }, 16, [\"theme\", \"target-nodes\", \"reference-node\", \"popper-node\"]);\n}\nvar PrivatePopperWrapper = /* @__PURE__ */ _export_sfc(_sfc_main$4, [[\"render\", _sfc_render$1]]);\nvar Dropdown_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$3 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VDropdown\",\n vPopperTheme: \"dropdown\"\n}));\nconst _sfc_main$2 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VMenu\",\n vPopperTheme: \"menu\"\n}));\nvar Tooltip_vue_vue_type_style_index_0_lang = \"\";\nconst _sfc_main$1 = defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {\n name: \"VTooltip\",\n vPopperTheme: \"tooltip\"\n}));\nconst _sfc_main = defineComponent({\n name: \"VTooltipDirective\",\n components: {\n Popper: PrivatePopper(),\n PopperContent: PrivatePopperContent\n },\n mixins: [\n PrivatePopperMethods\n ],\n inheritAttrs: false,\n props: {\n theme: {\n type: String,\n default: \"tooltip\"\n },\n html: {\n type: Boolean,\n default: (props) => getDefaultConfig(props.theme, \"html\")\n },\n content: {\n type: [String, Number, Function],\n default: null\n },\n loadingContent: {\n type: String,\n default: (props) => getDefaultConfig(props.theme, \"loadingContent\")\n }\n },\n data() {\n return {\n asyncContent: null\n };\n },\n computed: {\n isContentAsync() {\n return typeof this.content === \"function\";\n },\n loading() {\n return this.isContentAsync && this.asyncContent == null;\n },\n finalContent() {\n if (this.isContentAsync) {\n return this.loading ? this.loadingContent : this.asyncContent;\n }\n return this.content;\n }\n },\n watch: {\n content: {\n handler() {\n this.fetchContent(true);\n },\n immediate: true\n },\n async finalContent() {\n await this.$nextTick();\n this.$refs.popper.onResize();\n }\n },\n created() {\n this.$_fetchId = 0;\n },\n methods: {\n fetchContent(force) {\n if (typeof this.content === \"function\" && this.$_isShown && (force || !this.$_loading && this.asyncContent == null)) {\n this.asyncContent = null;\n this.$_loading = true;\n const fetchId = ++this.$_fetchId;\n const result = this.content(this);\n if (result.then) {\n result.then((res) => this.onResult(fetchId, res));\n } else {\n this.onResult(fetchId, result);\n }\n }\n },\n onResult(fetchId, result) {\n if (fetchId !== this.$_fetchId)\n return;\n this.$_loading = false;\n this.asyncContent = result;\n },\n onShow() {\n this.$_isShown = true;\n this.fetchContent();\n },\n onHide() {\n this.$_isShown = false;\n }\n }\n});\nconst _hoisted_1 = [\"innerHTML\"];\nconst _hoisted_2 = [\"textContent\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_PopperContent = resolveComponent(\"PopperContent\");\n const _component_Popper = resolveComponent(\"Popper\");\n return openBlock(), createBlock(_component_Popper, mergeProps({ ref: \"popper\" }, _ctx.$attrs, {\n theme: _ctx.theme,\n \"popper-node\": () => _ctx.$refs.popperContent.$el,\n onApplyShow: _ctx.onShow,\n onApplyHide: _ctx.onHide\n }), {\n default: withCtx(({\n popperId,\n isShown,\n shouldMountContent,\n skipTransition,\n autoHide,\n hide,\n handleResize,\n onResize,\n classes,\n result\n }) => [\n createVNode(_component_PopperContent, {\n ref: \"popperContent\",\n class: normalizeClass({\n \"v-popper--tooltip-loading\": _ctx.loading\n }),\n \"popper-id\": popperId,\n theme: _ctx.theme,\n shown: isShown,\n mounted: shouldMountContent,\n \"skip-transition\": skipTransition,\n \"auto-hide\": autoHide,\n \"handle-resize\": handleResize,\n classes,\n result,\n onHide: hide,\n onResize\n }, {\n default: withCtx(() => [\n _ctx.html ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n innerHTML: _ctx.finalContent\n }, null, 8, _hoisted_1)) : (openBlock(), createElementBlock(\"div\", {\n key: 1,\n textContent: toDisplayString(_ctx.finalContent)\n }, null, 8, _hoisted_2))\n ]),\n _: 2\n }, 1032, [\"class\", \"popper-id\", \"theme\", \"shown\", \"mounted\", \"skip-transition\", \"auto-hide\", \"handle-resize\", \"classes\", \"result\", \"onHide\", \"onResize\"])\n ]),\n _: 1\n }, 16, [\"theme\", \"popper-node\", \"onApplyShow\", \"onApplyHide\"]);\n}\nvar PrivateTooltipDirective = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nconst TARGET_CLASS = \"v-popper--has-tooltip\";\nfunction getPlacement(options2, modifiers) {\n let result = options2.placement;\n if (!result && modifiers) {\n for (const pos of placements) {\n if (modifiers[pos]) {\n result = pos;\n }\n }\n }\n if (!result) {\n result = getDefaultConfig(options2.theme || \"tooltip\", \"placement\");\n }\n return result;\n}\nfunction getOptions(el, value, modifiers) {\n let options2;\n const type = typeof value;\n if (type === \"string\") {\n options2 = { content: value };\n } else if (value && type === \"object\") {\n options2 = value;\n } else {\n options2 = { content: false };\n }\n options2.placement = getPlacement(options2, modifiers);\n options2.targetNodes = () => [el];\n options2.referenceNode = () => el;\n return options2;\n}\nlet directiveApp;\nlet directives;\nlet uid = 0;\nfunction ensureDirectiveApp() {\n if (directiveApp)\n return;\n directives = ref([]);\n directiveApp = createApp({\n name: \"VTooltipDirectiveApp\",\n setup() {\n return {\n directives\n };\n },\n render() {\n return this.directives.map((directive) => {\n return h(PrivateTooltipDirective, __spreadProps(__spreadValues({}, directive.options), {\n shown: directive.shown.value || directive.options.shown,\n key: directive.id\n }));\n });\n },\n devtools: {\n hide: true\n }\n });\n const mountTarget = document.createElement(\"div\");\n document.body.appendChild(mountTarget);\n directiveApp.mount(mountTarget);\n}\nfunction createTooltip(el, value, modifiers) {\n ensureDirectiveApp();\n const options2 = ref(getOptions(el, value, modifiers));\n const shown = ref(false);\n const item = {\n id: uid++,\n options: options2,\n shown\n };\n directives.value.push(item);\n if (el.classList) {\n el.classList.add(TARGET_CLASS);\n }\n const result = el.$_popper = {\n options: options2,\n item,\n show() {\n shown.value = true;\n },\n hide() {\n shown.value = false;\n }\n };\n return result;\n}\nfunction destroyTooltip(el) {\n if (el.$_popper) {\n const index = directives.value.indexOf(el.$_popper.item);\n if (index !== -1)\n directives.value.splice(index, 1);\n delete el.$_popper;\n delete el.$_popperOldShown;\n delete el.$_popperMountTarget;\n }\n if (el.classList) {\n el.classList.remove(TARGET_CLASS);\n }\n}\nfunction bind(el, { value, oldValue, modifiers }) {\n const options2 = getOptions(el, value, modifiers);\n if (!options2.content || getDefaultConfig(options2.theme || \"tooltip\", \"disabled\")) {\n destroyTooltip(el);\n } else {\n let directive;\n if (el.$_popper) {\n directive = el.$_popper;\n directive.options.value = options2;\n } else {\n directive = createTooltip(el, value, modifiers);\n }\n if (typeof value.shown !== \"undefined\" && value.shown !== el.$_popperOldShown) {\n el.$_popperOldShown = value.shown;\n value.shown ? directive.show() : directive.hide();\n }\n }\n}\nvar PrivateVTooltip = {\n beforeMount: bind,\n updated: bind,\n beforeUnmount(el) {\n destroyTooltip(el);\n }\n};\nfunction addListeners(el) {\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"touchstart\", onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\nfunction removeListeners(el) {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"touchstart\", onTouchStart);\n el.removeEventListener(\"touchend\", onTouchEnd);\n el.removeEventListener(\"touchcancel\", onTouchCancel);\n}\nfunction onClick(event) {\n const el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n const touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener(\"touchend\", onTouchEnd);\n el.addEventListener(\"touchcancel\", onTouchCancel);\n }\n}\nfunction onTouchEnd(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n if (event.changedTouches.length === 1) {\n const touch = event.changedTouches[0];\n const firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\nfunction onTouchCancel(event) {\n const el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\nvar PrivateVClosePopper = {\n beforeMount(el, { value, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n }\n },\n updated(el, { value, oldValue, modifiers }) {\n el.$_closePopoverModifiers = modifiers;\n if (value !== oldValue) {\n if (typeof value === \"undefined\" || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n beforeUnmount(el) {\n removeListeners(el);\n }\n};\nconst options = config;\nconst VTooltip = PrivateVTooltip;\nconst VClosePopper = PrivateVClosePopper;\nconst Dropdown = _sfc_main$3;\nconst Menu = _sfc_main$2;\nconst Popper = PrivatePopper;\nconst PopperContent = PrivatePopperContent;\nconst PopperMethods = PrivatePopperMethods;\nconst PopperWrapper = PrivatePopperWrapper;\nconst ThemeClass = PrivateThemeClass;\nconst Tooltip = _sfc_main$1;\nconst TooltipDirective = PrivateTooltipDirective;\nfunction install(app, options2 = {}) {\n if (app.$_vTooltipInstalled)\n return;\n app.$_vTooltipInstalled = true;\n assign(config, options2);\n app.directive(\"tooltip\", PrivateVTooltip);\n app.directive(\"close-popper\", PrivateVClosePopper);\n app.component(\"v-tooltip\", _sfc_main$1);\n app.component(\"VTooltip\", _sfc_main$1);\n app.component(\"v-dropdown\", _sfc_main$3);\n app.component(\"VDropdown\", _sfc_main$3);\n app.component(\"v-menu\", _sfc_main$2);\n app.component(\"VMenu\", _sfc_main$2);\n}\nconst plugin = {\n version: \"2.0.0-y.0\",\n install,\n options: config\n};\nexport { Dropdown, HIDE_EVENT_MAP, Menu, Popper, PopperContent, PopperMethods, PopperWrapper, SHOW_EVENT_MAP, ThemeClass, Tooltip, TooltipDirective, VClosePopper, VTooltip, createTooltip, plugin as default, destroyTooltip, hideAllPoppers, install, options, placements };\n","import { createApp } from \"vue\";\nimport App from \"./app.vue\";\n\nimport '@unocss/reset/tailwind.css'\nimport 'uno.css'\nimport './styles/index.css'\nimport 'floating-vue/dist/style.css'\n\nimport { createRouter, createWebHashHistory } from \"vue-router\";\nimport FloatingVue from 'floating-vue'\n\nimport routes from \"~pages\";\n\nconst router = createRouter({\n history: createWebHashHistory(),\n routes: [...routes],\n scrollBehavior(to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition;\n } else {\n return { top: 0, behavior: \"smooth\" };\n }\n },\n});\n\nconst app = createApp(App);\napp.use(router)\napp.use(FloatingVue)\n\n\napp.mount(\"#touchme-app\");\n\n","\n\n","\n\n\n\n\ntitle: Electric\nsubtitle: by Chromatone \n","\n\n\n","\n\n\n\n\ntitle: Electric\nsubtitle: by Chromatone \n","\n\n\n\n\ntitle: Floating\nsubtitle: by Chromatone \n","\n\n\n\n","\n\n\n","\n\n"],"file":"assets/index-6fda5aab.js"} \ No newline at end of file diff --git a/assets/style-3f7d7901.css b/assets/style-3f7d7901.css deleted file mode 100644 index a9879aa..0000000 --- a/assets/style-3f7d7901.css +++ /dev/null @@ -1 +0,0 @@ -.txt[data-v-5ef71097]{padding:.25rem;flex:10 1 30px}.active[data-v-b0381278]{--tw-border-opacity: 1;border-color:rgba(50,50,50,var(--tw-border-opacity))}.dark .active[data-v-b0381278]{--tw-border-opacity: 1;border-color:rgba(250,250,250,var(--tw-border-opacity))}.display[data-v-b0381278]{--tw-border-opacity: .5;border-color:rgba(74,74,74,var(--tw-border-opacity));border-radius:.5rem;border-width:1px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;overflow:hidden;padding-left:.25rem;padding-right:.25rem;padding-top:2px;padding-bottom:2px;position:relative;width:16ch;-webkit-transition-property:background-color,border-color,color,fill,stroke,opacity,-webkit-box-shadow,-webkit-transform,filter,backdrop-filter;-o-transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,-webkit-box-shadow,transform,-webkit-transform,filter,backdrop-filter;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);-o-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}.indicator[data-v-b0381278]{--tw-bg-opacity: 1;background-color:rgba(74,74,74,var(--tw-bg-opacity));--tw-bg-opacity: .2;--tw-border-opacity: .5;border-color:rgba(74,74,74,var(--tw-border-opacity));border-right-width:1px;height:100%;position:absolute;top:0px;left:0px;width:100%;-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transition-property:background-color,border-color,color,fill,stroke,opacity,-webkit-box-shadow,-webkit-transform,filter,backdrop-filter;-o-transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,-webkit-box-shadow,transform,-webkit-transform,filter,backdrop-filter;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);-o-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}.dark .indicator[data-v-b0381278]{--tw-bg-opacity: 1;background-color:rgba(253,253,253,var(--tw-bg-opacity));--tw-bg-opacity: .2}input.ch[data-v-27bfda27]{background-color:transparent;padding-left:.5rem;width:2.5em}nav button[data-v-9f417c45]{font-size:1.5rem;line-height:2rem}.app{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;min-height:100%;overflow-y:scroll;position:relative;position:absolute;text-align:left;width:100%;-webkit-transition-property:background-color,border-color,color,fill,stroke,opacity,-webkit-box-shadow,-webkit-transform,filter,backdrop-filter;-o-transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,-webkit-box-shadow,transform,-webkit-transform,filter,backdrop-filter;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);-o-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-duration:.8s;-o-transition-duration:.8s;transition-duration:.8s}.nav{--tw-bg-opacity: .4;background-color:rgba(74,74,74,var(--tw-bg-opacity));border-radius:.5rem;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-flex:1;-ms-flex:1 1 0%;-webkit-flex:1 1 0%;flex:1 1 0%;width:100%;-webkit-transition-property:background-color,border-color,color,fill,stroke,opacity,-webkit-box-shadow,-webkit-transform,filter,backdrop-filter;-o-transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,-webkit-box-shadow,transform,-webkit-transform,filter,backdrop-filter;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);-o-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}.nav:hover{--tw-bg-opacity: .8;background-color:rgba(253,253,253,var(--tw-bg-opacity));--tw-shadow: 0 1px 3px 0 rgb(0 0 0/.1),0 1px 2px -1px rgb(0 0 0/.1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);text-decoration:none}.button{--tw-bg-opacity: 1;background-color:rgba(246,246,246,var(--tw-bg-opacity));border-radius:.75rem;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-flex:1;-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto;opacity:.9;padding:1rem;--tw-shadow: 0 1px 3px 0 rgb(0 0 0/.1),0 1px 2px -1px rgb(0 0 0/.1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);-webkit-transition-property:background-color,border-color,color,fill,stroke,opacity,-webkit-box-shadow,-webkit-transform,filter,backdrop-filter;-o-transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,-webkit-box-shadow,transform,-webkit-transform,filter,backdrop-filter;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);-o-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}.dark .button{--tw-bg-opacity: 1;background-color:rgba(31,31,31,var(--tw-bg-opacity))}.button:hover{opacity:1;--tw-bg-opacity: 1;background-color:rgba(253,253,253,var(--tw-bg-opacity))}.dark .button:hover{--tw-bg-opacity: 1;background-color:rgba(74,74,74,var(--tw-bg-opacity))}.button.active{--tw-bg-opacity: 1;background-color:rgba(74,74,74,var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgba(250,250,250,var(--tw-text-opacity))}.dark .button.active{--tw-bg-opacity: 1;background-color:rgba(250,250,250,var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgba(31,31,31,var(--tw-text-opacity))}.panel{--tw-bg-opacity: 1;background-color:rgba(248,249,250,var(--tw-bg-opacity));--tw-bg-opacity: .9;border-radius:.75rem;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;margin:1rem;max-height:80vh;max-width:24rem;overflow:hidden;overflow-y:scroll;padding:1rem;position:absolute;right:.5rem;bottom:.5rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);z-index:20;grid-gap:.5rem;gap:.5rem}.dark .panel{--tw-bg-opacity: 1;background-color:rgba(45,45,45,var(--tw-bg-opacity));--tw-bg-opacity: .9}h1,h2,h3,h4,h5,h6{line-height:1.25}:root{--font-family-base: "Circe", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Fira mono", source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace}@font-face{font-family:Circe;font-style:normal;font-weight:100;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-ExtraLight.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:200;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Light.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:400;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Regular.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:600;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Bold.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:800;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-ExtraBold.woff) format("woff")}html{overflow-y:scroll;scroll-behavior:smooth;hyphens:auto;transition:all .6s ease;overscroll-behavior-y:none}body{min-width:320px;min-height:100vh;line-height:1.4;font-family:var(--font-family-base);font-size:18px;font-weight:400;direction:ltr;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:all .6s ease;overscroll-behavior-y:none}#touchme-app{--tw-bg-opacity: 1;background-color:rgba(241,243,245,var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgba(74,74,74,var(--tw-text-opacity));-webkit-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);-o-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s;-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);-o-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1);-webkit-transition-duration:.6s;-o-transition-duration:.6s;transition-duration:.6s}.dark #touchme-app{--tw-bg-opacity: 1;background-color:rgba(28,28,30,var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgba(248,249,250,var(--tw-text-opacity))}.header-anchor{display:none}hr{border-bottom:1px solid currentColor;margin:4em 0}h1,h2,h3,h4,h5,h6,strong,b{font-weight:800}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{text-decoration:none;color:var(--c-link);transition:color .14s ease-in-out;font-weight:700}a:hover{text-decoration:underline;color:var(--c-link-hover)}.external-link{opacity:.9}.external-link:after{content:"";display:inline-block;width:1em;height:1em;opacity:.5;margin-bottom:-1px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1sYSIgd2lkdGg9IjFlbSIgaGVpZ2h0PSIxZW0iIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHZpZXdCb3g9IjAgMCAzMiAzMiIgc3R5bGU9InRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7Ij48cGF0aCBkPSJNMTggNXYyaDUuNTYzTDExLjI4IDE5LjI4MWwxLjQzOCAxLjQzOEwyNSA4LjQzN1YxNGgyVjV6TTUgOXYxOGgxOFYxNGwtMiAydjlIN1YxMWg5bDItMnoiIGZpbGw9ImN1cnJlbnRDb2xvciI+PC9wYXRoPjwvc3ZnPg==)}.fullscreen-container{--tw-bg-opacity: 1;background-color:rgba(246,246,246,var(--tw-bg-opacity));display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;position:relative;--tw-shadow: 0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.dark .fullscreen-container{--tw-bg-opacity: 1;background-color:rgba(24,24,24,var(--tw-bg-opacity))}.fullscreen-container:fullscreen{overflow-y:scroll}.list-enter-active{transition:all .3s ease-out}.list-enter-from{opacity:0;z-index:20;transform:translateY(-100%)}.list-leave-to{opacity:0;transform:translateY(30px)}.list-leave-active{transition:all .4s ease-in}.list-move{transition:transform .8s ease-in-out}.list-item{z-index:1}.panel-enter-active{transition:all .1s ease-out}.panel-enter-from{opacity:0;z-index:-20;transform:translateY(-100%)}.panel-leave-to{opacity:0;transform:translateY(-100px)}.panel-leave-active{transition:all .4s ease-in}.panel-move{transition:transform .8s ease-in-out}.panel-item{z-index:-20}.slide-enter-active,.slide-leave-active{transition:all .75s ease-out}.slide-enter-to{transform:translate(0)}.slide-enter-from{transform:translate(-100%)}.slide-leave-to{transform:translate(100%)}.slide-leave-from{transform:translate(0)}.scale-slide-enter-active,.scale-slide-leave-active{transition:all .85s ease}.scale-slide-enter-from{top:-100%}.scale-slide-enter-to{top:0%}.scale-slide-leave-from{transform:scale(1)}.scale-slide-leave-to{transform:scale(.8)}.fade-enter-active{transition:all .5s ease}.fade-leave-active,.fade-leave-to,.fade-enter-from{opacity:0}.fall{background-color:#ccc3}.fall-enter-active{transition:all .9s ease-out}.fall-leave-active,.fall-leave-to{transform:scale(.95)}.fall-enter-from{background-color:#fff;transform:translatey(-10px)}.dark .fall-enter-from{background-color:#000}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper{width:max-content}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}*{--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}button,input{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button{text-transform:none;background-color:transparent;background-image:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button,[role=button]{cursor:pointer}html{-webkit-text-size-adjust:100%;font-family:var(--font-family-base);line-height:1.5}h2,p{margin:0}h2{font-size:inherit;font-weight:inherit}img{border-style:solid;max-width:100%;height:auto}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}svg,img{display:block;vertical-align:middle}.bg-dark-50\/40{--tw-bg-opacity: .4;background-color:rgba(74,74,74,var(--tw-bg-opacity))}.bg-light-400{--tw-bg-opacity: 1;background-color:rgba(246,246,246,var(--tw-bg-opacity))}.bg-light-50{--tw-bg-opacity: 1;background-color:rgba(253,253,253,var(--tw-bg-opacity))}.bg-dark-50{--tw-bg-opacity: 1;background-color:rgba(74,74,74,var(--tw-bg-opacity))}.dark .dark_bg-light-200{--tw-bg-opacity: 1;background-color:rgba(250,250,250,var(--tw-bg-opacity))}.bg-light-300{--tw-bg-opacity: 1;background-color:rgba(248,249,250,var(--tw-bg-opacity))}.dark .dark_bg-dark-300{--tw-bg-opacity: 1;background-color:rgba(45,45,45,var(--tw-bg-opacity))}.dark .dark_bg-light-50{--tw-bg-opacity: 1;background-color:rgba(253,253,253,var(--tw-bg-opacity))}.bg-light-900{--tw-bg-opacity: 1;background-color:rgba(221,225,227,var(--tw-bg-opacity))}.bg-light-200{--tw-bg-opacity: 1;background-color:rgba(250,250,250,var(--tw-bg-opacity))}.dark .dark_bg-dark-500{--tw-bg-opacity: 1;background-color:rgba(31,31,31,var(--tw-bg-opacity))}.dark .dark_bg-dark-200{--tw-bg-opacity: 1;background-color:rgba(50,50,50,var(--tw-bg-opacity))}.bg-light-100{--tw-bg-opacity: 1;background-color:rgba(252,252,252,var(--tw-bg-opacity))}.dark .dark_bg-dark-400{--tw-bg-opacity: 1;background-color:rgba(34,34,34,var(--tw-bg-opacity))}.bg-light-800{--tw-bg-opacity: 1;background-color:rgba(222,226,230,var(--tw-bg-opacity))}.dark .dark_bg-dark-50{--tw-bg-opacity: 1;background-color:rgba(74,74,74,var(--tw-bg-opacity))}.bg-opacity-90,.dark .dark_bg-opacity-90{--tw-bg-opacity: .9}.bg-opacity-20{--tw-bg-opacity: .2}.border-dark-200{--tw-border-opacity: 1;border-color:rgba(50,50,50,var(--tw-border-opacity))}.border-dark-50\/50{--tw-border-opacity: .5;border-color:rgba(74,74,74,var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-red-500{--tw-border-opacity: 1;border-color:rgba(239,68,68,var(--tw-border-opacity))}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.border-1{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.\.border-2\.rounded-lg\.p-2{border-width:2px}.border-r-1{border-right-width:1px}.cursor-pointer{cursor:pointer}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.grid{display:-ms-grid;display:grid}.contents{display:contents}.flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.flex-wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.justify-center{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.flex-1{-webkit-box-flex:1;-ms-flex:1 1 0%;-webkit-flex:1 1 0%;flex:1 1 0%}.flex-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}.\.flex\.justify-between\.flex-wrap\.gap-1,.\.flex-0\.flex\.flex-col\.gap-1{-webkit-box-flex:1;-ms-flex:1 1 0%;-webkit-flex:1 1 0%;flex:1 1 0%}.\.flex-auto{-webkit-box-flex:1;-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}.\.flex-1{-webkit-box-flex:1;-ms-flex:1 1 0%;-webkit-flex:1 1 0%;flex:1 1 0%}.font-mono{font-family:var(--font-family-mono)}.font-bold{font-weight:700}.font-normal{font-weight:400}.\.font-bold{font-weight:700}.h-full{height:100%}.h-100vh{height:100vh}.\.text-sm,.text-sm{font-size:.875rem;line-height:1.25rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.\.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.\.text-xl{font-size:1.25rem;line-height:1.75rem}.text-16px{font-size:16px;line-height:1}.m-4{margin:1rem}.m-2{margin:.5rem}.m-1{margin:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.mt-4{margin-top:1rem}.mt-2{margin-top:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-10{margin-top:2.5rem}.mt-6{margin-top:1.5rem}.-mt-3{margin-top:-.75rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.max-h-70vh{max-height:70vh}.max-h-40vh{max-height:40vh}.max-h-50{max-height:12.5rem}.max-w-sm{max-width:24rem}.min-h-full{min-height:100%}.min-w-80{min-width:20rem}.opacity-90{opacity:.9}.hover_opacity-100:hover{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.overflow-hidden{overflow:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.overscroll-y-contain{overscroll-behavior-y:contain}.p-4{padding:1rem}.p-2{padding:.5rem}.p-0{padding:0}.p-1{padding:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2px{padding-top:2px;padding-bottom:2px}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pt-4{padding-top:1rem}.pl-2{padding-left:.5rem}.pointer-events-none{pointer-events:none}.static{position:static}.absolute{position:absolute}.relative{position:relative}.right-2{right:.5rem}.bottom-2{bottom:.5rem}.bottom-20{bottom:5rem}.left-0{left:0px}.top-10{top:2.5rem}.top-0{top:0px}.top-4{top:1rem}.right-4{right:1rem}.bottom-1{bottom:.25rem}.top-20{top:5rem}.left-20{left:5rem}.right-20{right:5rem}.hover_shadow:hover,.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0/.1),0 1px 2px -1px rgb(0 0 0/.1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0/.05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-light-200{--tw-text-opacity: 1;color:rgba(250,250,250,var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgba(239,68,68,var(--tw-text-opacity))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover_no-underline:hover{text-decoration:none}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.whitespace-nowrap{white-space:nowrap}.w-full{width:100%}.w-16{width:4rem}.w-16ch{width:16ch}.w-2\.5em{width:2.5em}.z-20{z-index:20}.\.z-40\.flex\.flex-col\.gap-2{z-index:2}.z-40{z-index:40}.z-100{z-index:100}.z-500{z-index:500}.z-1000{z-index:1000}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-1{grid-gap:.25rem;gap:.25rem}.gap-3{grid-gap:.75rem;gap:.75rem}.gap-4{grid-gap:1rem;gap:1rem}.transform{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-rotate: 0;--tw-rotate-x: 0;--tw-rotate-y: 0;--tw-rotate-z: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;-webkit-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));-ms-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));transform:translate(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotate(var(--tw-rotate-z)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z))}.origin-left{-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left}.scale-200{--tw-scale-x: 2;--tw-scale-y: 2;--tw-scale-z: 2}.transition{-webkit-transition-property:background-color,border-color,color,fill,stroke,opacity,-webkit-box-shadow,-webkit-transform,filter,backdrop-filter;-o-transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,-webkit-box-shadow,transform,-webkit-transform,filter,backdrop-filter;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);-o-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}.transition-all{-webkit-transition-property:all;-o-transition-property:all;transition-property:all;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);-o-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1);-webkit-transition-duration:.15s;-o-transition-duration:.15s;transition-duration:.15s}.ease-out{-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);-o-transition-timing-function:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);-o-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-800ms{-webkit-transition-duration:.8s;-o-transition-duration:.8s;transition-duration:.8s}.duration-300{-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.duration-200{-webkit-transition-duration:.2s;-o-transition-duration:.2s;transition-duration:.2s}.mix-blend-multiply{mix-blend-mode:multiply}.dark .dark_mix-blend-difference,.mix-blend-difference{mix-blend-mode:difference}.mix-blend-exclusion{mix-blend-mode:exclusion}.blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)} diff --git a/assets/style-edf63a0d.css b/assets/style-edf63a0d.css new file mode 100644 index 0000000..5128542 --- /dev/null +++ b/assets/style-edf63a0d.css @@ -0,0 +1 @@ +.txt[data-v-5ef71097]{padding:.25rem;flex:10 1 30px}.active[data-v-b0381278]{--un-border-opacity:1;border-color:rgba(50,50,50,var(--un-border-opacity))}.display[data-v-b0381278]{position:relative;width:16ch;display:flex;justify-content:space-between;overflow:hidden;border-width:1px;border-color:#4a4a4a80;border-radius:.5rem;padding-left:.25rem;padding-right:.25rem;padding-top:2px;padding-bottom:2px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.indicator[data-v-b0381278]{position:absolute;top:0;left:0;height:100%;width:100%;transform-origin:left;border-right-width:1px;border-color:#4a4a4a80;--un-bg-opacity:1;background-color:rgba(74,74,74,var(--un-bg-opacity));--un-bg-opacity:.2;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}input.ch[data-v-27bfda27]{width:2.5em;background-color:transparent;padding-left:.5rem}nav button[data-v-9f417c45]{font-size:1.5rem;line-height:2rem}.app{position:relative;position:absolute;min-height:100%;width:100%;display:flex;flex-direction:column;align-items:center;overflow-y:scroll;text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.8s}.nav{width:100%;display:flex;flex:1 1 0%;align-items:center;border-radius:.5rem;background-color:#4a4a4a66;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button{display:flex;flex:1 1 auto;align-items:center;justify-content:center;border-radius:.75rem;--un-bg-opacity:1;background-color:rgba(246,246,246,var(--un-bg-opacity));padding:1rem;opacity:.9;--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button:hover{--un-bg-opacity:1;background-color:rgba(253,253,253,var(--un-bg-opacity))}.button.active{--un-bg-opacity:1;background-color:rgba(74,74,74,var(--un-bg-opacity));--un-text-opacity:1;color:rgba(250,250,250,var(--un-text-opacity))}.panel{position:absolute;right:.5rem;bottom:.5rem;z-index:20;margin:1rem;max-width:24rem;max-height:80vh;display:flex;flex-direction:column;align-items:center;gap:.5rem;overflow:hidden;overflow-y:scroll;border-radius:.75rem;--un-bg-opacity:1;background-color:rgba(248,249,250,var(--un-bg-opacity));--un-bg-opacity:.9;padding:1rem;--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color, #e5e7eb)}html{line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-20{bottom:5rem}.left-0{left:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-10{top:2.5rem}.top-20{top:5rem}.top-4{top:1rem}.z-100{z-index:100}.z-20{z-index:20}.z-40{z-index:40}.z-500{z-index:500}.grid{display:grid}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.-mt-3{margin-top:-.75rem}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.h-100vh{height:100vh}.h-full{height:100%}.max-h-40vh{max-height:40vh}.max-h-80vh{max-height:80vh}.max-w-sm{max-width:24rem}.min-h-full{min-height:100%}.min-w-80{min-width:20rem}.w-16{width:4rem}.w-16ch{width:16ch}.w-2\.5em{width:2.5em}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.origin-left{transform-origin:left}.scale-200{--un-scale-x:2;--un-scale-y:2;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.overflow-hidden{overflow:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.whitespace-nowrap{white-space:nowrap}.b,.border,.border-1{border-width:1px}.border-2{border-width:2px}.border-r-1{border-right-width:1px}.border-dark-200{--un-border-opacity:1;border-color:rgba(50,50,50,var(--un-border-opacity))}.border-dark-50\/50{border-color:#4a4a4a80}.border-red-500{--un-border-opacity:1;border-color:rgba(239,68,68,var(--un-border-opacity))}.border-transparent{border-color:transparent}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.bg-dark-50{--un-bg-opacity:1;background-color:rgba(74,74,74,var(--un-bg-opacity))}.bg-dark-50\/40{background-color:#4a4a4a66}.bg-light-200{--un-bg-opacity:1;background-color:rgba(250,250,250,var(--un-bg-opacity))}.bg-light-300{--un-bg-opacity:1;background-color:rgba(248,249,250,var(--un-bg-opacity))}.bg-light-400{--un-bg-opacity:1;background-color:rgba(246,246,246,var(--un-bg-opacity))}.bg-light-50{--un-bg-opacity:1;background-color:rgba(253,253,253,var(--un-bg-opacity))}.bg-light-900{--un-bg-opacity:1;background-color:rgba(221,225,227,var(--un-bg-opacity))}.bg-transparent{background-color:transparent}.bg-opacity-20{--un-bg-opacity:.2}.bg-opacity-90{--un-bg-opacity:.9}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2px{padding-top:2px;padding-bottom:2px}.pl-2{padding-left:.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-light-200{--un-text-opacity:1;color:rgba(250,250,250,var(--un-text-opacity))}.text-red-500{--un-text-opacity:1;color:rgba(239,68,68,var(--un-text-opacity))}.underline{text-decoration-line:underline}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-90{opacity:.9}.mix-blend-multiply{mix-blend-mode:multiply}.mix-blend-difference{mix-blend-mode:difference}.mix-blend-exclusion{mix-blend-mode:exclusion}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-lg{--un-shadow:var(--un-shadow-inset) 0 10px 15px -3px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 4px 6px -4px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-sm{--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,.05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.blur{--un-blur:blur(8px);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-800ms{transition-duration:.8s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--font-family-base: "Circe", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Fira mono", source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace}@font-face{font-family:Circe;font-style:normal;font-weight:100;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-ExtraLight.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:200;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Light.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:400;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Regular.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:600;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-Bold.woff) format("woff")}@font-face{font-family:Circe;font-style:normal;font-weight:800;src:local(""),url(https://touchme.chromatone.center/fonts/Circe-ExtraBold.woff) format("woff")}html{overflow-y:scroll;scroll-behavior:smooth;-webkit-hyphens:auto;hyphens:auto;transition:all .6s ease;overscroll-behavior-y:none}body{min-width:320px;min-height:100vh;line-height:1.4;font-family:var(--font-family-base);font-size:18px;font-weight:400;direction:ltr;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:all .6s ease;overscroll-behavior-y:none}#touchme-app{--un-bg-opacity:1;background-color:rgba(241,243,245,var(--un-bg-opacity));--un-text-opacity:1;color:rgba(74,74,74,var(--un-text-opacity));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-duration:.6s;transition-timing-function:cubic-bezier(0,0,.2,1)}.header-anchor{display:none}hr{border-bottom:1px solid currentColor;margin:4em 0}h1,h2,h3,h4,h5,h6{line-height:1.25}h1,h2,h3,h4,h5,h6,strong,b{font-weight:800}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{text-decoration:none;color:var(--c-link);transition:color .14s ease-in-out;font-weight:700}a:hover{text-decoration:underline;color:var(--c-link-hover)}.external-link{opacity:.9}.external-link:after{content:"";display:inline-block;width:1em;height:1em;opacity:.5;margin-bottom:-1px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgcm9sZT0iaW1nIiBjbGFzcz0iaWNvbmlmeSBpY29uaWZ5LS1sYSIgd2lkdGg9IjFlbSIgaGVpZ2h0PSIxZW0iIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiIHZpZXdCb3g9IjAgMCAzMiAzMiIgc3R5bGU9InRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7Ij48cGF0aCBkPSJNMTggNXYyaDUuNTYzTDExLjI4IDE5LjI4MWwxLjQzOCAxLjQzOEwyNSA4LjQzN1YxNGgyVjV6TTUgOXYxOGgxOFYxNGwtMiAydjlIN1YxMWg5bDItMnoiIGZpbGw9ImN1cnJlbnRDb2xvciI+PC9wYXRoPjwvc3ZnPg==)}.fullscreen-container{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;--un-bg-opacity:1;background-color:rgba(246,246,246,var(--un-bg-opacity));--un-shadow:var(--un-shadow-inset) 0 20px 25px -5px var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 8px 10px -6px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.fullscreen-container:fullscreen{overflow-y:scroll}.list-enter-active{transition:all .3s ease-out}.list-enter-from{opacity:0;z-index:20;transform:translateY(-100%)}.list-leave-to{opacity:0;transform:translateY(30px)}.list-leave-active{transition:all .4s ease-in}.list-move{transition:transform .8s ease-in-out}.list-item{z-index:1}.panel-enter-active{transition:all .1s ease-out}.panel-enter-from{opacity:0;z-index:-20;transform:translateY(-100%)}.panel-leave-to{opacity:0;transform:translateY(-100px)}.panel-leave-active{transition:all .4s ease-in}.panel-move{transition:transform .8s ease-in-out}.panel-item{z-index:-20}.slide-enter-active,.slide-leave-active{transition:all .75s ease-out}.slide-enter-to{transform:translate(0)}.slide-enter-from{transform:translate(-100%)}.slide-leave-to{transform:translate(100%)}.slide-leave-from{transform:translate(0)}.scale-slide-enter-active,.scale-slide-leave-active{transition:all .85s ease}.scale-slide-enter-from{top:-100%}.scale-slide-enter-to{top:0%}.scale-slide-leave-from{transform:scale(1)}.scale-slide-leave-to{transform:scale(.8)}.fade-enter-active{transition:all .5s ease}.fade-leave-active,.fade-leave-to,.fade-enter-from{opacity:0}.fall{background-color:#ccc3}.fall-enter-active{transition:all .9s ease-out}.fall-leave-active,.fall-leave-to{transform:scale(.95)}.fall-enter-from{background-color:#fff;transform:translatey(-10px)}.dark .fall-enter-from{background-color:#000}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper{width:max-content}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c} diff --git a/index.html b/index.html index 2240804..19c56a1 100644 --- a/index.html +++ b/index.html @@ -17,8 +17,8 @@ - - + + @@ -34,17 +34,6 @@ gtag("config", "UA-229540973-1"); - \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index d3f1297..4ea58f9 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://touchme.chromatone.center/stats2023-08-09T17:07:31.115Zdaily1.0https://touchme.chromatone.center/spiral2023-08-09T17:07:31.115Zdaily1.0https://touchme.chromatone.center/rose2023-08-09T17:07:31.115Zdaily1.0https://touchme.chromatone.center/level2023-08-09T17:07:31.115Zdaily1.0https://touchme.chromatone.center/2023-08-09T17:07:31.115Zdaily1.0https://touchme.chromatone.center/donut2023-08-09T17:07:31.115Zdaily1.0https://touchme.chromatone.center/cross2023-08-09T17:07:31.115Zdaily1.0 \ No newline at end of file +https://touchme.chromatone.center/stats2023-11-03T06:32:57.946Zdaily1.0https://touchme.chromatone.center/spiral2023-11-03T06:32:57.946Zdaily1.0https://touchme.chromatone.center/rose2023-11-03T06:32:57.946Zdaily1.0https://touchme.chromatone.center/level2023-11-03T06:32:57.946Zdaily1.0https://touchme.chromatone.center/2023-11-03T06:32:57.946Zdaily1.0https://touchme.chromatone.center/donut2023-11-03T06:32:57.946Zdaily1.0https://touchme.chromatone.center/cross2023-11-03T06:32:57.946Zdaily1.0 \ No newline at end of file