/*
Highcharts JS v10.2.1 (2022-08-29)
Annotations module
(c) 2009-2021 Torstein Honsi
License: www.highcharts.com/license
*/
(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/annotations",["highcharts"],function(t){c(t);c.Highcharts=t;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function t(c,l,q,n){c.hasOwnProperty(l)||(c[l]=n.apply(null,q),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:l,module:c[l]}})))}c=c?c._modules:{};
t(c,"Extensions/Annotations/AnnotationChart.js",[c["Core/Utilities.js"]],function(c){function l(a,d){a=this.initAnnotation(a);this.options.annotations.push(a.options);C(d,!0)&&(a.redraw(),a.graphic.attr({opacity:1}));return a}function u(){var a=this;a.plotBoxClip=this.renderer.clipRect(this.plotBox);a.controlPointsGroup=a.renderer.g("control-points").attr({zIndex:99}).clip(a.plotBoxClip).add();a.options.annotations.forEach(function(d,g){if(!a.annotations.some(function(a){return a.options===d})){var b=
a.initAnnotation(d);a.options.annotations[g]=b.options}});a.drawAnnotations();b(a,"redraw",a.drawAnnotations);b(a,"destroy",function(){a.plotBoxClip.destroy();a.controlPointsGroup.destroy()});b(a,"exportData",function(d){var g=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,b=!d.dataRows[1].xValues,e=a.options.lang&&a.options.lang.exportData&&a.options.lang.exportData.annotationHeader,h=function(a){if(g){var d=g(a);if(!1!==d)return d}d=e+" "+a;return b?{columnTitle:d,
topLevelColumnTitle:d}:d},f=d.dataRows[0].length,C=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.itemDelimiter,r=a.options.exporting&&a.options.exporting.csv&&a.options.exporting.csv.annotations&&a.options.exporting.csv.annotations.join;a.annotations.forEach(function(a){a.options.labelOptions&&a.options.labelOptions.includeInDataExport&&a.labels.forEach(function(a){if(a.options.text){var g=a.options.text;a.points.forEach(function(a){var b=
a.x,e=a.series.xAxis?a.series.xAxis.options.index:-1,h=!1;if(-1===e){a=d.dataRows[0].length;for(var m=Array(a),p=0;pf?a[a.length-1]+=C+g:a.push(g),h=!0)});if(!h){a=d.dataRows[0].length;m=Array(a);for(p=0;pg&&(g=-f-g);gb+f?r.push(["L",a+p,b+f]):ca+e&&r.push(["L",a+e,b+f/2])}return r||[]}var a=this&&this.__extends||function(){var a=function(b,d){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&&
(a[d]=b[d])};return a(b,d)};return function(b,d){function e(){this.constructor=b}a(b,d);b.prototype=null===d?Object.create(d):(e.prototype=d.prototype,new e)}}(),b=l.format,e=k.extend,d=k.isNumber,g=k.pick,u=[];return function(d){function c(a,b,e){return d.call(this,a,b,e,"label")||this}a(c,d);c.alignedPosition=function(a,b){var d=a.align,e=a.verticalAlign,f=(b.x||0)+(a.x||0),c=(b.y||0)+(a.y||0),h,g;"right"===d?h=1:"center"===d&&(h=2);h&&(f+=(b.width-(a.width||0))/h);"bottom"===e?g=1:"middle"===e&&
(g=2);g&&(c+=(b.height-(a.height||0))/g);return{x:Math.round(f),y:Math.round(c)}};c.compose=function(a){-1===u.indexOf(a)&&(u.push(a),a.prototype.symbols.connector=f)};c.justifiedOptions=function(a,b,d,e){var f=d.align,c=d.verticalAlign,h=b.box?0:b.padding||0,g=b.getBBox();b={align:f,verticalAlign:c,x:d.x,y:d.y,width:b.width,height:b.height};d=(e.x||0)-a.plotLeft;e=(e.y||0)-a.plotTop;var p=d+h;0>p&&("right"===f?b.align="left":b.x=(b.x||0)-p);p=d+g.width-h;p>a.plotWidth&&("left"===f?b.align="right":
b.x=(b.x||0)+a.plotWidth-p);p=e+h;0>p&&("bottom"===c?b.verticalAlign="top":b.y=(b.y||0)-p);p=e+g.height-h;p>a.plotHeight&&("top"===c?b.verticalAlign="bottom":b.y=(b.y||0)+a.plotHeight-p);return b};c.prototype.translatePoint=function(a,b){d.prototype.translatePoint.call(this,a,b,0)};c.prototype.translate=function(a,b){var d=this.annotation.chart,e=this.annotation.userOptions,f=d.annotations.indexOf(this.annotation);f=d.options.annotations[f];d.inverted&&(d=a,a=b,b=d);this.options.x+=a;this.options.y+=
b;f[this.collection][this.index].x=this.options.x;f[this.collection][this.index].y=this.options.y;e[this.collection][this.index].x=this.options.x;e[this.collection][this.index].y=this.options.y};c.prototype.render=function(a){var b=this.options,e=this.attrsFromOptions(b),f=b.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,b.shape,null,null,b.useHTML,null,"annotation-label").attr(e).add(a);this.annotation.chart.styledMode||("contrast"===f.color&&(f.color=this.annotation.chart.renderer.getContrast(-1<
c.shapesWithoutBackground.indexOf(b.shape)?"#FFFFFF":b.backgroundColor)),this.graphic.css(b.style).shadow(b.shadow));b.className&&this.graphic.addClass(b.className);this.graphic.labelrank=b.labelrank;d.prototype.render.call(this)};c.prototype.redraw=function(a){var e=this.options,f=this.text||e.format||e.text,c=this.graphic,g=this.points[0];c?(c.attr({text:f?b(String(f),g.getLabelConfig(),this.annotation.chart):e.formatter.call(g,this)}),e=this.anchor(g),(f=this.position(e))?(c.alignAttr=f,f.anchorX=
e.absolutePosition.x,f.anchorY=e.absolutePosition.y,c[a?"animate":"attr"](f)):c.attr({x:0,y:-9999}),c.placed=!!f,d.prototype.redraw.call(this,a)):this.redraw(a)};c.prototype.anchor=function(a){var b=d.prototype.anchor.apply(this,arguments),e=this.options.x||0,f=this.options.y||0;b.absolutePosition.x-=e;b.absolutePosition.y-=f;b.relativePosition.x-=e;b.relativePosition.y-=f;return b};c.prototype.position=function(a){var b=this.graphic,d=this.annotation.chart,f=this.points[0],k=this.options,l=a.absolutePosition,
r=a.relativePosition,u=f.series.visible&&q.prototype.isInsidePlot.call(f);if(b&&u){var w=b.width;a=void 0===w?0:w;w=b.height;var C=void 0===w?0:w;k.distance?w=n.prototype.getPosition.call({chart:d,distance:g(k.distance,16)},a,C,{plotX:r.x,plotY:r.y,negative:f.negative,ttBelow:f.ttBelow,h:r.height||r.width}):k.positioner?w=k.positioner.call(this):(f={x:l.x,y:l.y,width:0,height:0},w=c.alignedPosition(e(k,{width:a,height:C}),f),"justify"===this.options.overflow&&(w=c.alignedPosition(c.justifiedOptions(d,
b,k,w),f)));k.crop&&(b=w.x-d.plotLeft,k=w.y-d.plotTop,u=d.isInsidePlot(b,k)&&d.isInsidePlot(b+a,k+C))}return u?w:null};c.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"};c.shapesWithoutBackground=["connector"];return c}(c)});t(c,"Extensions/Annotations/Controllables/ControllableImage.js",[c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllableLabel.js"]],function(c,
l){var u=this&&this.__extends||function(){var c=function(k,f){c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var e in b)b.hasOwnProperty(e)&&(a[e]=b[e])};return c(k,f)};return function(k,f){function a(){this.constructor=k}c(k,f);k.prototype=null===f?Object.create(f):(a.prototype=f.prototype,new a)}}();return function(c){function k(f,a,b){f=c.call(this,f,a,b,"shape")||this;f.type="image";f.translate=c.prototype.translateShape;return f}u(k,c);
k.prototype.render=function(f){var a=this.attrsFromOptions(this.options),b=this.options;this.graphic=this.annotation.chart.renderer.image(b.src,0,-9E9,b.width,b.height).attr(a).add(f);this.graphic.width=b.width;this.graphic.height=b.height;c.prototype.render.call(this)};k.prototype.redraw=function(f){if(this.graphic){var a=this.anchor(this.points[0]);if(a=l.prototype.position.call(this,a))this.graphic[f?"animate":"attr"]({x:a.x,y:a.y});else this.graphic.attr({x:0,y:-9E9});this.graphic.placed=!!a}c.prototype.redraw.call(this,
f)};k.attrsMap={width:"width",height:"height",zIndex:"zIndex"};return k}(c)});t(c,"Core/Chart/ChartNavigationComposition.js",[],function(){var c;(function(c){c.compose=function(c){c.navigation||(c.navigation=new l(c));return c};var l=function(){function c(c){this.updates=[];this.chart=c}c.prototype.addUpdate=function(c){this.chart.navigation.updates.push(c)};c.prototype.update=function(c,f){var a=this;this.updates.forEach(function(b){b.call(a.chart,c,f)})};return c}();c.Additions=l})(c||(c={}));return c});
t(c,"Extensions/Annotations/NavigationBindingsUtilities.js",[c["Core/Utilities.js"]],function(c){var l=c.defined,q=c.isNumber,n=c.pick,k={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:k,getAssignedAxis:function(c){return c.filter(function(a){var b=a.axis.getExtremes(),e=b.min;b=b.max;var d=n(a.axis.minPointOffset,0);return q(e)&&q(b)&&a.value>=
e-d&&a.value<=b+d&&!a.axis.options.isInternal})[0]},getFieldType:function(c,a){c=k[c];a=typeof a;l(c)&&(a=c);return{string:"text",number:"number","boolean":"checkbox"}[a]}}});t(c,"Extensions/Annotations/NavigationBindingsDefaults.js",[c["Extensions/Annotations/NavigationBindingsUtilities.js"],c["Core/Utilities.js"]],function(c,l){var q=c.getAssignedAxis,n=l.isNumber,k=l.merge;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",
label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",
bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(c){var a=this.chart.pointer.getCoordinates(c);c=q(a.xAxis);a=q(a.yAxis);var b=this.chart.options.navigation;if(c&&a)return this.chart.addAnnotation(k({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:c.value,y:a.value,xAxis:c.axis.options.index,yAxis:a.axis.options.index},r:5}]},b.annotationsOptions,b.bindings.circleAnnotation.annotationsOptions))},steps:[function(c,a){var b=a.options.shapes;
b=b&&b[0]&&b[0].point||{};if(n(b.xAxis)&&n(b.yAxis)){var e=this.chart.inverted;var d=this.chart.xAxis[b.xAxis].toPixels(b.x);b=this.chart.yAxis[b.yAxis].toPixels(b.y);e=Math.max(Math.sqrt(Math.pow(e?b-c.chartX:d-c.chartX,2)+Math.pow(e?d-c.chartY:b-c.chartY,2)),5)}a.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(c){var a=this.chart.pointer.getCoordinates(c);c=q(a.xAxis);a=q(a.yAxis);var b=this.chart.options.navigation;if(c&&a)return this.chart.addAnnotation(k({langKey:"ellipse",
type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:c.axis.options.index,yAxis:a.axis.options.index,points:[{x:c.value,y:a.value},{x:c.value,y:a.value}],ry:1}]},b.annotationsOptions,b.bindings.ellipseAnnotation.annotationOptions))},steps:[function(c,a){a=a.shapes[0];var b=a.getAbsolutePosition(a.points[1]);a.translatePoint(c.chartX-b.x,c.chartY-b.y,1);a.redraw(!1)},function(c,a){a=a.shapes[0];var b=a.getAbsolutePosition(a.points[0]),e=a.getAbsolutePosition(a.points[1]);c=a.getDistanceFromLine(b,
e,c.chartX,c.chartY);b=a.getYAxis();c=Math.abs(b.toValue(0)-b.toValue(c));a.setYRadius(c);a.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(c){c=this.chart.pointer.getCoordinates(c);var a=q(c.xAxis),b=q(c.yAxis);if(a&&b){c=a.value;var e=b.value;a=a.axis.options.index;b=b.axis.options.index;var d=this.chart.options.navigation;return this.chart.addAnnotation(k({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:a,yAxis:b,x:c,
y:e},{xAxis:a,yAxis:b,x:c,y:e},{xAxis:a,yAxis:b,x:c,y:e},{xAxis:a,yAxis:b,x:c,y:e},{command:"Z"}]}]},d.annotationsOptions,d.bindings.rectangleAnnotation.annotationsOptions))}},steps:[function(c,a){var b=a.options.shapes;b=b&&b[0]&&b[0].points||[];var e=this.chart.pointer.getCoordinates(c);c=q(e.xAxis);e=q(e.yAxis);c&&e&&(c=c.value,e=e.value,b[1].x=c,b[2].x=c,b[2].y=e,b[3].y=e,a.update({shapes:[{points:b}]}))}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(c){var a=this.chart.pointer.getCoordinates(c);
c=q(a.xAxis);a=q(a.yAxis);var b=this.chart.options.navigation;if(c&&a)return this.chart.addAnnotation(k({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}"},labels:[{point:{xAxis:c.axis.options.index,yAxis:a.axis.options.index,x:c.value,y:a.value},overflow:"none",crop:!0}]},b.annotationsOptions,b.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}});t(c,"Extensions/Annotations/NavigationBindings.js",[c["Core/Chart/ChartNavigationComposition.js"],
c["Core/DefaultOptions.js"],c["Core/FormatUtilities.js"],c["Core/Globals.js"],c["Extensions/Annotations/NavigationBindingsDefaults.js"],c["Extensions/Annotations/NavigationBindingsUtilities.js"],c["Core/Utilities.js"]],function(c,l,q,n,k,f,a){function b(a,b){var c=v.Element.prototype,d=c.matches||c.msMatchesSelector||c.webkitMatchesSelector,e=null;if(c.closest)e=c.closest.call(a,b);else{do{if(d.call(a,b))return a;a=a.parentElement||a.parentNode}while(null!==a&&1===a.nodeType)}return e}function e(){this.chart.navigationBindings&&
this.chart.navigationBindings.deselectAnnotation()}function d(){this.navigationBindings&&this.navigationBindings.destroy()}function g(){var a=this.options;a&&a.navigation&&a.navigation.bindings&&(this.navigationBindings=new L(this,a.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function u(){var a=this.navigationBindings;if(this&&a){var b=!1;this.series.forEach(function(a){!a.options.isInternal&&a.visible&&(b=!0)});if(this.navigationBindings&&this.navigationBindings.container&&
this.navigationBindings.container[0]){var c=this.navigationBindings.container[0];y(a.boundClassNames,function(a,d){if(d=c.querySelectorAll("."+d))for(var e=0;eb?1:0});y.children[1]&&y.children[1].remove();var n=v("ul",{className:"highcharts-indicator-list"},
void 0,y),E=d.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];p.forEach(function(d){var e=d.indicatorFullName,f=d.indicatorType,g=d.series;l=v("li",{className:"highcharts-indicator-list"},void 0,n);l.appendChild(h.createTextNode(e));["click","touchstart"].forEach(function(d){F(l,d,function(){var d=E.parentNode.children[1],e=g.params||g.options.params;E.innerHTML=c.emptyHTML;v("h3",{className:"highcharts-indicator-title"},void 0,E).appendChild(h.createTextNode(A(g,f).indicatorFullName));v("input",
{type:"hidden",name:"highcharts-type-"+f,value:f},void 0,E);r.call(m,f,"series",a,E,g,g.linkedParent&&g.linkedParent.options.id);e.volumeSeriesID&&r.call(m,f,"volume",a,E,g,g.linkedParent&&e.volumeSeriesID);b.call(m,a,"params",e,f,E);d&&(d.style.display="block");k&&g.options&&v("input",{type:"hidden",name:"highcharts-id-"+f,value:g.options.id},void 0,E).setAttribute("highcharts-data-series-id",g.options.id)})})});0 option:checked")[0];a=a.querySelectorAll("#highcharts-select-volume > option:checked")[0];
var f={actionType:b,linkedTo:e&&e.getAttribute("value")||"",fields:{}};c.forEach(function(a){var b=a.getAttribute("highcharts-data-name");a.getAttribute("highcharts-data-series-id")?f.seriesId=a.value:b?f.fields[b]=a.value:f.type=a.value});d.forEach(function(a){var b=a.id;"highcharts-select-series"!==b&&"highcharts-select-volume"!==b&&(b=b.split("highcharts-select-")[1],f.fields[b]=a.value)});a&&(f.fields["params.volumeSeriesID"]=a.getAttribute("value")||"");return f}var e=l.doc,d=q.getOptions,g=
a.addEvent,u=a.createElement;q=a.extend;var t=a.fireEvent,A=a.pick;a=function(){function a(a,b,c){this.chart=c;this.iconsURL=b;this.lang=d().lang.navigation.popup;this.container=u("div",{className:"highcharts-popup highcharts-no-tooltip"},void 0,a);g(this.container,"mousedown",function(){var a=c&&c.navigationBindings&&c.navigationBindings.activeAnnotation;if(a){a.cancelClick=!0;var b=g(l.doc,"click",function(){setTimeout(function(){a.cancelClick=!1},0);b()})}});this.addCloseBtn()}a.prototype.init=
function(b,c,d){a.call(this,b,c,d)};a.prototype.addCloseBtn=function(){var a=this,b=this.iconsURL,c=u("div",{className:"highcharts-popup-close"},void 0,this.container);c.style["background-image"]="url("+(b.match(/png|svg|jpeg|jpg|gif/ig)?b:b+"close.svg")+")";["click","touchstart"].forEach(function(b){g(c,b,function(){a.chart?t(a.chart.navigationBindings,"closePopup"):a.closePopup()})})};a.prototype.addInput=function(a,b,c,d){var f=a.split(".");f=f[f.length-1];var g=this.lang;b="highcharts-"+b+"-"+
A(d.htmlFor,f);b.match(/\d/g)||u("label",{htmlFor:b,className:d.labelClassName},void 0,c).appendChild(e.createTextNode(g[f]||f));c=u("input",{name:b,value:d.value,type:d.type,className:"highcharts-popup-field"},void 0,c);c.setAttribute("highcharts-data-name",a);return c};a.prototype.addButton=function(a,c,d,f,k){var h=this,l=u("button",void 0,void 0,a);l.appendChild(e.createTextNode(c));k&&["click","touchstart"].forEach(function(a){g(l,a,function(){h.closePopup();return k(b(f,d))})});return l};a.prototype.showPopup=
function(){var a=this.container,b=a.querySelectorAll(".highcharts-popup-close")[0];this.formType=void 0;a.innerHTML=c.emptyHTML;0<=a.className.indexOf("highcharts-annotation-toolbar")&&(a.classList.remove("highcharts-annotation-toolbar"),a.removeAttribute("style"));a.appendChild(b);a.style.display="block";a.style.height=""};a.prototype.closePopup=function(){this.container.style.display="none"};a.prototype.showForm=function(a,b,c,d){b&&(this.showPopup(),"indicators"===a&&this.indicators.addForm.call(this,
b,c,d),"annotation-toolbar"===a&&this.annotations.addToolbar.call(this,b,c,d),"annotation-edit"===a&&this.annotations.addForm.call(this,b,c,d),"flag"===a&&this.annotations.addForm.call(this,b,c,d,!0),this.formType=a,this.container.style.height=this.container.offsetHeight+"px")};return a}();q(a.prototype,{annotations:n,indicators:k,tabs:f});return a});t(c,"Extensions/Annotations/Popup/PopupComposition.js",[c["Extensions/Annotations/Popup/Popup.js"],c["Core/Utilities.js"]],function(c,l){function q(){this.popup&&
this.popup.closePopup()}function n(a){this.popup||(this.popup=new c(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/10.2.1/gfx/stock-icons/",this.chart));this.popup.showForm(a.formType,this.chart,a.options,a.onSubmit)}function k(a,b){this.inClass(b.target,"highcharts-popup")||a.apply(this,Array.prototype.slice.call(arguments,1))}var f=l.addEvent,a=l.wrap,b=[];return{compose:function(c,
d){-1===b.indexOf(c)&&(b.push(c),f(c,"closePopup",q),f(c,"showPopup",n));-1===b.indexOf(d)&&(b.push(d),a(d.prototype,"onContainerMouseDown",k))}}});t(c,"Extensions/Annotations/Annotation.js",[c["Core/Animation/AnimationUtilities.js"],c["Extensions/Annotations/AnnotationChart.js"],c["Extensions/Annotations/AnnotationDefaults.js"],c["Extensions/Annotations/Controllables/Controllable.js"],c["Extensions/Annotations/Controllables/ControllableRect.js"],c["Extensions/Annotations/Controllables/ControllableCircle.js"],
c["Extensions/Annotations/Controllables/ControllableEllipse.js"],c["Extensions/Annotations/Controllables/ControllablePath.js"],c["Extensions/Annotations/Controllables/ControllableImage.js"],c["Extensions/Annotations/Controllables/ControllableLabel.js"],c["Extensions/Annotations/ControlPoint.js"],c["Extensions/Annotations/EventEmitter.js"],c["Extensions/Annotations/MockPoint.js"],c["Extensions/Annotations/NavigationBindings.js"],c["Extensions/Annotations/Popup/PopupComposition.js"],c["Core/Utilities.js"]],
function(c,l,q,n,k,f,a,b,e,d,g,t,D,A,r,h){function p(a){var b=a.graphic;a=a.points.some(function(a){return!1!==a.series.visible&&!1!==a.visible});b&&(a?"hidden"===b.visibility&&b.show():b.hide())}function u(a,b){var c={};["labels","shapes"].forEach(function(d){var e=a[d];e&&(c[d]=b[d]?J(b[d]).map(function(a,b){return B(e[b],a)}):a[d])});return c}var v=this&&this.__extends||function(){var a=function(b,c){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,
b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])};return a(b,c)};return function(b,c){function d(){this.constructor=b}a(b,c);b.prototype=null===c?Object.create(c):(d.prototype=c.prototype,new d)}}(),C=c.getDeferredAnimation,z=n.prototype,K=h.destroyObjectProperties,w=h.erase,G=h.fireEvent,B=h.merge,I=h.pick,J=h.splat;c=function(c){function h(a,b){var d=c.call(this)||this;d.annotation=void 0;d.coll="annotations";d.collection=void 0;d.animationConfig=void 0;d.graphic=void 0;d.group=void 0;d.labelCollector=
void 0;d.labelsGroup=void 0;d.shapesGroup=void 0;d.chart=a;d.points=[];d.controlPoints=[];d.coll="annotations";d.labels=[];d.shapes=[];d.options=B(d.defaultOptions,b);d.userOptions=b;b=u(d.options,b);d.options.labels=b.labels;d.options.shapes=b.shapes;d.init(a,d.options);return d}v(h,c);h.compose=function(a,c,e){l.compose(h,a,c);d.compose(e);b.compose(a,e);A.compose(h,a);r.compose(A,c)};h.prototype.addClipPaths=function(){this.setClipAxes();this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=
this.chart.renderer.clipRect(this.getClipBox()))};h.prototype.addLabels=function(){var a=this,b=this.options.labels||[];b.forEach(function(c,d){c=a.initLabel(c,d);B(!0,b[d],c.options)})};h.prototype.addShapes=function(){var a=this,b=this.options.shapes||[];b.forEach(function(c,d){c=a.initShape(c,d);B(!0,b[d],c.options)})};h.prototype.destroy=function(){var a=this.chart,b=function(a){a.destroy()};this.labels.forEach(b);this.shapes.forEach(b);this.clipYAxis=this.clipXAxis=null;w(a.labelCollectors,this.labelCollector);
c.prototype.destroy.call(this);z.destroy.call(this);K(this,a)};h.prototype.destroyItem=function(a){w(this[a.itemType+"s"],a);a.destroy()};h.prototype.getClipBox=function(){if(this.clipXAxis&&this.clipYAxis)return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}};h.prototype.init=function(a,b,c){a=this.chart;b=this.options.animation;this.linkPoints();this.addControlPoints();this.addShapes();this.addLabels();this.setLabelCollector();this.animationConfig=
C(a,b)};h.prototype.initLabel=function(a,b){a=B(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},a);b=new d(this,a,b);b.itemType="label";this.labels.push(b);return b};h.prototype.initShape=function(a,b){a=B(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},a);b=new h.shapesMap[a.type](this,a,b);b.itemType="shape";this.shapes.push(b);return b};h.prototype.redraw=function(a){this.linkPoints();this.graphic||this.render();this.clipRect&&this.clipRect.animate(this.getClipBox());
this.redrawItems(this.shapes,a);this.redrawItems(this.labels,a);z.redraw.call(this,a)};h.prototype.redrawItem=function(a,b){a.linkPoints();a.shouldBeDrawn()?(a.graphic||this.renderItem(a),a.redraw(I(b,!0)&&a.graphic.placed),a.points.length&&p(a)):this.destroyItem(a)};h.prototype.redrawItems=function(a,b){for(var c=a.length;c--;)this.redrawItem(a[c],b)};h.prototype.remove=function(){return this.chart.removeAnnotation(this)};h.prototype.render=function(){var a=this.chart.renderer;this.graphic=a.g("annotation").attr({opacity:0,
zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add();this.shapesGroup=a.g("annotation-shapes").add(this.graphic);this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip);this.labelsGroup=a.g("annotation-labels").attr({translateX:0,translateY:0}).add(this.graphic);this.addClipPaths();this.clipRect&&this.graphic.clip(this.clipRect);this.renderItems(this.shapes);this.renderItems(this.labels);this.addEvents();z.render.call(this)};h.prototype.renderItem=function(a){a.render("label"===
a.itemType?this.labelsGroup:this.shapesGroup)};h.prototype.renderItems=function(a){for(var b=a.length;b--;)this.renderItem(a[b])};h.prototype.setClipAxes=function(){var a=this.chart.xAxis,b=this.chart.yAxis,c=(this.options.labels||[]).concat(this.options.shapes||[]).reduce(function(c,d){d=d&&(d.point||d.points&&d.points[0]);return[a[d&&d.xAxis]||c[0],b[d&&d.yAxis]||c[1]]},[]);this.clipXAxis=c[0];this.clipYAxis=c[1]};h.prototype.setControlPointsVisibility=function(a){var b=function(b){b.setControlPointsVisibility(a)};
z.setControlPointsVisibility.call(this,a);this.shapes.forEach(b);this.labels.forEach(b)};h.prototype.setLabelCollector=function(){var a=this;a.labelCollector=function(){return a.labels.reduce(function(a,b){b.options.allowOverlap||a.push(b.graphic);return a},[])};a.chart.labelCollectors.push(a.labelCollector)};h.prototype.setOptions=function(a){this.options=B(this.defaultOptions,a)};h.prototype.setVisibility=function(a){var b=this.options,c=this.chart.navigationBindings;a=I(a,!b.visible);this.graphic.attr("visibility",
a?"inherit":"hidden");a||(this.setControlPointsVisibility(!1),c.activeAnnotation===this&&c.popup&&"annotation-toolbar"===c.popup.formType&&G(c,"closePopup"));b.visible=a};h.prototype.update=function(a,b){var c=this.chart,d=u(this.userOptions,a),e=c.annotations.indexOf(this);a=B(!0,this.userOptions,a);a.labels=d.labels;a.shapes=d.shapes;this.destroy();this.constructor(c,a);c.options.annotations[e]=a;this.isUpdating=!0;I(b,!0)&&c.redraw();G(this,"afterUpdate");this.isUpdating=!1};h.ControlPoint=g;h.MockPoint=
D;h.shapesMap={rect:k,circle:f,ellipse:a,path:b,image:e};h.types={};return h}(t);B(!0,c.prototype,n.prototype,B(c.prototype,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:q}));"";return c});t(c,"masters/modules/annotations.src.js",[c["Core/Globals.js"],c["Extensions/Annotations/Annotation.js"]],function(c,l){c.Annotation=l;l.compose(c.Chart,c.Pointer,c.SVGRenderer)})});
//# sourceMappingURL=annotations.js.map