1import{au as ht}from"./5YXSnQcP.js";function lt(Q,V){for(var f=0;f<V.length;f++){const I=V[f];if(typeof I!="string"&&!Array.isArray(I)){for(const w in I)if(w!=="default"&&!(w in Q)){const C=Object.getOwnPropertyDescriptor(I,w);C&&Object.defineProperty(Q,w,C.get?C:{enumerable:!0,get:()=>I[w]})}}}return Object.freeze(Object.defineProperty(Q,Symbol.toStringTag,{value:"Module"}))}var st={exports:{}},rt;function dt(){return rt||(rt=1,function(Q){(function(V){Q.exports?(V.default=V,Q.exports=V):V(typeof Highcharts<"u"?Highcharts:void 0)})(function(V){var f=V?V._modules:{};function I(w,C,D,j){w.hasOwnProperty(C)||(w[C]=j.apply(null,D),typeof CustomEvent=="function"&&V.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:C,module:w[C]}})))}I(f,"Stock/Navigator/ChartNavigatorComposition.js",[f["Core/Globals.js"],f["Core/Utilities.js"]],function(w,C){let D,{isTouchDevice:j}=w,{addEvent:P,merge:U,pick:z}=C,N=[];function H(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function L(){var u;let r,m,i,n=this.legend,a=this.navigator;if(a){r=n&&n.options,m=a.xAxis,i=a.yAxis;let{scrollbarHeight:p,scrollButtonSize:x}=a;this.inverted?(a.left=a.opposite?this.chartWidth-p-a.height:this.spacing[3]+p,a.top=this.plotTop+x):(a.left=z(m.left,this.plotLeft+x),a.top=a.navigatorOptions.top||this.chartHeight-a.height-p-(((u=this.scrollbar)==null?void 0:u.options.margin)||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(r&&r.verticalAlign==="bottom"&&r.layout!=="proximate"&&r.enabled&&!r.floating?n.legendHeight+z(r.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),m&&i&&(this.inverted?m.options.left=i.options.left=a.left:m.options.top=i.options.top=a.top,m.setAxisSize(),i.setAxisSize())}}function G(r){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new D(this),z(r.redraw,!0)&&this.redraw(r.animation))}function W(){let r=this.options;(r.navigator.enabled||r.scrollbar.enabled)&&(this.scroller=this.navigator=new D(this))}function l(){let r=this.options,m=r.navigator,i=r.rangeSelector;if((m&&m.enabled||i&&i.enabled)&&(!j&&this.zooming.type==="x"||j&&this.zooming.pinchType==="x"))return!1}function S(r){let m=r.navigator;if(m&&r.xAxis[0]){let i=r.xAxis[0].getExtremes();m.render(i.min,i.max)}}function o(r){let m=r.options.navigator||{},i=r.options.scrollbar||{};!this.navigator&&!this.scroller&&(m.enabled||i.enabled)&&(U(!0,this.options.navigator,m),U(!0,this.options.scrollbar,i),delete r.options.navigator,delete r.options.scrollbar)}return{compose:function(r,m){if(C.pushUnique(N,r)){let i=r.prototype;D=m,i.callbacks.push(S),P(r,"afterAddSeries",H),P(r,"afterSetChartSize",L),P(r,"afterUpdate",G),P(r,"beforeRender",W),P(r,"beforeShowResetZoom",l),P(r,"update",o)}}}}),I(f,"Core/Axis/NavigatorAxisComposition.js",[f["Core/Globals.js"],f["Core/Utilities.js"]],function(w,C){let{isTouchDevice:D}=w,{addEvent:j,correctFloat:P,defined:U,isNumber:z,pick:N}=C;function H(){this.navigatorAxis||(this.navigatorAxis=new G(this))}function L(W){let l,S=this.chart,o=S.options,r=o.navigator,m=this.navigatorAxis,i=S.zooming.pinchType,n=o.rangeSelector,a=S.zooming.type;if(this.isXAxis&&(r!=null&&r.enabled||n!=null&&n.enabled)){if(a==="y"&&W.trigger==="zoom")l=!1;else if((W.trigger==="zoom"&&a==="xy"||D&&i==="xy")&&this.options.range){let u=m.previousZoom;U(W.min)?m.previousZoom=[this.min,this.max]:u&&(W.min=u[0],W.max=u[1],m.previousZoom=void 0)}}l!==void 0&&W.preventDefault()}class G{static compose(l){l.keepProps.includes("navigatorAxis")||(l.keepProps.push("navigatorAxis"),j(l,"init",H),j(l,"setExtremes",L))}constructor(l){this.axis=l}destroy(){this.axis=void 0}toFixedRange(l,S,o,r){let m=this.axis,i=(m.pointRange||0)/2,n=N(o,m.translate(l,!0,!m.horiz)),a=N(r,m.translate(S,!0,!m.horiz));return U(o)||(n=P(n+i)),U(r)||(a=P(a-i)),z(n)&&z(a)||(n=a=void 0),{min:n,max:a}}}return G}),I(f,"Stock/Navigator/NavigatorDefaults.js",[f["Core/Color/Color.js"],f["Core/Series/SeriesRegistry.js"]],function(w,C){let{parse:D}=w,{seriesTypes:j}=C;return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:D("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:j.areaspline===void 0?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),I(f,"Stock/Navigator/NavigatorSymbols.js",[f["Core/Renderer/SVG/Symbols.js"],f["Core/Utilities.js"]],function(w,C){let{relativeLength:D}=C;return{"navigator-handle":function(j,P,U,z,N={}){let H=N.width?N.width/2:U,L=D(N.borderRadius||0,Math.min(2*H,z));return[["M",-1.5,(z=N.height||z)/2-3.5],["L",-1.5,z/2+4.5],["M",.5,z/2-3.5],["L",.5,z/2+4.5],...w.rect(-H-1,.5,2*H+1,z,{r:L})]}}}),I(f,"Stock/Utilities/StockUtilities.js",[f["Core/Utilities.js"]],function(w){let{defined:C}=w;return{setFixedRange:function(D){let j=this.xAxis[0];C(j.dataMax)&&C(j.dataMin)&&D?this.fixedRange=Math.min(D,j.dataMax-j.dataMin):this.fixedRange=D}}}),I(f,"Stock/Navigator/NavigatorComposition.js",[f["Core/Defaults.js"],f["Core/Globals.js"],f["Core/Axis/NavigatorAxisComposition.js"],f["Stock/Navigator/NavigatorDefaults.js"],f["Stock/Navigator/NavigatorSymbols.js"],f["Core/Renderer/RendererRegistry.js"],f["Stock/Utilities/StockUtilities.js"],f["Core/Utilities.js"]],function(w,C,D,j,P,U,z,N){let{setOptions:H}=w,{composed:L}=C,{getRendererType:G}=U,{setFixedRange:W}=z,{addEvent:l,extend:S,pushUnique:o}=N;function r(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(m,i,n){D.compose(i),o(L,"Navigator")&&(m.prototype.setFixedRange=W,S(G().prototype.symbols,P),l(n,"afterUpdate",r),H({navigator:j}))}}}),I(f,"Core/Axis/ScrollbarAxis.js",[f["Core/Globals.js"],f["Core/Utilities.js"]],function(w,C){var D;let{composed:j}=w,{addEvent:P,defined:U,pick:z,pushUnique:N}=C;return function(H){let L;function G(o){let r=z(o.options&&o.options.min,o.min),m=z(o.options&&o.options.max,o.max);return{axisMin:r,axisMax:m,scrollMin:U(o.dataMin)?Math.min(r,o.min,o.dataMin,z(o.threshold,1/0)):r,scrollMax:U(o.dataMax)?Math.max(m,o.max,o.dataMax,z(o.threshold,-1/0)):m}}function W(){let o=this.scrollbar,r=o&&!o.options.opposite,m=this.horiz?2:r?3:1;o&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[m]+=o.size+(o.options.margin||0))}function l(){let o=this;o.options&&o.options.scrollbar&&o.options.scrollbar.enabled&&(o.options.scrollbar.vertical=!o.horiz,o.options.startOnTick=o.options.endOnTick=!1,o.scrollbar=new L(o.chart.renderer,o.options.scrollbar,o.chart),P(o.scrollbar,"changed",function(r){let m,i,{axisMin:n,axisMax:a,scrollMin:u,scrollMax:p}=G(o),x=p-u;if(U(n)&&U(a))if(o.horiz&&!o.reversed||!o.horiz&&o.reversed?(m=u+x*this.to,i=u+x*this.from):(m=u+x*(1-this.from),i=u+x*(1-this.to)),this.shouldUpdateExtremes(r.DOMType)){let R=r.DOMType!=="mousemove"&&r.DOMType!=="touchmove"&&void 0;o.setExtremes(i,m,!0,R,r)}else this.setRange(this.from,this.to)}))}function S(){let o,r,m,{scrollMin:i,scrollMax:n}=G(this),a=this.scrollbar,u=this.axisTitleMargin+(this.titleOffset||0),p=this.chart.scrollbarsOffsets,x=this.options.margin||0;if(a&&p){if(this.horiz)this.opposite||(p[1]+=u),a.position(this.left,this.top+this.height+2+p[1]-(this.opposite?x:0),this.width,this.height),this.opposite||(p[1]+=x),o=1;else{let R;this.opposite&&(p[0]+=u),R=a.options.opposite?this.left+this.width+2+p[0]-(this.opposite?0:x):this.opposite?0:x,a.position(R,this.top,this.width,this.height),this.opposite&&(p[0]+=x),o=0}if(p[o]+=a.size+(a.options.margin||0),isNaN(i)||isNaN(n)||!U(this.min)||!U(this.max)||this.dataMin===this.dataMax)a.setRange(0,1);else if(this.min===this.max){let R=this.pointRange/(this.dataMax+1);r=R*this.min,m=R*(this.max+1),a.setRange(r,m)}else r=(this.min-i)/(n-i),m=(this.max-i)/(n-i),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(r,m):a.setRange(1-m,1-r)}
1}H.compose=function(o,r){N(j,"Axis.Scrollbar")&&(L=r,P(o,"afterGetOffset",W),P(o,"afterInit",l),P(o,"afterRender",S))}}(D||(D={})),D}),I(f,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),I(f,"Stock/Scrollbar/Scrollbar.js",[f["Core/Defaults.js"],f["Core/Globals.js"],f["Core/Axis/ScrollbarAxis.js"],f["Stock/Scrollbar/ScrollbarDefaults.js"],f["Core/Utilities.js"]],function(w,C,D,j,P){let{defaultOptions:U}=w,{addEvent:z,correctFloat:N,crisp:H,defined:L,destroyObjectProperties:G,fireEvent:W,merge:l,pick:S,removeEvent:o}=P;class r{static compose(i){D.compose(i,r)}static swapXY(i,n){return n&&i.forEach(a=>{let u,p=a.length;for(let x=0;x<p;x+=2)typeof(u=a[x+1])=="number"&&(a[x+1]=a[x+2],a[x+2]=u)}),i}constructor(i,n,a){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(i,n,a)}addEvents(){let i=this.options.inverted?[1,0]:[0,1],n=this.scrollbarButtons,a=this.scrollbarGroup.element,u=this.track.element,p=this.mouseDownHandler.bind(this),x=this.mouseMoveHandler.bind(this),R=this.mouseUpHandler.bind(this),B=[[n[i[0]].element,"click",this.buttonToMinClick.bind(this)],[n[i[1]].element,"click",this.buttonToMaxClick.bind(this)],[u,"click",this.trackClick.bind(this)],[a,"mousedown",p],[a.ownerDocument,"mousemove",x],[a.ownerDocument,"mouseup",R],[a,"touchstart",p],[a.ownerDocument,"touchmove",x],[a.ownerDocument,"touchend",R]];B.forEach(function(X){z.apply(null,X)}),this._events=B}buttonToMaxClick(i){let n=(this.to-this.from)*S(this.options.step,.2);this.updatePosition(this.from+n,this.to+n),W(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:i})}buttonToMinClick(i){let n=N(this.to-this.from)*S(this.options.step,.2);this.updatePosition(N(this.from-n),N(this.to-n)),W(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:i})}cursorToScrollbarPosition(i){let n=this.options,a=n.minWidth>this.calculatedWidth?n.minWidth:0;return{chartX:(i.chartX-this.x-this.xOffset)/(this.barWidth-a),chartY:(i.chartY-this.y-this.yOffset)/(this.barWidth-a)}}destroy(){let i=this,n=i.chart.scroller;i.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(a){i[a]&&i[a].destroy&&(i[a]=i[a].destroy())}),n&&i===n.scrollbar&&(n.scrollbar=null,G(n.scrollbarButtons))}drawScrollbarButton(i){let n=this.renderer,a=this.scrollbarButtons,u=this.options,p=this.size,x=n.g().add(this.group);if(a.push(x),u.buttonsEnabled){let R=n.rect().addClass("highcharts-scrollbar-button").add(x);this.chart.styledMode||R.attr({stroke:u.buttonBorderColor,"stroke-width":u.buttonBorderWidth,fill:u.buttonBackgroundColor}),R.attr(R.crisp({x:-.5,y:-.5,width:p,height:p,r:u.buttonBorderRadius},R.strokeWidth()));let B=n.path(r.swapXY([["M",p/2+(i?-1:1),p/2-3],["L",p/2+(i?-1:1),p/2+3],["L",p/2+(i?2:-2),p/2]],u.vertical)).addClass("highcharts-scrollbar-arrow").add(a[i]);this.chart.styledMode||B.attr({fill:u.buttonArrowColor})}}init(i,n,a){this.scrollbarButtons=[],this.renderer=i,this.userOptions=n,this.options=l(j,U.scrollbar,n),this.options.margin=S(this.options.margin,10),this.chart=a,this.size=S(this.options.size,this.options.height),n.enabled&&(this.render(),this.addEvents())}mouseDownHandler(i){var u;let n=((u=this.chart.pointer)==null?void 0:u.normalize(i))||i,a=this.cursorToScrollbarPosition(n);this.chartX=a.chartX,this.chartY=a.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(i){var x;let n,a=((x=this.chart.pointer)==null?void 0:x.normalize(i))||i,u=this.options.vertical?"chartY":"chartX",p=this.initPositions||[];this.grabbedCenter&&(!i.touches||i.touches[0][u]!==0)&&(n=this.cursorToScrollbarPosition(a)[u]-this[u],this.hasDragged=!0,this.updatePosition(p[0]+n,p[1]+n),this.hasDragged&&W(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:i.type,DOMEvent:i}))}
1mouseUpHandler(i){this.hasDragged&&W(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:i.type,DOMEvent:i}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(i,n,a,u){let{buttonsEnabled:p,margin:x=0,vertical:R}=this.options,B=this.rendered?"animate":"attr",X=u,$=0;this.group.show(),this.x=i,this.y=n+this.trackBorderWidth,this.width=a,this.height=u,this.xOffset=X,this.yOffset=$,R?(this.width=this.yOffset=a=$=this.size,this.xOffset=X=0,this.yOffset=$=p?this.size:0,this.barWidth=u-(p?2*a:0),this.x=i+=x):(this.height=u=this.size,this.xOffset=X=p?this.size:0,this.barWidth=a-(p?2*u:0),this.y=this.y+x),this.group[B]({translateX:i,translateY:this.y}),this.track[B]({width:a,height:u}),this.scrollbarButtons[1][B]({translateX:R?0:a-X,translateY:R?u-$:0})}removeEvents(){this._events.forEach(function(i){o.apply(null,i)}),this._events.length=0}render(){let i=this.renderer,n=this.options,a=this.size,u=this.chart.styledMode,p=i.g("scrollbar").attr({zIndex:n.zIndex}).hide().add();this.group=p,this.track=i.rect().addClass("highcharts-scrollbar-track").attr({r:n.trackBorderRadius||0,height:a,width:a}).add(p),u||this.track.attr({fill:n.trackBackgroundColor,stroke:n.trackBorderColor,"stroke-width":n.trackBorderWidth});let x=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-H(0,x),y:-H(0,x)}),this.scrollbarGroup=i.g().add(p),this.scrollbar=i.rect().addClass("highcharts-scrollbar-thumb").attr({height:a-x,width:a-x,r:n.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=i.path(r.swapXY([["M",-3,a/4],["L",-3,2*a/3],["M",0,a/4],["L",0,2*a/3],["M",3,a/4],["L",3,2*a/3]],n.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),u||(this.scrollbar.attr({fill:n.barBackgroundColor,stroke:n.barBorderColor,"stroke-width":n.barBorderWidth}),this.scrollbarRifles.attr({stroke:n.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-H(0,this.scrollbarStrokeWidth),-H(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(i,n){let a,u,p=this.options,x=p.vertical,R=p.minWidth,B=this.barWidth,X=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!L(B))return;let $=B*Math.min(n,1);a=Math.ceil(B*(i=Math.max(i,0))),this.calculatedWidth=u=N($-a),u<R&&(a=(B-R+u)*i,u=R);let J=Math.floor(a+this.xOffset+this.yOffset),K=u/2-.5;this.from=i,this.to=n,x?(this.scrollbarGroup[X]({translateY:J}),this.scrollbar[X]({height:u}),this.scrollbarRifles[X]({translateY:K}),this.scrollbarTop=J,this.scrollbarLeft=0):(this.scrollbarGroup[X]({translateX:J}),this.scrollbar[X]({width:u}),this.scrollbarRifles[X]({translateX:K}),this.scrollbarLeft=J,this.scrollbarTop=0),u<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),p.showFull===!1&&(i<=0&&n>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(i){return S(this.options.liveRedraw,C.svg&&!C.isTouchDevice&&!this.chart.boosted)||i==="mouseup"||i==="touchend"||!L(i)}trackClick(i){var x;let n=((x=this.chart.pointer)==null?void 0:x.normalize(i))||i,a=this.to-this.from,u=this.y+this.scrollbarTop,p=this.x+this.scrollbarLeft;this.options.vertical&&n.chartY>u||!this.options.vertical&&n.chartX>p?this.updatePosition(this.from+a,this.to+a):this.updatePosition(this.from-a,this.to-a),W(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:i})}update(i){this.destroy(),this.init(this.chart.renderer,l(!0,this.options,i),this.chart)}updatePosition(i,n){n>1&&(i=N(1-N(n-i)),n=1),i<0&&(n=N(n-i),i=0),this.from=i,this.to=n}}return r.defaultOptions=j,U.scrollbar=l(!0,r.defaultOptions,U.scrollbar),r}),I(f,"Stock/Navigator/Navigator.js",[f["Core/Axis/Axis.js"],f["Stock/Navigator/ChartNavigatorComposition.js"],f["Core/Defaults.js"],f["Core/Globals.js"],f["Core/Axis/NavigatorAxisComposition.js"],f["Stock/Navigator/NavigatorComposition.js"],f["Stock/Scrollbar/Scrollbar.js"],f["Core/Renderer/SVG/SVGRenderer.js"],f["Core/Utilities.js"]],function(w,C,D,j,P,U,z,N,H){let{defaultOptions:L}=D,{isTouchDevice:G}=j,{prototype:{symbols:W}}=N,{addEvent:l,clamp:S,correctFloat:o,defined:r,destroyObjectProperties:m,erase:i,extend:n,find:a,fireEvent:u,isArray:p,isNumber:x,merge:R,pick:B,removeEvent:X,splat:$}=H;function J(nt,...t){let e=[].filter.call(t,x);if(e.length)return Math[nt].apply(0,e)}
vendor: 4,917 bytes, line 1
1class K{static compose(t,e,s){C.compose(t,K),U.compose(t,e,s)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,s,h){let d=this.navigatorOptions.handles.height;this.handles[e][h](s?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-d)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-d/2-1)})}drawOutline(t,e,s,h){let d=this.navigatorOptions.maskInside,c=this.outline.strokeWidth(),v=c/2,O=c%2/2,M=this.scrollButtonSize,g=this.size,A=this.top,k=this.height,b=A-v,y=A+k,E=this.left,T,Y;s?(T=A+e+O,e=A+t+O,Y=[["M",E+k,A-M-O],["L",E+k,T],["L",E,T],["M",E,e],["L",E+k,e],["L",E+k,A+g+M]],d&&Y.push(["M",E+k,T-v],["L",E+k,e+v])):(E-=M,t+=E+M-O,e+=E+M-O,Y=[["M",E,b],["L",t,b],["L",t,y],["M",e,y],["L",e,b],["L",E+g+2*M,b]],d&&Y.push(["M",t-v,b],["L",e+v,b])),this.outline[h]({d:Y})}drawMasks(t,e,s,h){let d,c,v,O,M=this.left,g=this.top,A=this.height;s?(v=[M,M,M],O=[g,g+t,g+e],c=[A,A,A],d=[t,e-t,this.size-e]):(v=[M,M+t,M+e],O=[g,g,g],c=[t,e-t,this.size-e],d=[A,A,A]),this.shades.forEach((k,b)=>{k[h]({x:v[b],y:O[b],width:c[b],height:d[b]})})}renderElements(){var M;let t=this,e=t.navigatorOptions,s=e.maskInside,h=t.chart,d=h.inverted,c=h.renderer,v={cursor:d?"ns-resize":"ew-resize"},O=t.navigatorGroup??(t.navigatorGroup=c.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!s,s,!s].forEach((g,A)=>{let k=t.shades[A]??(t.shades[A]=c.rect().addClass("highcharts-navigator-mask"+(A===1?"-inside":"-outside")).add(O));h.styledMode||(k.attr({fill:g?e.maskFill:"rgba(0,0,0,0)"}),A===1&&k.css(v))}),t.outline||(t.outline=c.path().addClass("highcharts-navigator-outline").add(O)),h.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),(M=e.handles)==null?void 0:M.enabled){let g=e.handles,{height:A,width:k}=g;[0,1].forEach(b=>{var E;let y=g.symbols[b];if(t.handles[b]&&t.handles[b].symbolUrl===y){if(!t.handles[b].isImg&&t.handles[b].symbolName!==y){let T=W[y].call(W,-k/2-1,0,k,A);t.handles[b].attr({d:T}),t.handles[b].symbolName=y}}else(E=t.handles[b])==null||E.destroy(),t.handles[b]=c.symbol(y,-k/2-1,0,k,A,g),t.handles[b].attr({zIndex:7-b}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][b]).add(O),t.addMouseEvents();h.inverted&&t.handles[b].attr({rotation:90,rotationOriginX:Math.floor(-k/2),rotationOriginY:(A+k)/2}),h.styledMode||t.handles[b].attr({fill:g.backgroundColor,stroke:g.borderColor,"stroke-width":g.lineWidth,width:g.width,height:g.height,x:-k/2-1,y:0}).css(v)})}}update(t,e=!1){var d;let s=this.chart,h=s.options.chart.inverted!==((d=s.scrollbar)==null?void 0:d.options.vertical);if(R(!0,s.options.navigator,t),this.navigatorOptions=s.options.navigator||{},this.setOpposite(),r(t.enabled)||h)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(s);if(this.navigatorEnabled&&(this.isDirty=!0,t.adaptToUpdatedData===!1&&this.baseSeries.forEach(c=>{X(c,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(c=>{c.eventsToUnbind.push(l(c,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let c=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:c,[s.inverted?"width":"height"]:this.height,[s.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[s.inverted?"width":"height"]:this.height},!1)}e&&s.redraw()}render(t,e,s,h){let d=this.chart,c=this.xAxis,v=c.pointRange||0,O=c.navigatorAxis.fake?d.xAxis[0]:c,M=this.navigatorEnabled,g=this.rendered,A=d.inverted,k=d.xAxis[0].minRange,b=d.xAxis[0].options.maxRange,y=this.scrollButtonSize,E,T,Y,F=this.scrollbarHeight,q,Z;if(this.hasDragged&&!r(s))return;if(this.isDirty&&this.renderElements(),t=o(t-v/2),e=o(e+v/2),!x(t)||!x(e)){if(!g)return;s=0,h=B(c.width,O.width)}this.left=B(c.left,d.plotLeft+y+(A?d.plotWidth:0));let _=this.size=q=B(c.len,(A?d.plotHeight:d.plotWidth)-2*y);E=A?F:q+2*y,s=B(s,c.toPixels(t,!0)),h=B(h,c.toPixels(e,!0)),x(s)&&Math.abs(s)!==1/0||(s=0,h=E);let tt=c.toValue(s,!0),et=c.toValue(h,!0),at=Math.abs(o(et-tt));at<k?this.grabbedLeft?s=c.toPixels(et-k-v,!0):this.grabbedRight&&(h=c.toPixels(tt+k+v,!0)):r(b)&&o(at-v)>b&&(this.grabbedLeft?s=c.toPixels(et-b-v,!0):this.grabbedRight&&(h=c.toPixels(tt+b+v,!0))),this.zoomedMax=S(Math.max(s,h),0,_),this.zoomedMin=S(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(s,h),0,_),this.range=this.zoomedMax-this.zoomedMin,_=Math.round(this.zoomedMax);let it=Math.round(this.zoomedMin);M&&(this.navigatorGroup.attr({visibility:"inherit"}),Z=g&&!this.hasDragged?"animate":"attr",this.drawMasks(it,_,A,Z),this.drawOutline(it,_,A,Z),this.navigatorOptions.handles.enabled&&(this.drawHandle(it,0,A,Z),this.drawHandle(_,1,A,Z))),this.scrollbar&&(A?(Y=this.top-y,T=this.left-F+(M||
1!O.opposite?0:(O.titleOffset||0)+O.axisTitleMargin),F=q+2*y):(Y=this.top+(M?this.height:-F),T=this.left-y),this.scrollbar.position(T,Y,E,F),this.scrollbar.setRange(this.zoomedMin/(q||1),this.zoomedMax/(q||1))),this.rendered=!0,this.isDirty=!1,u(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,s=e.container,h=[],d,c;t.mouseMoveHandler=d=function(v){t.onMouseMove(v)},t.mouseUpHandler=c=function(v){t.onMouseUp(v)},(h=t.getPartsEvents("mousedown")).push(l(e.renderTo,"mousemove",d),l(s.ownerDocument,"mouseup",c),l(e.renderTo,"touchmove",d),l(s.ownerDocument,"touchend",c)),h.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=h,t.series&&t.series[0]&&h.push(l(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,s=[];return["shades","handles"].forEach(function(h){e[h].forEach(function(d,c){s.push(l(d.element,t,function(v){e[h+"Mousedown"](v,c)}))})}),s}shadesMousedown(t,e){var y;t=((y=this.chart.pointer)==null?void 0:y.normalize(t))||t;let s=this.chart,h=this.xAxis,d=this.zoomedMin,c=this.size,v=this.range,O=this.left,M=t.chartX,g,A,k,b;s.inverted&&(M=t.chartY,O=this.top),e===1?(this.grabbedCenter=M,this.fixedWidth=v,this.dragOffset=M-d):(b=M-O-v/2,e===0?b=Math.max(0,b):e===2&&b+v>=c&&(b=c-v,this.reversedExtremes?(b-=v,A=this.getUnionExtremes().dataMin):g=this.getUnionExtremes().dataMax),b!==d&&(this.fixedWidth=v,r((k=h.navigatorAxis.toFixedRange(b,b+v,A,g)).min)&&u(this,"setRange",{min:Math.min(k.min,k.max),max:Math.max(k.min,k.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){var c;t=((c=this.chart.pointer)==null?void 0:c.normalize(t))||t;let s=this.chart,h=s.xAxis[0],d=this.reversedExtremes;e===0?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?h.min:h.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?h.max:h.min),s.setFixedRange(void 0)}onMouseMove(t){var g;let e=this,s=e.chart,h=e.navigatorSize,d=e.range,c=e.dragOffset,v=s.inverted,O=e.left,M;(!t.touches||t.touches[0].pageX!==0)&&(M=(t=((g=s.pointer)==null?void 0:g.normalize(t))||t).chartX,v&&(O=e.top,M=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,M-O,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,M-O)):e.grabbedCenter&&(e.hasDragged=!0,M<c?M=c:M>h+c-d&&(M=h+c-d),e.render(0,0,M-c,M-c+d)),e.hasDragged&&e.scrollbar&&B(e.scrollbar.options.liveRedraw,!G&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,s,h,d,c,v,O=this.chart,M=this.xAxis,g=this.scrollbar,A=t.DOMEvent||t,k=O.inverted,b=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!g||!g.hasDragged)||t.trigger==="scrollbar")&&(h=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?d=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(c=this.fixedExtreme),this.zoomedMax===this.size&&(c=this.reversedExtremes?h.dataMin:h.dataMax),this.zoomedMin===0&&(
vendor: 4,295 bytes, line 1
1d=this.reversedExtremes?h.dataMax:h.dataMin),r((v=M.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,d,c)).min)&&u(this,"setRange",{min:Math.min(v.min,v.max),max:Math.max(v.min,v.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:A}})),t.DOMType!=="mousemove"&&t.DOMType!=="touchmove"&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&x(this.zoomedMin)&&x(this.zoomedMax)&&(s=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(s,e,k,b),this.outline&&this.drawOutline(s,e,k,b),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(s,0,k,b),this.drawHandle(e,1,k,b)))}removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(this.navigatorOptions.adaptToUpdatedData!==!1&&t.forEach(function(e){X(e,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&X(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){var E;let e=t.options,s=e.navigator||{},h=s.enabled,d=e.scrollbar||{},c=d.enabled,v=h&&s.height||0,O=c&&d.height||0,M=d.buttonsEnabled&&O||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=v,this.scrollbarHeight=O,this.scrollButtonSize=M,this.scrollbarEnabled=c,this.navigatorEnabled=h,this.navigatorOptions=s,this.scrollbarOptions=d,this.setOpposite();let g=this,A=g.baseSeries,k=t.xAxis.length,b=t.yAxis.length,y=A&&A[0]&&A[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,g.navigatorEnabled){let T=this.getXAxisOffsets();g.xAxis=new w(t,R({breaks:y.options.breaks,ordinal:y.options.ordinal,overscroll:y.options.overscroll},s.xAxis,{type:"datetime",yAxis:(E=s.yAxis)==null?void 0:E.id,index:k,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:y.options.ordinal?0:y.options.minPadding,maxPadding:y.options.ordinal?0:y.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:T,width:v}:{offsets:T,height:v}),"xAxis"),g.yAxis=new w(t,R(s.yAxis,{alignTicks:!1,offset:0,index:b,isInternal:!0,reversed:B(s.yAxis&&s.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:v}:{height:v}),"yAxis"),A||s.series.data?g.updateNavigatorSeries(!1):t.series.length===0&&(g.unbindRedraw=l(t,"beforeRedraw",function(){t.series.length>0&&!g.series&&(g.setBaseSeries(),g.unbindRedraw())})),g.reversedExtremes=t.inverted&&!g.xAxis.reversed||!t.inverted&&g.xAxis.reversed,g.renderElements(),g.addMouseEvents()}else g.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(T,Y){let F=t.xAxis[0],q=F.getExtremes(),Z=F.len-2*M,_=J("min",F.options.min,q.dataMin),tt=J("max",F.options.max,q.dataMax)-_;return Y?T*tt/Z+_:Z*(T-_)/tt},toPixels:function(T){return this.translate(T)},toValue:function(T){return this.translate(T,!0)}},g.xAxis.navigatorAxis.axis=g.xAxis,g.xAxis.navigatorAxis.toFixedRange=P.prototype.toFixedRange.bind(g.xAxis.navigatorAxis);if(t.options.scrollbar.enabled){let T=R(t.options.scrollbar,{vertical:t.inverted});!x(T.margin)&&g.navigatorEnabled&&(T.margin=t.inverted?-3:3),t.scrollbar=g.scrollbar=new z(t.renderer,T,t),l(g.scrollbar,"changed",function(Y){let F=g.size,q=F*this.to,Z=F*this.from;g.hasDragged=g.scrollbar.hasDragged,g.render(0,0,Z,q),this.shouldUpdateExtremes(Y.DOMType)&&setTimeout(function(){g.onMouseUp(Y)})})}g.addBaseSeriesEvents(),g.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,s=this.chart;this.opposite=B(t.opposite,!!(!e&&s.inverted))}getUnionExtremes(t){let e,s=this.chart.xAxis[0],h=this.xAxis,d=h.options,c=s.options;return t&&s.dataMin===null||(e={dataMin:B(d&&d.min,J("min",c.min,s.dataMin,h.dataMin,h.min)),dataMax:B(d&&d.max,J("max",c.max,s.dataMax,h.dataMax,h.max))}),e}setBaseSeries(t,e){let s=this.chart,h=this.baseSeries=[];t=t||s.options&&s.options.navigator.baseSeries||(s.series.length?a(s.series,d=>
1!d.options.isInternal).index:0),(s.series||[]).forEach((d,c)=>{!d.options.isInternal&&(d.options.showInNavigator||(c===t||d.options.id===t)&&d.options.showInNavigator!==!1)&&h.push(d)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){var k,b;let s=this,h=s.chart,d=s.baseSeries,c={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:(k=this.navigatorOptions.xAxis)==null?void 0:k.id,yAxis:(b=this.navigatorOptions.yAxis)==null?void 0:b.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},v=s.series=(s.series||[]).filter(y=>{let E=y.baseSeries;return!(0>d.indexOf(E))||(E&&(X(E,"updatedData",s.updatedDataHandler),delete E.navigatorSeries),y.chart&&y.destroy(),!1)}),O,M,g=s.navigatorOptions.series,A;d&&d.length&&d.forEach(y=>{let E=y.navigatorSeries,T=n({color:y.color,visible:y.visible},p(g)?L.navigator.series:g);if(E&&s.navigatorOptions.adaptToUpdatedData===!1)return;c.name="Navigator "+d.length,A=(O=y.options||{}).navigatorOptions||{},T.dataLabels=$(T.dataLabels),(M=R(O,c,T,A)).pointRange=B(T.pointRange,A.pointRange,L.plotOptions[M.type||"line"].pointRange);let Y=A.data||T.data;s.hasNavigatorData=s.hasNavigatorData||!!Y,M.data=Y||O.data&&O.data.slice(0),E&&E.options?E.update(M,e):(y.navigatorSeries=h.initSeries(M),h.setSortedData(),y.navigatorSeries.baseSeries=y,v.push(y.navigatorSeries))}),(g.data&&!(d&&d.length)||p(g))&&(s.hasNavigatorData=!1,(g=$(g)).forEach((y,E)=>{c.name="Navigator "+(v.length+1),(M=R(L.navigator.series,{color:h.series[E]&&!h.series[E].options.isInternal&&h.series[E].color||h.options.colors[E]||h.options.colors[0]},c,y)).data=y.data,M.data&&(s.hasNavigatorData=!0,v.push(h.initSeries(M)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(l(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(s=>{s.eventsToUnbind.push(l(s,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),s.eventsToUnbind.push(l(s,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),this.navigatorOptions.adaptToUpdatedData!==!1&&s.xAxis&&s.eventsToUnbind.push(l(s,"updatedData",this.updatedDataHandler)),s.eventsToUnbind.push(l(s,"remove",function(){i(e,s),this.navigatorSeries&&(i(t.series,this.navigatorSeries),r(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(e,s){return Math.min(e,s.xData&&s.xData.length?s.xData[0]:e)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(t.getExtremes!==void 0){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){var E;let t,e,s=this.chart.navigator,h=this.getExtremes(),d=h.min,c=h.max,v=h.dataMin,O=h.dataMax,M=c-d,g=s.stickToMin,A=s.stickToMax,k=B((E=this.ordinal)==null?void 0:E.convertOverscroll(this.options.overscroll),0),b=s.series&&s.series[0],y=!!this.setExtremes;!(this.eventArgs&&this.eventArgs.trigger==="rangeSelectorButton")&&(g&&(t=(e=v)+M),A&&(t=O+k,g||(e=Math.max(v,t-M,s.getBaseSeriesMin(b&&b.xData?b.xData[0]:-Number.MAX_VALUE)))),y&&(g||A)&&x(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),s.stickToMin=s.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,s=t.reversedExtremes?Math.round(t.zoomedMin)===0:Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=B(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,s),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let s=e.getBaseSeriesMin(t.xData[0]),h=t.xAxis,d=h.max,c=h.min,v=h.options.range;return!!(x(d)&&x(c))&&(v&&d-s>0?d-s<v:c<=s)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(l(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),l(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.he
1ight+t.scrollbarHeight:0)+t.navigatorOptions.margin}),l(K,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&(i(this.chart.xAxis,this.xAxis),i(this.chart.axes,this.xAxis)),this.yAxis&&(i(this.chart.yAxis,this.yAxis),i(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{m(t)}),this.navigatorEnabled=!1}}return K}),I(f,"Stock/Navigator/StandaloneNavigatorDefaults.js",[],function(){return{chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}}}),I(f,"Stock/Navigator/StandaloneNavigator.js",[f["Core/Chart/Chart.js"],f["Stock/Navigator/Navigator.js"],f["Core/Globals.js"],f["Core/Utilities.js"],f["Core/Axis/Axis.js"],f["Stock/Navigator/StandaloneNavigatorDefaults.js"]],function(w,C,D,j,P,U){let{merge:z,addEvent:N,fireEvent:H,pick:L}=j;class G{static navigator(l,S){let o=new G(l,S);return D.navigators?D.navigators.push(o):D.navigators=[o],o}constructor(l,S){this.boundAxes=[],this.userOptions=S,this.chartOptions=z(D.getOptions(),U,{navigator:S});let o=new w(l,this.chartOptions);o.options=z(o.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new C(o),o.navigator=this.navigator,this.initNavigator()}bind(l,S=!0){let o=this,r=l instanceof w?l.xAxis[0]:l;if(!(r instanceof P))return;let{min:m,max:i}=this.navigator.xAxis,n=[];if(S){let p=N(r,"setExtremes",x=>{(x.trigger==="pan"||x.trigger==="zoom"||x.trigger==="mouseWheelZoom")&&o.setRange(x.min,x.max,!0,x.trigger!=="pan",{trigger:r})});n.push(p)}let a=N(this.navigator,"setRange",p=>{r.setExtremes(p.min,p.max,p.redraw,p.animation)});n.push(a);let u=this.boundAxes.filter(function(p){return p.axis===r})[0];u||(u={axis:r,callbacks:[]},this.boundAxes.push(u)),u.callbacks=n,r.series.forEach(p=>{p.options.showInNavigator&&o.addSeries(p.options)}),r.setExtremes(m,i),N(r,"destroy",p=>{p.keepEvents||this.unbind(r)})}unbind(l){if(!l){this.boundAxes.forEach(({callbacks:o})=>{o.forEach(r=>r())}),this.boundAxes.length=0;return}let S=l instanceof P?l:l.xAxis[0];for(let o=this.boundAxes.length-1;o>=0;o--)this.boundAxes[o].axis===S&&(this.boundAxes[o].callbacks.forEach(r=>r()),this.boundAxes.splice(o,1))}destroy(){this.boundAxes.forEach(({callbacks:l})=>{l.forEach(S=>S())}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(l,S){this.chartOptions=z(this.chartOptions,{navigator:l}),this.navigator.chart.update(this.chartOptions,S)}redraw(){this.navigator.chart.redraw()}addSeries(l){this.navigator.chart.addSeries(z(l,{showInNavigator:L(l.showInNavigator,!0)})),this.navigator.setBaseSeries()}initNavigator(){var r;let l=this.navigator;l.top=1,l.xAxis.setScale(),l.yAxis.setScale(),l.xAxis.render(),l.yAxis.render(),(r=l.series)==null||r.forEach(m=>{m.translate(),m.render(),m.redraw()});let{min:S,max:o}=this.getInitialExtremes();l.chart.xAxis[0].userMin=S,l.chart.xAxis[0].userMax=o,l.render(S,o)}getRange(){let{min:l,max:S}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:o,userMax:r,min:m,max:i}=this.navigator.xAxis.getExtremes();return{min:L(l,m),max:L(S,i),dataMin:m,dataMax:i,userMin:o,userMax:r}}setRange(l,S,o,r,m){H(this.navigator,"setRange",{min:l,max:S,redraw:o,animation:r,eventArguments:z(m,{trigger:"navigator"})})}getInitialExtremes(){let{min:l,max:S}=this.navigator.xAxis.getExtremes();return{min:l,max:S}}}return G}),I(f,"masters/modules/navigator.src.js",[f["Core/Globals.js"],f["Stock/Navigator/StandaloneNavigator.js"],f["Stock/Navigator/NavigatorComposition.js"]],function(w,C,D){return w.StandaloneNavigator=w.StandaloneNavigator||C,w.navigator=w.StandaloneNavigator.navigator,D.compose(w.Chart,w.Axis,w.Series),w})})}(st)),st.exports}var ot=dt();const ct=ht(ot),ut=lt({__proto__:null,default:ct},[ot]);export{ut as n};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.