Socket
Socket
Sign inDemoInstall

uplot

Package Overview
Dependencies
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

uplot - npm Package Compare versions

Comparing version 1.4.7 to 1.5.0

66

dist/uPlot.d.ts

@@ -21,4 +21,2 @@ declare class uPlot {

// TODO: expose opts.gutters?
/** context of canvas used for plotting area + axes */

@@ -107,3 +105,3 @@ readonly ctx: CanvasRenderingContext2D;

/** uPlot's default line path builder (handles nulls/gaps & data decimation) */
paths: Series.PathBuilder;
static paths: Series.PathBuilderFactories;

@@ -117,3 +115,3 @@ /** a deep merge util fn */

/** re-ranges a given min/max outwards to nearest 10% of given min/max's magnitudes, unless fullMags = true */
static rangeLog(min: number, max: number, fullMags: boolean): Range.MinMax;
static rangeLog(min: number, max: number, base: Scale.LogBase, fullMags: boolean): Range.MinMax;

@@ -128,4 +126,16 @@ /** default numeric formatter using browser's locale: new Intl.NumberFormat(navigator.language).format */

static tzDate(date: Date, tzName: string): Date;
/** outerJoins multiple data tables on table[0] values. providing skipGaps can avoid null-caching for any series.spanGaps = true */
static join(tables: AlignedData[], skipGaps?: boolean[][]): AlignedDataWithGapTest;
static addGap: Series.AddGap;
static clipGaps: Series.ClipPathBuilder;
}
export const enum Orientation {
Horizontal = 0,
Vertical = 1,
}
export type AlignedData = [

@@ -192,7 +202,8 @@ xValues: number[],

export interface Gutters {
x?: number | ((self: uPlot, cycleNum: number) => number);
y?: number | ((self: uPlot, cycleNum: number) => number);
}
type SidesWithAxes = [top: boolean, right: boolean, bottom: boolean, left: boolean];
export type PaddingSide = number | null | ((self: uPlot, side: Axis.Side, sidesWithAxes: SidesWithAxes, cycleNum: number) => number);
export type Padding = [top: PaddingSide, right: PaddingSide, bottom: PaddingSide, left: PaddingSide];
export interface Legend {

@@ -208,2 +219,7 @@ show?: boolean; // true

export const enum DrawOrderKey {
Axes = 'axes',
Series = 'series',
}
export interface Options {

@@ -237,2 +253,5 @@ /** chart title */

/** drawing order for axes/grid & series (default: ["axes", "series"]) */
drawOrder?: DrawOrderKey[];
series: Series[];

@@ -244,4 +263,4 @@

/** extra space to add in CSS pixels in the absence of a cross-axis (to prevent axis labels at the plotting area limits from being chopped off) */
gutters?: Gutters;
/** padding per side, in CSS pixels (can prevent cross-axis labels at the plotting area limits from being chopped off) */
padding?: Padding;

@@ -392,2 +411,4 @@ select?: Select;

export type LogBase = 10 | 2;
export type Clamp = number | ((self: uPlot, val: number, scaleMin: number, scaleMax: number, scaleKey: string) => number);
}

@@ -414,2 +435,5 @@

/** clamps log scale values <= 0 (default = scaleMin / 10) */
clamp?: Scale.Clamp;
/** current min scale value */

@@ -436,2 +460,14 @@ min?: number,

export type LinearPathBuilderFactory = () => Series.PathBuilder;
export type SplinePathBuilderFactory = () => Series.PathBuilder;
export type SteppedPathBuilderFactory = (opts?: {align?: -1 | 1}) => Series.PathBuilder;
export type BarsPathBuilderFactory = (opts?: {size?: [factor?: number, max?: number]}) => Series.PathBuilder;
export interface PathBuilderFactories {
linear?: LinearPathBuilderFactory;
spline?: SplinePathBuilderFactory;
stepped?: SteppedPathBuilderFactory;
bars?: BarsPathBuilderFactory;
}
export interface Points {

@@ -461,10 +497,12 @@ /** if boolean or returns boolean, round points are drawn with defined options, else fn should draw own custom points via self.ctx */

export type Gaps = [from: number, to: number][];
export type Gap = [from: number, to: number];
export type ExtendGap = (gaps: Gaps, fromX: number, toX: number) => void;
export type Gaps = Gap[];
export type BuildClip = (gaps: Gaps) => Path2D | null;
export type AddGap = (gaps: Gaps, from: number, to: number) => void;
export type PathBuilder = (self: uPlot, seriesIdx: number, idx0: number, idx1: number, extendGap: ExtendGap, buildClip: BuildClip) => Paths | null;
export type ClipPathBuilder = (gaps: Gaps, ori: Orientation, left: number, top: number, width: number, height: number) => Path2D | null;
export type PathBuilder = (self: uPlot, seriesIdx: number, idx0: number, idx1: number) => Paths | null;
export type MinMaxIdxs = [minIdx: number, maxIdx: number];

@@ -471,0 +509,0 @@

@@ -1,2 +0,2 @@

/*! https://github.com/leeoniya/uPlot (v1.4.7) */
var uPlot=function(){"use strict";function n(n,t,e,r){var i;e=e||0;for(var o=2147483647>=(r=r||t.length-1);r-e>1;)n>t[i=o?e+r>>1:v((e+r)/2)]?e=i:r=i;return n-t[e]>t[r]-n?r:e}var t=[0,0];function e(n,e,r,i){return t[0]=0>r?D(n,-r):n,t[1]=0>i?D(e,-i):e,t}function r(n,t,r,i){var o,l,a,u=10==r?w:x;return n==t&&(n/=r,t*=r),i?(o=v(u(n)),l=m(u(t)),n=(a=e(g(r,o),g(r,l),o,l))[0],t=a[1]):(o=v(u(n)),l=v(u(t)),n=z(n,(a=e(g(r,o),g(r,l),o,l))[0]),t=T(t,a[1])),[n,t]}var i={pad:0,soft:null,mode:0},o={min:i,max:i};function l(n,t,e,r){return H(e)?u(n,t,e):(i.pad=e,i.soft=r?0:null,i.mode=r?2:0,u(n,t,o))}function a(n,t){return null==n?t:n}function u(n,t,e){var r=e.min,i=e.max,o=a(r.pad,0),l=a(i.pad,0),u=a(r.hard,-b),s=a(i.hard,b),f=a(r.soft,b),h=a(i.soft,-b),m=a(r.mode,0),x=a(i.mode,0),_=t-n,y=_||c(t)||1e3,M=w(y),k=g(10,v(M)),S=D(z(n-y*(0==_?0==n?.1:1:o),k/100),6),E=n>=f&&(1==m||2==m&&f>S)?f:b,W=p(u,E>S&&n>=E?E:d(E,S)),Y=D(T(t+y*(0==_?0==t?.1:1:l),k/100),6),C=h>=t&&(1==x||2==x&&Y>h)?h:-b,A=d(s,Y>C&&C>=t?C:p(C,Y));return W==A&&0==W&&(A=100),[W,A]}var s=new Intl.NumberFormat(navigator.language).format,f=Math,c=f.abs,v=f.floor,h=f.round,m=f.ceil,d=f.min,p=f.max,g=f.pow,w=f.log10,x=f.log2,_=f.PI,b=1/0;function y(n,t){return h(n/t)*t}function M(n,t,e){return d(p(n,t),e)}function k(n){return"function"==typeof n?n:function(){return n}}function S(n,t){return t}function T(n,t){return m(n/t)*t}function z(n,t){return v(n/t)*t}function D(n,t){return h(n*(t=Math.pow(10,t)))/t}var E=new Map;function W(n){return((""+n).split(".")[1]||"").length}function Y(n,t,e,r){for(var i=[],o=r.map(W),l=t;e>l;l++)for(var a=c(l),u=D(g(n,l),a),s=0;r.length>s;s++){var f=r[s]*u,v=(0>f||0>l?a:0)+(o[s]>l?o[s]:0),h=D(f,v);i.push(h),E.set(h,v)}return i}var C={},A=Array.isArray;function F(n){return"string"==typeof n}function H(n){return"object"==typeof n&&null!==n}function P(n){var t;if(A(n))t=n.map(P);else if(H(n))for(var e in t={},n)t[e]=P(n[e]);else t=n;return t}function N(n){for(var t=arguments,e=1;t.length>e;e++){var r=t[e];for(var i in r)H(n[i])?N(n[i],P(r[i])):n[i]=P(r[i])}return n}var I="undefined"==typeof queueMicrotask?function(n){return Promise.resolve().then(n)}:queueMicrotask,V="width",L="height",G="top",O="bottom",j="left",B="right",R="#000",U="#0000",J="mousemove",q="mousedown",Z="mouseup",X="mouseenter",K="mouseleave",Q="dblclick",$="resize",nn="scroll",tn="u-off",en="u-label",rn=requestAnimationFrame,on=document,ln=window,an=devicePixelRatio;function un(n,t){null!=t&&n.classList.add(t)}function sn(n,t){n.classList.remove(t)}function fn(n,t,e){n.style[t]=e+"px"}function cn(n,t,e,r){var i=on.createElement(n);return null!=t&&un(i,t),null!=e&&e.insertBefore(i,r),i}function vn(n,t){return cn("div",n,t)}function hn(n,t,e,r,i){n.style.transform="translate("+t+"px,"+e+"px)",0>t||0>e||t>r||e>i?un(n,tn):sn(n,tn)}var mn={passive:!0};function dn(n,t,e){t.addEventListener(n,e,mn)}function pn(n,t,e){t.removeEventListener(n,e,mn)}var gn=["January","February","March","April","May","June","July","August","September","October","November","December"],wn=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function xn(n){return n.slice(0,3)}var _n=wn.map(xn),bn=gn.map(xn),yn={MMMM:gn,MMM:bn,WWWW:wn,WWW:_n};function Mn(n){return(10>n?"0":"")+n}var kn={YYYY:function(n){return n.getFullYear()},YY:function(n){return(n.getFullYear()+"").slice(2)},MMMM:function(n,t){return t.MMMM[n.getMonth()]},MMM:function(n,t){return t.MMM[n.getMonth()]},MM:function(n){return Mn(n.getMonth()+1)},M:function(n){return n.getMonth()+1},DD:function(n){return Mn(n.getDate())},D:function(n){return n.getDate()},WWWW:function(n,t){return t.WWWW[n.getDay()]},WWW:function(n,t){return t.WWW[n.getDay()]},HH:function(n){return Mn(n.getHours())},H:function(n){return n.getHours()},h:function(n){var t=n.getHours();return 0==t?12:t>12?t-12:t},AA:function(n){return 12>n.getHours()?"AM":"PM"},aa:function(n){return 12>n.getHours()?"am":"pm"},a:function(n){return 12>n.getHours()?"a":"p"},mm:function(n){return Mn(n.getMinutes())},m:function(n){return n.getMinutes()},ss:function(n){return Mn(n.getSeconds())},s:function(n){return n.getSeconds()},fff:function(n){return function(n){return(10>n?"00":100>n?"0":"")+n}(n.getMilliseconds())}};function Sn(n,t){t=t||yn;for(var e,r=[],i=/\{([a-z]+)\}|[^{]+/gi;e=i.exec(n);)r.push("{"==e[0][0]?kn[e[1]]:e[0]);return function(n){for(var e="",i=0;r.length>i;i++)e+="string"==typeof r[i]?r[i]:r[i](n,t);return e}}var Tn=(new Intl.DateTimeFormat).resolvedOptions().timeZone,zn=function(n){return n%1==0},Dn=[1,2,2.5,5],En=Y(10,-16,0,Dn),Wn=Y(10,0,16,Dn),Yn=Wn.filter(zn),Cn=En.concat(Wn),An="{YYYY}",Fn="\n"+An,Hn="{M}/{D}",Pn="\n"+Hn,Nn=Pn+"/{YY}",In="{aa}",Vn="{h}:{mm}"+In,Ln="\n"+Vn,Gn=":{ss}",On=null;function jn(n){var t=1e3*n,e=60*t,r=60*e,i=24*r,o=30*i,l=365*i;return[(1==n?Y(10,0,3,Dn).filter(zn):Y(10,-3,0,Dn)).concat([t,5*t,10*t,15*t,30*t,e,5*e,10*e,15*e,30*e,r,2*r,3*r,4*r,6*r,8*r,12*r,i,2*i,3*i,4*i,5*i,6*i,7*i,8*i,9*i,10*i,15*i,o,2*o,3*o,4*o,6*o,l,2*l,5*l,10*l,25*l,50*l,100*l]),[[l,An,On,On,On,On,On,On,1],[28*i,"{MMM}",Fn,On,On,On,On,On,1],[i,Hn,Fn,On,On,On,On,On,1],[r,"{h}"+In,Nn,On,Pn,On,On,On,1],[e,Vn,Nn,On,Pn,On,On,On,1],[t,Gn,Nn+" "+Vn,On,Pn+" "+Vn,On,Ln,On,1],[n,Gn+".{fff}",Nn+" "+Vn,On,Pn+" "+Vn,On,Ln,On,1]],function(t){return function(a,u,s,f,c,h){var m=[],d=c>=l,p=c>=o&&l>c,g=t(s),w=g*n,x=nt(g.getFullYear(),d?0:g.getMonth(),p||d?1:g.getDate()),_=x*n;if(p||d)for(var b=p?c/o:0,y=d?c/l:0,M=w==_?w:nt(x.getFullYear()+y,x.getMonth()+b,1)*n,k=new Date(M/n),S=k.getFullYear(),z=k.getMonth(),E=0;f>=M;E++){var W=nt(S+y*E,z+b*E,1);(M=(+W+(W-t(W*n)))*n)>f||m.push(M)}else{var Y=i>c?c:i,C=_+(v(s)-v(w))+T(w-_,Y);m.push(C);for(var A=t(C),F=A.getHours()+A.getMinutes()/e+A.getSeconds()/r,H=c/r,P=h/a.axes[u]._space;(C=D(C+c,1==n?0:3))<=f;)if(H>1){var N=v(D(F+H,6))%24,I=t(C).getHours()-N;I>1&&(I=-1),F=(F+H)%24,.7>D(((C-=I*r)-m[m.length-1])/c,3)*P||m.push(C)}else m.push(C)}return m}}]}var Bn=jn(1),Rn=Bn[0],Un=Bn[1],Jn=Bn[2],qn=jn(.001),Zn=qn[0],Xn=qn[1],Kn=qn[2];function Qn(n,t){return n.map((function(n){return n.map((function(e,r){return 0==r||8==r||null==e?e:t(1==r||0==n[8]?e:n[1]+e)}))}))}function $n(n,t){return function(e,r,i,o,l){var a,u,s,f,c,v,h=t.find((function(n){return l>=n[0]}))||t[t.length-1];return r.map((function(t){var e=n(t),r=e.getFullYear(),i=e.getMonth(),o=e.getDate(),l=e.getHours(),m=e.getMinutes(),d=e.getSeconds(),p=r!=a&&h[2]||i!=u&&h[3]||o!=s&&h[4]||l!=f&&h[5]||m!=c&&h[6]||d!=v&&h[7]||h[1];return a=r,u=i,s=o,f=l,c=m,v=d,p(e)}))}}function nt(n,t,e){return new Date(n,t,e)}function tt(n,t){return t(n)}function et(n,t){return function(e,r){return t(n(r))}}Y(2,-53,53,[1]);var rt=[0,0];function it(n,t,e){return function(n){0==n.button&&e(n)}}function ot(n,t,e){return e}var lt={show:!0,x:!0,y:!0,lock:!1,move:function(n,t,e){return rt[0]=t,rt[1]=e,rt},points:{show:function(n,t){var e=n.series[t],r=vn();r.style.background=e.stroke||R;var i=Mt(e.width,1),o=(i-1)/-2;return fn(r,V,i),fn(r,L,i),fn(r,"marginLeft",o),fn(r,"marginTop",o),r}},bind:{mousedown:it,mouseup:it,click:it,dblclick:it,mousemove:ot,mouseleave:ot,mouseenter:ot},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,_x:!1,_y:!1},focus:{prox:-1},left:-10,top:-10,idx:null,dataIdx:function(n,t,e){return e}},at={show:!0,stroke:"rgba(0,0,0,0.07)",width:2,filter:S},ut=N({},at,{size:10}),st='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',ft="bold "+st,ct={show:!0,scale:"x",space:50,gap:5,size:50,labelSize:30,labelFont:ft,side:2,grid:at,ticks:ut,font:st,rotate:0},vt={show:!0,scale:"x",auto:!1,sorted:1,min:b,max:-b,idxs:[]};function ht(n,t){return t.map((function(n){return null==n?"":s(n)}))}function mt(n,t,e,r,i,o,l){for(var a=[],u=E.get(i)||0,s=e=l?e:D(T(e,i),u);r>=s;s=D(s+i,u))a.push(Object.is(s,-0)?0:s);return a}function dt(n,t,e,r,i){var o=[],l=n.scales[n.axes[t].scale].log,a=v((10==l?w:x)(e));i=g(l,a),0>a&&(i=D(i,-a));var u=e;do{o.push(u),i*l>(u=D(u+i,E.get(i)))||(i=u)}while(r>=u);return o}var pt=/./,gt=/[12357]/,wt=/[125]/,xt=/1/;function _t(n,t,e){var r=n.axes[e],i=r.scale;if(2==n.scales[i].log)return t;var o=n.valToPos,l=r._space,a=o(10,i),u=o(9,i)-a<l?o(7,i)-a<l?o(5,i)-a<l?xt:wt:gt:pt;return t.map((function(n){return u.test(n)?n:null}))}function bt(n,t){return null==t?"":s(t)}var yt={show:!0,scale:"y",space:30,gap:5,size:50,labelSize:30,labelFont:ft,side:3,grid:at,ticks:ut,font:st,rotate:0};function Mt(n,t){return D((3+2*(n||1))*t,3)}function kt(n,t){var e=n.scales[n.series[t].scale];return 3==e.distr?e.min:0}var St={scale:"y",auto:!0,sorted:0,show:!0,band:!1,spanGaps:!1,isGap:function(){return!0},alpha:1,points:{show:function(n,t){var e=n.series[t],r=(Mt(e.width,an),n.series[0].idxs);return n.bbox.width/(e.points.space*an)>=r[1]-r[0]}},values:null,min:b,max:-b,idxs:[],path:null,clip:null},Tt={time:!0,auto:!0,distr:1,log:10,min:null,max:null},zt=N({},Tt,{time:!1}),Dt={};function Et(){var n=[];return{sub:function(t){n.push(t)},unsub:function(t){n=n.filter((function(n){return n!=t}))},pub:function(t,e,r,i,o,l,a){n.length>1&&n.forEach((function(n){n!=e&&n.pub(t,e,r,i,o,l,a)}))}}}function Wt(n,t,e,r){return(r?[n[0],n[1]].concat(n.slice(2)):[n[0]].concat(n.slice(1))).map((function(n,r){return Yt(n,r,t,e)}))}function Yt(n,t,e,r){return N({},0==t||n&&n.side%2==0?e:r,n)}function Ct(n,t){return 3==t.distr?w(n/t.min)/w(t.max/t.min):(n-t.min)/(t.max-t.min)}function At(n,t,e,r){return r+(1-Ct(n,t))*e}function Ft(n,t,e,r){return r+Ct(n,t)*e}var Ht=[null,null];function Pt(n,t,e){return null==t?Ht:[t,e]}var Nt=Pt;function It(n,t,e){return null==t?Ht:l(t,e,.1,!0)}function Vt(n,t,e,i){return null==t?Ht:r(t,e,n.scales[i].log,!1)}var Lt=Vt;function Gt(n){var t;return[n=n.replace(/(\d+)px/,(function(n,e){return(t=h(e*an))+"px"})),t]}function Ot(t,e,i){var o={},a=!1;o.status=0;var u=o.root=vn("uplot");null!=t.id&&(u.id=t.id),un(u,t.class),t.title&&(vn("u-title",u).textContent=t.title);var s=cn("canvas"),f=o.ctx=s.getContext("2d"),x=vn("u-wrap",u),T=vn("u-under",x);x.appendChild(s);var z=vn("u-over",x);((t=P(t)).plugins||[]).forEach((function(n){n.opts&&(t=n.opts(o,t)||t)}));var W=t.ms||.001,Y=o.series=Wt(t.series||[],vt,St,!1),mn=o.axes=Wt(t.axes||[],ct,yt,!0),gn=o.scales={},wn=Y[0].scale;function xn(n){var e=gn[n];if(null==e){var r=(t.scales||C)[n]||C;if(null!=r.from)xn(r.from),gn[n]=N({},gn[r.from],r);else{var i=(e=gn[n]=N({},n==wn?Tt:zt,r)).time,o=3==e.distr,a=e.range;if(n!=wn&&!A(a)&&H(a)){var u=a;a=function(n,t,e){return null==t?Ht:l(t,e,u)}}e.range=k(a||(i?Nt:n==wn?o?Lt:Pt:o?Vt:It)),e.auto=k(e.auto)}}}for(var _n in xn("x"),xn("y"),Y.forEach((function(n){xn(n.scale)})),t.scales)xn(_n);var bn=gn[wn].distr,yn={};for(var Mn in gn){var kn=gn[Mn];null==kn.min&&null==kn.max||(yn[Mn]={min:kn.min,max:kn.max})}var Tn=o.gutters=N({x:h(yt.size/2),y:h(ct.size/3),_x:null,_y:null},t.gutters);Tn.x=k(Tn.x),Tn.y=k(Tn.y),Tn._x=Tn.x(o),Tn._y=Tn.y(o);var zn,Dn,En=t.tzDate||function(n){return new Date(n/W)},Wn=t.fmtDate||Sn,An=1==W?Jn(En):Kn(En),Fn=$n(En,Qn(1==W?Un:Xn,Wn)),Hn=et(En,tt("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",Wn)),Pn=N({show:!0,live:!0},t.legend),Nn=Pn.show,In=[],Vn=!1;if(Nn){zn=cn("table","u-legend",u);var Ln=Y[1]?Y[1].values:null;if(Vn=null!=Ln){var Gn=cn("tr","u-thead",zn);for(var On in cn("th",null,Gn),Dn=Ln(o,1,0))cn("th",en,Gn).textContent=On}else Dn={_:0},un(zn,"u-inline"),Pn.live&&un(zn,"u-live")}var jn=new Map;function Bn(n,t,e){var r=jn.get(t)||{},i=Rt.bind[n](o,t,e);i&&(dn(n,t,r[n]=i),jn.set(t,r))}var qn=0,nt=0,rt=0,it=0,ot=0,at=0,ut=0,st=0,ft=0,pt=0;o.bbox={};var gt=!1,wt=!1,xt=!1,Ct=!1,Ot=!1;function jt(n,t){n==o.width&&t==o.height||Bt(n,t),he(!1),xt=!0,wt=!0,Ct=!0,Ot=!0,Se()}function Bt(n,t){o.width=qn=rt=n,o.height=nt=it=t,ot=at=0,function(){var n=!1,t=!1,e=!1,r=!1;mn.forEach((function(i){if(i.show&&i._show){var o=i.side,l=o%2,a=i._size+(i.labelSize=null!=i.label?i.labelSize||30:0);a>0&&(l?(rt-=a,3==o?(ot+=a,r=!0):e=!0):(it-=a,0==o?(at+=a,n=!0):t=!0))}})),(n||t)&&(e||(rt-=Tn._x),r||(rt-=Tn._x,ot+=Tn._x)),(r||e)&&(t||(it-=Tn._y),n||(it-=Tn._y,at+=Tn._y))}(),function(){var n=ot+rt,t=at+it,e=ot,r=at;function i(i,o){switch(i){case 1:return(n+=o)-o;case 2:return(t+=o)-o;case 3:return(e-=o)+o;case 0:return(r-=o)+o}}mn.forEach((function(n){if(n.show&&n._show){var t=n.side;n._pos=i(t,n._size),null!=n.label&&(n._lpos=i(t,n.labelSize))}}))}();var e=o.bbox;ut=e.left=y(ot*an,.5),st=e.top=y(at*an,.5),ft=e.width=y(rt*an,.5),pt=e.height=y(it*an,.5)}o.setSize=function(n){jt(n.width,n.height)};var Rt=o.cursor=N({},lt,t.cursor);Rt._lock=!1,Rt.points.show=k(Rt.points.show);var Ut,Jt=o.focus=N({},t.focus||{alpha:.3},Rt.focus),qt=Jt.prox>=0,Zt=[null];function Xt(n,t){var e=gn[n.scale].time,r=n.value;if(n.value=e?F(r)?et(En,tt(r,Wn)):r||Hn:r||bt,n.label=n.label||(e?"Time":"Value"),t>0){n.width=null==n.width?1:n.width,n.paths=n.paths||se,n.fillTo=n.fillTo||kt;var i=Mt(n.width,1);n.points=N({},{size:i,width:p(1,.2*i),stroke:n.stroke,space:2*i},n.points),n.points.show=k(n.points.show),n._paths=null}if(Nn&&In.splice(t,0,function(n,t){if(0==t&&(Vn||!Pn.live))return null;var e=[],r=cn("tr","u-series",zn,zn.childNodes[t]);un(r,n.class),n.show||un(r,tn);var i=cn("th",null,r),o=vn("u-marker",i);o.style.borderColor=n.width?n.stroke:t>0&&n.points.width?n.points.stroke:null,o.style.backgroundColor=n.fill||null;var l=vn(en,i);for(var a in l.textContent=n.label,t>0&&(Bn("click",i,(function(){Rt._lock||Le(Y.indexOf(n),{show:!n.show},ir.setSeries)})),qt&&Bn(X,i,(function(){Rt._lock||Le(Y.indexOf(n),{focus:!0},ir.setSeries)}))),Dn){var u=cn("td","u-value",r);u.textContent="--",e.push(u)}return e}(n,t)),Rt.show){var l=function(n,t){if(t>0){var e=Rt.points.show(o,t);if(e)return un(e,"u-cursor-pt"),un(e,n.class),hn(e,-10,-10,rt,it),z.insertBefore(e,Zt[t]),e}}(n,t);l&&Zt.splice(t,0,l)}}o.addSeries=function(n,t){n=Yt(n,t=null==t?Y.length:t,vt,St),Y.splice(t,0,n),Xt(Y[t],t)},o.delSeries=function(n){Y.splice(n,1),Nn&&In.splice(n,1)[0][0].parentNode.remove(),Zt.length>1&&Zt.splice(n,1)[0].remove()},Y.forEach(Xt),mn.forEach((function(n,t){if(n._show=n.show,n.show){var e=gn[n.scale];null==e&&(n.scale=n.side%2?Y[1].scale:wn,e=gn[n.scale]);var r=e.time;n.size=k(n.size),n.space=k(n.space),n.rotate=k(n.rotate),n.incrs=k(n.incrs||(2==e.distr?Yn:r?1==W?Rn:Zn:Cn)),n.splits=k(n.splits||(r&&1==e.distr?An:3==e.distr?dt:mt));var i=n.values;n.values=r?A(i)?$n(En,Qn(i,Wn)):F(i)?function(n,t){var e=Sn(t);return function(t,r){return r.map((function(t){return e(n(t))}))}}(En,i):i||Fn:i||ht,n.filter=k(n.filter||(3==e.distr?_t:S)),n.font=Gt(n.font),n.labelFont=Gt(n.labelFont),n._size=n.size(o,null,t,0),n._space=n._rotate=n._incrs=n._found=n._splits=n._values=null}}));var Kt=null,Qt=null,$t=Y[0].idxs,ne=null,te=!1;function ee(n,t){if(!A(n)&&H(n)&&(n.isGap&&Y.forEach((function(t){t.isGap=n.isGap})),n=n.data),(n=n||[])[0]=n[0]||[],o.data=n,e=n.slice(),Ut=(ne=e[0]).length,2==bn&&(e[0]=ne.map((function(n,t){return t}))),he(!0),rr("setData"),!1!==t){var r=gn[wn];r.auto(o,te)?re():Ve(wn,r.min,r.max),Ct=!0,Ot=!0,Se()}}function re(){var n,t,i,o;te=!0,Ut>0?(Kt=$t[0]=0,Qt=$t[1]=Ut-1,i=e[0][Kt],o=e[0][Qt],2==bn?(i=Kt,o=Qt):1==Ut&&(3==bn?(i=(n=r(i,i,gn[wn].log,!1))[0],o=n[1]):gn[wn].time?o=i+86400/W:(i=(t=l(i,o,.1,!0))[0],o=t[1]))):(Kt=$t[0]=i=null,Qt=$t[1]=o=null),Ve(wn,i,o),te=!1}function ie(n,t,e,r){f.strokeStyle=n||U,f.lineWidth=t,f.lineJoin="round",f.setLineDash(e||[]),f.fillStyle=r||U}o.setData=ee;var oe=1;function le(n){var t=null;if(n.length>0){t=new Path2D;for(var e=ut,r=0;n.length>r;r++){var i=n[r];t.rect(e,st,i[0]-e,st+pt),e=i[1]}t.rect(e,st,ut+ft-e,st+pt)}return t}function ae(n,t,e){if(e>t){var r=n[n.length-1];r&&r[0]==t?r[1]=e:n.push([t,e])}}function ue(n,t,e,r){for(var i=1==r?t:e;i>=t&&e>=i;i+=r)if(null!=n[i])return i;return-1}function se(n,t,r,i,o,l){var a,u,s,f,c,v=Y[t],m=v.isGap,g=e[0],w=e[t],x=gn[wn],_=gn[v.scale],M=1==oe?{stroke:new Path2D,fill:null,clip:null}:Y[t-1]._paths,k=M.stroke,S=D(v.width*an,3),T=b,z=-b,E=[],W=h(Ft(g[1==oe?r:i],x,ft,ut)),C=!1,A=ue(w,r,i,1),F=ue(w,r,i,-1),H=y(Ft(g[A],x,ft,ut),.5),P=y(Ft(g[F],x,ft,ut),.5);H>ut&&o(E,ut,H),v.band&&1==oe&&k.lineTo(H-2*S,h(At(w[r],_,pt,st)));for(var N=1==oe?r:i;N>=r&&i>=N;N+=oe){var I=h(Ft(g[N],x,ft,ut));if(I==W)null!=w[N]?(a=h(At(w[N],_,pt,st)),T=d(a,T),z=p(a,z)):!C&&m(n,t,N)&&(C=!0);else{var V=!1;T!=b?(k.lineTo(W,T),k.lineTo(W,z),k.lineTo(W,a),u=W):C&&(V=!0,C=!1),null!=w[N]?(a=h(At(w[N],_,pt,st)),k.lineTo(I,a),T=z=a,I-W>1&&null==w[N-1]&&m(n,t,N-1)&&(V=!0)):(T=b,z=-b,!C&&m(n,t,N)&&(C=!0)),V&&o(E,u,I),W=I}}if(ut+ft>P&&o(E,P,ut+ft),v.band&&(1==oe?(s=P+2*S,f=F,c=e[t+1]):(s=H-2*S,f=A,c=e[t-1]),k.lineTo(s,h(At(w[f],_,pt,st))),k.lineTo(s,h(At(c[f],_,pt,st)))),1==oe&&(v.spanGaps||(M.clip=l(E)),null!=v.fill)){var L=M.fill=new Path2D(k),G=h(At(v.fillTo(n,t,v.min,v.max),_,pt,st));L.lineTo(P,G),L.lineTo(H,G)}return v.band&&(oe*=-1),M}function fe(n,t,e,r,i,o,l,a,u){var s=l%2/2;f.translate(s,s),ie(a,l,u),f.beginPath();var c,v,h,m,d=i+(0==r||3==r?-o:o);0==e?(v=i,m=d):(c=i,h=d),n.forEach((function(n,r){null!=t[r]&&(0==e?c=h=n:v=m=n,f.moveTo(c,v),f.lineTo(h,m))})),f.stroke(),f.translate(-s,-s)}function ce(n){var t=!0;return mn.forEach((function(e,r){if(e.show){var i=gn[e.scale];if(null!=i.min){e._show||(t=!1,e._show=!0,he(!1));var l=e.side,a=i.min,u=i.max,s=function(n,t,e,r){var i,l=mn[n];if(r>0){var a=l._space=l.space(o,n,t,e,r),u=l._incrs=l.incrs(o,n,t,e,r,a);i=l._found=function(n,t,e,r,i){for(var o=r/(t-n),l=(""+v(n)).length,a=0;e.length>a;a++){var u=e[a]*o,s=10>e[a]?E.get(e[a]):0;if(u>=i&&17>l+s)return[e[a],u]}return[0,0]}(t,e,u,r,a)}else i=[0,0];return i}(r,a,u,0==l%2?rt:it),f=s[0],c=s[1];if(0!=c){var h=e._splits=e.splits(o,r,a,u,f,c,2==i.distr),d=2==i.distr?h.map((function(n){return ne[n]})):h,p=2==i.distr?ne[h[1]]-ne[h[0]]:f,g=e._values=e.values(o,e.filter(o,d,r,c,p),r,c,p);e._rotate=2==l?e.rotate(o,g,r,c):0;var w=e._size;e._size=m(e.size(o,g,r,n)),null!=w&&e._size!=w&&(t=!1)}}else e._show&&(t=!1,e._show=!1,he(!1))}})),t}function ve(n){var t=!0,e=Tn._x,r=Tn._y;return Tn._x=m(Tn.x(o,n)),Tn._y=m(Tn.y(o,n)),Tn._x==e&&Tn._y==r||(t=!1),t}function he(n){Y.forEach((function(t,e){e>0&&(t._paths=null,n&&(t.min=null,t.max=null))}))}o.paths=se;var me,de,pe,ge,we,xe,_e,be,ye,Me,ke=!1;function Se(){ke||(I(Te),ke=!0)}function Te(){gt&&(function(){var t=P(gn);for(var r in t){var i=t[r],l=yn[r];if(null!=l&&null!=l.min)N(i,l),r==wn&&he(!0);else if(r!=wn)if(0==Ut&&null==i.from){var a=i.range(o,null,null,r);i.min=a[0],i.max=a[1]}else i.min=b,i.max=-b}if(Ut>0)for(var u in Y.forEach((function(r,i){var l=r.scale,a=t[l],u=yn[l];if(0==i){var s=a.range(o,a.min,a.max,l);a.min=s[0],a.max=s[1],Kt=n(a.min,e[0]),Qt=n(a.max,e[0]),a.min>e[0][Kt]&&Kt++,e[0][Qt]>a.max&&Qt--,r.min=ne[Kt],r.max=ne[Qt]}else if(r.show&&r.auto&&a.auto(o,te)&&(null==u||null==u.min)){var f=null==r.min?function(n,t,e,r){var i=b,o=-b;if(1==r)i=n[t],o=n[e];else if(-1==r)i=n[e],o=n[t];else for(var l=t;e>=l;l++)null!=n[l]&&(i=d(i,n[l]),o=p(o,n[l]));return[i,o]}(e[i],Kt,Qt,r.sorted):[r.min,r.max];a.min=d(a.min,r.min=f[0]),a.max=p(a.max,r.max=f[1])}r.idxs[0]=Kt,r.idxs[1]=Qt})),t){var s=t[u],f=yn[u];if(null==s.from&&(null==f||null==f.min)){var c=s.range(o,s.min==b?null:s.min,s.max==-b?null:s.max,u);s.min=c[0],s.max=c[1]}}for(var v in t){var h=t[v];if(null!=h.from){var m=t[h.from],g=h.range(o,m.min,m.max,v);h.min=g[0],h.max=g[1]}}var w={},x=!1;for(var _ in t){var y=t[_],M=gn[_];M.min==y.min&&M.max==y.max||(M.min=y.min,M.max=y.max,w[_]=x=!0)}if(x){for(var k in Y.forEach((function(n){w[n.scale]&&(n._paths=null)})),w)xt=!0,rr("setScale",k);Rt.show&&(Ct=!0)}for(var S in yn)yn[S]=null}(),gt=!1),xt&&(function(){for(var n=!1,t=0;!n;){var e=ce(++t),r=ve(t);(n=e&&r)||(Bt(o.width,o.height),wt=!0)}}(),xt=!1),wt&&(fn(T,j,ot),fn(T,G,at),fn(T,V,rt),fn(T,L,it),fn(z,j,ot),fn(z,G,at),fn(z,V,rt),fn(z,L,it),fn(x,V,qn),fn(x,L,nt),s.width=h(qn*an),s.height=h(nt*an),Ue(),rr("setSize"),wt=!1),Rt.show&&Ct&&(Be(),Ct=!1),qn>0&&nt>0&&(f.clearRect(0,0,s.width,s.height),rr("drawClear"),function(){mn.forEach((function(n,t){if(n.show&&n._show){var e=gn[n.scale],r=n.side,i=r%2,l=0==i?Ft:At,a=0==i?ft:pt,u=0==i?ut:st,s=h(n.gap*an),c=n.ticks,v=c.show?h(c.size*an):0,m=n._found,d=m[0],p=m[1],g=n._splits,w=2==e.distr?g.map((function(n){return ne[n]})):g,x=2==e.distr?ne[g[1]]-ne[g[0]]:d,b=n._rotate*-_/180,y=h(n._pos*an),M=y+(v+s)*(0==i&&0==r||1==i&&3==r?-1:1),k=0==i?M:0,S=1==i?M:0;f.font=n.font[0],f.fillStyle=n.stroke||R,f.textAlign=1==n.align?j:2==n.align?B:b>0?j:0>b?B:0==i?"center":3==r?B:j,f.textBaseline=b||1==i?"middle":2==r?G:O;var T=1.5*n.font[1],z=g.map((function(n){return h(l(n,e,a,u))}));if(n._values.forEach((function(n,t){null!=n&&(0==i?S=z[t]:k=z[t],(""+n).split(/\n/gm).forEach((function(n,t){b?(f.save(),f.translate(S,k+t*T),f.rotate(b),f.fillText(n,0,0),f.restore()):f.fillText(n,S,k+t*T)})))})),n.label){f.save();var E=h(n._lpos*an);1==i?(S=k=0,f.translate(E,h(st+pt/2)),f.rotate((3==r?-_:_)/2)):(S=h(ut+ft/2),k=E),f.font=n.labelFont[0],f.textAlign="center",f.textBaseline=2==r?G:O,f.fillText(n.label,S,k),f.restore()}c.show&&fe(z,c.filter(o,w,t,p,x),i,r,y,v,D(c.width*an,3),c.stroke);var W=n.grid;W.show&&fe(z,W.filter(o,w,t,p,x),i,0==i?2:1,0==i?st:ut,0==i?pt:ft,D(W.width*an,3),W.stroke,W.dash)}})),rr("drawAxes")}(),Ut>0&&function(){Y.forEach((function(n,t){if(t>0&&n.show&&null==n._paths){var r=function(n){for(var t=M(Kt-1,0,Ut-1),e=M(Qt+1,0,Ut-1);null==n[t]&&t>0;)t--;for(;null==n[e]&&Ut-1>e;)e++;return[t,e]}(e[t]);n._paths=n.paths(o,t,r[0],r[1],ae,le)}})),Y.forEach((function(n,t){t>0&&n.show&&(n._paths&&function(n){var t=Y[n];if(1==oe){var e=t._paths,r=e.stroke,i=e.fill,o=e.clip,l=D(t.width*an,3),a=l%2/2;ie(t.stroke,l,t.dash,t.fill),f.globalAlpha=t.alpha,f.translate(a,a),f.save();var u=ut,s=st,c=ft,v=pt,h=l*an/2;0==t.min&&(v+=h),0==t.max&&(s-=h,v+=h),f.beginPath(),f.rect(u,s,c,v),f.clip(),null!=o&&f.clip(o),t.band?(f.fill(r),l&&f.stroke(r)):(null!=t.fill&&f.fill(i),l&&f.stroke(r)),f.restore(),f.translate(-a,-a),f.globalAlpha=1}t.band&&(oe*=-1)}(t),n.points.show(o,t,Kt,Qt)&&function(n){var t=Y[n],r=t.points,i=D(r.width*an,3),o=i%2/2,l=r.width>0,a=(r.size-r.width)/2*an,u=D(2*a,3);f.translate(o,o),f.save(),f.beginPath(),f.rect(ut-u,st-u,ft+2*u,pt+2*u),f.clip(),f.globalAlpha=t.alpha;for(var s=new Path2D,c=Kt;Qt>=c;c++)if(null!=e[n][c]){var v=h(Ft(e[0][c],gn[wn],ft,ut)),m=h(At(e[n][c],gn[t.scale],pt,st));s.moveTo(v+a,m),s.arc(v,m,a,0,2*_)}ie(r.stroke,i,null,r.fill||(l?"#fff":t.stroke)),f.fill(s),l&&f.stroke(s),f.globalAlpha=1,f.restore(),f.translate(-o,-o)}(t),rr("drawSeries",t))}))}(),rr("draw")),a||(a=!0,o.status=1,rr("ready")),ke=!1}function ze(t,r){var i=gn[t];if(null==i.from){if(0==Ut){var l=i.range(o,r.min,r.max,t);r.min=l[0],r.max=l[1]}if(Ut>1&&null!=r.min&&null!=r.max&&1e-16>r.max-r.min)return;t==wn&&2==i.distr&&Ut>0&&(r.min=n(r.min,e[0]),r.max=n(r.max,e[0])),yn[t]=r,gt=!0,Se()}}o.redraw=function(n){!1!==n?Ve(wn,gn[wn].min,gn[wn].max):Se()},o.setScale=ze;var De=!1,Ee=Rt.drag,We=Ee.x,Ye=Ee.y;Rt.show&&(Rt.x&&(ye=Rt.left,me=vn("u-cursor-x",z)),Rt.y&&(Me=Rt.top,de=vn("u-cursor-y",z)));var Ce,Ae,Fe,He=o.select=N({show:!0,over:!0,left:0,width:0,top:0,height:0},t.select),Pe=He.show?vn("u-select",He.over?z:T):null;function Ne(n,t){if(He.show){for(var e in n)fn(Pe,e,He[e]=n[e]);!1!==t&&rr("setSelect")}}function Ie(n){var t=Nn?In[n][0].parentNode:null;Y[n].show?t&&sn(t,tn):(t&&un(t,tn),Zt.length>1&&hn(Zt[n],-10,-10,rt,it))}function Ve(n,t,e){ze(n,{min:t,max:e})}function Le(n,t,e){var r=Y[n];if(null!=t.focus&&function(n){n!=Fe&&(Y.forEach((function(t,e){!function(n,t){var e=Y[n];Ge(n,t),e.band&&Ge(Y[n+1].band?n+1:n-1,t)}(e,null==n||0==e||e==n?1:Jt.alpha)})),Fe=n,Se())}(n),null!=t.show){if(r.show=t.show,Ie(n),r.band){var i=Y[n+1]&&Y[n+1].band?n+1:n-1;Y[i].show=r.show,Ie(i)}Ve(r.scale,null,null),Se()}rr("setSeries",n,t),e&&lr.pub("setSeries",o,n,t)}function Ge(n,t){Y[n].alpha=t,Rt.show&&Zt[n]&&(Zt[n].style.opacity=t),Nn&&In[n]&&(In[n][0].parentNode.style.opacity=t)}function Oe(n,t){var e=rt;t!=wn&&(n=(e=it)-n);var r=n/e,i=gn[t],o=i.min,l=i.max;return 3==i.distr?(o=w(o),l=w(l),g(10,o+(l-o)*r)):o+(l-o)*r}o.setSelect=Ne,o.setSeries=Le,Nn&&qt&&dn(K,zn,(function(){Rt._lock||(Le(null,{focus:!1},ir.setSeries),Be())})),o.valToIdx=function(t){return n(t,e[0])},o.posToIdx=function(t){return n(Oe(t,wn),e[0],Kt,Qt)},o.posToVal=Oe,o.valToPos=function(n,t,e){return t==wn?Ft(n,gn[t],e?ft:rt,e?ut:0):At(n,gn[t],e?pt:it,e?st:0)},o.batch=function(n){n(o),Se()},o.setCursor=function(n){ye=n.left,Me=n.top,Be()};var je=0;function Be(t,r){var i,l;if(je=0,_e=ye,be=Me,i=Rt.move(o,ye,Me),ye=i[0],Me=i[1],Rt.show&&(Rt.x&&hn(me,h(ye),0,rt,it),Rt.y&&hn(de,0,h(Me),rt,it)),Ce=b,0>ye||0==Ut||Kt>Qt){l=null;for(var u=0;Y.length>u;u++)if(u>0&&Zt.length>1&&hn(Zt[u],-10,-10,rt,it),Nn&&Pn.live){if(0==u&&Vn)continue;for(var s=0;In[u].length>s;s++)In[u][s].firstChild.nodeValue="--"}qt&&Le(null,{focus:!0},ir.setSeries)}else{var f=Oe(ye,wn);l=n(f,e[0],Kt,Qt);for(var v=gn[wn],m=D(Ft(e[0][l],v,rt,0),3),p=0;Y.length>p;p++){var g=Y[p],w=Rt.dataIdx(o,p,l,f),x=w==l?m:D(Ft(e[0][w],v,rt,0),3);if(p>0&&g.show){var _=e[p][w],y=null==_?-10:D(At(_,gn[g.scale],it,0),3);if(y>0){var M=c(y-Me);M>Ce||(Ce=M,Ae=p)}Zt.length>1&&hn(Zt[p],x,y,rt,it)}if(Nn&&Pn.live){if(w==Rt.idx&&!Ot||0==p&&Vn)continue;var k=0==p&&2==bn?ne:e[p],S=Vn?g.values(o,p,w):{_:g.value(o,k[w],p,w)},T=0;for(var z in S)In[p][T++].firstChild.nodeValue=S[z]}}Ot=!1}if(He.show&&De)if(null!=r){var E=ir.scales,W=E[0],C=E[1],A=r.cursor.drag;if(We=A._x,Ye=A._y,W){var F=gn[W],H=r.posToVal(r.select.left,W),P=r.posToVal(r.select.left+r.select.width,W);He.left=Ft(H,F,rt,0),He.width=c(He.left-Ft(P,F,rt,0)),fn(Pe,j,He.left),fn(Pe,V,He.width),C||(fn(Pe,G,He.top=0),fn(Pe,L,He.height=it))}if(C){var N=gn[C],I=r.posToVal(r.select.top,C),O=r.posToVal(r.select.top+r.select.height,C);He.top=At(I,N,it,0),He.height=c(He.top-At(O,N,it,0)),fn(Pe,G,He.top),fn(Pe,L,He.height),W||(fn(Pe,j,He.left=0),fn(Pe,V,He.width=rt))}}else{var B=c(_e-pe),R=c(be-ge);We=Ee.x&&B>=Ee.dist,Ye=Ee.y&&R>=Ee.dist;var U=Ee.uni;if(null!=U?We&&Ye&&(Ye=R>=U,(We=B>=U)||Ye||(R>B?Ye=!0:We=!0)):Ee.x&&Ee.y&&(We||Ye)&&(We=Ye=!0),We){var q=d(we,ye),Z=c(ye-we);fn(Pe,j,He.left=q),fn(Pe,V,He.width=Z),Ye||(fn(Pe,G,He.top=0),fn(Pe,L,He.height=it))}if(Ye){var X=d(xe,Me),K=c(Me-xe);fn(Pe,G,He.top=X),fn(Pe,L,He.height=K),We||(fn(Pe,j,He.left=0),fn(Pe,V,He.width=rt))}We||Ye||(fn(Pe,L,He.height=0),fn(Pe,V,He.width=0))}Rt.idx=l,Rt.left=ye,Rt.top=Me,Ee._x=We,Ee._y=Ye,null!=t&&(lr.pub(J,o,ye,Me,rt,it,l),qt&&Le(Ce>Jt.prox?null:Ae,{focus:!0},ir.setSeries)),a&&rr("setCursor")}var Re=null;function Ue(){Re=z.getBoundingClientRect()}function Je(n,t,e,r,i,o){Rt._lock||(qe(n,t,e,r,i,o,0,!1,null!=n),null!=n?0==je&&(je=rn(Be)):Be(null,t))}function qe(n,t,e,r,i,l,a,u,s){var f;if(null!=n)e=n.clientX-Re.left,r=n.clientY-Re.top;else{if(0>e||0>r)return ye=-10,void(Me=-10);var c=ir.scales,v=c[0],h=c[1];e=null!=v?Ft(t.posToVal(e,v),gn[v],rt,0):rt*(e/i),r=null!=h?At(t.posToVal(r,h),gn[h],it,0):it*(r/l)}s&&(e>1&&rt-1>e||(e=y(e,rt)),r>1&&it-1>r||(r=y(r,it))),u?(pe=e,ge=r,f=Rt.move(o,e,r),we=f[0],xe=f[1]):(ye=e,Me=r)}function Ze(){Ne({width:0,height:0},!1)}function Xe(n,t,e,r,i,l){De=!0,We=Ye=Ee._x=Ee._y=!1,qe(n,t,e,r,i,l,0,!0,!1),null!=n&&(Bn(Z,on,Ke),lr.pub(q,o,we,xe,rt,it,null))}function Ke(n,t,e,r,i,l){De=Ee._x=Ee._y=!1,qe(n,t,e,r,i,l,0,!1,!0);var a=He.width>0||He.height>0;if(a&&Ne(He),Ee.setScale&&a){if(We&&Ve(wn,Oe(He.left,wn),Oe(He.left+He.width,wn)),Ye)for(var u in gn){var s=gn[u];u!=wn&&null==s.from&&s.min!=b&&Ve(u,Oe(He.top+He.height,u),Oe(He.top,u))}Ze()}else Rt.lock&&(Rt._lock=!Rt._lock,Rt._lock||Be());null!=n&&(function(n,t){var e=jn.get(t)||{};pn(n,t,e[n]),e[n]=null}(Z,on),lr.pub(Z,o,ye,Me,rt,it,null))}function Qe(){if(!Rt._lock){var n=De;if(De){var t=!0,e=!0;if(We&&Ye&&(t=10>=ye||ye>=rt-10,e=10>=Me||Me>=it-10),We&&t){var r=ye,i=rt-ye,o=d(r,i);o==r&&(ye=0),o==i&&(ye=rt)}if(Ye&&e){var l=Me,a=it-Me,u=d(l,a);u==l&&(Me=0),u==a&&(Me=it)}Be(1),De=!1}ye=-10,Me=-10,Be(1),n&&(De=n)}}function $e(n){re(),Ze(),null!=n&&lr.pub(Q,o,ye,Me,rt,it,null)}var nr,tr={};tr.mousedown=Xe,tr.mousemove=Je,tr.mouseup=Ke,tr.dblclick=$e,tr.setSeries=function(n,t,e,r){Le(e,r)},Rt.show&&(Bn(q,z,Xe),Bn(J,z,Je),Bn(X,z,Ue),Bn(K,z,(function(){rn(Qe)})),Bn(Q,z,$e),nr=function(n){var t=null;function e(){t=null,n()}return function(){clearTimeout(t),t=setTimeout(e,100)}}(Ue),dn($,ln,nr),dn(nn,ln,nr),o.syncRect=Ue);var er=o.hooks=t.hooks||{};function rr(n,t,e){n in er&&er[n].forEach((function(n){n.call(null,o,t,e)}))}(t.plugins||[]).forEach((function(n){for(var t in n.hooks)er[t]=(er[t]||[]).concat(n.hooks[t])}));var ir=N({key:null,setSeries:!1,scales:[wn,null]},Rt.sync),or=ir.key,lr=null!=or?Dt[or]=Dt[or]||Et():Et();function ar(){rr("init",t,e),ee(e||t.data,!1),yn[wn]?ze(wn,yn[wn]):re(),jt(t.width,t.height),Ne(He,!1)}return lr.sub(o),o.pub=function(n,t,e,r,i,o,l){tr[n](null,t,e,r,i,o,l)},o.destroy=function(){lr.unsub(o),pn($,ln,nr),pn(nn,ln,nr),u.remove(),rr("destroy")},i?i instanceof HTMLElement?(i.appendChild(u),ar()):i(o,ar):ar(),o}return Ot.assign=N,Ot.fmtNum=s,Ot.rangeNum=l,Ot.rangeLog=r,Ot.fmtDate=Sn,Ot.tzDate=function(n,t){var e;return"Etc/UTC"==t?e=new Date(+n+6e4*n.getTimezoneOffset()):t==Tn?e=n:(e=new Date(n.toLocaleString("en-US",{timeZone:t}))).setMilliseconds(n.getMilliseconds()),e},Ot}();
/*! https://github.com/leeoniya/uPlot (v1.5.0) */
var uPlot=function(){"use strict";function n(n,t,e,r){var i;e=e||0;for(var o=2147483647>=(r=r||t.length-1);r-e>1;)n>t[i=o?e+r>>1:h((e+r)/2)]?e=i:r=i;return n-t[e]>t[r]-n?r:e}function t(n,t,e,r){for(var i=1==r?t:e;i>=t&&e>=i;i+=r)if(null!=n[i])return i;return-1}var e=[0,0];function r(n,t,r,i){return e[0]=0>r?P(n,-r):n,e[1]=0>i?P(t,-i):t,e}function i(n,t,e,i){var o,a,l,u=10==e?b:_;return n==t&&(n/=e,t*=e),i?(o=h(u(n)),a=p(u(t)),n=(l=r(w(e,o),w(e,a),o,a))[0],t=l[1]):(o=h(u(n)),a=h(u(t)),n=Y(n,(l=r(w(e,o),w(e,a),o,a))[0]),t=E(t,l[1])),[n,t]}var o={pad:0,soft:null,mode:0},a={min:o,max:o};function l(n,t,e,r){return N(e)?s(n,t,e):(o.pad=e,o.soft=r?0:null,o.mode=r?2:0,s(n,t,a))}function u(n,t){return null==n?t:n}function s(n,t,e){var r=e.min,i=e.max,o=u(r.pad,0),a=u(i.pad,0),l=u(r.hard,-M),s=u(i.hard,M),f=u(r.soft,M),c=u(i.soft,-M),d=u(r.mode,0),p=u(i.mode,0),x=t-n,_=x||v(t)||1e3,y=b(_),T=w(10,h(y)),k=P(Y(n-_*(0==x?0==n?.1:1:o),T/100),6),S=n>=f&&(1==d||2==d&&f>k)?f:M,D=g(l,S>k&&n>=S?S:m(S,k)),z=P(E(t+_*(0==x?0==t?.1:1:a),T/100),6),W=c>=t&&(1==p||2==p&&z>c)?c:-M,A=m(s,z>W&&W>=t?W:g(W,z));return D==A&&0==D&&(A=100),[D,A]}var f=new Intl.NumberFormat(navigator.language).format,c=Math,v=c.abs,h=c.floor,d=c.round,p=c.ceil,m=c.min,g=c.max,w=c.pow,x=c.sqrt,b=c.log10,_=c.log2,y=c.PI,M=1/0;function T(n,t){return d(n/t)*t}function k(n,t,e){return m(g(n,t),e)}function S(n){return"function"==typeof n?n:function(){return n}}var D=function(n,t){return t},z=function(){return null};function E(n,t){return p(n/t)*t}function Y(n,t){return h(n/t)*t}function P(n,t){return d(n*(t=Math.pow(10,t)))/t}var W=new Map;function A(n){return((""+n).split(".")[1]||"").length}function C(n,t,e,r){for(var i=[],o=r.map(A),a=t;e>a;a++)for(var l=v(a),u=P(w(n,a),l),s=0;r.length>s;s++){var f=r[s]*u,c=(0>f||0>a?l:0)+(o[s]>a?o[s]:0),h=P(f,c);i.push(h),W.set(h,c)}return i}var F={},G=Array.isArray;function H(n){return"string"==typeof n}function N(n){var t=!1;if(null!=n){var e=n.constructor;t=null==e||e==Object}return t}function I(n){var t;if(G(n))t=n.map(I);else if(N(n))for(var e in t={},n)t[e]=I(n[e]);else t=n;return t}function V(n){for(var t=arguments,e=1;t.length>e;e++){var r=t[e];for(var i in r)N(n[i])?V(n[i],I(r[i])):n[i]=I(r[i])}return n}var L="undefined"==typeof queueMicrotask?function(n){return Promise.resolve().then(n)}:queueMicrotask,O="width",j="height",B="top",R="bottom",U="left",q="right",J="#000",X="#0000",Z="mousemove",K="mousedown",Q="mouseup",$="mouseenter",nn="mouseleave",tn="dblclick",en="resize",rn="scroll",on="u-off",an="u-label",ln=requestAnimationFrame,un=document,sn=window,fn=devicePixelRatio;function cn(n,t){null!=t&&n.classList.add(t)}function vn(n,t){n.classList.remove(t)}function hn(n,t,e){n.style[t]=e+"px"}function dn(n,t,e,r){var i=un.createElement(n);return null!=t&&cn(i,t),null!=e&&e.insertBefore(i,r),i}function pn(n,t){return dn("div",n,t)}function mn(n,t,e,r,i){n.style.transform="translate("+t+"px,"+e+"px)",0>t||0>e||t>r||e>i?cn(n,on):vn(n,on)}var gn={passive:!0};function wn(n,t,e){t.addEventListener(n,e,gn)}function xn(n,t,e){t.removeEventListener(n,e,gn)}var bn=["January","February","March","April","May","June","July","August","September","October","November","December"],_n=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function yn(n){return n.slice(0,3)}var Mn=_n.map(yn),Tn=bn.map(yn),kn={MMMM:bn,MMM:Tn,WWWW:_n,WWW:Mn};function Sn(n){return(10>n?"0":"")+n}var Dn={YYYY:function(n){return n.getFullYear()},YY:function(n){return(n.getFullYear()+"").slice(2)},MMMM:function(n,t){return t.MMMM[n.getMonth()]},MMM:function(n,t){return t.MMM[n.getMonth()]},MM:function(n){return Sn(n.getMonth()+1)},M:function(n){return n.getMonth()+1},DD:function(n){return Sn(n.getDate())},D:function(n){return n.getDate()},WWWW:function(n,t){return t.WWWW[n.getDay()]},WWW:function(n,t){return t.WWW[n.getDay()]},HH:function(n){return Sn(n.getHours())},H:function(n){return n.getHours()},h:function(n){var t=n.getHours();return 0==t?12:t>12?t-12:t},AA:function(n){return 12>n.getHours()?"AM":"PM"},aa:function(n){return 12>n.getHours()?"am":"pm"},a:function(n){return 12>n.getHours()?"a":"p"},mm:function(n){return Sn(n.getMinutes())},m:function(n){return n.getMinutes()},ss:function(n){return Sn(n.getSeconds())},s:function(n){return n.getSeconds()},fff:function(n){return function(n){return(10>n?"00":100>n?"0":"")+n}(n.getMilliseconds())}};function zn(n,t){t=t||kn;for(var e,r=[],i=/\{([a-z]+)\}|[^{]+/gi;e=i.exec(n);)r.push("{"==e[0][0]?Dn[e[1]]:e[0]);return function(n){for(var e="",i=0;r.length>i;i++)e+="string"==typeof r[i]?r[i]:r[i](n,t);return e}}var En=(new Intl.DateTimeFormat).resolvedOptions().timeZone,Yn=function(n){return n%1==0},Pn=[1,2,2.5,5],Wn=C(10,-16,0,Pn),An=C(10,0,16,Pn),Cn=An.filter(Yn),Fn=Wn.concat(An),Gn="{YYYY}",Hn="\n"+Gn,Nn="{M}/{D}",In="\n"+Nn,Vn=In+"/{YY}",Ln="{aa}",On="{h}:{mm}"+Ln,jn="\n"+On,Bn=":{ss}",Rn=null;function Un(n){var t=1e3*n,e=60*t,r=60*e,i=24*r,o=30*i,a=365*i;return[(1==n?C(10,0,3,Pn).filter(Yn):C(10,-3,0,Pn)).concat([t,5*t,10*t,15*t,30*t,e,5*e,10*e,15*e,30*e,r,2*r,3*r,4*r,6*r,8*r,12*r,i,2*i,3*i,4*i,5*i,6*i,7*i,8*i,9*i,10*i,15*i,o,2*o,3*o,4*o,6*o,a,2*a,5*a,10*a,25*a,50*a,100*a]),[[a,Gn,Rn,Rn,Rn,Rn,Rn,Rn,1],[28*i,"{MMM}",Hn,Rn,Rn,Rn,Rn,Rn,1],[i,Nn,Hn,Rn,Rn,Rn,Rn,Rn,1],[r,"{h}"+Ln,Vn,Rn,In,Rn,Rn,Rn,1],[e,On,Vn,Rn,In,Rn,Rn,Rn,1],[t,Bn,Vn+" "+On,Rn,In+" "+On,Rn,jn,Rn,1],[n,Bn+".{fff}",Vn+" "+On,Rn,In+" "+On,Rn,jn,Rn,1]],function(t){return function(l,u,s,f,c,v){var d=[],p=c>=a,m=c>=o&&a>c,g=t(s),w=g*n,x=rt(g.getFullYear(),p?0:g.getMonth(),m||p?1:g.getDate()),b=x*n;if(m||p)for(var _=m?c/o:0,y=p?c/a:0,M=w==b?w:rt(x.getFullYear()+y,x.getMonth()+_,1)*n,T=new Date(M/n),k=T.getFullYear(),S=T.getMonth(),D=0;f>=M;D++){var z=rt(k+y*D,S+_*D,1);(M=(+z+(z-t(z*n)))*n)>f||d.push(M)}else{var Y=i>c?c:i,W=b+(h(s)-h(w))+E(w-b,Y);d.push(W);for(var A=t(W),C=A.getHours()+A.getMinutes()/e+A.getSeconds()/r,F=c/r,G=v/l.axes[u]._space;(W=P(W+c,1==n?0:3))<=f;)if(F>1){var H=h(P(C+F,6))%24,N=t(W).getHours()-H;N>1&&(N=-1),C=(C+F)%24,.7>P(((W-=N*r)-d[d.length-1])/c,3)*G||d.push(W)}else d.push(W)}return d}}]}var qn=Un(1),Jn=qn[0],Xn=qn[1],Zn=qn[2],Kn=Un(.001),Qn=Kn[0],$n=Kn[1],nt=Kn[2];function tt(n,t){return n.map((function(n){return n.map((function(e,r){return 0==r||8==r||null==e?e:t(1==r||0==n[8]?e:n[1]+e)}))}))}function et(n,t){return function(e,r,i,o,a){var l,u,s,f,c,v,h=t.find((function(n){return a>=n[0]}))||t[t.length-1];return r.map((function(t){var e=n(t),r=e.getFullYear(),i=e.getMonth(),o=e.getDate(),a=e.getHours(),d=e.getMinutes(),p=e.getSeconds(),m=r!=l&&h[2]||i!=u&&h[3]||o!=s&&h[4]||a!=f&&h[5]||d!=c&&h[6]||p!=v&&h[7]||h[1];return l=r,u=i,s=o,f=a,c=d,v=p,m(e)}))}}function rt(n,t,e){return new Date(n,t,e)}function it(n,t){return t(n)}function ot(n,t){return function(e,r){return t(n(r))}}C(2,-53,53,[1]);var at=[0,0];function lt(n,t,e){return function(n){0==n.button&&e(n)}}function ut(n,t,e){return e}var st={show:!0,x:!0,y:!0,lock:!1,move:function(n,t,e){return at[0]=t,at[1]=e,at},points:{show:function(n,t){var e=n.series[t],r=pn();r.style.background=e.stroke||J;var i=St(e.width,1),o=(i-1)/-2;return hn(r,O,i),hn(r,j,i),hn(r,"marginLeft",o),hn(r,"marginTop",o),r}},bind:{mousedown:lt,mouseup:lt,click:lt,dblclick:lt,mousemove:ut,mouseleave:ut,mouseenter:ut},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,_x:!1,_y:!1},focus:{prox:-1},left:-10,top:-10,idx:null,dataIdx:function(n,t,e){return e}},ft={show:!0,stroke:"rgba(0,0,0,0.07)",width:2,filter:D},ct=V({},ft,{size:10}),vt='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',ht="bold "+vt,dt={show:!0,scale:"x",space:50,gap:5,size:50,labelSize:30,labelFont:ht,side:2,grid:ft,ticks:ct,font:vt,rotate:0},pt={show:!0,scale:"x",auto:!1,sorted:1,min:M,max:-M,idxs:[]};function mt(n,t){return t.map((function(n){return null==n?"":f(n)}))}function gt(n,t,e,r,i,o,a){for(var l=[],u=W.get(i)||0,s=e=a?e:P(E(e,i),u);r>=s;s=P(s+i,u))l.push(Object.is(s,-0)?0:s);return l}function wt(n,t,e,r,i){var o=[],a=n.scales[n.axes[t].scale].log,l=h((10==a?b:_)(e));i=w(a,l),0>l&&(i=P(i,-l));var u=e;do{o.push(u),i*a>(u=P(u+i,W.get(i)))||(i=u)}while(r>=u);return o}var xt=/./,bt=/[12357]/,_t=/[125]/,yt=/1/;function Mt(n,t,e){var r=n.axes[e],i=r.scale;if(2==n.scales[i].log)return t;var o=n.valToPos,a=r._space,l=o(10,i),u=o(9,i)-l<a?o(7,i)-l<a?o(5,i)-l<a?yt:_t:bt:xt;return t.map((function(n){return u.test(n)?n:null}))}function Tt(n,t){return null==t?"":f(t)}var kt={show:!0,scale:"y",space:30,gap:5,size:50,labelSize:30,labelFont:ht,side:3,grid:ft,ticks:ct,font:vt,rotate:0};function St(n,t){return P((3+2*(n||1))*t,3)}function Dt(n,t){var e=n.scales[n.series[t].scale];return 3==e.distr?e.min:0}var zt={scale:"y",auto:!0,sorted:0,show:!0,band:!1,spanGaps:!1,isGap:function(){return!0},alpha:1,points:{show:function(n,t){var e=n.series[t],r=(St(e.width,fn),n.series[0].idxs);return n.bbox.width/(e.points.space*fn)>=r[1]-r[0]}},values:null,min:M,max:-M,idxs:[],path:null,clip:null};function Et(n,t,e){return e/10}var Yt={time:!0,auto:!0,distr:1,log:10,min:null,max:null},Pt=V({},Yt,{time:!1}),Wt={};function At(){var n=[];return{sub:function(t){n.push(t)},unsub:function(t){n=n.filter((function(n){return n!=t}))},pub:function(t,e,r,i,o,a,l){n.length>1&&n.forEach((function(n){n!=e&&n.pub(t,e,r,i,o,a,l)}))}}}var Ct=[,,,,,,,,,,,];function Ft(n,t){var e=n.series[t],r=n.scales,i=n.bbox;return Ct[0]=e,Ct[1]=n._data[0],Ct[2]=n._data[t],Ct[3]=r[n.series[0].scale],Ct[4]=r[e.scale],Ct[5]=n.valToPosX,Ct[6]=n.valToPosY,Ct[7]=i.left,Ct[8]=i.top,Ct[9]=i.width,Ct[10]=i.height,Ct}function Gt(n,t,e,r,i,o){var a=null;if(n.length>0&&(a=new Path2D,1==t)){for(var l=e,u=0;n.length>u;u++){var s=n[u];a.rect(l,r,s[0]-l,r+o),l=s[1]}a.rect(l,r,e+i-l,r+o)}return a}function Ht(n,t,e){if(e>t){var r=n[n.length-1];r&&r[0]==t?r[1]=e:n.push([t,e])}}var Nt=1;function It(){return function(n,e,r,i){var o,a,l=Ft(n,e),u=l[0],s=l[1],f=l[2],c=l[3],v=l[4],h=l[5],p=l[6],w=l[7],x=l[8],b=l[9],_=l[10],y=u.isGap,k=1==Nt?{stroke:new Path2D,fill:null,clip:null}:n.series[e-1]._paths,S=k.stroke,D=P(u.width*fn,3),z=M,E=-M,Y=[],W=d(h(s[1==Nt?r:i],c,b,w)),A=!1,C=t(f,r,i,1),F=t(f,r,i,-1),G=T(h(s[C],c,b,w),.5),H=T(h(s[F],c,b,w),.5);G>w&&Ht(Y,w,G),u.band&&1==Nt&&S.lineTo(G-2*D,d(p(f[r],v,_,x)));for(var N=1==Nt?r:i;N>=r&&i>=N;N+=Nt){var I=d(h(s[N],c,b,w));if(I==W)null!=f[N]?(o=d(p(f[N],v,_,x)),z=m(o,z),E=g(o,E)):!A&&y(n,e,N)&&(A=!0);else{var V=!1;z!=M?(S.lineTo(W,z),S.lineTo(W,E),S.lineTo(W,o),a=W):A&&(V=!0,A=!1),null!=f[N]?(o=d(p(f[N],v,_,x)),S.lineTo(I,o),z=E=o,I-W>1&&null==f[N-1]&&y(n,e,N-1)&&(V=!0)):(z=M,E=-M,!A&&y(n,e,N)&&(A=!0)),V&&Ht(Y,a,I),W=I}}if(w+b>H&&Ht(Y,H,w+b),u.band){var L,O,j,B=n._data;1==Nt?(L=H+2*D,O=F,j=B[e+1]):(L=G-2*D,O=C,j=B[e-1]),S.lineTo(L,d(p(f[O],v,_,x))),S.lineTo(L,d(p(j[O],v,_,x)))}if(1==Nt&&(u.spanGaps||(k.clip=Gt(Y,1,w,x,b,_)),null!=u.fill)){var R=k.fill=new Path2D(S),U=d(p(u.fillTo(n,e,u.min,u.max),v,_,x));R.lineTo(H,U),R.lineTo(G,U)}return u.band&&(Nt*=-1),k}}var Vt=It();function Lt(n,t,e,r){return(r?[n[0],n[1]].concat(n.slice(2)):[n[0]].concat(n.slice(1))).map((function(n,r){return Ot(n,r,t,e)}))}function Ot(n,t,e,r){return V({},0==t||n&&n.side%2==0?e:r,n)}var jt=[null,null];function Bt(n,t,e){return null==t?jt:[t,e]}var Rt=Bt;function Ut(n,t,e){return null==t?jt:l(t,e,.1,!0)}function qt(n,t,e,r){return null==t?jt:i(t,e,n.scales[r].log,!1)}var Jt=qt;function Xt(n){var t;return[n=n.replace(/(\d+)px/,(function(n,e){return(t=d(e*fn))+"px"})),t]}function Zt(t,e,r){var o={};function a(n,t){return 3==t.distr?b((n>0?n:t.clamp(o,n,t.min,t.max,t.key))/t.min)/b(t.max/t.min):(n-t.min)/(t.max-t.min)}function s(n,t,e,r){return r+a(n,t)*e}function f(n,t,e,r){return r+(1-a(n,t))*e}o.valToPosX=s,o.valToPosY=f;var c=!1;o.status=0;var x=o.root=pn("uplot");null!=t.id&&(x.id=t.id),cn(x,t.class),t.title&&(pn("u-title",x).textContent=t.title);var _=dn("canvas"),E=o.ctx=_.getContext("2d"),Y=pn("u-wrap",x),A=pn("u-under",Y);Y.appendChild(_);var C=pn("u-over",Y);((t=I(t)).plugins||[]).forEach((function(n){n.opts&&(t=n.opts(o,t)||t)}));var gn=t.ms||.001,bn=o.series=Lt(t.series||[],pt,zt,!1),_n=o.axes=Lt(t.axes||[],dt,kt,!0),yn=o.scales={},Mn=bn[0].scale,Tn={axes:function(){_n.forEach((function(n,t){if(n.show&&n._show){var e=yn[n.scale],r=n.side,i=r%2,a=0==i?s:f,l=0==i?_t:yt,u=0==i?xt:bt,c=d(n.gap*fn),v=n.ticks,h=v.show?d(v.size*fn):0,p=n._found,m=p[0],g=p[1],w=n._splits,x=2==e.distr?w.map((function(n){return fe[n]})):w,b=2==e.distr?fe[w[1]]-fe[w[0]]:m,_=n._rotate*-y/180,M=d(n._pos*fn),T=M+(h+c)*(0==i&&0==r||1==i&&3==r?-1:1),k=0==i?T:0,S=1==i?T:0;E.font=n.font[0],E.fillStyle=n.stroke||J,E.textAlign=1==n.align?U:2==n.align?q:_>0?U:0>_?q:0==i?"center":3==r?q:U,E.textBaseline=_||1==i?"middle":2==r?B:R;var D=1.5*n.font[1],z=w.map((function(n){return d(a(n,e,l,u))}));if(n._values.forEach((function(n,t){null!=n&&(0==i?S=z[t]:k=z[t],(""+n).split(/\n/gm).forEach((function(n,t){_?(E.save(),E.translate(S,k+t*D),E.rotate(_),E.fillText(n,0,0),E.restore()):E.fillText(n,S,k+t*D)})))})),n.label){E.save();var Y=d(n._lpos*fn);1==i?(S=k=0,E.translate(Y,d(bt+yt/2)),E.rotate((3==r?-y:y)/2)):(S=d(xt+_t/2),k=Y),E.font=n.labelFont[0],E.textAlign="center",E.textBaseline=2==r?B:R,E.fillText(n.label,S,k),E.restore()}v.show&&me(z,v.filter(o,x,t,g,b),i,r,M,h,P(v.width*fn,3),v.stroke);var W=n.grid;W.show&&me(z,W.filter(o,x,t,g,b),i,0==i?2:1,0==i?bt:xt,0==i?yt:_t,P(W.width*fn,3),W.stroke,W.dash)}})),sr("drawAxes")},series:function(){ie>0&&(bn.forEach((function(n,t){if(t>0&&n.show&&null==n._paths){var r=function(n){for(var t=k(le-1,0,ie-1),e=k(ue+1,0,ie-1);null==n[t]&&t>0;)t--;for(;null==n[e]&&ie-1>e;)e++;return[t,e]}(e[t]);n._paths=n.paths(o,t,r[0],r[1])}})),bn.forEach((function(n,t){t>0&&n.show&&(n._paths&&function(n){var t=bn[n];if(1==pe){var e=t._paths,r=e.stroke,i=e.fill,o=e.clip,a=P(t.width*fn,3),l=a%2/2;de(t.stroke,a,t.dash,t.fill),E.globalAlpha=t.alpha,E.translate(l,l),E.save();var u=xt,s=bt,f=_t,c=yt,v=a*fn/2;0==t.min&&(c+=v),0==t.max&&(s-=v,c+=v),E.beginPath(),E.rect(u,s,f,c),E.clip(),null!=o&&E.clip(o),t.band?(E.fill(r),a&&E.stroke(r)):(null!=t.fill&&E.fill(i),a&&E.stroke(r)),E.restore(),E.translate(-l,-l),E.globalAlpha=1}t.band&&(pe*=-1)}(t),n.points.show(o,t,le,ue)&&function(n){var t=bn[n],r=t.points,i=P(r.width*fn,3),o=i%2/2,a=r.width>0,l=(r.size-r.width)/2*fn,u=P(2*l,3);E.translate(o,o),E.save(),E.beginPath(),E.rect(xt-u,bt-u,_t+2*u,yt+2*u),E.clip(),E.globalAlpha=t.alpha;for(var c=new Path2D,v=le;ue>=v;v++)if(null!=e[n][v]){var h=d(s(e[0][v],yn[Mn],_t,xt)),p=d(f(e[n][v],yn[t.scale],yt,bt));c.moveTo(h+l,p),c.arc(h,p,l,0,2*y)}de(r.stroke,i,null,r.fill||(a?"#fff":t.stroke)),E.fill(c),a&&E.stroke(c),E.globalAlpha=1,E.restore(),E.translate(-o,-o)}(t),sr("drawSeries",t))})))}},kn=(t.drawOrder||["axes","series"]).map((function(n){return Tn[n]}));function Sn(n){var e=yn[n];if(null==e){var r=(t.scales||F)[n]||F;if(null!=r.from)Sn(r.from),yn[n]=V({},yn[r.from],r);else{(e=yn[n]=V({},n==Mn?Yt:Pt,r)).key=n;var i=e.time,o=3==e.distr,a=e.range;if(n!=Mn&&!G(a)&&N(a)){var u=a;a=function(n,t,e){return null==t?jt:l(t,e,u)}}e.range=S(a||(i?Rt:n==Mn?o?Jt:Bt:o?qt:Ut)),e.auto=S(e.auto),e.clamp=S(e.clamp||Et)}}}for(var Dn in Sn("x"),Sn("y"),bn.forEach((function(n){Sn(n.scale)})),t.scales)Sn(Dn);var En=yn[Mn].distr,Yn={};for(var Pn in yn){var Wn=yn[Pn];null==Wn.min&&null==Wn.max||(Yn[Pn]={min:Wn.min,max:Wn.max})}var An,Gn,Hn=t.tzDate||function(n){return new Date(n/gn)},Nn=t.fmtDate||zn,In=1==gn?Zn(Hn):nt(Hn),Vn=et(Hn,tt(1==gn?Xn:$n,Nn)),Ln=ot(Hn,it("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",Nn)),On=V({show:!0,live:!0},t.legend),jn=On.show,Bn=[],Rn=!1;if(jn){An=dn("table","u-legend",x);var Un=bn[1]?bn[1].values:null;if(Rn=null!=Un){var qn=dn("tr","u-thead",An);for(var Kn in dn("th",null,qn),Gn=Un(o,1,0))dn("th",an,qn).textContent=Kn}else Gn={_:0},cn(An,"u-inline"),On.live&&cn(An,"u-live")}var rt=new Map;function at(n,t,e){var r=rt.get(t)||{},i=Kt.bind[n](o,t,e);i&&(wn(n,t,r[n]=i),rt.set(t,r))}var lt=0,ut=0,ft=0,ct=0,vt=0,ht=0,xt=0,bt=0,_t=0,yt=0;o.bbox={};var Ct=!1,Ft=!1,Gt=!1,Ht=!1,Nt=!1;function It(n,t){n==o.width&&t==o.height||Zt(n,t),xe(!1),Gt=!0,Ft=!0,Ht=!0,Nt=!0,Pe()}function Zt(n,t){o.width=lt=ft=n,o.height=ut=ct=t,vt=ht=0,function(){var n=!1,t=!1,e=!1,r=!1;_n.forEach((function(i){if(i.show&&i._show){var o=i.side,a=o%2,l=i._size+(i.labelSize=null!=i.label?i.labelSize||30:0);l>0&&(a?(ft-=l,3==o?(vt+=l,r=!0):e=!0):(ct-=l,0==o?(ht+=l,n=!0):t=!0))}})),ee[0]=n,ee[1]=e,ee[2]=t,ee[3]=r,ft-=ae[1]+ae[3],vt+=ae[3],ct-=ae[2]+ae[0],ht+=ae[0]}(),function(){var n=vt+ft,t=ht+ct,e=vt,r=ht;function i(i,o){switch(i){case 1:return(n+=o)-o;case 2:return(t+=o)-o;case 3:return(e-=o)+o;case 0:return(r-=o)+o}}_n.forEach((function(n){if(n.show&&n._show){var t=n.side;n._pos=i(t,n._size),null!=n.label&&(n._lpos=i(t,n.labelSize))}}))}();var e=o.bbox;xt=e.left=T(vt*fn,.5),bt=e.top=T(ht*fn,.5),_t=e.width=T(ft*fn,.5),yt=e.height=T(ct*fn,.5)}o.setSize=function(n){It(n.width,n.height)};var Kt=o.cursor=V({},st,t.cursor);Kt._lock=!1,Kt.points.show=S(Kt.points.show);var Qt=o.focus=V({},t.focus||{alpha:.3},Kt.focus),$t=Qt.prox>=0,ne=[null];function te(n,t){var e=yn[n.scale].time,r=n.value;if(n.value=e?H(r)?ot(Hn,it(r,Nn)):r||Ln:r||Tt,n.label=n.label||(e?"Time":"Value"),t>0){n.width=null==n.width?1:n.width,n.paths=n.paths||Vt||z,n.fillTo=n.fillTo||Dt;var i=St(n.width,1);n.points=V({},{size:i,width:g(1,.2*i),stroke:n.stroke,space:2*i},n.points),n.points.show=S(n.points.show),n._paths=null}if(jn&&Bn.splice(t,0,function(n,t){if(0==t&&(Rn||!On.live))return null;var e=[],r=dn("tr","u-series",An,An.childNodes[t]);cn(r,n.class),n.show||cn(r,on);var i=dn("th",null,r),o=pn("u-marker",i);o.style.borderColor=n.width?n.stroke:t>0&&n.points.width?n.points.stroke:null,o.style.backgroundColor=n.fill||null;var a=pn(an,i);for(var l in a.textContent=n.label,t>0&&(at("click",i,(function(){Kt._lock||Ue(bn.indexOf(n),{show:!n.show},fr.setSeries)})),$t&&at($,i,(function(){Kt._lock||Ue(bn.indexOf(n),{focus:!0},fr.setSeries)}))),Gn){var u=dn("td","u-value",r);u.textContent="--",e.push(u)}return e}(n,t)),Kt.show){var a=function(n,t){if(t>0){var e=Kt.points.show(o,t);if(e)return cn(e,"u-cursor-pt"),cn(e,n.class),mn(e,-10,-10,ft,ct),C.insertBefore(e,ne[t]),e}}(n,t);a&&ne.splice(t,0,a)}}o.addSeries=function(n,t){n=Ot(n,t=null==t?bn.length:t,pt,zt),bn.splice(t,0,n),te(bn[t],t)},o.delSeries=function(n){bn.splice(n,1),jn&&Bn.splice(n,1)[0][0].parentNode.remove(),ne.length>1&&ne.splice(n,1)[0].remove()},bn.forEach(te);var ee=[!1,!1,!1,!1];function re(n,t,e){var r=e[0],i=e[1],o=e[2],a=e[3],l=t%2,u=0;return 0==l&&(a||i)&&(u=0==t&&!r||2==t&&!o?d(dt.size/3):0),1==l&&(r||o)&&(u=1==t&&!i||3==t&&!a?d(kt.size/2):0),u}_n.forEach((function(n,t){if(n._show=n.show,n.show){var e=yn[n.scale];null==e&&(n.scale=n.side%2?bn[1].scale:Mn,e=yn[n.scale]);var r=e.time;n.size=S(n.size),n.space=S(n.space),n.rotate=S(n.rotate),n.incrs=S(n.incrs||(2==e.distr?Cn:r?1==gn?Jn:Qn:Fn)),n.splits=S(n.splits||(r&&1==e.distr?In:3==e.distr?wt:gt));var i=n.values;n.values=r?G(i)?et(Hn,tt(i,Nn)):H(i)?function(n,t){var e=zn(t);return function(t,r){return r.map((function(t){return e(n(t))}))}}(Hn,i):i||Vn:i||mt,n.filter=S(n.filter||(3==e.distr?Mt:D)),n.font=Xt(n.font),n.labelFont=Xt(n.labelFont),n._size=n.size(o,null,t,0),n._space=n._rotate=n._incrs=n._found=n._splits=n._values=null,n._size>0&&(ee[t]=!0)}}));var ie,oe=o.padding=(t.padding||[re,re,re,re]).map((function(n){return S(u(n,re))})),ae=o._padding=oe.map((function(n,t){return n(o,t,ee,0)})),le=null,ue=null,se=bn[0].idxs,fe=null,ce=!1;function ve(n,t){if(!G(n)&&N(n)&&(n.isGap&&bn.forEach((function(t){t.isGap=n.isGap})),n=n.data),(n=n||[])[0]=n[0]||[],o.data=n,e=n.slice(),ie=(fe=e[0]).length,2==En&&(e[0]=fe.map((function(n,t){return t}))),o._data=e,xe(!0),sr("setData"),!1!==t){var r=yn[Mn];r.auto(o,ce)?he():Re(Mn,r.min,r.max),Ht=!0,Nt=!0,Pe()}}function he(){var n,t,r,o;ce=!0,ie>0?(le=se[0]=0,ue=se[1]=ie-1,r=e[0][le],o=e[0][ue],2==En?(r=le,o=ue):1==ie&&(3==En?(r=(n=i(r,r,yn[Mn].log,!1))[0],o=n[1]):yn[Mn].time?o=r+86400/gn:(r=(t=l(r,o,.1,!0))[0],o=t[1]))):(le=se[0]=r=null,ue=se[1]=o=null),Re(Mn,r,o)}function de(n,t,e,r){E.strokeStyle=n||X,E.lineWidth=t,E.lineJoin="round",E.setLineDash(e||[]),E.fillStyle=r||X}o.setData=ve;var pe=1;function me(n,t,e,r,i,o,a,l,u){var s=a%2/2;E.translate(s,s),de(l,a,u),E.beginPath();var f,c,v,h,d=i+(0==r||3==r?-o:o);0==e?(c=i,h=d):(f=i,v=d),n.forEach((function(n,r){null!=t[r]&&(0==e?f=v=n:c=h=n,E.moveTo(f,c),E.lineTo(v,h))})),E.stroke(),E.translate(-s,-s)}function ge(n){var t=!0;return _n.forEach((function(e,r){if(e.show){var i=yn[e.scale];if(null!=i.min){e._show||(t=!1,e._show=!0,xe(!1));var a=e.side,l=i.min,u=i.max,s=function(n,t,e,r){var i,a=_n[n];if(r>0){var l=a._space=a.space(o,n,t,e,r),u=a._incrs=a.incrs(o,n,t,e,r,l);i=a._found=function(n,t,e,r,i){for(var o=r/(t-n),a=(""+h(n)).length,l=0;e.length>l;l++){var u=e[l]*o,s=10>e[l]?W.get(e[l]):0;if(u>=i&&17>a+s)return[e[l],u]}return[0,0]}(t,e,u,r,l)}else i=[0,0];return i}(r,l,u,0==a%2?ft:ct),f=s[0],c=s[1];if(0!=c){var v=e._splits=e.splits(o,r,l,u,f,c,2==i.distr),d=2==i.distr?v.map((function(n){return fe[n]})):v,m=2==i.distr?fe[v[1]]-fe[v[0]]:f,g=e._values=e.values(o,e.filter(o,d,r,c,m),r,c,m);e._rotate=2==a?e.rotate(o,g,r,c):0;var w=e._size;e._size=p(e.size(o,g,r,n)),null!=w&&e._size!=w&&(t=!1)}}else e._show&&(t=!1,e._show=!1,xe(!1))}})),t}function we(n){var t=!0;return oe.forEach((function(e,r){var i=e(o,r,ee,n);i!=ae[r]&&(t=!1),ae[r]=i})),t}function xe(n){bn.forEach((function(t,e){e>0&&(t._paths=null,n&&(t.min=null,t.max=null))}))}var be,_e,ye,Me,Te,ke,Se,De,ze,Ee,Ye=!1;function Pe(){Ye||(L(We),Ye=!0)}function We(){Ct&&(function(){var t=I(yn);for(var r in t){var i=t[r],a=Yn[r];if(null!=a&&null!=a.min)V(i,a),r==Mn&&xe(!0);else if(r!=Mn)if(0==ie&&null==i.from){var l=i.range(o,null,null,r);i.min=l[0],i.max=l[1]}else i.min=M,i.max=-M}if(ie>0)for(var u in bn.forEach((function(r,i){var a=r.scale,l=t[a],u=Yn[a];if(0==i){var s=l.range(o,l.min,l.max,a);l.min=s[0],l.max=s[1],le=n(l.min,e[0]),ue=n(l.max,e[0]),l.min>e[0][le]&&le++,e[0][ue]>l.max&&ue--,r.min=fe[le],r.max=fe[ue]}else if(r.show&&r.auto&&l.auto(o,ce)&&(null==u||null==u.min)){var f=null==r.min?3==l.distr?function(n,t,e){for(var r=M,i=-M,o=t;e>=o;o++)n[o]>0&&(r=m(r,n[o]),i=g(i,n[o]));return[r==M?1:r,i==-M?10:i]}(e[i],le,ue):function(n,t,e,r){var i=M,o=-M;if(1==r)i=n[t],o=n[e];else if(-1==r)i=n[e],o=n[t];else for(var a=t;e>=a;a++)null!=n[a]&&(i=m(i,n[a]),o=g(o,n[a]));return[i,o]}(e[i],le,ue,r.sorted):[r.min,r.max];l.min=m(l.min,r.min=f[0]),l.max=g(l.max,r.max=f[1])}r.idxs[0]=le,r.idxs[1]=ue})),t){var s=t[u],f=Yn[u];if(null==s.from&&(null==f||null==f.min)){var c=s.range(o,s.min==M?null:s.min,s.max==-M?null:s.max,u);s.min=c[0],s.max=c[1]}}for(var v in t){var h=t[v];if(null!=h.from){var d=t[h.from],p=h.range(o,d.min,d.max,v);h.min=p[0],h.max=p[1]}}var w={},x=!1;for(var b in t){var _=t[b],y=yn[b];y.min==_.min&&y.max==_.max||(y.min=_.min,y.max=_.max,w[b]=x=!0)}if(x){for(var T in bn.forEach((function(n){w[n.scale]&&(n._paths=null)})),w)Gt=!0,sr("setScale",T);Kt.show&&(Ht=!0)}for(var k in Yn)Yn[k]=null}(),Ct=!1),Gt&&(function(){for(var n=!1,t=0;!n;){var e=ge(++t),r=we(t);(n=e&&r)||(Zt(o.width,o.height),Ft=!0)}}(),Gt=!1),Ft&&(hn(A,U,vt),hn(A,B,ht),hn(A,O,ft),hn(A,j,ct),hn(C,U,vt),hn(C,B,ht),hn(C,O,ft),hn(C,j,ct),hn(Y,O,lt),hn(Y,j,ut),_.width=d(lt*fn),_.height=d(ut*fn),Qe(),sr("setSize"),Ft=!1),Kt.show&&Ht&&(Ze(),Ht=!1),lt>0&&ut>0&&(E.clearRect(0,0,_.width,_.height),sr("drawClear"),kn.forEach((function(n){return n()})),sr("draw")),c||(c=!0,o.status=1,sr("ready")),ce=!1,Ye=!1}function Ae(t,r){var i=yn[t];if(null==i.from){if(0==ie){var a=i.range(o,r.min,r.max,t);r.min=a[0],r.max=a[1]}if(ie>1&&null!=r.min&&null!=r.max&&1e-16>r.max-r.min)return;t==Mn&&2==i.distr&&ie>0&&(r.min=n(r.min,e[0]),r.max=n(r.max,e[0])),Yn[t]=r,Ct=!0,Pe()}}o.redraw=function(n){!1!==n?Re(Mn,yn[Mn].min,yn[Mn].max):Pe()},o.setScale=Ae;var Ce=!1,Fe=Kt.drag,Ge=Fe.x,He=Fe.y;Kt.show&&(Kt.x&&(ze=Kt.left,be=pn("u-cursor-x",C)),Kt.y&&(Ee=Kt.top,_e=pn("u-cursor-y",C)));var Ne,Ie,Ve,Le=o.select=V({show:!0,over:!0,left:0,width:0,top:0,height:0},t.select),Oe=Le.show?pn("u-select",Le.over?C:A):null;function je(n,t){if(Le.show){for(var e in n)hn(Oe,e,Le[e]=n[e]);!1!==t&&sr("setSelect")}}function Be(n){var t=jn?Bn[n][0].parentNode:null;bn[n].show?t&&vn(t,on):(t&&cn(t,on),ne.length>1&&mn(ne[n],-10,-10,ft,ct))}function Re(n,t,e){Ae(n,{min:t,max:e})}function Ue(n,t,e){var r=bn[n];if(null!=t.focus&&function(n){n!=Ve&&(bn.forEach((function(t,e){!function(n,t){var e=bn[n];qe(n,t),e.band&&qe(bn[n+1].band?n+1:n-1,t)}(e,null==n||0==e||e==n?1:Qt.alpha)})),Ve=n,Pe())}(n),null!=t.show){if(r.show=t.show,Be(n),r.band){var i=bn[n+1]&&bn[n+1].band?n+1:n-1;bn[i].show=r.show,Be(i)}Re(r.scale,null,null),Pe()}sr("setSeries",n,t),e&&vr.pub("setSeries",o,n,t)}function qe(n,t){bn[n].alpha=t,Kt.show&&ne[n]&&(ne[n].style.opacity=t),jn&&Bn[n]&&(Bn[n][0].parentNode.style.opacity=t)}function Je(n,t){var e=ft;t!=Mn&&(n=(e=ct)-n);var r=n/e,i=yn[t],o=i.min,a=i.max;return 3==i.distr?(o=b(o),a=b(a),w(10,o+(a-o)*r)):o+(a-o)*r}o.setSelect=je,o.setSeries=Ue,jn&&$t&&wn(nn,An,(function(){Kt._lock||(Ue(null,{focus:!1},fr.setSeries),Ze())})),o.valToIdx=function(t){return n(t,e[0])},o.posToIdx=function(t){return n(Je(t,Mn),e[0],le,ue)},o.posToVal=Je,o.valToPos=function(n,t,e){return t==Mn?s(n,yn[t],e?_t:ft,e?xt:0):f(n,yn[t],e?yt:ct,e?bt:0)},o.batch=function(n){n(o),Pe()},o.setCursor=function(n){ze=n.left,Ee=n.top,Ze()};var Xe=0;function Ze(t,r){var i,a;if(Xe=0,Se=ze,De=Ee,i=Kt.move(o,ze,Ee),ze=i[0],Ee=i[1],Kt.show&&(Kt.x&&mn(be,d(ze),0,ft,ct),Kt.y&&mn(_e,0,d(Ee),ft,ct)),Ne=M,0>ze||0==ie||le>ue){a=null;for(var l=0;bn.length>l;l++)if(l>0&&ne.length>1&&mn(ne[l],-10,-10,ft,ct),jn&&On.live){if(0==l&&Rn)continue;for(var u=0;Bn[l].length>u;u++)Bn[l][u].firstChild.nodeValue="--"}$t&&Ue(null,{focus:!0},fr.setSeries)}else{var h=Je(ze,Mn);a=n(h,e[0],le,ue);for(var p=yn[Mn],g=P(s(e[0][a],p,ft,0),3),w=0;bn.length>w;w++){var x=bn[w],b=Kt.dataIdx(o,w,a,h),_=b==a?g:P(s(e[0][b],p,ft,0),3);if(w>0&&x.show){var y=e[w][b],T=null==y?-10:P(f(y,yn[x.scale],ct,0),3);if(T>0){var k=v(T-Ee);k>Ne||(Ne=k,Ie=w)}ne.length>1&&mn(ne[w],_,T,ft,ct)}if(jn&&On.live){if(b==Kt.idx&&!Nt||0==w&&Rn)continue;var S=0==w&&2==En?fe:e[w],D=Rn?x.values(o,w,b):{_:x.value(o,S[b],w,b)},z=0;for(var E in D)Bn[w][z++].firstChild.nodeValue=D[E]}}Nt=!1}if(Le.show&&Ce)if(null!=r){var Y=fr.scales,W=Y[0],A=Y[1],C=r.cursor.drag;if(Ge=C._x,He=C._y,W){var F=yn[W],G=r.posToVal(r.select.left,W),H=r.posToVal(r.select.left+r.select.width,W);Le.left=s(G,F,ft,0),Le.width=v(Le.left-s(H,F,ft,0)),hn(Oe,U,Le.left),hn(Oe,O,Le.width),A||(hn(Oe,B,Le.top=0),hn(Oe,j,Le.height=ct))}if(A){var N=yn[A],I=r.posToVal(r.select.top,A),V=r.posToVal(r.select.top+r.select.height,A);Le.top=f(I,N,ct,0),Le.height=v(Le.top-f(V,N,ct,0)),hn(Oe,B,Le.top),hn(Oe,j,Le.height),W||(hn(Oe,U,Le.left=0),hn(Oe,O,Le.width=ft))}}else{var L=v(Se-ye),R=v(De-Me);Ge=Fe.x&&L>=Fe.dist,He=Fe.y&&R>=Fe.dist;var q=Fe.uni;if(null!=q?Ge&&He&&(He=R>=q,(Ge=L>=q)||He||(R>L?He=!0:Ge=!0)):Fe.x&&Fe.y&&(Ge||He)&&(Ge=He=!0),Ge){var J=m(Te,ze),X=v(ze-Te);hn(Oe,U,Le.left=J),hn(Oe,O,Le.width=X),He||(hn(Oe,B,Le.top=0),hn(Oe,j,Le.height=ct))}if(He){var K=m(ke,Ee),Q=v(Ee-ke);hn(Oe,B,Le.top=K),hn(Oe,j,Le.height=Q),Ge||(hn(Oe,U,Le.left=0),hn(Oe,O,Le.width=ft))}Ge||He||(hn(Oe,j,Le.height=0),hn(Oe,O,Le.width=0))}Kt.idx=a,Kt.left=ze,Kt.top=Ee,Fe._x=Ge,Fe._y=He,null!=t&&(vr.pub(Z,o,ze,Ee,ft,ct,a),$t&&Ue(Ne>Qt.prox?null:Ie,{focus:!0},fr.setSeries)),c&&sr("setCursor")}var Ke=null;function Qe(){Ke=C.getBoundingClientRect()}function $e(n,t,e,r,i,o){Kt._lock||(nr(n,t,e,r,i,o,0,!1,null!=n),null!=n?0==Xe&&(Xe=ln(Ze)):Ze(null,t))}function nr(n,t,e,r,i,a,l,u,c){var v;if(null!=n)e=n.clientX-Ke.left,r=n.clientY-Ke.top;else{if(0>e||0>r)return ze=-10,void(Ee=-10);var h=fr.scales,d=h[0],p=h[1];e=null!=d?s(t.posToVal(e,d),yn[d],ft,0):ft*(e/i),r=null!=p?f(t.posToVal(r,p),yn[p],ct,0):ct*(r/a)}c&&(e>1&&ft-1>e||(e=T(e,ft)),r>1&&ct-1>r||(r=T(r,ct))),u?(ye=e,Me=r,v=Kt.move(o,e,r),Te=v[0],ke=v[1]):(ze=e,Ee=r)}function tr(){je({width:0,height:0},!1)}function er(n,t,e,r,i,a){Ce=!0,Ge=He=Fe._x=Fe._y=!1,nr(n,t,e,r,i,a,0,!0,!1),null!=n&&(at(Q,un,rr),vr.pub(K,o,Te,ke,ft,ct,null))}function rr(n,t,e,r,i,a){Ce=Fe._x=Fe._y=!1,nr(n,t,e,r,i,a,0,!1,!0);var l=Le.width>0||Le.height>0;if(l&&je(Le),Fe.setScale&&l){if(Ge&&Re(Mn,Je(Le.left,Mn),Je(Le.left+Le.width,Mn)),He)for(var u in yn){var s=yn[u];u!=Mn&&null==s.from&&s.min!=M&&Re(u,Je(Le.top+Le.height,u),Je(Le.top,u))}tr()}else Kt.lock&&(Kt._lock=!Kt._lock,Kt._lock||Ze());null!=n&&(function(n,t){var e=rt.get(t)||{};xn(n,t,e[n]),e[n]=null}(Q,un),vr.pub(Q,o,ze,Ee,ft,ct,null))}function ir(){if(!Kt._lock){var n=Ce;if(Ce){var t=!0,e=!0;if(Ge&&He&&(t=10>=ze||ze>=ft-10,e=10>=Ee||Ee>=ct-10),Ge&&t){var r=ze,i=ft-ze,o=m(r,i);o==r&&(ze=0),o==i&&(ze=ft)}if(He&&e){var a=Ee,l=ct-Ee,u=m(a,l);u==a&&(Ee=0),u==l&&(Ee=ct)}Ze(1),Ce=!1}ze=-10,Ee=-10,Ze(1),n&&(Ce=n)}}function or(n){he(),tr(),null!=n&&vr.pub(tn,o,ze,Ee,ft,ct,null)}var ar,lr={};lr.mousedown=er,lr.mousemove=$e,lr.mouseup=rr,lr.dblclick=or,lr.setSeries=function(n,t,e,r){Ue(e,r)},Kt.show&&(at(K,C,er),at(Z,C,$e),at($,C,Qe),at(nn,C,(function(){ln(ir)})),at(tn,C,or),ar=function(n){var t=null;function e(){t=null,n()}return function(){clearTimeout(t),t=setTimeout(e,100)}}(Qe),wn(en,sn,ar),wn(rn,sn,ar),o.syncRect=Qe);var ur=o.hooks=t.hooks||{};function sr(n,t,e){n in ur&&ur[n].forEach((function(n){n.call(null,o,t,e)}))}(t.plugins||[]).forEach((function(n){for(var t in n.hooks)ur[t]=(ur[t]||[]).concat(n.hooks[t])}));var fr=V({key:null,setSeries:!1,scales:[Mn,null]},Kt.sync),cr=fr.key,vr=null!=cr?Wt[cr]=Wt[cr]||At():At();function hr(){sr("init",t,e),ve(e||t.data,!1),Yn[Mn]?Ae(Mn,Yn[Mn]):he(),It(t.width,t.height),je(Le,!1)}return vr.sub(o),o.pub=function(n,t,e,r,i,o,a){lr[n](null,t,e,r,i,o,a)},o.destroy=function(){vr.unsub(o),xn(en,sn,ar),xn(rn,sn,ar),x.remove(),sr("destroy")},r?r instanceof HTMLElement?(r.appendChild(x),hr()):r(o,hr):hr(),o}Zt.assign=V,Zt.fmtNum=f,Zt.rangeNum=l,Zt.rangeLog=i,Zt.join=function(n,t){if(1==n.length)return{data:n[0],isGap:t?function(n,e){return!t[0][e]}:function(){return!0}};for(var e=new Set,r=[new Set],i=0;n.length>i;i++){for(var o=n[i],a=o[0],l=a.length,u=new Set,s=0;l>s;s++)e.add(a[s]);for(var f=1;o.length>f;f++)if(null==t||!t[i][f])for(var c=o[f],v=0;l>v;v++)null==c[v]&&u.add(a[v]);r.push(u)}for(var h=[Array.from(e).sort((function(n,t){return n-t}))],d=h[0].length,p=new Map,m=0;d>m;m++)p.set(h[0][m],m);for(var g=0;n.length>g;g++)for(var w=n[g],x=w[0],b=1;w.length>b;b++){for(var _=w[b],y=Array(d).fill(null),M=0;_.length>M;M++)y[p.get(x[M])]=_[M];h.push(y)}return{data:h,isGap:function(n,t,e){return r[t].has(n._data[0][e])}}},Zt.fmtDate=zn,Zt.tzDate=function(n,t){var e;return"Etc/UTC"==t?e=new Date(+n+6e4*n.getTimezoneOffset()):t==En?e=n:(e=new Date(n.toLocaleString("en-US",{timeZone:t}))).setMilliseconds(n.getMilliseconds()),e},Zt.addGap=Ht,Zt.clipGaps=Gt;var Kt=Zt.paths={};return Kt.linear=It,Kt.spline=function(){return function(n,e,r,i){var o=Ft(n,e),a=o[0],l=o[1],u=o[2],s=o[3],f=o[4],c=o[5],v=o[6],h=o[7],p=o[8],m=o[9],g=o[10];r=t(u,r,i,1),i=t(u,r,i,-1);for(var b=[],_=!1,y=d(c(l[r],s,m,h)),M=y,T=[],k=[],S=r;i>=S;S++){var D=u[S],z=c(l[S],s,m,h);null!=D?(_&&(Ht(b,M,z),_=!1),T.push(M=z),k.push(v(u[S],f,g,p))):a.isGap(n,e,S)&&(Ht(b,M,z),_=!0)}var E=function(n,t,e){var r,i,o,a,l,u,s,f,c,v,h,p,m,g,b,_,y,M,T,k,S,D,z,E,Y,P=new Path2D,W=n.length;P.moveTo(d(n[0]),d(t[0]));for(var A=0;W-1>A;A++){var C=0==A?0:A-1;i=t[C],a=t[A],l=n[A+1],u=t[A+1],W>A+2?(s=n[A+2],f=t[A+2]):(s=l,f=u),m=x(w((r=n[C])-(o=n[A]),2)+w(i-a,2)),g=x(w(o-l,2)+w(a-u,2)),b=x(w(l-s,2)+w(u-f,2)),k=w(b,e),D=w(b,1),S=w(g,e),z=w(g,1),(M=3*(Y=w(m,e))*(Y+S))>0&&(M=1/M),(T=3*k*(k+S))>0&&(T=1/T),v=(-z*i+(_=2*(E=w(m,1))+3*Y*S+z)*a+E*u)*M,p=(D*a+(y=2*D+3*k*S+z)*u-z*f)*T,0==(c=(-z*r+_*o+E*l)*M)&&0==v&&(c=o,v=a),0==(h=(D*o+y*l-z*s)*T)&&0==p&&(h=l,p=u),P.bezierCurveTo(c,v,h,p,l,u)}return P}(T,k,.5),Y=new Path2D(E),P=a.fillTo(n,e,a.min,a.max),W=d(v(P,f,g,p));return Y.lineTo(M,W),Y.lineTo(y,W),{stroke:E,fill:Y,clip:a.spanGaps?null:Gt(b,1,h,p,m,g)}}},Kt.stepped=function(n){var e=u(n.align,1);return function(n,r,i,o){var a=Ft(n,r),l=a[0],u=a[1],s=a[2],f=a[3],c=a[4],v=a[5],h=a[6],p=a[7],m=a[8],g=a[9],w=a[10],x=new Path2D;i=t(s,i,o,1),o=t(s,i,o,-1);var b=[],_=!1,y=d(h(s[i],c,w,m)),M=d(v(u[i],f,g,p)),T=M;x.moveTo(M,y);for(var k=i+1;o>=k;k++){var S=s[k],D=d(v(u[k],f,g,p));if(null!=S){var z=d(h(S,c,w,m));if(_){if(Ht(b,T,D),y!=z){var E=l.width*fn/2,Y=b[b.length-1];Y[0]+=E,Y[1]-=E}_=!1}1==e?x.lineTo(D,y):x.lineTo(T,z),x.lineTo(D,z),y=z,T=D}else l.isGap(n,r,k)&&(Ht(b,T,D),_=!0)}var P=new Path2D(x),W=l.fillTo(n,r,l.min,l.max),A=d(h(W,c,w,m));return P.lineTo(T,A),P.lineTo(M,A),{stroke:x,fill:P,clip:l.spanGaps?null:Gt(b,1,p,m,g,w)}}},Kt.bars=function(n){var t=u((n=n||F).size,[.6,M]),e=1-t[0],r=u(t[1],M)*fn;return function(n,t,i,o){for(var a=Ft(n,t),l=a[0],u=a[1],s=a[2],f=a[3],c=a[4],v=a[5],h=a[6],p=a[7],w=a[8],x=a[9],b=a[10],_=v(u[1],f,x,p)-v(u[0],f,x,p),y=_*e,M=h(l.fillTo(n,t,l.min,l.max),c,b,w),T=d(l.width*fn),k=d(m(r,_-y)-T),S=new Path2D,D=i;o>=D;D++){var z=s[D];if(null!=z){var E=v(2==f.distr?D:u[D],f,x,p),Y=h(z,c,b,w),P=d(E-k/2),W=d(g(Y,M)),A=d(m(Y,M));S.rect(P,A,k,W-A)}}return{stroke:S,fill:null!=l.fill?new Path2D(S):void 0}}},Zt}();
{
"name": "uplot",
"version": "1.4.7",
"version": "1.5.0",
"description": "A small, fast chart for time series, lines, areas, ohlc & bars",

@@ -43,6 +43,5 @@ "main": "./dist/uPlot.cjs.js",

"@rollup/plugin-buble": "^0.21.3",
"@rollup/plugin-replace": "^2.3.4",
"rollup": "^2.34.1",
"rollup": "^2.34.2",
"rollup-plugin-terser": "^7.0.2"
}
}
## 📈 μPlot
A small ([< 30 KB min](https://github.com/leeoniya/uPlot/tree/master/dist/uPlot.iife.min.js)), [fast](#performance) chart for time series, lines, areas, ohlc & bars _(MIT Licensed)_
A small ([~30 KB min](https://github.com/leeoniya/uPlot/tree/master/dist/uPlot.iife.min.js)), [fast](#performance) chart for time series, lines, areas, ohlc & bars _(MIT Licensed)_

@@ -8,3 +8,3 @@ ---

μPlot is a [fast, memory-efficient](#performance) [Canvas 2D](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D)-based chart for plotting [time series](https://en.wikipedia.org/wiki/Time_series), lines, areas, ohlc & bars; from a cold start it can create an interactive chart containing 150,000 data points in 135ms, scaling linearly at [~25,000 pts/ms](https://leeoniya.github.io/uPlot/bench/uPlot-10M.html). In addition to fast initial render, the zooming and cursor performance is by far the best of any similar charting lib; at < 30 KB, it's likely the smallest and fastest time series plotter that doesn't make use of [context-limited](https://bugs.chromium.org/p/chromium/issues/detail?id=771792) WebGL shaders or WASM, both of which have much higher startup cost and code size.
μPlot is a [fast, memory-efficient](#performance) [Canvas 2D](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D)-based chart for plotting [time series](https://en.wikipedia.org/wiki/Time_series), lines, areas, ohlc & bars; from a cold start it can create an interactive chart containing 150,000 data points in 135ms, scaling linearly at [~25,000 pts/ms](https://leeoniya.github.io/uPlot/bench/uPlot-10M.html). In addition to fast initial render, the zooming and cursor performance is by far the best of any similar charting lib; at ~30 KB, it's likely the smallest and fastest time series plotter that doesn't make use of [context-limited](https://bugs.chromium.org/p/chromium/issues/detail?id=771792) WebGL shaders or WASM, both of which have much higher startup cost and code size.

@@ -28,2 +28,3 @@ <h3 align="center">166,650 point bench: <a href="https://leeoniya.github.io/uPlot/bench/uPlot.html">https://leeoniya.github.io/uPlot/bench/uPlot.html</a></h3>

- Line & Area styles (stroke, fill, width, dash)
- Pluggable path renderers [linear, spline, stepped, bars](https://leeoniya.github.io/uPlot/demos/line-paths.html)
- Zoom with auto-rescale

@@ -47,3 +48,3 @@ - Legend with live values

- No collision avoidance for axis tick labels, so may require manual tweaking of spacing metrics if label customization signficiantly increases default label widths.
- No [stacked series](https://everydayanalytics.ca/2014/08/stacked-area-graphs-are-not-your-friend.html) or [line smoothing](http://www.vizwiz.com/2011/12/when-you-use-smoothed-line-chart-your.html). See links for how these are each terrible at actually communicating information. While neither will be part of the core, uPlot's API makes it easy to implement both: [stacked-series](https://leeoniya.github.io/uPlot/demos/stacked-series.html), [line-smoothing](https://leeoniya.github.io/uPlot/demos/line-smoothing.html).
- No stacked series: see ["Stacked Area Graphs Are Not Your Friend"](https://everydayanalytics.ca/2014/08/stacked-area-graphs-are-not-your-friend.html) and a [horrific demo](https://leeoniya.github.io/uPlot/demos/stacked-series.html). While smooth spline interpolation is available, its use is strongly discouraged: [Your data is misrepresented!](http://www.vizwiz.com/2011/12/when-you-use-smoothed-line-chart-your.html). Both visualizations are terrible at accurately communicating information.
- No built-in drag scrolling/panning due to ambiguous native zoom/selection behavior. However, this can be added externally via the plugin/hooks API: [zoom-wheel](https://leeoniya.github.io/uPlot/demos/zoom-wheel.html), [zoom-touch](https://leeoniya.github.io/uPlot/demos/zoom-touch.html).

@@ -50,0 +51,0 @@

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc