corrade-nucleus-nucleons – Rev 1

Subversion Repositories:
Rev:
/*
 Highcharts JS v5.0.10 (2017-03-31)
 Highstock as a plugin for Highcharts

 (c) 2017 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(K){"object"===typeof module&&module.exports?module.exports=K:K(Highcharts)})(function(K){(function(a){var A=a.addEvent,p=a.Axis,t=a.Chart,z=a.css,G=a.dateFormat,I=a.defined,J=a.each,x=a.extend,q=a.noop,u=a.Series,H=a.timeUnits;a=a.wrap;a(u.prototype,"init",function(a){var b;a.apply(this,Array.prototype.slice.call(arguments,1));(b=this.xAxis)&&b.options.ordinal&&A(this,"updatedData",function(){delete b.ordinalIndex})});a(p.prototype,"getTimeTicks">,function(a,b,d,h,E,l,k,f){var n=0,e,y,c=
{},g,r,B,m=[],w=-Number.MAX_VALUE,v=this.options.tickPixelInterval;if(!this.options.ordinal&&!this.options.breaks||!l||3>l.length||void 0===d)return a.call(this,b,d,h,E);r=l.length;for(e=0;e<r;e++){B=e&&l[e-1]>h;l[e]<d&&(n=e);if(e===r-1||l[e+1]-l[e]>5*k||B){if(l[e]>w){for(y=a.call(this,b,l[n],l[e],E);y.length&&y[0]<=w;)y.shift();y.length&&(w=y[y.length-1]);m=m.concat(y)}n=e+1}if(B)break}a=y.info;if(f&&a.unitRange<=H.hour){e=m.length-1;for(n=1;n<e;n++)G("%d",m[n])!==G("%d",m[n-1])&&(c[m[n]]="day",
g=!0);g&&(c[m[0]]="day");a.higherRanks=c}m.info=a;if(f&&I(v)){f=a=m.length;e=[];var F;for(g=[];f--;)n=this.translate(m[f]),F&&(g[f]=F-n),e[f]=F=n;g.sort();g=g[Math.floor(g.length/2)];g<.6*v&&(g=null);f=m[a-1]>h?a-1:a;for(F=void 0;f--;)n=e[f],h=Math.abs(F-n),F&&h<.8*v&&(null===g||h<.8*g)?(c[m[f]]&&!c[m[f+1]]?(h=f+1,F=n):h=f,m.splice(h,1)):F=n}return m});x(p.prototype,{beforeSetTickPositions:function(){var a,b=[],d=!1,h,E=this.getExtremes(),l=E.min,k=E.max,f,n=this.isXAxis&&!!this.options.breaks,E=
this.options.ordinal,D=this.chart.options.chart.ignoreHiddenSeries;if(E||n){J(this.series,function(f,c){if(!(D&&!1===f.visible||!1===f.takeOrdinalPosition&&!n)&&(b=b.concat(f.processedXData),a=b.length,b.sort(function(c,r){return c-r}),a))for(c=a-1;c--;)b[c]===b[c+1]&&b.splice(c,1)});a=b.length;if(2h||k-b[b.length-1]>h)&&(d=!0)}d?(this.ordinalPositions=b,h=this.ordinal2lin(Math.max(l,b[0]),!0),f=Math.max(this.ordinal2lin(Math.min(k,
b[b.length-1]),!0),1),this.ordinalSlope=k=(k-l)/(f-h),this.ordinalOffset=l-h*k):this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0}this.isOrdinal=E&&d;this.groupIntervalFactor=null},val2lin:function(a,b){var d=this.ordinalPositions;if(d){var h=d.length,e,l;for(e=h;e--;)if(d[e]===a){l=e;break}for(e=h-1;e--;)if(a>d[e]||0===e){a=(a-d[e])>/(d[e+1]-d[e]);l=e+a;break}b=b?l:this.ordinalSlope*(l||0)+this.ordinalOffset}else b=a;return b},lin2val:function(a,b){var d=this.ordinalPositions;if(d){var h=
this.ordinalSlope,e=this.ordinalOffset,l=d.length-1,k;if(b)0>a?a=d[0]:a>l?a=d[l]:(l=Math.floor(a),k=a-l);else for(;l--;)if(b=h*l+e,a>=b){h=h*(l+1)+e;k=(a-b)/(h-b);break}return void 0!==k&&void 0!==d[l]?d[l]+(k?k*(d[l+1]-d[l]):0):a}return a},getExtendedPositions:function(){var a=this.chart,b=this.series[0].currentDataGrouping,d=this.ordinalIndex,h=b?b.count+b.unitName:"raw",E=this.getExtremes(),l,k;d||(d=this.ordinalIndex={});d[h]||(l={series:[],chart:a,getExtremes:function(){OLOR="#A020F0">return{min:E.dataMin,
max:E.dataMax}},options:{ordinal:!0},val2lin:p.prototype.val2lin,ordinal2lin:p.prototype.ordinal2lin},J(this.series,function(f){k={xAxis:l,xData:f.xData,chart:a,destroyGroupedData:q};k.options={dataGrouping:b?{enabled:!0,forced:!0,approximation:"open",units:[[b.unitName,[b.count]]]}:{enabled:!1}};f.processData.apply(k);l.series.push(k)}),this.beforeSetTickPositions.apply(l),d[h]=l.ordinalPositions);return d[h]},getGroupIntervalFactor:function(a,b,d){var h;d=d.processedXData;var e=d.length,l=[];h=
this.groupIntervalFactor;if(!h){for(h=0;h<e-1;h++)l[h]=d[h+1]-d[h];l.sort(function(a,f){return a-f});l=l[Math.floor(e/2)];a=Math.max(a,d[0]);b=Math.min(b,d[e-1]);this.groupIntervalFactor=h=e*l/(b-a)}return h},postProcessTickInterval:function(a){var b=this.ordinalSlope;return b?this.options.breaks?this.closestPointRange:a/(b/this.closestPointRange):a}});p.prototype.ordinal2lin=p.prototype.val2lin;a(t.prototype,"pan",function(a,b){var d=this.xAxis[0],h=b.chartX,e=!1;if(d.options.ordinal&&d.series.length){var l=
this.mouseDownX,k=d.getExtremes(),f=k.dataMax,n=k.min,D=k.max,y=this.hoverPoints,c=d.closestPointRange,l=(l-h)/(d.translationSlope*(d.ordinalSlope||c)),g={ordinalPositions:d.getExtendedPositions()},c=d.lin2val,r=d.val2lin,B;g.ordinalPositions?1l?(y=g,B=d.ordinalPositions?d:g):(y=d.ordinalPositions?d:g,B=g),g=B.ordinalPositions,f>g[g.length-1]&&g.push(f),this.fixedRange=D-n,l=d.toFixedRange(null,null,c.apply(y,[r.apply(y,[n,!0])+l,!0]),c.apply(B,[r.apply(B,
[D,!0])+l,!0])),l.min>=Math.min(k.dataMin,n)&&l.max<=Math.max(f,D)&&d.setExtremes(l.min,l.max,!0,!1,{trigger:"pan"}),this.mouseDownX=h,z(this.container,{cursor:"move"})):e=!0}else e=!0;e&&a.apply(this,Array.prototype.slice.call(arguments,1))});u.prototype.gappedPath=function(){var a=this.options.gapSize,b=this.points.slice(),d=b.length-1;if(a&&0this.closestPointRange*a&&b.splice(d+1,0,{isNull:!0});return this.getGraphPath(b)}})(K);(function(a){function A(){return Array.prototype.slice.call(arguments,
1)}function p(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,t(this.pointArrayMap,["y"]))}var t=a.pick,z=a.wrap,G=a.each,I=a.extend,J=a.isArray,x=a.fireEvent,q=a.Axis,u=a.Series;I(q.prototype,{isInBreak:function(a,e){var b=a.repeat||Infinity,d=a.from,h=a.to-a.from;e=e>=d?(e-d)%b:b-(d-e)%b;return a.inclusive?e<=h:e!1:!0)));l=h&&e?h&&!q:h}return l}});z(q.prototype,"setTickPositions",function(a){a.apply(this,Array.prototype.slice.call(arguments,1));if(this.options.breaks){var e=this.tickPositions,b=this.tickPositions.info,d=[],h;for(h=0;hfunction(a){var b=a,h,e;for(e=0;e=a)break;else if(d.isInBreak(h,a)){b-=a-h.from;break}return b},d.lin2val=function(a){var b,e;for(e=0;e=a);e++)b.tob,d,e,f)},d.setAxisTranslation=function(a){q.prototype.setAxisTranslation.call(this,a);var b=d.options.breaks;a=[];var e=[],h=0,f,n,D=d.userMin||d.min,y=d.userMax||d.max,c=t(d.pointRangePadding,0),g,r;for(r in b)n=b[r],f=n.repeat||Infinity,d.isInBreak(n,D)&&(D+=n.to%f-D%f),d.isInBreak(n,y)&&(y-=y%f-n.from%f);for(r in b){n=b[r];g=n.from;for(f=n.repeat||Infinity;g-f>D;)g-=f;for(;gm){return c.value===m.value?("in"===c.move?0:1)-("in"===m.move?0:1):c.value-m.value});b=0;g=D;for(r in a)n=a[r],b+="in"===n.move?1:-1,1===b&&"in"===n.move&&(g=n.value),0===b&&(e.push({from:g,to:n.value,len:n.value-g-(n.size||0)}),h+=n.value-g-(n.size||0));d.breakArray=e;d.unitLength=y-D-h+c;x(d,"afterBreaks");d.transA=d.options.staticScale?d.options.staticScale:(y-d.min+c)/d.unitLength*d.transA;c&&(d.minPixelPadding=d.transA*d.minPointOffset);d.min=D;d.max=y})});z(u.prototype,"generatePoints",function(a){a.apply(this,
A(arguments));var e=this.xAxis,b=this.yAxis,d=this.points,h,q=d.length,l=this.options.connectNulls,k;if(e&&b&&(e.options.breaks||b.options.breaks))for(;q--;)h=d[q],k=null===h.y&&!1===l,k||!e.isInAnyBreak(h.x,!0)&&!b.isInAnyBreak(h.y,!0)||(d.splice(q,1),this.data[q]&&this.data[q].destroyElements())});a.Series.prototype.drawBreaks=function(a,e){var b=this,d=b.points,h,q,l,k;a&&G(e,function(f){h=a.breakArray||[];q=a.isXAxis?a.min:t(b.options.threshold,a.min);G(d,T COLOR="#A020F0">function(b){k=t(b["stack"+f.toUpperCase()],
b[f]);G(h,function(f){l=!1;if(q<f.from&&k>f.to||q>f.from&&k<f.from)l="pointBreak";else if(q<f.from&&k>f.from&&k<f.to||q>f.from&&k>f.to&&k<f.from)l="pointInBreak";l&&x(a,l,{point:b,brk:f})})})})};z(a.seriesTypes.column.prototype,"drawPoints",p);z(a.Series.prototype,"drawPoints",p)})(K);(function(a){var A=a.arrayMax,p=a.arrayMin,t=a.Axis,z=a.defaultPlotOptions,G=a.defined,I=a.each,J=a.extend,x=a.format,q=a.isNumber,u=a.merge,H=a.pick,e=a.Point,b=a.Tooltip,d=a.wrap,h=a.Series.prototype,E=h.processData,
l=h.generatePoints,k=h.destroy,f={approximation:"average",groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y",NT COLOR="#BC8F8F">"%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y",
"%Y","-%Y"]}},n={line:{},spline:{},area:{},areaspline:{},column:{approximation:"sum",groupPixelWidth:10},arearange:{approximation:"range"},areasplinerange:{approximation:"range"},columnrange:{approximation:"range",groupPixelWidth:10},candlestick:{approximation:"ohlc",groupPixelWidth:10},ohlc:{approximation:"ohlc",groupPixelWidth:5}},D=a.defaultDataGroupingUnits=[["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]],["week",[1]],["month",[1,3,6]],["year",null]],y={sum:function(c){var g=c.length,a;if(!g&&c.hasNulls)a=null;else if(g)for(a=0;g--;)a+=c[g];return a},average:function(c){var g=c.length;c=y.sum(c);q(c)&&g&&(c/=g);return c},open:function(c){return c.length?c[0]:c.hasNulls?null:void 0},high:function(c){return c.length?A(c):c.hasNulls?null:void 0},low:function(c){return c.length?p(c):c.hasNulls?null:void 0},close:function(c){return c.length?c[c.length-1]:c.hasNulls?null:void 0},ohlc:function(c,g,a,
f){c=y.open(c);g=y.high(g);a=y.low(a);f=y.close(f);if(q(c)||q(g)||q(a)||q(f))return[c,g,a,f]},range:function(c,a){c=y.low(c);a=y.high(a);if(q(c)||q(a))return[c,a]}};h.groupData=function(c,a,f,b){var m=this.data,g=this.options.data,r=[],n=[],d=[],B=c.length,C,e,h=!!a,l=[[],[],[],[]];b="function"===typeof b?b:y[b];var M=this.pointArrayMap,D=M&&M.length,k,u=0;for(k=e=0;k<=B&&!(c[k]>=f[0]);k++);for(k;k<=B;k++){for(;(void 0!==f[u+1]&&c[k]>=f[u+1]||k===B)&&(C=f[u],this.dataGroupInfo={start:e,length:l[0].length},
e=b.apply(this,l),void 0!==e&&(r.push(C),n.push(e),d.push(this.dataGroupInfo)),e=k,l[0]=[],l[1]=[],l[2]=[],l[3]=[],u+=1,k!==B););if(k===B)break;if(M){C=this.cropStart+k;C=m&&m[C]||this.pointClass.prototype.applyOptions.apply({series:this},[g[C]]);var p,x;for(p=0;pH(a.enabled,c.options.isStock),b=this.visible||!c.options.chart.ignoreHiddenSeries,m;this.forceCrop=f;this.groupPixelWidth=null;this.hasProcessed=!0;if(!1!==E.apply(this,arguments)&&f){this.destroyGroupedData();var w=this.processedXData,v=this.processedYData,n=c.plotSizeX,c=this.xAxis,d=c.options.ordinal,e=this.groupPixelWidth=c.getGroupPixelWidth&&c.getGroupPixelWidth();if(e){this.isDirty=m=!0;var C=c.getExtremes(),f=C.min,C=C.max,d=d&&c.getGroupIntervalFactor(f,C,this)||1,n=e*(C-f)/n*d,e=c.getTimeTicks(c.normalizeTimeTickInterval(n,
a.units||D),Math.min(f,w[0]),Math.max(C,w[w.length-1]),c.options.startOfWeek,w,this.closestPointRange),w=h.groupData.apply(this,[w,v,e,a.approximation]),v=w[0],d=w[1];if(a.smoothed){a=v.length-1;for(v[a]=Math.min(v[a],C);a--&&0<a;)v[a]+=n/2;v[0]=Math.max(v[0],f)}this.currentDataGrouping=e.info;this.closestPointRange=e.info.totalRange;this.groupMap=w[2];G(v[0])&&v[0]this.groupMap=null;this.hasGroupedData=m}};h.destroyGroupedData=function(){var c=this.groupedData;I(c||[],function(a,f){a&&(c[f]=a.destroy?a.destroy():null)});this.groupedData=null};h.generatePoints=function(){l.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null};d(e.prototype,"update",function(c){this.dataGroup?a.error(24):c.apply(this,[].slice.call(arguments,1))});d(b.prototype,"tooltipFooterHeaderFormatter",function(c,f,r){var g=f.series,m=g.tooltipOptions,
w=g.options.dataGrouping,v=m.xDateFormat,b,n=g.xAxis,d=a.dateFormat;return n&&"datetime"===n.options.type&&w&&q(f.key)?(c=g.currentDataGrouping,w=w.dateTimeLabelFormats,c?(n=w[c.unitName],1===c.count?v=n[0]:(v=n[1],b=n[2])):!v&&w&&(v=this.getXDateFormat(f,m,n)),v=d(v,f.key),b&&(v+=d(b,f.key+c.totalRange-1)),x(m[(r?"footer":"header")+"Format"],{point:J(f.point,{key:v}),series:g})):c.call(this,f,r)});h.destroy=function(){for(var c=this.groupedData||[],a=c.length;a--;)c[a]&&c[a].destroy();k.apply(this)};
d(h,"setOptions",function(c,a){c=c.call(this,a);var g=this.type,b=this.chart.options.plotOptions,m=z[g].dataGrouping;n[g]&&(m||(m=u(f,n[g])),c.dataGrouping=u(m,b.series&&b.series.dataGrouping,b[g].dataGrouping,a.dataGrouping));this.chart.options.isStock&&(this.requireSorting=!0);return c});d(t.prototype,"setScale",function(c){c.call(this);I(this.series,function(c){c.hasProcessed=!1})});t.prototype.getGroupPixelWidth=function(){var c=this.series,a=c.length,f,b=0,m=!1,w;for(f=a;f--;)(w=c[f].options.dataGrouping)&&
(b=Math.max(b,w.groupPixelWidth));for(f=a;f--;)(w=c[f].options.dataGrouping)&&c[f].hasProcessed&&(a=(c[f].processedXData||c[f].data).length,c[f].groupPixelWidth||a>this.chart.plotSizeX/b||a&&w.forced)&&(m=!0);return m?b:0};t.prototype.setDataGrouping=function(c,a){var f;a=H(a,!0);c||(c={forced:!1,units:null});if(this instanceof t)for(f=this.series.length;f--;)this.series[f].update({dataGrouping:c},!1);else I(this.chart.options.series,function(a){a.dataGrouping=c},!1);a&&this.chart.redraw()}})(K);
(function(a){var A=a.each,p=a.Point,t=a.seriesType,z=a.seriesTypes;t("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eOpen: {point.open}\x3cbr/\x3eHigh: {point.high}\x3cbr/\x3eLow: {point.low}\x3cbr/\x3eClose: {point.close}\x3cbr/\x3e'},threshold:null},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(a){return[a.open,a.high,a.low,a.close]},pointValKey:="#BC8F8F">"high",
translate:function(){var a=this,p=a.yAxis,t=!!a.modifyValue,x=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];z.column.prototype.translate.apply(a);A(a.points,function(q){A([q.open,q.high,q.low,q.close,q.low],function(u,H){null!==u&&(t&&(u=a.modifyValue(u)),q[x[H]]=p.toPixels(u,!0))})})},drawPoints:function(){var a=this,p=a.chart;A(a.points,function(t){var x,q,u,H,e=t.graphic,b,d=!e;void 0!==t.plotY&&(e||(t.graphic=e=p.renderer.path().add(a.group)),q=e.strokeWidth()%2/2,b=Math.round(t.plotX)-
q,u=Math.round(t.shapeArgs.width/2),H=["M",b,Math.round(t.yBottom),"L",b,Math.round(t.plotY)],null!==t.open&&(x=Math.round(t.plotOpen)+q,H.push("M",b,x,"L",b-u,x)),null!==t.close&&(x=Math.round(t.plotClose)+q,H.push("M",b,x,"L",b+u,x)),e[d?"attr":"animate"]({d:H}).addClass(t.getClassName(),!0))})},animate:null},{getClassName:function(){>return p.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}})})(K);(function(a){var A=a.defaultPlotOptions,p=
a.each,t=a.merge;a=a.seriesType;a("candlestick","ohlc",t(A.column,{states:{hover:{lineWidth:2}},tooltip:A.ohlc.tooltip,threshold:null}),{drawPoints:function(){var a=this,t=a.chart;p(a.points,function(p){var z=p.graphic,x,q,u,H,e,b,d,h=!z;void 0!==p.plotY&&(z||(p.graphic=z=t.renderer.path().add(a.group)),e=z.strokeWidth()%2/2,b=Math.round(p.plotX)-e,x=p.plotOpen,q=p.plotClose,u=Math.min(x,q),x=Math.max(x,q),d=Math.round(p.shapeArgs.width/2),q=Math.round(u)!==Math.round(p.plotY),H=x!==p.yBottom,u=Math.round(u)+
e,x=Math.round(x)+e,e=[],e.push("M",b-d,x,"L",b-d,u,"L",b+d,u,"L",b+d,x,"Z","M",b,u,"L",b,q?Math.round(p.plotY):u,"M",b,x,"L",b,H?Math.round(p.yBottom):x),z[h?"attr":"animate"]({d:e}).addClass(p.getClassName(),!0))})}})})(K);(function(a){var A=a.addEvent,p=a.each,t=a.noop,z=a.seriesType,G=a.seriesTypes,I=a.TrackerMixin,J=a.SVGRenderer.prototype.symbols,x=a.stableSort;z("flags","column",{pointRange:0,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}\x3cbr/\x3e"},threshold:null,
y:-30},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:a.Series.prototype.init,translate:function(){G.column.prototype.translate.apply(this);var a=this.options,u=this.chart,t=this.points,e=t.length-1,b,d,h=a.onSeries;b=h&&u.get(h);var a=a.onKey||"y",h=b&&b.options.step,z=b&&b.points,l=z&&z.length,k=this.xAxis,f=this.yAxis,n=k.getExtremes(),D=0,y,c,g;if(b&&b.visible&&l)for(D=(b.pointXOffset||0)+(b.barW||0)"#BC8F8F">/2,b=b.currentDataGrouping,c=
z[l-1].x+(b?b.totalRange:0),x(t,function(a,c){return a.x-c.x}),a="plot"+a[0].toUpperCase()+a.substr(1);l--&&t[e]&&!(b=t[e],y=z[l],y.x<=b.x&&void 0!==y[a]&&(b.x<=c&&(b.plotY=y[a],y.x(g.x-y.x)*(g[a]-y[a]))),e--,l++,0>e)););p(t,function(a,c){var m;void 0===a.plotY&&(a.x>=n.min&&a.x<=n.max?a.plotY=u.chartHeight-k.bottom-(k.opposite?k.height:0)+k.offset-f.top:a.shapeArgs={});a.plotX+=D;(d=t[c-1])&&d.plotX===a.plotX&&(void 0===d.stackIndex&&(d.stackIndex=
0),m=d.stackIndex+1);a.stackIndex=m})},drawPoints:function(){var q=this.points,u=this.chart,p=u.renderer,e,b,d=this.options,h=d.y,t,l,k,f,n,D,y,c=this.yAxis;for(l=q.length;l--;)k=q[l],y=k.plotX>this.xAxis.len,e=k.plotX,f=k.stackIndex,t=k.options.shape||d.shape,b=k.plotY,void 0!==b&&(b=k.plotY+h-(void 0!==f&&f*d.stackDistance)),n=f?void 0:k.plotX,D=f?void 0:k.plotY,f=k.graphic,void 0!==b&&0<=e&&!y?(f||(f=k.graphic=p.label("",null,>null,t,null,null,d.useHTML).attr({align:"flag"===t?"left":"center",width:d.width,
height:d.height,"text-align":d.textAlign}).addClass("highcharts-point").add(this.markerGroup),k.graphic.div&&(k.graphic.div.point=k)),0<e&&(e-=f.strokeWidth()%2),f.attr({text:k.options.title||d.title||"A",x:e,y:b,anchorX:n,anchorY:D}),k.tooltipPos=u.inverted?[c.len+c.pos-u.plotLeft-b,this.xAxis.len-e]:[e,b+c.pos-u.plotTop]):f&&(k.graphic=f.destroy());d.useHTML&&a.wrap(this.markerGroup,"on",function(c){return a.SVGElement.prototype.on.apply(c.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,
1))})},drawTracker:function(){var a=this.points;I.drawTrackerPoint.apply(this);p(a,function(q){var t=q.graphic;t&&A(t.element,"mouseover",function(){0<q.stackIndex&&!q.raised&&(q._y=t.y,t.attr({y:q._y-8}),q.raised=!0);p(a,function(a){a!==q&&a.raised&&a.graphic&&(a.graphic.attr({y:a._y}),a.raised=!1)})})})},animate:t,buildKDTree:t,setClip:t});J.flag=function(a,p,t,e,b){return["M",b&&b.anchorX||a,b&&b.anchorY||p,"L",a,p+e,a,p,a+t,p,a+t,p+e,a,p+e,OLOR="#BC8F8F">"Z"]};p(["circle","square"],function(a){J[a+"pin"]=function(q,
p,e,b,d){var h=d&&d.anchorX;d=d&&d.anchorY;"circle"===a&&b>e&&(q-=Math.round((b-e)/2),e=b);q=J[a](q,p,e,b);h&&d&&q.push("M",h,p>d?p:p+b,"L",h,d);return q}})})(K);(function(a){function A(a,b,d){this.init(a,b,d)}var p=a.addEvent,t=a.Axis,z=a.correctFloat,G=a.defaultOptions,I=a.defined,J=a.destroyObjectProperties,x=a.doc,q=a.each,u=a.fireEvent,H=a.hasTouch,e=a.isTouchDevice,b=a.merge,d=a.pick,h=a.removeEvent,E=a.wrap,l,k={height:e?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:a.svg&&!e,margin:10,
minWidth:6,step:.2,zIndex:3};G.scrollbar=b(!0,k,G.scrollbar);a.swapXY=l=function(a,b){var f=a.length,d;if(b)for(b=0;btranslateY:-99999}).add();this.track=a.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:b.trackBorderRadius||0,height:d,width:d}).add(e);this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=a.g().add(e);this.scrollbar=a.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:b.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=a.path(l(["M",-3,d/4,"L",-3,2*d/3,"M",0,d/4,"L",0,2*d/3,"M",3,d/4,"L",
3,2*d/3],b.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(a,b,d,e){var c=this.options.vertical,f=0,r=this.rendered?"animate":"attr";this.x=a;R="#A020F0">this.y=b+this.trackBorderWidth;this.width=d;this.xOffset=this.height=e;this.yOffset=f;c?(this.width=this.yOffset=
d=f=this.size,this.xOffset=b=0,this.barWidth=e-2*d,this.x=a+=this.options.margin):(this.height=this.xOffset=e=b=this.size,this.barWidth=d-2*e,this.y+=this.options.margin);this.group[r]({translateX:a,translateY:this.y});this.track[r]({width:d,height:e});this.scrollbarButtons[1][r]({translateX:c?0:d-b,translateY:c?e-f:0})},drawScrollbarButton:function(a){var f=this.renderer,b=this.scrollbarButtons,d=this.options,c=this.size,g;g=f.g().add(this.group);b.push(g);g=f.rect().addClass("highcharts-scrollbar-button").add(g);
g.attr(g.crisp({x:-.5,y:-.5,width:c+1,height:c+1,r:d.buttonBorderRadius},g.strokeWidth()));f.path(l(["M",c/2+(a?-1:1),c/2-3,"L",c/2+(a?-1:1),c/2+3,"L",c/2+(a?2:-2),c/2],d.vertical)).addClass("highcharts-scrollbar-arrow").add(b[a])},setRange:function(a,b){var f=this.options,d=f.vertical,c=f.minWidth,g=this.barWidth,r,n,m=this.rendered&&!this.hasDragged?"animate":"attr";I(g)&&(a=Math.max(a,0),r=Math.ceil(g*a),this.calculatedWidth=n=z(g*Math.min(b,1)-r),n<c&&(r=(g-c+n)*a,n=c),c=Math.floor(r+this.xOffset+
this.yOffset),g=n/2-.5,this.from=a,this.to=b,d?(this.scrollbarGroup[m]({translateY:c}),this.scrollbar[m]({height:n}),this.scrollbarRifles[m]({translateY:g}),this.scrollbarTop=c,this.scrollbarLeft=0):(this.scrollbarGroup[m]({translateX:c}),this.scrollbar[m]({width:n}),this.scrollbarRifles[m]({translateX:g}),this.scrollbarLeft=c,this.scrollbarTop=0),12>=n?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===f.showFull&&(0>=a&&1<=b?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var a=
this;a.mouseMoveHandler=function(b){var d=a.chart.pointer.normalize(b),f=a.options.vertical?"chartY":"chartX",c=a.initPositions;!a.grabbedCenter||b.touches&&0===b.touches[0][f]||(d=a.cursorToScrollbarPosition(d)[f],f=a[f],f=d-f,a.hasDragged=!0,a.updatePosition(c[0]+f,c[1]+f),a.hasDragged&&u(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};a.mouseUpHandler=function(b){a.hasDragged&&u(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});
a.grabbedCenter=a.hasDragged=a.chartX=a.chartY=null};a.mouseDownHandler=function(b){b=a.chart.pointer.normalize(b);b=a.cursorToScrollbarPosition(b);a.chartX=b.chartX;a.chartY=b.chartY;a.initPositions=[a.from,a.to];a.grabbedCenter=!0};a.buttonToMinClick=function(b){var d=z(a.to-a.from)*a.options.step;a.updatePosition(z(a.from-d),z(a.to-d));u(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.buttonToMaxClick=function(b){var d=(a.to-a.from)*a.options.step;a.updatePosition(a.from+d,
a.to+d);u(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})};a.trackClick=function(b){var d=a.chart.pointer.normalize(b),f=a.to-a.from,c=a.y+a.scrollbarTop,g=a.x+a.scrollbarLeft;a.options.vertical&&d.chartY>c||!a.options.vertical&&d.chartX>g?a.updatePosition(a.from+f,a.to+f):a.updatePosition(a.from-f,a.to-f);u(a,"changed",{from:a.from,to:a.to,trigger:"scrollbar",DOMEvent:b})}},cursorToScrollbarPosition:function(a){var b=this.options,b=b.minWidth>this.calculatedWidth?b.minWidth:0;return{chartX:(a.chartX-
this.x-this.xOffset)/(this.barWidth-b),chartY:(a.chartY-this.y-this.yOffset)/(this.barWidth-b)}},updatePosition:function(a,b){1a&&(b=z(b-a),a=0);this.from=a;this.to=b},update:function(a){this.destroy();this.init(this.chart.renderer,b(!0,this.options,a),this.chart)},addEvents:function(){var a=this.options.inverted?[1,0]:[0,1],b=this.scrollbarButtons,d=this.scrollbarGroup.element,e=this.mouseDownHandler,c=this.mouseMoveHandler,g=this.mouseUpHandler,a=[[b[a[0]].element,"click",
this.buttonToMinClick],[b[a[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[d,"mousedown",e],[x,"mousemove",c],[x,"mouseup",g]];H&&a.push([d,"touchstart",e],[x,"touchmove",c],[x,"touchend",g]);q(a,function(a){p.apply(null,a)});this._events=a},removeEvents:function(){q(this._events,function(a){h.apply(null,a)});this._events=void 0},destroy:function(){var a=this.chart.scroller;this.removeEvents();q(["track","scrollbarRifles","scrollbar","scrollbarGroup","group"],
function(a){this[a]&&this[a].destroy&&(this[a]=this[a].destroy())},this);a&&this===a.scrollbar&&(a.scrollbar=null,J(a.scrollbarButtons))}};E(t.prototype,"init",function(a){var b=this;a.apply(b,Array.prototype.slice.call(arguments,1));b.options.scrollbar&&b.options.scrollbar.enabled&&(b.options.scrollbar.vertical=!b.horiz,b.options.startOnTick=b.options.endOnTick=!1,b.scrollbar=new A(b.chart.renderer,b.options.scrollbar,b.chart),p(b.scrollbar,"changed",function(a){var f=Math.min(d(b.options.min,b.min),
b.min,b.dataMin),c=Math.max(d(b.options.max,b.max),b.max,b.dataMax)-f,g;b.horiz&&!b.reversed||!b.horiz&&b.reversed?(g=f+c*this.to,f+=c*this.from):(g=f+c*(1-this.from),f+=c*(1-this.to));b.setExtremes(f,g,!0,!1,a)}))});E(t.prototype,"render",function(a){var b=Math.min(d(this.options.min,this.min),this.min,this.dataMin),f=Math.max(d(this.options.max,this.max),this.max,this.dataMax),e=this.scrollbar,c;a.apply(this,Array.prototype.slice.call(arguments,1));if(e){this.horiz?(e.position(this.left,this.top+
this.height+2+this.chart.scrollbarsOffsets[1]+(this.opposite?0:this.axisTitleMargin+this.offset),this.width,this.height),c=1):(e.position(this.left+this.width+2+this.chart.scrollbarsOffsets[0]+(this.opposite?this.axisTitleMargin+this.offset:0),this.top,this.width,this.height),c=0);if(!this.opposite&&!this.horiz||this.opposite&&this.horiz)this.chart.scrollbarsOffsets[c]+=this.scrollbar.size+this.scrollbar.options.margin;isNaN(b)||isNaN(f)||!I(this.min)||!I(this.max)?e.setRange(0,0):(c=(this.min-b)/
(f-b),b=(this.max-b)/(f-b),this.horiz&&!this.reversed||!this.horiz&&this.reversed?e.setRange(c,b):e.setRange(1-b,1-c))}});E(t.prototype,"getOffset",function(a){var b=this.horiz?2:1,d=this.scrollbar;a.apply(this,Array.prototype.slice.call(arguments,1));d&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[b]+=d.size+d.options.margin)});E(t.prototype,"destroy",function(a){this.scrollbar&&(this.scrollbar=this.scrollbar.destroy());a.apply(this,Array.prototype.slice.call(arguments,1))});a.Scrollbar=
A})(K);(function(a){function A(a){this.init(a)}var p=a.addEvent,t=a.Axis,z=a.Chart,G=a.defaultOptions,I=a.defined,J=a.destroyObjectProperties,x=a.doc,q=a.each,u=a.erase,H=a.error,e=a.extend,b=a.grep,d=a.hasTouch,h=a.isNumber,E=a.isObject,l=a.merge,k=a.pick,f=a.removeEvent,n=a.Scrollbar,D=a.Series,y=a.seriesTypes,c=a.wrap,g=a.swapXY,r=[].concat(a.defaultDataGroupingUnits),B=function(a){var c=b(arguments,h);if(c.length)return Math[a].apply(0,c)};r[4]=["day",[1,2,3,4]];r[5]=["week",[1,2,3]];e(G,{navigator:{height:40,
margin:25,maskInside:!0,series:{type:void 0===y.areaspline?"line":"areaspline",compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:r},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,shadow:!1,threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,tickPixelInterval:200,labels:{align:"left",x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",
startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});A.prototype={drawHandle:function(a,c,b,g){this.handles[c][g](b?{translateX:Math.round(this.left+this.height/2-8),translateY:Math.round(this.top+parseInt(a,10)+.5)}:{translateX:Math.round(this.left+parseInt(a,10)),translateY:Math.round(this.top+this.height/2-8)})},getHandlePath:function(a){return g(["M",-4.5,.5,"L",3.5,.5,"L",3.5,15.5,"L",-4.5,15.5,"L",-4.5,.5,"M",
-1.5,4,"L",-1.5,12,"M",.5,4,"L",.5,12],a)},drawOutline:function(a,c,b,g){var m=this.navigatorOptions.maskInside,d=this.outline.strokeWidth(),v=d/2,d=d%2/2,w=this.outlineHeight,f=this.scrollbarHeight,r=this.size,e=this.left-f,F=this.top;b?(e-=v,b=F+c+d,c=F+a+d,a=["M",e+w,F-f-d,"L",e+w,b,"L",e,b,"L",e,c,"L",e+w,c,"L",e+w,F+r+f].concat(m?["M",e+w,b-v,"L",e+w,c+v]:[])):(a+=e+f-d,c+=e+f-d,F+=v,a=["M",e,F,"L",a,F,"L",a,F+w,"L",c,F+w,"L",c,F,"L",e+r+2*f,F].concat(m?["M",a-v,F,"L",c+v,F]:[]));this.outline[g]({d:a})},
drawMasks:function(a,c,b,d){var m=this.left,g=this.top,v=this.height,w,f,e,r;b?(e=[m,m,m],r=[g,g+a,g+c],f=[v,v,v],w=[a,c-a,this.size-c]):(e=[m,m+a,m+c],r=[g,g,g],f=[a,c-a,this.size-c],w=[v,v,v]);q(this.shades,function(a,c){a[d]({x:e[c],y:r[c],width:f[c],height:w[c]})})},renderElements:function(){var a=this,c=a.navigatorOptions.maskInside,b=a.chart,g=b.inverted,d=b.renderer,f;a.navigatorGroup=f=d.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();q([!c,c,!c],function(c,b){a.shades[b]=d.rect().addClass("highcharts-navigator-mask"+
(1===b?"-inside":"-outside")).add(f)});a.outline=d.path().addClass("highcharts-navigator-outline").add(f);q([0,1],function(c){a.handles[c]=d.path(a.getHandlePath(g)).attr({zIndex:7-c}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][c]).add(f)})},update:function(a){this.destroy();l(!0,this.chart.options.navigator,this.options,a);this.init(this.chart)},render:function(a,c,b,d){var m=this.chart,g,w,v=this.scrollbarHeight,f,e=this.xAxis;g=this.navigatorEnabled;var r,
F=this.rendered;w=m.inverted;var B=m.xAxis[0].minRange;if(!this.hasDragged||I(b)){if(!h(a)||!h(c))if(F)b=0,d=e.width;else return;this.left=k(e.left,m.plotLeft+v+(w?m.plotWidth:0));this.size=r=f=k(e.len,(w?m.plotHeight:m.plotWidth)-2*v);m=w?v:f+2*v;b=k(b,e.toPixels(a,!0));d=k(d,e.toPixels(c,!0));h(b)&&Infinity!==Math.abs(b)||(b=0,d=m);a=e.toValue(b,!0);c=e.toValue(d,!0);if(Math.abs(c-a)Math.min(Math.max(b,d,0),r);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(b,d),0),r);this.range=this.zoomedMax-this.zoomedMin;r=Math.round(this.zoomedMax);b=Math.round(this.zoomedMin);g&&(this.navigatorGroup.attr({visibility:"visible"}),F=F&&!this.hasDragged?"animate":"attr",this.drawMasks(b,r,w,F),this.drawOutline(b,r,w,F),this.drawHandle(b,0,w,F),this.drawHandle(r,1,w,F));this.scrollbar&&(w?(w=this.top-v,g=this.left-v+(g?0:this.height),v=f+2*v):(w=this.top+
(g?this.height:-v),g=this.left-v),this.scrollbar.position(g,w,m,v),this.scrollbar.setRange(this.zoomedMin/f,this.zoomedMax/f));this.rendered=!0}},addMouseEvents:function(){var a=this,c=a.chart,b=c.container,g=[],f,e;a.mouseMoveHandler=f=function(c){a.onMouseMove(c)};a.mouseUpHandler=e=function(c){a.onMouseUp(c)};g=a.getPartsEvents("mousedown");g.push(p(b,"mousemove",f),p(x,"mouseup",e));d&&(g.push(p(b,"touchmove",f),p(x,"touchend",e)),g.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=g;a.series&&
a.series[0]&&g.push(p(a.series[0].xAxis,"foundExtremes",function(){c.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(a){var c=this,b=[];q(["shades","handles"],function(m){q(c[m],function(g,d){b.push(p(g.element,a,function(a){c[m+"Mousedown"](a,d)}))})});return b},shadesMousedown:function(a,c){a=this.chart.pointer.normalize(a);var b=this.chart,m=this.xAxis,g=this.zoomedMin,d=this.left,f=this.size,e=this.range,w=a.chartX,r;b.inverted&&(w=a.chartY,d=this.top);1===c?(this.grabbedCenter=
w,this.fixedWidth=e,this.dragOffset=w-g):(a=w-d-e/2,0===c?a=Math.max(0,a):2===c&&a+e>=f&&(a=f-e,r=this.getUnionExtremes().dataMax),a!==g&&(this.fixedWidth=e,c=m.toFixedRange(a,a+e,null,r),b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(a,c){this.chart.pointer.normalize(a);a=this.chart;var b=a.xAxis[0],m=a.inverted&&!b.reversed||!a.inverted&&b.reversed;0===c?(this.grabbedLeft=!0,thisFONT>.otherHandlePos=this.zoomedMax,this.fixedExtreme=
m?b.min:b.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=m?b.max:b.min);a.fixedRange=null},onMouseMove:function(a){var c=this,b=c.chart,g=c.left,m=c.navigatorSize,d=c.range,f=c.dragOffset,e=b.inverted;a.touches&&0===a.touches[0].pageX||(a=b.pointer.normalize(a),b=a.chartX,e&&(g=c.top,b=a.chartY),c.grabbedLeft?(c.hasDragged=!0,c.render(0,0,b-g,c.otherHandlePos)):c.grabbedRight?(c.hasDragged=!0,c.render(0,0,c.otherHandlePos,b-g)):c.grabbedCenter&&(c.hasDragged=!0,b<
f?b=f:b>m+f-d&&(b=m+f-d),c.render(0,0,b-f,b-f+d)),c.hasDragged&&c.scrollbar&&c.scrollbar.options.liveRedraw&&(a.DOMType=a.type,setTimeout(function(){c.onMouseUp(a)},0)))},onMouseUp:function(a){var c=this.chart,b=this.xAxis,g=this.scrollbar,d,m,f=a.DOMEvent||a;(!this.hasDragged||g&&g.hasDragged)&&"scrollbar"!==a.trigger||(this.zoomedMin===this.otherHandlePos?d=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(m=this.fixedExtreme),OLOR="#A020F0">this.zoomedMax===this.size&&(m=this.getUnionExtremes().dataMax),
b=b.toFixedRange(this.zoomedMin,this.zoomedMax,d,m),I(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:f}));"mousemove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=thisNT>.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(q(this.eventsToUnbind,function(a){a()}),this.eventsToUnbind=void 0);
this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&!1!==this.navigatorOptions.adaptToUpdatedData&&(q(a,function(a){f(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&f(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(a){var b=a.options,g=b.navigator,d=g.enabled,m=b.scrollbar,f=m.enabled,b=d?g.height:0,e=f?m.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=b;this.scrollbarHeight=
e;this.scrollbarEnabled=f;this.navigatorEnabled=d;this.navigatorOptions=g;this.scrollbarOptions=m;this.outlineHeight=b+e;this.opposite=k(g.opposite,!d&&a.inverted);var r=this,m=r.baseSeries,f=a.xAxis.length,h=a.yAxis.length,q=m&&m[0]&&m[0].xAxis||a.xAxis[0];a.extraMargin={type:r.opposite?"plotTop":"marginBottom",value:(d||!a.inverted?r.outlineHeight:0)+g.margin};a.inverted&&(a.extraMargin.type=r.opposite?"marginRight":"plotLeft");a.isDirtyBox=!0;r.navigatorEnabled?(r.xAxis=new t(a,l({breaks:q.options.breaks,
ordinal:q.options.ordinal},g.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:f,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[e,0,-e,0],width:b}:{offsets:[0,-e,0,e],height:b})),r.yAxis=new t(a,l(g.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:h,zoomEnabled:!1},a.inverted?{width:b}:{height:b})),m||g.series.data?r.addBaseSeries():0===a.series.length&&c(a,"redraw",function(c,b){0<
a.series.length&&!r.series&&(r.setBaseSeries(),a.redraw=c);c.call(a,b)}),r.renderElements(),r.addMouseEvents()):r.xAxis={translate:function(c,b){var g=a.xAxis[0],d=g.getExtremes(),m=g.len-2*e,f=B("min",g.options.min,d.dataMin),g=B("max",g.options.max,d.dataMax)-f;return b?c*g/m+f:m*(c-f)/g},toPixels:function(a){return this.translate(a)},toValue:function(a){return this.translate(a,!0)},toFixedRange:t.prototype.toFixedRange,fake:!0};a.options.scrollbar.enabled&&(a.scrollbar=r.scrollbar=new n(a.renderer,
l(a.options.scrollbar,{margin:r.navigatorEnabled?0:10,vertical:a.inverted}),a),p(r.scrollbar,"changed",function(c){var b=r.size,g=b*this.to,b=b*this.from;r.hasDragged=r.scrollbar.hasDragged;r.render(0,0,b,g);(a.options.scrollbar.liveRedraw||"mousemove"!==c.DOMType)&&setTimeout(function(){r.onMouseUp(c)})}));r.addBaseSeriesEvents();r.addChartEvents()},getUnionExtremes:function(a){var c=this.chart.xAxis[0],b=this.xAxis,g=b.options,d=c.options,m;a&&null===c.dataMin||(m={dataMin:k(g&&g.min,B("min",d.min,
c.dataMin,b.dataMin,b.min)),dataMax:k(g&&g.max,B("max",d.max,c.dataMax,b.dataMax,b.max))});return m},setBaseSeries:function(a){var c=this.chart,b;a=a||c.options&&c.options.navigator.baseSeries||0;this.series&&(this.removeBaseSeriesEvents(),q(this.series,function(a){a.destroy()}));b=this.baseSeries=[];q(c.series||[],function(c,g){(c.options.showInNavigator||(g===a||c.options.id===a)&&!1!==c.options.showInNavigator)&&b.push(c)});this.xAxis&&!this.xAxis.fake&&this.addBaseSeries()},addBaseSeries:function(){var a=
this,c=a.chart,b=a.series=[],g=a.baseSeries,d,f,r=a.navigatorOptions.series,e,B={enableMouseTracking:!1,index:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,visible:!0};g?q(g,function(g,m){B.name="Navigator "+(m+1);d=g.options||{};e=d.navigatorOptions||{};f=l(d,B,r,e);m=e.data||r.data;a.hasNavigatorData=a.hasNavigatorData||!!m;f.data=m||d.data&&d.data.slice(0);g.navigatorSeries=c.initSeries(f);b.push(g.navigatorSeries)}):(f=
l(r,B),f.data=r.data,a.hasNavigatorData=!!f.data,b.push(c.initSeries(f)));this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var a=this,c=a.baseSeries||[];c[0]&&c[0].xAxis&&p(c[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);!1!==this.navigatorOptions.adaptToUpdatedData&&q(c,function(c){c.xAxis&&p(c,"updatedData",this.updatedDataHandler);p(c,"remove",function(){this.navigatorSeries&&(u(a.series,this.navigatorSeries),"#A020F0">this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},
modifyNavigatorAxisExtremes:function(){var a=this.xAxis,c;a.getExtremes&&(!(c=this.getUnionExtremes(!0))||c.dataMin===a.min&&c.dataMax===a.max||(a.min=c.dataMin,a.max=c.dataMax))},modifyBaseAxisExtremes:function(){var a=this.chart.navigator,c=this.getExtremes(),b=c.dataMin,g=c.dataMax,c=c.max-c.min,d=a.stickToMin,f=a.stickToMax,r,e,B=a.series&&a.series[0],l=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(d&&(e=b,r=e+c),f&&(r=g,d||(e=Math.max(r-c,B&&B.xData?B.xData[0]:
-Number.MAX_VALUE))),l&&(d||f)&&h(e)&&(this.min=this.userMin=e,this.max=this.userMax=r));a.stickToMin=a.stickToMax=null},updatedDataHandler:function(){var a=this.chart.navigator,c=this.navigatorSeries;a.stickToMin=h(this.xAxis.min)&&this.xAxis.min<=this.xData[0];a.stickToMax=Math.round(a.zoomedMax)>=Math.round(a.size);c&&!a.hasNavigatorData&&(c.options.pointStart=this.xData[0],c.setData(this>.options.data,!1,null,!1))},addChartEvents:function(){p(this.chart,"redraw",function(){var a=this.navigator,
c=a&&(a.baseSeries&&a.baseSeries[0]&&a.baseSeries[0].xAxis||a.scrollbar&&this.xAxis[0]);c&&a.render(c.min,c.max)})},destroy:function(){this.removeEvents();this.xAxis&&(u(this.chart.xAxis,this.xAxis),u(this.chart.axes,this.xAxis));this.yAxis&&(u(this.chart.yAxis,this.yAxis),u(this.chart.axes,this.yAxis));q(this.series||[],function(a){a.destroy&&a.destroy()});q("series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" "),function(a){this[a]&&
this[a].destroy&&this[a].destroy();this[a]=null},this);q([this.handles],function(a){J(a)},this)}};a.Navigator=A;c(t.prototype,"zoom",function(a,c,b){var g=this.chart,d=g.options,f=d.chart.zoomType,r=d.navigator,d=d.rangeSelector,e;this.isXAxis&&(r&&r.enabled||d&&d.enabled)&&("x"===f?g.resetZoomButton="blocked":"y"===f?e=!1:"xy"ONT>===f&&(g=this.previousZoom,I(c)?this.previousZoom=[this.min,this.max]:g&&(c=g[0],b=g[1],delete this.previousZoom)));return void 0!==e?e:a.call(this,c,b)});c(z.prototype,"init",
function(a,c,b){p(this,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new A(this)});a.call(this,c,b)});c(z.prototype,"setChartSize",function(a){var c=this.legend,b=this.navigator,g,d,f,r;a.apply(this,[].slice.call(arguments,1));b&&(d=c.options,f=b.xAxis,r=b.yAxis,g=b.scrollbarHeight,this.inverted?(b.left=b.opposite?this.chartWidth-g-b.height:this.spacing[3]+g,b.top=this.plotTop+g):(b.left=this.plotLeft+g,b.top=b.navigatorOptions.top||
this.chartHeight-b.height-g-this.spacing[2]-("bottom"===d.verticalAlign&&d.enabled&&!d.floating?c.legendHeight+k(d.margin,10):0)),f&&r&&(this.inverted?f.options.left=r.options.left=b.left:f.options.top=r.options.top=b.top,f.setAxisSize(),r.setAxisSize()))});c(D.prototype,"addPoint",function(a,c,b,g,d){var f=this.options.turboThreshold;f&&this.xData.length>f&&E(c,!0)&&this.chart.navigator&&H(20,!0);a.call(this,c,b,g,d)});c(z.prototype,"addSeries",function(a,c,b,g){a=a.call(this,c,!1,g);this.navigator&&
this.navigator.setBaseSeries();k(b,!0)&&this.redraw();return a});c(D.prototype,"update",function(a,c,b){a.call(this,c,!1);this.chart.navigator&&this.chart.navigator.setBaseSeries();k(b,!0)&&this.chart.redraw()});z.prototype.callbacks.push(function(a){var c=a.navigator;c&&(a=a.xAxis[0].getExtremes(),c.render(a.min,a.max))})})(K);(function(a){function A(a){this.init(a)}var p=a.addEvent,t=a.Axis,z=a.Chart,G=a.css,I=a.createElement,J=a.dateFormat,x=a.defaultOptions,q=x.global.useUTC,u=a.defined,H=a.destroyObjectProperties,
e=a.discardElement,b=a.each,d=a.extend,h=a.fireEvent,E=a.Date,l=a.isNumber,k=a.merge,f=a.pick,n=a.pInt,D=a.splat,y=a.wrap;d(x,{rangeSelector:{buttonTheme:{"stroke-width":0,width:28,height:18,padding:2,zIndex:7},height:35,inputPosition:{align:"right"}}});x.lang=k(x.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});A.prototype={clickButton:function(a,g){var c=this,d=c.chart,e=c.buttonOptions[a],h=d.xAxis[0],v=d.scroller&&d.scroller.getUnionExtremes()||h||{},k=v.dataMin,
n=v.dataMax,u,C=h&&Math.round(Math.min(h.max,f(n,h.max))),x=e.type,L,v=e._range,y,z,A,E=e.dataGrouping;if(null!==k&&null!==n){d.fixedRange=v;E&&(this.forcedDataGrouping=!0,t.prototype.setDataGrouping.call(h||{chart:this.chart},E,!1));if("month"===x||"year"===x)h?(x={range:e,max:C,dataMin:k,dataMax:n},u=h.minFromRange.call(x),l(x.newMax)&&(C=x.newMax)):v=e;else if(v)u=Math.max(C-v,k),C=Math.min(u+v,n);else if("ytd"===x)if(h)void 0===n&&(k=Number.MAX_VALUE,n=Number.MIN_VALUE,b(d.series,function(a){a=
a.xData;k=Math.min(a[0],k);n=Math.max(a[a.length-1],n)}),g=!1),C=c.getYTDExtremes(n,k,q),u=y=C.min,C=C.max;else{p(d,"beforeRender",function(){c.clickButton(a)});return}else"all"===x&&h&&(u=k,C=n);c.setSelected(a);h?h.setExtremes(u,C,f(g,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:e}):(L=D(d.options.xAxis)[0],A=L.range,L.range=v,z=L.min,L.min=y,p(d,"load",function(){L.range=A;L.min=z}))}},setSelected:function(a){this.selected=this.options.selected=a},defaultButtons:[{type:"month",count:1,
text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(a){var c=this,d=a.options.rangeSelector,f=d.buttons||[].concat(c.defaultButtons),e=d.selected,l=function(){var a=c.minInput,b=c.maxInput;a&&a.blur&&h(a,"blur");b&&b.blur&&h(b,"blur")};c.chart=a;c.options=d;c.buttons=[];a.extraTopMargin=d.height;c.buttonOptions=f;this.unMouseDown=p(a.container,"mousedown",l);this.unResize=p(a,"resize",
l);b(f,c.computeButtonRange);void 0!==e&&f[e]&&this.clickButton(e,!1);p(a,"load",function(){p(a.xAxis[0],"setExtremes",function(b){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==b.trigger&&"updatedData"!==b.trigger&&c.forcedDataGrouping&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var a=this.chart,d=a.xAxis[0],f=Math.round(d.max-d.min),e=!d.hasVisibleSeries,a=a.scroller&&a.scroller.getUnionExtremes()||d,m=a.dataMin,h=a.dataMax,a=this.getYTDExtremes(h,m,q),v=a.min,k=a.max,
n=this.selected,p=l(n),t=this.options.allButtonsEnabled,u=this.buttons;b(this.buttonOptions,function(a,c){var b=a._range,g=a.type,r=a.count||1;a=u[c];var B=0;c=c===n;var l=b>h-m,q=b<d.minRange,w=!1,C=!1,b=b===f;("month"===g||"year"===g)&&f>=864E5*{month:28,year:365}[g]*r&&f<=864E5*{month:31,year:366}[g]*r?b=!0:"ytd"===g?(b=k-v===f,w=!c):"all"===g&&(b=d.max-d.min>=h-m,C=!c&&p&&b);g=!t&&(l||q||C||e);b=c&&b||b&&!p&&!w;g?B=3:b&&(p=!0,B=2);a.state!==B&&amp;a.setState(B)})},computeButtonRange:function(a){var c=
a.type,b=a.count||1,d={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(d[c])a._range=d[c]*b;else if("month"===c||"year"===c)a._range=864E5*{month:30,year:365}[c]*b},setInputValue:function(a,b){var c=this.chart.options.rangeSelector,d=this[a+"Input"];u(b)&&(d.previousValue=d.HCTime,d.HCTime=b);d.value=J(c.inputEditDateFormat||"%Y-%m-%d",d.HCTime);this[a+"DateBox"].attr({text:J(c.inputDateFormat||"%b %e, %Y",d.HCTime)})},showInput:function(a){var c=this.inputGroup,b=this[a+"DateBox"];
G(this[a+"Input"],{left:c.translateX+b.x+"px",top:c.translateY+"px",width:b.width-2+"px",height:b.height-2+"px",border:"2px solid silver"})},hideInput:function(a){G(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)},drawInput:function(a){function c(){var a=p.value,c=(e.inputDateParser||COLOR="#DA70D6">Date.parse)(a),g=d.xAxis[0],f=d.scroller&&d.scroller.xAxis?d.scroller.xAxis:g,r=f.dataMin,f=f.dataMax;c!==p.previousValue&&(p.previousValue=c,l(c)||(c=a.split("-"),c=Date.UTC(n(c[0]),n(c[1])-
1,n(c[2]))),l(c)&&(q||(c+=6E4*(new Date).getTimezoneOffset()),k?c>b.maxInput.HCTime?c=void 0:c<r&&(c=r):c<b.minInput.HCTime?c=void 0:c>f&&(c=f),void 0!==c&&g.setExtremes(k?c:g.min,k?g.max:c,void 0,void 0,{trigger:"rangeSelectorInput"})))}var b=this,d=b.chart,f=d.renderer,e=d.options.rangeSelector,h=b.div,k="min"===a,p,t,C=this.inputGroup;this[a+"Label"]=t=f.label(x.lang[k?"rangeSelectorFrom":<FONT COLOR="#BC8F8F">"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(C);C.offset+=
t.width+5;this[a+"DateBox"]=f=f.label("",C.offset).addClass("highcharts-range-input").attr({padding:2,width:e.inputBoxWidth||90,height:e.inputBoxHeight||17,stroke:e.inputBoxBorderColor||"#cccccc","stroke-width":1,"text-align":"center"}).on("click",function(){b.showInput(a);b[a+"Input"].focus()}).add(C);C.offset+=f.width+(k?10:0);this[a+"Input"]=p=I("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:d.plotTop+"px"},h);p.onfocus=function(){b.showInput(a)};p.onblur=function(){b.hideInput(a)};
p.onchange=c;p.onkeypress=function(a){13===a.keyCode&&c()}},getPosition:function(){var a=this.chart,b=a.options.rangeSelector,a=f((b.buttonPosition||{}).y,a.plotTop-a.axisOffset[0]-b.height);return{buttonTop:a,inputTop:a-10}},getYTDExtremes:function(a,b,d){var c=new E(a),g=c[E.hcGetFullYear]();d=d?E.UTC(g,0,1):+new E(g,0,1);b=Math.max(b||0,d);c=c.getTime();return{max:Math.min(a||c,c),min:b}},render:function(a,g){var c=this,e=c.chart,m=e.renderer,h=e.container,l=e.options,k=l.exporting&&!1!==l.exporting.enabled&&
l.navigation&&l.navigation.buttonOptions,n=l.rangeSelector,q=c.buttons,l=x.lang,p=c.div,p=c.inputGroup,t=n.buttonTheme,y=n.buttonPosition||{},z=n.inputEnabled,A=t&&t.states,E=e.plotLeft,D,H=this.getPosition(),G=c.group,J=c.rendered;!1!==n.enabled&&(J||(c.group=G=m.g("range-selector-buttons").add(),c.zoomText=m.text(l.rangeSelectorZoom,f(y.x,E),15).css(n.labelStyle).add(G),D=f(y.x,E)+c.zoomText.getBBox().width+5,b(c.buttonOptions,function(a,b){q[b]=m.button(a.text,D,0,function(){c.clickButton(b);c.isActive=
!0},t,A&&A.hover,A&&A.select,A&&A.disabled).attr({"text-align":"center"}).add(G);D+=q[b].width+f(n.buttonSpacing,5)}),!1!==z&&(c.div=p=I("div",null,{position:"relative",height:0,zIndex:1}),h.parentNode.insertBefore(p,h),c.inputGroup=p=m.g("input-group").add(),p.offset=0,c.drawInput("min"),c.drawInput("max"))),c.updateButtonStates(),G[J?"animate":"attr"]({translateY:H.buttonTop}),!1!==z&&(p.align(d({y:H.inputTop,width:p.offset,x:k&&H.inputTop<(k.y||0)+k.height-e.spacing[0]?-40:0},n.inputPosition),
!0,e.spacingBox),u(z)||(e=G.getBBox(),p[p.alignAttr.translateX<e.x+e.width+10?"hide":"show"]()),c.setInputValue("min",a),c.setInputValue("max",g)),c.rendered=!0)},update:function(a){var c=this.chart;k(!0,c.options.rangeSelector,a);this.destroy();this.init(c)},destroy:function(){var a=this.minInput,b=this.maxInput,d;this.unMouseDown();this.unResize();H(this.buttons);a&&(a.onfocus=a.onblur=a.onchange=null);b&&(b.onfocus=b.onblur=b.onchange=null);for(d in this)this[d]&&"chart"!==d&&(this[d].destroy?
this[d].destroy():this[d].nodeType&&e(this[d])),this[d]!==A.prototype[d]&&(this[d]=null)}};t.prototype.toFixedRange=function(a,b,d,e){var c=this.chart&&this.chart.fixedRange;a=f(d,this.translate(a,!0,!this.horiz));b=f(e,this.translate(b,!0,!this.horiz));d=c&&(b-a)/c;.7d&&(e?a=b-c:b=a+c);l(a)||(a=b=void 0);return{min:a,max:b}};t.prototype.minFromRange=function(){var a=this.range,b={month:"Month",year:"FullYear"}[a.type],d,e=this.max,m,h,k=function(a,c){var d=new Date(a);d["set"+b](d["get"+
b]()+c);return d.getTime()-a};l(a)?(d=e-a,h=a):(d=e+k(e,-a.count),this.chart&&(this.chart.fixedRange=e-d));m=f(this.dataMin,Number.MIN_VALUE);l(d)||(d=m);d<=m&&(d=m,void 0===h&&(h=k(d,a.count)),this.newMax=Math.min(d+h,this.dataMax));l(e)||(d=void 0);return d};y(z.prototype,"init",function(a,b,d){p(this,"init",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new A(this))});a.call(this,b,d)});z.prototype.callbacks.push(function(a){function c(){b=a.xAxis[0].getExtremes();l(b.min)&&
d.render(b.min,b.max)}var b,d=a.rangeSelector,f,e;d&&(e=p(a.xAxis[0],"afterSetExtremes",function(a){d.render(a.min,a.max)}),f=p(a,"redraw",c),c());p(a,"destroy",function(){d&&(f(),e())})});a.RangeSelector=A})(K);(function(a){var A=a.arrayMax,p=a.arrayMin,t=a.Axis,z=a.Chart,G=a.defined,I=a.each,J=a.format,x=a.inArray,q=a.isNumber,u=a.isString,H=a.map,e=a.merge,b=a.pick,d=a.Point,h=a.Series,E=a.splat,l=a.SVGRenderer,k=a.wrap,f=h.prototype,n=f.init,D=f.processData,y=d.prototype.tooltipFormatter;a.StockChart=
a.stockChart=function(c,d,f){var g=u(c)||c.nodeName,m=arguments[g?1:0],r=m.series,h=a.getOptions(),l,k=b(m.navigator&&m.navigator.enabled,h.navigator.enabled,!0),n=k?{startOnTick:!1,endOnTick:!1}:null,p={marker:{enabled:!1,radius:2}},q={shadow:!1,borderWidth:0};m.xAxis=H(E(m.xAxis||{}),function(a){return e({minPadding:0,maxPadding:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},h.xAxis,a,{type:"datetime",categories:null},n)});m.yAxis=H(E(m.yAxis||{}),function(a){l=b(a.opposite,
!0);return e({labels:{y:-2},opposite:l,showLastLabel:!1,title:{text:null}},h.yAxis,a)});m.series=null;m=e({chart:{panning:!0,pinchType:"x"},navigator:{enabled:k},scrollbar:{enabled:b(h.scrollbar.enabled,!0)},rangeSelector:{enabled:b(h.rangeSelector.enabled,!0)},title:{text:null},tooltip:{shared:!0,crosshairs:!0},legend:{enabled:!1},plotOptions:{line:p,spline:p,area:p,areaspline:p,arearange:p,areasplinerange:p,column:q,columnrange:q,candlestick:q,ohlc:q}},m,{isStock:!0});m.series=r;return g?new z(c,
m,f):new z(m,d)};k(t.prototype,"autoLabelAlign",function(a){var b=this.chart,c=this.options,b=b._labelPanes=b._labelPanes||{},d=this.options.labels;return this.chart.options.isStock&&"yAxis"===this.coll&&(c=c.top+","+c.height,!b[c]&&d.enabled)?(15===d.x&&(d.x=0),void 0===d.align&&(d.align="right"),b[c]=this,"right"):a.call(this,[].slice.call(arguments,1))});k(t.prototype,"destroy",function(a){var b=this.chart,c=this.options&&this.options.top+","+this.options.height;c&&b._labelPanes&&b._labelPanes[c]===
this&&delete b._labelPanes[c];return a.call(this,Array.prototype.slice.call(arguments,1))});k(t.prototype,"getPlotLinePath",function(a,d,f,e,h,l){var c=this,g=this.isLinked&&!this.series?this.linkedParent.series:this.series,m=c.chart,r=m.renderer,k=c.left,p=c.top,n,t,w,B,y=[],z=[],A,D;if("colorAxis"===c.coll)return a.apply(this,[].slice.call(arguments,1));z=function(a){var b="xAxis"===a?"yAxis":"xAxis";a=c.options[b];return q(a)?[m[b][a]]:u(a)?[m.get(a)]:H(g,function(a){return a[b]})}(c.coll);I(c.isXAxis?
m.yAxis:m.xAxis,function(a){if(G(a.options.id)?-1===a.options.id.indexOf("navigator"):1){var b=a.isXAxis?"yAxis":"xAxis",b=G(a.options[b])?m[b][a.options[b]]:m[b][0];c===b&&z.push(a)}});A=z.length?[]:[c.isXAxis?m.yAxis[0]:m.xAxis[0]];I(z,function(a){-1===x(a,A)&&A.push(a)});D=b(l,c.translate(d,null,null,e));q(D)&&(c.horiz?I(A,function(a){var b;t=a.pos;B=t+a.len;n=w=Math.round(D+c.transB);if(nk+c.width)h?n=w=Math.min(Math.max(k,n),k+c.width):b=!0;b||y.push("M",n,t,"L",w,B)}):I(A,function(a){var b;
n=a.pos;w=n+a.len;t=B=Math.round(p+c.height-D);if(tp+c.height)h?t=B=Math.min(Math.max(p,t),c.top+c.height):b=!0;b||y.push("M",n,t,"L",w,B)}));return 0l.prototype.crispPolyLine=function(a,b){var c;for(c=0;c2),a[c+2]===a[c+5]&&(a[c+2]=a[c+5]=Math.round(a[c+2])+b%2/2);return a};k(t.prototype,"hideCrosshair",function(a,b){a.call(this,b);this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});k(t.prototype,"drawCrosshair",function(a,d,f){var c,e;a.call(this,d,f);if(G(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){a=this.chart;var g=this.options.crosshair.label,
h=this.horiz;c=this.opposite;e=this.left;var l=this.top,k=this.crossLabel,n,p=g.format,r="",q="inside"===this.options.tickPosition,t=!1!==this.crosshair.snap,u=0;d||(d=this.cross&&this.cross.e);n=h?"center":c?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";k||(k=this.crossLabel=a.renderer.label(null,null,null,g.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:g.align||n,padding:b(g.padding,
8),r:b(g.borderRadius,3),zIndex:2}).add(this.labelGroup));h?(n=t?f.plotX+e:d.chartX,l+=c?0:this.height):(n=c?this.width+e:0,l=t?f.plotY+l:d.chartY);p||g.formatter||(this.isDatetimeAxis&&(r="%b %d, %Y"),p="{value"+(r?":"+r:"")+"}");d=t?f[this.isXAxis?"x":"y"]:this.toValue(h?d.chartX:d.chartY);k.attr({text:p?J(p,{value:d}):g.formatter.call(this,d),x:n,y:l,visibility:"visible"});d=k.getBBox();if(h){if(q&&!c||!q&&c)l=k.y-d.height}else l=k.y-d.height/2;h?(c=e-d.x,e=e+this.width-d.x):(c="left"===this.labelAlign?
e:0,e="right"===this.labelAlign?e+this.width:a.chartWidth);k.translateX<c&&(u=c-k.translateX);k.translateX+d.width>=e&&(u=-(k.translateX+d.width-e));k.attr({x:n+u,y:l,anchorX:h?n:this.opposite?0:a.chartWidth,anchorY:h?this.opposite?a.chartHeight:0:l+d.height/2})}});f.init=function(){n.apply(this,arguments);this.setCompare(this.options.compare)};f.setCompare=function(a){this.modifyValue="value"===a||"percent"===a?function(b,c){var d=this.compareValue;if(void 0!==b&&void 0!==d)return b="value"===a?
b-d:b/d*100-(100===this.options.compareBase?0:100),c&&(c.change=b),b}:null;this.userOptions.compare=a;this.chart.hasRendered&&(this.isDirty=!0)};f.processData=function(){var a,b=-1,d,e,f,h;D.apply(this,arguments);if(this.xAxis&&this.processedYData)for(d=this.processedXData,e=this.processedYData,f=e.length,this.pointArrayMap&&(b=x("close",this.pointArrayMap),-1===b&&(b=x(this.pointValKey||"y",this.pointArrayMap))),a=0;a<f-1;a++)if(h=-1<b?e[a][b]:e[a],q(h)&&d[a+1]>=this.xAxis.min&&0!==h){this.compareValue=
h;break}};k(f,"getExtremes",function(a){var b;a.apply(this,[].slice.call(arguments,1));this.modifyValue&&(b=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)],this.dataMin=p(b),this.dataMax=A(b))});t.prototype.setCompare=function(a,d){this.isXAxis||(I(this.series,function(b){b.setCompare(a)}),b(d,!0)&&this.chart.redraw())};d.prototype.tooltipFormatter=function(c){c=c.replace("{point.change}",(0<this.change?"+":"")+a.numberFormat(this.change,b(this.series.tooltipOptions.changeDecimals,
2)));return y.apply(this,[c])};k(h.prototype,"render",function(a){this.chart.is3d&&this.chart.is3d()||this.chart.polar||!this.xAxis||this.xAxis.isRadial||(!this.clipBox&&this.animate?(this.clipBox=e(this.chart.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=this.yAxis.len):this.chart[this.sharedClipKey]?this.chart[this.sharedClipKey].attr({width:this.xAxis.len,height:this.yAxis.len}):this.clipBox&&(this.clipBox.width=this.xAxis.len,this.clipBox.height=this.yAxis.len));a.call(this)})})(K)});