timescope 0.0.0-alpha.0 → 0.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/browser.js +1 -1
- package/index.d.ts +60 -59
- package/index.js +1 -1
- package/package.json +15 -4
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Timescope
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Canvas for Time-Series Visualization
|
|
4
4
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
@@ -71,6 +71,6 @@ new Timescope({
|
|
|
71
71
|
});
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
##
|
|
74
|
+
## Documents
|
|
75
75
|
|
|
76
76
|
See the [documents](https://xenodrive.github.io/timescope/) for more details.
|
package/browser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<y.length?y[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<te.length?te[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*ee)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(v))return{exponent:0n,remainder:v.clone()};if(e.ge(v))return m(e,t,n,r);let a=m(v.div(e,i),t,n,r);return a.remainder.eq(v)?{exponent:-a.exponent,remainder:v.clone()}:{exponent:-a.exponent-1n,remainder:v.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return x(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(v,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=b(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=b(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=b(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=b(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=b(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=b(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=b(e),r=b(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=b(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=b(e),r=b(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=b(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=b(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=ne(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(ne(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(v))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(v),p=f?v.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let ee=i===0?0:c;return this.round$(ee),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\x1b[33m${this.toString()}\x1b[m \x1b[90m(${this.coeff} * 10 ** ${-this.digits})\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};let _=18n,ee=Math.log2(10),v=new g(1n),y=[],te=[];(function(){for(let e=0;e<256;e++)te[e]=10n**BigInt(e),y[e]=5n**BigInt(e)})();function b(e){return e==null||x(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=b(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(b||={});let x=b.isDecimal;b.isDecimalLike;let ne=b.pow10,S=b.minmax;b.min,b.max;function re(e){if(typeof e==`number`&&isNaN(e)||typeof e==`number`&&!isFinite(e))return null;try{return b(e)}catch{return null}}var C={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelStep:.5};function ie(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var ae=class{uid=ie(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},w=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},T=class extends ae{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}};function E(e){if(e==null||x(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return b(t/1e3)}return e instanceof Date?b(e.getTime()/1e3):b(e)}function oe(e){return e.map(E)}let se=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),ce=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var le=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,"in-out":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=se(a)}else this.done()};this.#e=se(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(ce(this.#e),null)}get animating(){return this.#e!==null}};function D(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var O=class extends T{#e;#t={id:void 0,value:null,nullValue:b(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new le;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return b(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>b(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(D(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>b(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=D(b(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=D(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new w(`sync`,n)),this.dispatchEvent(new w(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new w(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=D(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t)};this.dispatchEvent(new w(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new w(`valuechanging`,e)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=D(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new w(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.changed(),this.dispatchEvent(new w(`valuechanging`,this.#t.value)),this.dispatchEvent(new w(`valuechanged`,this.#t.value))},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new w(`sync`,e)),this.#l(e)}},ue=class extends T{time;zoom;constructor(e){super(),this.time=new O,this.zoom=new O,this.time=new O({initialValue:E(e.time??null),domain:oe(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new O({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.zoom.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new w(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new w(`timechanged`,e.value))),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new w(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new w(`zoomchanged`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(E(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=oe(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(b(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(b)}};function k(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>k(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,k(n,...t)])):e}function de(e){return function(t){let n=e.split(`,`).map(e=>e.trim()),r=t;for(let e of n){let n=e.split(`.`);r=t;for(let e=0;e<n.length&&r!=null;e++){if(typeof r!=`object`){r=null;break}r=r[n[e]]}if(r!=null)return r}return r}}function fe(e){return Object.prototype.toString.call(e)===`[object Object]`}function A(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&fe(r)?((!i||typeof i!=`object`)&&(e[n]={}),A(e[n],r)):e[n]=r}return e}let j={z:0,r:b(1)};function pe(e){return j.r.eq(e)?j.z:-e.log(C.base).number()}function me(e){return j.z===e?j.r:(j.z=e,j.r=b(C.base).pow(-e,BigInt(Math.floor(e))),j.r)}function he(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(b(e).floorBy(C.chunkStep).toFixed(2))}var ge=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},_e=class extends ge{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}},ve=class{#e=`none`;#t={};#n=[];#r;#i;#a={none:[[[`pointerdown`,1,this.#o.bind(this)],`down`,[`down`]]],down:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`drag:start`,`pinch:start`]],[[`pointermove`,1,this.#l.bind(this)],`drag`,[`drag:start`]],[[`pointerup`,0],`none`,[`click`,`up`]],[[`pointercancel`,0],`none`,[`up`]]],drag:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`pinch:start`]],[[`pointermove`,1],`drag`,[`drag:update`]],[[`pointerup`,0],`none`,[`drag:end`,`up`]],[[`pointercancel`,0],`none`,[`drag:end`,`up`]]],pinch:[[[`pointermove`,2],`pinch`,[`pinch:update`]],[[`pointerup`,1,this.#c.bind(this)],`drag`,[`pinch:end`]],[[`pointercancel`,0],`none`,[`pinch:end`,`up`]]]};get state(){return this.#e}disabled=!1;#o(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#s(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#c(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#l(){let e=this.#n.find(e=>e.pressed)||this.#n[0];return e.latest.distanceTo(e.anchor)<4?!1:(this.#n.forEach(e=>e.anchor=e.latest.clone()),!0)}#u(e){if(this.disabled)return;let t=new _e(e.clientX,e.clientY),n=this.#i(t,e)??t,r=!!(e.buttons&1),i=this.#t[e.pointerId]?.latest??n;this.#t[e.pointerId]={pointerId:e.pointerId,last:i,latest:n,delta:n.clone().sub(i),anchor:this.#t[e.pointerId]?.anchor??n,pressed:r};let a=Object.values(this.#t),o=a.filter(e=>e.pressed).length;this.#n=a.filter(t=>t.pressed||t.pointerId===e.pointerId),this.#m(e,o),this.#f(e),r||delete this.#t[e.pointerId]}#d;async#f(e){this.#r&&this.#d&&(this.#r.style.cursor=await this.#d({type:`cursor`,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})??``)}#p;#m(e,t){let[[n,r,i],a,o]=this.#a[this.#e].find(([[n,r]])=>(n===`*`||n===e.type)&&(r===void 0||r===t))??[[`*`],this.#e];i?.(e)!==!1&&(this.#e=a,o&&o.forEach(t=>this.#p({type:t,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})))}constructor(e={}){this.#i=e.transform??(e=>e),this.#p=e.handler??(async()=>void 0),this.#d=e.cursor,e.element&&this.attach(e.element)}#h;attach(e){this.#h?.abort(),this.#h=new AbortController;let t=this.#h.signal,n=e=>this.#u(e);return e.addEventListener(`pointerdown`,n,{signal:t}),window.addEventListener(`pointermove`,n,{passive:!0,signal:t}),window.addEventListener(`pointerup`,n,{passive:!0,signal:t}),window.addEventListener(`pointercancel`,n,{passive:!0,signal:t}),e.addEventListener(`touchstart`,e=>e.preventDefault(),{signal:t}),this.#r=e,this}detach(){this.#h?.abort()}};let ye=0;function be(e){return function(t,n,r={rpc:!1}){let i=++ye;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:Se(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(N(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function xe(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](N(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:Se(o)})}),t}function M(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=M(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=M(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=M(e[r],t,n);return n.delete(e),i}function Se(e,t){return M(e,t,new WeakSet)}function Ce(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function N(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(Ce(e))return b(e);if(Array.isArray(e))return e.map(N);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=N(e[n]);return t}return e}}let we=[[`font-style`,`style`],[`font-weight`,`weight`],[`font-stretch`,`stretch`],[`unicode-range`,`unicodeRange`],[`font-variant`,`variant`],[`font-feature-settings`,`featureSettings`],[`font-display`,`display`],[`ascent-override`,`ascentOverride`],[`descent-override`,`descentOverride`],[`line-gap-override`,`lineGapOverride`]];function Te(){return{visited:new Set}}function Ee(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}function De(e,t){return e.replace(/url\(([^)]+)\)/gi,(e,n)=>{let r=n.trim(),i=Ee(r);if(!i)return`url(${n})`;try{let e=new URL(i,t).toString(),n=r.startsWith(`"`)?`"`:r.startsWith(`'`)?`'`:``;return`url(${n}${e}${n})`}catch{return`url(${n})`}})}function Oe(e,t){let n=e.style.getPropertyValue(`font-family`),r=e.style.getPropertyValue(`src`),i=Ee(n);if(!i||!r)return null;let a={};for(let[t,n]of we){let r=e.style.getPropertyValue(t);r.trim()&&(a[n]=r.trim())}return{family:i,source:t?De(r,t):r,desc:a}}function ke(){if(typeof document<`u`&&document.baseURI)return document.baseURI;if(typeof location<`u`&&location.href)return location.href}function Ae(e,t){try{return t?new URL(e,t).toString():new URL(e).toString()}catch{return null}}function je(e){try{let t=e.cssRules;return Array.from(t)}catch{return null}}async function Me(e,t,n){let r=[],i=t??ke();for(let t of e){if(t.type===CSSRule.FONT_FACE_RULE){let e=Oe(t,i);e&&r.push(e);continue}if(t.type===CSSRule.IMPORT_RULE){let e=Ae(t.href,i);if(!e)continue;r.push(...await Pe(e,n))}}return r}async function Ne(e,t,n){let r=je(e);return r?await Me(r,t??e.href??ke(),n):e.href?await Pe(e.href,n,t):[]}async function Pe(e,t,n){let r=Ae(e,n);if(!r||t.visited.has(r))return[];if(t.visited.add(r),typeof fetch>`u`||typeof CSSStyleSheet>`u`)throw Error(`Failed to load CSS: ${r}`);try{let e=await fetch(r);if(!e.ok)throw Error();let n=await e.text(),i=new CSSStyleSheet;return await i.replace(n),await Ne(i,e.url,t)}catch{throw Error(`Failed to load CSS: ${r}`)}}async function Fe(e){let t=Te(),n=[];for(let r of e){if(typeof r==`string`){let e=await Pe(r,t);n.push(...e);continue}else typeof r.source==`string`&&(r.source=De(r.source,location.href));n.push(r)}return n}async function Ie(){if(typeof document>`u`||!document.styleSheets)return[];let e=Te(),t=[],n=ke();for(let r of Array.from(document.styleSheets)){let i;try{i=r}catch{continue}let a=i.href??n;try{let n=await Ne(i,a,e);t.push(...n)}catch{continue}}return t}var Le=class{options;constructor(e){this.options=e}loadMeta(e){}},Re=class extends Le{constructor(e){super(e)}async loadChunk(e){let t=await this.options.series.loadChunk(e);return await this.transform(t)}async transform(e){return e}};let ze={lines:{links:[{draw:`line`}]},"lines:filled":{links:[{draw:`area`},{draw:`line`}]},curves:{links:[{draw:`curve`}]},"curves:filled":{links:[{draw:`curve-area`},{draw:`curve`}]},"steps-start":{links:[{draw:`step-start`}]},"steps-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}]},steps:{links:[{draw:`step`}]},"steps:filled":{links:[{draw:`step-area`},{draw:`step`}]},"steps-end":{links:[{draw:`step-end`}]},"steps-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}]},points:{marks:[{draw:`circle`}]},linespoints:{links:[{draw:`line`}],marks:[{draw:`circle`}]},"linespoints:filled":{links:[{draw:`area`},{draw:`line`}],marks:[{draw:`circle`}]},curvespoints:{links:[{draw:`curve`}],marks:[{draw:`circle`}]},"curvespoints:filled":{links:[{draw:`curve-area`},{draw:`curve`}],marks:[{draw:`circle`}]},"stepspoints-start":{links:[{draw:`step-start`}],marks:[{draw:`circle`}]},"stepspoints-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}],marks:[{draw:`circle`}]},stepspoints:{links:[{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints:filled":{links:[{draw:`step-area`},{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints-end":{links:[{draw:`step-end`}],marks:[{draw:`circle`}]},"stepspoints-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}],marks:[{draw:`circle`}]},impulses:{marks:[{draw:`line`,using:[`value`,`zero`]}]},impulsespoints:{marks:[{draw:`line`,using:[`value`,`zero`]},{draw:`circle`}]},boxes:{marks:[{draw:`box`,using:[`value`,`zero`],style:{fillColor:`transparent`}}]},"boxes:filled":{marks:[{draw:`box`,using:[`value`,`zero`]}]}};function Be(e){return ze[e]??{}}var Ve=class extends Re{marks;links;constructor(e){super(e);let t=typeof e.series.options.chart==`string`?Be(e.series.options.chart):e.series.options.chart??{};this.marks=t.marks,this.links=t.links}async transform(e){let t=e.data?.map(t=>{let n={resolution:e.resolution,data:t.data??{},time:t.time,value:t.value},r=k(this.marks,n);return{...t,marks:r?.map(e=>({...e,style:k(e.style,n)??{}}))??[]}});return{...e,data:t}}async loadMeta({resolution:e}){return{links:k(this.links,{resolution:e})?.map(e=>({...e,style:k(e.style,null)??{}}))??[],color:this.options.series.color,...this.options.series.dataRange}}};function He(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function Ue(e){return e?{using:e.using??`value`,zoom:e.zoom}:{using:`value`,zoom:void 0}}function We(e){let t=({name:e,unit:t,digits:n,value:r})=>{if(r==null)return`No data`;let i=[];return e&&i.push(e),i.push(r.toFixed(n)),t&&i.push(t),i.join(` `)};return typeof e==`boolean`||!e?{format:t}:{...e,format:e.format??t}}var Ge=class extends Re{#e;#t;constructor(e){super(e),this.#e=Ue(e.series.options.data.instantaneous),this.#t=We(e.series.options.tooltip)}async transform(e){let{name:t,unit:n,digits:r}=this.options.series,i=this.#t.format,a=He(k(this.#e.using,e))[0],o=e.data?.flatMap(e=>{if(!this.#e)return[];let o=e.time[a[1]],s=e.value[a[0]];return[{time:{time:o},value:s,text:i({time:o,value:s,unit:n,digits:r,name:t})}]});return{...e,data:o}}async loadMeta(e){let t=this.options.series.color;return{...this.options.series.dataRange,color:t}}};let Ke=b(1n),qe=b(0n),P=60n,F=P*60n,I=F*24n,L=8640000000000n;function R(e,t){let n=e/t,r=e%t;return r!==0n&&r>0n!=t>0n&&(n-=1n),n}function Je(e,t){return e-R(e,t)*t}function Ye(e){return e>0n?e:e+1n}function Xe(e){return e>0n?e:e-1n}function z(e,t){let n=Ye(e),r=t-1n,i=R(r,12n),a=r-i*12n;return{year:Xe(n+i),month:a+1n,day:1n}}function B(e,t,n){let r=z(e,t);return Qe(Ze(r.year,r.month,n))}function Ze(e,t,n){let r=Ye(e),i=t,a=n;i<=2n&&(r-=1n);let o=r/400n-(r<0n?1n:0n),s=r-o*400n;i+=i>2n?-3n:9n;let c=(153n*i+2n)/5n+a-1n,l=s*365n+s/4n-s/100n+c;return o*146097n+l-719468n}function Qe(e){let t=e+719468n,n=t/146097n-(t<0n?1n:0n),r=t-n*146097n,i=(r-r/1460n+r/36524n-r/146096n)/365n,a=i+n*400n,o=r-(365n*i+i/4n-i/100n),s=(5n*o+2n)/153n,c=o-(153n*s+2n)/5n+1n,l=s+(s<10n?3n:-9n);return l<=2n&&(a+=1n),{year:Xe(a),month:l,day:c}}function $e(e){return e>L?L:e<-L?-L:e}function et(e){let t=$e(e);return-BigInt(Math.floor(new Date(Number(t)*1e3).getTimezoneOffset()))*P}function tt(e){return et(e)}function nt(e){return et(e)}function rt(e){let t=Ze(e.year,e.month,e.day),n=e.hour*F+e.minute*P+e.second,r=t*I+n;return b(r-nt(r)).add(e.subseconds)}function it(e){let t=B(e.year,e.month,e.day),n=e.subseconds.modPositive(Ke),r=e.subseconds.sub(n).integer(),i=e.second+r;return rt({...e,...t,second:i,subseconds:n})}function at(e){let[t]=e.split(),n=tt(t.integer()),[r,i]=e.add(b(n)).split(),a=r.integer(),o=R(a,I),s=Je(a,I),c=Qe(o),l=R(s,F),u=s-l*F,d=R(u,P),f=Je(u,P);return{year:c.year,month:c.month,day:c.day,hour:l,minute:d,second:f,subseconds:i}}function V(e,t){return it({...t(at(e)),hour:0n,minute:0n,second:0n,subseconds:qe})}function H(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>t<=e).toSorted().at(-1)??e:(t=BigInt(t),(e-n)/t*t+n):e}function U(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>e<t).toSorted().at(0):(t=BigInt(t),((e-n)/t+1n)*t+n):e}function ot(e,t){return V(e,e=>({...B(e.year,e.month,H(e.day,t,1n))}))}function st(e,t){return V(e,e=>{let n=U(e.day,t,1n);return n?B(e.year,e.month,n):z(e.year,U(e.month,1n,1n))})}function ct(e,t){return V(e,e=>z(e.year,H(e.month,t,1n)))}function lt(e,t){return V(e,e=>z(e.year,U(e.month,t,1n)))}function ut(e,t){return V(e,e=>{let n=H(e.year<=0n?e.year-1n:e.year,t,0n);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function dt(e,t){return V(e,e=>{let n=U(e.year<=0n?e.year-1n:e.year,t);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function W(e,t){let n=b(t),r=ot(e,1n);return e.sub(r).floorBy(n).add(r)}function G(e,t){return e.add(b(t))}function ft(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}let pt={s:0n,ms:3n,us:6n,ns:9n};function mt({time:e,digits:t}){return t>0?e.toFixed(t):e.toString()}function K(e,t,n){if(t===n)return e;let r=pt[t]??0n,i=(pt[n]??0n)-r;return e.shift10(i)}function*ht(e,t,n){if(!e[0]||!e[1])return;let r=n.timeFormat??mt,i=b(C.defaultChunkSize),a=t.mul(i).log(10).round().integer(),o=b(10).pow(a,-a),s=t.mul(b(20)),c=[10n,5n,1n],l=o,u=1n;for(let e of c){let t=o.div(b(e));if(!t.lt(s)){l=t,u=e;break}}if(l.isZero())return;let d=b(u),f=b(1n),p=e[0].div(l).floor().sub(f),m=Math.max(0,-l.log(10).floor().number());for(let t=0;t<1e6;t+=1){p=p.add(f);let t=l.mul(p);if(t.ge(e[1]))break;if(t.lt(e[0]))continue;let i=p.mod(d).isZero();yield{time:{time:t},major:i,tick:!0,text:i?r({time:t,unit:n.timeUnit??`s`,level:`relative`,digits:m,stride:void 0}):``}}}function q(e){return{align:t=>W(t,e),next:t=>G(t,e)}}function J(e){return e=e.mul(60),{align:t=>W(t,e),next:t=>G(t,e)}}function Y(e){return e=e.mul(3600),{align:t=>W(t,e),next:t=>G(t,e)}}function X(e){return{align:t=>ot(t,e),next:t=>st(t,e)}}function Z(e){return{align:t=>ct(t,e),next:t=>lt(t,e)}}function gt(e){return{align:t=>ut(t,e),next:t=>dt(t,e)}}let _t=[{ops:q,stride:1,step:1},{ops:q,stride:5,step:5},{ops:q,stride:10,step:10},{ops:q,stride:15,step:15},{ops:q,stride:30,step:30},{ops:J,stride:1,step:1},{ops:J,stride:5,step:5},{ops:J,stride:10,step:10},{ops:J,stride:15,step:15},{ops:J,stride:30,step:30},{ops:Y,stride:1,step:1},{ops:Y,stride:3,step:3},{ops:Y,stride:6,step:6},{ops:Y,stride:12,step:12},{ops:X,stride:1,step:1},{ops:X,stride:10,step:[1,10,20]},{ops:Z,stride:1,step:1},{ops:Z,stride:3,step:3}],vt=b(86400),yt=b(`2629800`),bt=b(`31557600`),xt=b(60),St=b(20),Ct=[1n,5n],wt=[1n,5n],Tt=[`subsecond`,`second`,`minute`,`hour`,`day`,`month`,`year`];function Et(e){switch(e.ops){case q:return`second`;case J:return`minute`;case Y:return`hour`;case X:return`day`;case Z:return`month`;default:throw Error(`Unknown calendar definition`)}}function Dt(e){let{ops:t,step:n}=e;if(t===q||t===J||t===Y)return t(b(n));if(t===X||t===Z)return t(Array.isArray(n)?n.map(e=>BigInt(e)):BigInt(n));throw Error(`Unsupported definition`)}function Ot(e){let t=b(BigInt(e.stride));switch(Et(e)){case`second`:return b(e.step);case`minute`:return b(e.step).mul(60);case`hour`:return b(e.step).mul(3600);case`day`:return t.mul(vt);case`month`:return t.mul(yt);default:return b(0)}}let kt=_t.map(e=>({level:Et(e),stride:BigInt(e.stride),duration:Ot(e),digits:0,create:()=>Dt(e),source:e})).sort((e,t)=>e.duration.lt(t.duration)?-1:e.duration.gt(t.duration)?1:0),At=kt.reduce((e,t)=>{let n=e.get(t.level);return n?n.push(t):e.set(t.level,[t]),e},new Map);function jt(e){if(e.digits<=0n)return 0;let t=e.digits,n=BigInt(2**53-1);return t>n&&(t=n),Number(t)}function Mt(e,t,n){return{level:`subsecond`,stride:1n,duration:e,digits:jt(e),create:()=>q(e),subsecondMetadata:{exponent:t,factor:n}}}function Nt(e,t,n){let r=t&&t.lt(b(1))?t:b(1),i=e.lt(b(1));if(!i&&!n)return null;let a=i?e:b(1),o;a.isPositive()?(o=a.log(10).floor().integer(),o>=0n&&(o=-1n)):o=-1n;let s=null;for(let e=o;e<0n;e+=1n){let t=b(10).pow(e,-e);for(let n of Ct){let i=t.mul(b(n));if(i.lt(r)){if(a.isZero()||!i.lt(a))return Mt(i,e,n);(!s||s.step.lt(i))&&(s={step:i,exponent:e,factor:n})}}}return n&&s?Mt(s.step,s.exponent,s.factor):null}function Pt(e){let t=e.isPositive()?e:b(0);for(let e of kt)if(t.isZero()||!e.duration.lt(t))return e;return null}function Ft(e,t,n,r){let i=At.get(e);if(!i)return null;let a=t.isPositive()?t:b(0),o=null;for(let e of i){if(n&&!e.duration.lt(n))break;if(a.isZero()||!e.duration.lt(a))return e;o=e}return r&&o?o:null}function It(e){if(e<=0n)return 1n;let t=1n,n=10n,r=e;for(;r>0n;)(r&1n)==1n&&(t*=n),n*=n,r>>=1n;return t}function Lt(e){return{level:`year`,stride:e,duration:b(e).mul(bt),digits:0,create:()=>gt(e),yearStride:e}}function Rt(e){let t=e.isPositive()?e:b(0);if(t.isZero())return Lt(1n);let n=t.div(bt).log(10).floor().integer();n<0n&&(n=0n);for(let e=n;;e+=1n){let n=It(e);for(let e of wt){let r=Lt(n*e);if(!r.duration.lt(t))return r}}}function zt(e){return Tt.indexOf(e)}function Bt(e,t){let n=zt(e.level);if(n<=0)return null;let r=Tt[n-1],i=e.duration;if(e.level===`year`){for(let n of[5n,4n,2n]){if(e.stride%n!==0n)continue;let r=e.stride/n;if(r<=0n)continue;let i=Lt(r);if(!i.duration.lt(t)&&i.duration.lt(e.duration))return i}let n=Rt(t);return n.duration.lt(e.duration)?n:null}if(e.level===`subsecond`){let n=Nt(t,e.duration,!0);return n&&n.duration.lt(e.duration)?n:null}let a=e.level,o=At.get(a)??[];for(let n=o.length-1;n>=0;--n){let r=o[n];if(r.duration.lt(e.duration)&&!r.duration.lt(t))return r}if(r===`subsecond`){let n=Nt(t,i,!0);return n&&n.duration.lt(e.duration)?n:null}return r===`year`?null:Ft(r,t,i,!0)}function Vt(e){if(!e||!e.isPositive())return null;let t=e.mul(xt),n=e.mul(St),r=Nt(t,null,!1);if(r||=Pt(t),r||=Rt(t),!r)return null;let i=Bt(r,n);return{level:r.level,major:r.create(),minor:i?i.create():null,digits:r.digits,stride:r.stride}}function Ht(e){return e.replace(/[0-9]/g,e=>String.fromCodePoint(e.charCodeAt(0)-48+8320))}function Ut(e){let{time:t,unit:n}=e,r=e,{year:i,month:a,day:o,hour:s,minute:c,second:l,subseconds:u}=at(K(t,n,`s`)),d=(e,t)=>e.toString().padStart(t,`0`),f=e=>d(e,2),p=e=>e>0n?e.toString():` ${(1n-e).toString()} BC`,m=()=>`${f(a)}/${f(o)}`,h=()=>`${f(s)}:${f(c)}`,g=r.digits>0?`.`+Ht(u.toFixed(r.digits).split(`.`)[1]):``,_=()=>`${f(s)}:${f(c)}:${f(l)}${g}`;switch(r.level){case`subsecond`:case`second`:return s===0n&&c===0n&&l===0n&&u.eq(0)?m():_();case`minute`:case`hour`:return s===0n&&c===0n?m():h();case`day`:return m();case`month`:if((r.stride??1n)===3n){let e=Math.floor((Number(a)-1)/3)+1;return e===1?`${p(i)} Q${e}`:`Q${e}`}return`${p(i)}/${f(a)}`;case`year`:default:return p(i)}}function Wt(e,t,n){if(!e)return null;let r=e.next(t);return!r||r.le(t)||r.ge(n)?null:r}function*Gt(e,t,n){if(!e[0]||!e[1])return;let r=n.timeUnit??`s`,i=n.timeFormat??Ut,a=K(e[0],r,`s`),o=K(e[1],r,`s`);if(o.le(a))return;t=K(t,r,`s`);let s=Vt(t);if(!s)return;let c=s.major.align(a),l=s.minor?.align(a)??null;for(;c||l;){if(c!=null&&(l==null||c.le(l))&&c){if(a.le(c)){let e=K(c,`s`,r);yield{time:{time:e},major:!0,tick:!0,text:i({time:e,unit:r,...s})}}l&&l.eq(c)&&(l=Wt(s.minor,l,o)),c=Wt(s.major,c,o);continue}l&&=(a.le(l)&&(yield{time:{time:K(l,`s`,r)},major:!1,tick:!0,text:``}),Wt(s.minor,l,o))}}var Kt=class extends Le{constructor(e){e={...e,timeAxis:ft(e.timeAxis,{timeUnit:`s`})},super(e)}async loadChunk(e){let t=[...this.options.timeAxis.relative?ht(e.range,e.resolution,this.options.timeAxis):Gt(e.range,e.resolution,this.options.timeAxis)].map(e=>({...e,time:{time:e.time.time,_minTime:e.time.time,_maxTime:e.time.time}}));return{...e,data:t}}},qt=class{#e;#t;constructor(e){let{maxSize:t}=e;if(!(typeof t==`number`&&Number.isFinite(t)&&t>0))throw TypeError("`maxSize` must be a number greater than 0");this.#e=Math.floor(t),this.#t=new Map}get size(){return this.#t.size}get maxSize(){return this.#e}get(e){if(!this.#t.has(e))return;let t=this.#t.get(e);return this.#t.delete(e),this.#t.set(e,t),t}set(e,t){if(this.#t.has(e)&&this.#t.delete(e),this.#t.set(e,t),this.#t.size>this.#e){let e=this.#t.keys().next().value;e!==void 0&&this.#t.delete(e)}return this}has(e){return this.#t.has(e)}delete(e){return this.#t.delete(e)}clear(){this.#t.clear()}*keys(){let e=Array.from(this.#t.keys());for(let t=e.length-1;t>=0;t--)yield e[t]}*values(){for(let[,e]of this)yield e}*entries(){yield*this[Symbol.iterator]()}*[Symbol.iterator](){let e=Array.from(this.#t.entries());for(let t=e.length-1;t>=0;t--)yield e[t]}};function Jt(e,t,n=C.defaultChunkSize){let r=me(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function Yt(e){return!!(x(e)||typeof e==`number`||typeof e==`string`||typeof e==`bigint`)}function Xt(e){return e==null?{shrink:!0,expand:!0,default:[b(0),void 0]}:Array.isArray(e)?{shrink:!0,expand:!0,default:e.map(b)}:typeof e==`number`||Yt(e)?{shrink:!0,expand:!0,default:[b(0),b(e)]}:e.default!=null&&!Array.isArray(e.default)?{shrink:e.shrink??!0,expand:e.expand??!0,default:[b(0),b(e.default)]}:{shrink:e.shrink??!0,expand:e.expand??!0,default:(e.default??[0,void 0]).map(b)}}function Zt(e,t){return e._minTime?.le(t[1])&&t[0]?.le(e._maxTime)}var Qt=class{#e;#t;#n;#r=new qt({maxSize:256});#i={min:b(0),max:b(1)};#a;constructor(e){this.#e=e.options,this.#t=e.sources,this.#a=e.options.data.color,this.#n=Xt(e.options.data.range)}get name(){return this.#e.data.name??``}get digits(){return this.#e.data.digits??1}get unit(){return this.#e.data.unit??``}get zoomLevels(){return this.#t[this.#e.data.source].zoomLevels}get chunkSize(){return this.#t[this.#e.data.source].chunkSize}get options(){return this.#e}async loadChunk(e){let t=await this.#t[this.#e.data.source].loadChunk(e),n=this.#e.data.parser?.(t.data)??t.data;if(!Array.isArray(n))throw Error(`Invalid data from the source after parsed.`);let r=Object.fromEntries((Array.isArray(this.#e.data.time)?this.#e.data.time.map(e=>[e,e]):Object.entries(typeof this.#e.data.time==`string`||this.#e.data.time==null?{time:this.#e.data.time??`time`}:this.#e.data.time)).map(([e,t])=>[e,typeof t==`function`?t:de(t)])),i=Object.fromEntries((Array.isArray(this.#e.data.value)?this.#e.data.value.map(e=>[e,e]):Object.entries(typeof this.#e.data.value==`string`||this.#e.data.value==null?{value:this.#e.data.value??`value`}:this.#e.data.value)).map(([e,t])=>[e,typeof t==`function`?t:de(t)])),a=n.map(e=>{let t=Object.fromEntries(Object.entries(r).map(([t,n])=>[t,E(n(e))])),n=Object.fromEntries(Object.entries(i).map(([t,n])=>[t,re(n(e))]).filter(([,e])=>e!==void 0)),[a,o]=S(...Object.values(t));return t._minTime=a,t._maxTime=o,{time:t,value:n,data:e}});return this.#r.set(t.id,a),{...t,data:a}}updateDataRange(e,t){t=he(t,this.zoomLevels);let[n,r]=S(...Jt(e,t,this.chunkSize).flatMap(({id:t})=>{let n=this.#r.get(t);return n?n.flatMap(t=>Zt(t.time,e)?S(...Object.values(t.value)):[]):[]}));n==null||r==null||(this.#i={min:this.#n.default[0]==null?n:this.#n.expand?b.min(n,this.#n.default[0],...this.#n.shrink?[]:[this.#i.min]):this.#n.default[0],max:this.#n.default[1]==null?r:this.#n.expand?b.max(r,this.#n.default[1],...this.#n.shrink?[]:[this.#i.max]):this.#n.default[1]})}get color(){return this.#a}get dataRange(){let[,e]=S(this.#i.min.abs(),this.#i.max.abs());return{...this.#i,amp:e}}};function $t(e){return new Qt(e)}var en=class extends T{#e=`initial`;#t;#n;#r;#i;#a;#o;#s;get id(){return this.#o}get seq(){return this.#s}get range(){return this.#t}get resolution(){return this.#n}get zoom(){return this.#r}get state(){return this.#e}get expired(){return this.#e!==`loaded`&&this.#e!==`error`||this.#c<=Date.now()}#c=0;get expires(){return this.#c}setExpires(e){this.#c=e}invalidate(){this.#c=0}constructor(e){super(),this.#o=e.id,this.#s=e.seq,this.#t=e.range,this.#n=e.resolution,this.#r=e.zoom,this.#i=e.loader}reload(){return this.load(!0)}async load(e=!1){if(this.#a&&(this.#e===`loading`||!e&&!this.expired))return await this.#a;this.#e=`loading`,this.#c=1/0;try{let e={id:this.#o,seq:this.#s,expires:1/0,range:this.#t.map(e=>e?.clone()),zoom:this.#r,resolution:this.#n.clone()};return this.#a=this.#i(e,{expiresAt:t=>e.expires=t,expiresIn:t=>e.expires=t+Date.now()}).then(t=>(this.#e=`loaded`,this.#c=e.expires??1/0,this.changed(),t||null)),await this.#a}catch(e){return console.error(e),this.#e=`error`,this.changed(),null}}};function tn(e){return async(t,n)=>{let r=await e(t,n);return r instanceof Response?await r.json():r}}var Q=class extends T{#e=new qt({maxSize:1e3});zoomLevels;chunkSize;loader;constructor(e){if(super(),this.chunkSize=e.chunkSize||C.defaultChunkSize,this.zoomLevels=e.zoomLevels,`loader`in e)this.loader=tn(e.loader);else if(`data`in e)this.zoomLevels=[0],this.chunkSize=0,this.loader=async()=>e.data;else if(`url`in e)e.url.match(/{[a-zA-Z]+}/)?this.loader=tn(async t=>{let n=e.url.replace(/{[a-zA-Z]+}/g,e=>{switch(e.substring(1,e.length-1)){case`z`:case`zoom`:return t.zoom.toString();case`r`:case`resolution`:return t.resolution.rescale().toString();case`s`:case`start`:return t.range[0].rescale().toString();case`e`:case`end`:return t.range[1].rescale().toString();default:return console.warn(`Unknown template string is found in the URL: `+e),e}});return await fetch(n)}):(this.zoomLevels=[0],this.chunkSize=0,this.loader=tn(()=>fetch(e.url)));else throw Error(`No source`)}async loadChunk({id:e,seq:t,range:n,resolution:r,zoom:i}){let a=this.#t(e,t,n,r,i),o=await a.load()??void 0;return{id:e,seq:t,expires:a.expires,range:n,resolution:r,zoom:i,data:o}}#t(e,t,n,r,i){let a=this.#e.get(e);return a||(a=new en({id:e,seq:t,loader:this.loader,range:n,resolution:r,zoom:i}),this.#e.set(e,a)),a}async loadData(e,t){t=he(t,this.zoomLevels);let n=Jt(e,t,this.chunkSize);return await Promise.all(n.map(e=>this.loadChunk(e)))}async expireChunks(e){for(let t of this.#e.values())(!e||!t.range[1]||t.range[1].gt(e[0])||!t.range[0]||t.range[0].lt(e[1]))&&t.invalidate();this.changed()}};function nn(e){return typeof e==`string`?new Q({url:e}):typeof e==`function`?new Q({loader:e}):e instanceof Q?e:typeof e==`object`&&e&&[`url`,`loader`,`data`].some(t=>t in e)?new Q(e):new Q({data:e})}function rn(e={}){let t=URL.createObjectURL(new Blob([`URL.revokeObjectURL(self.location.href);`,"(function(){function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<b.length?b[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<x.length?x[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*v)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(y))return{exponent:0n,remainder:y.clone()};if(e.ge(y))return m(e,t,n,r);let a=m(y.div(e,i),t,n,r);return a.remainder.eq(y)?{exponent:-a.exponent,remainder:y.clone()}:{exponent:-a.exponent-1n,remainder:y.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return C(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(y,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=S(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=S(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=S(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=S(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=S(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=S(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=S(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=w(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(w(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(y))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(y),p=f?y.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let v=i===0?0:c;return this.round$(v),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\\x1b[33m${this.toString()}\\x1b[m \\x1b[90m(${this.coeff} * 10 ** ${-this.digits})\\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};let _=18n,v=Math.log2(10),y=new g(1n),b=[],x=[];(function(){for(let e=0;e<256;e++)x[e]=10n**BigInt(e),b[e]=5n**BigInt(e)})();function S(e){return e==null||C(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=S(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(S||={});let C=S.isDecimal;S.isDecimalLike;let w=S.pow10;S.minmax,S.min,S.max;let T=0;function ee(e){return function(t,n,r={rpc:!1}){let i=++T;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:ne(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(D(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function te(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](D(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:ne(o)})}),t}function E(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=E(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=E(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=E(e[r],t,n);return n.delete(e),i}function ne(e,t){return E(e,t,new WeakSet)}function re(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function D(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(re(e))return S(e);if(Array.isArray(e))return e.map(D);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=D(e[n]);return t}return e}}function O(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>O(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,O(n,...t)])):e}function ie(e){return Object.prototype.toString.call(e)===`[object Object]`}function ae(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&ie(r)?((!i||typeof i!=`object`)&&(e[n]={}),ae(e[n],r)):e[n]=r}return e}var k={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelStep:.5};function oe(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var se=class{uid=oe(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},A=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},j=class extends se{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}},M=class extends j{constructor(){super()}updateOptions(e){}render(e){}preRender(e){}postRender(e){}onPointerEvent(e,t){}pointerStyle(e,t){}};function ce(e,t,n){if(!t)return;let{height:r}=e.size,i=e.ctx,[a,o]=e.timeAxis.p(t);i.fillStyle=n,i.fillRect(a,0,o-a,r)}function N(e,t,n){if(!t)return;let{width:r,height:i}=e.size,a=e.ctx,[o,s]=e.timeAxis.p(t);a.fillStyle=n,0<o&&a.fillRect(0,0,Math.min(o,r),i),s<r&&a.fillRect(s,0,r-s,i)}function le(e){let t=e.ctx,n=e.size.height,r=Math.round(e.timeAxis.cursor.p);t.fillStyle=`white`,t.strokeStyle=`red`,t.lineWidth=1,t.fillRect(r-1,0,3,n),t.beginPath(),t.moveTo(r+.5,0),t.lineTo(r+.5,n),t.stroke()}function P(e,t,n){let r=e.ctx,i=e.dpr,a={width:r.canvas.width/i,height:r.canvas.height/i};r.save(),t?(r.translate(0,t.oy),a.height=t.height,e.renderingTrack=t):e.renderingTrack=null,e.chart.ox=e.options.padding[3]??0,e.chart.oy=e.options.padding[0]??0,e.chart.width=a.width-e.chart.ox-e.options.padding[3],e.chart.height=a.height-e.chart.oy-e.options.padding[2],e.size.width=a.width,e.size.height=a.height,r.beginPath(),r.rect(0,0,e.size.width,e.size.height),r.clip(),n(e),r.restore()}function F(e,t){e.tracks.forEach(n=>P(e,n,()=>t(n.id,n)))}function I(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}function L(e,t,n=k.clickTolerance){return e&&e-n<=t&&t<=e+n}var ue=class extends M{#e=null;#t=`rgba(0, 0, 255, 0.2)`;#n=!1;#r=!1;#i=!0;#a=S(0n);#o=8;constructor(){super(),this.on(`change`,()=>{this.dispatchEvent(new A(`renderer:event`,{range:this.#e,resizing:this.#r}))})}updateOptions(e){let t=e.selection;t!==void 0&&(t===!1?(this.#i=!1,this.#e=null):t===!0?this.#i=!0:(t.resizable!==void 0&&(this.#i=t.resizable),t.color!==void 0&&(this.#t=t.color),t.invert!==void 0&&(this.#n=t.invert),t.range!==void 0&&(this.#e=t.range)),this.changed())}#s({shiftKey:e,buttons:t},n){if(!this.#i)return!1;let r=t[0].latest.x;if(e){let e=n.timeAxis.t(r);return this.#r=!0,this.#a=e,this.#e=[e,e],this.changed(),!0}if(!this.#e)return!1;let i=n.timeAxis.p(this.#e);if(L(i[0],r,this.#o)){let e=this.#e[1];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}else if(L(i[1],r,this.#o)){let e=this.#e[0];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}return!1}#c({buttons:e},t){if(!this.#i||!this.#r)return!1;let n=t.timeAxis.t(e[0].latest.x),r=this.#a;return this.#e=n.lt(r)?[n,r]:[r,n],this.changed(),!0}#l(e,t){if(!this.#i||!this.#r||!this.#e)return!1;this.#r=!1;let n=t.timeAxis.p(this.#e[0]),r=t.timeAxis.p(this.#e[1]);return Math.abs(n-r)<this.#o&&(this.#e=null),this.changed(),!0}onPointerEvent(e,t){if(this.#i)switch(e.type){case`down`:return this.#s(e,t);case`drag:update`:return this.#c(e,t);case`up`:return this.#l(e,t)}}pointerStyle(e,t){if(!this.#e||!this.#i)return;let n=t.timeAxis.p(this.#e);if(this.#r&&L(n[0],n[1],this.#o))return`not-allowed`;if(L(n[0],e.buttons[0].latest.x,this.#o))return`w-resize`;if(L(n[1],e.buttons[0].latest.x,this.#o))return`e-resize`}render(e){P(e,null,()=>{this.#n?N(e,this.#e,this.#t):ce(e,this.#e,this.#t)})}};function de(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function R(e,t,n){let{min:r,max:i,amp:a}=n;if(t){let e=r&&r.isPositive()&&r?.log(10),t=i&&i.isPositive()&&i?.log(10);if(!e||!t||t.eq(e))return null;let n=t.sub(e);return t=>{if(!t)return null;if(!t.isZero()&&!t.isNegative())return t.log(10).sub(e).div(n).number()}}else return!a||!r||!i||a.eq(0)||r.eq(i)?null:e?e=>e?.div(a).number():e=>e?.sub(r).div(i.sub(r)).number()}let fe=[`link:fill`,`link:stroke`,`marks`];function z(e,t,n){let r=typeof n.lineWidth==`number`&&isFinite(n.lineWidth)?n.lineWidth:1,i=Math.max(.75,r/2),a=new Path2D;a.arc(t.x,t.y,i,0,Math.PI*2),e.addPath(a)}function B(e,t,n,r){if(isNaN(t.y)||isNaN(n.y))return;let i=typeof r.lineWidth==`number`&&isFinite(r.lineWidth)?r.lineWidth:1,a=Math.max(1,i)/2;e.moveTo(t.x-a,t.y),e.lineTo(t.x+a,t.y),e.lineTo(n.x+a,n.y),e.lineTo(n.x-a,n.y),e.closePath()}function pe(e,t,n){let r=new Path2D,i=q(t??`value@time`),a=null,o=0,s=()=>{o===1&&a&&z(r,a,n),a=null,o=0};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){s();continue}o===0?(r.moveTo(e,n),a={x:e,y:n}):r.lineTo(e,n),o++}return s(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:K(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function V(e,t){if(!t.length)return;if(t.length===1){e.moveTo(t[0].x,t[0].y);return}if(t.length===2){e.moveTo(t[0].x,t[0].y),e.lineTo(t[1].x,t[1].y);return}let n=t.length,r=Array(n-1),i=Array(n-1);for(let e=0;e<n-1;e++)r[e]=t[e+1].x-t[e].x,i[e]=r[e]===0?0:(t[e+1].y-t[e].y)/r[e];let a=Array(n);a[0]=i[0];for(let e=1;e<n-1;e++)a[e]=(i[e-1]+i[e])/2;a[n-1]=i[n-2];for(let e=0;e<n-1;e++){if(i[e]===0||!isFinite(i[e])){a[e]=0,a[e+1]=0;continue}if(a[e]===0&&a[e+1]===0)continue;if(a[e]*i[e]<0||a[e+1]*i[e]<0){a[e]=0,a[e+1]=0;continue}let t=a[e]/i[e],n=a[e+1]/i[e],r=t*t+n*n;if(r>9){let o=3/Math.sqrt(r);a[e]=o*t*i[e],a[e+1]=o*n*i[e]}}e.moveTo(t[0].x,t[0].y);for(let i=0;i<n-1;i++){let n=r[i],o=t[i],s=t[i+1],c=o.x+n/3,l=o.y+a[i]*n/3,u=s.x-n/3,d=s.y-a[i+1]*n/3;e.bezierCurveTo(c,l,u,d,s.x,s.y)}}function me(e,t,n){let r=new Path2D,i=q(t??`value@time`),a=[],o=()=>{if(a.length){if(a.length===1){z(r,a[0],n),a=[];return}V(r,a),a=[]}};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){o();continue}a.push({x:e,y:n})}return o(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:K(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function he(e,t,n){let r=new Path2D,i=q(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&(isNaN(a[o].y1)||isNaN(a[o].y2));)o++;if(o>=a.length)break;let e=[];for(;o<a.length&&!isNaN(a[o].y1)&&!isNaN(a[o].y2);)e.push(a[o]),o++;if(e.length===1){B(r,{x:e[0].x1,y:e[0].y1},{x:e[0].x2,y:e[0].y2},n);continue}V(r,e.map(e=>({x:e.x1,y:e.y1})));let t=e[e.length-1];r.lineTo(t.x2,t.y2);for(let t=e.length-2;t>=0;t--)r.lineTo(e[t].x2,e[t].y2);r.closePath()}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:K(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function ge(e,t,n){let r=new Path2D,i=q(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&isNaN(a[o].y1);)o++;if(o>=a.length)break;let e=o;for(r.moveTo(a[e].x1,a[e].y1);o<a.length&&!isNaN(a[o].y1);)r.lineTo(a[o].x1,a[o].y1),o++;let t=o--,i=!1;for(;o>=e&&!isNaN(a[o].y2);)r.lineTo(a[o].x2,a[o].y2),o--,i=!0;!i&&!isNaN(a[e].y2)&&(r.lineTo(a[e].x2,a[e].y2),i=!0),r.lineTo(a[e].x1,a[e].y1),t-e===1&&i&&B(r,{x:a[e].x1,y:a[e].y1},{x:a[e].x2,y:a[e].y2},n),o=t}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:K(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function H(e,t=`value@time`){return function(n,r,i){let a=new Path2D,o=q(r??t),s=n.map(o);for(let t of s){let n=t.x2-t.x1,r=t.y2-t.y1,o=Math.hypot(n,r),s=Math.atan2(r,n)*180/Math.PI,c=new Path2D;e(c,{style:i,dx:n,dy:r,l:o});let l=new DOMMatrix().translate(t.x1,t.y1).rotate(s).translate(i.offset?.[0]??0,i.offset?.[1]??0).rotate(i.angle??0);a.addPath(c,l)}return{path:a,strokeStyle:i.lineColor??i.color??`black`,fillStyle:K(i.fillColor??i.color??`black`,i.fillOpacity??.25,`white`)}}}function U(e,t){let n=q(t??`value@time`);return{path:e.map(n).map(({x1:e,y1:t})=>({x:e,y:t}))}}let _e={line:{defaultUsing:`value@time`,predicate:e=>!isNaN(e.y1),hasBottom:!1},area:{defaultUsing:[`value@time`,`zero@time`],predicate:e=>!isNaN(e.y1)&&!isNaN(e.y2),hasBottom:!0}};function ve(e,t,n){if(n===`start`)return[{x:t.x,y:e.y},{x:t.x,y:t.y}];if(n===`end`)return[{x:e.x,y:t.y},{x:t.x,y:t.y}];let r=(e.x+t.x)/2;return[{x:r,y:e.y},{x:r,y:t.y},{x:t.x,y:t.y}]}function W(e,t,n){let r=[],i=null;for(let a of e){let e=t(a);if(isNaN(e.y)){i=null;continue}i?r.push(...ve(i,e,n)):r.push(e),i=e}return r}function G(e,t){let n=_e[t];return function(r,i,a){let o=q(i??n.defaultUsing),s=r.map(o),c=[],l=ye(s,e,n,a,c);if(t===`line`)for(let e of c)z(l,e,a);return{path:l,strokeStyle:a.lineColor??a.color??`black`,fillStyle:K(a.fillColor??a.color??`black`,a.fillOpacity??.25,`transparent`)}}}function ye(e,t,n,r,i=[]){let a=new Path2D,o=0;for(;o<e.length;){for(;o<e.length&&!n.predicate(e[o]);)o++;if(o>=e.length)break;let s=o,c=[];for(;o<e.length&&n.predicate(e[o]);)c.push(e[o]),o++;let l=o;if(!c.length)continue;let u=be(c,t,{left:s>0?e[s-1]:null,right:l<e.length?e[l]:null}),d=W(u,e=>({x:e.x1,y:e.y1}),t);if(!d.length)continue;let f=d.length===1,p=[];if(n.hasBottom){if(p=W(u,e=>({x:e.x2,y:e.y2}),t),!p.length)continue;if(f&&p.length===1){B(a,d[0],p[0],r);continue}}a.moveTo(d[0].x,d[0].y);for(let e=1;e<d.length;e++)a.lineTo(d[e].x,d[e].y);if(!n.hasBottom){f&&i.push(d[0]);continue}for(let e=p.length-1;e>=0;e--)a.lineTo(p[e].x,p[e].y);a.lineTo(d[0].x,d[0].y)}return a}function be(e,t,n){let r=e.map(e=>({...e}));return r.length?(xe(r,t,n.left),Se(r,t,n.right),r):r}function xe(e,t,n){if(!n)return;let r=Ce(t,n.x1,e[0].x1);r==null||r===e[0].x1||e.unshift(Te(e[0],r))}function Se(e,t,n){if(!n)return;let r=e[e.length-1],i=we(t,n.x1,r.x1);i==null||i===r.x1||e.push(Te(r,i))}function Ce(e,t,n){if(t==null||isNaN(t)||e===`start`)return null;if(e===`end`)return t;let r=(t+n)/2;return isNaN(r)?null:r}function we(e,t,n){if(t==null||isNaN(t)||e===`end`)return null;if(e===`start`)return t;let r=(n+t)/2;return isNaN(r)?null:r}function Te(e,t){return{x1:t,y1:e.y1,x2:t,y2:e.y2}}function K(e,t,n=`transparent`){return`color-mix(in srgb, ${e} ${t*100}%, ${n})`}function q(e){let[[t,n],[r,i]]=de(e);return function(e){return{x1:e.x[n],y1:e.y[t],x2:e.x[i],y2:e.y[r]}}}function Ee(e){return(typeof e==`number`||e==null)&&(e=[e??0]),{t:e[0],r:e[1]??e[0],b:e[2]??e[0],l:e[3]??e[1]??e[0]}}let De={\"link:line\":[pe,{stroke:!0}],\"link:curve\":[me,{stroke:!0}],\"link:area\":[ge,{fill:!0}],\"link:curve-area\":[he,{fill:!0}],\"link:step-area-start\":[G(`start`,`area`),{fill:!0}],\"link:step-area\":[G(`mid`,`area`),{fill:!0}],\"link:step-area-end\":[G(`end`,`area`),{fill:!0}],\"link:step-start\":[G(`start`,`line`),{stroke:!0}],\"link:step\":[G(`mid`,`line`),{stroke:!0}],\"link:step-end\":[G(`end`,`line`),{stroke:!0}],\"mark:circle\":[H((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(n,0),e.arc(0,0,n,0,Math.PI*2)}),{stroke:!0,fill:!0}],\"mark:minus\":[H((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(-n,0),e.lineTo(n,0)}),{stroke:!0,fill:!1}],\"mark:triangle\":[H((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(0,-n),e.lineTo(+n*Math.sqrt(3)/2,n/2),e.lineTo(-n*Math.sqrt(3)/2,n/2),e.closePath()}),{stroke:!0,fill:!0}],\"mark:square\":[H((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.rect(-t/2,-t/2,t,t)}),{stroke:!0,fill:!0}],\"mark:diamond\":[H((e,{style:{size:t}})=>{t??=5,e.moveTo(0,-t/2),e.lineTo(t/2,0),e.lineTo(0,t/2),e.lineTo(-t/2,0),e.closePath()}),{stroke:!0,fill:!0}],\"mark:star\":[H((e,{style:{size:t}})=>{t??=5;let n=t/2,r=n*.4;for(let t=0;t<10;t++){let i=t%2==0?n:r,a=Math.PI/5*t-Math.PI/2,o=i*Math.cos(a),s=i*Math.sin(a);t===0?e.moveTo(o,s):e.lineTo(o,s)}e.closePath()}),{stroke:!0,fill:!0}],\"mark:plus\":[H((e,{style:{size:t}})=>{t??=5,e.moveTo(-t/2,0),e.lineTo(t/2,0),e.moveTo(0,-t/2),e.lineTo(0,t/2)}),{stroke:!0}],\"mark:cross\":[H((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.moveTo(-t/2,-t/2),e.lineTo(t/2,t/2),e.moveTo(-t/2,t/2),e.lineTo(t/2,-t/2)}),{stroke:!0}],\"mark:path\":[H((e,{style:{path:t,size:n,scale:r,origin:i}})=>{let a=new DOMMatrix().scale(r??1).scale(n??5).translate(-(i?.[0]??0),-(i?.[1]??0));e.addPath(new Path2D(t),a)}),{stroke:!0,fill:!0}],\"mark:line\":[H((e,{l:t})=>{e.moveTo(0,0),e.lineTo(t,0)},[`min`,`max`]),{stroke:!0}],\"mark:box\":[H((e,{l:t,style:{size:n,radius:r,padding:i}})=>{n??=5;let a=Ee(i),o=-a.l,s=-(a.t+n/2),c=a.l+t+a.r,l=a.t+n+a.b;r&&r>0?e.roundRect(o,s,c,l,r):e.rect(o,s,c,l)},[`min`,`max`]),{stroke:!0,fill:!0}],\"mark:section\":[H((e,{l:t,style:{size:n}})=>{n??=5,e.moveTo(0,-n/2),e.lineTo(0,n/2),e.moveTo(0,0),e.lineTo(t,0),e.moveTo(t,-n/2),e.lineTo(t,n/2)},[`min`,`max`]),{stroke:!0}],\"mark:icon\":[U,{fill:!0}],\"mark:text\":[U,{fill:!0}]};var Oe=class extends M{updateOptions(e){super.updateOptions(e)}#e=S(0);#t={};render(e){super.render(e),this.#n(e),this.#r(e)}#n(e){let t=this.#e.neq(e.timeAxis.current.resolution);if(this.#e=e.timeAxis.current.resolution.clone(),e.options.series)for(let n in e.options.series){let r=e.options.series[n],i=r.track??e.tracks[0].id,a=e.tracks.find(e=>e.id===i),{data:o,meta:s,revision:c}=e.dataCaches[`series:${n}:chart`];if(this.#t[n]&&!t&&this.#t[n].revision===c&&this.#t[n].trackId===i)continue;this.#t[n]={time:e.timeAxis.current.range[0],trackId:i,revision:c,linkOps:[],markOps:[]};let l=s.color,u=[],d=R(a.symmetric,r.data.scale===`log`,s);if(d){for(let e=0;e<o.length;e++){let t=o[e].time,r=o[e].value,i={x:{},y:{zero:a.y(0)}};for(let e in t)i.x[e]=t[e].sub(this.#t[n].time).div(this.#e,3).number();for(let e in r)i.y[e]=a.y(d(r[e]));u.push(i);for(let t of o[e].marks){if(!t)continue;let e={color:l,...t.style??{}},[r,a]=De[`mark:${t.draw}`],{path:o,strokeStyle:s,fillStyle:c,postFillStyle:u}=r?.([i],t.using,e)??{};this.#t[n].markOps||(this.#t[n].markOps=[]),this.#t[n].markOps.push({type:`mark`,draw:t.draw,time:this.#t[n].time,path:o,style:{...e,strokeStyle:s,fillStyle:c,postFillStyle:u,...a}})}}for(let e of s.links??[]){if(!e)continue;let t={color:l,...e.style??{}},[r,i]=De[`link:${e.draw}`],{path:a,strokeStyle:o,fillStyle:s}=r?.(u,e.using,t)??{};this.#t[n].linkOps||(this.#t[n].linkOps=[]),this.#t[n].linkOps.push({type:`link`,draw:e.draw,time:this.#t[n].time,path:a,style:{...t,strokeStyle:o,fillStyle:s,...i}})}}}}#r(e){if(!e.options.series)return;let t={};for(let n in this.#t){let r=this.#t[n];t[r.trackId]||(t[r.trackId]={});let i=r.time.sub(e.timeAxis.current.time??e.timeAxis.now).div(this.#e,3).number()+e.timeAxis.axisLength[0];for(let e of r.linkOps){let n=e.draw.includes(`area`)?`link:fill`:`link:stroke`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}for(let e of r.markOps){let n=`marks`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}}for(let n of e.tracks)P(e,n,()=>{let r=e.ctx;for(let i of fe){if(!t?.[n.id]?.[i])continue;let a=t[n.id][i];for(let t of a)r.save(),r.translate(t.ox,t.oy),t.path instanceof Path2D?ke(e,t.path,t.style):t.path&&(je(e,t.path,t.style),Ae(e,t.path,t.style)),r.restore()}})}};function ke({ctx:e},t,n){!t||!(t instanceof Path2D)||(n.fill&&!n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)),n.stroke&&n.strokeStyle&&(n.lineWidth??1)>0&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.strokeStyle,e.lineWidth=n.lineWidth??1,n.lineDashArray&&(e.setLineDash(n.lineDashArray),e.lineDashOffset=n.lineDashOffset??0),e.stroke(t)),n.fill&&n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)))}function Ae({ctx:e},t,n){if(n.text){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.fontWeight??`normal`} ${n.size??14}px ${n.fontFamily??`sans-serif`}`,e.textAlign=n.textAlign??`center`,e.textBaseline=n.textBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.textOutline||n.textOutlineColor!==void 0||n.textOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.textOutlineColor??`white`,e.lineWidth=n.textOutlineWidth??2,e.strokeText(n.text??``,0,0)),e.fillStyle=K(n.textColor??n.color??`black`,n.textOpacity??1),e.fillText(n.text??``,0,0),e.restore()}}function je({ctx:e},t,n){if(n.icon){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.iconFontWeight??`normal`} ${n.size??16}px ${n.iconFontFamily??`icons`}`,e.textAlign=n.iconAlign??`center`,e.textBaseline=n.iconBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.iconOutline||n.iconOutlineColor!==void 0||n.iconOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.iconOutlineColor??`white`,e.lineWidth=n.iconOutlineWidth??2,e.strokeText(n.icon??``,0,0)),e.fillStyle=K(n.iconColor??n.color??`black`,n.iconOpacity??1),e.fillText(n.icon??``,0,0),e.restore()}}var Me=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},J=class extends Me{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}};function Ne(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).lt(t)?r=a+1:i=a}return r}function Pe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).le(t)?r=a+1:i=a}return r}function Fe(e,[t,n],r){let i=t===void 0?0:Ne(e,t,r),a=n===void 0?e.length:Ne(e,n,r);return i<a?[i,a]:[0,0]}function Ie(e,t){let n=(e,t,n,r)=>Math.min(t,r)-Math.max(e,n),r=n(e.point.x,e.point.x+e.box.width+2,t.point.x,t.point.x+t.box.width+2),i=n(e.point.y,e.point.y+e.box.height+2,t.point.y,t.point.y+t.box.height+2);return r<=0||i<=0?null:{w:r,h:i,d:Math.hypot(r,i)}}function Le(e,t,n){let r=0,i=0,a=new J(0,0);do{r=0;let i=e.map(e=>({...e,force:(e?.force??new J(.01*e.id,0)).set(.01*e.id,0)}));for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++){let n=i[e],r=i[t];if(n===r||n.sideX!==r.sideX)continue;let o=Ie(n,r);if(o)if(n.point.distanceTo(r.point)===0){let e=[0,o.h/2];n.force.sub(e),r.force.add(e)}else{let e=a.set(...r.point.values).sub(n.point).normalize(),t=[o.w/2*e.x,o.h/2*e.y];n.force.sub(t),r.force.add(t)}}i.forEach(e=>{let t=a.set(e.point.x,0);e.force.sub(t.normalize().scale(.2))});for(let e=0;e<i.length;e++){let a=i[e];a.point.add(a.force),a.point.x<0&&(a.force.x+=a.point.x,a.point.x-=a.point.x),a.point.y-a.box.height/2<0+t&&(a.force.y+=a.point.y-a.box.height/2-t,a.point.y-=a.point.y-a.box.height/2-t),a.point.y+a.box.height/2+1>n&&(a.force.y+=a.point.y+a.box.height/2+1-n,a.point.y-=a.point.y+a.box.height/2+1-n),r+=a.force.norm**2}}while(r>1&&i++<100);return i<100}var Re=class extends M{postRender(e){super.postRender(e),this.#t(e)}#e(e,t){if(!e)return;let n=Pe(e,t,e=>e.time.time);if(0<n&&n<=e.length)return e[n-1]}#t(e){if(e.timeAxis.animating||!e.options.series)return;let t=e.timeAxis.cursor.time??S(Date.now()/1e3);F(e,(n,r)=>{let i=e.ctx,a=[],o=1;i.textBaseline=`middle`,i.textAlign=`left`;for(let n of r.seriesKeys){let s=e.options.series?.[n];if(!s)throw Error(`Invalid series`);if(s.tooltip===!1)continue;let{data:c,meta:l}=e.dataCaches[`series:${n}:instantaneous`];if(!l)continue;let u=R(r.symmetric,s.data.scale===`log`,l);if(!u)continue;let d=this.#e(c,t);if(!d)continue;let f=d.time.time;if(!f)continue;let p=e.timeAxis.p(f),m=d.value,h=d.text,g=i.measureText(h),_=l.color;if(m==null)continue;let v=r.y(u(m));a.push({id:a.length,cx:p,cy:v,point:new J(0,v),color:_,metrics:g,sideX:o,text:{dx:6,dy:0,value:h},box:{dx:.5,dy:.5-g.fontBoundingBoxAscent-2,width:12+g.width,height:4+g.fontBoundingBoxAscent+g.fontBoundingBoxDescent}}),o=-o}Le(a,e.chart.oy,e.chart.oy+e.chart.height);for(let e of a)e.point.x=e.cx+e.sideX*(e.point.x+20);for(let{cx:e,cy:t,point:n,color:r}of a)i.beginPath(),i.moveTo(e,t),i.lineTo(n.x,n.y),i.strokeStyle=`white`,i.lineWidth=3,i.stroke(),i.strokeStyle=r,i.lineWidth=1,i.setLineDash([3]),i.stroke(),i.setLineDash([]);for(let{cx:e,cy:t,point:n,sideX:r,text:o,color:s,box:c}of a)i.beginPath(),i.arc(e,t,3,0,Math.PI*2),i.fillStyle=s,i.fill(),i.strokeStyle=`white`,i.stroke(),i.beginPath(),i.roundRect(n.x+c.dx,n.y+c.dy,c.width*r,c.height,4),i.shadowBlur=3,i.shadowColor=`black`,i.shadowOffsetX=0,i.shadowOffsetY=1,i.fillStyle=s,i.fill(),i.shadowBlur=0,i.shadowColor=`transparent`,i.shadowOffsetX=0,i.shadowOffsetY=0,i.lineWidth=1,i.strokeStyle=`white`,i.stroke(),i.textBaseline=`middle`,i.textAlign=r<0?`right`:`left`,i.fillStyle=`white`,i.fillText(o.value,n.x+r*o.dx,n.y+o.dy)})}};function ze(e,t={}){return{font:`${e?.fontWeight??t?.fontWeight??`normal`} ${e?.fontSize??t?.fontSize??`12px`} \"${e?.fontFamily??t?.fontFamily??`BIZ UDPGothic`}\"`,color:e?.color??t?.color}}var Be=class extends M{render(e){super.render(e),F(e,()=>{this.#t(e)})}preRender(e){super.preRender(e),F(e,()=>{this.#e(e)})}#e(e){let t=e.ctx,{width:n}=e.size,r=e.renderingTrack.axisY,i=e.renderingTrack.id,a=I(e.options.tracks?.[i].timeAxis,{});if(!a)return;let o=e.dataCaches[`tracks:${i}:timeAxis`]?.data;o&&(t.beginPath(),a.axis!==!1&&(t.strokeStyle=(typeof a.axis==`object`?a.axis.color:void 0)||`#3333`,t.moveTo(0,r+.5),t.lineTo(n,r+.5)),t.strokeStyle=(a.ticks!==!1&&typeof a.ticks==`object`?a.ticks.color:void 0)||`#3333`,o.forEach(n=>{if(!n.tick)return;let i=e.timeAxis.p(n.time.time);a.ticks!==!1&&(t.moveTo(i,r-(n.major?10:5)),t.lineTo(i,r+(e.symmetric?n.major?10:5:0)))}),t.stroke())}#t(e){let t=e.ctx,n=e.renderingTrack.axisY+2,r=e.renderingTrack.id,i=I(e.options.tracks?.[r].timeAxis,{});if(!i)return;let a=e.dataCaches[`tracks:${r}:timeAxis`]?.data;if(!a||i.labels===!1)return;let o=ze(i.labels);t.fillStyle=o?.color??`black`,t.font=o?.font,t.textAlign=`center`,t.textBaseline=`top`,a.forEach(r=>{let i=e.timeAxis.p(r.time.time);r.text!==void 0&&t.fillText(r.text,i,n)})}};let Y={z:0,r:S(1)};function Ve(e){return Y.r.eq(e)?Y.z:-e.log(k.base).number()}function X(e){return Y.z===e?Y.r:(Y.z=e,Y.r=S(k.base).pow(-e,BigInt(Math.floor(e))),Y.r)}function He(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(S(e).floorBy(k.chunkStep).toFixed(2))}function Ue(e,t,n=k.defaultChunkSize){let r=X(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function We(e,t){return t===void 0?e:e===void 0||t.lt(e)?t:e}function Ge(e,t){return t===void 0?e:e===void 0?t:e.gt(t)?e:t}function Ke(e,t){return(!e[0]||!t[1]||e[0].le(t[1]))&&(!t[0]||!e[1]||t[0].le(e[1]))}var qe=class extends j{#e={};#t=[];#n;#r;#i;#a;#o;#s;#c={};#l;constructor(e){super(),this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??k.defaultChunkSize,this.#l=e.name}updateOptions(e){this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??k.defaultChunkSize,this.#l=e.name}#u(e,t){if(e.id in this.#e&&t){try{this.#t=this.#p(e.range,this.#t,t)??this.#t}catch(e){console.error(e)}this.changed(),this.dispatchEvent(`datachanged`)}}#d=!1;#f(e,t){let n={...this.#e};for(let e of t)delete n[e.id];for(let e in n)this.#d=!0,delete this.#e[e];!e.timeAxis.animating&&!e.timeAxis.editing&&this.#d&&(this.#d=!1,this.#t=this.#h(Object.values(this.#e),this.#t)??this.#t,this.changed(),this.dispatchEvent(`datachanged`))}#p(e,t,n){let[r,i]=Fe(t,e,e=>e.time._minTime??e.time.time);return[...t.slice(0,r),...n.filter(e=>e.time._minTime??e.time.time),...t.slice(i)].toSorted((e,t)=>{let n=e.time._minTime??e.time.time,r=t.time._maxTime??t.time.time;return n==null||r==null?0:n.lt(r)?-1:n.gt(r)?1:0})}#m=[S(0),S(0)];get window(){return this.#m}#h(e,t){let[n,r]=e.reduce((e,t)=>{let n=t.range[0],r=t.range[1];return[We(e[0],n),Ge(e[1],r)]},[void 0,void 0]);if(!n||!r)return t;let i=[n,r];return this.#m=i,t.filter(e=>Ke([e.time._minTime??e.time.time,e.time._maxTime??e.time.time],i))}#g(e,t){return t=He(t,this.#s),Ue(e,t,this.#o).map(e=>this.#e[e.id]??e)}update(e){if(this.#r){let t=e.timeAxis.committing.time??e.timeAxis.now,n=this.#i??e.timeAxis.committing.zoom.number(),r=X(n).mul(this.#o).div(2),i=[t.sub(r),t.add(r)];this.#_(e,i,n)}else if(this.#a){let t=e.timeAxis.current.zoom?.number()??0;this.#_(e,e.timeAxis.current.range,t)}else{let t=e.timeAxis.committing.zoom?.number()??0;this.#_(e,e.timeAxis.committing.range,t)}}#_(e,t,n){let r=this.#g(t,n),i=Date.now();r.forEach(e=>{this.#e[e.id]&&i<=e.expires||(this.#e[e.id]=e,this.#d=!0,e.expires=1/0,e._loading=!0,this.#n(e).then(t=>{e._loading=!1,e.expires=t?.expires??e.expires,this.#u(t,t.data)}))}),this.#f(e,r)}get data(){return this.#t}invalidate(){this.#e={},this.#d=!0}get meta(){return this.#c}updateMeta(e){this.#c=e,this.changed(),this.dispatchEvent(`metachanged`)}get name(){return this.#l}};function Z(e){if(e==null||C(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return S(t/1e3)}return e instanceof Date?S(e.getTime()/1e3):S(e)}function Je(e){return e.map(Z)}let Ye=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),Xe=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var Ze=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,\"in-out\":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=Ye(a)}else this.done()};this.#e=Ye(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(Xe(this.#e),null)}get animating(){return this.#e!==null}};function Q(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var $=class extends j{#e;#t={id:void 0,value:null,nullValue:S(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new Ze;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return S(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>S(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(Q(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>S(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=Q(S(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=Q(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new A(`sync`,n)),this.dispatchEvent(new A(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new A(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=Q(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t)};this.dispatchEvent(new A(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new A(`valuechanging`,e)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=Q(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new A(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.changed(),this.dispatchEvent(new A(`valuechanging`,this.#t.value)),this.dispatchEvent(new A(`valuechanged`,this.#t.value))},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new A(`sync`,e)),this.#l(e)}},Qe=class extends j{time;zoom;constructor(e){super(),this.time=new $,this.zoom=new $,this.time=new $({initialValue:Z(e.time??null),domain:Je(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new $({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.zoom.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new A(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new A(`timechanged`,e.value))),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new A(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new A(`zoomchanged`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(Z(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=Je(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(S(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(S)}},$e=class{decay;minVelocity;delay;points=[];angle_=0;distance_=0;constructor(e=.005,t=.05,n=100){this.decay=e,this.minVelocity=t,this.delay=n}begin(){this.points=[]}update(e,t){let n=Date.now();this.points.push({x:e,y:t,t:n});let r=n-this.delay;for(;this.points.length>1&&this.points[0].t<r;)this.points.shift()}end(){let e=this.points.length;if(e<2)return!1;let t=Date.now()-this.delay,n=this.points[e-1];if(n.t<t)return!1;for(;this.points.length>1&&this.points[0].t<t;)this.points.shift();let r=this.points[0];if(n.t<Date.now()-this.delay)return!1;let i=n.x-r.x,a=n.y-r.y,o=n.t-r.t;return o<1e3/60?!1:(this.distance_=Math.sqrt(i*i+a*a)/o/this.decay,this.angle_=Math.atan2(a,i),!0)}getDistance(){return this.distance_}getAngle(){return this.angle_}},et=class extends j{#e;#t={cursorMode:`center`,axisLength:[0,0],disabled:!1,dragging:!1,pinch:null};#n=new $e;constructor(e={}){super(),this.#e=new Qe(e);let{time:t,zoom:n}=this.#e;t.on(`change`,()=>this.changed()),t.on(`valuechanged`,e=>this.dispatchEvent(new A(`timechanged`,e.value))),t.on(`valuechanging`,e=>this.dispatchEvent(new A(`timechanging`,e.value))),t.on(`sync`,e=>this.dispatchEvent(new A(`sync`,{time:e.value}))),n.on(`change`,()=>this.changed()),n.on(`valuechanged`,e=>this.dispatchEvent(new A(`zoomchanged`,e.value.number()))),n.on(`valuechanging`,e=>this.dispatchEvent(new A(`zoomchanging`,e.value.number()))),n.on(`sync`,e=>this.dispatchEvent(new A(`sync`,{zoom:e.value}))),t.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),n.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),t.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`)),n.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`))}z(e){return S(Ve(e))}r(e){return X(e.number())}p(e,t){if(Array.isArray(e))return e.map((e,t)=>this.p(e,t));if(e===void 0)return t===0?-100:this.#t.axisLength[0]+this.#t.axisLength[1]+100;let n=this.r(this.#e.zoom.current),r=this.#e.time.current??this.now,i=e??this.now;return S(i).sub(r).div$(n,3).number()+this.#t.axisLength[0]}t(e){if(Array.isArray(e))return e.map(e=>this.t(e));let t=this.r(this.#e.zoom.current),n=this.#e.time.current??this.now;return t.mul(e-this.#t.axisLength[0]).add(n).round(t.digits)}set disabled(e){this.#t.disabled=e}get disabled(){return this.#t.disabled}get editing(){return this.#e.time.editing||this.#e.zoom.editing}get dragging(){return this.#t.dragging}get animating(){return this.#e.time.animating||this.#e.zoom.animating}get current(){return{time:this.#e.time.current,zoom:this.#e.zoom.current,resolution:this.r(this.#e.zoom.current),range:this.rangeFor(this.#e.time.current,this.#e.zoom.current),p:this.p(this.#e.time.current)}}get candidate(){return{time:this.#e.time.candidate,zoom:this.#e.zoom.candidate,resolution:this.r(this.#e.zoom.candidate),range:this.rangeFor(this.#e.time.candidate,this.#e.zoom.candidate),p:this.p(this.#e.time.candidate)}}get value(){return{time:this.#e.time.value,zoom:this.#e.zoom.value,resolution:this.r(this.#e.zoom.value),range:this.rangeFor(this.#e.time.value,this.#e.zoom.value),p:this.p(this.#e.time.value)}}get committing(){return{time:this.#e.time.committing,zoom:this.#e.zoom.committing,resolution:this.r(this.#e.zoom.committing),range:this.rangeFor(this.#e.time.committing,this.#e.zoom.committing),p:this.p(this.#e.time.committing)}}get committed(){return{time:this.#e.time.committed,zoom:this.#e.zoom.committed,resolution:this.r(this.#e.zoom.committed),range:this.rangeFor(this.#e.time.committed,this.#e.zoom.committed),p:this.p(this.#e.time.committed)}}get cursor(){return{time:this.#e.time.cursor,p:this.p(this.#e.time.cursor)}}get range(){return{time:this.#e.time.domain,p:this.p(this.#e.time.domain)}}rangeFor(e,t){return[(e??this.now).sub(this.r(t).mul(this.#t.axisLength[0])),(e??this.now).add(this.r(t).mul(this.#t.axisLength[1]))]}#r(e){this.#e.time.begin(this.t(e)),this.#n.begin()}#i(e,t){this.#e.time.update(this.t(this.current.p-t)),this.#n.update(e,0)}#a(){if(this.#n.end()){let e=this.#n.getDistance(),t=this.#n.getAngle(),n=e*Math.cos(t);this.#e.time.commit({value:this.t(this.current.p-n)})}else this.#e.time.commit()}click(e){this.#e.time.begin(this.t(e)),this.#e.time.commit()}dragStart(e){this.disabled||(this.#r(e),this.#t.dragging=!0)}dragUpdate(e,t){!this.#t.dragging||this.disabled||this.#i(e,t)}dragEnd(){!this.#t.dragging||this.disabled||(this.#a(),this.#t.dragging=!1)}dragCancel(){this.#t.dragging=!1}pinchStart(e,t){if(!this.disabled){if(this.#e.time.update(this.#e.time.current),this.#t.pinch={anchorTime:[this.t(e),this.t(t)]},this.#t.pinch.anchorTime[0].eq(this.#t.pinch.anchorTime[1])){this.#t.pinch=null;return}this.#e.zoom.begin(this.#e.zoom.current)}}pinchUpdate(e,t){if(this.disabled)return;if(!this.#t.pinch)return this.pinchStart(e,t);let n=this.#t.pinch.anchorTime[0],r=this.#t.pinch.anchorTime[1];if(Math.abs(t-e)>2){let i=r.sub(n).div(t-e).abs(),a=this.z(i);this.#e.zoom.update(a)}}pinchEnd(){this.disabled||this.#t.pinch&&(this.#t.pinch=null,this.#e.zoom.commit({animation:`linear`,duration:200}))}setAxisLength(e){this.#t.axisLength=e,this.changed(),this.dispatchEvent(`viewchanged`),this.dispatchEvent(`viewchanging`)}get axisLength(){return this.#t.axisLength}get now(){return S(Date.now()/1e3)}handleSyncEvent(e){e.time&&this.#e.time.handleSyncEvent(e.time),e.zoom&&this.#e.zoom.handleSyncEvent(e.zoom)}},tt=class{id;height;symmetric;oy=0;paddingY=[5,5];labelHeight=0;seriesKeys;constructor(e){this.id=e.id,this.oy=e.oy??0,this.height=e.height??0,this.symmetric=e.symmetric??!1,this.labelHeight=e.labelHeight??0,this.seriesKeys=e.seriesKeys}get chartHeight(){return this.height-this.paddingY[0]-this.paddingY[1]-this.labelHeight}get axisY(){return(this.symmetric?this.chartHeight/2:this.chartHeight)+this.paddingY[0]}y(e){if(e==null||isNaN(e))return NaN;let t=this.symmetric?this.chartHeight/2:this.chartHeight;return this.axisY-t*e}getRenderers(){return[]}};function nt(e,t,n=globalThis.requestAnimationFrame){let r,i,a=ee(e),o=new et;o.on(`change`,()=>v()),o.on(`sync`,e=>a(`sync`,e.value)),o.on(`viewchanging`,()=>u());let s={onPointerEvent:e=>{let t={click:e=>o.click(e),\"drag:start\":e=>o.dragStart(e),\"drag:update\":(e,t)=>o.dragUpdate(e,t),\"drag:end\":()=>o.dragEnd(),\"pinch:start\":(e,t,n)=>o.pinchStart(e,n),\"pinch:update\":(e,t,n)=>o.pinchUpdate(e,n),\"pinch:end\":()=>o.pinchEnd()};if(e.type in t)return t[e.type](e.buttons[0]?.latest.x??0,e.buttons[0]?.delta.x??0,e.buttons[1]?.latest.x??0),!0},pointerStyle:()=>{}},c=[new Be,new Oe,new Re,new ue];c.forEach(e=>{e.on(`change`,()=>v()),e.on(`renderer:event`,t=>a(`renderer:event`,{value:t.value,uid:e.uid}))});let l={ctx:null,options:{},tracks:[],renderingTrack:null,dataCaches:{},chart:{ox:0,oy:0,width:1,height:1,get axisY(){return(l.symmetric?l.chart.height/2:l.chart.height)+l.chart.oy}},size:{width:1,height:1},get symmetric(){return this.renderingTrack?.symmetric??!1},dpr:1,timeAxis:o};async function u(){let e=o.current,t=o.revision;await a(`view:changed`,{time:e.time,zoom:e.zoom.number(),resolution:e.resolution,range:e.range},{rpc:!0}),o.revision===t&&Object.values(l.dataCaches).forEach(e=>d(e).then(()=>v()))}async function d(e){let{revision:t}=e,{resolution:n,zoom:r}=o.value,i=await a(`provider:loadMeta`,{key:e.name,zoom:r.number(),resolution:n},{rpc:!0});e.revision===t&&e.updateMeta(i)}function f(e,t={}){let n={...t,name:e,loader:async t=>await a(`provider:loadChunk`,{key:e,chunk:t},{rpc:!0})};if(l.dataCaches[e]){let t=l.dataCaches[e];return t.updateOptions(n),t.invalidate(),t}let r=new qe(n);return r.on(`change`,()=>v()),r.on(`datachanged`,async()=>u()),r}function p(e){let t={...e.dataCaches};for(let n in e.options.dataCacheOptions)e.dataCaches[n]=f(n,e.options.dataCacheOptions[n]),delete t[n];Object.keys(t).forEach(t=>delete e.dataCaches[t])}function m(e){for(let t of Object.values(e.dataCaches))t.update(e)}let h;function g(){if(!i)return;let e=i.height/l.dpr,t=Object.entries(l.options.tracks??{default:{}}),n=Math.max(0,e-t.reduce((e,[,t])=>e+(t?.height??0),0))/t.filter(([,e])=>e.height==null).length,r=0;l.tracks=t.map(([e,i])=>{let a=i.height??n;return r+=a,new tt({id:e,oy:r-a,height:a,symmetric:i.symmetric??!1,labelHeight:!i.symmetric&&i.timeAxis!==!1&&(typeof i.timeAxis!=`object`||i.timeAxis.labels!==!1)?14:0,seriesKeys:Object.entries(l.options.series??{}).filter(([,n])=>(n.track??t[0][0])===e).map(([e])=>e)})})}te(e,{init:({canvas:e})=>{i=e,r=i?.getContext(`2d`)},fonts:e=>{if(e)for(let n of e)try{let e=typeof n.source==`string`&&n.source.match(/url\\(\"([^\"]+)\"\\) *format\\(\"woff2\"\\)/);if(e&&e?.[1])fetch(e[1]).then(e=>e.arrayBuffer()).then(e=>{let r=new Uint8Array(e),i=new FontFace(n.family,r,n.desc);i.loaded.then(()=>{t?.add(i),v()}),i.load()});else{let e=new FontFace(n.family,n.source,n.desc);e.loaded.then(()=>{t?.add(e),v()}),e.load()}}catch(e){console.error(`Failed to load the font:`,e)}v()},\"options:update\":e=>{ae(l.options,e),e.dataCacheOptions&&p(l),(`tracks`in e||`series`in e)&&g();for(let t of c)t.updateOptions(e);v()},resize:async({size:e,context:t})=>{if(!i)return;let n=t?.dpr??l.dpr??1;i.width=e.width*n,i.height=e.height*n,o.setAxisLength([e.width/2,e.width/2]),l.dpr=n,g(),v()},pointer:async e=>{let t=[...c??[],s],n=(h??t).find(t=>t.onPointerEvent(e,l));return h=e.type===`up`||!n?void 0:[n],!0},cursor:async e=>{let t=[...c??[],s];return(h??t).map(t=>t.pointerStyle(e,l)).find(e=>e)},sync:e=>{o.handleSyncEvent(e)},reload:()=>{for(let e of Object.values(l.dataCaches))e.invalidate();v()}});let _=!1;function v(){_=!0}let y=0,b=0;function x(){y++}function S(){let e=Date.now(),t=(y*1e3/(e-b)).toFixed(1);b+1e3<=e&&(b=e,y=0),r?.clearRect(0,0,60,15),r?.fillText(`FPS: ${t}`,5,10)}function C(e){for(let t of c)r?.save(),e(t),r?.restore()}function w(e){!i||!r||(e.ctx=r,_=!1,m(e),x(),r.reset(),r.scale(e.dpr,e.dpr),C(t=>{t.preRender(e)}),P(e,null,()=>{N(e,o.range.time,`#00000010`)}),C(t=>{t.render(e)}),e.options.indicator!==!1&&P(e,null,()=>le(e)),C(t=>{t.postRender(e)}))}function T(){let e=o.range,t=e.time[0]===null&&0<=e.p[0]&&e.p[0]<l.size.width||e.time[1]===null&&0<=e.p[1]&&e.p[1]<l.size.width;return _||o.value.time===null||t}let E=()=>{n(E),T()&&w(l),l.options.showFps&&S()};n(E),setInterval(()=>u(),1e3)}nt(self,self.fonts)})();"],{type:`text/javascript;charset=utf-8`}));return new Worker(t,e)}function an(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`)return e.toString()===t.toString();if(e&&t&&typeof e==`object`){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!an(e[r],t[r]))return!1;return!0}return!1}function $(e,t,n=new WeakSet){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`)return;if(r===`function`)return e.toString();if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=$(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=$(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=$(e[r],t,n);return n.delete(e),i}function on(e,t,n){e??={},t??={};let r=[],i={...t};for(let a in e)(!i[a]||i[a]!==e[a]&&!an(i[a]?._src,e[a]))&&(t[a]=n(e[a]),t[a]!==e[a]&&(t[a]._src=$(e[a]),r.push(a))),delete i[a];Object.keys(i).forEach(e=>delete t[e])}let sn=[`#080`,`#800`,`#008`,`#880`,`#088`,`#808`],cn={indicator:!0,padding:[5,5,5,5],sources:void 0,series:void 0,tracks:void 0,selection:void 0};var ln=class extends T{#e;call;#t={};#n={};#r={};#i=!1;#a=[];#o=!1;#s=null;#c=0;constructor(e){super(),this.#e=new rn,this.call=be(this.#e),xe(this.#e,{sync:e=>{this.dispatchEvent(new w(`sync`,e,this.uid))},"renderer:event":async e=>{this.dispatchEvent(new w(`renderer:event`,e.value,e.uid))},"provider:loadChunk":async({key:e,chunk:t})=>await this.#r[e]?.loadChunk(t),"provider:loadMeta":async({key:e,zoom:t,resolution:n})=>await this.#r[e].loadMeta({zoom:t,resolution:n}),"view:changed":async e=>{for(let t in this.dispatchEvent(new w(`viewchanged`,e,this.uid)),this.#n)this.#n[t].updateDataRange(e.range,e.zoom);return!0}});let t=e.canvas.transferControlToOffscreen();this.call(`init`,{canvas:t},{transfer:[t]}),this.setFonts(e.fonts)}async setFonts(e){if(e){this.#i=!1,this.#d();let t=await Fe(e);this.call(`fonts`,t);return}this.#i=!0,this.#u(),await this.#p()}[Symbol.dispose](){this.dispose()}dispose(){this.#d(),this.#e.terminate()}setOptions(e){this.#l={},this.updateOptions({...cn,...e})}#l={};updateOptions(e){A(this.#l,e);let t={...e},n=!1;if(`sources`in e&&on(this.#l.sources,this.#t,e=>(n=!0,nn(e))),(n||`series`in e||`tracks`in e)&&(on(this.#l.series,this.#n,e=>(e.data.color||(e.data.color=sn[this.#c++],this.#c%=sn.length),n=!0,$t({sources:this.#t,options:e}))),`tracks`in e&&(n=!0),n)){let e=[...Object.entries(this.#l.tracks??{default:{}}).filter(([,e])=>e.timeAxis!==!1).map(([e,t])=>[`tracks:${e}:timeAxis`,Kt,{timeAxis:t.timeAxis},{immediate:!0}]),...Object.entries(this.#n).flatMap(([e,t])=>{let n={series:t,options:this.#l},r={zoomLevels:t.zoomLevels,chunkSize:t.chunkSize};return[[`series:${e}:chart`,Ve,n,r],[`series:${e}:instantaneous`,Ge,n,{...r,instantValue:!0,instantZoomLevel:t.options.data.instantaneous?.zoom}]]})];t.dataCacheOptions={};let n={...this.#r};for(let[r,i,a,o]of e)this.#r[r]=new i(a),delete n[r],o&&(t.dataCacheOptions[r]=o);Object.keys(n).forEach(e=>delete this.#r[e])}this.call(`options:update`,t)}resize(e){this.call(`resize`,e)}onPointerEvent(e){this.call(`pointer`,e)}async pointerStyle(e){return await this.call(`cursor`,e,{rpc:!0})}sync(e,t){t&&t===this.uid||this.call(`sync`,e)}#u(){if(!this.#i||this.#o||typeof document>`u`)return;this.#o=!0;let e=[],t=document.fonts;if(t&&typeof t.addEventListener==`function`){let n=()=>this.#f();t.addEventListener(`loadingdone`,n),t.addEventListener(`loadingerror`,n),t.addEventListener(`loading`,n),e.push(()=>{t.removeEventListener(`loadingdone`,n),t.removeEventListener(`loadingerror`,n),t.removeEventListener(`loading`,n)})}if(typeof MutationObserver<`u`){let t=new MutationObserver(e=>{for(let t of e){if(t.type===`childList`&&[...Array.from(t.addedNodes??[]),...Array.from(t.removedNodes??[])].some(e=>un(e))){this.#f();return}if(t.type===`attributes`&&un(t.target)){this.#f();return}}});try{let n=document.head??document.documentElement??document;t.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`rel`,`href`]}),e.push(()=>t.disconnect())}catch{t.disconnect()}}this.#a=e}#d(){if(this.#o){this.#o=!1;for(let e of this.#a)try{e()}catch{}this.#a=[],this.#s!=null&&(clearTimeout(this.#s),this.#s=null)}}#f(){this.#i&&this.#s==null&&(this.#s=setTimeout(()=>{this.#s=null,this.#p()},0))}async#p(){if(this.#i)try{let e=await Ie();this.call(`fonts`,e.length?e:void 0)}catch(e){console.error(`Failed to resolve document fonts`,e)}}invalidateSources(e){e||=Object.keys(this.#t);for(let t of e)this.#t[t]?.expireChunks();this.call(`reload`,null)}};function un(e){return typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement?!0:typeof HTMLLinkElement<`u`&&e instanceof HTMLLinkElement?e.rel?.toLowerCase()===`stylesheet`:!1}var dn=class extends T{#e=null;#t=null;#n=null;#r;#i;#a;get time(){return this.#r.time.value?.clone()??null}set time(e){this.setTime(e)}setTime(e,t){this.#r.setTime(e,t)}get timeRange(){return this.#r.time.domain.map(e=>e==null?e:e.clone())}setTimeRange(e){this.#r.setTimeRange(e)}get zoom(){return this.#r.zoom.value.number()}set zoom(e){this.setZoom(e)}setZoom(e,t){return this.#r.setZoom(e,t)}fitTo(e,t){if(!this.#o.width)return!1;let n=typeof t?.padding==`number`?t.padding*2:Array.isArray(t?.padding)?t.padding.reduce((e,t)=>e+t):0,r=e.map(e=>E(e)),i=pe(r[1].sub(r[0]).div(this.#o.width-n).abs()),a=r[0].add(r[1]).div(2);this.setZoom(i,t?.animation===!1?!1:void 0),this.setTime(a,t?.animation===!1?!1:void 0)}get zoomRange(){return this.#r.zoom.domain.map(e=>e==null?e:e.number())}setZoomRange(e){this.#r.setZoomRange(e)}setSelection(e){if(this.#i.selection===!1)return;let t=e?.map(e=>E(e))??null;this.#t?.updateOptions({selection:{range:t}})}clearSelection(){this.setSelection(null)}get animating(){return this.#r.time.animating}get editing(){return this.#r.time.editing}#o={x:0,y:0,width:0,height:0,dpr:0};get size(){return{...this.#o}}#s=!1;set disabled(e){this.#s=e,this.#n&&(this.#n.disabled=e)}get disabled(){return this.#s}get options(){return this.#i}setOptions(e){this.#i={style:void 0,...e},this.#c(this.#i,!0)}updateOptions(e){A(this.#i,e),this.#c(e,!1)}#c(e,t){!this.#e||!this.#t||(`style`in e&&(this.#e.style.width=e.style?.width??`100%`,this.#e.style.height=e.style?.height??`36px`,this.#e.style.background=e.style?.background??`#fff`),t?this.#t.setOptions(e):this.#t.updateOptions(e),this.#l())}#l(){if(!this.#e||!this.#t)return;let e=window.devicePixelRatio,t=this.#e.getBoundingClientRect();if(this.#o.width===t.width&&this.#o.height===t.height&&this.#o.dpr===e)return;this.#o={x:t.x,y:t.y,width:t.width,height:t.height,dpr:e};let n=this.#o.width,r=this.#o.height;this.#t.resize({size:{width:n,height:r},context:{dpr:e}})}#u(){let e=this.#r.time,t=this.#r.zoom;this.#r.on(`change`,()=>this.changed()),this.#r.on(`timechanging`,e=>this.dispatchEvent(e)),this.#r.on(`timechanged`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanging`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanged`,e=>this.dispatchEvent(e)),e.on(`sync`,e=>this.#t?.sync({time:e.value},e.origin)),t.on(`sync`,e=>this.#t?.sync({zoom:e.value},e.origin))}#d(e){if(this.#s)return;e.preventDefault();let t=C.wheelStep;this.#r.setZoom(this.#r.zoom.committing.add(e.deltaY<0?t:-t))}constructor(e){super();let t=e??{};this.#r=new ue(t),this.#u(),this.#i={style:void 0,...t},this.#a=t.fonts??[],t.target&&this.mount(t.target)}reload(e){this.#t?.invalidateSources(e)}mount(e){let t=typeof e==`string`?document.querySelector(e):e;if(!t)throw Error(`mount failed`);return(this.#e||this.#t||this.#n)&&console.warn(`Timescope: mounted twice`),this.#e?.remove(),this.#e=document.createElement(`canvas`),this.#e.style.all=`unset`,this.#e.style.display=`block`,this.#e.style.touchAction=`none`,this.#e.style.width=this.#i.style?.width??`100%`,this.#e.style.height=this.#i.style?.height??`36px`,this.#e.style.background=this.#i.style?.background??`#fff`,this.#t=new ln({canvas:this.#e,fonts:this.#a}),this.#t.setOptions(this.#i),this.#r.time.restore(),this.#r.zoom.restore(),new ResizeObserver(()=>this.#l()).observe(this.#e),this.#t.on(`change`,()=>this.changed()),this.#t.on(`sync`,e=>{e.value.time&&(this.#r.time.handleSyncEvent(e.value.time),this.#r.time.dispatchEvent(new w(`sync`,e.value.time,e.origin))),e.value.zoom&&(this.#r.zoom.handleSyncEvent(e.value.zoom),this.#r.zoom.dispatchEvent(new w(`sync`,e.value.zoom,e.origin)))}),this.#t.on(`renderer:event`,e=>{typeof e.value==`object`&&e.value&&`range`in e.value&&`resizing`in e.value&&this.dispatchEvent(new w(e.value.resizing?`rangechanging`:`rangechanged`,e.value.range,e.origin))}),this.#n=new ve({element:this.#e,transform:e=>e.sub([this.#o.x,this.#o.y]),handler:e=>{this.#t?.onPointerEvent(e)},cursor:async e=>await this.#t?.pointerStyle(e)??void 0}),this.#e.addEventListener(`wheel`,this.#d.bind(this)),t.appendChild(this.#e),this}unmount(){this.#e?.remove(),this.#n?.detach(),this.#t?.dispose(),this.#t=null,this.#e=null,this.#n=null}dispose(){this.unmount()}};let fn=window;fn.Decimal=b,fn.Timescope=dn})();
|
|
1
|
+
(function(){function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<y.length?y[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<te.length?te[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*ee)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(v))return{exponent:0n,remainder:v.clone()};if(e.ge(v))return m(e,t,n,r);let a=m(v.div(e,i),t,n,r);return a.remainder.eq(v)?{exponent:-a.exponent,remainder:v.clone()}:{exponent:-a.exponent-1n,remainder:v.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return x(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(v,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=b(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=b(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=b(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=b(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=b(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=b(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=b(e),r=b(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=b(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=b(e),r=b(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=b(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=b(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=ne(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(ne(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(v))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(v),p=f?v.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let ee=i===0?0:c;return this.round$(ee),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\x1b[33m${this.toString()}\x1b[m \x1b[90m(${this.coeff} * 10 ** ${-this.digits})\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};let _=18n,ee=Math.log2(10),v=new g(1n),y=[],te=[];(function(){for(let e=0;e<256;e++)te[e]=10n**BigInt(e),y[e]=5n**BigInt(e)})();function b(e){return e==null||x(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=b(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(b||={});let x=b.isDecimal;b.isDecimalLike;let ne=b.pow10,S=b.minmax;b.min,b.max;function re(e){if(typeof e==`number`&&isNaN(e)||typeof e==`number`&&!isFinite(e))return null;try{return b(e)}catch{return null}}var C={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function ie(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var ae=class{uid=ie(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},w=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},T=class extends ae{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}};function E(e){if(e==null||x(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return b(t/1e3)}return e instanceof Date?b(e.getTime()/1e3):b(e)}function oe(e){return e.map(E)}let se=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),ce=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var le=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,"in-out":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=se(a)}else this.done()};this.#e=se(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(ce(this.#e),null)}get animating(){return this.#e!==null}};function D(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var O=class extends T{#e;#t={id:void 0,value:null,nullValue:b(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new le;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return b(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>b(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(D(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>b(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=D(b(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=D(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new w(`sync`,n)),this.dispatchEvent(new w(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new w(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=D(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t)};this.dispatchEvent(new w(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new w(`valuechanging`,e)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=D(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new w(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.changed(),this.dispatchEvent(new w(`valuechanging`,this.#t.value)),this.dispatchEvent(new w(`valuechanged`,this.#t.value))},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new w(`sync`,e)),this.#l(e)}},ue=class extends T{time;zoom;constructor(e){super(),this.time=new O,this.zoom=new O,this.time=new O({initialValue:E(e.time??null),domain:oe(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new O({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.zoom.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new w(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new w(`timechanged`,e.value))),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new w(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new w(`zoomchanged`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(E(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=oe(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(b(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(b)}};function k(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>k(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,k(n,...t)])):e}function de(e){return function(t){let n=e.split(`,`).map(e=>e.trim()),r=t;for(let e of n){let n=e.split(`.`);r=t;for(let e=0;e<n.length&&r!=null;e++){if(typeof r!=`object`){r=null;break}r=r[n[e]]}if(r!=null)return r}return r}}function fe(e){return Object.prototype.toString.call(e)===`[object Object]`}function A(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&fe(r)?((!i||typeof i!=`object`)&&(e[n]={}),A(e[n],r)):e[n]=r}return e}let j={z:0,r:b(1)};function pe(e){return j.r.eq(e)?j.z:-e.log(C.base).number()}function me(e){return j.z===e?j.r:(j.z=e,j.r=b(C.base).pow(-e,BigInt(Math.floor(e))),j.r)}function he(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(b(e).floorBy(C.chunkStep).toFixed(2))}var ge=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},_e=class extends ge{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}},ve=class{#e=`none`;#t={};#n=[];#r;#i;#a={none:[[[`pointerdown`,1,this.#o.bind(this)],`down`,[`down`]]],down:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`drag:start`,`pinch:start`]],[[`pointermove`,1,this.#l.bind(this)],`drag`,[`drag:start`]],[[`pointerup`,0],`none`,[`click`,`up`]],[[`pointercancel`,0],`none`,[`up`]]],drag:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`pinch:start`]],[[`pointermove`,1],`drag`,[`drag:update`]],[[`pointerup`,0],`none`,[`drag:end`,`up`]],[[`pointercancel`,0],`none`,[`drag:end`,`up`]]],pinch:[[[`pointermove`,2],`pinch`,[`pinch:update`]],[[`pointerup`,1,this.#c.bind(this)],`drag`,[`pinch:end`]],[[`pointercancel`,0],`none`,[`pinch:end`,`up`]]]};get state(){return this.#e}disabled=!1;#o(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#s(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#c(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#l(){let e=this.#n.find(e=>e.pressed)||this.#n[0];return e.latest.distanceTo(e.anchor)<4?!1:(this.#n.forEach(e=>e.anchor=e.latest.clone()),!0)}#u(e){if(this.disabled)return;let t=new _e(e.clientX,e.clientY),n=this.#i(t,e)??t,r=!!(e.buttons&1),i=this.#t[e.pointerId]?.latest??n;this.#t[e.pointerId]={pointerId:e.pointerId,last:i,latest:n,delta:n.clone().sub(i),anchor:this.#t[e.pointerId]?.anchor??n,pressed:r};let a=Object.values(this.#t),o=a.filter(e=>e.pressed).length;this.#n=a.filter(t=>t.pressed||t.pointerId===e.pointerId),this.#m(e,o),this.#f(e),r||delete this.#t[e.pointerId]}#d;async#f(e){this.#r&&this.#d&&(this.#r.style.cursor=await this.#d({type:`cursor`,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})??``)}#p;#m(e,t){let[[n,r,i],a,o]=this.#a[this.#e].find(([[n,r]])=>(n===`*`||n===e.type)&&(r===void 0||r===t))??[[`*`],this.#e];i?.(e)!==!1&&(this.#e=a,o&&o.forEach(t=>this.#p({type:t,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})))}constructor(e={}){this.#i=e.transform??(e=>e),this.#p=e.handler??(async()=>void 0),this.#d=e.cursor,e.element&&this.attach(e.element)}#h;attach(e){this.#h?.abort(),this.#h=new AbortController;let t=this.#h.signal,n=e=>this.#u(e);return e.addEventListener(`pointerdown`,n,{signal:t}),window.addEventListener(`pointermove`,n,{passive:!0,signal:t}),window.addEventListener(`pointerup`,n,{passive:!0,signal:t}),window.addEventListener(`pointercancel`,n,{passive:!0,signal:t}),e.addEventListener(`touchstart`,e=>e.preventDefault(),{signal:t}),this.#r=e,this}detach(){this.#h?.abort()}};let ye=0;function be(e){return function(t,n,r={rpc:!1}){let i=++ye;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:Se(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(N(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function xe(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](N(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:Se(o)})}),t}function M(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=M(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=M(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=M(e[r],t,n);return n.delete(e),i}function Se(e,t){return M(e,t,new WeakSet)}function Ce(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function N(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(Ce(e))return b(e);if(Array.isArray(e))return e.map(N);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=N(e[n]);return t}return e}}let we=[[`font-style`,`style`],[`font-weight`,`weight`],[`font-stretch`,`stretch`],[`unicode-range`,`unicodeRange`],[`font-variant`,`variant`],[`font-feature-settings`,`featureSettings`],[`font-display`,`display`],[`ascent-override`,`ascentOverride`],[`descent-override`,`descentOverride`],[`line-gap-override`,`lineGapOverride`]];function Te(){return{visited:new Set}}function Ee(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}function De(e,t){return e.replace(/url\(([^)]+)\)/gi,(e,n)=>{let r=n.trim(),i=Ee(r);if(!i)return`url(${n})`;try{let e=new URL(i,t).toString(),n=r.startsWith(`"`)?`"`:r.startsWith(`'`)?`'`:``;return`url(${n}${e}${n})`}catch{return`url(${n})`}})}function Oe(e,t){let n=e.style.getPropertyValue(`font-family`),r=e.style.getPropertyValue(`src`),i=Ee(n);if(!i||!r)return null;let a={};for(let[t,n]of we){let r=e.style.getPropertyValue(t);r.trim()&&(a[n]=r.trim())}return{family:i,source:t?De(r,t):r,desc:a}}function ke(){if(typeof document<`u`&&document.baseURI)return document.baseURI;if(typeof location<`u`&&location.href)return location.href}function Ae(e,t){try{return t?new URL(e,t).toString():new URL(e).toString()}catch{return null}}function je(e){try{let t=e.cssRules;return Array.from(t)}catch{return null}}async function Me(e,t,n){let r=[],i=t??ke();for(let t of e){if(t.type===CSSRule.FONT_FACE_RULE){let e=Oe(t,i);e&&r.push(e);continue}if(t.type===CSSRule.IMPORT_RULE){let e=Ae(t.href,i);if(!e)continue;r.push(...await Pe(e,n))}}return r}async function Ne(e,t,n){let r=je(e);return r?await Me(r,t??e.href??ke(),n):e.href?await Pe(e.href,n,t):[]}async function Pe(e,t,n){let r=Ae(e,n);if(!r||t.visited.has(r))return[];if(t.visited.add(r),typeof fetch>`u`||typeof CSSStyleSheet>`u`)throw Error(`Failed to load CSS: ${r}`);try{let e=await fetch(r);if(!e.ok)throw Error();let n=await e.text(),i=new CSSStyleSheet;return await i.replace(n),await Ne(i,e.url,t)}catch{throw Error(`Failed to load CSS: ${r}`)}}async function Fe(e){let t=Te(),n=[];for(let r of e){if(typeof r==`string`){let e=await Pe(r,t);n.push(...e);continue}else typeof r.source==`string`&&(r.source=De(r.source,location.href));n.push(r)}return n}async function Ie(){if(typeof document>`u`||!document.styleSheets)return[];let e=Te(),t=[],n=ke();for(let r of Array.from(document.styleSheets)){let i;try{i=r}catch{continue}let a=i.href??n;try{let n=await Ne(i,a,e);t.push(...n)}catch{continue}}return t}var Le=class{options;constructor(e){this.options=e}loadMeta(e){}},Re=class extends Le{constructor(e){super(e)}async loadChunk(e){let t=await this.options.series.loadChunk(e);return await this.transform(t)}async transform(e){return e}};let ze={lines:{links:[{draw:`line`}]},"lines:filled":{links:[{draw:`area`},{draw:`line`}]},curves:{links:[{draw:`curve`}]},"curves:filled":{links:[{draw:`curve-area`},{draw:`curve`}]},"steps-start":{links:[{draw:`step-start`}]},"steps-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}]},steps:{links:[{draw:`step`}]},"steps:filled":{links:[{draw:`step-area`},{draw:`step`}]},"steps-end":{links:[{draw:`step-end`}]},"steps-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}]},points:{marks:[{draw:`circle`}]},linespoints:{links:[{draw:`line`}],marks:[{draw:`circle`}]},"linespoints:filled":{links:[{draw:`area`},{draw:`line`}],marks:[{draw:`circle`}]},curvespoints:{links:[{draw:`curve`}],marks:[{draw:`circle`}]},"curvespoints:filled":{links:[{draw:`curve-area`},{draw:`curve`}],marks:[{draw:`circle`}]},"stepspoints-start":{links:[{draw:`step-start`}],marks:[{draw:`circle`}]},"stepspoints-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}],marks:[{draw:`circle`}]},stepspoints:{links:[{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints:filled":{links:[{draw:`step-area`},{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints-end":{links:[{draw:`step-end`}],marks:[{draw:`circle`}]},"stepspoints-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}],marks:[{draw:`circle`}]},impulses:{marks:[{draw:`line`,using:[`value`,`zero`]}]},impulsespoints:{marks:[{draw:`line`,using:[`value`,`zero`]},{draw:`circle`}]},boxes:{marks:[{draw:`box`,using:[`value`,`zero`],style:{fillColor:`transparent`}}]},"boxes:filled":{marks:[{draw:`box`,using:[`value`,`zero`]}]}};function Be(e){return ze[e]??{}}var Ve=class extends Re{marks;links;constructor(e){super(e);let t=typeof e.series.options.chart==`string`?Be(e.series.options.chart):e.series.options.chart??{};this.marks=t.marks,this.links=t.links}async transform(e){let t=e.data?.map(t=>{let n={resolution:e.resolution,data:t.data??{},time:t.time,value:t.value},r=k(this.marks,n);return{...t,marks:r?.map(e=>({...e,style:k(e.style,n)??{}}))??[]}});return{...e,data:t}}async loadMeta({resolution:e}){return{links:k(this.links,{resolution:e})?.map(e=>({...e,style:k(e.style,null)??{}}))??[],color:this.options.series.color,...this.options.series.dataRange}}};function He(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function Ue(e){return e?{using:e.using??`value`,zoom:e.zoom}:{using:`value`,zoom:void 0}}function We(e){let t=({name:e,unit:t,digits:n,value:r})=>{if(r==null)return`No data`;let i=[];return e&&i.push(e),i.push(r.toFixed(n)),t&&i.push(t),i.join(` `)};return typeof e==`boolean`||!e?{format:t}:{...e,format:e.format??t}}var Ge=class extends Re{#e;#t;constructor(e){super(e),this.#e=Ue(e.series.options.data.instantaneous),this.#t=We(e.series.options.tooltip)}async transform(e){let{name:t,unit:n,digits:r}=this.options.series,i=this.#t.format,a=He(k(this.#e.using,e))[0],o=e.data?.flatMap(e=>{if(!this.#e)return[];let o=e.time[a[1]],s=e.value[a[0]];return[{time:{time:o},value:s,text:i({time:o,value:s,unit:n,digits:r,name:t})}]});return{...e,data:o}}async loadMeta(e){let t=this.options.series.color;return{...this.options.series.dataRange,color:t}}};let Ke=b(1n),qe=b(0n),P=60n,F=P*60n,I=F*24n,L=8640000000000n;function R(e,t){let n=e/t,r=e%t;return r!==0n&&r>0n!=t>0n&&(n-=1n),n}function Je(e,t){return e-R(e,t)*t}function Ye(e){return e>0n?e:e+1n}function Xe(e){return e>0n?e:e-1n}function z(e,t){let n=Ye(e),r=t-1n,i=R(r,12n),a=r-i*12n;return{year:Xe(n+i),month:a+1n,day:1n}}function B(e,t,n){let r=z(e,t);return Qe(Ze(r.year,r.month,n))}function Ze(e,t,n){let r=Ye(e),i=t,a=n;i<=2n&&(r-=1n);let o=r/400n-(r<0n?1n:0n),s=r-o*400n;i+=i>2n?-3n:9n;let c=(153n*i+2n)/5n+a-1n,l=s*365n+s/4n-s/100n+c;return o*146097n+l-719468n}function Qe(e){let t=e+719468n,n=t/146097n-(t<0n?1n:0n),r=t-n*146097n,i=(r-r/1460n+r/36524n-r/146096n)/365n,a=i+n*400n,o=r-(365n*i+i/4n-i/100n),s=(5n*o+2n)/153n,c=o-(153n*s+2n)/5n+1n,l=s+(s<10n?3n:-9n);return l<=2n&&(a+=1n),{year:Xe(a),month:l,day:c}}function $e(e){return e>L?L:e<-L?-L:e}function et(e){let t=$e(e);return-BigInt(Math.floor(new Date(Number(t)*1e3).getTimezoneOffset()))*P}function tt(e){return et(e)}function nt(e){return et(e)}function rt(e){let t=Ze(e.year,e.month,e.day),n=e.hour*F+e.minute*P+e.second,r=t*I+n;return b(r-nt(r)).add(e.subseconds)}function it(e){let t=B(e.year,e.month,e.day),n=e.subseconds.modPositive(Ke),r=e.subseconds.sub(n).integer(),i=e.second+r;return rt({...e,...t,second:i,subseconds:n})}function at(e){let[t]=e.split(),n=tt(t.integer()),[r,i]=e.add(b(n)).split(),a=r.integer(),o=R(a,I),s=Je(a,I),c=Qe(o),l=R(s,F),u=s-l*F,d=R(u,P),f=Je(u,P);return{year:c.year,month:c.month,day:c.day,hour:l,minute:d,second:f,subseconds:i}}function V(e,t){return it({...t(at(e)),hour:0n,minute:0n,second:0n,subseconds:qe})}function H(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>t<=e).toSorted().at(-1)??e:(t=BigInt(t),(e-n)/t*t+n):e}function U(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>e<t).toSorted().at(0):(t=BigInt(t),((e-n)/t+1n)*t+n):e}function ot(e,t){return V(e,e=>({...B(e.year,e.month,H(e.day,t,1n))}))}function st(e,t){return V(e,e=>{let n=U(e.day,t,1n);return n?B(e.year,e.month,n):z(e.year,U(e.month,1n,1n))})}function ct(e,t){return V(e,e=>z(e.year,H(e.month,t,1n)))}function lt(e,t){return V(e,e=>z(e.year,U(e.month,t,1n)))}function ut(e,t){return V(e,e=>{let n=H(e.year<=0n?e.year-1n:e.year,t,0n);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function dt(e,t){return V(e,e=>{let n=U(e.year<=0n?e.year-1n:e.year,t);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function W(e,t){let n=b(t),r=ot(e,1n);return e.sub(r).floorBy(n).add(r)}function G(e,t){return e.add(b(t))}function ft(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}let pt={s:0n,ms:3n,us:6n,ns:9n};function mt({time:e,digits:t}){return t>0?e.toFixed(t):e.toString()}function K(e,t,n){if(t===n)return e;let r=pt[t]??0n,i=(pt[n]??0n)-r;return e.shift10(i)}function*ht(e,t,n){if(!e[0]||!e[1])return;let r=n.timeFormat??mt,i=b(C.defaultChunkSize),a=t.mul(i).log(10).round().integer(),o=b(10).pow(a,-a),s=t.mul(b(20)),c=[10n,5n,1n],l=o,u=1n;for(let e of c){let t=o.div(b(e));if(!t.lt(s)){l=t,u=e;break}}if(l.isZero())return;let d=b(u),f=b(1n),p=e[0].div(l).floor().sub(f),m=Math.max(0,-l.log(10).floor().number());for(let t=0;t<1e6;t+=1){p=p.add(f);let t=l.mul(p);if(t.ge(e[1]))break;if(t.lt(e[0]))continue;let i=p.mod(d).isZero();yield{time:{time:t},major:i,tick:!0,text:i?r({time:t,unit:n.timeUnit??`s`,level:`relative`,digits:m,stride:void 0}):``}}}function q(e){return{align:t=>W(t,e),next:t=>G(t,e)}}function J(e){return e=e.mul(60),{align:t=>W(t,e),next:t=>G(t,e)}}function Y(e){return e=e.mul(3600),{align:t=>W(t,e),next:t=>G(t,e)}}function X(e){return{align:t=>ot(t,e),next:t=>st(t,e)}}function Z(e){return{align:t=>ct(t,e),next:t=>lt(t,e)}}function gt(e){return{align:t=>ut(t,e),next:t=>dt(t,e)}}let _t=[{ops:q,stride:1,step:1},{ops:q,stride:5,step:5},{ops:q,stride:10,step:10},{ops:q,stride:15,step:15},{ops:q,stride:30,step:30},{ops:J,stride:1,step:1},{ops:J,stride:5,step:5},{ops:J,stride:10,step:10},{ops:J,stride:15,step:15},{ops:J,stride:30,step:30},{ops:Y,stride:1,step:1},{ops:Y,stride:3,step:3},{ops:Y,stride:6,step:6},{ops:Y,stride:12,step:12},{ops:X,stride:1,step:1},{ops:X,stride:10,step:[1,10,20]},{ops:Z,stride:1,step:1},{ops:Z,stride:3,step:3}],vt=b(86400),yt=b(`2629800`),bt=b(`31557600`),xt=b(60),St=b(20),Ct=[1n,5n],wt=[1n,5n],Tt=[`subsecond`,`second`,`minute`,`hour`,`day`,`month`,`year`];function Et(e){switch(e.ops){case q:return`second`;case J:return`minute`;case Y:return`hour`;case X:return`day`;case Z:return`month`;default:throw Error(`Unknown calendar definition`)}}function Dt(e){let{ops:t,step:n}=e;if(t===q||t===J||t===Y)return t(b(n));if(t===X||t===Z)return t(Array.isArray(n)?n.map(e=>BigInt(e)):BigInt(n));throw Error(`Unsupported definition`)}function Ot(e){let t=b(BigInt(e.stride));switch(Et(e)){case`second`:return b(e.step);case`minute`:return b(e.step).mul(60);case`hour`:return b(e.step).mul(3600);case`day`:return t.mul(vt);case`month`:return t.mul(yt);default:return b(0)}}let kt=_t.map(e=>({level:Et(e),stride:BigInt(e.stride),duration:Ot(e),digits:0,create:()=>Dt(e),source:e})).sort((e,t)=>e.duration.lt(t.duration)?-1:e.duration.gt(t.duration)?1:0),At=kt.reduce((e,t)=>{let n=e.get(t.level);return n?n.push(t):e.set(t.level,[t]),e},new Map);function jt(e){if(e.digits<=0n)return 0;let t=e.digits,n=BigInt(2**53-1);return t>n&&(t=n),Number(t)}function Mt(e,t,n){return{level:`subsecond`,stride:1n,duration:e,digits:jt(e),create:()=>q(e),subsecondMetadata:{exponent:t,factor:n}}}function Nt(e,t,n){let r=t&&t.lt(b(1))?t:b(1),i=e.lt(b(1));if(!i&&!n)return null;let a=i?e:b(1),o;a.isPositive()?(o=a.log(10).floor().integer(),o>=0n&&(o=-1n)):o=-1n;let s=null;for(let e=o;e<0n;e+=1n){let t=b(10).pow(e,-e);for(let n of Ct){let i=t.mul(b(n));if(i.lt(r)){if(a.isZero()||!i.lt(a))return Mt(i,e,n);(!s||s.step.lt(i))&&(s={step:i,exponent:e,factor:n})}}}return n&&s?Mt(s.step,s.exponent,s.factor):null}function Pt(e){let t=e.isPositive()?e:b(0);for(let e of kt)if(t.isZero()||!e.duration.lt(t))return e;return null}function Ft(e,t,n,r){let i=At.get(e);if(!i)return null;let a=t.isPositive()?t:b(0),o=null;for(let e of i){if(n&&!e.duration.lt(n))break;if(a.isZero()||!e.duration.lt(a))return e;o=e}return r&&o?o:null}function It(e){if(e<=0n)return 1n;let t=1n,n=10n,r=e;for(;r>0n;)(r&1n)==1n&&(t*=n),n*=n,r>>=1n;return t}function Lt(e){return{level:`year`,stride:e,duration:b(e).mul(bt),digits:0,create:()=>gt(e),yearStride:e}}function Rt(e){let t=e.isPositive()?e:b(0);if(t.isZero())return Lt(1n);let n=t.div(bt).log(10).floor().integer();n<0n&&(n=0n);for(let e=n;;e+=1n){let n=It(e);for(let e of wt){let r=Lt(n*e);if(!r.duration.lt(t))return r}}}function zt(e){return Tt.indexOf(e)}function Bt(e,t){let n=zt(e.level);if(n<=0)return null;let r=Tt[n-1],i=e.duration;if(e.level===`year`){for(let n of[5n,4n,2n]){if(e.stride%n!==0n)continue;let r=e.stride/n;if(r<=0n)continue;let i=Lt(r);if(!i.duration.lt(t)&&i.duration.lt(e.duration))return i}let n=Rt(t);return n.duration.lt(e.duration)?n:null}if(e.level===`subsecond`){let n=Nt(t,e.duration,!0);return n&&n.duration.lt(e.duration)?n:null}let a=e.level,o=At.get(a)??[];for(let n=o.length-1;n>=0;--n){let r=o[n];if(r.duration.lt(e.duration)&&!r.duration.lt(t))return r}if(r===`subsecond`){let n=Nt(t,i,!0);return n&&n.duration.lt(e.duration)?n:null}return r===`year`?null:Ft(r,t,i,!0)}function Vt(e){if(!e||!e.isPositive())return null;let t=e.mul(xt),n=e.mul(St),r=Nt(t,null,!1);if(r||=Pt(t),r||=Rt(t),!r)return null;let i=Bt(r,n);return{level:r.level,major:r.create(),minor:i?i.create():null,digits:r.digits,stride:r.stride}}function Ht(e){return e.replace(/[0-9]/g,e=>String.fromCodePoint(e.charCodeAt(0)-48+8320))}function Ut(e){let{time:t,unit:n}=e,r=e,{year:i,month:a,day:o,hour:s,minute:c,second:l,subseconds:u}=at(K(t,n,`s`)),d=(e,t)=>e.toString().padStart(t,`0`),f=e=>d(e,2),p=e=>e>0n?e.toString():` ${(1n-e).toString()} BC`,m=()=>`${f(a)}/${f(o)}`,h=()=>`${f(s)}:${f(c)}`,g=r.digits>0?`.`+Ht(u.toFixed(r.digits).split(`.`)[1]):``,_=()=>`${f(s)}:${f(c)}:${f(l)}${g}`;switch(r.level){case`subsecond`:case`second`:return s===0n&&c===0n&&l===0n&&u.eq(0)?m():_();case`minute`:case`hour`:return s===0n&&c===0n?m():h();case`day`:return m();case`month`:if((r.stride??1n)===3n){let e=Math.floor((Number(a)-1)/3)+1;return e===1?`${p(i)} Q${e}`:`Q${e}`}return`${p(i)}/${f(a)}`;case`year`:default:return p(i)}}function Wt(e,t,n){if(!e)return null;let r=e.next(t);return!r||r.le(t)||r.ge(n)?null:r}function*Gt(e,t,n){if(!e[0]||!e[1])return;let r=n.timeUnit??`s`,i=n.timeFormat??Ut,a=K(e[0],r,`s`),o=K(e[1],r,`s`);if(o.le(a))return;t=K(t,r,`s`);let s=Vt(t);if(!s)return;let c=s.major.align(a),l=s.minor?.align(a)??null;for(;c||l;){if(c!=null&&(l==null||c.le(l))&&c){if(a.le(c)){let e=K(c,`s`,r);yield{time:{time:e},major:!0,tick:!0,text:i({time:e,unit:r,...s})}}l&&l.eq(c)&&(l=Wt(s.minor,l,o)),c=Wt(s.major,c,o);continue}l&&=(a.le(l)&&(yield{time:{time:K(l,`s`,r)},major:!1,tick:!0,text:``}),Wt(s.minor,l,o))}}var Kt=class extends Le{constructor(e){e={...e,timeAxis:ft(e.timeAxis,{timeUnit:`s`})},super(e)}async loadChunk(e){let t=[...this.options.timeAxis.relative?ht(e.range,e.resolution,this.options.timeAxis):Gt(e.range,e.resolution,this.options.timeAxis)].map(e=>({...e,time:{time:e.time.time,_minTime:e.time.time,_maxTime:e.time.time}}));return{...e,data:t}}},qt=class{#e;#t;constructor(e){let{maxSize:t}=e;if(!(typeof t==`number`&&Number.isFinite(t)&&t>0))throw TypeError("`maxSize` must be a number greater than 0");this.#e=Math.floor(t),this.#t=new Map}get size(){return this.#t.size}get maxSize(){return this.#e}get(e){if(!this.#t.has(e))return;let t=this.#t.get(e);return this.#t.delete(e),this.#t.set(e,t),t}set(e,t){if(this.#t.has(e)&&this.#t.delete(e),this.#t.set(e,t),this.#t.size>this.#e){let e=this.#t.keys().next().value;e!==void 0&&this.#t.delete(e)}return this}has(e){return this.#t.has(e)}delete(e){return this.#t.delete(e)}clear(){this.#t.clear()}*keys(){let e=Array.from(this.#t.keys());for(let t=e.length-1;t>=0;t--)yield e[t]}*values(){for(let[,e]of this)yield e}*entries(){yield*this[Symbol.iterator]()}*[Symbol.iterator](){let e=Array.from(this.#t.entries());for(let t=e.length-1;t>=0;t--)yield e[t]}};function Jt(e,t,n=C.defaultChunkSize){let r=me(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function Yt(e){return!!(x(e)||typeof e==`number`||typeof e==`string`||typeof e==`bigint`)}function Xt(e){return e==null?{shrink:!0,expand:!0,default:[b(0),void 0]}:Array.isArray(e)?{shrink:!0,expand:!0,default:e.map(b)}:typeof e==`number`||Yt(e)?{shrink:!0,expand:!0,default:[b(0),b(e)]}:e.default!=null&&!Array.isArray(e.default)?{shrink:e.shrink??!0,expand:e.expand??!0,default:[b(0),b(e.default)]}:{shrink:e.shrink??!0,expand:e.expand??!0,default:(e.default??[0,void 0]).map(b)}}function Zt(e,t){return e._minTime?.le(t[1])&&t[0]?.le(e._maxTime)}var Qt=class{#e;#t;#n;#r=new qt({maxSize:256});#i={};#a;constructor(e){this.#e=e.options,this.#t=e.sources,this.#a=e.options.data.color,this.#n=Xt(e.options.data.range)}get name(){return this.#e.data.name??``}get digits(){return this.#e.data.digits??1}get unit(){return this.#e.data.unit??``}get zoomLevels(){return this.#t[this.#e.data.source].zoomLevels}get chunkSize(){return this.#t[this.#e.data.source].chunkSize}get options(){return this.#e}async loadChunk(e){let t=await this.#t[this.#e.data.source].loadChunk(e),n=this.#e.data.parser?.(t.data)??t.data;if(!Array.isArray(n))throw Error(`Invalid data from the source after parsed.`);let r=Object.fromEntries((Array.isArray(this.#e.data.time)?this.#e.data.time.map(e=>[e,e]):Object.entries(typeof this.#e.data.time==`string`||this.#e.data.time==null?{time:this.#e.data.time??`time`}:this.#e.data.time)).map(([e,t])=>[e,typeof t==`function`?t:de(t)])),i=Object.fromEntries((Array.isArray(this.#e.data.value)?this.#e.data.value.map(e=>[e,e]):Object.entries(typeof this.#e.data.value==`string`||this.#e.data.value==null?{value:this.#e.data.value??`value`}:this.#e.data.value)).map(([e,t])=>[e,typeof t==`function`?t:de(t)])),a=n.map(e=>{let t=Object.fromEntries(Object.entries(r).map(([t,n])=>[t,E(n(e))])),n=Object.fromEntries(Object.entries(i).map(([t,n])=>[t,re(n(e))]).filter(([,e])=>e!==void 0)),[a,o]=S(...Object.values(t));return t._minTime=a,t._maxTime=o,{time:t,value:n,data:e}});return this.#r.set(t.id,a),{...t,data:a}}updateDataRange(e,t){t=he(t,this.zoomLevels);let[n,r]=S(...Jt(e,t,this.chunkSize).flatMap(({id:t})=>{let n=this.#r.get(t);return n?n.flatMap(t=>Zt(t.time,e)?S(...Object.values(t.value)):[]):[]}));n==null||r==null||(this.#i={min:this.#n.default[0]==null?n:this.#n.expand?b.min(n,this.#n.default[0],...this.#n.shrink?[]:[this.#i.min]):this.#n.default[0],max:this.#n.default[1]==null?r:this.#n.expand?b.max(r,this.#n.default[1],...this.#n.shrink?[]:[this.#i.max]):this.#n.default[1]})}get color(){return this.#a}get dataRange(){let e=b.max(this.#i.min?.abs(),this.#i?.max?.abs());return{...this.#i,amp:e}}};function $t(e){return new Qt(e)}var en=class extends T{#e=`initial`;#t;#n;#r;#i;#a;#o;#s;get id(){return this.#o}get seq(){return this.#s}get range(){return this.#t}get resolution(){return this.#n}get zoom(){return this.#r}get state(){return this.#e}get expired(){return this.#e!==`loaded`&&this.#e!==`error`||this.#c<=Date.now()}#c=0;get expires(){return this.#c}setExpires(e){this.#c=e}invalidate(){this.#c=0}constructor(e){super(),this.#o=e.id,this.#s=e.seq,this.#t=e.range,this.#n=e.resolution,this.#r=e.zoom,this.#i=e.loader}reload(){return this.load(!0)}async load(e=!1){if(this.#a&&(this.#e===`loading`||!e&&!this.expired))return await this.#a;this.#e=`loading`,this.#c=1/0;try{let e={id:this.#o,seq:this.#s,expires:1/0,range:this.#t.map(e=>e?.clone()),zoom:this.#r,resolution:this.#n.clone()};return this.#a=this.#i(e,{expiresAt:t=>e.expires=t,expiresIn:t=>e.expires=t+Date.now()}).then(t=>(this.#e=`loaded`,this.#c=e.expires??1/0,this.changed(),t||null)),await this.#a}catch(e){return console.error(e),this.#e=`error`,this.changed(),null}}};function tn(e){return async(t,n)=>{let r=await e(t,n);return r instanceof Response?await r.json():r}}var Q=class extends T{#e=new qt({maxSize:1e3});zoomLevels;chunkSize;loader;constructor(e){if(super(),this.chunkSize=e.chunkSize||C.defaultChunkSize,this.zoomLevels=e.zoomLevels,`loader`in e)this.loader=tn(e.loader);else if(`data`in e)this.zoomLevels=[0],this.chunkSize=0,this.loader=async()=>e.data;else if(`url`in e)e.url.match(/{[a-zA-Z]+}/)?this.loader=tn(async t=>{let n=e.url.replace(/{[a-zA-Z]+}/g,e=>{switch(e.substring(1,e.length-1)){case`z`:case`zoom`:return t.zoom.toString();case`r`:case`resolution`:return t.resolution.rescale().toString();case`s`:case`start`:return t.range[0].rescale().toString();case`e`:case`end`:return t.range[1].rescale().toString();default:return console.warn(`Unknown template string is found in the URL: `+e),e}});return await fetch(n)}):(this.zoomLevels=[0],this.chunkSize=0,this.loader=tn(()=>fetch(e.url)));else throw Error(`No source`)}async loadChunk({id:e,seq:t,range:n,resolution:r,zoom:i}){let a=this.#t(e,t,n,r,i),o=await a.load()??void 0;return{id:e,seq:t,expires:a.expires,range:n,resolution:r,zoom:i,data:o}}#t(e,t,n,r,i){let a=this.#e.get(e);return a||(a=new en({id:e,seq:t,loader:this.loader,range:n,resolution:r,zoom:i}),this.#e.set(e,a)),a}async loadData(e,t){t=he(t,this.zoomLevels);let n=Jt(e,t,this.chunkSize);return await Promise.all(n.map(e=>this.loadChunk(e)))}async expireChunks(e){for(let t of this.#e.values())(!e||!t.range[1]||t.range[1].gt(e[0])||!t.range[0]||t.range[0].lt(e[1]))&&t.invalidate();this.changed()}};function nn(e){return typeof e==`string`?new Q({url:e}):typeof e==`function`?new Q({loader:e}):e instanceof Q?e:typeof e==`object`&&e&&[`url`,`loader`,`data`].some(t=>t in e)?new Q(e):new Q({data:e})}function rn(e={}){let t=URL.createObjectURL(new Blob([`URL.revokeObjectURL(self.location.href);`,"(function(){function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<b.length?b[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<x.length?x[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*v)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(y))return{exponent:0n,remainder:y.clone()};if(e.ge(y))return m(e,t,n,r);let a=m(y.div(e,i),t,n,r);return a.remainder.eq(y)?{exponent:-a.exponent,remainder:y.clone()}:{exponent:-a.exponent-1n,remainder:y.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return C(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(y,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=S(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=S(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=S(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=S(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=S(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=S(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=S(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=w(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(w(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(y))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(y),p=f?y.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let v=i===0?0:c;return this.round$(v),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\\x1b[33m${this.toString()}\\x1b[m \\x1b[90m(${this.coeff} * 10 ** ${-this.digits})\\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};let _=18n,v=Math.log2(10),y=new g(1n),b=[],x=[];(function(){for(let e=0;e<256;e++)x[e]=10n**BigInt(e),b[e]=5n**BigInt(e)})();function S(e){return e==null||C(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=S(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(S||={});let C=S.isDecimal;S.isDecimalLike;let w=S.pow10;S.minmax,S.min,S.max;let ee=0;function te(e){return function(t,n,r={rpc:!1}){let i=++ee;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:re(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(E(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function ne(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](E(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:re(o)})}),t}function T(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=T(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=T(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=T(e[r],t,n);return n.delete(e),i}function re(e,t){return T(e,t,new WeakSet)}function ie(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function E(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(ie(e))return S(e);if(Array.isArray(e))return e.map(E);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=E(e[n]);return t}return e}}function ae(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>ae(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,ae(n,...t)])):e}function oe(e){return Object.prototype.toString.call(e)===`[object Object]`}function D(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&oe(r)?((!i||typeof i!=`object`)&&(e[n]={}),D(e[n],r)):e[n]=r}return e}var O={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function se(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var ce=class{uid=se(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},k=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},A=class extends ce{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}},j=class extends A{constructor(){super()}updateOptions(e){}render(e){}preRender(e){}postRender(e){}onPointerEvent(e,t){}pointerStyle(e,t){}};function le(e,t,n){if(!t)return;let{height:r}=e.size,i=e.ctx,[a,o]=e.timeAxis.p(t);i.fillStyle=n,i.fillRect(a,0,o-a,r)}function ue(e,t,n){if(!t)return;let{width:r,height:i}=e.size,a=e.ctx,[o,s]=e.timeAxis.p(t);a.fillStyle=n,0<o&&a.fillRect(0,0,Math.min(o,r),i),s<r&&a.fillRect(s,0,r-s,i)}function de(e){let t=e.ctx,n=e.size.height,r=Math.round(e.timeAxis.cursor.p);t.fillStyle=`white`,t.strokeStyle=`red`,t.lineWidth=1,t.fillRect(r-1,0,3,n),t.beginPath(),t.moveTo(r+.5,0),t.lineTo(r+.5,n),t.stroke()}function M(e,t,n){let r=e.ctx,i=e.dpr,a={width:r.canvas.width/i,height:r.canvas.height/i};r.save(),t?(r.translate(0,t.oy),a.height=t.height,e.renderingTrack=t):e.renderingTrack=null,e.chart.ox=e.options.padding[3]??0,e.chart.oy=e.options.padding[0]??0,e.chart.width=a.width-e.chart.ox-e.options.padding[1],e.chart.height=a.height-e.chart.oy-e.options.padding[2],e.size.width=a.width,e.size.height=a.height,r.beginPath(),r.rect(0,0,e.size.width,e.size.height),r.clip(),n(e),r.restore()}function N(e,t){e.tracks.forEach(n=>M(e,n,()=>t(n.id,n)))}function P(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}function F(e,t,n=O.clickTolerance){return e&&e-n<=t&&t<=e+n}var fe=class extends j{#e=null;#t=`rgba(0, 0, 255, 0.2)`;#n=!1;#r=!1;#i=!0;#a=S(0n);#o=8;constructor(){super(),this.on(`change`,()=>{this.dispatchEvent(new k(`renderer:event`,{range:this.#e,resizing:this.#r}))})}updateOptions(e){let t=e.selection;t!==void 0&&(t===!1?(this.#i=!1,this.#e=null):t===!0?this.#i=!0:(t.resizable!==void 0&&(this.#i=t.resizable),t.color!==void 0&&(this.#t=t.color),t.invert!==void 0&&(this.#n=t.invert),t.range!==void 0&&(this.#e=t.range)),this.changed())}#s({shiftKey:e,buttons:t},n){if(!this.#i)return!1;let r=t[0].latest.x;if(e){let e=n.timeAxis.t(r);return this.#r=!0,this.#a=e,this.#e=[e,e],this.changed(),!0}if(!this.#e)return!1;let i=n.timeAxis.p(this.#e);if(F(i[0],r,this.#o)){let e=this.#e[1];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}else if(F(i[1],r,this.#o)){let e=this.#e[0];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}return!1}#c({buttons:e},t){if(!this.#i||!this.#r)return!1;let n=t.timeAxis.t(e[0].latest.x),r=this.#a;return this.#e=n.lt(r)?[n,r]:[r,n],this.changed(),!0}#l(e,t){if(!this.#i||!this.#r||!this.#e)return!1;this.#r=!1;let n=t.timeAxis.p(this.#e[0]),r=t.timeAxis.p(this.#e[1]);return Math.abs(n-r)<this.#o&&(this.#e=null),this.changed(),!0}onPointerEvent(e,t){if(this.#i)switch(e.type){case`down`:return this.#s(e,t);case`drag:update`:return this.#c(e,t);case`up`:return this.#l(e,t)}}pointerStyle(e,t){if(!this.#e||!this.#i)return;let n=t.timeAxis.p(this.#e);if(this.#r&&F(n[0],n[1],this.#o))return`not-allowed`;if(F(n[0],e.buttons[0].latest.x,this.#o))return`w-resize`;if(F(n[1],e.buttons[0].latest.x,this.#o))return`e-resize`}render(e){M(e,null,()=>{this.#n?ue(e,this.#e,this.#t):le(e,this.#e,this.#t)})}};function pe(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function I(e,t,n){let{min:r,max:i,amp:a}=n;if(t){let e=r&&r.isPositive()&&r?.log(10),t=i&&i.isPositive()&&i?.log(10);if(!e||!t||t.eq(e))return null;let n=t.sub(e);return t=>{if(!t)return null;if(!t.isZero()&&!t.isNegative())return t.log(10).sub(e).div(n).number()}}else return!a||!r||!i||a.eq(0)||r.eq(i)?null:e?e=>e?.div(a).number():e=>e?.sub(r).div(i.sub(r)).number()}let me=[`link:fill`,`link:stroke`,`marks`];function L(e,t,n){let r=typeof n.lineWidth==`number`&&isFinite(n.lineWidth)?n.lineWidth:1,i=Math.max(.75,r/2),a=new Path2D;a.arc(t.x,t.y,i,0,Math.PI*2),e.addPath(a)}function R(e,t,n,r){if(isNaN(t.y)||isNaN(n.y))return;let i=typeof r.lineWidth==`number`&&isFinite(r.lineWidth)?r.lineWidth:1,a=Math.max(1,i)/2;e.moveTo(t.x-a,t.y),e.lineTo(t.x+a,t.y),e.lineTo(n.x+a,n.y),e.lineTo(n.x-a,n.y),e.closePath()}function he(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=null,o=0,s=()=>{o===1&&a&&L(r,a,n),a=null,o=0};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){s();continue}o===0?(r.moveTo(e,n),a={x:e,y:n}):r.lineTo(e,n),o++}return s(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function z(e,t){if(!t.length)return;if(t.length===1){e.moveTo(t[0].x,t[0].y);return}if(t.length===2){e.moveTo(t[0].x,t[0].y),e.lineTo(t[1].x,t[1].y);return}let n=t.length,r=Array(n-1),i=Array(n-1);for(let e=0;e<n-1;e++)r[e]=t[e+1].x-t[e].x,i[e]=r[e]===0?0:(t[e+1].y-t[e].y)/r[e];let a=Array(n);a[0]=i[0];for(let e=1;e<n-1;e++)a[e]=(i[e-1]+i[e])/2;a[n-1]=i[n-2];for(let e=0;e<n-1;e++){if(i[e]===0||!isFinite(i[e])){a[e]=0,a[e+1]=0;continue}if(a[e]===0&&a[e+1]===0)continue;if(a[e]*i[e]<0||a[e+1]*i[e]<0){a[e]=0,a[e+1]=0;continue}let t=a[e]/i[e],n=a[e+1]/i[e],r=t*t+n*n;if(r>9){let o=3/Math.sqrt(r);a[e]=o*t*i[e],a[e+1]=o*n*i[e]}}e.moveTo(t[0].x,t[0].y);for(let i=0;i<n-1;i++){let n=r[i],o=t[i],s=t[i+1],c=o.x+n/3,l=o.y+a[i]*n/3,u=s.x-n/3,d=s.y-a[i+1]*n/3;e.bezierCurveTo(c,l,u,d,s.x,s.y)}}function ge(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=[],o=()=>{if(a.length){if(a.length===1){L(r,a[0],n),a=[];return}z(r,a),a=[]}};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){o();continue}a.push({x:e,y:n})}return o(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function _e(e,t,n){let r=new Path2D,i=K(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&(isNaN(a[o].y1)||isNaN(a[o].y2));)o++;if(o>=a.length)break;let e=[];for(;o<a.length&&!isNaN(a[o].y1)&&!isNaN(a[o].y2);)e.push(a[o]),o++;if(e.length===1){R(r,{x:e[0].x1,y:e[0].y1},{x:e[0].x2,y:e[0].y2},n);continue}z(r,e.map(e=>({x:e.x1,y:e.y1})));let t=e[e.length-1];r.lineTo(t.x2,t.y2);for(let t=e.length-2;t>=0;t--)r.lineTo(e[t].x2,e[t].y2);r.closePath()}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function ve(e,t,n){let r=new Path2D,i=K(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&isNaN(a[o].y1);)o++;if(o>=a.length)break;let e=o;for(r.moveTo(a[e].x1,a[e].y1);o<a.length&&!isNaN(a[o].y1);)r.lineTo(a[o].x1,a[o].y1),o++;let t=o--,i=!1;for(;o>=e&&!isNaN(a[o].y2);)r.lineTo(a[o].x2,a[o].y2),o--,i=!0;!i&&!isNaN(a[e].y2)&&(r.lineTo(a[e].x2,a[e].y2),i=!0),r.lineTo(a[e].x1,a[e].y1),t-e===1&&i&&R(r,{x:a[e].x1,y:a[e].y1},{x:a[e].x2,y:a[e].y2},n),o=t}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function B(e,t=`value@time`){return function(n,r,i){let a=new Path2D,o=K(r??t),s=n.map(o);for(let t of s){let n=t.x2-t.x1,r=t.y2-t.y1,o=Math.hypot(n,r),s=Math.atan2(r,n)*180/Math.PI,c=new Path2D;e(c,{style:i,dx:n,dy:r,l:o});let l=new DOMMatrix().translate(t.x1,t.y1).rotate(s).translate(i.offset?.[0]??0,i.offset?.[1]??0).rotate(i.angle??0);a.addPath(c,l)}return{path:a,strokeStyle:i.lineColor??i.color??`black`,fillStyle:G(i.fillColor??i.color??`black`,i.fillOpacity??.25,`white`)}}}function V(e,t){let n=K(t??`value@time`);return{path:e.map(n).map(({x1:e,y1:t})=>({x:e,y:t}))}}let ye={line:{defaultUsing:`value@time`,predicate:e=>!isNaN(e.y1),hasBottom:!1},area:{defaultUsing:[`value@time`,`zero@time`],predicate:e=>!isNaN(e.y1)&&!isNaN(e.y2),hasBottom:!0}};function be(e,t,n){if(n===`start`)return[{x:t.x,y:e.y},{x:t.x,y:t.y}];if(n===`end`)return[{x:e.x,y:t.y},{x:t.x,y:t.y}];let r=(e.x+t.x)/2;return[{x:r,y:e.y},{x:r,y:t.y},{x:t.x,y:t.y}]}function H(e,t,n){let r=[],i=null;for(let a of e){let e=t(a);if(isNaN(e.y)){i=null;continue}i?r.push(...be(i,e,n)):r.push(e),i=e}return r}function U(e,t){let n=ye[t];return function(r,i,a){let o=K(i??n.defaultUsing),s=r.map(o),c=[],l=xe(s,e,n,a,c);if(t===`line`)for(let e of c)L(l,e,a);return{path:l,strokeStyle:a.lineColor??a.color??`black`,fillStyle:G(a.fillColor??a.color??`black`,a.fillOpacity??.25,`transparent`)}}}function xe(e,t,n,r,i=[]){let a=new Path2D,o=0;for(;o<e.length;){for(;o<e.length&&!n.predicate(e[o]);)o++;if(o>=e.length)break;let s=o,c=[];for(;o<e.length&&n.predicate(e[o]);)c.push(e[o]),o++;let l=o;if(!c.length)continue;let u=Se(c,t,{left:s>0?e[s-1]:null,right:l<e.length?e[l]:null}),d=H(u,e=>({x:e.x1,y:e.y1}),t);if(!d.length)continue;let f=d.length===1,p=[];if(n.hasBottom){if(p=H(u,e=>({x:e.x2,y:e.y2}),t),!p.length)continue;if(f&&p.length===1){R(a,d[0],p[0],r);continue}}a.moveTo(d[0].x,d[0].y);for(let e=1;e<d.length;e++)a.lineTo(d[e].x,d[e].y);if(!n.hasBottom){f&&i.push(d[0]);continue}for(let e=p.length-1;e>=0;e--)a.lineTo(p[e].x,p[e].y);a.lineTo(d[0].x,d[0].y)}return a}function Se(e,t,n){let r=e.map(e=>({...e}));return r.length?(Ce(r,t,n.left),we(r,t,n.right),r):r}function Ce(e,t,n){if(!n)return;let r=Te(t,n.x1,e[0].x1);r==null||r===e[0].x1||e.unshift(W(e[0],r))}function we(e,t,n){if(!n)return;let r=e[e.length-1],i=Ee(t,n.x1,r.x1);i==null||i===r.x1||e.push(W(r,i))}function Te(e,t,n){if(t==null||isNaN(t)||e===`start`)return null;if(e===`end`)return t;let r=(t+n)/2;return isNaN(r)?null:r}function Ee(e,t,n){if(t==null||isNaN(t)||e===`end`)return null;if(e===`start`)return t;let r=(n+t)/2;return isNaN(r)?null:r}function W(e,t){return{x1:t,y1:e.y1,x2:t,y2:e.y2}}function G(e,t,n=`transparent`){return`color-mix(in srgb, ${e} ${t*100}%, ${n})`}function K(e){let[[t,n],[r,i]]=pe(e);return function(e){return{x1:e.x[n],y1:e.y[t],x2:e.x[i],y2:e.y[r]}}}function De(e){return(typeof e==`number`||e==null)&&(e=[e??0]),{t:e[0],r:e[1]??e[0],b:e[2]??e[0],l:e[3]??e[1]??e[0]}}let Oe={\"link:line\":[he,{stroke:!0}],\"link:curve\":[ge,{stroke:!0}],\"link:area\":[ve,{fill:!0}],\"link:curve-area\":[_e,{fill:!0}],\"link:step-area-start\":[U(`start`,`area`),{fill:!0}],\"link:step-area\":[U(`mid`,`area`),{fill:!0}],\"link:step-area-end\":[U(`end`,`area`),{fill:!0}],\"link:step-start\":[U(`start`,`line`),{stroke:!0}],\"link:step\":[U(`mid`,`line`),{stroke:!0}],\"link:step-end\":[U(`end`,`line`),{stroke:!0}],\"mark:circle\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(n,0),e.arc(0,0,n,0,Math.PI*2)}),{stroke:!0,fill:!0}],\"mark:minus\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(-n,0),e.lineTo(n,0)}),{stroke:!0,fill:!1}],\"mark:triangle\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(0,-n),e.lineTo(+n*Math.sqrt(3)/2,n/2),e.lineTo(-n*Math.sqrt(3)/2,n/2),e.closePath()}),{stroke:!0,fill:!0}],\"mark:square\":[B((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.rect(-t/2,-t/2,t,t)}),{stroke:!0,fill:!0}],\"mark:diamond\":[B((e,{style:{size:t}})=>{t??=5,e.moveTo(0,-t/2),e.lineTo(t/2,0),e.lineTo(0,t/2),e.lineTo(-t/2,0),e.closePath()}),{stroke:!0,fill:!0}],\"mark:star\":[B((e,{style:{size:t}})=>{t??=5;let n=t/2,r=n*.4;for(let t=0;t<10;t++){let i=t%2==0?n:r,a=Math.PI/5*t-Math.PI/2,o=i*Math.cos(a),s=i*Math.sin(a);t===0?e.moveTo(o,s):e.lineTo(o,s)}e.closePath()}),{stroke:!0,fill:!0}],\"mark:plus\":[B((e,{style:{size:t}})=>{t??=5,e.moveTo(-t/2,0),e.lineTo(t/2,0),e.moveTo(0,-t/2),e.lineTo(0,t/2)}),{stroke:!0}],\"mark:cross\":[B((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.moveTo(-t/2,-t/2),e.lineTo(t/2,t/2),e.moveTo(-t/2,t/2),e.lineTo(t/2,-t/2)}),{stroke:!0}],\"mark:path\":[B((e,{style:{path:t,size:n,scale:r,origin:i}})=>{let a=new DOMMatrix().scale(r??1).scale(n??5).translate(-(i?.[0]??0),-(i?.[1]??0));e.addPath(new Path2D(t),a)}),{stroke:!0,fill:!0}],\"mark:line\":[B((e,{l:t})=>{e.moveTo(0,0),e.lineTo(t,0)},[`min`,`max`]),{stroke:!0}],\"mark:box\":[B((e,{l:t,style:{size:n,radius:r,padding:i}})=>{n??=5;let a=De(i),o=-a.l,s=-(a.t+n/2),c=a.l+t+a.r,l=a.t+n+a.b;r&&r>0?e.roundRect(o,s,c,l,r):e.rect(o,s,c,l)},[`min`,`max`]),{stroke:!0,fill:!0}],\"mark:section\":[B((e,{l:t,style:{size:n}})=>{n??=5,e.moveTo(0,-n/2),e.lineTo(0,n/2),e.moveTo(0,0),e.lineTo(t,0),e.moveTo(t,-n/2),e.lineTo(t,n/2)},[`min`,`max`]),{stroke:!0}],\"mark:icon\":[V,{fill:!0}],\"mark:text\":[V,{fill:!0}]};var ke=class extends j{updateOptions(e){super.updateOptions(e)}#e=S(0);#t={};render(e){super.render(e),this.#n(e),this.#r(e)}#n(e){let t=this.#e.neq(e.timeAxis.current.resolution);if(this.#e=e.timeAxis.current.resolution.clone(),e.options.series)for(let n in e.options.series){let r=e.options.series[n],i=r.track??e.tracks[0].id,a=e.tracks.find(e=>e.id===i),{data:o,meta:s,revision:c}=e.dataCaches[`series:${n}:chart`];if(this.#t[n]&&!t&&this.#t[n].revision===c&&this.#t[n].trackId===i)continue;this.#t[n]={time:e.timeAxis.current.range[0],trackId:i,revision:c,linkOps:[],markOps:[]};let l=s.color,u=[],d=I(a.symmetric,r.data.scale===`log`,s);if(d){for(let e=0;e<o.length;e++){let t=o[e].time,r=o[e].value,i={x:{},y:{zero:a.y(0)}};for(let e in t)i.x[e]=t[e].sub(this.#t[n].time).div(this.#e,3).number();for(let e in r)i.y[e]=a.y(d(r[e]));u.push(i);for(let t of o[e].marks){if(!t)continue;let e={color:l,...t.style??{}},[r,a]=Oe[`mark:${t.draw}`],{path:o,strokeStyle:s,fillStyle:c,postFillStyle:u}=r?.([i],t.using,e)??{};this.#t[n].markOps||(this.#t[n].markOps=[]),this.#t[n].markOps.push({type:`mark`,draw:t.draw,time:this.#t[n].time,path:o,style:{...e,strokeStyle:s,fillStyle:c,postFillStyle:u,...a}})}}for(let e of s.links??[]){if(!e)continue;let t={color:l,...e.style??{}},[r,i]=Oe[`link:${e.draw}`],{path:a,strokeStyle:o,fillStyle:s}=r?.(u,e.using,t)??{};this.#t[n].linkOps||(this.#t[n].linkOps=[]),this.#t[n].linkOps.push({type:`link`,draw:e.draw,time:this.#t[n].time,path:a,style:{...t,strokeStyle:o,fillStyle:s,...i}})}}}}#r(e){if(!e.options.series)return;let t={};for(let n in this.#t){let r=this.#t[n];t[r.trackId]||(t[r.trackId]={});let i=r.time.sub(e.timeAxis.current.time??e.timeAxis.now).div(this.#e,3).number()+e.timeAxis.axisLength[0];for(let e of r.linkOps){let n=e.draw.includes(`area`)?`link:fill`:`link:stroke`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}for(let e of r.markOps){let n=`marks`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}}for(let n of e.tracks)M(e,n,()=>{let r=e.ctx;for(let i of me){if(!t?.[n.id]?.[i])continue;let a=t[n.id][i];for(let t of a)r.save(),r.translate(t.ox,t.oy),t.path instanceof Path2D?Ae(e,t.path,t.style):t.path&&(Me(e,t.path,t.style),je(e,t.path,t.style)),r.restore()}})}};function Ae({ctx:e},t,n){!t||!(t instanceof Path2D)||(n.fill&&!n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)),n.stroke&&n.strokeStyle&&(n.lineWidth??1)>0&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.strokeStyle,e.lineWidth=n.lineWidth??1,n.lineDashArray&&(e.setLineDash(n.lineDashArray),e.lineDashOffset=n.lineDashOffset??0),e.stroke(t)),n.fill&&n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)))}function je({ctx:e},t,n){if(n.text){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.fontWeight??`normal`} ${n.size??14}px ${n.fontFamily??`sans-serif`}`,e.textAlign=n.textAlign??`center`,e.textBaseline=n.textBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.textOutline||n.textOutlineColor!==void 0||n.textOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.textOutlineColor??`white`,e.lineWidth=n.textOutlineWidth??2,e.strokeText(n.text??``,0,0)),e.fillStyle=G(n.textColor??n.color??`black`,n.textOpacity??1),e.fillText(n.text??``,0,0),e.restore()}}function Me({ctx:e},t,n){if(n.icon){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.iconFontWeight??`normal`} ${n.size??16}px ${n.iconFontFamily??`icons`}`,e.textAlign=n.iconAlign??`center`,e.textBaseline=n.iconBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.iconOutline||n.iconOutlineColor!==void 0||n.iconOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.iconOutlineColor??`white`,e.lineWidth=n.iconOutlineWidth??2,e.strokeText(n.icon??``,0,0)),e.fillStyle=G(n.iconColor??n.color??`black`,n.iconOpacity??1),e.fillText(n.icon??``,0,0),e.restore()}}var Ne=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},q=class extends Ne{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}};function Pe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).lt(t)?r=a+1:i=a}return r}function Fe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).le(t)?r=a+1:i=a}return r}function Ie(e,[t,n],r){let i=t===void 0?0:Pe(e,t,r),a=n===void 0?e.length:Pe(e,n,r);return i<a?[i,a]:[0,0]}function Le(e,t){let n=(e,t,n,r)=>Math.min(t,r)-Math.max(e,n),r=n(e.point.x,e.point.x+e.box.width+2,t.point.x,t.point.x+t.box.width+2),i=n(e.point.y,e.point.y+e.box.height+2,t.point.y,t.point.y+t.box.height+2);return r<=0||i<=0?null:{w:r,h:i,d:Math.hypot(r,i)}}function Re(e,t,n){let r=0,i=0,a=new q(0,0);do{r=0;let i=e.map(e=>({...e,force:(e?.force??new q(.01*e.id,0)).set(.01*e.id,0)}));for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++){let n=i[e],r=i[t];if(n===r||n.sideX!==r.sideX)continue;let o=Le(n,r);if(o)if(n.point.distanceTo(r.point)===0){let e=[0,o.h/2];n.force.sub(e),r.force.add(e)}else{let e=a.set(...r.point.values).sub(n.point).normalize(),t=[o.w/2*e.x,o.h/2*e.y];n.force.sub(t),r.force.add(t)}}i.forEach(e=>{let t=a.set(e.point.x,0);e.force.sub(t.normalize().scale(.2))});for(let e=0;e<i.length;e++){let a=i[e];a.point.add(a.force),a.point.x<0&&(a.force.x+=a.point.x,a.point.x-=a.point.x),a.point.y-a.box.height/2<0+t&&(a.force.y+=a.point.y-a.box.height/2-t,a.point.y-=a.point.y-a.box.height/2-t),a.point.y+a.box.height/2+1>n&&(a.force.y+=a.point.y+a.box.height/2+1-n,a.point.y-=a.point.y+a.box.height/2+1-n),r+=a.force.norm**2}}while(r>1&&i++<100);return i<100}var ze=class extends j{postRender(e){super.postRender(e),this.#t(e)}#e(e,t){if(!e)return;let n=Fe(e,t,e=>e.time.time);if(0<n&&n<=e.length)return e[n-1]}#t(e){if(e.timeAxis.animating||!e.options.series)return;let t=e.timeAxis.cursor.time??S(Date.now()/1e3);N(e,(n,r)=>{let i=e.ctx,a=[],o=1;i.textBaseline=`middle`,i.textAlign=`left`;for(let n of r.seriesKeys){let s=e.options.series?.[n];if(!s)throw Error(`Invalid series`);if(s.tooltip===!1)continue;let{data:c,meta:l}=e.dataCaches[`series:${n}:instantaneous`];if(!l)continue;let u=I(r.symmetric,s.data.scale===`log`,l);if(!u)continue;let d=this.#e(c,t);if(!d)continue;let f=d.time.time;if(!f)continue;let p=e.timeAxis.p(f),m=d.value,h=d.text,g=i.measureText(h),_=l.color;if(m==null)continue;let v=r.y(u(m));a.push({id:a.length,cx:p,cy:v,point:new q(0,v),color:_,metrics:g,sideX:o,text:{dx:6,dy:0,value:h},box:{dx:.5,dy:.5-g.fontBoundingBoxAscent-2,width:12+g.width,height:4+g.fontBoundingBoxAscent+g.fontBoundingBoxDescent}}),o=-o}Re(a,e.chart.oy,e.chart.oy+e.chart.height);for(let e of a)e.point.x=e.cx+e.sideX*(e.point.x+20);for(let{cx:e,cy:t,point:n,color:r}of a)i.beginPath(),i.moveTo(e,t),i.lineTo(n.x,n.y),i.strokeStyle=`white`,i.lineWidth=3,i.stroke(),i.strokeStyle=r,i.lineWidth=1,i.setLineDash([3]),i.stroke(),i.setLineDash([]);for(let{cx:e,cy:t,point:n,sideX:r,text:o,color:s,box:c}of a)i.beginPath(),i.arc(e,t,3,0,Math.PI*2),i.fillStyle=s,i.fill(),i.strokeStyle=`white`,i.stroke(),i.beginPath(),i.roundRect(n.x+c.dx,n.y+c.dy,c.width*r,c.height,4),i.shadowBlur=3,i.shadowColor=`black`,i.shadowOffsetX=0,i.shadowOffsetY=1,i.fillStyle=s,i.fill(),i.shadowBlur=0,i.shadowColor=`transparent`,i.shadowOffsetX=0,i.shadowOffsetY=0,i.lineWidth=1,i.strokeStyle=`white`,i.stroke(),i.textBaseline=`middle`,i.textAlign=r<0?`right`:`left`,i.fillStyle=`white`,i.fillText(o.value,n.x+r*o.dx,n.y+o.dy)})}};function Be(e,t={}){return{font:`${e?.fontWeight??t?.fontWeight??`normal`} ${e?.fontSize??t?.fontSize??`12px`} \"${e?.fontFamily??t?.fontFamily??`BIZ UDPGothic`}\"`,color:e?.color??t?.color}}var Ve=class extends j{render(e){super.render(e),N(e,()=>{this.#t(e)})}preRender(e){super.preRender(e),N(e,()=>{this.#e(e)})}#e(e){let t=e.ctx,{width:n}=e.size,r=e.renderingTrack.axisY,i=e.renderingTrack.id,a=P(e.options.tracks?.[i].timeAxis,{});if(!a)return;let o=e.dataCaches[`tracks:${i}:timeAxis`]?.data;o&&(t.beginPath(),a.axis!==!1&&(t.strokeStyle=(typeof a.axis==`object`?a.axis.color:void 0)||`#3333`,t.moveTo(0,r+.5),t.lineTo(n,r+.5)),t.strokeStyle=(a.ticks!==!1&&typeof a.ticks==`object`?a.ticks.color:void 0)||`#3333`,o.forEach(n=>{if(!n.tick)return;let i=e.timeAxis.p(n.time.time);a.ticks!==!1&&(t.moveTo(i,r-(n.major?10:5)),t.lineTo(i,r+(e.symmetric?n.major?10:5:0)))}),t.stroke())}#t(e){let t=e.ctx,n=e.renderingTrack.axisY+2,r=e.renderingTrack.id,i=P(e.options.tracks?.[r].timeAxis,{});if(!i)return;let a=e.dataCaches[`tracks:${r}:timeAxis`]?.data;if(!a||i.labels===!1)return;let o=Be(i.labels);t.fillStyle=o?.color??`black`,t.font=o?.font,t.textAlign=`center`,t.textBaseline=`top`,a.forEach(r=>{let i=e.timeAxis.p(r.time.time);r.text!==void 0&&t.fillText(r.text,i,n)})}};let J={z:0,r:S(1)};function He(e){return J.r.eq(e)?J.z:-e.log(O.base).number()}function Y(e){return J.z===e?J.r:(J.z=e,J.r=S(O.base).pow(-e,BigInt(Math.floor(e))),J.r)}function Ue(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(S(e).floorBy(O.chunkStep).toFixed(2))}function We(e,t,n=O.defaultChunkSize){let r=Y(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function Ge(e,t){return t===void 0?e:e===void 0||t.lt(e)?t:e}function Ke(e,t){return t===void 0?e:e===void 0?t:e.gt(t)?e:t}function qe(e,t){return(!e[0]||!t[1]||e[0].le(t[1]))&&(!t[0]||!e[1]||t[0].le(e[1]))}var X=class extends A{#e={};#t=[];#n;#r;#i;#a;#o;#s;#c={};#l;constructor(e){super(),this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??O.defaultChunkSize,this.#l=e.name}updateOptions(e){this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??O.defaultChunkSize,this.#l=e.name}#u(e,t){if(e.id in this.#e&&t){try{this.#t=this.#p(e.range,this.#t,t)??this.#t}catch(e){console.error(e)}this.changed(),this.dispatchEvent(`datachanged`)}}#d=!1;#f(e,t){let n={...this.#e};for(let e of t)delete n[e.id];for(let e in n)this.#d=!0,delete this.#e[e];!e.timeAxis.animating&&!e.timeAxis.editing&&this.#d&&(this.#d=!1,this.#t=this.#h(Object.values(this.#e),this.#t)??this.#t,this.changed(),this.dispatchEvent(`datachanged`))}#p(e,t,n){let[r,i]=Ie(t,e,e=>e.time._minTime??e.time.time);return[...t.slice(0,r),...n.filter(e=>e.time._minTime??e.time.time),...t.slice(i)].toSorted((e,t)=>{let n=e.time._minTime??e.time.time,r=t.time._maxTime??t.time.time;return n==null||r==null?0:n.lt(r)?-1:n.gt(r)?1:0})}#m=[S(0),S(0)];get window(){return this.#m}#h(e,t){let[n,r]=e.reduce((e,t)=>{let n=t.range[0],r=t.range[1];return[Ge(e[0],n),Ke(e[1],r)]},[void 0,void 0]);if(!n||!r)return t;let i=[n,r];return this.#m=i,t.filter(e=>qe([e.time._minTime??e.time.time,e.time._maxTime??e.time.time],i))}#g(e,t){return t=Ue(t,this.#s),We(e,t,this.#o).map(e=>this.#e[e.id]??e)}update(e){if(this.#r){let t=e.timeAxis.committing.time??e.timeAxis.now,n=this.#i??e.timeAxis.committing.zoom.number(),r=Y(n).mul(this.#o).div(2),i=[t.sub(r),t.add(r)];this.#_(e,i,n)}else if(this.#a){let t=e.timeAxis.current.zoom?.number()??0;this.#_(e,e.timeAxis.current.range,t)}else{let t=e.timeAxis.committing.zoom?.number()??0;this.#_(e,e.timeAxis.committing.range,t)}}#_(e,t,n){let r=this.#g(t,n),i=Date.now();r.forEach(e=>{this.#e[e.id]&&i<=e.expires||(this.#e[e.id]=e,this.#d=!0,e.expires=1/0,e._loading=!0,this.#n(e).then(t=>{e.expires=t?.expires??e.expires,this.#u(t,t.data)}).finally(()=>{e._loading=!1}))}),this.#f(e,r)}get data(){return this.#t}invalidate(){this.#e={},this.#d=!0}get meta(){return this.#c}updateMeta(e){this.#c=e,this.changed(),this.dispatchEvent(`metachanged`)}get name(){return this.#l}};function Z(e){if(e==null||C(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return S(t/1e3)}return e instanceof Date?S(e.getTime()/1e3):S(e)}function Je(e){return e.map(Z)}let Ye=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),Xe=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var Ze=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,\"in-out\":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=Ye(a)}else this.done()};this.#e=Ye(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(Xe(this.#e),null)}get animating(){return this.#e!==null}};function Q(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var $=class extends A{#e;#t={id:void 0,value:null,nullValue:S(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new Ze;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return S(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>S(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(Q(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>S(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=Q(S(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=Q(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new k(`sync`,n)),this.dispatchEvent(new k(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new k(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=Q(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t)};this.dispatchEvent(new k(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new k(`valuechanging`,e)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=Q(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new k(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.changed(),this.dispatchEvent(new k(`valuechanging`,this.#t.value)),this.dispatchEvent(new k(`valuechanged`,this.#t.value))},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new k(`sync`,e)),this.#l(e)}},Qe=class extends A{time;zoom;constructor(e){super(),this.time=new $,this.zoom=new $,this.time=new $({initialValue:Z(e.time??null),domain:Je(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new $({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.zoom.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new k(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new k(`timechanged`,e.value))),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new k(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new k(`zoomchanged`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(Z(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=Je(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(S(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(S)}},$e=class{decay;minVelocity;delay;points=[];angle_=0;distance_=0;constructor(e=.005,t=.05,n=100){this.decay=e,this.minVelocity=t,this.delay=n}begin(){this.points=[]}update(e,t){let n=Date.now();this.points.push({x:e,y:t,t:n});let r=n-this.delay;for(;this.points.length>1&&this.points[0].t<r;)this.points.shift()}end(){let e=this.points.length;if(e<2)return!1;let t=Date.now()-this.delay,n=this.points[e-1];if(n.t<t)return!1;for(;this.points.length>1&&this.points[0].t<t;)this.points.shift();let r=this.points[0];if(n.t<Date.now()-this.delay)return!1;let i=n.x-r.x,a=n.y-r.y,o=n.t-r.t;return o<1e3/60?!1:(this.distance_=Math.sqrt(i*i+a*a)/o/this.decay,this.angle_=Math.atan2(a,i),!0)}getDistance(){return this.distance_}getAngle(){return this.angle_}},et=class extends A{#e;#t={cursorMode:`center`,axisLength:[0,0],disabled:!1,dragging:!1,pinch:null};#n=new $e;constructor(e={}){super(),this.#e=new Qe(e);let{time:t,zoom:n}=this.#e;t.on(`change`,()=>this.changed()),t.on(`valuechanged`,e=>this.dispatchEvent(new k(`timechanged`,e.value))),t.on(`valuechanging`,e=>this.dispatchEvent(new k(`timechanging`,e.value))),t.on(`sync`,e=>this.dispatchEvent(new k(`sync`,{time:e.value}))),n.on(`change`,()=>this.changed()),n.on(`valuechanged`,e=>this.dispatchEvent(new k(`zoomchanged`,e.value.number()))),n.on(`valuechanging`,e=>this.dispatchEvent(new k(`zoomchanging`,e.value.number()))),n.on(`sync`,e=>this.dispatchEvent(new k(`sync`,{zoom:e.value}))),t.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),n.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),t.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`)),n.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`))}z(e){return S(He(e))}r(e){return Y(e.number())}p(e,t){if(Array.isArray(e))return e.map((e,t)=>this.p(e,t));if(e===void 0)return t===0?-100:this.#t.axisLength[0]+this.#t.axisLength[1]+100;let n=this.r(this.#e.zoom.current),r=this.#e.time.current??this.now,i=e??this.now;return S(i).sub(r).div$(n,3).number()+this.#t.axisLength[0]}t(e){if(Array.isArray(e))return e.map(e=>this.t(e));let t=this.r(this.#e.zoom.current),n=this.#e.time.current??this.now;return t.mul(e-this.#t.axisLength[0]).add(n).round(t.digits)}set disabled(e){this.#t.disabled=e}get disabled(){return this.#t.disabled}get editing(){return this.#e.time.editing||this.#e.zoom.editing}get dragging(){return this.#t.dragging}get animating(){return this.#e.time.animating||this.#e.zoom.animating}get current(){return{time:this.#e.time.current,zoom:this.#e.zoom.current,resolution:this.r(this.#e.zoom.current),range:this.rangeFor(this.#e.time.current,this.#e.zoom.current),p:this.p(this.#e.time.current)}}get candidate(){return{time:this.#e.time.candidate,zoom:this.#e.zoom.candidate,resolution:this.r(this.#e.zoom.candidate),range:this.rangeFor(this.#e.time.candidate,this.#e.zoom.candidate),p:this.p(this.#e.time.candidate)}}get value(){return{time:this.#e.time.value,zoom:this.#e.zoom.value,resolution:this.r(this.#e.zoom.value),range:this.rangeFor(this.#e.time.value,this.#e.zoom.value),p:this.p(this.#e.time.value)}}get committing(){return{time:this.#e.time.committing,zoom:this.#e.zoom.committing,resolution:this.r(this.#e.zoom.committing),range:this.rangeFor(this.#e.time.committing,this.#e.zoom.committing),p:this.p(this.#e.time.committing)}}get committed(){return{time:this.#e.time.committed,zoom:this.#e.zoom.committed,resolution:this.r(this.#e.zoom.committed),range:this.rangeFor(this.#e.time.committed,this.#e.zoom.committed),p:this.p(this.#e.time.committed)}}get cursor(){return{time:this.#e.time.cursor,p:this.p(this.#e.time.cursor)}}get range(){return{time:this.#e.time.domain,p:this.p(this.#e.time.domain)}}rangeFor(e,t){return[(e??this.now).sub(this.r(t).mul(this.#t.axisLength[0])),(e??this.now).add(this.r(t).mul(this.#t.axisLength[1]))]}#r(e){this.#e.time.begin(this.t(e)),this.#n.begin()}#i(e,t){this.#e.time.update(this.t(this.current.p-t)),this.#n.update(e,0)}#a(){if(this.#n.end()){let e=this.#n.getDistance(),t=this.#n.getAngle(),n=e*Math.cos(t);this.#e.time.commit({value:this.t(this.current.p-n)})}else this.#e.time.commit()}click(e){this.#e.time.begin(this.t(e)),this.#e.time.commit()}dragStart(e){this.disabled||(this.#r(e),this.#t.dragging=!0)}dragUpdate(e,t){!this.#t.dragging||this.disabled||this.#i(e,t)}dragEnd(){!this.#t.dragging||this.disabled||(this.#a(),this.#t.dragging=!1)}dragCancel(){this.#t.dragging=!1}pinchStart(e,t){if(!this.disabled){if(this.#e.time.update(this.#e.time.current),this.#t.pinch={anchorTime:[this.t(e),this.t(t)]},this.#t.pinch.anchorTime[0].eq(this.#t.pinch.anchorTime[1])){this.#t.pinch=null;return}this.#e.zoom.begin(this.#e.zoom.current)}}pinchUpdate(e,t){if(this.disabled)return;if(!this.#t.pinch)return this.pinchStart(e,t);let n=this.#t.pinch.anchorTime[0],r=this.#t.pinch.anchorTime[1];if(Math.abs(t-e)>2){let i=r.sub(n).div(t-e).abs(),a=this.z(i);this.#e.zoom.update(a)}}pinchEnd(){this.disabled||this.#t.pinch&&(this.#t.pinch=null,this.#e.zoom.commit({animation:`linear`,duration:200}))}setAxisLength(e){this.#t.axisLength=e,this.changed(),this.dispatchEvent(`viewchanged`),this.dispatchEvent(`viewchanging`)}get axisLength(){return this.#t.axisLength}get now(){return S(Date.now()/1e3)}handleSyncEvent(e){e.time&&this.#e.time.handleSyncEvent(e.time),e.zoom&&this.#e.zoom.handleSyncEvent(e.zoom)}},tt=class{id;height;symmetric;oy=0;paddingY=[5,5];labelHeight=0;seriesKeys;constructor(e){this.id=e.id,this.oy=e.oy??0,this.height=e.height??0,this.symmetric=e.symmetric??!1,this.labelHeight=e.labelHeight??0,this.seriesKeys=e.seriesKeys}get chartHeight(){return this.height-this.paddingY[0]-this.paddingY[1]-this.labelHeight}get axisY(){return(this.symmetric?this.chartHeight/2:this.chartHeight)+this.paddingY[0]}y(e){if(e==null||isNaN(e))return NaN;let t=this.symmetric?this.chartHeight/2:this.chartHeight;return this.axisY-t*e}getRenderers(){return[]}},nt=class extends X{#e=new $({initialValue:null});#t=new $({initialValue:null});#n;#r(){let e=this.#e.current,t=this.#t.current;if(!this.#n||e==null||t==null)return;let n=S.max(e.abs(),t.abs());super.updateMeta({...this.#n??{},min:e,max:t,amp:n})}constructor(e){super(e),this.#e.on(`change`,()=>this.#r()),this.#t.on(`change`,()=>this.#r())}updateMeta(e){this.#n=e,e.min&&this.#e.setValue(e.min,this.#e.committed?{animation:`linear`,duration:200}:!1),e.max&&this.#t.setValue(e.max,this.#t.committed?{animation:`linear`,duration:200}:!1),this.#r()}};function rt(e,t,n=globalThis.requestAnimationFrame){let r,i,a=te(e),o=new et;o.on(`change`,()=>v()),o.on(`sync`,e=>a(`sync`,e.value)),o.on(`viewchanging`,()=>u());let s={onPointerEvent:e=>{let t={click:e=>o.click(e),\"drag:start\":e=>o.dragStart(e),\"drag:update\":(e,t)=>o.dragUpdate(e,t),\"drag:end\":()=>o.dragEnd(),\"pinch:start\":(e,t,n)=>o.pinchStart(e,n),\"pinch:update\":(e,t,n)=>o.pinchUpdate(e,n),\"pinch:end\":()=>o.pinchEnd()};if(e.type in t)return t[e.type](e.buttons[0]?.latest.x??0,e.buttons[0]?.delta.x??0,e.buttons[1]?.latest.x??0),!0},pointerStyle:()=>{}},c=[new Ve,new ke,new ze,new fe];c.forEach(e=>{e.on(`change`,()=>v()),e.on(`renderer:event`,t=>a(`renderer:event`,{value:t.value,uid:e.uid}))});let l={ctx:null,options:{},tracks:[],renderingTrack:null,dataCaches:{},chart:{ox:0,oy:0,width:1,height:1,get axisY(){return(l.symmetric?l.chart.height/2:l.chart.height)+l.chart.oy}},size:{width:1,height:1},get symmetric(){return this.renderingTrack?.symmetric??!1},dpr:1,timeAxis:o};async function u(){let e=o.current,t=o.revision;await a(`view:changed`,{time:e.time,zoom:e.zoom.number(),resolution:e.resolution,range:e.range},{rpc:!0}),o.revision===t&&Object.values(l.dataCaches).forEach(e=>d(e).then(()=>v()))}async function d(e){let{revision:t}=e,{resolution:n,zoom:r}=o.value,i=await a(`provider:loadMeta`,{key:e.name,zoom:r.number(),resolution:n},{rpc:!0});e.revision===t&&e.updateMeta(i)}function f(e,t={}){let n={...t,name:e,loader:async t=>await a(`provider:loadChunk`,{key:e,chunk:t},{rpc:!0})};if(l.dataCaches[e]){let t=l.dataCaches[e];return t.updateOptions(n),t.invalidate(),t}let r=e.startsWith(`series:`)?new nt(n):new X(n);return r.on(`change`,()=>v()),r.on(`datachanged`,async()=>u()),r}function p(e){let t={...e.dataCaches};for(let n in e.options.dataCacheOptions)e.dataCaches[n]=f(n,e.options.dataCacheOptions[n]),delete t[n];Object.keys(t).forEach(t=>delete e.dataCaches[t])}function m(e){for(let t of Object.values(e.dataCaches))t.update(e)}let h;function g(){if(!i)return;let e=i.height/l.dpr,t=Object.entries(l.options.tracks??{default:{}}),n=Math.max(0,e-t.reduce((e,[,t])=>e+(t?.height??0),0))/t.filter(([,e])=>e.height==null).length,r=0;l.tracks=t.map(([e,i])=>{let a=i.height??n;return r+=a,new tt({id:e,oy:r-a,height:a,symmetric:i.symmetric??!1,labelHeight:!i.symmetric&&i.timeAxis!==!1&&(typeof i.timeAxis!=`object`||i.timeAxis.labels!==!1)?14:0,seriesKeys:Object.entries(l.options.series??{}).filter(([,n])=>(n.track??t[0][0])===e).map(([e])=>e)})})}ne(e,{init:({canvas:e})=>{i=e,r=i?.getContext(`2d`)},fonts:e=>{if(e)for(let n of e)try{let e=typeof n.source==`string`&&n.source.match(/url\\(\"([^\"]+)\"\\) *format\\(\"woff2\"\\)/);if(e&&e?.[1])fetch(e[1]).then(e=>e.arrayBuffer()).then(e=>{let r=new Uint8Array(e),i=new FontFace(n.family,r,n.desc);i.loaded.then(()=>{t?.add(i),v()}),i.load()});else{let e=new FontFace(n.family,n.source,n.desc);e.loaded.then(()=>{t?.add(e),v()}),e.load()}}catch(e){console.error(`Failed to load the font:`,e)}v()},\"options:update\":e=>{D(l.options,e),e.dataCacheOptions&&p(l),(`tracks`in e||`series`in e)&&g();for(let t of c)t.updateOptions(e);v()},resize:async({size:e,context:t})=>{if(!i)return;let n=t?.dpr??l.dpr??1;i.width=e.width*n,i.height=e.height*n,o.setAxisLength([e.width/2,e.width/2]),l.dpr=n,g(),v()},pointer:async e=>{let t=[...c??[],s],n=(h??t).find(t=>t.onPointerEvent(e,l));return h=e.type===`up`||!n?void 0:[n],!0},cursor:async e=>{let t=[...c??[],s];return(h??t).map(t=>t.pointerStyle(e,l)).find(e=>e)},sync:e=>{o.handleSyncEvent(e)},reload:()=>{for(let e of Object.values(l.dataCaches))e.invalidate();v()}});let _=!1;function v(){_=!0}let y=0,b=0;function x(){y++}function S(){let e=Date.now(),t=(y*1e3/(e-b)).toFixed(1);b+1e3<=e&&(b=e,y=0),r?.clearRect(0,0,60,15),r?.fillText(`FPS: ${t}`,5,10)}function C(e){for(let t of c)r?.save(),e(t),r?.restore()}function w(e){!i||!r||(e.ctx=r,_=!1,m(e),x(),r.reset(),r.scale(e.dpr,e.dpr),C(t=>{t.preRender(e)}),M(e,null,()=>{ue(e,o.range.time,`#00000010`)}),C(t=>{t.render(e)}),e.options.indicator!==!1&&M(e,null,()=>de(e)),C(t=>{t.postRender(e)}))}function ee(){let e=o.range,t=e.time[0]===null&&0<=e.p[0]&&e.p[0]<l.size.width||e.time[1]===null&&0<=e.p[1]&&e.p[1]<l.size.width;return _||o.value.time===null||t}let T=()=>{n(T),ee()&&w(l),l.options.showFps&&S()};n(T)}rt(self,self.fonts)})();"],{type:`text/javascript;charset=utf-8`}));return new Worker(t,e)}function an(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`)return e.toString()===t.toString();if(e&&t&&typeof e==`object`){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!an(e[r],t[r]))return!1;return!0}return!1}function $(e,t,n=new WeakSet){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`)return;if(r===`function`)return e.toString();if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=$(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=$(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=$(e[r],t,n);return n.delete(e),i}function on(e,t,n){e??={},t??={};let r=[],i={...t};for(let a in e)(!i[a]||i[a]!==e[a]&&!an(i[a]?._src,e[a]))&&(t[a]=n(e[a]),t[a]!==e[a]&&(t[a]._src=$(e[a]),r.push(a))),delete i[a];Object.keys(i).forEach(e=>delete t[e])}let sn=[`#080`,`#800`,`#008`,`#880`,`#088`,`#808`],cn={indicator:!0,padding:[5,5,5,5],sources:void 0,series:void 0,tracks:void 0,selection:void 0};var ln=class extends T{#e;call;#t={};#n={};#r={};#i=!1;#a=[];#o=!1;#s=null;#c=0;constructor(e){super(),this.#e=new rn,this.call=be(this.#e),xe(this.#e,{sync:e=>{this.dispatchEvent(new w(`sync`,e,this.uid))},"renderer:event":async e=>{this.dispatchEvent(new w(`renderer:event`,e.value,e.uid))},"provider:loadChunk":async({key:e,chunk:t})=>await this.#r[e]?.loadChunk(t),"provider:loadMeta":async({key:e,zoom:t,resolution:n})=>await this.#r[e].loadMeta({zoom:t,resolution:n}),"view:changed":async e=>{for(let t in this.dispatchEvent(new w(`viewchanged`,e,this.uid)),this.#n)this.#n[t].updateDataRange(e.range,e.zoom);return!0}});let t=e.canvas.transferControlToOffscreen();this.call(`init`,{canvas:t},{transfer:[t]}),this.setFonts(e.fonts)}async setFonts(e){if(e){this.#i=!1,this.#d();let t=await Fe(e);this.call(`fonts`,t);return}this.#i=!0,this.#u(),await this.#p()}[Symbol.dispose](){this.dispose()}dispose(){this.#d(),this.#e.terminate()}setOptions(e){this.#l={},this.updateOptions({...cn,...e})}#l={};updateOptions(e){A(this.#l,e);let t={...e},n=!1;if(`sources`in e&&on(this.#l.sources,this.#t,e=>(n=!0,nn(e))),(n||`series`in e||`tracks`in e)&&(on(this.#l.series,this.#n,e=>(e.data.color||(e.data.color=sn[this.#c++],this.#c%=sn.length),n=!0,$t({sources:this.#t,options:e}))),`tracks`in e&&(n=!0),n)){let e=[...Object.entries(this.#l.tracks??{default:{}}).filter(([,e])=>e.timeAxis!==!1).map(([e,t])=>[`tracks:${e}:timeAxis`,Kt,{timeAxis:t.timeAxis},{immediate:!0}]),...Object.entries(this.#n).flatMap(([e,t])=>{let n={series:t,options:this.#l},r={zoomLevels:t.zoomLevels,chunkSize:t.chunkSize};return[[`series:${e}:chart`,Ve,n,r],[`series:${e}:instantaneous`,Ge,n,{...r,instantValue:!0,instantZoomLevel:t.options.data.instantaneous?.zoom}]]})];t.dataCacheOptions={};let n={...this.#r};for(let[r,i,a,o]of e)this.#r[r]=new i(a),delete n[r],o&&(t.dataCacheOptions[r]=o);Object.keys(n).forEach(e=>delete this.#r[e])}this.call(`options:update`,t)}resize(e){this.call(`resize`,e)}onPointerEvent(e){this.call(`pointer`,e)}async pointerStyle(e){return await this.call(`cursor`,e,{rpc:!0})}sync(e,t){t&&t===this.uid||this.call(`sync`,e)}#u(){if(!this.#i||this.#o||typeof document>`u`)return;this.#o=!0;let e=[],t=document.fonts;if(t&&typeof t.addEventListener==`function`){let n=()=>this.#f();t.addEventListener(`loadingdone`,n),t.addEventListener(`loadingerror`,n),t.addEventListener(`loading`,n),e.push(()=>{t.removeEventListener(`loadingdone`,n),t.removeEventListener(`loadingerror`,n),t.removeEventListener(`loading`,n)})}if(typeof MutationObserver<`u`){let t=new MutationObserver(e=>{for(let t of e){if(t.type===`childList`&&[...Array.from(t.addedNodes??[]),...Array.from(t.removedNodes??[])].some(e=>un(e))){this.#f();return}if(t.type===`attributes`&&un(t.target)){this.#f();return}}});try{let n=document.head??document.documentElement??document;t.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`rel`,`href`]}),e.push(()=>t.disconnect())}catch{t.disconnect()}}this.#a=e}#d(){if(this.#o){this.#o=!1;for(let e of this.#a)try{e()}catch{}this.#a=[],this.#s!=null&&(clearTimeout(this.#s),this.#s=null)}}#f(){this.#i&&this.#s==null&&(this.#s=setTimeout(()=>{this.#s=null,this.#p()},0))}async#p(){if(this.#i)try{let e=await Ie();this.call(`fonts`,e.length?e:void 0)}catch(e){console.error(`Failed to resolve document fonts`,e)}}invalidateSources(e){e||=Object.keys(this.#t);for(let t of e)this.#t[t]?.expireChunks();this.call(`reload`,null)}};function un(e){return typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement?!0:typeof HTMLLinkElement<`u`&&e instanceof HTMLLinkElement?e.rel?.toLowerCase()===`stylesheet`:!1}function dn(e){let t=e.deltaY;switch(e.deltaMode){case WheelEvent.DOM_DELTA_LINE:return t*16;case WheelEvent.DOM_DELTA_PAGE:return t*window.innerHeight}return t}var fn=class extends T{#e=null;#t=null;#n=null;#r;#i;#a;#o;get time(){return this.#r.time.value?.clone()??null}set time(e){this.setTime(e)}setTime(e,t){this.#r.setTime(e,t)}get timeRange(){return this.#r.time.domain.map(e=>e==null?e:e.clone())}setTimeRange(e){this.#r.setTimeRange(e)}get zoom(){return this.#r.zoom.value.number()}set zoom(e){this.setZoom(e)}setZoom(e,t){return this.#r.setZoom(e,t)}fitTo(e,t){if(!this.#s.width)return!1;let n=typeof t?.padding==`number`?t.padding*2:Array.isArray(t?.padding)?t.padding.reduce((e,t)=>e+t):0,r=e.map(e=>E(e)),i=pe(r[1].sub(r[0]).div(this.#s.width-n).abs()),a=r[0].add(r[1]).div(2);this.setZoom(i,t?.animation===!1?!1:void 0),this.setTime(a,t?.animation===!1?!1:void 0)}get zoomRange(){return this.#r.zoom.domain.map(e=>e==null?e:e.number())}setZoomRange(e){this.#r.setZoomRange(e)}setSelection(e){if(this.#i.selection===!1)return;let t=e?.map(e=>E(e))??null;this.#t?.updateOptions({selection:{range:t}})}clearSelection(){this.setSelection(null)}get animating(){return this.#r.time.animating}get editing(){return this.#r.time.editing}#s={x:0,y:0,width:0,height:0,dpr:0};get size(){return{...this.#s}}#c=!1;set disabled(e){this.#c=e,this.#n&&(this.#n.disabled=e)}get disabled(){return this.#c}get options(){return this.#i}setOptions(e){this.#i={style:void 0,...e},this.#l(this.#i,!0)}updateOptions(e){A(this.#i,e),this.#l(e,!1)}#l(e,t){!this.#e||!this.#t||(`style`in e&&(this.#e.style.width=e.style?.width??`100%`,this.#e.style.height=e.style?.height??`36px`,this.#e.style.background=e.style?.background??`#fff`),t?this.#t.setOptions(e):this.#t.updateOptions(e),this.#u())}#u(){if(!this.#e||!this.#t)return;let e=window.devicePixelRatio,t=this.#e.getBoundingClientRect();if(this.#s.width===t.width&&this.#s.height===t.height&&this.#s.dpr===e)return;this.#s={x:t.x,y:t.y,width:t.width,height:t.height,dpr:e};let n=this.#s.width,r=this.#s.height;this.#t.resize({size:{width:n,height:r},context:{dpr:e}})}#d(){let e=this.#r.time,t=this.#r.zoom;this.#r.on(`change`,()=>this.changed()),this.#r.on(`timechanging`,e=>this.dispatchEvent(e)),this.#r.on(`timechanged`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanging`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanged`,e=>this.dispatchEvent(e)),e.on(`sync`,e=>this.#t?.sync({time:e.value},e.origin)),t.on(`sync`,e=>this.#t?.sync({zoom:e.value},e.origin))}#f(e){if(this.#c)return;e.preventDefault();let t=dn(e);this.#r.setZoom(this.#r.zoom.committing.add(-t/this.#o))}constructor(e){super();let t=e??{};this.#r=new ue(t),this.#d(),this.#i={style:void 0,...t},this.#a=t.fonts??[],t.target&&this.mount(t.target),this.#o=t.wheelSensitivity??C.wheelSensitivity}reload(e){this.#t?.invalidateSources(e)}mount(e){let t=typeof e==`string`?document.querySelector(e):e;if(!t)throw Error(`mount failed`);return(this.#e||this.#t||this.#n)&&console.warn(`Timescope: mounted twice`),this.#e?.remove(),this.#e=document.createElement(`canvas`),this.#e.style.all=`unset`,this.#e.style.display=`block`,this.#e.style.touchAction=`none`,this.#e.style.width=this.#i.style?.width??`100%`,this.#e.style.height=this.#i.style?.height??`36px`,this.#e.style.background=this.#i.style?.background??`#fff`,this.#t=new ln({canvas:this.#e,fonts:this.#a}),this.#t.setOptions(this.#i),this.#r.time.restore(),this.#r.zoom.restore(),new ResizeObserver(()=>this.#u()).observe(this.#e),this.#t.on(`change`,()=>this.changed()),this.#t.on(`sync`,e=>{e.value.time&&(this.#r.time.handleSyncEvent(e.value.time),this.#r.time.dispatchEvent(new w(`sync`,e.value.time,e.origin))),e.value.zoom&&(this.#r.zoom.handleSyncEvent(e.value.zoom),this.#r.zoom.dispatchEvent(new w(`sync`,e.value.zoom,e.origin)))}),this.#t.on(`renderer:event`,e=>{typeof e.value==`object`&&e.value&&`range`in e.value&&`resizing`in e.value&&this.dispatchEvent(new w(e.value.resizing?`rangechanging`:`rangechanged`,e.value.range,e.origin))}),this.#n=new ve({element:this.#e,transform:e=>e.sub([this.#s.x,this.#s.y]),handler:e=>{this.#t?.onPointerEvent(e)},cursor:async e=>await this.#t?.pointerStyle(e)??void 0}),this.#e.addEventListener(`wheel`,this.#f.bind(this)),t.appendChild(this.#e),this}unmount(){this.#e?.remove(),this.#n?.detach(),this.#t?.dispose(),this.#t=null,this.#e=null,this.#n=null}dispose(){this.unmount()}};let pn=window;pn.Decimal=b,pn.Timescope=fn})();
|