/** * Highcharts JS v11.2.0 (2023-10-30) * * Annotations module * * (c) 2009-2021 Torstein Honsi * * License: www.highcharts.com/license */!function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/annotations-advanced",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function o(t,i,o,n){t.hasOwnProperty(i)||(t[i]=n.apply(null,o),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}o(i,"Extensions/Annotations/AnnotationChart.js",[i["Core/Utilities.js"]],function(t){var i,o=t.addEvent,n=t.erase,s=t.find,e=t.fireEvent,r=t.pick,a=t.wrap,p=[];function h(t,i){var o=this.initAnnotation(t);return this.options.annotations.push(o.options),r(i,!0)&&(o.redraw(),o.graphic.attr({opacity:1})),o}function l(){var t=this;t.plotBoxClip=this.renderer.clipRect(this.plotBox),t.controlPointsGroup=t.renderer.g("control-points").attr({zIndex:99}).clip(t.plotBoxClip).add(),t.options.annotations.forEach(function(i,o){if(!t.annotations.some(function(t){return t.options===i})){var n=t.initAnnotation(i);t.options.annotations[o]=n.options}}),t.drawAnnotations(),o(t,"redraw",t.drawAnnotations),o(t,"destroy",function(){t.plotBoxClip.destroy(),t.controlPointsGroup.destroy()}),o(t,"exportData",function(i){var o=t.annotations,n=(this.options.exporting&&this.options.exporting.csv||{}).columnHeaderFormatter,s=!i.dataRows[1].xValues,e=t.options.lang&&t.options.lang.exportData&&t.options.lang.exportData.annotationHeader,r=i.dataRows[0].length,a=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.itemDelimiter,p=t.options.exporting&&t.options.exporting.csv&&t.options.exporting.csv.annotations&&t.options.exporting.csv.annotations.join;o.forEach(function(t){t.options.labelOptions&&t.options.labelOptions.includeInDataExport&&t.labels.forEach(function(t){if(t.options.text){var o=t.options.text;t.points.forEach(function(t){var n=t.x,s=t.series.xAxis?t.series.xAxis.index:-1,e=!1;if(-1===s){for(var h=i.dataRows[0].length,l=Array(h),c=0;cr?t[t.length-1]+=a+o:t.push(o),e=!0)}),!e){for(var h=i.dataRows[0].length,l=Array(h),c=0;c=0&&t<=o.len),e&&(r.isInsidePlot=r.isInsidePlot&&n(i)&&i>=0&&i<=e.len),s(this.series.chart,"afterIsInsidePlot",r),r.isInsidePlot},t.prototype.refresh=function(){var t=this.series,i=t.xAxis,o=t.yAxis,n=this.getOptions();i?(this.x=n.x,this.plotX=i.toPixels(n.x,!0)):(this.x=void 0,this.plotX=n.x),o?(this.y=n.y,this.plotY=o.toPixels(n.y,!0)):(this.y=null,this.plotY=n.y),this.isInside=this.isInsidePlot()},t.prototype.refreshOptions=function(){var t=this.series,i=t.xAxis,o=t.yAxis;this.x=this.options.x=i?this.options.x=i.toValue(this.plotX,!0):this.plotX,this.y=this.options.y=o?o.toValue(this.plotY,!0):this.plotY},t.prototype.rotate=function(t,i,o){if(!this.hasDynamicOptions()){var n=Math.cos(o),s=Math.sin(o),e=this.plotX-t,r=this.plotY-i;this.plotX=e*n-r*s+t,this.plotY=e*s+r*n+i,this.refreshOptions()}},t.prototype.scale=function(t,i,o,n){if(!this.hasDynamicOptions()){var s=this.plotX*o,e=this.plotY*n;this.plotX=(1-o)*t+s,this.plotY=(1-n)*i+e,this.refreshOptions()}},t.prototype.setAxis=function(t,i){var o=i+"Axis",s=t[o],e=this.series.chart;this.series[o]="object"==typeof s?s:n(s)?e[o][s]||e.get(s):null},t.prototype.toAnchor=function(){var t=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(t[0]=this.plotY,t[1]=this.plotX),t},t.prototype.translate=function(t,i,o,n){this.hasDynamicOptions()||(this.plotX+=o,this.plotY+=n,this.refreshOptions())},t}()}),o(i,"Extensions/Annotations/ControlTarget.js",[i["Extensions/Annotations/ControlPoint.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,o){var n;return function(n){var s=[];function e(){var i=this,n=this.controlPoints,s=this.options.controlPoints||[];s.forEach(function(e,r){var a=o.merge(i.options.controlPointOptions,e);a.index||(a.index=r),s[r]=a,n.push(new t(i.chart,i,a))})}function r(t){var i=t.series.getPlotBox(),n=t.series.chart,s=t.mock?t.toAnchor():n.tooltip&&n.tooltip.getAnchor.call({chart:t.series.chart},t)||[0,0,0,0],e={x:s[0]+(this.options.x||0),y:s[1]+(this.options.y||0),height:s[2]||0,width:s[3]||0};return{relativePosition:e,absolutePosition:o.merge(e,{x:e.x+(t.mock?i.translateX:n.plotLeft),y:e.y+(t.mock?i.translateY:n.plotTop)})}}function a(){this.controlPoints.forEach(function(t){return t.destroy()}),this.chart=null,this.controlPoints=null,this.points=null,this.options=null,this.annotation&&(this.annotation=null)}function p(){var t=this.options;return t.points||t.point&&o.splat(t.point)}function h(){var t,i,o=this.getPointsOptions(),n=this.points,s=o&&o.length||0;for(t=0;ti+n?e.push(["L",t+l,i+n]):ht+o&&e.push(["L",t+o,i+n/2])),e||[]}return function(t){function i(i,o,n){return t.call(this,i,o,n,"label")||this}return e(i,t),i.alignedPosition=function(t,i){var o,n,s=t.align,e=t.verticalAlign,r=(i.x||0)+(t.x||0),a=(i.y||0)+(t.y||0);return"right"===s?o=1:"center"===s&&(o=2),o&&(r+=(i.width-(t.width||0))/o),"bottom"===e?n=1:"middle"===e&&(n=2),n&&(a+=(i.height-(t.height||0))/n),{x:Math.round(r),y:Math.round(a)}},i.compose=function(t){n.pushUnique(l,t)&&(t.prototype.symbols.connector=c)},i.justifiedOptions=function(t,i,o,n){var s,e=o.align,r=o.verticalAlign,a=i.box?0:i.padding||0,p=i.getBBox(),h={align:e,verticalAlign:r,x:o.x,y:o.y,width:i.width,height:i.height},l=(n.x||0)-t.plotLeft,c=(n.y||0)-t.plotTop;return(s=l+a)<0&&("right"===e?h.align="left":h.x=(h.x||0)-s),(s=l+p.width-a)>t.plotWidth&&("left"===e?h.align="right":h.x=(h.x||0)+t.plotWidth-s),(s=c+a)<0&&("bottom"===r?h.verticalAlign="top":h.y=(h.y||0)-s),(s=c+p.height-a)>t.plotHeight&&("top"===r?h.verticalAlign="bottom":h.y=(h.y||0)+t.plotHeight-s),h},i.prototype.translatePoint=function(i,o){t.prototype.translatePoint.call(this,i,o,0)},i.prototype.translate=function(t,i){var o=this.annotation.chart,n=this.annotation.userOptions,s=o.annotations.indexOf(this.annotation),e=o.options.annotations[s];if(o.inverted){var r=t;t=i,i=r}this.options.x+=t,this.options.y+=i,e[this.collection][this.index].x=this.options.x,e[this.collection][this.index].y=this.options.y,n[this.collection][this.index].x=this.options.x,n[this.collection][this.index].y=this.options.y},i.prototype.render=function(o){var n=this.options,s=this.attrsFromOptions(n),e=n.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,n.shape,null,null,n.useHTML,null,"annotation-label").attr(s).add(o),this.annotation.chart.styledMode||("contrast"===e.color&&(e.color=this.annotation.chart.renderer.getContrast(i.shapesWithoutBackground.indexOf(n.shape)>-1?"#FFFFFF":n.backgroundColor)),this.graphic.css(n.style).shadow(n.shadow)),n.className&&this.graphic.addClass(n.className),this.graphic.labelrank=n.labelrank,t.prototype.render.call(this)},i.prototype.redraw=function(i){var o=this.options,n=this.text||o.format||o.text,s=this.graphic,e=this.points[0];if(!s){this.redraw(i);return}s.attr({text:n?r(String(n),e.getLabelConfig(),this.annotation.chart):o.formatter.call(e,this)});var a=this.anchor(e),p=this.position(a);p?(s.alignAttr=p,p.anchorX=a.absolutePosition.x,p.anchorY=a.absolutePosition.y,s[i?"animate":"attr"](p)):s.attr({x:0,y:-9999}),s.placed=!!p,t.prototype.redraw.call(this,i)},i.prototype.anchor=function(i){var o=t.prototype.anchor.apply(this,arguments),n=this.options.x||0,s=this.options.y||0;return o.absolutePosition.x-=n,o.absolutePosition.y-=s,o.relativePosition.x-=n,o.relativePosition.y-=s,o},i.prototype.position=function(t){var n,s,e,r,p=this.graphic,l=this.annotation.chart,c=l.tooltip,u=this.points[0],d=this.options,f=t.absolutePosition,y=t.relativePosition,x=u.series.visible&&o.prototype.isInsidePlot.call(u);if(p&&x){var v=p.width,g=void 0===v?0:v,b=p.height,m=void 0===b?0:b;d.distance&&c?n=c.getPosition.call({chart:l,distance:h(d.distance,16),getPlayingField:c.getPlayingField},g,m,{plotX:y.x,plotY:y.y,negative:u.negative,ttBelow:u.ttBelow,h:y.height||y.width}):d.positioner?n=d.positioner.call(this):(s={x:f.x,y:f.y,width:0,height:0},n=i.alignedPosition(a(d,{width:g,height:m}),s),"justify"===this.options.overflow&&(n=i.alignedPosition(i.justifiedOptions(l,p,d,n),s))),d.crop&&(e=n.x-l.plotLeft,r=n.y-l.plotTop,x=l.isInsidePlot(e,r)&&l.isInsidePlot(e+g,r+m))}return x?n:null},i.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"},i.shapesWithoutBackground=["connector"],i}(t)}),o(i,"Extensions/Annotations/Controllables/ControllableImage.js",[i["Extensions/Annotations/Controllables/Controllable.js"],i["Extensions/Annotations/Controllables/ControllableLabel.js"]],function(t,i){var o,n=this&&this.__extends||(o=function(t,i){return(o=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=t}o(t,i),t.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)});return function(t){function o(i,o,n){var s=t.call(this,i,o,n,"shape")||this;return s.type="image",s.translate=t.prototype.translateShape,s}return n(o,t),o.prototype.render=function(i){var o=this.attrsFromOptions(this.options),n=this.options;this.graphic=this.annotation.chart.renderer.image(n.src,0,-9e9,n.width,n.height).attr(o).add(i),this.graphic.width=n.width,this.graphic.height=n.height,t.prototype.render.call(this)},o.prototype.redraw=function(o){if(this.graphic){var n=this.anchor(this.points[0]),s=i.prototype.position.call(this,n);s?this.graphic[o?"animate":"attr"]({x:s.x,y:s.y}):this.graphic.attr({x:0,y:-9e9}),this.graphic.placed=!!s}t.prototype.redraw.call(this,o)},o.attrsMap={width:"width",height:"height",zIndex:"zIndex"},o}(t)}),o(i,"Core/Chart/ChartNavigationComposition.js",[],function(){var t,i,o;return(i=t||(t={})).compose=function(t){return t.navigation||(t.navigation=new o(t)),t},o=function(){function t(t){this.updates=[],this.chart=t}return t.prototype.addUpdate=function(t){this.chart.navigation.updates.push(t)},t.prototype.update=function(t,i){var o=this;this.updates.forEach(function(n){n.call(o.chart,t,i)})},t}(),i.Additions=o,t}),o(i,"Extensions/Annotations/NavigationBindingsUtilities.js",[i["Core/Utilities.js"]],function(t){var i=t.defined,o=t.isNumber,n=t.pick,s={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:s,getAssignedAxis:function(t){return t.filter(function(t){var i=t.axis.getExtremes(),s=i.min,e=i.max,r=n(t.axis.minPointOffset,0);return o(s)&&o(e)&&t.value>=s-r&&t.value<=e+r&&!t.axis.options.isInternal})[0]},getFieldType:function(t,o){var n=s[t],e=typeof o;return i(n)&&(e=n),({string:"text",number:"number",boolean:"checkbox"})[e]}}}),o(i,"Extensions/Annotations/NavigationBindingsDefaults.js",[i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Utilities.js"]],function(t,i){var o=t.getAssignedAxis,n=i.isNumber,s=i.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(t){var i=this.chart.pointer.getCoordinates(t),n=o(i.xAxis),e=o(i.yAxis),r=this.chart.options.navigation;if(n&&e)return this.chart.addAnnotation(s({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:n.value,y:e.value,xAxis:n.axis.index,yAxis:e.axis.index},r:5}]},r.annotationsOptions,r.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){var o,s=i.options.shapes,e=s&&s[0]&&s[0].point||{};if(n(e.xAxis)&&n(e.yAxis)){var r=this.chart.inverted,a=this.chart.xAxis[e.xAxis].toPixels(e.x),p=this.chart.yAxis[e.yAxis].toPixels(e.y);o=Math.max(Math.sqrt(Math.pow(r?p-t.chartX:a-t.chartX,2)+Math.pow(r?a-t.chartY:p-t.chartY,2)),5)}i.update({shapes:[{r:o}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){var i=this.chart.pointer.getCoordinates(t),n=o(i.xAxis),e=o(i.yAxis),r=this.chart.options.navigation;if(n&&e)return this.chart.addAnnotation(s({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:n.axis.index,yAxis:e.axis.index,points:[{x:n.value,y:e.value},{x:n.value,y:e.value}],ry:1}]},r.annotationsOptions,r.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){var o=i.shapes[0],n=o.getAbsolutePosition(o.points[1]);o.translatePoint(t.chartX-n.x,t.chartY-n.y,1),o.redraw(!1)},function(t,i){var o=i.shapes[0],n=o.getAbsolutePosition(o.points[0]),s=o.getAbsolutePosition(o.points[1]),e=o.getDistanceFromLine(n,s,t.chartX,t.chartY),r=o.getYAxis(),a=Math.abs(r.toValue(0)-r.toValue(e));o.setYRadius(a),o.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){var i=this.chart.pointer.getCoordinates(t),n=o(i.xAxis),e=o(i.yAxis);if(n&&e){var r=n.value,a=e.value,p=n.axis.index,h=e.axis.index,l=this.chart.options.navigation;return this.chart.addAnnotation(s({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:p,yAxis:h,x:r,y:a},{xAxis:p,yAxis:h,x:r,y:a},{xAxis:p,yAxis:h,x:r,y:a},{xAxis:p,yAxis:h,x:r,y:a},{command:"Z"}]}]},l.annotationsOptions,l.bindings.rectangleAnnotation.annotationsOptions))}},steps:[function(t,i){var n=i.options.shapes,s=n&&n[0]&&n[0].points||[],e=this.chart.pointer.getCoordinates(t),r=o(e.xAxis),a=o(e.yAxis);if(r&&a){var p=r.value,h=a.value;s[1].x=p,s[2].x=p,s[2].y=h,s[3].y=h,i.update({shapes:[{points:s}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){var i=this.chart.pointer.getCoordinates(t),n=o(i.xAxis),e=o(i.yAxis),r=this.chart.options.navigation;if(n&&e)return this.chart.addAnnotation(s({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:n.axis.index,yAxis:e.axis.index,x:n.value,y:e.value}}]},r.annotationsOptions,r.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),o(i,"Extensions/Annotations/NavigationBindings.js",[i["Core/Chart/ChartNavigationComposition.js"],i["Core/Defaults.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Extensions/Annotations/NavigationBindingsDefaults.js"],i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Utilities.js"]],function(t,i,o,n,s,e,r){var a=i.setOptions,p=o.format,h=n.doc,l=n.win,c=e.getFieldType,u=r.addEvent,d=r.attr,f=r.defined,y=r.fireEvent,x=r.isArray,v=r.isFunction,g=r.isNumber,b=r.isObject,m=r.merge,A=r.objectEach,P=r.pick,O=[];function C(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function E(){this.navigationBindings&&this.navigationBindings.destroy()}function w(){var t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new T(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function M(){var t=this.navigationBindings,i="highcharts-disabled-btn";if(this&&t){var o=!1;if(this.series.forEach(function(t){!t.options.isInternal&&t.visible&&(o=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){var n=this.navigationBindings.container[0];A(t.boundClassNames,function(t,s){var e=n.querySelectorAll("."+s);if(e)for(var r=0;r=4||s.call(this,t)}})}var T=function(){function i(t,i){this.boundClassNames=void 0,this.selectedButton=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=h.getElementsByClassName(this.options.bindingsClassName||""))}return i.compose=function(t,o){r.pushUnique(O,t)&&(u(t,"remove",C),_(t),A(t.types,function(t){_(t)})),r.pushUnique(O,o)&&(u(o,"destroy",E),u(o,"load",w),u(o,"render",M)),r.pushUnique(O,i)&&(u(i,"closePopup",k),u(i,"deselectButton",j)),r.pushUnique(O,a)&&a(s)},i.prototype.initEvents=function(){var t=this,i=t.chart,o=t.container,s=t.options;t.boundClassNames={},A(s.bindings||{},function(i){t.boundClassNames[i.className]=i}),[].forEach.call(o,function(i){t.eventsToUnbind.push(u(i,"click",function(o){var n=t.getButtonEvents(i,o);n&&!n.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(n.button,n.events,o)}))}),A(s.events||{},function(i,o){v(i)&&t.eventsToUnbind.push(u(t,o,i,{passive:!1}))}),t.eventsToUnbind.push(u(i.container,"click",function(o){!i.cancelClick&&i.isInsidePlot(o.chartX-i.plotLeft,o.chartY-i.plotTop,{visiblePlotOnly:!0})&&t.bindingsChartClick(this,o)})),t.eventsToUnbind.push(u(i.container,n.isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},n.isTouchDevice?{passive:!1}:void 0))},i.prototype.initUpdate=function(){var i=this;t.compose(this.chart).navigation.addUpdate(function(t){i.update(t)})},i.prototype.bindingsButtonClick=function(t,i,o){var n=this.chart,s=n.renderer.boxWrapper,e=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(e=!1),y(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&n.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),e?(this.selectedButton=i,this.selectedButtonElement=t,y(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,o),(i.start||i.steps)&&n.renderer.boxWrapper.addClass("highcharts-draw-mode")):(n.stockTools&&n.stockTools.toggleButtonActiveClass(t),s.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)},i.prototype.bindingsChartClick=function(t,i){t=this.chart;var o=this.activeAnnotation,n=this.selectedButton,s=t.renderer.boxWrapper;o&&(o.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){var o=l.Element.prototype,n=o.matches||o.msMatchesSelector||o.webkitMatchesSelector,s=null;if(o.closest)s=o.closest.call(t,i);else do{if(n.call(t,i))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return s}(i.target,".highcharts-popup")?o.cancelClick&&setTimeout(function(){o.cancelClick=!1},0):y(this,"closePopup")),n&&n.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,n.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=n.steps[this.stepIndex]:(y(this,"deselectButton",{button:this.selectedButtonElement}),s.removeClass("highcharts-draw-mode"),n.end&&n.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=n.start.call(this,i),this.currentUserDetails&&n.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=n.steps[this.stepIndex]):(y(this,"deselectButton",{button:this.selectedButtonElement}),s.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,n.end&&n.end.call(this,i,this.currentUserDetails))))},i.prototype.bindingsContainerMouseMove=function(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)},i.prototype.fieldsToOptions=function(t,i){return A(t,function(t,o){var n=parseFloat(t),s=o.split("."),e=s.length-1;if(!g(n)||t.match(/px|em/g)||o.match(/format/g)||(t=n),"undefined"!==t){var r=i;s.forEach(function(i,o){var n=P(s[o+1],"");e===o?r[i]=t:(r[i]||(r[i]=n.match(/\d/g)?[]:{}),r=r[i])})}}),i},i.prototype.deselectAnnotation=function(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)},i.prototype.annotationToFields=function(t){var o=t.options,n=i.annotationsEditable,s=n.nestedOptions,e=P(o.type,o.shapes&&o.shapes[0]&&o.shapes[0].type,o.labels&&o.labels[0]&&o.labels[0].type,"label"),r=i.annotationsNonEditable[o.langKey]||[],a={langKey:o.langKey,type:e};function h(i,o,n,e,a){var l;n&&f(i)&&-1===r.indexOf(o)&&((n.indexOf&&n.indexOf(o))>=0||n[o]||!0===n)&&(x(i)?(e[o]=[],i.forEach(function(t,i){b(t)?(e[o][i]={},A(t,function(t,n){h(t,n,s[o],e[o][i],o)})):h(t,0,s[o],e[o],o)})):b(i)?(l={},x(e)?(e.push(l),l[o]={},l=l[o]):e[o]=l,A(i,function(t,i){h(t,i,0===o?n:s[o],l,o)})):"format"===o?e[o]=[p(i,t.labels[0].points[0]).toString(),"text"]:x(e)?e.push([i,c(a,i)]):e[o]=[i,c(o,i)])}return A(o,function(t,i){"typeOptions"===i?(a[i]={},A(o[i],function(t,o){h(t,o,s,a[i],o)})):h(t,i,n[e],a,i)}),a},i.prototype.getClickedClassNames=function(t,i){for(var o,n=i.target,s=[];n&&n.tagName&&((o=d(n,"class"))&&(s=s.concat(o.split(" ").map(function(t){return[t,n]}))),(n=n.parentNode)!==t););return s},i.prototype.getButtonEvents=function(t,i){var o,n=this;return this.getClickedClassNames(t,i).forEach(function(t){n.boundClassNames[t[0]]&&!o&&(o={events:n.boundClassNames[t[0]],button:t[1]})}),o},i.prototype.update=function(t){this.options=m(!0,this.options,t),this.removeEvents(),this.initEvents()},i.prototype.removeEvents=function(){this.eventsToUnbind.forEach(function(t){return t()})},i.prototype.destroy=function(){this.removeEvents()},i.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},i.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},i}();return T}),o(i,"Shared/BaseForm.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Utilities.js"]],function(t,i){var o=i.addEvent,n=i.createElement;return function(){function i(t,i){this.iconsURL=i,this.container=this.createPopupContainer(t),this.closeButton=this.addCloseButton()}return i.prototype.createPopupContainer=function(t,i){return void 0===i&&(i="highcharts-popup highcharts-no-tooltip"),n("div",{className:i},void 0,t)},i.prototype.addCloseButton=function(t){void 0===t&&(t="highcharts-popup-close");var i=this,s=this.iconsURL,e=n("div",{className:t},void 0,this.container);return e.style["background-image"]="url("+(s.match(/png|svg|jpeg|jpg|gif/ig)?s:s+"close.svg")+")",["click","touchstart"].forEach(function(t){o(e,t,i.closeButtonEvents.bind(i))}),o(document,"keydown",function(t){"Escape"===t.code&&i.closeButtonEvents()}),e},i.prototype.closeButtonEvents=function(){this.closePopup()},i.prototype.showPopup=function(i){void 0===i&&(i="highcharts-annotation-toolbar");var o=this.container,n=this.closeButton;this.type=void 0,o.innerHTML=t.emptyHTML,o.className.indexOf(i)>=0&&(o.classList.remove(i),o.removeAttribute("style")),o.appendChild(n),o.style.display="block",o.style.height=""},i.prototype.closePopup=function(){this.container.style.display="none"},i}()}),o(i,"Extensions/Annotations/Popup/PopupAnnotations.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i){var o=t.doc,n=t.isFirefox,s=i.createElement,e=i.isArray,r=i.isObject,a=i.objectEach,p=i.pick,h=i.stableSort;function l(t,i,p,c,u,d){var f,y,x=this;if(i){var v=this.addInput,g=this.lang;a(c,function(o,n){f=""!==p?p+"."+n:n,r(o)&&(!e(o)||e(o)&&r(o[0])?((y=g[n]||n).match(/\d/g)||u.push([!0,y,t]),l.call(x,t,i,f,o,u,!1)):u.push([x,f,"annotation",t,o]))}),d&&(h(u,function(t){return t[1].match(/format/g)?-1:1}),n&&u.reverse(),u.forEach(function(t){!0===t[0]?s("span",{className:"highcharts-annotation-title"},void 0,t[2]).appendChild(o.createTextNode(t[1])):(t[4]={value:t[4][0],type:t[4][1]},v.apply(t[0],t.splice(1)))}))}}return{addForm:function(t,i,n,e){if(t){var r=this.container,a=this.lang,p=s("h2",{className:"highcharts-popup-main-title"},void 0,r);p.appendChild(o.createTextNode(a[i.langKey]||i.langKey||"")),p=s("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},void 0,r);var h=s("div",{className:"highcharts-popup-bottom-row"},void 0,r);l.call(this,p,t,"",i,[],!0),this.addButton(h,e?a.addButton||"Add":a.saveButton||"Save",e?"add":"save",r,n)}},addToolbar:function(t,i,n){var e=this,r=this.lang,a=this.container,h=this.showForm,l="highcharts-annotation-toolbar";-1===a.className.indexOf(l)&&(a.className+=" "+l+" highcharts-no-mousewheel"),t&&(a.style.top=t.plotTop+10+"px"),s("span",void 0,void 0,a).appendChild(o.createTextNode(p(r[i.langKey]||i.langKey,i.shapes&&i.shapes[0].type,"")));var c=this.addButton(a,r.removeButton||"Remove","remove",a,n);c.className+=" highcharts-annotation-remove-button",c.style["background-image"]="url("+this.iconsURL+"destroy.svg)",c=this.addButton(a,r.editButton||"Edit","edit",a,function(){h.call(e,"annotation-edit",t,i,n)}),c.className+=" highcharts-annotation-edit-button",c.style["background-image"]="url("+this.iconsURL+"edit.svg)"}}}),o(i,"Extensions/Annotations/Popup/PopupIndicators.js",[i["Core/Renderer/HTML/AST.js"],i["Core/Globals.js"],i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i,o,n,s){var e,r,a=i.doc,p=o.annotationsFieldsTypes,h=n.seriesTypes,l=s.addEvent,c=s.createElement,u=s.defined,d=s.isArray,f=s.isObject,y=s.objectEach,x=s.stableSort;(e=r||(r={}))[e["params.algorithm"]=0]="params.algorithm",e[e["params.average"]=1]="params.average";var v={"algorithm-pivotpoints":["standard","fibonacci","camarilla"],"average-disparityindex":["sma","ema","dema","tema","wma"]};function g(t){var i=c("div",{className:"highcharts-popup-lhs-col"},void 0,t),o=c("div",{className:"highcharts-popup-rhs-col"},void 0,t);return c("div",{className:"highcharts-popup-rhs-col-wrapper"},void 0,o),{lhsCol:i,rhsCol:o}}function b(i,o,n,s){var e=o.params||o.options.params;s.innerHTML=t.emptyHTML,c("h3",{className:"highcharts-indicator-title"},void 0,s).appendChild(a.createTextNode(M(o,n).indicatorFullName)),c("input",{type:"hidden",name:"highcharts-type-"+n,value:n},void 0,s),k.call(this,n,"series",i,s,o,o.linkedParent&&o.linkedParent.options.id),e.volumeSeriesID&&k.call(this,n,"volume",i,s,o,o.linkedParent&&e.volumeSeriesID),A.call(this,i,"params",e,n,s)}function m(i,o,n,s){var e=this,r=e.lang,p=o.querySelectorAll(".highcharts-popup-lhs-col")[0],h=o.querySelectorAll(".highcharts-popup-rhs-col")[0],u="edit"===n,f=u?i.series:i.options.plotOptions||{};if(i||!f){var y,v=[];u||d(f)?d(f)&&(v=w.call(this,f)):v=E.call(this,f,s),x(v,function(t,i){var o=t.indicatorFullName.toLowerCase(),n=i.indicatorFullName.toLowerCase();return on?1:0}),p.children[1]&&p.children[1].remove();var g=c("ul",{className:"highcharts-indicator-list"},void 0,p),m=h.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];v.forEach(function(t){var o=t.indicatorFullName,n=t.indicatorType,s=t.series;(y=c("li",{className:"highcharts-indicator-list"},void 0,g)).appendChild(a.createTextNode(o)),["click","touchstart"].forEach(function(t){l(y,t,function(){var t=m.parentNode.children[1];b.call(e,i,s,n,m),t&&(t.style.display="block"),u&&s.options&&c("input",{type:"hidden",name:"highcharts-id-"+n,value:s.options.id},void 0,m).setAttribute("highcharts-data-series-id",s.options.id)})})}),g.childNodes.length>0?g.childNodes[0].click():u||(t.setElementHTML(m.parentNode.children[0],r.noFilterMatch||""),m.parentNode.children[1].style.display="none")}}function A(t,i,o,n,s){var e=this;if(t){var a=this.addInput;y(o,function(o,h){p[h];var l=i+"."+h;if(u(o)&&l){if(f(o)&&(a.call(e,l,n,s,{}),A.call(e,t,l,o,n,s)),l in r){var c=O.call(e,n,l,s);C.call(e,t,i,c,n,h,o)}else"params.volumeSeriesID"===l||d(o)||a.call(e,l,n,s,{value:o,type:"number"})}})}}function P(t,i){var o=this,n=i.querySelectorAll(".highcharts-popup-lhs-col")[0],s=this.lang.clearFilter,e=c("div",{className:"highcharts-input-wrapper"},void 0,n),r=function(i){m.call(o,t,o.container,"add",i)},a=this.addInput("searchIndicators","input",e,{value:"",type:"text",htmlFor:"search-indicators",labelClassName:"highcharts-input-search-indicators-label"}),p=c("a",{textContent:s},void 0,e);a.classList.add("highcharts-input-search-indicators"),p.classList.add("clear-filter-button"),l(a,"input",function(t){r(this.value),this.value.length?p.style.display="inline-block":p.style.display="none"}),["click","touchstart"].forEach(function(t){l(p,t,function(){a.value="",r(""),p.style.display="none"})})}function O(t,i,o){var n=i.split("."),s=n[n.length-1],e="highcharts-"+i+"-type-"+t,r=this.lang;c("label",{htmlFor:e},null,o).appendChild(a.createTextNode(r[s]||i));var p=c("select",{name:e,className:"highcharts-popup-field",id:"highcharts-select-"+i},null,o);return p.setAttribute("id","highcharts-select-"+i),p}function C(t,i,o,n,s,e,r){"series"===i||"volume"===i?t.series.forEach(function(t){var n=t.options,s=n.name||n.params?t.name:n.id||"";"highcharts-navigator-series"!==n.id&&n.id!==(r&&r.options&&r.options.id)&&(u(e)||"volume"!==i||"column"!==t.type||(e=n.id),c("option",{value:n.id},void 0,o).appendChild(a.createTextNode(s)))}):n&&s&&v[s+"-"+n].forEach(function(t){c("option",{value:t},void 0,o).appendChild(a.createTextNode(t))}),u(e)&&(o.value=e)}function E(t,i){this.indicators;var o,n=this.chart&&this.chart.options.lang,s=n&&n.navigation&&n.navigation.popup&&n.navigation.popup.indicatorAliases,e=[];return y(t,function(t,n){var r=t&&t.options;if(t.params||r&&r.params){var a=M(t,n),p=a.indicatorFullName,h=a.indicatorType;if(i){var l=RegExp(i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"i"),c=s&&s[h]&&s[h].join(" ")||"";(p.match(l)||c.match(l))&&(o={indicatorFullName:p,indicatorType:h,series:t},e.push(o))}else o={indicatorFullName:p,indicatorType:h,series:t},e.push(o)}}),e}function w(t){var i=[];return t.forEach(function(t){t.is("sma")&&i.push({indicatorFullName:t.name,indicatorType:t.type,series:t})}),i}function M(t,i){var o=t.options,n=h[i]&&h[i].prototype.nameBase||i.toUpperCase(),s=i;return o&&o.type&&(s=t.options.type,n=t.name),{indicatorFullName:n,indicatorType:s}}function k(t,i,o,n,s,e){if(this.indicators,o){var r=O.call(this,t,i,n);C.call(this,o,i,r,void 0,void 0,void 0,s),u(e)&&(r.value=e)}}return{addForm:function(t,i,o){var n,s=this.lang;if(t){this.tabs.init.call(this,t);var e=this.container.querySelectorAll(".highcharts-tab-item-content");g(e[0]),P.call(this,t,e[0]),m.call(this,t,e[0],"add"),n=e[0].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(n,s.addButton||"add","add",n,o),g(e[1]),m.call(this,t,e[1],"edit"),n=e[1].querySelectorAll(".highcharts-popup-rhs-col")[0],this.addButton(n,s.saveButton||"save","edit",n,o),this.addButton(n,s.removeButton||"remove","remove",n,o)}},getAmount:function(){var t=0;return this.series.forEach(function(i){(i.params||i.options.params)&&t++}),t}}}),o(i,"Extensions/Annotations/Popup/PopupTabs.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i){var o=t.doc,n=i.addEvent,s=i.createElement;function e(){return s("div",{className:"highcharts-tab-item-content highcharts-no-mousewheel"},void 0,this.container)}function r(t,i){var n=this.container,e=this.lang,r="highcharts-tab-item";0===i&&(r+=" highcharts-tab-disabled");var a=s("span",{className:r},void 0,n);return a.appendChild(o.createTextNode(e[t+"Button"]||t)),a.setAttribute("highcharts-data-tab-type",t),a}function a(){for(var t=this.container,i=t.querySelectorAll(".highcharts-tab-item"),o=t.querySelectorAll(".highcharts-tab-item-content"),n=0;n option:checked")[0],a=n.querySelectorAll("#highcharts-select-volume > option:checked")[0],p={actionType:o,linkedTo:r&&r.getAttribute("value")||"",fields:{}},t.forEach(function(t){var i=t.getAttribute("highcharts-data-name");t.getAttribute("highcharts-data-series-id")?p.seriesId=t.value:i?p.fields[i]=t.value:p.type=t.value}),i.forEach(function(t){var i=t.id;if("highcharts-select-series"!==i&&"highcharts-select-volume"!==i){var o=i.split("highcharts-select-")[1];p.fields[o]=t.value}}),a&&(p.fields["params.volumeSeriesID"]=a.getAttribute("value")||""),p))})}),r},i.prototype.showForm=function(t,i,o,n){i&&(this.showPopup(),"indicators"===t&&this.indicators.addForm.call(this,i,o,n),"annotation-toolbar"===t&&this.annotations.addToolbar.call(this,i,o,n),"annotation-edit"===t&&this.annotations.addForm.call(this,i,o,n),"flag"===t&&this.annotations.addForm.call(this,i,o,n,!0),this.type=t,this.container.style.height=this.container.offsetHeight+"px")},i}(t);return d(x.prototype,{annotations:n,indicators:s,tabs:e}),x}),o(i,"Extensions/Annotations/Popup/PopupComposition.js",[i["Extensions/Annotations/Popup/Popup.js"],i["Core/Utilities.js"]],function(t,i){var o=i.addEvent,n=i.wrap,s=[];function e(){this.popup&&this.popup.closePopup()}function r(i){this.popup||(this.popup=new t(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/11.2.0/gfx/stock-icons/",this.chart)),this.popup.showForm(i.formType,this.chart,i.options,i.onSubmit)}function a(t,i){this.inClass(i.target,"highcharts-popup")||t.apply(this,Array.prototype.slice.call(arguments,1))}return{compose:function(t,p){i.pushUnique(s,t)&&(o(t,"closePopup",e),o(t,"showPopup",r)),i.pushUnique(s,p)&&n(p.prototype,"onContainerMouseDown",a)}}}),o(i,"Extensions/Annotations/Annotation.js",[i["Core/Animation/AnimationUtilities.js"],i["Extensions/Annotations/AnnotationChart.js"],i["Extensions/Annotations/AnnotationDefaults.js"],i["Extensions/Annotations/Controllables/ControllableRect.js"],i["Extensions/Annotations/Controllables/ControllableCircle.js"],i["Extensions/Annotations/Controllables/ControllableEllipse.js"],i["Extensions/Annotations/Controllables/ControllablePath.js"],i["Extensions/Annotations/Controllables/ControllableImage.js"],i["Extensions/Annotations/Controllables/ControllableLabel.js"],i["Extensions/Annotations/ControlPoint.js"],i["Extensions/Annotations/ControlTarget.js"],i["Extensions/Annotations/EventEmitter.js"],i["Extensions/Annotations/MockPoint.js"],i["Extensions/Annotations/NavigationBindings.js"],i["Extensions/Annotations/Popup/PopupComposition.js"],i["Core/Utilities.js"]],function(t,i,o,n,s,e,r,a,p,h,l,c,u,d,f,y){var x,v=this&&this.__extends||(x=function(t,i){return(x=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}x(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),g=t.getDeferredAnimation,b=y.destroyObjectProperties,m=y.erase,A=y.fireEvent,P=y.merge,O=y.pick,C=y.splat;function E(t,i){var o={};return["labels","shapes"].forEach(function(n){var s=t[n];s&&(i[n]?o[n]=C(i[n]).map(function(t,i){return P(s[i],t)}):o[n]=t[n])}),o}var w=function(t){function o(i,o){var n=t.call(this)||this;n.coll="annotations",n.animationConfig=void 0,n.graphic=void 0,n.group=void 0,n.labelCollector=void 0,n.labelsGroup=void 0,n.shapesGroup=void 0,n.chart=i,n.points=[],n.controlPoints=[],n.coll="annotations",n.index=-1,n.labels=[],n.shapes=[],n.options=P(n.defaultOptions,o),n.userOptions=o;var s=E(n.options,o);return n.options.labels=s.labels,n.options.shapes=s.shapes,n.init(i,n.options),n}return v(o,t),o.compose=function(t,n,s){i.compose(o,t,n),p.compose(s),r.compose(t,s),d.compose(o,t),f.compose(d,n)},o.prototype.addClipPaths=function(){this.setClipAxes(),this.clipXAxis&&this.clipYAxis&&this.options.crop&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))},o.prototype.addLabels=function(){var t=this,i=this.options.labels||[];i.forEach(function(o,n){var s=t.initLabel(o,n);P(!0,i[n],s.options)})},o.prototype.addShapes=function(){var t=this,i=this.options.shapes||[];i.forEach(function(o,n){var s=t.initShape(o,n);P(!0,i[n],s.options)})},o.prototype.destroy=function(){var i=this.chart,o=function(t){t.destroy()};this.labels.forEach(o),this.shapes.forEach(o),this.clipXAxis=null,this.clipYAxis=null,m(i.labelCollectors,this.labelCollector),t.prototype.destroy.call(this),this.destroyControlTarget(),b(this,i)},o.prototype.destroyItem=function(t){m(this[t.itemType+"s"],t),t.destroy()},o.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}},o.prototype.initProperties=function(t,i){this.setOptions(i);var o=E(this.options,i);this.options.labels=o.labels,this.options.shapes=o.shapes,this.chart=t,this.points=[],this.controlPoints=[],this.coll="annotations",this.userOptions=i,this.labels=[],this.shapes=[]},o.prototype.init=function(t,i,o){void 0===o&&(o=this.index);var n=this.chart,s=this.options.animation;this.index=o,this.linkPoints(),this.addControlPoints(),this.addShapes(),this.addLabels(),this.setLabelCollector(),this.animationConfig=g(n,s)},o.prototype.initLabel=function(t,i){var o=new p(this,P(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},t),i);return o.itemType="label",this.labels.push(o),o},o.prototype.initShape=function(t,i){var n=P(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},t),s=new o.shapesMap[n.type](this,n,i);return s.itemType="shape",this.shapes.push(s),s},o.prototype.redraw=function(t){this.linkPoints(),this.graphic||this.render(),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.redrawControlPoints(t)},o.prototype.redrawItem=function(t,i){if(t.linkPoints(),t.shouldBeDrawn()){if(t.graphic||this.renderItem(t),t.redraw(O(i,!0)&&t.graphic.placed),t.points.length){var o,n;o=t.graphic,n=t.points.some(function(t){return!1!==t.series.visible&&!1!==t.visible}),o&&(n?"hidden"===o.visibility&&o.show():o.hide())}}else this.destroyItem(t)},o.prototype.redrawItems=function(t,i){for(var o=t.length;o--;)this.redrawItem(t[o],i)},o.prototype.remove=function(){return this.chart.removeAnnotation(this)},o.prototype.render=function(){var t=this.chart.renderer;this.graphic=t.g("annotation").attr({opacity:0,zIndex:this.options.zIndex,visibility:this.options.visible?"inherit":"hidden"}).add(),this.shapesGroup=t.g("annotation-shapes").add(this.graphic),this.options.crop&&this.shapesGroup.clip(this.chart.plotBoxClip),this.labelsGroup=t.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(),this.renderControlPoints()},o.prototype.renderItem=function(t){t.render("label"===t.itemType?this.labelsGroup:this.shapesGroup)},o.prototype.renderItems=function(t){for(var i=t.length;i--;)this.renderItem(t[i])},o.prototype.setClipAxes=function(){var t=this.chart.xAxis,i=this.chart.yAxis,o=(this.options.labels||[]).concat(this.options.shapes||[]).reduce(function(o,n){var s=n&&(n.point||n.points&&n.points[0]);return[t[s&&s.xAxis]||o[0],i[s&&s.yAxis]||o[1]]},[]);this.clipXAxis=o[0],this.clipYAxis=o[1]},o.prototype.setControlPointsVisibility=function(t){var i=function(i){i.setControlPointsVisibility(t)};this.controlPoints.forEach(function(i){i.setVisibility(t)}),this.shapes.forEach(i),this.labels.forEach(i)},o.prototype.setLabelCollector=function(){var t=this;t.labelCollector=function(){return t.labels.reduce(function(t,i){return i.options.allowOverlap||t.push(i.graphic),t},[])},t.chart.labelCollectors.push(t.labelCollector)},o.prototype.setOptions=function(t){this.options=P(this.defaultOptions,t)},o.prototype.setVisibility=function(t){var i=this.options,o=this.chart.navigationBindings,n=O(t,!i.visible);if(this.graphic.attr("visibility",n?"inherit":"hidden"),!n){var s=function(t){t.setControlPointsVisibility(n)};this.shapes.forEach(s),this.labels.forEach(s),o.activeAnnotation===this&&o.popup&&"annotation-toolbar"===o.popup.type&&A(o,"closePopup")}i.visible=n},o.prototype.update=function(t,i){var o=this.chart,n=E(this.userOptions,t),s=o.annotations.indexOf(this),e=P(!0,this.userOptions,t);e.labels=n.labels,e.shapes=n.shapes,this.destroy(),this.initProperties(o,e),this.init(o,e),o.options.annotations[s]=e,this.isUpdating=!0,O(i,!0)&&o.redraw(),A(this,"afterUpdate"),this.isUpdating=!1},o.ControlPoint=h,o.MockPoint=u,o.shapesMap={rect:n,circle:s,ellipse:e,path:r,image:a},o.types={},o}(c);return w.prototype.defaultOptions=o,w.prototype.nonDOMEvents=["add","afterUpdate","drag","remove"],l.compose(w),w}),o(i,"Extensions/Annotations/Types/BasicAnnotation.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,o){var n,s=this&&this.__extends||(n=function(t,i){return(n=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}n(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),e=o.merge,r=function(t){function o(){return null!==t&&t.apply(this,arguments)||this}return s(o,t),o.prototype.addControlPoints=function(){var t=this.options,i=o.basicControlPoints,n=this.basicType;(t.labels||t.shapes||[]).forEach(function(t){t.controlPoints=i[n]})},o.prototype.init=function(){var i=this.options;if(i.shapes){delete i.labelOptions;var o=i.shapes[0].type;o&&"path"!==o?this.basicType=o:this.basicType="rectangle"}else delete i.shapes,this.basicType="label";t.prototype.init.apply(this,arguments)},o.basicControlPoints={label:[{symbol:"triangle-down",positioner:function(t){if(!t.graphic.placed)return{x:0,y:-9e7};var o=i.pointToPixels(t.points[0]);return{x:o.x-(this.graphic.width||0)/2,y:o.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){var o=this.mouseMoveToTranslation(t);i.translatePoint(o.x,o.y),i.annotation.userOptions.labels[0].point=i.options.point,i.redraw(!1)}}},{symbol:"square",positioner:function(t){return t.graphic.placed?{x:t.graphic.alignAttr.x-(this.graphic.width||0)/2,y:t.graphic.alignAttr.y-(this.graphic.height||0)/2}:{x:0,y:-9e7}},events:{drag:function(t,i){var o=this.mouseMoveToTranslation(t);i.translate(o.x,o.y),i.annotation.userOptions.labels[0].point=i.options.point,i.redraw(!1)}}}],rectangle:[{positioner:function(t){var o=i.pointToPixels(t.points[2]);return{x:o.x-4,y:o.y-4}},events:{drag:function(t,i){var o,n,s=i.annotation,e=this.chart.pointer.getCoordinates(t),r=i.options.points,a=s.userOptions.shapes,p=(null===(o=s.clipXAxis)||void 0===o?void 0:o.index)||0,h=(null===(n=s.clipYAxis)||void 0===n?void 0:n.index)||0,l=e.xAxis[p].value,c=e.yAxis[h].value;r[1].x=l,r[2].x=l,r[2].y=c,r[3].y=c,a&&a[0]&&(a[0].points=i.options.points),s.redraw(!1)}}}],circle:[{positioner:function(t){var o=i.pointToPixels(t.points[0]),n=t.options.r;return{x:o.x+n*Math.cos(Math.PI/4)-(this.graphic.width||0)/2,y:o.y+n*Math.sin(Math.PI/4)-(this.graphic.height||0)/2}},events:{drag:function(t,i){var o=i.annotation,n=this.mouseMoveToTranslation(t),s=o.userOptions.shapes;i.setRadius(Math.max(i.options.r+n.y/Math.sin(Math.PI/4),5)),s&&s[0]&&(s[0].r=i.options.r,s[0].point=i.options.point),i.redraw(!1)}}}],ellipse:[{positioner:function(t){var i=t.getAbsolutePosition(t.points[0]);return{x:i.x-(this.graphic.width||0)/2,y:i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){var o=i.getAbsolutePosition(i.points[0]);i.translatePoint(t.chartX-o.x,t.chartY-o.y,0),i.redraw(!1)}}},{positioner:function(t){var i=t.getAbsolutePosition(t.points[1]);return{x:i.x-(this.graphic.width||0)/2,y:i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){var o=i.getAbsolutePosition(i.points[1]);i.translatePoint(t.chartX-o.x,t.chartY-o.y,1),i.redraw(!1)}}},{positioner:function(t){var i=t.getAbsolutePosition(t.points[0]),o=t.getAbsolutePosition(t.points[1]),n=t.getAttrs(i,o);return{x:n.cx-(this.graphic.width||0)/2+n.ry*Math.sin(n.angle*Math.PI/180),y:n.cy-(this.graphic.height||0)/2-n.ry*Math.cos(n.angle*Math.PI/180)}},events:{drag:function(t,i){var o=i.getAbsolutePosition(i.points[0]),n=i.getAbsolutePosition(i.points[1]),s=i.getDistanceFromLine(o,n,t.chartX,t.chartY),e=i.getYAxis(),r=Math.abs(e.toValue(0)-e.toValue(s));i.setYRadius(r),i.redraw(!1)}}}]},o}(t);return r.prototype.defaultOptions=e(t.prototype.defaultOptions,{}),t.types.basicAnnotation=r,r}),o(i,"Extensions/Annotations/Types/CrookedLine.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/ControlPoint.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,o,n){var s,e=this&&this.__extends||(s=function(t,i){return(s=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}s(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),r=n.merge,a=function(t){function o(){return null!==t&&t.apply(this,arguments)||this}return e(o,t),o.prototype.setClipAxes=function(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis],this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]},o.prototype.getPointsOptions=function(){var t=this.options.typeOptions;return(t.points||[]).map(function(i){return i.xAxis=t.xAxis,i.yAxis=t.yAxis,i})},o.prototype.getControlPointsOptions=function(){return this.getPointsOptions()},o.prototype.addControlPoints=function(){this.getControlPointsOptions().forEach(function(t,o){var n=new i(this.chart,this,r(this.options.controlPointOptions,t.controlPoint),o);this.controlPoints.push(n),t.controlPoint=n.options},this)},o.prototype.addShapes=function(){var t=this.options.typeOptions,i=this.initShape(r(t.line,{type:"path",points:this.points.map(function(t,i){return function(t){return t.annotation.points[i]}})}),0);t.line=i.options},o}(t);return a.prototype.defaultOptions=r(t.prototype.defaultOptions,{typeOptions:{xAxis:0,yAxis:0,line:{fill:"none"}},controlPointOptions:{positioner:function(t){var i=this.graphic,n=o.pointToPixels(t.points[this.index]);return{x:n.x-(i.width||0)/2,y:n.y-(i.height||0)/2}},events:{drag:function(t,i){if(i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})){var o=this.mouseMoveToTranslation(t),n=i.options.typeOptions;i.translatePoint(o.x,o.y,this.index),n.points[this.index].x=i.points[this.index].x,n.points[this.index].y=i.points[this.index].y,i.redraw(!1)}}}}}),t.types.crookedLine=a,a}),o(i,"Extensions/Annotations/Types/ElliottWave.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/Types/CrookedLine.js"],i["Core/Utilities.js"]],function(t,i,o){var n,s=this&&this.__extends||(n=function(t,i){return(n=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}n(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),e=o.merge,r=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return s(i,t),i.prototype.addLabels=function(){var t=this;this.getPointsOptions().forEach(function(i,o){var n=t.options.typeOptions,s=t.initLabel(e(i.label,{text:n.labels[o],point:function(t){return t.annotation.points[o]}}),!1);i.label=s.options})},i}(i);return r.prototype.defaultOptions=e(i.prototype.defaultOptions,{typeOptions:{labels:["(0)","(A)","(B)","(C)","(D)","(E)"],line:{strokeWidth:1}},labelOptions:{align:"center",allowOverlap:!0,crop:!0,overflow:"none",type:"rect",backgroundColor:"none",borderWidth:0,y:-5}}),t.types.elliottWave=r,r}),o(i,"Extensions/Annotations/Types/Tunnel.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/ControlPoint.js"],i["Extensions/Annotations/Types/CrookedLine.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,o,n,s){var e,r=this&&this.__extends||(e=function(t,i){return(e=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}e(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),a=s.merge,p=function(t){function s(){return null!==t&&t.apply(this,arguments)||this}return r(s,t),s.prototype.getPointsOptions=function(){var t=o.prototype.getPointsOptions.call(this),i=this.options.typeOptions.yAxis||0,n=this.chart.yAxis[i];if(t[2]=this.heightPointOptions(t[1]),t[3]=this.heightPointOptions(t[0]),n&&n.logarithmic){var s=n.toPixels(t[2].y)-n.toPixels(t[1].y),e=n.toPixels(t[0].y)+s;t[3].y=n.toValue(e)}return t},s.prototype.getControlPointsOptions=function(){return this.getPointsOptions().slice(0,2)},s.prototype.heightPointOptions=function(t){var i=a(t),o=this.options.typeOptions;return i.y+=o.height,i},s.prototype.addControlPoints=function(){o.prototype.addControlPoints.call(this);var t=this.options,n=t.typeOptions,s=new i(this.chart,this,a(t.controlPointOptions,n.heightControlPoint),2);this.controlPoints.push(s),n.heightControlPoint=s.options},s.prototype.addShapes=function(){this.addLine(),this.addBackground()},s.prototype.addLine=function(){var t=this.initShape(a(this.options.typeOptions.line,{type:"path",points:[this.points[0],this.points[1],function(t){var i=n.pointToOptions(t.annotation.points[2]);return i.command="M",i},this.points[3]]}),0);this.options.typeOptions.line=t.options},s.prototype.addBackground=function(){var t=this.initShape(a(this.options.typeOptions.background,{type:"path",points:this.points.slice()}),1);this.options.typeOptions.background=t.options},s.prototype.translateSide=function(t,i,o){var n=Number(o),s=0===n?3:2;this.translatePoint(t,i,n),this.translatePoint(t,i,s)},s.prototype.translateHeight=function(t){this.translatePoint(0,t,2),this.translatePoint(0,t,3),this.options.typeOptions.height=this.points[3].y-this.points[0].y,this.userOptions.typeOptions.height=this.options.typeOptions.height},s}(o);return p.prototype.defaultOptions=a(o.prototype.defaultOptions,{typeOptions:{background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},line:{strokeWidth:1},height:-2,heightControlPoint:{positioner:function(t){var i=n.pointToPixels(t.points[2]),o=n.pointToPixels(t.points[3]),s=(i.x+o.x)/2;return{x:s-(this.graphic.width||0)/2,y:(o.y-i.y)/(o.x-i.x)*(s-i.x)+i.y-(this.graphic.height||0)/2}},events:{drag:function(t,i){i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})&&(i.translateHeight(this.mouseMoveToTranslation(t).y),i.redraw(!1))}}}},controlPointOptions:{events:{drag:function(t,i){if(i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})){var o=this.mouseMoveToTranslation(t);i.translateSide(o.x,o.y,!!this.index),i.redraw(!1)}}}}}),t.types.tunnel=p,p}),o(i,"Extensions/Annotations/Types/InfinityLine.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/Types/CrookedLine.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,o,n){var s,e=this&&this.__extends||(s=function(t,i){return(s=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}s(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),r=n.merge,a=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.edgePoint=function(t,n){return function(s){var e=s.annotation,r=e.options.typeOptions.type,a=e.points;return("horizontalLine"===r||"verticalLine"===r)&&(a=[a[0],new o(e.chart,a[0].target,{x:a[0].x+ +("horizontalLine"===r),y:a[0].y+ +("verticalLine"===r),xAxis:a[0].options.xAxis,yAxis:a[0].options.yAxis})]),i.findEdgePoint(a[t],a[n])}},i.findEdgeCoordinate=function(t,i,o,n){var s="x"===o?"y":"x";return(i[o]-t[o])*(n-t[s])/(i[s]-t[s])+t[o]},i.findEdgePoint=function(t,n){var s,e,r,a=t.series.chart,p=t.series.xAxis,h=n.series.yAxis,l=o.pointToPixels(t),c=o.pointToPixels(n),u=c.x-l.x,d=c.y-l.y,f=p.left,y=f+p.width,x=h.top,v=x+h.height,g=u<0?f:y,b=d<0?x:v,m={x:0===u?l.x:g,y:0===d?l.y:b};return 0!==u&&0!==d&&(e=i.findEdgeCoordinate(l,c,"y",g),s=i.findEdgeCoordinate(l,c,"x",b),e>=x&&e<=v?(m.x=g,m.y=e):(m.x=s,m.y=b)),m.x-=a.plotLeft,m.y-=a.plotTop,t.series.chart.inverted&&(r=m.x,m.x=m.y,m.y=r),m},i.prototype.addShapes=function(){var t=this.options.typeOptions,o=[this.points[0],i.endEdgePoint];t.type.match(/line/gi)&&(o[0]=i.startEdgePoint);var n=this.initShape(r(t.line,{type:"path",points:o}),0);t.line=n.options},i.endEdgePoint=i.edgePoint(0,1),i.startEdgePoint=i.edgePoint(1,0),i}(i);return a.prototype.defaultOptions=r(i.prototype.defaultOptions,{}),t.types.infinityLine=a,a}),o(i,"Extensions/Annotations/Types/TimeCycles.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/Types/CrookedLine.js"],i["Extensions/Annotations/ControlPoint.js"],i["Core/Utilities.js"]],function(t,i,o,n){var s,e=this&&this.__extends||(s=function(t,i){return(s=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}s(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),r=n.merge,a=n.isNumber,p=n.defined,h=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(i,o,n){p(o.yAxis)&&o.points.forEach(function(t){t.yAxis=o.yAxis}),p(o.xAxis)&&o.points.forEach(function(t){t.xAxis=o.xAxis}),t.prototype.init.call(this,i,o,n)},i.prototype.setPath=function(){this.shapes[0].options.d=this.getPath()},i.prototype.getPath=function(){return[["M",this.startX,this.y]].concat(function(t,i,o,n){for(var s=[],e=1;e<=i;e++)s.push(["A",t/2,t/2,0,1,1,o+e*t,n]);return s}(this.pixelInterval,this.numberOfCircles,this.startX,this.y))},i.prototype.addShapes=function(){var t=this.options.typeOptions;this.setPathProperties();var i=this.initShape(r(t.line,{type:"path",d:this.getPath(),points:this.options.points}),0);t.line=i.options},i.prototype.addControlPoints=function(){var t=this,i=this.options,n=i.typeOptions;i.controlPointOptions.style.cursor=this.chart.inverted?"ns-resize":"ew-resize",n.controlPointOptions.forEach(function(n){var s=r(i.controlPointOptions,n),e=new o(t.chart,t,s,0);t.controlPoints.push(e)})},i.prototype.setPathProperties=function(){var t=this.options.typeOptions,i=t.points;if(i){var o=i[0],n=i[1],s=t.xAxis||0,e=t.yAxis||0,r=this.chart.xAxis[s],p=this.chart.yAxis[e],h=o.x,l=o.y,c=n.x;if(h&&c){var u=a(l)?p.toPixels(l):p.top+p.height,d=a(h)?r.toPixels(h):r.left,f=a(c)?r.toPixels(c):r.left+30,y=r.len,x=Math.round(Math.max(Math.abs(f-d),2)),v=(Math.floor((d-r.left)/x)+1)*x;this.startX=d-v,this.y=u,this.pixelInterval=x,this.numberOfCircles=Math.floor(y/x)+2}}},i.prototype.redraw=function(i){this.setPathProperties(),this.setPath(),t.prototype.redraw.call(this,i)},i}(i);return h.prototype.defaultOptions=r(i.prototype.defaultOptions,{typeOptions:{controlPointOptions:[{positioner:function(t){var i=t.points[0];return{x:t.anchor(i).absolutePosition.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)}},events:{drag:function(t,i){var o=i.anchor(i.points[0]).absolutePosition;i.translatePoint(t.chartX-o.x,0,0),i.redraw(!1)}}},{positioner:function(t){var i=t.points[1];return{x:t.anchor(i).absolutePosition.x-(this.graphic.width||0)/2,y:t.y-(this.graphic.height||0)}},events:{drag:function(t,i){var o=i.anchor(i.points[1]).absolutePosition;i.translatePoint(t.chartX-o.x,0,1),i.redraw(!1)}}}]}}),t.types.timeCycles=h,h}),o(i,"Extensions/Annotations/Types/Fibonacci.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/MockPoint.js"],i["Extensions/Annotations/Types/Tunnel.js"],i["Core/Utilities.js"]],function(t,i,o,n){var s,e=this&&this.__extends||(s=function(t,i){return(s=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}s(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),r=n.merge;function a(t,i){return function(){var o=this.annotation;if(!o.startRetracements||!o.endRetracements)return[];var n=this.anchor(o.startRetracements[t]).absolutePosition,s=this.anchor(o.endRetracements[t]).absolutePosition,e=[["M",Math.round(n.x),Math.round(n.y)],["L",Math.round(s.x),Math.round(s.y)]];if(i){var r=this.anchor(o.endRetracements[t-1]).absolutePosition,a=this.anchor(o.startRetracements[t-1]).absolutePosition;e.push(["L",Math.round(r.x),Math.round(r.y)],["L",Math.round(a.x),Math.round(a.y)])}return e}}var p=function(t){function o(){return null!==t&&t.apply(this,arguments)||this}return e(o,t),o.prototype.linkPoints=function(){t.prototype.linkPoints.call(this),this.linkRetracementsPoints()},o.prototype.linkRetracementsPoints=function(){var t=this,i=this.points,n=i[0].y-i[3].y,s=i[1].y-i[2].y,e=i[0].x,r=i[1].x;o.levels.forEach(function(a,p){var h=i[0].y-n*a,l=i[1].y-s*a,c=t.options.typeOptions.reversed?o.levels.length-p-1:p;t.startRetracements=t.startRetracements||[],t.endRetracements=t.endRetracements||[],t.linkRetracementPoint(c,e,h,t.startRetracements),t.linkRetracementPoint(c,r,l,t.endRetracements)})},o.prototype.linkRetracementPoint=function(t,o,n,s){var e=s[t],r=this.options.typeOptions;e?(e.options.x=o,e.options.y=n,e.refresh()):s[t]=new i(this.chart,this,{x:o,y:n,xAxis:r.xAxis,yAxis:r.yAxis})},o.prototype.addShapes=function(){o.levels.forEach(function(t,i){var o=this.options.typeOptions,n=o.backgroundColors,s=o.lineColor,e=o.lineColors;this.initShape({type:"path",d:a(i),stroke:e[i]||s},i),i>0&&this.initShape({type:"path",fill:n[i-1],strokeWidth:0,d:a(i,!0)})},this)},o.prototype.addLabels=function(){o.levels.forEach(function(t,o){var n=this.options.typeOptions,s=this.initLabel(r(n.labels[o],{point:function(t){return i.pointToOptions(t.annotation.startRetracements[o])},text:t.toString()}));n.labels[o]=s.options},this)},o.levels=[0,.236,.382,.5,.618,.786,1],o}(o);return p.prototype.defaultOptions=r(o.prototype.defaultOptions,{typeOptions:{reversed:!1,height:2,backgroundColors:["rgba(130, 170, 255, 0.4)","rgba(139, 191, 216, 0.4)","rgba(150, 216, 192, 0.4)","rgba(156, 229, 161, 0.4)","rgba(162, 241, 130, 0.4)","rgba(169, 255, 101, 0.4)"],lineColor:"#999999",lineColors:[],labels:[]},labelOptions:{allowOverlap:!0,align:"right",backgroundColor:"none",borderWidth:0,crop:!1,overflow:"none",shape:"rect",style:{color:"grey"},verticalAlign:"middle",y:0}}),t.types.fibonacci=p,p}),o(i,"Extensions/Annotations/Types/FibonacciTimeZones.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/ControlPoint.js"],i["Extensions/Annotations/Types/CrookedLine.js"],i["Extensions/Annotations/Types/InfinityLine.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,o,n,s,e){var r,a=this&&this.__extends||(r=function(t,i){return(r=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}r(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),p=e.merge;function h(t,i,o){return function(e){var r=e.annotation.chart,a=r.inverted?r.plotTop:r.plotLeft,p=e.annotation.points,h=p[0].series.xAxis,l=p.length>1?p[1].plotX-p[0].plotX:0,c=h.toValue(p[0].plotX+a+o*l);return p=[new s(r,p[0].target,{x:c,y:0,xAxis:p[0].options.xAxis,yAxis:p[0].options.yAxis}),new s(r,p[0].target,{x:c,y:1,xAxis:p[0].options.xAxis,yAxis:p[0].options.yAxis})],n.findEdgePoint(p[t],p[i])}}var l=function(t){function o(){return null!==t&&t.apply(this,arguments)||this}return a(o,t),o.prototype.addShapes=function(){for(var t=1,i=1,o=0;o<11;o++){var n=o?t:0,s=[h(1,0,n),h(0,1,n)];t=(i=t+i)-t,1===o&&(this.secondLineEdgePoints=[s[0],s[1]]),this.initShape(p(this.options.typeOptions.line,{type:"path",points:s}),o)}},o.prototype.addControlPoints=function(){var t=this.options,o=t.typeOptions,n=new i(this.chart,this,p(t.controlPointOptions,o.controlPointOptions),0);this.controlPoints.push(n),o.controlPointOptions=n.options},o}(o);return l.prototype.defaultOptions=p(o.prototype.defaultOptions,{typeOptions:{line:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:void 0},controlPointOptions:{positioner:function(){var t,i=this.target,o=this.graphic,n=i.secondLineEdgePoints,s={annotation:i},e=n[0](s).y,r=n[1](s).y,a=this.chart.plotLeft,p=this.chart.plotTop,h=n[0](s).x,l=(e+r)/2;return this.chart.inverted&&(h=(t=[l,h])[0],l=t[1]),{x:a+h-(o.width||0)/2,y:p+l-(o.height||0)/2}},events:{drag:function(t,i){if(i.chart.isInsidePlot(t.chartX-i.chart.plotLeft,t.chartY-i.chart.plotTop,{visiblePlotOnly:!0})){var o=this.mouseMoveToTranslation(t);i.translatePoint(o.x,0,1),i.redraw(!1)}}}}}}),t.types.fibonacciTimeZones=l,l}),o(i,"Extensions/Annotations/Types/Pitchfork.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/Types/InfinityLine.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,o,n){var s,e=this&&this.__extends||(s=function(t,i){return(s=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}s(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),r=n.merge,a=function(t){function n(){return null!==t&&t.apply(this,arguments)||this}return e(n,t),n.outerLineEdgePoint=function(t){return function(i){var s=i.annotation,e=s.points;return n.findEdgePoint(e[t],e[0],new o(s.chart,i,s.midPointOptions()))}},n.findEdgePoint=function(t,i,o){var n=Math.atan2(o.plotY-i.plotY,o.plotX-i.plotX);return{x:t.plotX+1e7*Math.cos(n),y:t.plotY+1e7*Math.sin(n)}},n.middleLineEdgePoint=function(t){var n=t.annotation,s=n.points;return i.findEdgePoint(s[0],new o(n.chart,t,n.midPointOptions()))},n.prototype.midPointOptions=function(){var t=this.points;return{x:(t[1].x+t[2].x)/2,y:(t[1].y+t[2].y)/2,xAxis:t[0].series.xAxis,yAxis:t[0].series.yAxis}},n.prototype.addShapes=function(){this.addLines(),this.addBackgrounds()},n.prototype.addLines=function(){this.initShape({type:"path",points:[this.points[0],n.middleLineEdgePoint]},0),this.initShape({type:"path",points:[this.points[1],n.topLineEdgePoint]},1),this.initShape({type:"path",points:[this.points[2],n.bottomLineEdgePoint]},2)},n.prototype.addBackgrounds=function(){var t=this.shapes,i=this.options.typeOptions,o=this.initShape(r(i.innerBackground,{type:"path",points:[function(t){var i=t.annotation,o=i.points,n=i.midPointOptions();return{x:(o[1].x+n.x)/2,y:(o[1].y+n.y)/2,xAxis:n.xAxis,yAxis:n.yAxis}},t[1].points[1],t[2].points[1],function(t){var i=t.annotation,o=i.points,n=i.midPointOptions();return{x:(n.x+o[2].x)/2,y:(n.y+o[2].y)/2,xAxis:n.xAxis,yAxis:n.yAxis}}]}),3),n=this.initShape(r(i.outerBackground,{type:"path",points:[this.points[1],t[1].points[1],t[2].points[1],this.points[2]]}),4);i.innerBackground=o.options,i.outerBackground=n.options},n.topLineEdgePoint=n.outerLineEdgePoint(1),n.bottomLineEdgePoint=n.outerLineEdgePoint(0),n}(i);return a.prototype.defaultOptions=r(i.prototype.defaultOptions,{typeOptions:{innerBackground:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},outerBackground:{fill:"rgba(156, 229, 161, 0.4)",strokeWidth:0}}}),t.types.pitchfork=a,a}),o(i,"Extensions/Annotations/Types/VerticalLine.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/MockPoint.js"],i["Core/Utilities.js"]],function(t,i,o){var n,s=this&&this.__extends||(n=function(t,i){return(n=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}n(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),e=o.merge,r=o.pick,a=function(t){function o(){return null!==t&&t.apply(this,arguments)||this}return s(o,t),o.connectorFirstPoint=function(t){var o=t.annotation,n=o.chart,s=n.inverted,e=o.points[0],a=r(e.series.yAxis&&e.series.yAxis.left,0),p=r(e.series.yAxis&&e.series.yAxis.top,0),h=o.options.typeOptions.label.offset,l=i.pointToPixels(e,!0)[s?"x":"y"];return{x:e.x,xAxis:e.series.xAxis,y:l+h+(s?a-n.plotLeft:p-n.plotTop)}},o.connectorSecondPoint=function(t){var o=t.annotation,n=o.chart,s=n.inverted,e=o.options.typeOptions,a=o.points[0],p=r(a.series.yAxis&&a.series.yAxis.left,0),h=r(a.series.yAxis&&a.series.yAxis.top,0),l=i.pointToPixels(a,!0)[s?"x":"y"],c=e.yOffset;return e.label.offset<0&&(c*=-1),{x:a.x,xAxis:a.series.xAxis,y:l+c+(s?p-n.plotLeft:h-n.plotTop)}},o.prototype.getPointsOptions=function(){return[this.options.typeOptions.point]},o.prototype.addShapes=function(){var t=this.options.typeOptions,i=this.initShape(e(t.connector,{type:"path",points:[o.connectorFirstPoint,o.connectorSecondPoint]}),0);t.connector=i.options,this.userOptions.typeOptions.point=t.point},o.prototype.addLabels=function(){var t=this.options.typeOptions,i=t.label,o=0,n=i.offset,s=i.offset<0?"bottom":"top",r="center";this.chart.inverted&&(o=i.offset,n=0,s="middle",r=i.offset<0?"right":"left");var a=this.initLabel(e(i,{verticalAlign:s,align:r,x:o,y:n}));t.label=a.options},o}(t);return a.prototype.defaultOptions=e(t.prototype.defaultOptions,{typeOptions:{yOffset:10,label:{offset:-40,point:function(t){return t.annotation.points[0]},allowOverlap:!0,backgroundColor:"none",borderWidth:0,crop:!0,overflow:"none",shape:"rect",text:"{y:.2f}"},connector:{strokeWidth:1,markerEnd:"arrow"}}}),t.types.verticalLine=a,a}),o(i,"Extensions/Annotations/Types/Measure.js",[i["Extensions/Annotations/Annotation.js"],i["Extensions/Annotations/ControlPoint.js"],i["Core/Utilities.js"]],function(t,i,o){var n,s=this&&this.__extends||(n=function(t,i){return(n=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(t[o]=i[o])})(t,i)},function(t,i){if("function"!=typeof i&&null!==i)throw TypeError("Class extends value "+String(i)+" is not a constructor or null");function o(){this.constructor=t}n(t,i),t.prototype=null===i?Object.create(i):(o.prototype=i.prototype,new o)}),e=o.defined,r=o.extend,a=o.isNumber,p=o.merge,h=o.pick;function l(){var t="";return""!==this.max&&""!==this.min&&(t=(this.max+this.min)/2),t}function c(){var t=this.chart.series,i=d(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),o=0,n=!1;return t.forEach(function(t){t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(function(t){!t.isNull&&t.x>i.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(o++,n=!0)})}),n||(o=""),o}function u(){return"Min: "+this.min+"
Max: "+this.max+"
Average: "+this.average+"
Bins: "+this.bins}function d(t,i,o,n){return{xAxisMin:Math.min(i,t),xAxisMax:Math.max(i,t),yAxisMin:Math.min(n,o),yAxisMax:Math.max(n,o)}}function f(t,i,o){return t.toValue(t.toPixels(i)+o)}function y(){var t=this.options.typeOptions,i=this.chart,o=i.inverted,n=i.xAxis[t.xAxis],s=i.yAxis[t.yAxis],e=t.background,r=o?e.height:e.width,p=o?e.width:e.height,h=t.selectType,l=o?n.left:s.top,c=o?s.top:n.left;this.startXMin=t.point.x,this.startYMin=t.point.y,a(r)?this.startXMax=this.startXMin+r:this.startXMax=f(n,this.startXMin,parseFloat(r)),a(p)?this.startYMax=this.startYMin-p:this.startYMax=f(s,this.startYMin,parseFloat(p)),"x"===h?(this.startYMin=s.toValue(l),this.startYMax=s.toValue(l+s.len)):"y"===h&&(this.startXMin=n.toValue(c),this.startXMax=n.toValue(c+n.len))}function x(){var t=this.chart.series,i=d(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),o=-1/0,n=!1;return t.forEach(function(t){t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(function(t){!t.isNull&&t.y>o&&t.x>i.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(o=t.y,n=!0)})}),n||(o=""),o}function v(){var t=this.chart.series,i=d(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),o=1/0,n=!1;return t.forEach(function(t){t.visible&&"highcharts-navigator-series"!==t.options.id&&t.points.forEach(function(t){!t.isNull&&t.yi.xAxisMin&&t.x<=i.xAxisMax&&t.y>i.yAxisMin&&t.y<=i.yAxisMax&&(o=t.y,n=!0)})}),n||(o=""),o}function g(t){var i=this.options.typeOptions,o=this.chart.xAxis[i.xAxis],n=this.chart.yAxis[i.yAxis],s=this.offsetX,e=this.offsetY;this.xAxisMin=f(o,this.startXMin,s),this.xAxisMax=f(o,this.startXMax,s),this.yAxisMin=f(n,this.startYMin,e),this.yAxisMax=f(n,this.startYMax,e),this.min=v.call(this),this.max=x.call(this),this.average=l.call(this),this.bins=c.call(this),t&&this.resize(0,0)}function b(t,i,o,n,s){var e=this.options.typeOptions,r=e.selectType,a=this.chart.xAxis[e.xAxis],p=this.chart.yAxis[e.yAxis],h=this.startXMin,l=this.startXMax,c=this.startYMin,u=this.startYMax,d=this.offsetX,y=this.offsetY;i&&("x"===r?0===o?this.startXMin=f(a,h,n):this.startXMax=f(a,l,n):"y"===r?0===o?this.startYMin=f(p,c,s):this.startYMax=f(p,u,s):(this.startXMax=f(a,l,n),this.startYMax=f(p,u,s))),t&&(this.startXMin=f(a,h,d),this.startXMax=f(a,l,d),this.startYMin=f(p,c,y),this.startYMax=f(p,u,y),this.offsetX=0,this.offsetY=0),this.options.typeOptions.point={x:this.startXMin,y:this.startYMin},this.userOptions.typeOptions.point={x:this.startXMin,y:this.startYMin}}var m=function(t){function o(){return null!==t&&t.apply(this,arguments)||this}return s(o,t),o.prototype.init=function(i,o,n){t.prototype.init.call(this,i,o,n),this.offsetX=0,this.offsetY=0,this.resizeX=0,this.resizeY=0,y.call(this),this.addValues(),this.addShapes()},o.prototype.setClipAxes=function(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis],this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]},o.prototype.pointsOptions=function(){return this.options.points},o.prototype.shapePointsOptions=function(){var t=this.options.typeOptions,i=t.xAxis,o=t.yAxis;return[{x:this.xAxisMin,y:this.yAxisMin,xAxis:i,yAxis:o},{x:this.xAxisMax,y:this.yAxisMin,xAxis:i,yAxis:o},{x:this.xAxisMax,y:this.yAxisMax,xAxis:i,yAxis:o},{x:this.xAxisMin,y:this.yAxisMax,xAxis:i,yAxis:o}]},o.prototype.addControlPoints=function(){var t=this.chart.inverted,o=this.options.controlPointOptions,n=this.options.typeOptions.selectType;e(this.userOptions.controlPointOptions&&this.userOptions.controlPointOptions.style.cursor)||("x"===n?o.style.cursor=t?"ns-resize":"ew-resize":"y"!==n||(o.style.cursor=t?"ew-resize":"ns-resize"));var s=new i(this.chart,this,this.options.controlPointOptions,0);this.controlPoints.push(s),"xy"!==n&&(s=new i(this.chart,this,this.options.controlPointOptions,1),this.controlPoints.push(s))},o.prototype.addValues=function(t){var i=this.options.typeOptions,o=i.label.formatter;g.call(this,t),i.label.enabled&&(this.labels.length>0?this.labels[0].text=o&&o.call(this)||u.call(this):this.initLabel(r({shape:"rect",backgroundColor:"none",color:"black",borderWidth:0,dashStyle:"Dash",overflow:"allow",align:"left",y:0,x:0,verticalAlign:"top",crop:!0,xAxis:0,yAxis:0,point:function(t){var o=t.annotation,n=t.options;return{x:o.xAxisMin,y:o.yAxisMin,xAxis:h(i.xAxis,n.xAxis),yAxis:h(i.yAxis,n.yAxis)}},text:o&&o.call(this)||u.call(this)},i.label),void 0))},o.prototype.addShapes=function(){this.addCrosshairs(),this.addBackground()},o.prototype.addBackground=function(){void 0!==this.shapePointsOptions()[0].x&&this.initShape(r({type:"path",points:this.shapePointsOptions()},this.options.typeOptions.background),2)},o.prototype.addCrosshairs=function(){var t,i,o,n=this.chart,s=this.options.typeOptions,e=this.options.typeOptions.point,a=n.xAxis[s.xAxis],h=n.yAxis[s.yAxis],l=n.inverted,c={point:e,type:"path"},u=a.toPixels(this.xAxisMin),d=a.toPixels(this.xAxisMax),f=h.toPixels(this.yAxisMin),y=h.toPixels(this.yAxisMax),x=[],v=[];l&&(o=u,u=f,f=o,o=d,d=y,y=o),s.crosshairX.enabled&&(x=[["M",u,f+(y-f)/2],["L",d,f+(y-f)/2]]),s.crosshairY.enabled&&(v=[["M",u+(d-u)/2,f],["L",u+(d-u)/2,y]]),this.shapes.length>0?(this.shapes[0].options.d=x,this.shapes[1].options.d=v):(t=p(c,s.crosshairX),i=p(c,s.crosshairY),this.initShape(r({d:x},t),0),this.initShape(r({d:v},i),1))},o.prototype.onDrag=function(t){var i=this.mouseMoveToTranslation(t),o=this.options.typeOptions.selectType,n="y"===o?0:i.x,s="x"===o?0:i.y;this.translate(n,s),this.offsetX+=n,this.offsetY+=s,this.redraw(!1,!1,!0)},o.prototype.resize=function(t,i,o,n){var s=this.shapes[2];"x"===n?0===o?(s.translatePoint(t,0,0),s.translatePoint(t,i,3)):(s.translatePoint(t,0,1),s.translatePoint(t,i,2)):"y"===n?0===o?(s.translatePoint(0,i,0),s.translatePoint(0,i,1)):(s.translatePoint(0,i,2),s.translatePoint(0,i,3)):(s.translatePoint(t,0,1),s.translatePoint(t,i,2),s.translatePoint(0,i,3)),b.call(this,!1,!0,o,t,i),this.options.typeOptions.background.height=Math.abs(this.startYMax-this.startYMin),this.options.typeOptions.background.width=Math.abs(this.startXMax-this.startXMin)},o.prototype.redraw=function(t,i,o){this.linkPoints(),this.graphic||this.render(),o&&b.call(this,!0,!1),this.clipRect&&this.clipRect.animate(this.getClipBox()),this.addValues(i),this.addCrosshairs(),this.redrawItems(this.shapes,t),this.redrawItems(this.labels,t),this.controlPoints.forEach(function(t){return t.redraw()})},o.prototype.translate=function(t,i){this.shapes.forEach(function(o){return o.translate(t,i)})},o}(t);return m.prototype.defaultOptions=p(t.prototype.defaultOptions,{typeOptions:{selectType:"xy",xAxis:0,yAxis:0,background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0,stroke:void 0},crosshairX:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},crosshairY:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},label:{enabled:!0,style:{fontSize:"0.7em",color:"#666666"},formatter:void 0}},controlPointOptions:{positioner:function(t){var i,o,n=this.index,s=t.chart,e=t.options,r=e.typeOptions,a=r.selectType,p=e.controlPointOptions,h=s.inverted,l=s.xAxis[r.xAxis],c=s.yAxis[r.yAxis],u=d(t.xAxisMin,t.xAxisMax,t.yAxisMin,t.yAxisMax),f=t.xAxisMax,y=t.yAxisMax;return"x"===a&&(y=(u.yAxisMax+u.yAxisMin)/2,0===n&&(f=t.xAxisMin)),"y"===a&&(f=u.xAxisMin+(u.xAxisMax-u.xAxisMin)/2,0===n&&(y=t.yAxisMin)),h?(i=c.toPixels(y),o=l.toPixels(f)):(i=l.toPixels(f),o=c.toPixels(y)),{x:i-p.width/2,y:o-p.height/2}},events:{drag:function(t,i){var o=this.mouseMoveToTranslation(t),n=i.options.typeOptions.selectType,s=this.index,e="y"===n?0:o.x,r="x"===n?0:o.y;i.resize(e,r,s,n),i.resizeX+=e,i.resizeY+=r,i.redraw(!1,!0)}}}}),t.types.measure=m,m}),o(i,"masters/modules/annotations-advanced.src.js",[i["Core/Globals.js"],i["Extensions/Annotations/Annotation.js"]],function(t,i){t.Annotation=i,i.compose(t.Chart,t.Pointer,t.SVGRenderer)})});//# sourceMappingURL=annotations-advanced.js.map