Hacked By AnonymousFox
{"version":3,"sources":["<anon>"],"sourcesContent":["/**\n * @license Highcharts JS v12.1.2 (2025-01-09)\n * @module highcharts/modules/annotations\n * @requires highcharts\n *\n * Annotations module\n *\n * (c) 2009-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"highcharts\"), require(\"highcharts\")[\"SeriesRegistry\"], require(\"highcharts\")[\"Templating\"], require(\"highcharts\")[\"AST\"]);\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"highcharts/modules/annotations-advanced\", [[\"highcharts/highcharts\"], [\"highcharts/highcharts\",\"SeriesRegistry\"], [\"highcharts/highcharts\",\"Templating\"], [\"highcharts/highcharts\",\"AST\"]], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"highcharts/modules/annotations-advanced\"] = factory(require(\"highcharts\"), require(\"highcharts\")[\"SeriesRegistry\"], require(\"highcharts\")[\"Templating\"], require(\"highcharts\")[\"AST\"]);\n\telse\n\t\troot[\"Highcharts\"] = factory(root[\"Highcharts\"], root[\"Highcharts\"][\"SeriesRegistry\"], root[\"Highcharts\"][\"Templating\"], root[\"Highcharts\"][\"AST\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__512__, __WEBPACK_EXTERNAL_MODULE__984__, __WEBPACK_EXTERNAL_MODULE__660__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 660:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__660__;\n\n/***/ }),\n\n/***/ 512:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__512__;\n\n/***/ }),\n\n/***/ 984:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__984__;\n\n/***/ }),\n\n/***/ 944:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__944__;\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ annotations_advanced_src; }\n});\n\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\"],\"commonjs\":[\"highcharts\"],\"commonjs2\":[\"highcharts\"],\"root\":[\"Highcharts\"]}\nvar highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_ = __webpack_require__(944);\nvar highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default = /*#__PURE__*/__webpack_require__.n(highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_);\n;// ./code/es5/es-modules/Extensions/Annotations/AnnotationChart.js\n/* *\n *\n * (c) 2009-2024 Highsoft, Black Label\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, erase = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).erase, find = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).find, fireEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).fireEvent, pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick, wrap = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).wrap;\n/* *\n *\n * Functions\n *\n * */\n/**\n * Add an annotation to the chart after render time.\n *\n * @sample highcharts/annotations/add-annotation/\n * Add annotation\n *\n * @function Highcharts.Chart#addAnnotation\n *\n * @param {Highcharts.AnnotationsOptions} options\n * The annotation options for the new, detailed annotation.\n *\n * @param {boolean} [redraw]\n *\n * @return {Highcharts.Annotation}\n * The newly generated annotation.\n */\nfunction chartAddAnnotation(userOptions, redraw) {\n var annotation = this.initAnnotation(userOptions);\n this.options.annotations.push(annotation.options);\n if (pick(redraw, true)) {\n annotation.redraw();\n annotation.graphic.attr({\n opacity: 1\n });\n }\n return annotation;\n}\n/**\n * @private\n */\nfunction chartCallback() {\n var chart = this;\n chart.plotBoxClip = this.renderer.clipRect(this.plotBox);\n chart.controlPointsGroup = chart.renderer\n .g('control-points')\n .attr({ zIndex: 99 })\n .clip(chart.plotBoxClip)\n .add();\n chart.options.annotations.forEach(function (annotationOptions, i) {\n if (\n // Verify that it has not been previously added in a responsive rule\n !chart.annotations.some(function (annotation) {\n return annotation.options === annotationOptions;\n })) {\n var annotation = chart.initAnnotation(annotationOptions);\n chart.options.annotations[i] = annotation.options;\n }\n });\n chart.drawAnnotations();\n addEvent(chart, 'redraw', chart.drawAnnotations);\n addEvent(chart, 'destroy', function () {\n chart.plotBoxClip.destroy();\n chart.controlPointsGroup.destroy();\n });\n addEvent(chart, 'exportData', function (event) {\n var annotations = chart.annotations,\n csvColumnHeaderFormatter = ((this.options.exporting &&\n this.options.exporting.csv) ||\n {}).columnHeaderFormatter, \n // If second row doesn't have xValues\n // then it is a title row thus multiple level header is in use.\n multiLevelHeaders = !event.dataRows[1].xValues,\n annotationHeader = (chart.options.lang &&\n chart.options.lang.exportData &&\n chart.options.lang.exportData.annotationHeader),\n columnHeaderFormatter = function (index) {\n var s;\n if (csvColumnHeaderFormatter) {\n s = csvColumnHeaderFormatter(index);\n if (s !== false) {\n return s;\n }\n }\n s = annotationHeader + ' ' + index;\n if (multiLevelHeaders) {\n return {\n columnTitle: s,\n topLevelColumnTitle: s\n };\n }\n return s;\n }, startRowLength = event.dataRows[0].length, annotationSeparator = (chart.options.exporting &&\n chart.options.exporting.csv &&\n chart.options.exporting.csv.annotations &&\n chart.options.exporting.csv.annotations.itemDelimiter), joinAnnotations = (chart.options.exporting &&\n chart.options.exporting.csv &&\n chart.options.exporting.csv.annotations &&\n chart.options.exporting.csv.annotations.join);\n annotations.forEach(function (annotation) {\n if (annotation.options.labelOptions &&\n annotation.options.labelOptions.includeInDataExport) {\n annotation.labels.forEach(function (label) {\n if (label.options.text) {\n var annotationText_1 = label.options.text;\n label.points.forEach(function (points) {\n var annotationX = points.x,\n xAxisIndex = points.series.xAxis ?\n points.series.xAxis.index :\n -1;\n var wasAdded = false;\n // Annotation not connected to any xAxis -\n // add new row.\n if (xAxisIndex === -1) {\n var n = event.dataRows[0].length,\n newRow = new Array(n);\n for (var i = 0; i < n; ++i) {\n newRow[i] = '';\n }\n newRow.push(annotationText_1);\n newRow.xValues = [];\n newRow.xValues[xAxisIndex] = annotationX;\n event.dataRows.push(newRow);\n wasAdded = true;\n }\n // Annotation placed on a exported data point\n // - add new column\n if (!wasAdded) {\n event.dataRows.forEach(function (row) {\n if (!wasAdded &&\n row.xValues &&\n xAxisIndex !== void 0 &&\n annotationX === row.xValues[xAxisIndex]) {\n if (joinAnnotations &&\n row.length > startRowLength) {\n row[row.length - 1] += (annotationSeparator +\n annotationText_1);\n }\n else {\n row.push(annotationText_1);\n }\n wasAdded = true;\n }\n });\n }\n // Annotation not placed on any exported data point,\n // but connected to the xAxis - add new row\n if (!wasAdded) {\n var n = event.dataRows[0].length,\n newRow = new Array(n);\n for (var i = 0; i < n; ++i) {\n newRow[i] = '';\n }\n newRow[0] = annotationX;\n newRow.push(annotationText_1);\n newRow.xValues = [];\n if (xAxisIndex !== void 0) {\n newRow.xValues[xAxisIndex] = annotationX;\n }\n event.dataRows.push(newRow);\n }\n });\n }\n });\n }\n });\n var maxRowLen = 0;\n event.dataRows.forEach(function (row) {\n maxRowLen = Math.max(maxRowLen, row.length);\n });\n var newRows = maxRowLen - event.dataRows[0].length;\n for (var i = 0; i < newRows; i++) {\n var header = columnHeaderFormatter(i + 1);\n if (multiLevelHeaders) {\n event.dataRows[0].push(header.topLevelColumnTitle);\n event.dataRows[1].push(header.columnTitle);\n }\n else {\n event.dataRows[0].push(header);\n }\n }\n });\n}\n/**\n * @private\n */\nfunction chartDrawAnnotations() {\n this.plotBoxClip.attr(this.plotBox);\n this.annotations.forEach(function (annotation) {\n annotation.redraw();\n annotation.graphic.animate({\n opacity: 1\n }, annotation.animationConfig);\n });\n}\n/**\n * Remove an annotation from the chart.\n *\n * @function Highcharts.Chart#removeAnnotation\n *\n * @param {number|string|Highcharts.Annotation} idOrAnnotation\n * The annotation's id or direct annotation object.\n */\nfunction chartRemoveAnnotation(idOrAnnotation) {\n var annotations = this.annotations,\n annotation = (idOrAnnotation.coll === 'annotations') ?\n idOrAnnotation :\n find(annotations,\n function (annotation) {\n return annotation.options.id === idOrAnnotation;\n });\n if (annotation) {\n fireEvent(annotation, 'remove');\n erase(this.options.annotations, annotation.options);\n erase(annotations, annotation);\n annotation.destroy();\n }\n}\n/**\n * Create lookups initially\n * @private\n */\nfunction onChartAfterInit() {\n var chart = this;\n chart.annotations = [];\n if (!this.options.annotations) {\n this.options.annotations = [];\n }\n}\n/**\n * @private\n */\nfunction wrapPointerOnContainerMouseDown(proceed) {\n if (!this.chart.hasDraggedAnnotation) {\n proceed.apply(this, Array.prototype.slice.call(arguments, 1));\n }\n}\n/* *\n *\n * Composition\n *\n * */\n/**\n * @private\n */\nvar AnnotationChart;\n(function (AnnotationChart) {\n /* *\n *\n * Functions\n *\n * */\n /**\n * @private\n */\n function compose(AnnotationClass, ChartClass, PointerClass) {\n var chartProto = ChartClass.prototype;\n if (!chartProto.addAnnotation) {\n var pointerProto = PointerClass.prototype;\n addEvent(ChartClass, 'afterInit', onChartAfterInit);\n chartProto.addAnnotation = chartAddAnnotation;\n chartProto.callbacks.push(chartCallback);\n chartProto.collectionsWithInit.annotations = [chartAddAnnotation];\n chartProto.collectionsWithUpdate.push('annotations');\n chartProto.drawAnnotations = chartDrawAnnotations;\n chartProto.removeAnnotation = chartRemoveAnnotation;\n chartProto.initAnnotation = function chartInitAnnotation(userOptions) {\n var Constructor = (AnnotationClass.types[userOptions.type] ||\n AnnotationClass),\n annotation = new Constructor(this,\n userOptions);\n this.annotations.push(annotation);\n return annotation;\n };\n wrap(pointerProto, 'onContainerMouseDown', wrapPointerOnContainerMouseDown);\n }\n }\n AnnotationChart.compose = compose;\n})(AnnotationChart || (AnnotationChart = {}));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Annotations_AnnotationChart = (AnnotationChart);\n\n;// ./code/es5/es-modules/Extensions/Annotations/AnnotationDefaults.js\n/* *\n *\n * Imports\n *\n * */\n\nvar defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined;\n/* *\n *\n * API Options\n *\n * */\n/**\n * A basic type of an annotation. It allows to add custom labels\n * or shapes. The items can be tied to points, axis coordinates\n * or chart pixel coordinates.\n *\n * @sample highcharts/annotations/basic/\n * Basic annotations\n * @sample highcharts/demo/annotations/\n * Advanced annotations\n * @sample highcharts/css/annotations\n * Styled mode\n * @sample highcharts/annotations-advanced/controllable\n * Controllable items\n * @sample {highstock} stock/annotations/fibonacci-retracements\n * Custom annotation, Fibonacci retracement\n *\n * @type {Array<*>}\n * @since 6.0.0\n * @requires modules/annotations\n * @optionparent annotations\n */\nvar AnnotationDefaults = {\n /**\n * Sets an ID for an annotation. Can be user later when\n * removing an annotation in [Chart#removeAnnotation(id)](\n * /class-reference/Highcharts.Chart#removeAnnotation) method.\n *\n * @type {number|string}\n * @apioption annotations.id\n */\n /**\n * Whether the annotation is visible.\n *\n * @sample highcharts/annotations/visible/\n * Set annotation visibility\n */\n visible: true,\n /**\n * Enable or disable the initial animation when a series is\n * displayed for the `annotation`. The animation can also be set\n * as a configuration object. Please note that this option only\n * applies to the initial animation.\n * For other animations, see [chart.animation](#chart.animation)\n * and the animation parameter under the API methods.\n * The following properties are supported:\n *\n * - `defer`: The animation delay time in milliseconds.\n *\n * @sample {highcharts} highcharts/annotations/defer/\n * Animation defer settings\n * @type {boolean|Partial<Highcharts.AnimationOptionsObject>}\n * @since 8.2.0\n */\n animation: {},\n /**\n * Whether to hide the part of the annotation\n * that is outside the plot area.\n *\n * @sample highcharts/annotations/label-crop-overflow/\n * Crop line annotation\n * @type {boolean}\n * @since 9.3.0\n */\n crop: true,\n /**\n * The animation delay time in milliseconds.\n * Set to `0` renders annotation immediately.\n * As `undefined` inherits defer time from the [series.animation.defer](#plotOptions.series.animation.defer).\n *\n * @type {number}\n * @since 8.2.0\n * @apioption annotations.animation.defer\n */\n /**\n * Allow an annotation to be draggable by a user. Possible\n * values are `'x'`, `'xy'`, `'y'` and `''` (disabled).\n *\n * @sample highcharts/annotations/draggable/\n * Annotations draggable: 'xy'\n *\n * @type {Highcharts.AnnotationDraggableValue}\n */\n draggable: 'xy',\n /**\n * Options for annotation's labels. Each label inherits options\n * from the labelOptions object. An option from the labelOptions\n * can be overwritten by config for a specific label.\n *\n * @requires modules/annotations\n */\n labelOptions: {\n /**\n * The alignment of the annotation's label. If right,\n * the right side of the label should be touching the point.\n *\n * @sample highcharts/annotations/label-position/\n * Set labels position\n *\n * @type {Highcharts.AlignValue}\n */\n align: 'center',\n /**\n * Whether to allow the annotation's labels to overlap.\n * To make the labels less sensitive for overlapping,\n * the can be set to 0.\n *\n * @sample highcharts/annotations/tooltip-like/\n * Hide overlapping labels\n */\n allowOverlap: false,\n /**\n * The background color or gradient for the annotation's\n * label.\n *\n * @sample highcharts/annotations/label-presentation/\n * Set labels graphic options\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */\n backgroundColor: 'rgba(0, 0, 0, 0.75)',\n /**\n * The border color for the annotation's label.\n *\n * @sample highcharts/annotations/label-presentation/\n * Set labels graphic options\n *\n * @type {Highcharts.ColorString}\n */\n borderColor: \"#000000\" /* Palette.neutralColor100 */,\n /**\n * The border radius in pixels for the annotation's label.\n *\n * @sample highcharts/annotations/label-presentation/\n * Set labels graphic options\n */\n borderRadius: 3,\n /**\n * The border width in pixels for the annotation's label\n *\n * @sample highcharts/annotations/label-presentation/\n * Set labels graphic options\n */\n borderWidth: 1,\n /**\n * A class name for styling by CSS.\n *\n * @sample highcharts/css/annotations\n * Styled mode annotations\n *\n * @since 6.0.5\n */\n className: 'highcharts-no-tooltip',\n /**\n * Whether to hide the annotation's label\n * that is outside the plot area.\n *\n * @sample highcharts/annotations/label-crop-overflow/\n * Crop or justify labels\n */\n crop: false,\n /**\n * The label's pixel distance from the point.\n *\n * @sample highcharts/annotations/label-position/\n * Set labels position\n *\n * @type {number}\n * @apioption annotations.labelOptions.distance\n */\n /**\n * A\n * [format](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)\n * string for the data label.\n *\n * @see [plotOptions.series.dataLabels.format](plotOptions.series.dataLabels.format.html)\n *\n * @sample highcharts/annotations/label-text/\n * Set labels text\n *\n * @type {string}\n * @apioption annotations.labelOptions.format\n */\n /**\n * Alias for the format option.\n *\n * @see [format](annotations.labelOptions.format.html)\n *\n * @sample highcharts/annotations/label-text/\n * Set labels text\n *\n * @type {string}\n * @apioption annotations.labelOptions.text\n */\n /**\n * Callback JavaScript function to format the annotation's\n * label. Note that if a `format` or `text` are defined,\n * the format or text take precedence and the formatter is\n * ignored. `This` refers to a point object.\n *\n * @sample highcharts/annotations/label-text/\n * Set labels text\n *\n * @type {Highcharts.FormatterCallbackFunction<Highcharts.Point>}\n * @default function () { return defined(this.y) ? this.y : 'Annotation label'; }\n */\n formatter: function () {\n return defined(this.y) ? '' + this.y : 'Annotation label';\n },\n /**\n * Whether the annotation is visible in the exported data\n * table.\n *\n * @sample highcharts/annotations/include-in-data-export/\n * Do not include in the data export\n *\n * @since 8.2.0\n * @requires modules/export-data\n */\n includeInDataExport: true,\n /**\n * How to handle the annotation's label that flow outside\n * the plot area. The justify option aligns the label inside\n * the plot area.\n *\n * @sample highcharts/annotations/label-crop-overflow/\n * Crop or justify labels\n *\n * @validvalue [\"allow\", \"justify\"]\n */\n overflow: 'justify',\n /**\n * When either the borderWidth or the backgroundColor is\n * set, this is the padding within the box.\n *\n * @sample highcharts/annotations/label-presentation/\n * Set labels graphic options\n */\n padding: 5,\n /**\n * The shadow of the box. The shadow can be an object\n * configuration containing `color`, `offsetX`, `offsetY`,\n * `opacity` and `width`.\n *\n * @sample highcharts/annotations/label-presentation/\n * Set labels graphic options\n *\n * @type {boolean|Highcharts.ShadowOptionsObject}\n */\n shadow: false,\n /**\n * The name of a symbol to use for the border around the\n * label. Symbols are predefined functions on the Renderer\n * object.\n *\n * @sample highcharts/annotations/shapes/\n * Available shapes for labels\n */\n shape: 'callout',\n /**\n * Styles for the annotation's label.\n *\n * @see [plotOptions.series.dataLabels.style](plotOptions.series.dataLabels.style.html)\n *\n * @sample highcharts/annotations/label-presentation/\n * Set labels graphic options\n *\n * @type {Highcharts.CSSObject}\n */\n style: {\n /** @ignore */\n fontSize: '0.7em',\n /** @ignore */\n fontWeight: 'normal',\n /** @ignore */\n color: 'contrast'\n },\n /**\n * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the annotation's label.\n */\n useHTML: false,\n /**\n * The vertical alignment of the annotation's label.\n *\n * @sample highcharts/annotations/label-position/\n * Set labels position\n *\n * @type {Highcharts.VerticalAlignValue}\n */\n verticalAlign: 'bottom',\n /**\n * The x position offset of the label relative to the point.\n * Note that if a `distance` is defined, the distance takes\n * precedence over `x` and `y` options.\n *\n * @sample highcharts/annotations/label-position/\n * Set labels position\n */\n x: 0,\n /**\n * The y position offset of the label relative to the point.\n * Note that if a `distance` is defined, the distance takes\n * precedence over `x` and `y` options.\n *\n * @sample highcharts/annotations/label-position/\n * Set labels position\n */\n y: -16\n },\n /**\n * An array of labels for the annotation. For options that apply\n * to multiple labels, they can be added to the\n * [labelOptions](annotations.labelOptions.html).\n *\n * @type {Array<*>}\n * @extends annotations.labelOptions\n * @apioption annotations.labels\n */\n /**\n * This option defines the point to which the label will be\n * connected. It can be either the point which exists in the\n * series - it is referenced by the point's id - or a new point\n * with defined x, y properties and optionally axes.\n *\n * @sample highcharts/annotations/mock-point/\n * Attach annotation to a mock point\n * @sample highcharts/annotations/mock-points/\n * Attach annotation to a mock point with different ways\n *\n * @declare Highcharts.AnnotationMockPointOptionsObject\n * @type {\n * string|\n * Highcharts.AnnotationMockPointOptionsObject|\n * Highcharts.AnnotationMockPointFunction\n * }\n * @requires modules/annotations\n * @apioption annotations.labels.point\n */\n /**\n * An array of shapes for the annotation. For options that apply\n * to multiple shapes, then can be added to the\n * [shapeOptions](annotations.shapeOptions.html).\n *\n * @type {Array<*>}\n * @extends annotations.shapeOptions\n * @apioption annotations.shapes\n */\n /**\n * This option defines the point to which the shape will be\n * connected. It can be either the point which exists in the\n * series - it is referenced by the point's id - or a new point\n * with defined x, y properties and optionally axes.\n *\n * @sample highcharts/annotations/mock-points/\n * Attach annotation to a mock point with different ways\n *\n * @declare Highcharts.AnnotationMockPointOptionsObject\n * @type {\n * string|\n * Highcharts.AnnotationMockPointOptionsObject|\n * Highcharts.AnnotationMockPointFunction\n * }\n * @extends annotations.labels.point\n * @requires modules/annotations\n * @apioption annotations.shapes.point\n */\n /**\n * An array of points for the shape\n * or a callback function that returns that shape point.\n *\n * This option is available\n * for shapes which can use multiple points such as path. A\n * point can be either a point object or a point's id.\n *\n * @see [annotations.shapes.point](annotations.shapes.point.html)\n *\n * @type {Array<Highcharts.AnnotationShapePointOptions>}\n * @extends annotations.labels.point\n * @apioption annotations.shapes.points\n */\n /**\n * The URL for an image to use as the annotation shape. Note,\n * type has to be set to `'image'`.\n *\n * @see [annotations.shapes.type](annotations.shapes.type)\n * @sample highcharts/annotations/shape-src/\n * Define a marker image url for annotations\n *\n * @type {string}\n * @apioption annotations.shapes.src\n */\n /**\n * Id of the marker which will be drawn at the final vertex of\n * the path. Custom markers can be defined in defs property.\n *\n * @see [defs.markers](defs.markers.html)\n *\n * @sample highcharts/annotations/custom-markers/\n * Define a custom marker for annotations\n *\n * @type {string}\n * @apioption annotations.shapes.markerEnd\n */\n /**\n * Id of the marker which will be drawn at the first vertex of\n * the path. Custom markers can be defined in defs property.\n *\n * @see [defs.markers](defs.markers.html)\n *\n * @sample {highcharts} highcharts/annotations/custom-markers/\n * Define a custom marker for annotations\n *\n * @type {string}\n * @apioption annotations.shapes.markerStart\n */\n /**\n * Options for annotation's shapes. Each shape inherits options\n * from the shapeOptions object. An option from the shapeOptions\n * can be overwritten by config for a specific shape.\n *\n * @requires modules/annotations\n */\n shapeOptions: {\n /**\n *\n * The radius of the shape in y direction.\n * Used for the ellipse.\n *\n * @sample highcharts/annotations/ellipse/\n * Ellipse annotation\n *\n * @type {number}\n * @apioption annotations.shapeOptions.ry\n **/\n /**\n *\n * The xAxis index to which the points should be attached.\n * Used for the ellipse.\n *\n * @type {number}\n * @apioption annotations.shapeOptions.xAxis\n **/\n /**\n * The yAxis index to which the points should be attached.\n * Used for the ellipse.\n *\n * @type {number}\n * @apioption annotations.shapeOptions.yAxis\n **/\n /**\n * The width of the shape.\n *\n * @sample highcharts/annotations/shape/\n * Basic shape annotation\n *\n * @type {number}\n * @apioption annotations.shapeOptions.width\n **/\n /**\n * The height of the shape.\n *\n * @sample highcharts/annotations/shape/\n * Basic shape annotation\n *\n * @type {number}\n * @apioption annotations.shapeOptions.height\n */\n /**\n * The type of the shape.\n * Available options are circle, rect and ellipse.\n *\n * @sample highcharts/annotations/shape/\n * Basic shape annotation\n *\n * @sample highcharts/annotations/ellipse/\n * Ellipse annotation\n *\n * @type {string}\n * @default rect\n * @apioption annotations.shapeOptions.type\n */\n /**\n * The URL for an image to use as the annotation shape.\n * Note, type has to be set to `'image'`.\n *\n * @see [annotations.shapeOptions.type](annotations.shapeOptions.type)\n * @sample highcharts/annotations/shape-src/\n * Define a marker image url for annotations\n *\n * @type {string}\n * @apioption annotations.shapeOptions.src\n */\n /**\n * Name of the dash style to use for the shape's stroke.\n *\n * @sample {highcharts} highcharts/plotoptions/series-dashstyle-all/\n * Possible values demonstrated\n *\n * @type {Highcharts.DashStyleValue}\n * @apioption annotations.shapeOptions.dashStyle\n */\n /**\n * The color of the shape's stroke.\n *\n * @sample highcharts/annotations/shape/\n * Basic shape annotation\n *\n * @type {Highcharts.ColorString}\n */\n stroke: 'rgba(0, 0, 0, 0.75)',\n /**\n * The pixel stroke width of the shape.\n *\n * @sample highcharts/annotations/shape/\n * Basic shape annotation\n */\n strokeWidth: 1,\n /**\n * The color of the shape's fill.\n *\n * @sample highcharts/annotations/shape/\n * Basic shape annotation\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */\n fill: 'rgba(0, 0, 0, 0.75)',\n /**\n * The radius of the shape.\n *\n * @sample highcharts/annotations/shape/\n * Basic shape annotation\n */\n r: 0,\n /**\n * Defines additional snapping area around an annotation\n * making this annotation to focus. Defined in pixels.\n */\n snap: 2\n },\n /**\n * Options for annotation's control points. Each control point\n * inherits options from controlPointOptions object.\n * Options from the controlPointOptions can be overwritten\n * by options in a specific control point.\n *\n * @declare Highcharts.AnnotationControlPointOptionsObject\n * @requires modules/annotations\n */\n controlPointOptions: {\n /**\n * @type {Highcharts.AnnotationControlPointPositionerFunction}\n * @apioption annotations.controlPointOptions.positioner\n */\n /**\n * @type {Highcharts.Dictionary<Function>}\n */\n events: {},\n /**\n * @type {Highcharts.SVGAttributes}\n */\n style: {\n cursor: 'pointer',\n fill: \"#ffffff\" /* Palette.backgroundColor */,\n stroke: \"#000000\" /* Palette.neutralColor100 */,\n 'stroke-width': 2\n },\n height: 10,\n symbol: 'circle',\n visible: false,\n width: 10\n },\n /**\n * Event callback when annotation is added to the chart.\n *\n * @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}\n * @since 7.1.0\n * @apioption annotations.events.add\n */\n /**\n * Event callback when annotation is updated (e.g. drag and\n * dropped or resized by control points).\n *\n * @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}\n * @since 7.1.0\n * @apioption annotations.events.afterUpdate\n */\n /**\n * Fires when the annotation is clicked.\n *\n * @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}\n * @since 7.1.0\n * @apioption annotations.events.click\n */\n /**\n * Fires when the annotation is dragged.\n *\n * @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}\n * @apioption annotations.events.drag\n */\n /**\n * Event callback when annotation is removed from the chart.\n *\n * @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}\n * @since 7.1.0\n * @apioption annotations.events.remove\n */\n /**\n * Events available in annotations.\n *\n * @requires modules/annotations\n */\n events: {},\n /**\n * The Z index of the annotation.\n */\n zIndex: 6\n}; // Type options are expected but not set\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Annotations_AnnotationDefaults = (AnnotationDefaults);\n\n;// ./code/es5/es-modules/Extensions/Annotations/EventEmitter.js\n/* *\n *\n * (c) 2009-2024 Highsoft, Black Label\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar doc = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).doc, isTouchDevice = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isTouchDevice;\n\nvar EventEmitter_addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, EventEmitter_fireEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).fireEvent, objectEach = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).objectEach, EventEmitter_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick, removeEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).removeEvent;\n/* *\n *\n * Class\n *\n * */\n/**\n * @private\n */\nvar EventEmitter = /** @class */ (function () {\n function EventEmitter() {\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Add emitter events.\n * @private\n */\n EventEmitter.prototype.addEvents = function () {\n var emitter = this,\n addMouseDownEvent = function (element) {\n EventEmitter_addEvent(element,\n isTouchDevice ? 'touchstart' : 'mousedown',\n function (e) {\n emitter.onMouseDown(e);\n }, { passive: false });\n };\n addMouseDownEvent(this.graphic.element);\n (emitter.labels || []).forEach(function (label) {\n if (label.options.useHTML && label.graphic.text) {\n // Mousedown event bound to HTML element (#13070).\n addMouseDownEvent(label.graphic.text.element);\n }\n });\n objectEach(emitter.options.events, function (event, type) {\n var eventHandler = function (e) {\n var _a;\n if (type !== 'click' || !emitter.cancelClick) {\n event.call(emitter, (_a = emitter.chart.pointer) === null || _a === void 0 ? void 0 : _a.normalize(e), emitter.target);\n }\n };\n if ((emitter.nonDOMEvents || []).indexOf(type) === -1) {\n EventEmitter_addEvent(emitter.graphic.element, type, eventHandler, { passive: false });\n if (emitter.graphic.div) {\n EventEmitter_addEvent(emitter.graphic.div, type, eventHandler, { passive: false });\n }\n }\n else {\n EventEmitter_addEvent(emitter, type, eventHandler, { passive: false });\n }\n });\n if (emitter.options.draggable) {\n EventEmitter_addEvent(emitter, 'drag', emitter.onDrag);\n if (!emitter.graphic.renderer.styledMode) {\n var cssPointer_1 = {\n cursor: {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'move'\n }[emitter.options.draggable]\n };\n emitter.graphic.css(cssPointer_1);\n (emitter.labels || []).forEach(function (label) {\n if (label.options.useHTML && label.graphic.text) {\n label.graphic.text.css(cssPointer_1);\n }\n });\n }\n }\n if (!emitter.isUpdating) {\n EventEmitter_fireEvent(emitter, 'add');\n }\n };\n /**\n * Destroy the event emitter.\n */\n EventEmitter.prototype.destroy = function () {\n this.removeDocEvents();\n removeEvent(this);\n this.hcEvents = null;\n };\n /**\n * Map mouse move event to the radians.\n * @private\n */\n EventEmitter.prototype.mouseMoveToRadians = function (e, cx, cy) {\n var prevDy = e.prevChartY - cy,\n prevDx = e.prevChartX - cx,\n dy = e.chartY - cy,\n dx = e.chartX - cx,\n temp;\n if (this.chart.inverted) {\n temp = prevDx;\n prevDx = prevDy;\n prevDy = temp;\n temp = dx;\n dx = dy;\n dy = temp;\n }\n return Math.atan2(dy, dx) - Math.atan2(prevDy, prevDx);\n };\n /**\n * Map mouse move to the scale factors.\n * @private\n */\n EventEmitter.prototype.mouseMoveToScale = function (e, cx, cy) {\n var prevDx = e.prevChartX - cx,\n prevDy = e.prevChartY - cy,\n dx = e.chartX - cx,\n dy = e.chartY - cy;\n var sx = (dx || 1) / (prevDx || 1), sy = (dy || 1) / (prevDy || 1);\n if (this.chart.inverted) {\n var temp = sy;\n sy = sx;\n sx = temp;\n }\n return {\n x: sx,\n y: sy\n };\n };\n /**\n * Map mouse move event to the distance between two following events.\n * @private\n */\n EventEmitter.prototype.mouseMoveToTranslation = function (e) {\n var dx = e.chartX - e.prevChartX,\n dy = e.chartY - e.prevChartY,\n temp;\n if (this.chart.inverted) {\n temp = dy;\n dy = dx;\n dx = temp;\n }\n return {\n x: dx,\n y: dy\n };\n };\n /**\n * Drag and drop event. All basic annotations should share this\n * capability as well as the extended ones.\n * @private\n */\n EventEmitter.prototype.onDrag = function (e) {\n if (this.chart.isInsidePlot(e.chartX - this.chart.plotLeft, e.chartY - this.chart.plotTop, {\n visiblePlotOnly: true\n })) {\n var translation_1 = this.mouseMoveToTranslation(e);\n if (this.options.draggable === 'x') {\n translation_1.y = 0;\n }\n if (this.options.draggable === 'y') {\n translation_1.x = 0;\n }\n var emitter = this;\n if (emitter.points.length) {\n emitter.translate(translation_1.x, translation_1.y);\n }\n else {\n emitter.shapes.forEach(function (shape) {\n return shape.translate(translation_1.x, translation_1.y);\n });\n emitter.labels.forEach(function (label) {\n return label.translate(translation_1.x, translation_1.y);\n });\n }\n this.redraw(false);\n }\n };\n /**\n * Mouse down handler.\n * @private\n */\n EventEmitter.prototype.onMouseDown = function (e) {\n var _a;\n if (e.preventDefault) {\n e.preventDefault();\n }\n // On right click, do nothing:\n if (e.button === 2) {\n return;\n }\n var emitter = this,\n pointer = emitter.chart.pointer, \n // Using experimental property on event object to check if event was\n // created by touch on screen on hybrid device (#18122)\n firesTouchEvents = ((_a = e === null || e === void 0 ? void 0 : e.sourceCapabilities) === null || _a === void 0 ? void 0 : _a.firesTouchEvents) || false;\n e = (pointer === null || pointer === void 0 ? void 0 : pointer.normalize(e)) || e;\n var prevChartX = e.chartX,\n prevChartY = e.chartY;\n emitter.cancelClick = false;\n emitter.chart.hasDraggedAnnotation = true;\n emitter.removeDrag = EventEmitter_addEvent(doc, isTouchDevice || firesTouchEvents ? 'touchmove' : 'mousemove', function (e) {\n emitter.hasDragged = true;\n e = (pointer === null || pointer === void 0 ? void 0 : pointer.normalize(e)) || e;\n e.prevChartX = prevChartX;\n e.prevChartY = prevChartY;\n EventEmitter_fireEvent(emitter, 'drag', e);\n prevChartX = e.chartX;\n prevChartY = e.chartY;\n }, isTouchDevice || firesTouchEvents ? { passive: false } : void 0);\n emitter.removeMouseUp = EventEmitter_addEvent(doc, isTouchDevice || firesTouchEvents ? 'touchend' : 'mouseup', function () {\n // Sometimes the target is the annotation and sometimes its the\n // controllable\n var annotation = EventEmitter_pick(emitter.target && emitter.target.annotation,\n emitter.target);\n if (annotation) {\n // Keep annotation selected after dragging control point\n annotation.cancelClick = emitter.hasDragged;\n }\n emitter.cancelClick = emitter.hasDragged;\n emitter.chart.hasDraggedAnnotation = false;\n if (emitter.hasDragged) {\n // ControlPoints vs Annotation:\n EventEmitter_fireEvent(EventEmitter_pick(annotation, // #15952\n emitter), 'afterUpdate');\n }\n emitter.hasDragged = false;\n emitter.onMouseUp();\n }, isTouchDevice || firesTouchEvents ? { passive: false } : void 0);\n };\n /**\n * Mouse up handler.\n */\n EventEmitter.prototype.onMouseUp = function () {\n this.removeDocEvents();\n };\n /**\n * Remove emitter document events.\n * @private\n */\n EventEmitter.prototype.removeDocEvents = function () {\n if (this.removeDrag) {\n this.removeDrag = this.removeDrag();\n }\n if (this.removeMouseUp) {\n this.removeMouseUp = this.removeMouseUp();\n }\n };\n return EventEmitter;\n}());\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Annotations_EventEmitter = (EventEmitter);\n\n;// ./code/es5/es-modules/Extensions/Annotations/ControlPoint.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, ControlPoint_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick;\n/* *\n *\n * Class\n *\n * */\n/**\n * A control point class which is a connection between controllable\n * transform methods and a user actions.\n *\n * @requires modules/annotations\n *\n * @class\n * @name Highcharts.AnnotationControlPoint\n *\n * @hideconstructor\n *\n * @param {Highcharts.Chart} chart\n * A chart instance.\n *\n * @param {Highcharts.AnnotationControllable} target\n * A controllable instance which is a target for a control point.\n *\n * @param {Highcharts.AnnotationControlPointOptionsObject} options\n * An options object.\n *\n * @param {number} [index]\n * Point index.\n */\nvar ControlPoint = /** @class */ (function (_super) {\n __extends(ControlPoint, _super);\n /* *\n *\n * Constructor\n *\n * */\n function ControlPoint(chart, target, options, index) {\n var _this = _super.call(this) || this;\n /**\n * List of events for `annotation.options.events` that should not be\n * added to `annotation.graphic` but to the `annotation`.\n * @private\n * @name Highcharts.AnnotationControlPoint#nonDOMEvents\n * @type {Array<string>}\n */\n _this.nonDOMEvents = ['drag'];\n _this.chart = chart;\n _this.target = target;\n _this.options = options;\n _this.index = ControlPoint_pick(options.index, index);\n return _this;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Destroy the control point.\n * @private\n */\n ControlPoint.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n if (this.graphic) {\n this.graphic = this.graphic.destroy();\n }\n this.chart = null;\n this.target = null;\n this.options = null;\n };\n /**\n * Redraw the control point.\n * @private\n * @param {boolean} [animation]\n */\n ControlPoint.prototype.redraw = function (animation) {\n this.graphic[animation ? 'animate' : 'attr'](this.options.positioner.call(this, this.target));\n };\n /**\n * Render the control point.\n * @private\n */\n ControlPoint.prototype.render = function () {\n var chart = this.chart,\n options = this.options;\n this.graphic = chart.renderer\n .symbol(options.symbol, 0, 0, options.width, options.height)\n .add(chart.controlPointsGroup)\n .css(options.style);\n this.setVisibility(options.visible);\n // `npm test -- --tests \"highcharts/annotations-advanced/*\"`\n this.addEvents();\n };\n /**\n * Set the visibility of the control point.\n *\n * @function Highcharts.AnnotationControlPoint#setVisibility\n *\n * @param {boolean} visible\n * Visibility of the control point.\n *\n */\n ControlPoint.prototype.setVisibility = function (visible) {\n this.graphic[visible ? 'show' : 'hide']();\n this.options.visible = visible;\n };\n /**\n * Update the control point.\n *\n * @function Highcharts.AnnotationControlPoint#update\n *\n * @param {Partial<Highcharts.AnnotationControlPointOptionsObject>} userOptions\n * New options for the control point.\n */\n ControlPoint.prototype.update = function (userOptions) {\n var chart = this.chart,\n target = this.target,\n index = this.index,\n options = merge(true,\n this.options,\n userOptions);\n this.destroy();\n this.constructor(chart, target, options, index);\n this.render(chart.controlPointsGroup);\n this.redraw();\n };\n return ControlPoint;\n}(Annotations_EventEmitter));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Annotations_ControlPoint = (ControlPoint);\n/* *\n *\n * API Declarations\n *\n * */\n/**\n * Callback to modify annotation's positioner controls.\n *\n * @callback Highcharts.AnnotationControlPointPositionerFunction\n * @param {Highcharts.AnnotationControlPoint} this\n * @param {Highcharts.AnnotationControllable} target\n * @return {Highcharts.PositionObject}\n */\n(''); // Keeps doclets above in JS file\n\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"SeriesRegistry\"],\"commonjs\":[\"highcharts\",\"SeriesRegistry\"],\"commonjs2\":[\"highcharts\",\"SeriesRegistry\"],\"root\":[\"Highcharts\",\"SeriesRegistry\"]}\nvar highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_ = __webpack_require__(512);\nvar highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default = /*#__PURE__*/__webpack_require__.n(highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_);\n;// ./code/es5/es-modules/Extensions/Annotations/MockPoint.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar seriesProto = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).series.prototype;\n\nvar MockPoint_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, MockPoint_fireEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).fireEvent;\n/* *\n *\n * Class\n *\n * */\n/**\n * A trimmed point object which imitates {@link Highchart.Point} class. It is\n * created when there is a need of pointing to some chart's position using axis\n * values or pixel values\n *\n * @requires modules/annotations\n *\n * @private\n * @class\n * @name Highcharts.AnnotationMockPoint\n *\n * @hideconstructor\n *\n * @param {Highcharts.Chart} chart\n * The chart instance.\n *\n * @param {Highcharts.AnnotationControllable|null} target\n * The related controllable.\n *\n * @param {Highcharts.AnnotationMockPointOptionsObject|Function} options\n * The options object.\n */\nvar MockPoint = /** @class */ (function () {\n /* *\n *\n * Constructor\n *\n * */\n function MockPoint(chart, target, options) {\n /* *\n *\n * Functions\n *\n * */\n /**\n * A flag indicating that a point is not the real one.\n *\n * @type {boolean}\n * @default true\n */\n this.mock = true;\n // Circular reference for formats and formatters\n this.point = this;\n /**\n * A mock series instance imitating a real series from a real point.\n *\n * @name Annotation.AnnotationMockPoint#series\n * @type {Highcharts.AnnotationMockSeries}\n */\n this.series = {\n visible: true,\n chart: chart,\n getPlotBox: seriesProto.getPlotBox\n };\n /**\n * @name Annotation.AnnotationMockPoint#target\n * @type {Highcharts.AnnotationControllable|null}\n */\n this.target = target || null;\n /**\n * Options for the mock point.\n *\n * @name Annotation.AnnotationMockPoint#options\n * @type {Highcharts.AnnotationsMockPointOptionsObject}\n */\n this.options = options;\n /**\n * If an xAxis is set it represents the point's value in terms of the\n * xAxis.\n *\n * @name Annotation.AnnotationMockPoint#x\n * @type {number|undefined}\n */\n /**\n * If an yAxis is set it represents the point's value in terms of the\n * yAxis.\n *\n * @name Annotation.AnnotationMockPoint#y\n * @type {number|undefined}\n */\n /**\n * It represents the point's pixel x coordinate relative to its plot\n * box.\n *\n * @name Annotation.AnnotationMockPoint#plotX\n * @type {number|undefined}\n */\n /**\n * It represents the point's pixel y position relative to its plot box.\n *\n * @name Annotation.AnnotationMockPoint#plotY\n * @type {number|undefined}\n */\n /**\n * Whether the point is inside the plot box.\n *\n * @name Annotation.AnnotationMockPoint#isInside\n * @type {boolean|undefined}\n */\n this.applyOptions(this.getOptions());\n }\n /* *\n *\n * Static Functions\n *\n * */\n /**\n * Create a mock point from a real Highcharts point.\n *\n * @private\n * @static\n *\n * @param {Highcharts.Point} point\n *\n * @return {Highcharts.AnnotationMockPoint}\n * A mock point instance.\n */\n MockPoint.fromPoint = function (point) {\n return new MockPoint(point.series.chart, null, {\n x: point.x,\n y: point.y,\n xAxis: point.series.xAxis,\n yAxis: point.series.yAxis\n });\n };\n /**\n * Get the pixel position from the point like object.\n *\n * @private\n * @static\n *\n * @param {Highcharts.AnnotationPointType} point\n *\n * @param {boolean} [paneCoordinates]\n * Whether the pixel position should be relative\n *\n * @return {Highcharts.PositionObject} pixel position\n */\n MockPoint.pointToPixels = function (point, paneCoordinates) {\n var series = point.series,\n chart = series.chart;\n var x = point.plotX || 0,\n y = point.plotY || 0,\n plotBox;\n if (chart.inverted) {\n if (point.mock) {\n x = point.plotY;\n y = point.plotX;\n }\n else {\n x = chart.plotWidth - (point.plotY || 0);\n y = chart.plotHeight - (point.plotX || 0);\n }\n }\n if (series && !paneCoordinates) {\n plotBox = series.getPlotBox();\n x += plotBox.translateX;\n y += plotBox.translateY;\n }\n return {\n x: x,\n y: y\n };\n };\n /**\n * Get fresh mock point options from the point like object.\n *\n * @private\n * @static\n *\n * @param {Highcharts.AnnotationPointType} point\n *\n * @return {Highcharts.AnnotationMockPointOptionsObject}\n * A mock point's options.\n */\n MockPoint.pointToOptions = function (point) {\n return {\n x: point.x,\n y: point.y,\n xAxis: point.series.xAxis,\n yAxis: point.series.yAxis\n };\n };\n /**\n * Apply options for the point.\n * @private\n * @param {Highcharts.AnnotationMockPointOptionsObject} options\n */\n MockPoint.prototype.applyOptions = function (options) {\n this.command = options.command;\n this.setAxis(options, 'x');\n this.setAxis(options, 'y');\n this.refresh();\n };\n /**\n * Get the point's options.\n * @private\n * @return {Highcharts.AnnotationMockPointOptionsObject}\n * The mock point's options.\n */\n MockPoint.prototype.getOptions = function () {\n return this.hasDynamicOptions() ?\n this.options(this.target) :\n this.options;\n };\n /**\n * Check if the point has dynamic options.\n * @private\n * @return {boolean}\n * A positive flag if the point has dynamic options.\n */\n MockPoint.prototype.hasDynamicOptions = function () {\n return typeof this.options === 'function';\n };\n /**\n * Check if the point is inside its pane.\n * @private\n * @return {boolean} A flag indicating whether the point is inside the pane.\n */\n MockPoint.prototype.isInsidePlot = function () {\n var plotX = this.plotX,\n plotY = this.plotY,\n xAxis = this.series.xAxis,\n yAxis = this.series.yAxis,\n e = {\n x: plotX,\n y: plotY,\n isInsidePlot: true,\n options: {}\n };\n if (xAxis) {\n e.isInsidePlot = MockPoint_defined(plotX) && plotX >= 0 && plotX <= xAxis.len;\n }\n if (yAxis) {\n e.isInsidePlot =\n e.isInsidePlot &&\n MockPoint_defined(plotY) &&\n plotY >= 0 && plotY <= yAxis.len;\n }\n MockPoint_fireEvent(this.series.chart, 'afterIsInsidePlot', e);\n return e.isInsidePlot;\n };\n /**\n * Refresh point values and coordinates based on its options.\n * @private\n */\n MockPoint.prototype.refresh = function () {\n var series = this.series,\n xAxis = series.xAxis,\n yAxis = series.yAxis,\n options = this.getOptions();\n if (xAxis) {\n this.x = options.x;\n this.plotX = xAxis.toPixels(options.x, true);\n }\n else {\n this.x = void 0;\n this.plotX = options.x;\n }\n if (yAxis) {\n this.y = options.y;\n this.plotY = yAxis.toPixels(options.y, true);\n }\n else {\n this.y = null;\n this.plotY = options.y;\n }\n this.isInside = this.isInsidePlot();\n };\n /**\n * Refresh point options based on its plot coordinates.\n * @private\n */\n MockPoint.prototype.refreshOptions = function () {\n var series = this.series,\n xAxis = series.xAxis,\n yAxis = series.yAxis;\n this.x = this.options.x = xAxis ?\n this.options.x = xAxis.toValue(this.plotX, true) :\n this.plotX;\n this.y = this.options.y = yAxis ?\n yAxis.toValue(this.plotY, true) :\n this.plotY;\n };\n /**\n * Rotate the point.\n * @private\n * @param {number} cx origin x rotation\n * @param {number} cy origin y rotation\n * @param {number} radians\n */\n MockPoint.prototype.rotate = function (cx, cy, radians) {\n if (!this.hasDynamicOptions()) {\n var cos = Math.cos(radians),\n sin = Math.sin(radians),\n x = this.plotX - cx,\n y = this.plotY - cy,\n tx = x * cos - y * sin,\n ty = x * sin + y * cos;\n this.plotX = tx + cx;\n this.plotY = ty + cy;\n this.refreshOptions();\n }\n };\n /**\n * Scale the point.\n *\n * @private\n *\n * @param {number} cx\n * Origin x transformation.\n *\n * @param {number} cy\n * Origin y transformation.\n *\n * @param {number} sx\n * Scale factor x.\n *\n * @param {number} sy\n * Scale factor y.\n */\n MockPoint.prototype.scale = function (cx, cy, sx, sy) {\n if (!this.hasDynamicOptions()) {\n var x = this.plotX * sx,\n y = this.plotY * sy,\n tx = (1 - sx) * cx,\n ty = (1 - sy) * cy;\n this.plotX = tx + x;\n this.plotY = ty + y;\n this.refreshOptions();\n }\n };\n /**\n * Set x or y axis.\n * @private\n * @param {Highcharts.AnnotationMockPointOptionsObject} options\n * @param {string} xOrY\n * 'x' or 'y' string literal\n */\n MockPoint.prototype.setAxis = function (options, xOrY) {\n var axisName = (xOrY + 'Axis'),\n axisOptions = options[axisName],\n chart = this.series.chart;\n this.series[axisName] =\n typeof axisOptions === 'object' ?\n axisOptions :\n MockPoint_defined(axisOptions) ?\n (chart[axisName][axisOptions] ||\n // @todo v--- (axisName)[axisOptions] ?\n chart.get(axisOptions)) :\n null;\n };\n /**\n * Transform the mock point to an anchor (relative position on the chart).\n * @private\n * @return {Array<number>}\n * A quadruple of numbers which denotes x, y, width and height of the box\n **/\n MockPoint.prototype.toAnchor = function () {\n var anchor = [this.plotX,\n this.plotY, 0, 0];\n if (this.series.chart.inverted) {\n anchor[0] = this.plotY;\n anchor[1] = this.plotX;\n }\n return anchor;\n };\n /**\n * Translate the point.\n *\n * @private\n *\n * @param {number|undefined} cx\n * Origin x transformation.\n *\n * @param {number|undefined} cy\n * Origin y transformation.\n *\n * @param {number} dx\n * Translation for x coordinate.\n *\n * @param {number} dy\n * Translation for y coordinate.\n **/\n MockPoint.prototype.translate = function (_cx, _cy, dx, dy) {\n if (!this.hasDynamicOptions()) {\n this.plotX += dx;\n this.plotY += dy;\n this.refreshOptions();\n }\n };\n return MockPoint;\n}());\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Annotations_MockPoint = (MockPoint);\n/* *\n *\n * API Declarations\n *\n * */\n/**\n * @private\n * @interface Highcharts.AnnotationMockLabelOptionsObject\n */ /**\n* Point instance of the point.\n* @name Highcharts.AnnotationMockLabelOptionsObject#point\n* @type {Highcharts.AnnotationMockPoint}\n*/ /**\n* X value translated to x axis scale.\n* @name Highcharts.AnnotationMockLabelOptionsObject#x\n* @type {number|null}\n*/ /**\n* Y value translated to y axis scale.\n* @name Highcharts.AnnotationMockLabelOptionsObject#y\n* @type {number|null}\n*/\n/**\n * Object of shape point.\n *\n * @interface Highcharts.AnnotationMockPointOptionsObject\n */ /**\n* The x position of the point. Units can be either in axis\n* or chart pixel coordinates.\n*\n* @type {number}\n* @name Highcharts.AnnotationMockPointOptionsObject.x\n*/ /**\n* The y position of the point. Units can be either in axis\n* or chart pixel coordinates.\n*\n* @type {number}\n* @name Highcharts.AnnotationMockPointOptionsObject.y\n*/ /**\n* This number defines which xAxis the point is connected to.\n* It refers to either the axis id or the index of the axis in\n* the xAxis array. If the option is not configured or the axis\n* is not found the point's x coordinate refers to the chart\n* pixels.\n*\n* @type {number|string|null}\n* @name Highcharts.AnnotationMockPointOptionsObject.xAxis\n*/ /**\n* This number defines which yAxis the point is connected to.\n* It refers to either the axis id or the index of the axis in\n* the yAxis array. If the option is not configured or the axis\n* is not found the point's y coordinate refers to the chart\n* pixels.\n*\n* @type {number|string|null}\n* @name Highcharts.AnnotationMockPointOptionsObject.yAxis\n*/\n/**\n * Callback function that returns the annotation shape point.\n *\n * @callback Highcharts.AnnotationMockPointFunction\n *\n * @param {Highcharts.Annotation} annotation\n * An annotation instance.\n *\n * @return {Highcharts.AnnotationMockPointOptionsObject}\n * Annotations shape point.\n */\n/**\n * A mock series instance imitating a real series from a real point.\n * @private\n * @interface Highcharts.AnnotationMockSeries\n */ /**\n* Whether a series is visible.\n* @name Highcharts.AnnotationMockSeries#visible\n* @type {boolean}\n*/ /**\n* A chart instance.\n* @name Highcharts.AnnotationMockSeries#chart\n* @type {Highcharts.Chart}\n*/ /**\n* @name Highcharts.AnnotationMockSeries#getPlotBox\n* @type {Function}\n*/\n/**\n * Indicates if this is a mock point for an annotation.\n * @name Highcharts.Point#mock\n * @type {boolean|undefined}\n */\n(''); // Keeps doclets above in JS file\n\n;// ./code/es5/es-modules/Extensions/Annotations/ControlTarget.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\n\n\n/* *\n *\n * Composition Namespace\n *\n * */\nvar ControlTarget;\n(function (ControlTarget) {\n /* *\n *\n * Declarations\n *\n * */\n /* *\n *\n * Functions\n *\n * */\n /**\n * Add control points.\n * @private\n */\n function addControlPoints() {\n var _this = this;\n var controlPoints = this.controlPoints,\n controlPointsOptions = this.options.controlPoints || [];\n controlPointsOptions.forEach(function (controlPointOptions, i) {\n var options = highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default().merge(_this.options.controlPointOptions,\n controlPointOptions);\n if (!options.index) {\n options.index = i;\n }\n controlPointsOptions[i] = options;\n controlPoints.push(new Annotations_ControlPoint(_this.chart, _this, options));\n });\n }\n /**\n * Returns object which denotes anchor position - relative and absolute.\n * @private\n * @param {Highcharts.AnnotationPointType} point\n * An annotation point.\n *\n * @return {Highcharts.AnnotationAnchorObject}\n * An annotation anchor.\n */\n function anchor(point) {\n var plotBox = point.series.getPlotBox(),\n chart = point.series.chart,\n box = point.mock ?\n point.toAnchor() :\n chart.tooltip &&\n chart.tooltip.getAnchor.call({\n chart: point.series.chart\n },\n point) ||\n [0, 0, 0, 0],\n anchor = {\n x: box[0] + (this.options.x || 0),\n y: box[1] + (this.options.y || 0),\n height: box[2] || 0,\n width: box[3] || 0\n };\n return {\n relativePosition: anchor,\n absolutePosition: highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default().merge(anchor, {\n x: anchor.x + (point.mock ? plotBox.translateX : chart.plotLeft),\n y: anchor.y + (point.mock ? plotBox.translateY : chart.plotTop)\n })\n };\n }\n /**\n * Adds shared functions to be used with targets of ControlPoint.\n * @private\n */\n function compose(ControlTargetClass) {\n var controlProto = ControlTargetClass.prototype;\n if (!controlProto.addControlPoints) {\n highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default().merge(true, controlProto, {\n addControlPoints: addControlPoints,\n anchor: anchor,\n destroyControlTarget: destroyControlTarget,\n getPointsOptions: getPointsOptions,\n linkPoints: linkPoints,\n point: point,\n redrawControlPoints: redrawControlPoints,\n renderControlPoints: renderControlPoints,\n transform: transform,\n transformPoint: transformPoint,\n translate: translate,\n translatePoint: translatePoint\n });\n }\n }\n ControlTarget.compose = compose;\n /**\n * Destroy control points.\n * @private\n */\n function destroyControlTarget() {\n this.controlPoints.forEach(function (controlPoint) { return controlPoint.destroy(); });\n this.chart = null;\n this.controlPoints = null;\n this.points = null;\n this.options = null;\n if (this.annotation) {\n this.annotation = null;\n }\n }\n /**\n * Get the points options.\n * @private\n * @return {Array<Highcharts.PointOptionsObject>}\n * An array of points' options.\n */\n function getPointsOptions() {\n var options = this.options;\n return (options.points ||\n (options.point && highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default().splat(options.point)));\n }\n /**\n * Find point-like objects based on points options.\n * @private\n * @return {Array<Annotation.PointLike>}\n * An array of point-like objects.\n */\n function linkPoints() {\n var pointsOptions = this.getPointsOptions(),\n points = this.points,\n len = (pointsOptions && pointsOptions.length) || 0;\n var i,\n point;\n for (i = 0; i < len; i++) {\n point = this.point(pointsOptions[i], points[i]);\n if (!point) {\n points.length = 0;\n return;\n }\n if (point.mock) {\n point.refresh();\n }\n points[i] = point;\n }\n return points;\n }\n /**\n * Map point's options to a point-like object.\n * @private\n * @param {string|Function|Highcharts.AnnotationMockPointOptionsObject|Highcharts.AnnotationPointType} pointOptions\n * Point's options.\n * @param {Highcharts.AnnotationPointType} point\n * A point-like instance.\n * @return {Highcharts.AnnotationPointType|null}\n * If the point is found/set returns this point, otherwise null\n */\n function point(pointOptions, point) {\n if (pointOptions && pointOptions.series) {\n return pointOptions;\n }\n if (!point || point.series === null) {\n if (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default().isObject(pointOptions)) {\n point = new Annotations_MockPoint(this.chart, this, pointOptions);\n }\n else if (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default().isString(pointOptions)) {\n point = this.chart.get(pointOptions) || null;\n }\n else if (typeof pointOptions === 'function') {\n var pointConfig = pointOptions.call(point,\n this);\n point = pointConfig.series ?\n pointConfig :\n new Annotations_MockPoint(this.chart, this, pointOptions);\n }\n }\n return point;\n }\n /**\n * Redraw control points.\n * @private\n */\n function redrawControlPoints(animation) {\n this.controlPoints.forEach(function (controlPoint) { return controlPoint.redraw(animation); });\n }\n /**\n * Render control points.\n * @private\n */\n function renderControlPoints() {\n this.controlPoints.forEach(function (controlPoint) { return controlPoint.render(); });\n }\n /**\n * Transform control points with a specific transformation.\n * @private\n * @param {string} transformation\n * A transformation name\n * @param {number|null} cx\n * Origin x transformation\n * @param {number|null} cy\n * Origin y transformation\n * @param {number} p1\n * Param for the transformation\n * @param {number} [p2]\n * Param for the transformation\n */\n function transform(transformation, cx, cy, p1, p2) {\n var _this = this;\n if (this.chart.inverted) {\n var temp = cx;\n cx = cy;\n cy = temp;\n }\n this.points.forEach(function (_point, i) { return (_this.transformPoint(transformation, cx, cy, p1, p2, i)); }, this);\n }\n /**\n * Transform a point with a specific transformation\n * If a transformed point is a real point it is replaced with\n * the mock point.\n * @private\n * @param {string} transformation\n * A transformation name\n * @param {number|null} cx\n * Origin x transformation\n * @param {number|null} cy\n * Origin y transformation\n * @param {number} p1\n * Param for the transformation\n * @param {number|undefined} p2\n * Param for the transformation\n * @param {number} i\n * Index of the point\n */\n function transformPoint(transformation, cx, cy, p1, p2, i) {\n var point = this.points[i];\n if (!point.mock) {\n point = this.points[i] = Annotations_MockPoint.fromPoint(point);\n }\n point[transformation](cx, cy, p1, p2);\n }\n /**\n * Translate control points.\n * @private\n * @param {number} dx\n * Translation for x coordinate\n * @param {number} dy\n * Translation for y coordinate\n **/\n function translate(dx, dy) {\n this.transform('translate', null, null, dx, dy);\n }\n /**\n * Translate a specific control point.\n * @private\n * @param {number} dx\n * Translation for x coordinate\n * @param {number} dy\n * Translation for y coordinate\n * @param {number} i\n * Index of the point\n **/\n function translatePoint(dx, dy, i) {\n this.transformPoint('translate', null, null, dx, dy, i);\n }\n})(ControlTarget || (ControlTarget = {}));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Annotations_ControlTarget = (ControlTarget);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Controllables/Controllable.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\n\nvar Controllable_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Class\n *\n * */\n/**\n * It provides methods for handling points, control points\n * and points transformations.\n * @private\n */\nvar Controllable = /** @class */ (function () {\n /* *\n *\n * Constructor\n *\n * */\n function Controllable(annotation, options, index, itemType) {\n this.annotation = annotation;\n this.chart = annotation.chart;\n this.collection = (itemType === 'label' ? 'labels' : 'shapes');\n this.controlPoints = [];\n this.options = options;\n this.points = [];\n this.index = index;\n this.itemType = itemType;\n this.init(annotation, options, index);\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Redirect attr usage on the controllable graphic element.\n * @private\n */\n Controllable.prototype.attr = function () {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _args = [];\n for (\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _i = 0; \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _i < arguments.length; \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _i++) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _args[_i] = arguments[_i];\n }\n this.graphic.attr.apply(this.graphic, arguments);\n };\n /**\n * Utility function for mapping item's options\n * to element's attribute\n * @private\n * @param {Highcharts.AnnotationsLabelsOptions|Highcharts.AnnotationsShapesOptions} options\n * @return {Highcharts.SVGAttributes}\n * Mapped options.\n */\n Controllable.prototype.attrsFromOptions = function (options) {\n var map = this.constructor.attrsMap,\n attrs = {},\n styledMode = this.chart.styledMode;\n var key,\n mappedKey;\n for (key in options) { // eslint-disable-line guard-for-in\n mappedKey = map[key];\n if (typeof map[key] !== 'undefined' &&\n (!styledMode ||\n ['fill', 'stroke', 'stroke-width']\n .indexOf(mappedKey) === -1)) {\n attrs[mappedKey] = options[key];\n }\n }\n return attrs;\n };\n /**\n * Destroy a controllable.\n * @private\n */\n Controllable.prototype.destroy = function () {\n if (this.graphic) {\n this.graphic = this.graphic.destroy();\n }\n if (this.tracker) {\n this.tracker = this.tracker.destroy();\n }\n this.destroyControlTarget();\n };\n /**\n * Init the controllable\n * @private\n */\n Controllable.prototype.init = function (annotation, options, index) {\n this.annotation = annotation;\n this.chart = annotation.chart;\n this.options = options;\n this.points = [];\n this.controlPoints = [];\n this.index = index;\n this.linkPoints();\n this.addControlPoints();\n };\n /**\n * Redraw a controllable.\n * @private\n */\n Controllable.prototype.redraw = function (animation) {\n this.redrawControlPoints(animation);\n };\n /**\n * Render a controllable.\n * @private\n */\n Controllable.prototype.render = function (\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _parentGroup) {\n if (this.options.className && this.graphic) {\n this.graphic.addClass(this.options.className);\n }\n this.renderControlPoints();\n };\n /**\n * Rotate a controllable.\n * @private\n * @param {number} cx\n * Origin x rotation\n * @param {number} cy\n * Origin y rotation\n * @param {number} radians\n **/\n Controllable.prototype.rotate = function (cx, cy, radians) {\n this.transform('rotate', cx, cy, radians);\n };\n /**\n * Scale a controllable.\n * @private\n * @param {number} cx\n * Origin x rotation\n * @param {number} cy\n * Origin y rotation\n * @param {number} sx\n * Scale factor x\n * @param {number} sy\n * Scale factor y\n */\n Controllable.prototype.scale = function (cx, cy, sx, sy) {\n this.transform('scale', cx, cy, sx, sy);\n };\n /**\n * Set control points' visibility.\n * @private\n */\n Controllable.prototype.setControlPointsVisibility = function (visible) {\n this.controlPoints.forEach(function (controlPoint) {\n controlPoint.setVisibility(visible);\n });\n };\n /**\n * Check if a controllable should be rendered/redrawn.\n * @private\n * @return {boolean}\n * Whether a controllable should be drawn.\n */\n Controllable.prototype.shouldBeDrawn = function () {\n return !!this.points.length;\n };\n /**\n * Translate shape within controllable item.\n * Replaces `controllable.translate` method.\n * @private\n * @param {number} dx\n * Translation for x coordinate\n * @param {number} dy\n * Translation for y coordinate\n * @param {boolean|undefined} translateSecondPoint\n * If the shape has two points attached to it, this option allows you\n * to translate also the second point.\n */\n Controllable.prototype.translateShape = function (dx, dy, translateSecondPoint) {\n var chart = this.annotation.chart, \n // Annotation.options\n shapeOptions = this.annotation.userOptions, \n // Chart.options.annotations\n annotationIndex = chart.annotations.indexOf(this.annotation),\n chartOptions = chart.options.annotations[annotationIndex];\n this.translatePoint(dx, dy, 0);\n if (translateSecondPoint) {\n this.translatePoint(dx, dy, 1);\n }\n // Options stored in:\n // - chart (for exporting)\n // - current config (for redraws)\n chartOptions[this.collection][this.index]\n .point = this.options.point;\n shapeOptions[this.collection][this.index]\n .point = this.options.point;\n };\n /**\n * Update a controllable.\n * @private\n */\n Controllable.prototype.update = function (newOptions) {\n var annotation = this.annotation,\n options = Controllable_merge(true,\n this.options,\n newOptions),\n parentGroup = this.graphic.parentGroup,\n Constructor = this.constructor;\n this.destroy();\n var newControllable = new Constructor(annotation,\n options,\n this.index,\n this.itemType);\n Controllable_merge(true, this, newControllable);\n this.render(parentGroup);\n this.redraw();\n };\n return Controllable;\n}());\nAnnotations_ControlTarget.compose(Controllable);\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Controllables_Controllable = (Controllable);\n/* *\n *\n * API Declarations\n *\n * */\n/**\n * An object which denotes a controllable's anchor positions - relative and\n * absolute.\n *\n * @private\n * @interface Highcharts.AnnotationAnchorObject\n */ /**\n* Relative to the plot area position\n* @name Highcharts.AnnotationAnchorObject#relativePosition\n* @type {Highcharts.BBoxObject}\n*/ /**\n* Absolute position\n* @name Highcharts.AnnotationAnchorObject#absolutePosition\n* @type {Highcharts.BBoxObject}\n*/\n/**\n * @interface Highcharts.AnnotationControllable\n */ /**\n* @name Highcharts.AnnotationControllable#annotation\n* @type {Highcharts.Annotation}\n*/ /**\n* @name Highcharts.AnnotationControllable#chart\n* @type {Highcharts.Chart}\n*/ /**\n* @name Highcharts.AnnotationControllable#collection\n* @type {string}\n*/ /**\n* @private\n* @name Highcharts.AnnotationControllable#controlPoints\n* @type {Array<Highcharts.AnnotationControlPoint>}\n*/ /**\n* @name Highcharts.AnnotationControllable#points\n* @type {Array<Highcharts.Point>}\n*/\n(''); // Keeps doclets above in JS file\n\n;// ./code/es5/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n/**\n * Options for configuring markers for annotations.\n *\n * An example of the arrow marker:\n * <pre>\n * {\n * arrow: {\n * id: 'arrow',\n * tagName: 'marker',\n * refY: 5,\n * refX: 5,\n * markerWidth: 10,\n * markerHeight: 10,\n * children: [{\n * tagName: 'path',\n * attrs: {\n * d: 'M 0 0 L 10 5 L 0 10 Z',\n * 'stroke-width': 0\n * }\n * }]\n * }\n * }\n * </pre>\n *\n * @sample highcharts/annotations/custom-markers/\n * Define a custom marker for annotations\n *\n * @sample highcharts/css/annotations-markers/\n * Define markers in a styled mode\n *\n * @type {Highcharts.Dictionary<Highcharts.ASTNode>}\n * @since 6.0.0\n * @optionparent defs\n */\nvar defaultMarkers = {\n /**\n * @type {Highcharts.ASTNode}\n */\n arrow: {\n tagName: 'marker',\n attributes: {\n id: 'arrow',\n refY: 5,\n refX: 9,\n markerWidth: 10,\n markerHeight: 10\n },\n /**\n * @type {Array<Highcharts.DefsOptions>}\n */\n children: [{\n tagName: 'path',\n attributes: {\n d: 'M 0 0 L 10 5 L 0 10 Z', // Triangle (used as an arrow)\n 'stroke-width': 0\n }\n }]\n },\n /**\n * @type {Highcharts.ASTNode}\n */\n 'reverse-arrow': {\n tagName: 'marker',\n attributes: {\n id: 'reverse-arrow',\n refY: 5,\n refX: 1,\n markerWidth: 10,\n markerHeight: 10\n },\n children: [{\n tagName: 'path',\n attributes: {\n // Reverse triangle (used as an arrow)\n d: 'M 0 5 L 10 0 L 10 10 Z',\n 'stroke-width': 0\n }\n }]\n }\n};\n/* *\n *\n * Default Export\n *\n * */\nvar ControllableDefaults = {\n defaultMarkers: defaultMarkers\n};\n/* harmony default export */ var Controllables_ControllableDefaults = (ControllableDefaults);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Controllables/ControllablePath.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar ControllablePath_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar ControllablePath_defaultMarkers = Controllables_ControllableDefaults.defaultMarkers;\n\n\nvar ControllablePath_addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, ControllablePath_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend, ControllablePath_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, uniqueKey = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).uniqueKey;\n/* *\n *\n * Constants\n *\n * */\nvar markerEndSetter = createMarkerSetter('marker-end');\nvar markerStartSetter = createMarkerSetter('marker-start');\n// See TRACKER_FILL in highcharts.src.js\nvar TRACKER_FILL = 'rgba(192,192,192,' + ((highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).svg ? 0.0001 : 0.002) + ')';\n/* *\n *\n * Functions\n *\n * */\n/**\n * @private\n */\nfunction createMarkerSetter(markerType) {\n return function (value) {\n this.attr(markerType, 'url(#' + value + ')');\n };\n}\n/**\n * @private\n */\nfunction onChartAfterGetContainer() {\n this.options.defs = ControllablePath_merge(ControllablePath_defaultMarkers, this.options.defs || {});\n /// objectEach(this.options.defs, function (def): void {\n // const attributes = def.attributes;\n // if (\n // def.tagName === 'marker' &&\n // attributes &&\n // attributes.id &&\n // attributes.display !== 'none'\n // ) {\n // this.renderer.addMarker(attributes.id, def);\n // }\n // }, this);\n}\n/**\n * @private\n */\nfunction svgRendererAddMarker(id, markerOptions) {\n var options = { attributes: { id: id } };\n var attrs = {\n stroke: markerOptions.color || 'none',\n fill: markerOptions.color || 'rgba(0, 0, 0, 0.75)'\n };\n options.children = (markerOptions.children &&\n markerOptions.children.map(function (child) {\n return ControllablePath_merge(attrs, child);\n }));\n var ast = ControllablePath_merge(true, {\n attributes: {\n markerWidth: 20,\n markerHeight: 20,\n refX: 0,\n refY: 0,\n orient: 'auto'\n }\n },\n markerOptions,\n options);\n var marker = this.definition(ast);\n marker.id = id;\n return marker;\n}\n/* *\n *\n * Class\n *\n * */\n/**\n * A controllable path class.\n *\n * @requires modules/annotations\n *\n * @private\n * @class\n * @name Highcharts.AnnotationControllablePath\n *\n * @param {Highcharts.Annotation}\n * Related annotation.\n *\n * @param {Highcharts.AnnotationsShapeOptions} options\n * A path's options object.\n *\n * @param {number} index\n * Index of the path.\n */\nvar ControllablePath = /** @class */ (function (_super) {\n ControllablePath_extends(ControllablePath, _super);\n /* *\n *\n * Constructors\n *\n * */\n function ControllablePath(annotation, options, index) {\n var _this = _super.call(this,\n annotation,\n options,\n index, 'shape') || this;\n /* *\n *\n * Properties\n *\n * */\n _this.type = 'path';\n return _this;\n }\n /* *\n *\n * Static Functions\n *\n * */\n ControllablePath.compose = function (ChartClass, SVGRendererClass) {\n var svgRendererProto = SVGRendererClass.prototype;\n if (!svgRendererProto.addMarker) {\n ControllablePath_addEvent(ChartClass, 'afterGetContainer', onChartAfterGetContainer);\n svgRendererProto.addMarker = svgRendererAddMarker;\n }\n };\n /* *\n *\n * Functions\n *\n * */\n /**\n * Map the controllable path to 'd' path attribute.\n *\n * @return {Highcharts.SVGPathArray|null}\n * A path's d attribute.\n */\n ControllablePath.prototype.toD = function () {\n var dOption = this.options.d;\n if (dOption) {\n return typeof dOption === 'function' ?\n dOption.call(this) :\n dOption;\n }\n var points = this.points,\n len = points.length,\n d = [];\n var showPath = len,\n point = points[0],\n position = showPath && this.anchor(point).absolutePosition,\n pointIndex = 0,\n command;\n if (position) {\n d.push(['M', position.x, position.y]);\n while (++pointIndex < len && showPath) {\n point = points[pointIndex];\n command = point.command || 'L';\n position = this.anchor(point).absolutePosition;\n if (command === 'M') {\n d.push([command, position.x, position.y]);\n }\n else if (command === 'L') {\n d.push([command, position.x, position.y]);\n }\n else if (command === 'Z') {\n d.push([command]);\n }\n showPath = point.series.visible;\n }\n }\n return (showPath && this.graphic ?\n this.chart.renderer.crispLine(d, this.graphic.strokeWidth()) :\n null);\n };\n ControllablePath.prototype.shouldBeDrawn = function () {\n return _super.prototype.shouldBeDrawn.call(this) || !!this.options.d;\n };\n ControllablePath.prototype.render = function (parent) {\n var options = this.options,\n attrs = this.attrsFromOptions(options);\n this.graphic = this.annotation.chart.renderer\n .path([['M', 0, 0]])\n .attr(attrs)\n .add(parent);\n this.tracker = this.annotation.chart.renderer\n .path([['M', 0, 0]])\n .addClass('highcharts-tracker-line')\n .attr({\n zIndex: 2\n })\n .add(parent);\n if (!this.annotation.chart.styledMode) {\n this.tracker.attr({\n 'stroke-linejoin': 'round', // #1225\n stroke: TRACKER_FILL,\n fill: TRACKER_FILL,\n 'stroke-width': this.graphic.strokeWidth() +\n options.snap * 2\n });\n }\n _super.prototype.render.call(this);\n extend(this.graphic, { markerStartSetter: markerStartSetter, markerEndSetter: markerEndSetter });\n this.setMarkers(this);\n };\n ControllablePath.prototype.redraw = function (animation) {\n if (this.graphic) {\n var d = this.toD(),\n action = animation ? 'animate' : 'attr';\n if (d) {\n this.graphic[action]({ d: d });\n this.tracker[action]({ d: d });\n }\n else {\n this.graphic.attr({ d: 'M 0 ' + -9e9 });\n this.tracker.attr({ d: 'M 0 ' + -9e9 });\n }\n this.graphic.placed = this.tracker.placed = !!d;\n }\n _super.prototype.redraw.call(this, animation);\n };\n /**\n * Set markers.\n * @private\n * @param {Highcharts.AnnotationControllablePath} item\n */\n ControllablePath.prototype.setMarkers = function (item) {\n var itemOptions = item.options,\n chart = item.chart,\n defs = chart.options.defs,\n fill = itemOptions.fill,\n color = ControllablePath_defined(fill) && fill !== 'none' ?\n fill :\n itemOptions.stroke;\n var setMarker = function (markerType) {\n var markerId = itemOptions[markerType];\n var def,\n predefinedMarker,\n key,\n marker;\n if (markerId) {\n for (key in defs) { // eslint-disable-line guard-for-in\n def = defs[key];\n if ((markerId === (def.attributes && def.attributes.id) ||\n // Legacy, for\n // unit-tests/annotations/annotations-shapes\n markerId === def.id) &&\n def.tagName === 'marker') {\n predefinedMarker = def;\n break;\n }\n }\n if (predefinedMarker) {\n marker = item[markerType] = chart.renderer\n .addMarker((itemOptions.id || uniqueKey()) + '-' + markerId, ControllablePath_merge(predefinedMarker, { color: color }));\n item.attr(markerType, marker.getAttribute('id'));\n }\n }\n };\n ['markerStart', 'markerEnd']\n .forEach(setMarker);\n };\n /* *\n *\n * Static Properties\n *\n * */\n /**\n * A map object which allows to map options attributes to element attributes\n *\n * @name Highcharts.AnnotationControllablePath.attrsMap\n * @type {Highcharts.Dictionary<string>}\n */\n ControllablePath.attrsMap = {\n dashStyle: 'dashstyle',\n strokeWidth: 'stroke-width',\n stroke: 'stroke',\n fill: 'fill',\n zIndex: 'zIndex'\n };\n return ControllablePath;\n}(Controllables_Controllable));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Controllables_ControllablePath = (ControllablePath);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Controllables/ControllableRect.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar ControllableRect_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar ControllableRect_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Class\n *\n * */\n/**\n * A controllable rect class.\n *\n * @requires modules/annotations\n *\n * @private\n * @class\n * @name Highcharts.AnnotationControllableRect\n *\n * @param {Highcharts.Annotation} annotation\n * An annotation instance.\n *\n * @param {Highcharts.AnnotationsShapeOptions} options\n * A rect's options.\n *\n * @param {number} index\n * Index of the rectangle\n */\nvar ControllableRect = /** @class */ (function (_super) {\n ControllableRect_extends(ControllableRect, _super);\n /* *\n *\n * Constructors\n *\n * */\n function ControllableRect(annotation, options, index) {\n var _this = _super.call(this,\n annotation,\n options,\n index, 'shape') || this;\n /* *\n *\n * Properties\n *\n * */\n _this.type = 'rect';\n _this.translate = _super.prototype.translateShape;\n return _this;\n }\n /* *\n *\n * Functions\n *\n * */\n ControllableRect.prototype.render = function (parent) {\n var attrs = this.attrsFromOptions(this.options);\n this.graphic = this.annotation.chart.renderer\n .rect(0, -9e9, 0, 0)\n .attr(attrs)\n .add(parent);\n _super.prototype.render.call(this);\n };\n ControllableRect.prototype.redraw = function (animation) {\n if (this.graphic) {\n var position = this.anchor(this.points[0]).absolutePosition;\n if (position) {\n this.graphic[animation ? 'animate' : 'attr']({\n x: position.x,\n y: position.y,\n width: this.options.width,\n height: this.options.height\n });\n }\n else {\n this.attr({\n x: 0,\n y: -9e9\n });\n }\n this.graphic.placed = Boolean(position);\n }\n _super.prototype.redraw.call(this, animation);\n };\n /* *\n *\n * Static Properties\n *\n * */\n /**\n * A map object which allows to map options attributes to element attributes\n *\n * @type {Annotation.ControllableRect.AttrsMap}\n */\n ControllableRect.attrsMap = ControllableRect_merge(Controllables_ControllablePath.attrsMap, {\n width: 'width',\n height: 'height'\n });\n return ControllableRect;\n}(Controllables_Controllable));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Controllables_ControllableRect = (ControllableRect);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar ControllableCircle_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar ControllableCircle_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Class\n *\n * */\n/**\n * A controllable circle class.\n *\n * @requires modules/annotations\n *\n * @private\n * @class\n * @name Highcharts.AnnotationControllableCircle\n *\n * @param {Highcharts.Annotation} annotation an annotation instance\n * @param {Highcharts.AnnotationsShapeOptions} options a shape's options\n * @param {number} index of the circle\n */\nvar ControllableCircle = /** @class */ (function (_super) {\n ControllableCircle_extends(ControllableCircle, _super);\n /* *\n *\n * Constructors\n *\n * */\n function ControllableCircle(annotation, options, index) {\n var _this = _super.call(this,\n annotation,\n options,\n index, 'shape') || this;\n /* *\n *\n * Properties\n *\n * */\n _this.type = 'circle';\n _this.translate = _super.prototype.translateShape;\n return _this;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * @private\n */\n ControllableCircle.prototype.redraw = function (animation) {\n if (this.graphic) {\n var position = this.anchor(this.points[0]).absolutePosition;\n if (position) {\n this.graphic[animation ? 'animate' : 'attr']({\n x: position.x,\n y: position.y,\n r: this.options.r\n });\n }\n else {\n this.graphic.attr({\n x: 0,\n y: -9e9\n });\n }\n this.graphic.placed = !!position;\n }\n _super.prototype.redraw.call(this, animation);\n };\n /**\n * @private\n */\n ControllableCircle.prototype.render = function (parent) {\n var attrs = this.attrsFromOptions(this.options);\n this.graphic = this.annotation.chart.renderer\n .circle(0, -9e9, 0)\n .attr(attrs)\n .add(parent);\n _super.prototype.render.call(this);\n };\n /**\n * Set the radius.\n * @private\n * @param {number} r\n * A radius to be set\n */\n ControllableCircle.prototype.setRadius = function (r) {\n this.options.r = r;\n };\n /* *\n *\n * Static Properties\n *\n * */\n /**\n * A map object which allows to map options attributes to element\n * attributes.\n *\n * @name Highcharts.AnnotationControllableCircle.attrsMap\n * @type {Highcharts.Dictionary<string>}\n */\n ControllableCircle.attrsMap = ControllableCircle_merge(Controllables_ControllablePath.attrsMap, { r: 'r' });\n return ControllableCircle;\n}(Controllables_Controllable));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Controllables_ControllableCircle = (ControllableCircle);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js\n/* *\n *\n * Author: Pawel Lysy\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar ControllableEllipse_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar ControllableEllipse_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, ControllableEllipse_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined;\n/* *\n *\n * Class\n *\n * */\n/**\n * A controllable ellipse class.\n *\n * @requires modules/annotations\n *\n * @private\n * @class\n * @name Highcharts.AnnotationControllableEllipse\n *\n * @param {Highcharts.Annotation} annotation an annotation instance\n * @param {Highcharts.AnnotationsShapeOptions} options a shape's options\n * @param {number} index of the Ellipse\n */\nvar ControllableEllipse = /** @class */ (function (_super) {\n ControllableEllipse_extends(ControllableEllipse, _super);\n /* *\n *\n * Constructor\n *\n * */\n function ControllableEllipse(annotation, options, index) {\n var _this = _super.call(this,\n annotation,\n options,\n index, 'shape') || this;\n /* *\n *\n * Properties\n *\n * */\n _this.type = 'ellipse';\n return _this;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * @private\n */\n ControllableEllipse.prototype.init = function (annotation, options, index) {\n if (ControllableEllipse_defined(options.yAxis)) {\n options.points.forEach(function (point) {\n point.yAxis = options.yAxis;\n });\n }\n if (ControllableEllipse_defined(options.xAxis)) {\n options.points.forEach(function (point) {\n point.xAxis = options.xAxis;\n });\n }\n _super.prototype.init.call(this, annotation, options, index);\n };\n /**\n * Render the element\n * @private\n * @param parent\n * Parent SVG element.\n */\n ControllableEllipse.prototype.render = function (parent) {\n this.graphic = this.annotation.chart.renderer.createElement('ellipse')\n .attr(this.attrsFromOptions(this.options))\n .add(parent);\n _super.prototype.render.call(this);\n };\n /**\n * Translate the points. Mostly used to handle dragging of the ellipse.\n * @private\n */\n ControllableEllipse.prototype.translate = function (dx, dy) {\n _super.prototype.translateShape.call(this, dx, dy, true);\n };\n /**\n * Get the distance from the line to the point.\n * @private\n * @param point1\n * First point which is on the line\n * @param point2\n * Second point\n * @param x0\n * Point's x value from which you want to calculate the distance from\n * @param y0\n * Point's y value from which you want to calculate the distance from\n */\n ControllableEllipse.prototype.getDistanceFromLine = function (point1, point2, x0, y0) {\n return Math.abs((point2.y - point1.y) * x0 - (point2.x - point1.x) * y0 +\n point2.x * point1.y - point2.y * point1.x) / Math.sqrt((point2.y - point1.y) * (point2.y - point1.y) +\n (point2.x - point1.x) * (point2.x - point1.x));\n };\n /**\n * The function calculates the svg attributes of the ellipse, and returns\n * all parameters necessary to draw the ellipse.\n * @private\n * @param position\n * Absolute position of the first point in points array\n * @param position2\n * Absolute position of the second point in points array\n */\n ControllableEllipse.prototype.getAttrs = function (position, position2) {\n var x1 = position.x, y1 = position.y, x2 = position2.x, y2 = position2.y, cx = (x1 + x2) / 2, cy = (y1 + y2) / 2, rx = Math.sqrt((x1 - x2) * (x1 - x2) / 4 + (y1 - y2) * (y1 - y2) / 4), tan = (y2 - y1) / (x2 - x1);\n var angle = Math.atan(tan) * 180 / Math.PI;\n if (cx < x1) {\n angle += 180;\n }\n var ry = this.getRY();\n return { cx: cx, cy: cy, rx: rx, ry: ry, angle: angle };\n };\n /**\n * Get the value of minor radius of the ellipse.\n * @private\n */\n ControllableEllipse.prototype.getRY = function () {\n var yAxis = this.getYAxis();\n return ControllableEllipse_defined(yAxis) ?\n Math.abs(yAxis.toPixels(this.options.ry) - yAxis.toPixels(0)) :\n this.options.ry;\n };\n /**\n * Get the yAxis object to which the ellipse is pinned.\n * @private\n */\n ControllableEllipse.prototype.getYAxis = function () {\n var yAxisIndex = this.options.yAxis;\n return this.chart.yAxis[yAxisIndex];\n };\n /**\n * Get the absolute coordinates of the MockPoint\n * @private\n * @param point\n * MockPoint that is added through options\n */\n ControllableEllipse.prototype.getAbsolutePosition = function (point) {\n return this.anchor(point).absolutePosition;\n };\n /**\n * Redraw the element\n * @private\n * @param animation\n * Display an animation\n */\n ControllableEllipse.prototype.redraw = function (animation) {\n if (this.graphic) {\n var position = this.getAbsolutePosition(this.points[0]),\n position2 = this.getAbsolutePosition(this.points[1]),\n attrs = this.getAttrs(position,\n position2);\n if (position) {\n this.graphic[animation ? 'animate' : 'attr']({\n cx: attrs.cx,\n cy: attrs.cy,\n rx: attrs.rx,\n ry: attrs.ry,\n rotation: attrs.angle,\n rotationOriginX: attrs.cx,\n rotationOriginY: attrs.cy\n });\n }\n else {\n this.graphic.attr({\n x: 0,\n y: -9e9\n });\n }\n this.graphic.placed = Boolean(position);\n }\n _super.prototype.redraw.call(this, animation);\n };\n /**\n * Set the radius Y.\n * @private\n * @param {number} ry\n * A radius in y direction to be set\n */\n ControllableEllipse.prototype.setYRadius = function (ry) {\n var shapes = this.annotation.userOptions.shapes;\n this.options.ry = ry;\n if (shapes && shapes[0]) {\n shapes[0].ry = ry;\n shapes[0].ry = ry;\n }\n };\n /* *\n *\n * Static Properties\n *\n * */\n /**\n * A map object which allows to map options attributes to element\n * attributes.\n *\n * @name Highcharts.AnnotationControllableEllipse.attrsMap\n * @type {Highcharts.Dictionary<string>}\n */\n ControllableEllipse.attrsMap = ControllableEllipse_merge(Controllables_ControllablePath.attrsMap, {\n ry: 'ry'\n });\n return ControllableEllipse;\n}(Controllables_Controllable));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Controllables_ControllableEllipse = (ControllableEllipse);\n\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"Templating\"],\"commonjs\":[\"highcharts\",\"Templating\"],\"commonjs2\":[\"highcharts\",\"Templating\"],\"root\":[\"Highcharts\",\"Templating\"]}\nvar highcharts_Templating_commonjs_highcharts_Templating_commonjs2_highcharts_Templating_root_Highcharts_Templating_ = __webpack_require__(984);\nvar highcharts_Templating_commonjs_highcharts_Templating_commonjs2_highcharts_Templating_root_Highcharts_Templating_default = /*#__PURE__*/__webpack_require__.n(highcharts_Templating_commonjs_highcharts_Templating_commonjs2_highcharts_Templating_root_Highcharts_Templating_);\n;// ./code/es5/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar ControllableLabel_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar format = (highcharts_Templating_commonjs_highcharts_Templating_commonjs2_highcharts_Templating_root_Highcharts_Templating_default()).format;\n\n\nvar ControllableLabel_extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend, getAlignFactor = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).getAlignFactor, isNumber = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isNumber, ControllableLabel_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick;\n/* *\n *\n * Functions\n *\n * */\n/**\n * General symbol definition for labels with connector\n * @private\n */\nfunction symbolConnector(x, y, w, h, options) {\n var anchorX = options && options.anchorX,\n anchorY = options && options.anchorY;\n var path,\n yOffset,\n lateral = w / 2;\n if (isNumber(anchorX) && isNumber(anchorY)) {\n path = [['M', anchorX, anchorY]];\n // Prefer 45 deg connectors\n yOffset = y - anchorY;\n if (yOffset < 0) {\n yOffset = -h - yOffset;\n }\n if (yOffset < w) {\n lateral = anchorX < x + (w / 2) ? yOffset : w - yOffset;\n }\n // Anchor below label\n if (anchorY > y + h) {\n path.push(['L', x + lateral, y + h]);\n // Anchor above label\n }\n else if (anchorY < y) {\n path.push(['L', x + lateral, y]);\n // Anchor left of label\n }\n else if (anchorX < x) {\n path.push(['L', x, y + h / 2]);\n // Anchor right of label\n }\n else if (anchorX > x + w) {\n path.push(['L', x + w, y + h / 2]);\n }\n }\n return path || [];\n}\n/* *\n *\n * Class\n *\n * */\n/**\n * A controllable label class.\n *\n * @requires modules/annotations\n *\n * @private\n * @class\n * @name Highcharts.AnnotationControllableLabel\n *\n * @param {Highcharts.Annotation} annotation\n * An annotation instance.\n * @param {Highcharts.AnnotationsLabelOptions} options\n * A label's options.\n * @param {number} index\n * Index of the label.\n */\nvar ControllableLabel = /** @class */ (function (_super) {\n ControllableLabel_extends(ControllableLabel, _super);\n /* *\n *\n * Constructors\n *\n * */\n function ControllableLabel(annotation, options, index) {\n return _super.call(this, annotation, options, index, 'label') || this;\n }\n /* *\n *\n * Static Functions\n *\n * */\n /**\n * Returns new aligned position based alignment options and box to align to.\n * It is almost a one-to-one copy from SVGElement.prototype.align\n * except it does not use and mutate an element\n *\n * @param {Highcharts.AnnotationAlignObject} alignOptions\n *\n * @param {Highcharts.BBoxObject} box\n *\n * @return {Highcharts.PositionObject}\n * Aligned position.\n */\n ControllableLabel.alignedPosition = function (alignOptions, box) {\n return {\n x: Math.round((box.x || 0) + (alignOptions.x || 0) +\n (box.width - (alignOptions.width || 0)) *\n getAlignFactor(alignOptions.align)),\n y: Math.round((box.y || 0) + (alignOptions.y || 0) +\n (box.height - (alignOptions.height || 0)) *\n getAlignFactor(alignOptions.verticalAlign))\n };\n };\n ControllableLabel.compose = function (SVGRendererClass) {\n var symbols = SVGRendererClass.prototype.symbols;\n symbols.connector = symbolConnector;\n };\n /**\n * Returns new alignment options for a label if the label is outside the\n * plot area. It is almost a one-to-one copy from\n * Series.prototype.justifyDataLabel except it does not mutate the label and\n * it works with absolute instead of relative position.\n */\n ControllableLabel.justifiedOptions = function (chart, label, alignOptions, alignAttr) {\n var align = alignOptions.align,\n verticalAlign = alignOptions.verticalAlign,\n padding = label.box ? 0 : (label.padding || 0),\n bBox = label.getBBox(), \n //\n options = {\n align: align,\n verticalAlign: verticalAlign,\n x: alignOptions.x,\n y: alignOptions.y,\n width: label.width,\n height: label.height\n }, \n //\n x = (alignAttr.x || 0) - chart.plotLeft,\n y = (alignAttr.y || 0) - chart.plotTop;\n var off;\n // Off left\n off = x + padding;\n if (off < 0) {\n if (align === 'right') {\n options.align = 'left';\n }\n else {\n options.x = (options.x || 0) - off;\n }\n }\n // Off right\n off = x + bBox.width - padding;\n if (off > chart.plotWidth) {\n if (align === 'left') {\n options.align = 'right';\n }\n else {\n options.x = (options.x || 0) + chart.plotWidth - off;\n }\n }\n // Off top\n off = y + padding;\n if (off < 0) {\n if (verticalAlign === 'bottom') {\n options.verticalAlign = 'top';\n }\n else {\n options.y = (options.y || 0) - off;\n }\n }\n // Off bottom\n off = y + bBox.height - padding;\n if (off > chart.plotHeight) {\n if (verticalAlign === 'top') {\n options.verticalAlign = 'bottom';\n }\n else {\n options.y = (options.y || 0) + chart.plotHeight - off;\n }\n }\n return options;\n };\n /* *\n *\n * Functions\n *\n * */\n /**\n * Translate the point of the label by deltaX and deltaY translations.\n * The point is the label's anchor.\n *\n * @param {number} dx translation for x coordinate\n * @param {number} dy translation for y coordinate\n */\n ControllableLabel.prototype.translatePoint = function (dx, dy) {\n _super.prototype.translatePoint.call(this, dx, dy, 0);\n };\n /**\n * Translate x and y position relative to the label's anchor.\n *\n * @param {number} dx translation for x coordinate\n * @param {number} dy translation for y coordinate\n */\n ControllableLabel.prototype.translate = function (dx, dy) {\n var chart = this.annotation.chart, \n // Annotation.options\n labelOptions = this.annotation.userOptions, \n // Chart.options.annotations\n annotationIndex = chart.annotations.indexOf(this.annotation),\n chartAnnotations = chart.options.annotations,\n chartOptions = chartAnnotations[annotationIndex];\n if (chart.inverted) {\n var temp = dx;\n dx = dy;\n dy = temp;\n }\n // Local options:\n this.options.x += dx;\n this.options.y += dy;\n // Options stored in chart:\n chartOptions[this.collection][this.index].x = this.options.x;\n chartOptions[this.collection][this.index].y = this.options.y;\n labelOptions[this.collection][this.index].x = this.options.x;\n labelOptions[this.collection][this.index].y = this.options.y;\n };\n ControllableLabel.prototype.render = function (parent) {\n var options = this.options,\n attrs = this.attrsFromOptions(options),\n style = options.style;\n this.graphic = this.annotation.chart.renderer\n .label('', 0, -9999, // #10055\n options.shape, null, null, options.useHTML, null, 'annotation-label')\n .attr(attrs)\n .add(parent);\n if (!this.annotation.chart.styledMode) {\n if (style.color === 'contrast') {\n style.color = this.annotation.chart.renderer.getContrast(ControllableLabel.shapesWithoutBackground.indexOf(options.shape) > -1 ? '#FFFFFF' : options.backgroundColor);\n }\n this.graphic\n .css(options.style)\n .shadow(options.shadow);\n }\n this.graphic.labelrank = options.labelrank;\n _super.prototype.render.call(this);\n };\n ControllableLabel.prototype.redraw = function (animation) {\n var options = this.options,\n text = this.text || options.format || options.text,\n label = this.graphic,\n point = this.points[0];\n if (!label) {\n this.redraw(animation);\n return;\n }\n label.attr({\n text: text ?\n format(String(text), point, this.annotation.chart) :\n options.formatter.call(point, this)\n });\n var anchor = this.anchor(point);\n var attrs = this.position(anchor);\n if (attrs) {\n label.alignAttr = attrs;\n attrs.anchorX = anchor.absolutePosition.x;\n attrs.anchorY = anchor.absolutePosition.y;\n label[animation ? 'animate' : 'attr'](attrs);\n }\n else {\n label.attr({\n x: 0,\n y: -9999 // #10055\n });\n }\n label.placed = !!attrs;\n _super.prototype.redraw.call(this, animation);\n };\n /**\n * All basic shapes don't support alignTo() method except label.\n * For a controllable label, we need to subtract translation from\n * options.\n */\n ControllableLabel.prototype.anchor = function (\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _point) {\n var anchor = _super.prototype.anchor.apply(this,\n arguments),\n x = this.options.x || 0,\n y = this.options.y || 0;\n anchor.absolutePosition.x -= x;\n anchor.absolutePosition.y -= y;\n anchor.relativePosition.x -= x;\n anchor.relativePosition.y -= y;\n return anchor;\n };\n /**\n * Returns the label position relative to its anchor.\n */\n ControllableLabel.prototype.position = function (anchor) {\n var item = this.graphic,\n chart = this.annotation.chart,\n tooltip = chart.tooltip,\n point = this.points[0],\n itemOptions = this.options,\n anchorAbsolutePosition = anchor.absolutePosition,\n anchorRelativePosition = anchor.relativePosition;\n var itemPosition,\n alignTo,\n itemPosRelativeX,\n itemPosRelativeY,\n showItem = point.series.visible &&\n Annotations_MockPoint.prototype.isInsidePlot.call(point);\n if (item && showItem) {\n var _a = item.width,\n width = _a === void 0 ? 0 : _a,\n _b = item.height,\n height = _b === void 0 ? 0 : _b;\n if (itemOptions.distance && tooltip) {\n itemPosition = tooltip.getPosition.call({\n chart: chart,\n distance: ControllableLabel_pick(itemOptions.distance, 16),\n getPlayingField: tooltip.getPlayingField,\n pointer: tooltip.pointer\n }, width, height, {\n plotX: anchorRelativePosition.x,\n plotY: anchorRelativePosition.y,\n negative: point.negative,\n ttBelow: point.ttBelow,\n h: (anchorRelativePosition.height ||\n anchorRelativePosition.width)\n });\n }\n else if (itemOptions.positioner) {\n itemPosition = itemOptions.positioner.call(this);\n }\n else {\n alignTo = {\n x: anchorAbsolutePosition.x,\n y: anchorAbsolutePosition.y,\n width: 0,\n height: 0\n };\n itemPosition = ControllableLabel.alignedPosition(ControllableLabel_extend(itemOptions, {\n width: width,\n height: height\n }), alignTo);\n if (this.options.overflow === 'justify') {\n itemPosition = ControllableLabel.alignedPosition(ControllableLabel.justifiedOptions(chart, item, itemOptions, itemPosition), alignTo);\n }\n }\n if (itemOptions.crop) {\n itemPosRelativeX = itemPosition.x - chart.plotLeft;\n itemPosRelativeY = itemPosition.y - chart.plotTop;\n showItem =\n chart.isInsidePlot(itemPosRelativeX, itemPosRelativeY) &&\n chart.isInsidePlot(itemPosRelativeX + width, itemPosRelativeY + height);\n }\n }\n return showItem ? itemPosition : null;\n };\n /* *\n *\n * Static Properties\n *\n * */\n /**\n * A map object which allows to map options attributes to element attributes\n *\n * @type {Highcharts.Dictionary<string>}\n */\n ControllableLabel.attrsMap = {\n backgroundColor: 'fill',\n borderColor: 'stroke',\n borderWidth: 'stroke-width',\n zIndex: 'zIndex',\n borderRadius: 'r',\n padding: 'padding'\n };\n /**\n * Shapes which do not have background - the object is used for proper\n * setting of the contrast color.\n *\n * @type {Array<string>}\n */\n ControllableLabel.shapesWithoutBackground = ['connector'];\n return ControllableLabel;\n}(Controllables_Controllable));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Controllables_ControllableLabel = (ControllableLabel);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Controllables/ControllableImage.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar ControllableImage_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n/* *\n *\n * Class\n *\n * */\n/**\n * A controllable image class.\n *\n * @requires modules/annotations\n *\n * @private\n * @class\n * @name Highcharts.AnnotationControllableImage\n *\n * @param {Highcharts.Annotation} annotation\n * An annotation instance.\n *\n * @param {Highcharts.AnnotationsShapeOptions} options\n * A controllable's options.\n *\n * @param {number} index\n * Index of the image.\n */\nvar ControllableImage = /** @class */ (function (_super) {\n ControllableImage_extends(ControllableImage, _super);\n /* *\n *\n * Constructors\n *\n * */\n function ControllableImage(annotation, options, index) {\n var _this = _super.call(this,\n annotation,\n options,\n index, 'shape') || this;\n /* *\n *\n * Properties\n *\n * */\n _this.type = 'image';\n _this.translate = _super.prototype.translateShape;\n return _this;\n }\n ControllableImage.prototype.render = function (parent) {\n var attrs = this.attrsFromOptions(this.options),\n options = this.options;\n this.graphic = this.annotation.chart.renderer\n .image(options.src, 0, -9e9, options.width, options.height)\n .attr(attrs)\n .add(parent);\n this.graphic.width = options.width;\n this.graphic.height = options.height;\n _super.prototype.render.call(this);\n };\n ControllableImage.prototype.redraw = function (animation) {\n if (this.graphic) {\n var anchor = this.anchor(this.points[0]),\n position = Controllables_ControllableLabel.prototype.position.call(this,\n anchor);\n if (position) {\n this.graphic[animation ? 'animate' : 'attr']({\n x: position.x,\n y: position.y\n });\n }\n else {\n this.graphic.attr({\n x: 0,\n y: -9e9\n });\n }\n this.graphic.placed = Boolean(position);\n }\n _super.prototype.redraw.call(this, animation);\n };\n /* *\n *\n * Static Properties\n *\n * */\n /**\n * A map object which allows to map options attributes to element attributes\n *\n * @name Highcharts.AnnotationControllableImage.attrsMap\n * @type {Highcharts.Dictionary<string>}\n */\n ControllableImage.attrsMap = {\n width: 'width',\n height: 'height',\n zIndex: 'zIndex'\n };\n return ControllableImage;\n}(Controllables_Controllable));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Controllables_ControllableImage = (ControllableImage);\n\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"AST\"],\"commonjs\":[\"highcharts\",\"AST\"],\"commonjs2\":[\"highcharts\",\"AST\"],\"root\":[\"Highcharts\",\"AST\"]}\nvar highcharts_AST_commonjs_highcharts_AST_commonjs2_highcharts_AST_root_Highcharts_AST_ = __webpack_require__(660);\nvar highcharts_AST_commonjs_highcharts_AST_commonjs2_highcharts_AST_root_Highcharts_AST_default = /*#__PURE__*/__webpack_require__.n(highcharts_AST_commonjs_highcharts_AST_commonjs2_highcharts_AST_root_Highcharts_AST_);\n;// ./code/es5/es-modules/Shared/BaseForm.js\n/* *\n *\n * (c) 2009-2024 Highsoft AS\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n/* *\n *\n * Imports\n *\n * */\n\n\nvar BaseForm_addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, createElement = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).createElement;\n/* *\n *\n * Class\n *\n * */\nvar BaseForm = /** @class */ (function () {\n /* *\n *\n * Constructor\n *\n * */\n function BaseForm(parentDiv, iconsURL) {\n this.iconsURL = iconsURL;\n this.container = this.createPopupContainer(parentDiv);\n this.closeButton = this.addCloseButton();\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Create popup div container.\n *\n * @param {HTMLElement} parentDiv\n * Parent div to attach popup.\n *\n * @param {string} className\n * Class name of the popup.\n *\n * @return {HTMLElement}\n * Popup div.\n */\n BaseForm.prototype.createPopupContainer = function (parentDiv, className) {\n if (className === void 0) { className = 'highcharts-popup highcharts-no-tooltip'; }\n return createElement('div', { className: className }, void 0, parentDiv);\n };\n /**\n * Create HTML element and attach click event to close popup.\n *\n * @param {string} className\n * Class name of the close button.\n *\n * @return {HTMLElement}\n * Close button.\n */\n BaseForm.prototype.addCloseButton = function (className) {\n if (className === void 0) { className = 'highcharts-popup-close'; }\n var popup = this,\n iconsURL = this.iconsURL;\n // Create close popup button.\n var closeButton = createElement('button', { className: className },\n void 0,\n this.container);\n closeButton.style['background-image'] = 'url(' +\n (iconsURL.match(/png|svg|jpeg|jpg|gif/ig) ?\n iconsURL : iconsURL + 'close.svg') + ')';\n ['click', 'touchstart'].forEach(function (eventName) {\n BaseForm_addEvent(closeButton, eventName, popup.closeButtonEvents.bind(popup));\n });\n // Close popup when press ESC\n BaseForm_addEvent(document, 'keydown', function (event) {\n if (event.code === 'Escape') {\n popup.closeButtonEvents();\n }\n });\n return closeButton;\n };\n /**\n * Close button events.\n * @return {void}\n */\n BaseForm.prototype.closeButtonEvents = function () {\n this.closePopup();\n };\n /**\n * Reset content of the current popup and show.\n *\n * @param {string} toolbarClass\n * Class name of the toolbar which styles should be reset.\n */\n BaseForm.prototype.showPopup = function (toolbarClass) {\n if (toolbarClass === void 0) { toolbarClass = 'highcharts-annotation-toolbar'; }\n var popupDiv = this.container,\n popupCloseButton = this.closeButton;\n this.type = void 0;\n // Reset content.\n popupDiv.innerHTML = (highcharts_AST_commonjs_highcharts_AST_commonjs2_highcharts_AST_root_Highcharts_AST_default()).emptyHTML;\n // Reset toolbar styles if exists.\n if (popupDiv.className.indexOf(toolbarClass) >= 0) {\n popupDiv.classList.remove(toolbarClass);\n // Reset toolbar inline styles\n popupDiv.removeAttribute('style');\n }\n // Add close button.\n popupDiv.appendChild(popupCloseButton);\n popupDiv.style.display = 'block';\n popupDiv.style.height = '';\n };\n /**\n * Hide popup.\n */\n BaseForm.prototype.closePopup = function () {\n this.container.style.display = 'none';\n };\n return BaseForm;\n}());\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Shared_BaseForm = (BaseForm);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js\n/* *\n *\n * Popup generator for Stock tools\n *\n * (c) 2009-2024 Sebastian Bochan\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar PopupAnnotations_doc = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).doc, isFirefox = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isFirefox;\n\nvar PopupAnnotations_createElement = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).createElement, isArray = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isArray, isObject = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isObject, PopupAnnotations_objectEach = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).objectEach, PopupAnnotations_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick, stableSort = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).stableSort;\n/* *\n *\n * Functions\n *\n * */\n/**\n * Create annotation simple form.\n * It contains fields with param names.\n * @private\n * @param {Highcharts.Chart} chart\n * Chart\n * @param {Object} options\n * Options\n * @param {Function} callback\n * On click callback\n * @param {boolean} [isInit]\n * If it is a form declared for init annotation\n */\nfunction addForm(chart, options, callback, isInit) {\n if (!chart) {\n return;\n }\n var popupDiv = this.container,\n lang = this.lang;\n // Create title of annotations\n var lhsCol = PopupAnnotations_createElement('h2', {\n className: 'highcharts-popup-main-title'\n },\n void 0,\n popupDiv);\n lhsCol.appendChild(PopupAnnotations_doc.createTextNode(lang[options.langKey] || options.langKey || ''));\n // Left column\n lhsCol = PopupAnnotations_createElement('div', {\n className: ('highcharts-popup-lhs-col highcharts-popup-lhs-full')\n }, void 0, popupDiv);\n var bottomRow = PopupAnnotations_createElement('div', {\n className: 'highcharts-popup-bottom-row'\n },\n void 0,\n popupDiv);\n addFormFields.call(this, lhsCol, chart, '', options, [], true);\n this.addButton(bottomRow, isInit ?\n (lang.addButton || 'Add') :\n (lang.saveButton || 'Save'), isInit ? 'add' : 'save', popupDiv, callback);\n}\n/**\n * Create annotation simple form. It contains two buttons\n * (edit / remove) and text label.\n * @private\n * @param {Highcharts.Chart} - chart\n * @param {Highcharts.AnnotationsOptions} - options\n * @param {Function} - on click callback\n */\nfunction addToolbar(chart, options, callback) {\n var _this = this;\n var lang = this.lang,\n popupDiv = this.container,\n showForm = this.showForm,\n toolbarClass = 'highcharts-annotation-toolbar';\n // Set small size\n if (popupDiv.className.indexOf(toolbarClass) === -1) {\n popupDiv.className += ' ' + toolbarClass + ' highcharts-no-mousewheel';\n }\n // Set position\n if (chart) {\n popupDiv.style.top = chart.plotTop + 10 + 'px';\n }\n // Create label\n var label = PopupAnnotations_createElement('p', {\n className: 'highcharts-annotation-label'\n },\n void 0,\n popupDiv);\n label.setAttribute('aria-label', 'Annotation type');\n label.appendChild(PopupAnnotations_doc.createTextNode(PopupAnnotations_pick(\n // Advanced annotations:\n lang[options.langKey] || options.langKey, \n // Basic shapes:\n options.shapes && options.shapes[0].type, '')));\n // Add buttons\n var button = this.addButton(popupDiv, lang.editButton || 'Edit', 'edit', popupDiv, function () {\n showForm.call(_this, 'annotation-edit', chart, options, callback);\n });\n button.className += ' highcharts-annotation-edit-button';\n button.style['background-image'] = 'url(' +\n this.iconsURL + 'edit.svg)';\n button = this.addButton(popupDiv, lang.removeButton || 'Remove', 'remove', popupDiv, callback);\n button.className += ' highcharts-annotation-remove-button';\n button.style['background-image'] = 'url(' +\n this.iconsURL + 'destroy.svg)';\n}\n/**\n * Create annotation's form fields.\n * @private\n * @param {Highcharts.HTMLDOMElement} parentDiv\n * Div where inputs are placed\n * @param {Highcharts.Chart} chart\n * Chart\n * @param {string} parentNode\n * Name of parent to create chain of names\n * @param {Highcharts.AnnotationsOptions} options\n * Options\n * @param {Array<unknown>} storage\n * Array where all items are stored\n * @param {boolean} [isRoot]\n * Recursive flag for root\n */\nfunction addFormFields(parentDiv, chart, parentNode, options, storage, isRoot) {\n var _this = this;\n if (!chart) {\n return;\n }\n var addInput = this.addInput,\n lang = this.lang;\n var parentFullName,\n titleName;\n PopupAnnotations_objectEach(options, function (value, option) {\n // Create name like params.styles.fontSize\n parentFullName = parentNode !== '' ? parentNode + '.' + option : option;\n if (isObject(value)) {\n if (\n // Value is object of options\n !isArray(value) ||\n // Array of objects with params. i.e labels in Fibonacci\n (isArray(value) && isObject(value[0]))) {\n titleName = lang[option] || option;\n if (!titleName.match(/\\d/g)) {\n storage.push([\n true,\n titleName,\n parentDiv\n ]);\n }\n addFormFields.call(_this, parentDiv, chart, parentFullName, value, storage, false);\n }\n else {\n storage.push([\n _this,\n parentFullName,\n 'annotation',\n parentDiv,\n value\n ]);\n }\n }\n });\n if (isRoot) {\n stableSort(storage, function (a) { return (a[1].match(/format/g) ? -1 : 1); });\n if (isFirefox) {\n storage.reverse(); // (#14691)\n }\n storage.forEach(function (genInput) {\n if (genInput[0] === true) {\n PopupAnnotations_createElement('span', {\n className: 'highcharts-annotation-title'\n }, void 0, genInput[2]).appendChild(PopupAnnotations_doc.createTextNode(genInput[1]));\n }\n else {\n genInput[4] = {\n value: genInput[4][0],\n type: genInput[4][1]\n };\n addInput.apply(genInput[0], genInput.splice(1));\n }\n });\n }\n}\n/* *\n *\n * Default Export\n *\n * */\nvar PopupAnnotations = {\n addForm: addForm,\n addToolbar: addToolbar\n};\n/* harmony default export */ var Popup_PopupAnnotations = (PopupAnnotations);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Popup/PopupIndicators.js\n/* *\n *\n * Popup generator for Stock tools\n *\n * (c) 2009-2024 Sebastian Bochan\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\n\nvar PopupIndicators_doc = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).doc;\n\nvar seriesTypes = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;\n\nvar PopupIndicators_addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, PopupIndicators_createElement = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).createElement, PopupIndicators_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, PopupIndicators_isArray = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isArray, PopupIndicators_isObject = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isObject, PopupIndicators_objectEach = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).objectEach, PopupIndicators_stableSort = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).stableSort;\n/* *\n *\n * Enums\n *\n * */\n/**\n * Enum for properties which should have dropdown list.\n * @private\n */\nvar DropdownProperties;\n(function (DropdownProperties) {\n DropdownProperties[DropdownProperties[\"params.algorithm\"] = 0] = \"params.algorithm\";\n DropdownProperties[DropdownProperties[\"params.average\"] = 1] = \"params.average\";\n})(DropdownProperties || (DropdownProperties = {}));\n/**\n * List of available algorithms for the specific indicator.\n * @private\n */\nvar dropdownParameters = {\n 'algorithm-pivotpoints': ['standard', 'fibonacci', 'camarilla'],\n 'average-disparityindex': ['sma', 'ema', 'dema', 'tema', 'wma']\n};\n/* *\n *\n * Functions\n *\n * */\n/**\n * Create two columns (divs) in HTML.\n * @private\n * @param {Highcharts.HTMLDOMElement} container\n * Container of columns\n * @return {Highcharts.Dictionary<Highcharts.HTMLDOMElement>}\n * Reference to two HTML columns (lhsCol, rhsCol)\n */\nfunction addColsContainer(container) {\n // Left column\n var lhsCol = PopupIndicators_createElement('div', {\n className: 'highcharts-popup-lhs-col'\n },\n void 0,\n container);\n // Right column\n var rhsCol = PopupIndicators_createElement('div', {\n className: 'highcharts-popup-rhs-col'\n },\n void 0,\n container);\n // Wrapper content\n PopupIndicators_createElement('div', {\n className: 'highcharts-popup-rhs-col-wrapper'\n }, void 0, rhsCol);\n return {\n lhsCol: lhsCol,\n rhsCol: rhsCol\n };\n}\n/**\n * Create indicator's form. It contains two tabs (ADD and EDIT) with\n * content.\n * @private\n */\nfunction PopupIndicators_addForm(chart, _options, callback) {\n var lang = this.lang;\n var buttonParentDiv;\n if (!chart) {\n return;\n }\n // Add tabs\n this.tabs.init.call(this, chart);\n // Get all tabs content divs\n var tabsContainers = this.container\n .querySelectorAll('.highcharts-tab-item-content');\n // ADD tab\n addColsContainer(tabsContainers[0]);\n addSearchBox.call(this, chart, tabsContainers[0]);\n addIndicatorList.call(this, chart, tabsContainers[0], 'add');\n buttonParentDiv = tabsContainers[0]\n .querySelectorAll('.highcharts-popup-rhs-col')[0];\n this.addButton(buttonParentDiv, lang.addButton || 'add', 'add', buttonParentDiv, callback);\n // EDIT tab\n addColsContainer(tabsContainers[1]);\n addIndicatorList.call(this, chart, tabsContainers[1], 'edit');\n buttonParentDiv = tabsContainers[1]\n .querySelectorAll('.highcharts-popup-rhs-col')[0];\n this.addButton(buttonParentDiv, lang.saveButton || 'save', 'edit', buttonParentDiv, callback);\n this.addButton(buttonParentDiv, lang.removeButton || 'remove', 'remove', buttonParentDiv, callback);\n}\n/**\n * Create typical inputs for chosen indicator. Fields are extracted from\n * defaultOptions (ADD mode) or current indicator (ADD mode). Two extra\n * fields are added:\n * - hidden input - contains indicator type (required for callback)\n * - select - list of series which can be linked with indicator\n * @private\n * @param {Highcharts.Chart} chart\n * Chart\n * @param {Highcharts.Series} series\n * Indicator\n * @param {string} seriesType\n * Indicator type like: sma, ema, etc.\n * @param {Highcharts.HTMLDOMElement} rhsColWrapper\n * Element where created HTML list is added\n */\nfunction PopupIndicators_addFormFields(chart, series, seriesType, rhsColWrapper) {\n var fields = series.params || series.options.params;\n // Reset current content\n rhsColWrapper.innerHTML = (highcharts_AST_commonjs_highcharts_AST_commonjs2_highcharts_AST_root_Highcharts_AST_default()).emptyHTML;\n // Create title (indicator name in the right column)\n PopupIndicators_createElement('h3', {\n className: 'highcharts-indicator-title'\n }, void 0, rhsColWrapper).appendChild(PopupIndicators_doc.createTextNode(getNameType(series, seriesType).indicatorFullName));\n // Input type\n PopupIndicators_createElement('input', {\n type: 'hidden',\n name: 'highcharts-type-' + seriesType,\n value: seriesType\n }, void 0, rhsColWrapper);\n // List all series with id\n listAllSeries.call(this, seriesType, 'series', chart, rhsColWrapper, series, series.linkedParent && series.linkedParent.options.id);\n if (fields.volumeSeriesID) {\n listAllSeries.call(this, seriesType, 'volume', chart, rhsColWrapper, series, series.linkedParent && fields.volumeSeriesID);\n }\n // Add param fields\n addParamInputs.call(this, chart, 'params', fields, seriesType, rhsColWrapper);\n}\n/**\n * Create HTML list of all indicators (ADD mode) or added indicators\n * (EDIT mode).\n *\n * @private\n *\n * @param {Highcharts.AnnotationChart} chart\n * The chart object.\n *\n * @param {string} [optionName]\n * Name of the option into which selection is being added.\n *\n * @param {HTMLDOMElement} [parentDiv]\n * HTML parent element.\n *\n * @param {string} listType\n * Type of list depending on the selected bookmark.\n * Might be 'add' or 'edit'.\n *\n * @param {string|undefined} filter\n * Applied filter string from the input.\n * For the first iteration, it's an empty string.\n */\nfunction addIndicatorList(chart, parentDiv, listType, filter) {\n /**\n *\n */\n function selectIndicator(series, indicatorType) {\n var button = rhsColWrapper.parentNode\n .children[1];\n PopupIndicators_addFormFields.call(popup, chart, series, indicatorType, rhsColWrapper);\n if (button) {\n button.style.display = 'block';\n }\n // Add hidden input with series.id\n if (isEdit && series.options) {\n PopupIndicators_createElement('input', {\n type: 'hidden',\n name: 'highcharts-id-' + indicatorType,\n value: series.options.id\n }, void 0, rhsColWrapper).setAttribute('highcharts-data-series-id', series.options.id);\n }\n }\n var popup = this, lang = popup.lang, lhsCol = parentDiv.querySelectorAll('.highcharts-popup-lhs-col')[0], rhsCol = parentDiv.querySelectorAll('.highcharts-popup-rhs-col')[0], isEdit = listType === 'edit', series = (isEdit ?\n chart.series : // EDIT mode\n chart.options.plotOptions || {} // ADD mode\n );\n if (!chart && series) {\n return;\n }\n var item,\n filteredSeriesArray = [];\n // Filter and sort the series.\n if (!isEdit && !PopupIndicators_isArray(series)) {\n // Apply filters only for the 'add' indicator list.\n filteredSeriesArray = filterSeries.call(this, series, filter);\n }\n else if (PopupIndicators_isArray(series)) {\n filteredSeriesArray = filterSeriesArray.call(this, series);\n }\n // Sort indicators alphabetically.\n PopupIndicators_stableSort(filteredSeriesArray, function (a, b) {\n var seriesAName = a.indicatorFullName.toLowerCase(),\n seriesBName = b.indicatorFullName.toLowerCase();\n return (seriesAName < seriesBName) ?\n -1 : (seriesAName > seriesBName) ? 1 : 0;\n });\n // If the list exists remove it from the DOM\n // in order to create a new one with different filters.\n if (lhsCol.children[1]) {\n lhsCol.children[1].remove();\n }\n // Create wrapper for list.\n var indicatorList = PopupIndicators_createElement('ul', {\n className: 'highcharts-indicator-list'\n },\n void 0,\n lhsCol);\n var rhsColWrapper = rhsCol.querySelectorAll('.highcharts-popup-rhs-col-wrapper')[0];\n filteredSeriesArray.forEach(function (seriesSet) {\n var indicatorFullName = seriesSet.indicatorFullName,\n indicatorType = seriesSet.indicatorType,\n series = seriesSet.series;\n item = PopupIndicators_createElement('li', {\n className: 'highcharts-indicator-list'\n }, void 0, indicatorList);\n var btn = PopupIndicators_createElement('button', {\n className: 'highcharts-indicator-list-item',\n textContent: indicatorFullName\n },\n void 0,\n item);\n ['click', 'touchstart'].forEach(function (eventName) {\n PopupIndicators_addEvent(btn, eventName, function () {\n selectIndicator(series, indicatorType);\n });\n });\n });\n // Select first item from the list\n if (filteredSeriesArray.length > 0) {\n var _a = filteredSeriesArray[0],\n series_1 = _a.series,\n indicatorType = _a.indicatorType;\n selectIndicator(series_1, indicatorType);\n }\n else if (!isEdit) {\n highcharts_AST_commonjs_highcharts_AST_commonjs2_highcharts_AST_root_Highcharts_AST_default().setElementHTML(rhsColWrapper.parentNode.children[0], lang.noFilterMatch || '');\n rhsColWrapper.parentNode.children[1]\n .style.display = 'none';\n }\n}\n/**\n * Recurrent function which lists all fields, from params object and\n * create them as inputs. Each input has unique `data-name` attribute,\n * which keeps chain of fields i.e params.styles.fontSize.\n * @private\n * @param {Highcharts.Chart} chart\n * Chart\n * @param {string} parentNode\n * Name of parent to create chain of names\n * @param {Highcharts.PopupFieldsDictionary<string>} fields\n * Params which are based for input create\n * @param {string} type\n * Indicator type like: sma, ema, etc.\n * @param {Highcharts.HTMLDOMElement} parentDiv\n * Element where created HTML list is added\n */\nfunction addParamInputs(chart, parentNode, fields, type, parentDiv) {\n var _this = this;\n if (!chart) {\n return;\n }\n var addInput = this.addInput;\n PopupIndicators_objectEach(fields, function (value, fieldName) {\n // Create name like params.styles.fontSize\n var parentFullName = parentNode + '.' + fieldName;\n if (PopupIndicators_defined(value) && // Skip if field is unnecessary, #15362\n parentFullName) {\n if (PopupIndicators_isObject(value)) {\n // (15733) 'Periods' has an arrayed value. Label must be\n // created here.\n addInput.call(_this, parentFullName, type, parentDiv, {});\n addParamInputs.call(_this, chart, parentFullName, value, type, parentDiv);\n }\n // If the option is listed in dropdown enum,\n // add the selection box for it.\n if (parentFullName in DropdownProperties) {\n // Add selection boxes.\n var selectBox = addSelection.call(_this,\n type,\n parentFullName,\n parentDiv);\n // Add possible dropdown options.\n addSelectionOptions.call(_this, chart, parentNode, selectBox, type, fieldName, value);\n }\n else if (\n // Skip volume field which is created by addFormFields.\n parentFullName !== 'params.volumeSeriesID' &&\n !PopupIndicators_isArray(value) // Skip params declared in array.\n ) {\n addInput.call(_this, parentFullName, type, parentDiv, {\n value: value,\n type: 'number'\n } // All inputs are text type\n );\n }\n }\n });\n}\n/**\n * Add searchbox HTML element and its' label.\n *\n * @private\n *\n * @param {Highcharts.AnnotationChart} chart\n * The chart object.\n *\n * @param {HTMLDOMElement} parentDiv\n * HTML parent element.\n */\nfunction addSearchBox(chart, parentDiv) {\n var popup = this, lhsCol = parentDiv.querySelectorAll('.highcharts-popup-lhs-col')[0], options = 'searchIndicators', inputAttributes = {\n value: '',\n type: 'text',\n htmlFor: 'search-indicators',\n labelClassName: 'highcharts-input-search-indicators-label'\n }, clearFilterText = this.lang.clearFilter, inputWrapper = PopupIndicators_createElement('div', {\n className: 'highcharts-input-wrapper'\n }, void 0, lhsCol);\n var handleInputChange = function (inputText) {\n // Apply some filters.\n addIndicatorList.call(popup,\n chart,\n popup.container, 'add',\n inputText);\n };\n // Add input field with the label and button.\n var input = this.addInput(options, 'input', inputWrapper, inputAttributes), button = PopupIndicators_createElement('a', {\n textContent: clearFilterText\n }, void 0, inputWrapper);\n input.classList.add('highcharts-input-search-indicators');\n button.classList.add('clear-filter-button');\n // Add input change events.\n PopupIndicators_addEvent(input, 'input', function () {\n handleInputChange(this.value);\n // Show clear filter button.\n if (this.value.length) {\n button.style.display = 'inline-block';\n }\n else {\n button.style.display = 'none';\n }\n });\n // Add clear filter click event.\n ['click', 'touchstart'].forEach(function (eventName) {\n PopupIndicators_addEvent(button, eventName, function () {\n // Clear the input.\n input.value = '';\n handleInputChange('');\n // Hide clear filter button- no longer necessary.\n button.style.display = 'none';\n });\n });\n}\n/**\n * Add selection HTML element and its' label.\n *\n * @private\n *\n * @param {string} indicatorType\n * Type of the indicator i.e. sma, ema...\n *\n * @param {string} [optionName]\n * Name of the option into which selection is being added.\n *\n * @param {HTMLDOMElement} [parentDiv]\n * HTML parent element.\n */\nfunction addSelection(indicatorType, optionName, parentDiv) {\n var optionParamList = optionName.split('.'), labelText = optionParamList[optionParamList.length - 1], selectName = 'highcharts-' + optionName + '-type-' + indicatorType, lang = this.lang;\n // Add a label for the selection box.\n PopupIndicators_createElement('label', {\n htmlFor: selectName\n }, null, parentDiv).appendChild(PopupIndicators_doc.createTextNode(lang[labelText] || optionName));\n // Create a selection box.\n var selectBox = PopupIndicators_createElement('select', {\n name: selectName,\n className: 'highcharts-popup-field',\n id: 'highcharts-select-' + optionName\n },\n null,\n parentDiv);\n selectBox.setAttribute('id', 'highcharts-select-' + optionName);\n return selectBox;\n}\n/**\n * Get and add selection options.\n *\n * @private\n *\n * @param {Highcharts.AnnotationChart} chart\n * The chart object.\n *\n * @param {string} [optionName]\n * Name of the option into which selection is being added.\n *\n * @param {HTMLSelectElement} [selectBox]\n * HTML select box element to which the options are being added.\n *\n * @param {string|undefined} indicatorType\n * Type of the indicator i.e. sma, ema...\n *\n * @param {string|undefined} parameterName\n * Name of the parameter which should be applied.\n *\n * @param {string|undefined} selectedOption\n * Default value in dropdown.\n */\nfunction addSelectionOptions(chart, optionName, selectBox, indicatorType, parameterName, selectedOption, currentSeries) {\n // Get and apply selection options for the possible series.\n if (optionName === 'series' || optionName === 'volume') {\n // List all series which have id - mandatory for indicator.\n chart.series.forEach(function (series) {\n var seriesOptions = series.options,\n seriesName = seriesOptions.name ||\n seriesOptions.params ?\n series.name :\n seriesOptions.id || '';\n if (seriesOptions.id !== 'highcharts-navigator-series' &&\n seriesOptions.id !== (currentSeries &&\n currentSeries.options &&\n currentSeries.options.id)) {\n if (!PopupIndicators_defined(selectedOption) &&\n optionName === 'volume' &&\n series.type === 'column') {\n selectedOption = seriesOptions.id;\n }\n PopupIndicators_createElement('option', {\n value: seriesOptions.id\n }, void 0, selectBox).appendChild(PopupIndicators_doc.createTextNode(seriesName));\n }\n });\n }\n else if (indicatorType && parameterName) {\n // Get and apply options for the possible parameters.\n var dropdownKey = parameterName + '-' + indicatorType,\n parameterOption = dropdownParameters[dropdownKey];\n parameterOption.forEach(function (element) {\n PopupIndicators_createElement('option', {\n value: element\n }, void 0, selectBox).appendChild(PopupIndicators_doc.createTextNode(element));\n });\n }\n // Add the default dropdown value if defined.\n if (PopupIndicators_defined(selectedOption)) {\n selectBox.value = selectedOption;\n }\n}\n/**\n * Filter object of series which are not indicators.\n * If the filter string exists, check against it.\n *\n * @private\n *\n * @param {Highcharts.FilteredSeries} series\n * All series are available in the plotOptions.\n *\n * @param {string|undefined} filter\n * Applied filter string from the input.\n * For the first iteration, it's an empty string.\n *\n * @return {Array<Highcharts.FilteredSeries>} filteredSeriesArray\n * Returns array of filtered series based on filter string.\n */\nfunction filterSeries(series, filter) {\n var popup = this,\n lang = popup.chart && popup.chart.options.lang,\n indicatorAliases = lang &&\n lang.navigation &&\n lang.navigation.popup &&\n lang.navigation.popup.indicatorAliases,\n filteredSeriesArray = [];\n var filteredSeries;\n PopupIndicators_objectEach(series, function (series, value) {\n var seriesOptions = series && series.options;\n // Allow only indicators.\n if (series.params || seriesOptions &&\n seriesOptions.params) {\n var _a = getNameType(series,\n value),\n indicatorFullName = _a.indicatorFullName,\n indicatorType = _a.indicatorType;\n if (filter) {\n // Replace invalid characters.\n var validFilter = filter.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n var regex = new RegExp(validFilter, 'i'),\n alias = indicatorAliases &&\n indicatorAliases[indicatorType] &&\n indicatorAliases[indicatorType].join(' ') || '';\n if (indicatorFullName.match(regex) ||\n alias.match(regex)) {\n filteredSeries = {\n indicatorFullName: indicatorFullName,\n indicatorType: indicatorType,\n series: series\n };\n filteredSeriesArray.push(filteredSeries);\n }\n }\n else {\n filteredSeries = {\n indicatorFullName: indicatorFullName,\n indicatorType: indicatorType,\n series: series\n };\n filteredSeriesArray.push(filteredSeries);\n }\n }\n });\n return filteredSeriesArray;\n}\n/**\n * Filter an array of series and map its names and types.\n *\n * @private\n *\n * @param {Highcharts.FilteredSeries} series\n * All series that are available in the plotOptions.\n *\n * @return {Array<Highcharts.FilteredSeries>} filteredSeriesArray\n * Returns array of filtered series based on filter string.\n */\nfunction filterSeriesArray(series) {\n var filteredSeriesArray = [];\n // Allow only indicators.\n series.forEach(function (series) {\n if (series.is('sma')) {\n filteredSeriesArray.push({\n indicatorFullName: series.name,\n indicatorType: series.type,\n series: series\n });\n }\n });\n return filteredSeriesArray;\n}\n/**\n * Get amount of indicators added to chart.\n * @private\n * @return {number} - Amount of indicators\n */\nfunction getAmount() {\n var counter = 0;\n this.series.forEach(function (serie) {\n if (serie.params ||\n serie.options.params) {\n counter++;\n }\n });\n return counter;\n}\n/**\n * Extract full name and type of requested indicator.\n *\n * @private\n *\n * @param {Highcharts.Series} series\n * Series which name is needed(EDITmode - defaultOptions.series,\n * ADDmode - indicator series).\n *\n * @param {string} [indicatorType]\n * Type of the indicator i.e. sma, ema...\n *\n * @return {Highcharts.Dictionary<string>}\n * Full name and series type.\n */\nfunction getNameType(series, indicatorType) {\n var options = series.options;\n // Add mode\n var seriesName = (seriesTypes[indicatorType] &&\n seriesTypes[indicatorType].prototype.nameBase) ||\n indicatorType.toUpperCase(),\n seriesType = indicatorType;\n // Edit\n if (options && options.type) {\n seriesType = series.options.type;\n seriesName = series.name;\n }\n return {\n indicatorFullName: seriesName,\n indicatorType: seriesType\n };\n}\n/**\n * Create the selection box for the series,\n * add options and apply the default one.\n *\n * @private\n *\n * @param {string} indicatorType\n * Type of the indicator i.e. sma, ema...\n *\n * @param {string} [optionName]\n * Name of the option into which selection is being added.\n *\n * @param {Highcharts.AnnotationChart} chart\n * The chart object.\n *\n * @param {HTMLDOMElement} [parentDiv]\n * HTML parent element.\n *\n * @param {string|undefined} selectedOption\n * Default value in dropdown.\n */\nfunction listAllSeries(indicatorType, optionName, chart, parentDiv, currentSeries, selectedOption) {\n var popup = this;\n // Won't work without the chart.\n if (!chart) {\n return;\n }\n // Add selection boxes.\n var selectBox = addSelection.call(popup,\n indicatorType,\n optionName,\n parentDiv);\n // Add possible dropdown options.\n addSelectionOptions.call(popup, chart, optionName, selectBox, void 0, void 0, void 0, currentSeries);\n // Add the default dropdown value if defined.\n if (PopupIndicators_defined(selectedOption)) {\n selectBox.value = selectedOption;\n }\n}\n/* *\n *\n * Default Export\n *\n * */\nvar PopupIndicators = {\n addForm: PopupIndicators_addForm,\n getAmount: getAmount\n};\n/* harmony default export */ var Popup_PopupIndicators = (PopupIndicators);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Popup/PopupTabs.js\n/* *\n *\n * Popup generator for Stock tools\n *\n * (c) 2009-2024 Sebastian Bochan\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar PopupTabs_doc = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).doc;\n\nvar PopupTabs_addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, PopupTabs_createElement = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).createElement;\n/* *\n *\n * Functions\n *\n * */\n/**\n * Create tab content\n * @private\n * @return {HTMLDOMElement} - created HTML tab-content element\n */\nfunction addContentItem() {\n var popupDiv = this.container;\n return PopupTabs_createElement('div', {\n // #12100\n className: 'highcharts-tab-item-content highcharts-no-mousewheel'\n }, void 0, popupDiv);\n}\n/**\n * Create tab menu item\n * @private\n * @param {string} tabName\n * `add` or `edit`\n * @param {number} [disableTab]\n * Disable tab when 0\n * @return {Highcharts.HTMLDOMElement}\n * Created HTML tab-menu element\n */\nfunction addMenuItem(tabName, disableTab) {\n var popupDiv = this.container,\n lang = this.lang;\n var className = 'highcharts-tab-item';\n if (disableTab === 0) {\n className += ' highcharts-tab-disabled';\n }\n // Tab 1\n var menuItem = PopupTabs_createElement('button', {\n className: className\n },\n void 0,\n popupDiv);\n menuItem.appendChild(PopupTabs_doc.createTextNode(lang[tabName + 'Button'] || tabName));\n menuItem.setAttribute('highcharts-data-tab-type', tabName);\n return menuItem;\n}\n/**\n * Set all tabs as invisible.\n * @private\n */\nfunction deselectAll() {\n var popupDiv = this.container,\n tabs = popupDiv\n .querySelectorAll('.highcharts-tab-item'),\n tabsContent = popupDiv\n .querySelectorAll('.highcharts-tab-item-content');\n for (var i = 0; i < tabs.length; i++) {\n tabs[i].classList.remove('highcharts-tab-item-active');\n tabsContent[i].classList.remove('highcharts-tab-item-show');\n }\n}\n/**\n * Init tabs. Create tab menu items, tabs containers\n * @private\n * @param {Highcharts.Chart} chart\n * Reference to current chart\n */\nfunction init(chart) {\n if (!chart) {\n return;\n }\n var indicatorsCount = this.indicators.getAmount.call(chart);\n // Create menu items\n var firstTab = addMenuItem.call(this, 'add'); // Run by default\n addMenuItem.call(this, 'edit',\n indicatorsCount);\n // Create tabs containers\n addContentItem.call(this);\n addContentItem.call(this);\n switchTabs.call(this, indicatorsCount);\n // Activate first tab\n selectTab.call(this, firstTab, 0);\n}\n/**\n * Set tab as visible\n * @private\n * @param {globals.Element} - current tab\n * @param {number} - Index of tab in menu\n */\nfunction selectTab(tab, index) {\n var allTabs = this.container\n .querySelectorAll('.highcharts-tab-item-content');\n tab.className += ' highcharts-tab-item-active';\n allTabs[index].className += ' highcharts-tab-item-show';\n}\n/**\n * Add click event to each tab\n * @private\n * @param {number} disableTab\n * Disable tab when 0\n */\nfunction switchTabs(disableTab) {\n var popup = this,\n popupDiv = this.container,\n tabs = popupDiv.querySelectorAll('.highcharts-tab-item');\n tabs.forEach(function (tab, i) {\n if (disableTab === 0 &&\n tab.getAttribute('highcharts-data-tab-type') === 'edit') {\n return;\n }\n ['click', 'touchstart'].forEach(function (eventName) {\n PopupTabs_addEvent(tab, eventName, function () {\n // Reset class on other elements\n deselectAll.call(popup);\n selectTab.call(popup, this, i);\n });\n });\n });\n}\n/* *\n *\n * Default Export\n *\n * */\nvar PopupTabs = {\n init: init\n};\n/* harmony default export */ var Popup_PopupTabs = (PopupTabs);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Popup/Popup.js\n/* *\n *\n * Popup generator for Stock tools\n *\n * (c) 2009-2024 Sebastian Bochan\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar Popup_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\nvar Popup_doc = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).doc;\n\nvar getOptions = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).getOptions;\n\n\n\n\nvar Popup_addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, Popup_createElement = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).createElement, Popup_extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend, Popup_fireEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).fireEvent, Popup_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick;\n/* *\n *\n * Functions\n *\n * */\n/**\n * Get values from all inputs and selections then create JSON.\n *\n * @private\n *\n * @param {Highcharts.HTMLDOMElement} parentDiv\n * The container where inputs and selections are created.\n *\n * @param {string} type\n * Type of the popup bookmark (add|edit|remove).\n */\nfunction getFields(parentDiv, type) {\n var inputList = Array.prototype.slice.call(parentDiv.querySelectorAll('input')), selectList = Array.prototype.slice.call(parentDiv.querySelectorAll('select')), optionSeries = '#highcharts-select-series > option:checked', optionVolume = '#highcharts-select-volume > option:checked', linkedTo = parentDiv.querySelectorAll(optionSeries)[0], volumeTo = parentDiv.querySelectorAll(optionVolume)[0];\n var fieldsOutput = {\n actionType: type,\n linkedTo: linkedTo && linkedTo.getAttribute('value') || '',\n fields: {}\n };\n inputList.forEach(function (input) {\n var param = input.getAttribute('highcharts-data-name'), seriesId = input.getAttribute('highcharts-data-series-id');\n // Params\n if (seriesId) {\n fieldsOutput.seriesId = input.value;\n }\n else if (param) {\n fieldsOutput.fields[param] = input.value;\n }\n else {\n // Type like sma / ema\n fieldsOutput.type = input.value;\n }\n });\n selectList.forEach(function (select) {\n var id = select.id;\n // Get inputs only for the parameters, not for series and volume.\n if (id !== 'highcharts-select-series' &&\n id !== 'highcharts-select-volume') {\n var parameter = id.split('highcharts-select-')[1];\n fieldsOutput.fields[parameter] = select.value;\n }\n });\n if (volumeTo) {\n fieldsOutput.fields['params.volumeSeriesID'] = volumeTo\n .getAttribute('value') || '';\n }\n return fieldsOutput;\n}\n/* *\n *\n * Class\n *\n * */\nvar Popup = /** @class */ (function (_super) {\n Popup_extends(Popup, _super);\n /* *\n *\n * Constructor\n *\n * */\n function Popup(parentDiv, iconsURL, chart) {\n var _this = _super.call(this,\n parentDiv,\n iconsURL) || this;\n _this.chart = chart;\n _this.lang = (getOptions().lang.navigation || {}).popup || {};\n Popup_addEvent(_this.container, 'mousedown', function () {\n var activeAnnotation = chart &&\n chart.navigationBindings &&\n chart.navigationBindings.activeAnnotation;\n if (activeAnnotation) {\n activeAnnotation.cancelClick = true;\n var unbind_1 = Popup_addEvent(Popup_doc, 'click',\n function () {\n setTimeout(function () {\n activeAnnotation.cancelClick = false;\n }, 0);\n unbind_1();\n });\n }\n });\n return _this;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Create input with label.\n *\n * @private\n *\n * @param {string} option\n * Chain of fields i.e params.styles.fontSize separated by the dot.\n *\n * @param {string} indicatorType\n * Type of the indicator i.e. sma, ema...\n *\n * @param {HTMLDOMElement} parentDiv\n * HTML parent element.\n *\n * @param {Highcharts.InputAttributes} inputAttributes\n * Attributes of the input.\n *\n * @return {HTMLInputElement}\n * Return created input element.\n */\n Popup.prototype.addInput = function (option, indicatorType, parentDiv, inputAttributes) {\n var optionParamList = option.split('.'), optionName = optionParamList[optionParamList.length - 1], lang = this.lang, inputName = 'highcharts-' + indicatorType + '-' + Popup_pick(inputAttributes.htmlFor, optionName);\n if (!optionName.match(/^\\d+$/)) {\n // Add label\n Popup_createElement('label', {\n htmlFor: inputName,\n className: inputAttributes.labelClassName\n }, void 0, parentDiv).appendChild(Popup_doc.createTextNode(lang[optionName] || optionName));\n }\n // Add input\n var input = Popup_createElement('input', {\n name: inputName,\n value: inputAttributes.value,\n type: inputAttributes.type,\n className: 'highcharts-popup-field'\n },\n void 0,\n parentDiv);\n input.setAttribute('highcharts-data-name', option);\n return input;\n };\n Popup.prototype.closeButtonEvents = function () {\n if (this.chart) {\n var navigationBindings = this.chart.navigationBindings;\n Popup_fireEvent(navigationBindings, 'closePopup');\n if (navigationBindings &&\n navigationBindings.selectedButtonElement) {\n Popup_fireEvent(navigationBindings, 'deselectButton', { button: navigationBindings.selectedButtonElement });\n }\n }\n else {\n _super.prototype.closeButtonEvents.call(this);\n }\n };\n /**\n * Create button.\n * @private\n * @param {Highcharts.HTMLDOMElement} parentDiv\n * Container where elements should be added\n * @param {string} label\n * Text placed as button label\n * @param {string} type\n * add | edit | remove\n * @param {Function} callback\n * On click callback\n * @param {Highcharts.HTMLDOMElement} fieldsDiv\n * Container where inputs are generated\n * @return {Highcharts.HTMLDOMElement}\n * HTML button\n */\n Popup.prototype.addButton = function (parentDiv, label, type, fieldsDiv, callback) {\n var _this = this;\n var button = Popup_createElement('button',\n void 0,\n void 0,\n parentDiv);\n button.appendChild(Popup_doc.createTextNode(label));\n if (callback) {\n ['click', 'touchstart'].forEach(function (eventName) {\n Popup_addEvent(button, eventName, function () {\n _this.closePopup();\n return callback(getFields(fieldsDiv, type));\n });\n });\n }\n return button;\n };\n /**\n * Create content and show popup.\n * @private\n * @param {string} - type of popup i.e indicators\n * @param {Highcharts.Chart} - chart\n * @param {Highcharts.AnnotationsOptions} - options\n * @param {Function} - on click callback\n */\n Popup.prototype.showForm = function (type, chart, options, callback) {\n if (!chart) {\n return;\n }\n // Show blank popup\n this.showPopup();\n // Indicator form\n if (type === 'indicators') {\n this.indicators.addForm.call(this, chart, options, callback);\n }\n // Annotation small toolbar\n if (type === 'annotation-toolbar') {\n this.annotations.addToolbar.call(this, chart, options, callback);\n }\n // Annotation edit form\n if (type === 'annotation-edit') {\n this.annotations.addForm.call(this, chart, options, callback);\n }\n // Flags form - add / edit\n if (type === 'flag') {\n this.annotations.addForm.call(this, chart, options, callback, true);\n }\n this.type = type;\n // Explicit height is needed to make inner elements scrollable\n this.container.style.height = this.container.offsetHeight + 'px';\n };\n return Popup;\n}(Shared_BaseForm));\nPopup_extend(Popup.prototype, {\n annotations: Popup_PopupAnnotations,\n indicators: Popup_PopupIndicators,\n tabs: Popup_PopupTabs\n});\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Popup_Popup = (Popup);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Popup/PopupComposition.js\n/* *\n *\n * Popup generator for Stock tools\n *\n * (c) 2009-2024 Sebastian Bochan\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar composed = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).composed;\n\n\nvar PopupComposition_addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, pushUnique = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pushUnique, PopupComposition_wrap = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).wrap;\n/* *\n *\n * Functions\n *\n * */\n/**\n * @private\n */\nfunction compose(NagivationBindingsClass, PointerClass) {\n if (pushUnique(composed, 'Popup')) {\n PopupComposition_addEvent(NagivationBindingsClass, 'closePopup', onNavigationBindingsClosePopup);\n PopupComposition_addEvent(NagivationBindingsClass, 'showPopup', onNavigationBindingsShowPopup);\n PopupComposition_wrap(PointerClass.prototype, 'onContainerMouseDown', wrapPointerOnContainerMouserDown);\n }\n}\n/**\n * @private\n */\nfunction onNavigationBindingsClosePopup() {\n if (this.popup) {\n this.popup.closePopup();\n }\n}\n/**\n * @private\n */\nfunction onNavigationBindingsShowPopup(config) {\n if (!this.popup) {\n // Add popup to main container\n this.popup = new Popup_Popup(this.chart.container, (this.chart.options.navigation.iconsURL ||\n (this.chart.options.stockTools &&\n this.chart.options.stockTools.gui.iconsURL) ||\n 'https://code.highcharts.com/12.1.2/gfx/stock-icons/'), this.chart);\n }\n this.popup.showForm(config.formType, this.chart, config.options, config.onSubmit);\n}\n/**\n * `onContainerMouseDown` blocks internal popup events, due to e.preventDefault.\n * Related issue #4606\n * @private\n */\nfunction wrapPointerOnContainerMouserDown(proceed, e) {\n // Elements is not in popup\n if (!this.inClass(e.target, 'highcharts-popup')) {\n proceed.apply(this, Array.prototype.slice.call(arguments, 1));\n }\n}\n/* *\n *\n * Default Export\n *\n * */\nvar PopupComposition = {\n compose: compose\n};\n/* harmony default export */ var Popup_PopupComposition = (PopupComposition);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Annotation.js\n/* *\n *\n * (c) 2009-2024 Highsoft, Black Label\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar Annotation_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\nvar getDeferredAnimation = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).getDeferredAnimation;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar destroyObjectProperties = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).destroyObjectProperties, Annotation_erase = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).erase, Annotation_fireEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).fireEvent, Annotation_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, Annotation_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick, splat = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).splat;\n/* *\n *\n * Functions\n *\n * */\n/**\n * Hide or show annotation attached to points.\n * @private\n */\nfunction adjustVisibility(item) {\n var label = item.graphic,\n hasVisiblePoints = item.points.some(function (point) { return (point.series.visible !== false &&\n point.visible !== false); });\n if (label) {\n if (!hasVisiblePoints) {\n label.hide();\n }\n else if (label.visibility === 'hidden') {\n label.show();\n }\n }\n}\n/**\n * @private\n */\nfunction getLabelsAndShapesOptions(baseOptions, newOptions) {\n var mergedOptions = {};\n ['labels', 'shapes'].forEach(function (name) {\n var someBaseOptions = baseOptions[name],\n newOptionsValue = newOptions[name];\n if (someBaseOptions) {\n if (newOptionsValue) {\n mergedOptions[name] = splat(newOptionsValue).map(function (basicOptions, i) {\n return Annotation_merge(someBaseOptions[i], basicOptions);\n });\n }\n else {\n mergedOptions[name] = baseOptions[name];\n }\n }\n });\n return mergedOptions;\n}\n/* *\n *\n * Class\n *\n * */\n/**\n * An annotation class which serves as a container for items like labels or\n * shapes. Created items are positioned on the chart either by linking them to\n * existing points or created mock points\n *\n * @requires modules/annotations\n *\n * @class\n * @name Highcharts.Annotation\n *\n * @param {Highcharts.Chart} chart\n * A chart instance\n * @param {Highcharts.AnnotationsOptions} userOptions\n * The annotation options\n */\nvar Annotation = /** @class */ (function (_super) {\n Annotation_extends(Annotation, _super);\n /* *\n *\n * Constructors\n *\n * */\n function Annotation(chart, userOptions) {\n var _this = _super.call(this) || this;\n _this.coll = 'annotations';\n /**\n * The chart that the annotation belongs to.\n *\n * @name Highcharts.Annotation#chart\n * @type {Highcharts.Chart}\n */\n _this.chart = chart;\n /**\n * The array of points which defines the annotation.\n * @private\n * @name Highcharts.Annotation#points\n * @type {Array<Highcharts.Point>}\n */\n _this.points = [];\n /**\n * The array of control points.\n * @private\n * @name Highcharts.Annotation#controlPoints\n * @type {Array<Annotation.ControlPoint>}\n */\n _this.controlPoints = [];\n _this.coll = 'annotations';\n _this.index = -1;\n /**\n * The array of labels which belong to the annotation.\n * @private\n * @name Highcharts.Annotation#labels\n * @type {Array<Highcharts.AnnotationLabelType>}\n */\n _this.labels = [];\n /**\n * The array of shapes which belong to the annotation.\n * @private\n * @name Highcharts.Annotation#shapes\n * @type {Array<Highcharts.AnnotationShapeType>}\n */\n _this.shapes = [];\n /**\n * The options for the annotations.\n *\n * @name Highcharts.Annotation#options\n * @type {Highcharts.AnnotationsOptions}\n */\n _this.options = Annotation_merge(_this.defaultOptions, userOptions);\n /**\n * The user options for the annotations.\n *\n * @name Highcharts.Annotation#userOptions\n * @type {Highcharts.AnnotationsOptions}\n */\n _this.userOptions = userOptions;\n // Handle labels and shapes - those are arrays\n // Merging does not work with arrays (stores reference)\n var labelsAndShapes = getLabelsAndShapesOptions(_this.options,\n userOptions);\n _this.options.labels = labelsAndShapes.labels;\n _this.options.shapes = labelsAndShapes.shapes;\n /**\n * The callback that reports to the overlapping-labels module which\n * labels it should account for.\n * @private\n * @name Highcharts.Annotation#labelCollector\n * @type {Function}\n */\n /**\n * The group svg element.\n *\n * @name Highcharts.Annotation#group\n * @type {Highcharts.SVGElement}\n */\n /**\n * The group svg element of the annotation's shapes.\n *\n * @name Highcharts.Annotation#shapesGroup\n * @type {Highcharts.SVGElement}\n */\n /**\n * The group svg element of the annotation's labels.\n *\n * @name Highcharts.Annotation#labelsGroup\n * @type {Highcharts.SVGElement}\n */\n _this.init(chart, _this.options);\n return _this;\n }\n /* *\n *\n * Static Functions\n *\n * */\n /**\n * @private\n */\n Annotation.compose = function (ChartClass, NavigationBindingsClass, PointerClass, SVGRendererClass) {\n Annotations_AnnotationChart.compose(Annotation, ChartClass, PointerClass);\n Controllables_ControllableLabel.compose(SVGRendererClass);\n Controllables_ControllablePath.compose(ChartClass, SVGRendererClass);\n NavigationBindingsClass.compose(Annotation, ChartClass);\n Popup_PopupComposition.compose(NavigationBindingsClass, PointerClass);\n };\n /* *\n *\n * Functions\n *\n * */\n /**\n * @private\n */\n Annotation.prototype.addClipPaths = function () {\n this.setClipAxes();\n if (this.clipXAxis &&\n this.clipYAxis &&\n this.options.crop // #15399\n ) {\n this.clipRect = this.chart.renderer.clipRect(this.getClipBox());\n }\n };\n /**\n * @private\n */\n Annotation.prototype.addLabels = function () {\n var _this = this;\n var labelsOptions = (this.options.labels || []);\n labelsOptions.forEach(function (labelOptions, i) {\n var label = _this.initLabel(labelOptions,\n i);\n Annotation_merge(true, labelsOptions[i], label.options);\n });\n };\n /**\n * @private\n */\n Annotation.prototype.addShapes = function () {\n var _this = this;\n var shapes = this.options.shapes || [];\n shapes.forEach(function (shapeOptions, i) {\n var shape = _this.initShape(shapeOptions,\n i);\n Annotation_merge(true, shapes[i], shape.options);\n });\n };\n /**\n * Destroy the annotation. This function does not touch the chart\n * that the annotation belongs to (all annotations are kept in\n * the chart.annotations array) - it is recommended to use\n * {@link Highcharts.Chart#removeAnnotation} instead.\n * @private\n */\n Annotation.prototype.destroy = function () {\n var chart = this.chart,\n destroyItem = function (item) {\n item.destroy();\n };\n this.labels.forEach(destroyItem);\n this.shapes.forEach(destroyItem);\n this.clipXAxis = null;\n this.clipYAxis = null;\n Annotation_erase(chart.labelCollectors, this.labelCollector);\n _super.prototype.destroy.call(this);\n this.destroyControlTarget();\n destroyObjectProperties(this, chart);\n };\n /**\n * Destroy a single item.\n * @private\n */\n Annotation.prototype.destroyItem = function (item) {\n // Erase from shapes or labels array\n Annotation_erase(this[item.itemType + 's'], item);\n item.destroy();\n };\n /**\n * @private\n */\n Annotation.prototype.getClipBox = function () {\n if (this.clipXAxis && this.clipYAxis) {\n return {\n x: this.clipXAxis.left,\n y: this.clipYAxis.top,\n width: this.clipXAxis.width,\n height: this.clipYAxis.height\n };\n }\n };\n /**\n * Initialize the annotation properties.\n * @private\n */\n Annotation.prototype.initProperties = function (chart, userOptions) {\n this.setOptions(userOptions);\n var labelsAndShapes = getLabelsAndShapesOptions(this.options,\n userOptions);\n this.options.labels = labelsAndShapes.labels;\n this.options.shapes = labelsAndShapes.shapes;\n this.chart = chart;\n this.points = [];\n this.controlPoints = [];\n this.coll = 'annotations';\n this.userOptions = userOptions;\n this.labels = [];\n this.shapes = [];\n };\n /**\n * Initialize the annotation.\n * @private\n */\n Annotation.prototype.init = function (_annotationOrChart, _userOptions, index) {\n if (index === void 0) { index = this.index; }\n var chart = this.chart,\n animOptions = this.options.animation;\n this.index = index;\n this.linkPoints();\n this.addControlPoints();\n this.addShapes();\n this.addLabels();\n this.setLabelCollector();\n this.animationConfig = getDeferredAnimation(chart, animOptions);\n };\n /**\n * Initialisation of a single label\n * @private\n */\n Annotation.prototype.initLabel = function (labelOptions, index) {\n var options = Annotation_merge(this.options.labelOptions, {\n controlPointOptions: this.options.controlPointOptions\n },\n labelOptions),\n label = new Controllables_ControllableLabel(this,\n options,\n index);\n label.itemType = 'label';\n this.labels.push(label);\n return label;\n };\n /**\n * Initialisation of a single shape\n * @private\n * @param {Object} shapeOptions\n * a config object for a single shape\n * @param {number} index\n * annotation may have many shapes, this is the shape's index saved in\n * shapes.index.\n */\n Annotation.prototype.initShape = function (shapeOptions, index) {\n var options = Annotation_merge(this.options.shapeOptions, {\n controlPointOptions: this.options.controlPointOptions\n },\n shapeOptions),\n shape = new (Annotation.shapesMap[options.type])(this,\n options,\n index);\n shape.itemType = 'shape';\n this.shapes.push(shape);\n return shape;\n };\n /**\n * @private\n */\n Annotation.prototype.redraw = function (animation) {\n this.linkPoints();\n if (!this.graphic) {\n this.render();\n }\n if (this.clipRect) {\n this.clipRect.animate(this.getClipBox());\n }\n this.redrawItems(this.shapes, animation);\n this.redrawItems(this.labels, animation);\n this.redrawControlPoints(animation);\n };\n /**\n * Redraw a single item.\n * @private\n */\n Annotation.prototype.redrawItem = function (item, animation) {\n item.linkPoints();\n if (!item.shouldBeDrawn()) {\n this.destroyItem(item);\n }\n else {\n if (!item.graphic) {\n this.renderItem(item);\n }\n item.redraw(Annotation_pick(animation, true) && item.graphic.placed);\n if (item.points.length) {\n adjustVisibility(item);\n }\n }\n };\n /**\n * @private\n */\n Annotation.prototype.redrawItems = function (items, animation) {\n var i = items.length;\n // Needs a backward loop. Labels/shapes array might be modified due to\n // destruction of the item\n while (i--) {\n this.redrawItem(items[i], animation);\n }\n };\n /**\n * See {@link Highcharts.Chart#removeAnnotation}.\n * @private\n */\n Annotation.prototype.remove = function () {\n // Let chart.update() remove annotations on demand\n return this.chart.removeAnnotation(this);\n };\n /**\n * @private\n */\n Annotation.prototype.render = function () {\n var renderer = this.chart.renderer;\n this.graphic = renderer\n .g('annotation')\n .attr({\n opacity: 0,\n zIndex: this.options.zIndex,\n visibility: this.options.visible ?\n 'inherit' :\n 'hidden'\n })\n .add();\n this.shapesGroup = renderer\n .g('annotation-shapes')\n .add(this.graphic);\n if (this.options.crop) { // #15399\n this.shapesGroup.clip(this.chart.plotBoxClip);\n }\n this.labelsGroup = renderer\n .g('annotation-labels')\n .attr({\n // `hideOverlappingLabels` requires translation\n translateX: 0,\n translateY: 0\n })\n .add(this.graphic);\n this.addClipPaths();\n if (this.clipRect) {\n this.graphic.clip(this.clipRect);\n }\n // Render shapes and labels before adding events (#13070).\n this.renderItems(this.shapes);\n this.renderItems(this.labels);\n this.addEvents();\n this.renderControlPoints();\n };\n /**\n * @private\n */\n Annotation.prototype.renderItem = function (item) {\n item.render(item.itemType === 'label' ?\n this.labelsGroup :\n this.shapesGroup);\n };\n /**\n * @private\n */\n Annotation.prototype.renderItems = function (items) {\n var i = items.length;\n while (i--) {\n this.renderItem(items[i]);\n }\n };\n /**\n * @private\n */\n Annotation.prototype.setClipAxes = function () {\n var xAxes = this.chart.xAxis,\n yAxes = this.chart.yAxis,\n linkedAxes = (this.options.labels || [])\n .concat(this.options.shapes || [])\n .reduce(function (axes,\n labelOrShape) {\n var point = labelOrShape &&\n (labelOrShape.point ||\n (labelOrShape.points && labelOrShape.points[0]));\n return [\n xAxes[point && point.xAxis] || axes[0],\n yAxes[point && point.yAxis] || axes[1]\n ];\n }, []);\n this.clipXAxis = linkedAxes[0];\n this.clipYAxis = linkedAxes[1];\n };\n /**\n * @private\n */\n Annotation.prototype.setControlPointsVisibility = function (visible) {\n var setItemControlPointsVisibility = function (item) {\n item.setControlPointsVisibility(visible);\n };\n this.controlPoints.forEach(function (controlPoint) {\n controlPoint.setVisibility(visible);\n });\n this.shapes.forEach(setItemControlPointsVisibility);\n this.labels.forEach(setItemControlPointsVisibility);\n };\n /**\n * @private\n */\n Annotation.prototype.setLabelCollector = function () {\n var annotation = this;\n annotation.labelCollector = function () {\n return annotation.labels.reduce(function (labels, label) {\n if (!label.options.allowOverlap) {\n labels.push(label.graphic);\n }\n return labels;\n }, []);\n };\n annotation.chart.labelCollectors.push(annotation.labelCollector);\n };\n /**\n * Set an annotation options.\n * @private\n * @param {Highcharts.AnnotationsOptions} userOptions\n * User options for an annotation\n */\n Annotation.prototype.setOptions = function (userOptions) {\n this.options = Annotation_merge(this.defaultOptions, userOptions);\n };\n /**\n * Set the annotation's visibility.\n * @private\n * @param {boolean} [visible]\n * Whether to show or hide an annotation. If the param is omitted, the\n * annotation's visibility is toggled.\n */\n Annotation.prototype.setVisibility = function (visible) {\n var options = this.options,\n navigation = this.chart.navigationBindings,\n visibility = Annotation_pick(visible, !options.visible);\n this.graphic.attr('visibility', visibility ? 'inherit' : 'hidden');\n if (!visibility) {\n var setItemControlPointsVisibility = function (item) {\n item.setControlPointsVisibility(visibility);\n };\n this.shapes.forEach(setItemControlPointsVisibility);\n this.labels.forEach(setItemControlPointsVisibility);\n if (navigation.activeAnnotation === this &&\n navigation.popup &&\n navigation.popup.type === 'annotation-toolbar') {\n Annotation_fireEvent(navigation, 'closePopup');\n }\n }\n options.visible = visibility;\n };\n /**\n * Updates an annotation.\n *\n * @function Highcharts.Annotation#update\n *\n * @param {Partial<Highcharts.AnnotationsOptions>} userOptions\n * New user options for the annotation.\n *\n */\n Annotation.prototype.update = function (userOptions, redraw) {\n var chart = this.chart,\n labelsAndShapes = getLabelsAndShapesOptions(this.userOptions,\n userOptions),\n userOptionsIndex = chart.annotations.indexOf(this),\n options = Annotation_merge(true,\n this.userOptions,\n userOptions);\n options.labels = labelsAndShapes.labels;\n options.shapes = labelsAndShapes.shapes;\n this.destroy();\n this.initProperties(chart, options);\n this.init(chart, options);\n // Update options in chart options, used in exporting (#9767, #21507):\n chart.options.annotations[userOptionsIndex] = this.options;\n this.isUpdating = true;\n if (Annotation_pick(redraw, true)) {\n chart.drawAnnotations();\n }\n Annotation_fireEvent(this, 'afterUpdate');\n this.isUpdating = false;\n };\n /* *\n *\n * Static Properties\n *\n * */\n /**\n * @private\n */\n Annotation.ControlPoint = Annotations_ControlPoint;\n /**\n * @private\n */\n Annotation.MockPoint = Annotations_MockPoint;\n /**\n * An object uses for mapping between a shape type and a constructor.\n * To add a new shape type extend this object with type name as a key\n * and a constructor as its value.\n *\n * @private\n */\n Annotation.shapesMap = {\n 'rect': Controllables_ControllableRect,\n 'circle': Controllables_ControllableCircle,\n 'ellipse': Controllables_ControllableEllipse,\n 'path': Controllables_ControllablePath,\n 'image': Controllables_ControllableImage\n };\n /**\n * @private\n */\n Annotation.types = {};\n return Annotation;\n}(Annotations_EventEmitter));\nAnnotation.prototype.defaultOptions = Annotations_AnnotationDefaults;\n/**\n * List of events for `annotation.options.events` that should not be\n * added to `annotation.graphic` but to the `annotation`.\n *\n * @private\n * @type {Array<string>}\n */\nAnnotation.prototype.nonDOMEvents = ['add', 'afterUpdate', 'drag', 'remove'];\nAnnotations_ControlTarget.compose(Annotation);\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Annotations_Annotation = (Annotation);\n/* *\n *\n * API Declarations\n *\n * */\n/**\n * Possible directions for draggable annotations. An empty string (`''`)\n * makes the annotation undraggable.\n *\n * @typedef {''|'x'|'xy'|'y'} Highcharts.AnnotationDraggableValue\n * @requires modules/annotations\n */\n/**\n * @private\n * @typedef {\n * Highcharts.AnnotationControllableCircle|\n * Highcharts.AnnotationControllableImage|\n * Highcharts.AnnotationControllablePath|\n * Highcharts.AnnotationControllableRect\n * } Highcharts.AnnotationShapeType\n * @requires modules/annotations\n */\n/**\n * @private\n * @typedef {\n * Highcharts.AnnotationControllableLabel\n * } Highcharts.AnnotationLabelType\n * @requires modules/annotations\n */\n/**\n * A point-like object, a mock point or a point used in series.\n * @private\n * @typedef {\n * Highcharts.AnnotationMockPoint|\n * Highcharts.Point\n * } Highcharts.AnnotationPointType\n * @requires modules/annotations\n */\n/**\n * Shape point as string, object or function.\n *\n * @typedef {\n * string|\n * Highcharts.AnnotationMockPointOptionsObject|\n * Highcharts.AnnotationMockPointFunction\n * } Highcharts.AnnotationShapePointOptions\n */\n(''); // Keeps doclets above in JS file\n\n;// ./code/es5/es-modules/Core/Chart/ChartNavigationComposition.js\n/**\n *\n * (c) 2010-2024 Paweł Fus\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n/* *\n *\n * Composition\n *\n * */\nvar ChartNavigationComposition;\n(function (ChartNavigationComposition) {\n /* *\n *\n * Declarations\n *\n * */\n /* *\n *\n * Functions\n *\n * */\n /* eslint-disable valid-jsdoc */\n /**\n * @private\n */\n function compose(chart) {\n if (!chart.navigation) {\n chart.navigation = new Additions(chart);\n }\n return chart;\n }\n ChartNavigationComposition.compose = compose;\n /* *\n *\n * Class\n *\n * */\n /**\n * Initializes `chart.navigation` object which delegates `update()` methods\n * to all other common classes (used in exporting and navigationBindings).\n * @private\n */\n var Additions = /** @class */ (function () {\n /* *\n *\n * Constructor\n *\n * */\n function Additions(chart) {\n this.updates = [];\n this.chart = chart;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Registers an `update()` method in the `chart.navigation` object.\n *\n * @private\n * @param {UpdateFunction} updateFn\n * The `update()` method that will be called in `chart.update()`.\n */\n Additions.prototype.addUpdate = function (updateFn) {\n this.chart.navigation.updates.push(updateFn);\n };\n /**\n * @private\n */\n Additions.prototype.update = function (options, redraw) {\n var _this = this;\n this.updates.forEach(function (updateFn) {\n updateFn.call(_this.chart, options, redraw);\n });\n };\n return Additions;\n }());\n ChartNavigationComposition.Additions = Additions;\n})(ChartNavigationComposition || (ChartNavigationComposition = {}));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Chart_ChartNavigationComposition = (ChartNavigationComposition);\n\n;// ./code/es5/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js\n/* *\n *\n * (c) 2009-2024 Highsoft, Black Label\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar NavigationBindingsUtilities_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, NavigationBindingsUtilities_isNumber = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isNumber, NavigationBindingsUtilities_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick;\n/* *\n *\n * Constants\n *\n * */\n/**\n * Define types for editable fields per annotation. There is no need to define\n * numbers, because they won't change their type to string.\n * @private\n */\nvar annotationsFieldsTypes = {\n backgroundColor: 'string',\n borderColor: 'string',\n borderRadius: 'string',\n color: 'string',\n fill: 'string',\n fontSize: 'string',\n labels: 'string',\n name: 'string',\n stroke: 'string',\n title: 'string'\n};\n/* *\n *\n * Functions\n *\n * */\n/**\n * Returns the first xAxis or yAxis that was clicked with its value.\n *\n * @private\n *\n * @param {Array<Highcharts.PointerAxisCoordinateObject>} coords\n * All the chart's x or y axes with a current pointer's axis value.\n *\n * @return {Highcharts.PointerAxisCoordinateObject}\n * Object with a first found axis and its value that pointer\n * is currently pointing.\n */\nfunction getAssignedAxis(coords) {\n return coords.filter(function (coord) {\n var extremes = coord.axis.getExtremes(),\n axisMin = extremes.min,\n axisMax = extremes.max, \n // Correct axis edges when axis has series\n // with pointRange (like column)\n minPointOffset = NavigationBindingsUtilities_pick(coord.axis.minPointOffset, 0);\n return NavigationBindingsUtilities_isNumber(axisMin) && NavigationBindingsUtilities_isNumber(axisMax) &&\n coord.value >= (axisMin - minPointOffset) &&\n coord.value <= (axisMax + minPointOffset) &&\n // Don't count navigator axis\n !coord.axis.options.isInternal;\n })[0]; // If the axes overlap, return the first axis that was found.\n}\n/**\n * Get field type according to value\n *\n * @private\n *\n * @param {'boolean'|'number'|'string'} value\n * Atomic type (one of: string, number, boolean)\n *\n * @return {'checkbox'|'number'|'text'}\n * Field type (one of: text, number, checkbox)\n */\nfunction getFieldType(key, value) {\n var predefinedType = annotationsFieldsTypes[key];\n var fieldType = typeof value;\n if (NavigationBindingsUtilities_defined(predefinedType)) {\n fieldType = predefinedType;\n }\n return {\n 'string': 'text',\n 'number': 'number',\n 'boolean': 'checkbox'\n }[fieldType];\n}\n/* *\n *\n * Default Export\n *\n * */\nvar NavigationBindingUtilities = {\n annotationsFieldsTypes: annotationsFieldsTypes,\n getAssignedAxis: getAssignedAxis,\n getFieldType: getFieldType\n};\n/* harmony default export */ var NavigationBindingsUtilities = (NavigationBindingUtilities);\n\n;// ./code/es5/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js\n/* *\n *\n * (c) 2009-2024 Highsoft, Black Label\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar NavigationBindingsDefaults_getAssignedAxis = NavigationBindingsUtilities.getAssignedAxis;\n\nvar NavigationBindingsDefaults_isNumber = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isNumber, NavigationBindingsDefaults_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Constants\n *\n * */\n/**\n * @optionparent lang\n */\nvar lang = {\n /**\n * Configure the Popup strings in the chart. Requires the\n * `annotations.js` or `annotations-advanced.src.js` module to be\n * loaded.\n * @since 7.0.0\n * @product highcharts highstock\n */\n navigation: {\n /**\n * Translations for all field names used in popup.\n *\n * @product highcharts highstock\n */\n popup: {\n simpleShapes: 'Simple shapes',\n lines: 'Lines',\n circle: 'Circle',\n ellipse: 'Ellipse',\n rectangle: 'Rectangle',\n label: 'Label',\n shapeOptions: 'Shape options',\n typeOptions: 'Details',\n fill: 'Fill',\n format: 'Text',\n strokeWidth: 'Line width',\n stroke: 'Line color',\n title: 'Title',\n name: 'Name',\n labelOptions: 'Label options',\n labels: 'Labels',\n backgroundColor: 'Background color',\n backgroundColors: 'Background colors',\n borderColor: 'Border color',\n borderRadius: 'Border radius',\n borderWidth: 'Border width',\n style: 'Style',\n padding: 'Padding',\n fontSize: 'Font size',\n color: 'Color',\n height: 'Height',\n shapes: 'Shape options'\n }\n }\n};\n/**\n * @optionparent navigation\n * @product highcharts highstock\n */\nvar navigation = {\n /**\n * A CSS class name where all bindings will be attached to. Multiple\n * charts on the same page should have separate class names to prevent\n * duplicating events.\n *\n * Default value of versions < 7.0.4 `highcharts-bindings-wrapper`\n *\n * @since 7.0.0\n * @type {string}\n */\n bindingsClassName: 'highcharts-bindings-container',\n /**\n * Bindings definitions for custom HTML buttons. Each binding implements\n * simple event-driven interface:\n *\n * - `className`: classname used to bind event to\n *\n * - `init`: initial event, fired on button click\n *\n * - `start`: fired on first click on a chart\n *\n * - `steps`: array of sequential events fired one after another on each\n * of users clicks\n *\n * - `end`: last event to be called after last step event\n *\n * @type {Highcharts.Dictionary<Highcharts.NavigationBindingsOptionsObject>|*}\n *\n * @sample {highstock} stock/stocktools/stocktools-thresholds\n * Custom bindings\n * @sample {highcharts} highcharts/annotations/bindings/\n * Simple binding\n * @sample {highcharts} highcharts/annotations/bindings-custom-annotation/\n * Custom annotation binding\n *\n * @since 7.0.0\n * @requires modules/annotations\n * @product highcharts highstock\n */\n bindings: {\n /**\n * A circle annotation bindings. Includes `start` and one event in\n * `steps` array.\n *\n * @type {Highcharts.NavigationBindingsOptionsObject}\n * @default {\"className\": \"highcharts-circle-annotation\", \"start\": function() {}, \"steps\": [function() {}], \"annotationsOptions\": {}}\n */\n circleAnnotation: {\n /** @ignore-option */\n className: 'highcharts-circle-annotation',\n /** @ignore-option */\n start: function (e) {\n var _a;\n var coords = (_a = this.chart.pointer) === null || _a === void 0 ? void 0 : _a.getCoordinates(e),\n coordsX = coords && NavigationBindingsDefaults_getAssignedAxis(coords.xAxis),\n coordsY = coords && NavigationBindingsDefaults_getAssignedAxis(coords.yAxis),\n navigation = this.chart.options.navigation;\n // Exit if clicked out of axes area\n if (!coordsX || !coordsY) {\n return;\n }\n return this.chart.addAnnotation(NavigationBindingsDefaults_merge({\n langKey: 'circle',\n type: 'basicAnnotation',\n shapes: [{\n type: 'circle',\n point: {\n x: coordsX.value,\n y: coordsY.value,\n xAxis: coordsX.axis.index,\n yAxis: coordsY.axis.index\n },\n r: 5\n }]\n }, navigation.annotationsOptions, navigation.bindings.circleAnnotation\n .annotationsOptions));\n },\n /** @ignore-option */\n steps: [\n function (e, annotation) {\n var shapes = annotation.options.shapes,\n mockPointOpts = ((shapes && shapes[0] && shapes[0].point) ||\n {});\n var distance;\n if (NavigationBindingsDefaults_isNumber(mockPointOpts.xAxis) &&\n NavigationBindingsDefaults_isNumber(mockPointOpts.yAxis)) {\n var inverted = this.chart.inverted,\n x = this.chart.xAxis[mockPointOpts.xAxis]\n .toPixels(mockPointOpts.x),\n y = this.chart.yAxis[mockPointOpts.yAxis]\n .toPixels(mockPointOpts.y);\n distance = Math.max(Math.sqrt(Math.pow(inverted ? y - e.chartX : x - e.chartX, 2) +\n Math.pow(inverted ? x - e.chartY : y - e.chartY, 2)), 5);\n }\n annotation.update({\n shapes: [{\n r: distance\n }]\n });\n }\n ]\n },\n /**\n * A ellipse annotation bindings. Includes `start` and two events in\n * `steps` array. First updates the second point, responsible for a\n * rx width, and second updates the ry width.\n *\n * @type {Highcharts.NavigationBindingsOptionsObject}\n * @default {\"className\": \"highcharts-ellipse-annotation\", \"start\": function() {}, \"steps\": [function() {}], \"annotationsOptions\": {}}\n */\n ellipseAnnotation: {\n className: 'highcharts-ellipse-annotation',\n start: function (e) {\n var _a;\n var coords = (_a = this.chart.pointer) === null || _a === void 0 ? void 0 : _a.getCoordinates(e),\n coordsX = coords && NavigationBindingsDefaults_getAssignedAxis(coords.xAxis),\n coordsY = coords && NavigationBindingsDefaults_getAssignedAxis(coords.yAxis),\n navigation = this.chart.options.navigation;\n if (!coordsX || !coordsY) {\n return;\n }\n return this.chart.addAnnotation(NavigationBindingsDefaults_merge({\n langKey: 'ellipse',\n type: 'basicAnnotation',\n shapes: [\n {\n type: 'ellipse',\n xAxis: coordsX.axis.index,\n yAxis: coordsY.axis.index,\n points: [{\n x: coordsX.value,\n y: coordsY.value\n }, {\n x: coordsX.value,\n y: coordsY.value\n }],\n ry: 1\n }\n ]\n }, navigation.annotationsOptions, navigation.bindings.ellipseAnnotation\n .annotationOptions));\n },\n steps: [\n function (e, annotation) {\n var target = annotation.shapes[0],\n position = target.getAbsolutePosition(target.points[1]);\n target.translatePoint(e.chartX - position.x, e.chartY - position.y, 1);\n target.redraw(false);\n },\n function (e, annotation) {\n var target = annotation.shapes[0],\n position = target.getAbsolutePosition(target.points[0]),\n position2 = target.getAbsolutePosition(target.points[1]),\n newR = target.getDistanceFromLine(position,\n position2,\n e.chartX,\n e.chartY),\n yAxis = target.getYAxis(),\n newRY = Math.abs(yAxis.toValue(0) - yAxis.toValue(newR));\n target.setYRadius(newRY);\n target.redraw(false);\n }\n ]\n },\n /**\n * A rectangle annotation bindings. Includes `start` and one event\n * in `steps` array.\n *\n * @type {Highcharts.NavigationBindingsOptionsObject}\n * @default {\"className\": \"highcharts-rectangle-annotation\", \"start\": function() {}, \"steps\": [function() {}], \"annotationsOptions\": {}}\n */\n rectangleAnnotation: {\n /** @ignore-option */\n className: 'highcharts-rectangle-annotation',\n /** @ignore-option */\n start: function (e) {\n var _a;\n var coords = (_a = this.chart.pointer) === null || _a === void 0 ? void 0 : _a.getCoordinates(e),\n coordsX = coords && NavigationBindingsDefaults_getAssignedAxis(coords.xAxis),\n coordsY = coords && NavigationBindingsDefaults_getAssignedAxis(coords.yAxis);\n // Exit if clicked out of axes area\n if (!coordsX || !coordsY) {\n return;\n }\n var x = coordsX.value,\n y = coordsY.value,\n xAxis = coordsX.axis.index,\n yAxis = coordsY.axis.index,\n navigation = this.chart.options.navigation;\n return this.chart.addAnnotation(NavigationBindingsDefaults_merge({\n langKey: 'rectangle',\n type: 'basicAnnotation',\n shapes: [{\n type: 'path',\n points: [\n { xAxis: xAxis, yAxis: yAxis, x: x, y: y },\n { xAxis: xAxis, yAxis: yAxis, x: x, y: y },\n { xAxis: xAxis, yAxis: yAxis, x: x, y: y },\n { xAxis: xAxis, yAxis: yAxis, x: x, y: y },\n { command: 'Z' }\n ]\n }]\n }, navigation\n .annotationsOptions, navigation\n .bindings\n .rectangleAnnotation\n .annotationsOptions));\n },\n /** @ignore-option */\n steps: [\n function (e, annotation) {\n var _a;\n var shapes = annotation.options.shapes,\n points = ((shapes && shapes[0] && shapes[0].points) ||\n []),\n coords = (_a = this.chart.pointer) === null || _a === void 0 ? void 0 : _a.getCoordinates(e),\n coordsX = coords && NavigationBindingsDefaults_getAssignedAxis(coords.xAxis),\n coordsY = coords && NavigationBindingsDefaults_getAssignedAxis(coords.yAxis);\n if (coordsX && coordsY) {\n var x = coordsX.value,\n y = coordsY.value;\n // Top right point\n points[1].x = x;\n // Bottom right point (cursor position)\n points[2].x = x;\n points[2].y = y;\n // Bottom left\n points[3].y = y;\n annotation.update({\n shapes: [{\n points: points\n }]\n });\n }\n }\n ]\n },\n /**\n * A label annotation bindings. Includes `start` event only.\n *\n * @type {Highcharts.NavigationBindingsOptionsObject}\n * @default {\"className\": \"highcharts-label-annotation\", \"start\": function() {}, \"steps\": [function() {}], \"annotationsOptions\": {}}\n */\n labelAnnotation: {\n /** @ignore-option */\n className: 'highcharts-label-annotation',\n /** @ignore-option */\n start: function (e) {\n var _a;\n var coords = (_a = this.chart.pointer) === null || _a === void 0 ? void 0 : _a.getCoordinates(e),\n coordsX = coords && NavigationBindingsDefaults_getAssignedAxis(coords.xAxis),\n coordsY = coords && NavigationBindingsDefaults_getAssignedAxis(coords.yAxis),\n navigation = this.chart.options.navigation;\n // Exit if clicked out of axes area\n if (!coordsX || !coordsY) {\n return;\n }\n return this.chart.addAnnotation(NavigationBindingsDefaults_merge({\n langKey: 'label',\n type: 'basicAnnotation',\n labelOptions: {\n format: '{y:.2f}',\n overflow: 'none',\n crop: true\n },\n labels: [{\n point: {\n xAxis: coordsX.axis.index,\n yAxis: coordsY.axis.index,\n x: coordsX.value,\n y: coordsY.value\n }\n }]\n }, navigation\n .annotationsOptions, navigation\n .bindings\n .labelAnnotation\n .annotationsOptions));\n }\n }\n },\n /**\n * Path where Highcharts will look for icons. Change this to use icons\n * from a different server.\n *\n * @type {string}\n * @default https://code.highcharts.com/12.1.2/gfx/stock-icons/\n * @since 7.1.3\n * @apioption navigation.iconsURL\n */\n /**\n * A `showPopup` event. Fired when selecting for example an annotation.\n *\n * @type {Function}\n * @apioption navigation.events.showPopup\n */\n /**\n * A `closePopup` event. Fired when Popup should be hidden, for example\n * when clicking on an annotation again.\n *\n * @type {Function}\n * @apioption navigation.events.closePopup\n */\n /**\n * Event fired on a button click.\n *\n * @type {Function}\n * @sample highcharts/annotations/gui/\n * Change icon in a dropddown on event\n * @sample highcharts/annotations/gui-buttons/\n * Change button class on event\n * @apioption navigation.events.selectButton\n */\n /**\n * Event fired when button state should change, for example after\n * adding an annotation.\n *\n * @type {Function}\n * @sample highcharts/annotations/gui/\n * Change icon in a dropddown on event\n * @sample highcharts/annotations/gui-buttons/\n * Change button class on event\n * @apioption navigation.events.deselectButton\n */\n /**\n * Events to communicate between Stock Tools and custom GUI.\n *\n * @since 7.0.0\n * @product highcharts highstock\n * @optionparent navigation.events\n */\n events: {},\n /**\n * Additional options to be merged into all annotations.\n *\n * @sample stock/stocktools/navigation-annotation-options\n * Set red color of all line annotations\n *\n * @type {Highcharts.AnnotationsOptions}\n * @extends annotations\n * @exclude crookedLine, elliottWave, fibonacci, infinityLine,\n * measure, pitchfork, tunnel, verticalLine, basicAnnotation\n * @requires modules/annotations\n * @apioption navigation.annotationsOptions\n */\n annotationsOptions: {\n animation: {\n defer: 0\n }\n }\n};\n/* *\n *\n * Default Export\n *\n * */\nvar NavigationBindingDefaults = {\n lang: lang,\n navigation: navigation\n};\n/* harmony default export */ var NavigationBindingsDefaults = (NavigationBindingDefaults);\n\n;// ./code/es5/es-modules/Extensions/Annotations/NavigationBindings.js\n/* *\n *\n * (c) 2009-2024 Highsoft, Black Label\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\n\nvar setOptions = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).setOptions;\n\nvar NavigationBindings_format = (highcharts_Templating_commonjs_highcharts_Templating_commonjs2_highcharts_Templating_root_Highcharts_Templating_default()).format;\n\nvar NavigationBindings_composed = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).composed, NavigationBindings_doc = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).doc, win = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).win;\n\n\nvar NavigationBindings_getAssignedAxis = NavigationBindingsUtilities.getAssignedAxis, NavigationBindings_getFieldType = NavigationBindingsUtilities.getFieldType;\n\nvar NavigationBindings_addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, attr = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).attr, NavigationBindings_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, NavigationBindings_fireEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).fireEvent, NavigationBindings_isArray = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isArray, isFunction = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isFunction, NavigationBindings_isNumber = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isNumber, NavigationBindings_isObject = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isObject, NavigationBindings_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, NavigationBindings_objectEach = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).objectEach, NavigationBindings_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick, NavigationBindings_pushUnique = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pushUnique;\n/* *\n *\n * Functions\n *\n * */\n/**\n * IE 9-11 polyfill for Element.closest():\n * @private\n */\nfunction closestPolyfill(el, s) {\n var ElementProto = win.Element.prototype,\n elementMatches = ElementProto.matches ||\n ElementProto.msMatchesSelector ||\n ElementProto.webkitMatchesSelector;\n var ret = null;\n if (ElementProto.closest) {\n ret = ElementProto.closest.call(el, s);\n }\n else {\n do {\n if (elementMatches.call(el, s)) {\n return el;\n }\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n }\n return ret;\n}\n/**\n * @private\n */\nfunction onAnnotationRemove() {\n if (this.chart.navigationBindings) {\n this.chart.navigationBindings.deselectAnnotation();\n }\n}\n/**\n * @private\n */\nfunction onChartDestroy() {\n if (this.navigationBindings) {\n this.navigationBindings.destroy();\n }\n}\n/**\n * @private\n */\nfunction onChartLoad() {\n var options = this.options;\n if (options && options.navigation && options.navigation.bindings) {\n this.navigationBindings = new NavigationBindings(this, options.navigation);\n this.navigationBindings.initEvents();\n this.navigationBindings.initUpdate();\n }\n}\n/**\n * @private\n */\nfunction onChartRender() {\n var navigationBindings = this.navigationBindings,\n disabledClassName = 'highcharts-disabled-btn';\n if (this && navigationBindings) {\n // Check if the buttons should be enabled/disabled based on\n // visible series.\n var buttonsEnabled_1 = false;\n this.series.forEach(function (series) {\n if (!series.options.isInternal && series.visible) {\n buttonsEnabled_1 = true;\n }\n });\n if (this.navigationBindings &&\n this.navigationBindings.container &&\n this.navigationBindings.container[0]) {\n var container_1 = this.navigationBindings.container[0];\n NavigationBindings_objectEach(navigationBindings.boundClassNames, function (value, key) {\n // Get the HTML element corresponding to the className taken\n // from StockToolsBindings.\n var buttonNode = container_1.querySelectorAll('.' + key);\n if (buttonNode) {\n for (var i = 0; i < buttonNode.length; i++) {\n var button = buttonNode[i],\n cls = button.className;\n if (value.noDataState === 'normal') {\n // If button has noDataState: 'normal', and has\n // disabledClassName, remove this className.\n if (cls.indexOf(disabledClassName) !== -1) {\n button.classList.remove(disabledClassName);\n }\n }\n else if (!buttonsEnabled_1) {\n if (cls.indexOf(disabledClassName) === -1) {\n button.className += ' ' + disabledClassName;\n }\n }\n else {\n // Enable all buttons by deleting the className.\n if (cls.indexOf(disabledClassName) !== -1) {\n button.classList.remove(disabledClassName);\n }\n }\n }\n }\n });\n }\n }\n}\n/**\n * @private\n */\nfunction NavigationBindings_onNavigationBindingsClosePopup() {\n this.deselectAnnotation();\n}\n/**\n * @private\n */\nfunction onNavigationBindingsDeselectButton() {\n this.selectedButtonElement = null;\n}\n/**\n * Show edit-annotation form:\n * @private\n */\nfunction selectableAnnotation(annotationType) {\n var originalClick = annotationType.prototype.defaultOptions.events &&\n annotationType.prototype.defaultOptions.events.click;\n /**\n * Select and show popup\n * @private\n */\n function selectAndShowPopup(eventArguments) {\n var annotation = this,\n navigation = annotation.chart.navigationBindings,\n prevAnnotation = navigation.activeAnnotation;\n if (originalClick) {\n originalClick.call(annotation, eventArguments);\n }\n if (prevAnnotation !== annotation) {\n // Select current:\n navigation.deselectAnnotation();\n navigation.activeAnnotation = annotation;\n annotation.setControlPointsVisibility(true);\n NavigationBindings_fireEvent(navigation, 'showPopup', {\n annotation: annotation,\n formType: 'annotation-toolbar',\n options: navigation.annotationToFields(annotation),\n onSubmit: function (data) {\n if (data.actionType === 'remove') {\n navigation.activeAnnotation = false;\n navigation.chart.removeAnnotation(annotation);\n }\n else {\n var config = {};\n navigation.fieldsToOptions(data.fields, config);\n navigation.deselectAnnotation();\n var typeOptions = config.typeOptions;\n if (annotation.options.type === 'measure') {\n // Manually disable crooshars according to\n // stroke width of the shape:\n typeOptions.crosshairY.enabled = (typeOptions.crosshairY\n .strokeWidth !== 0);\n typeOptions.crosshairX.enabled = (typeOptions.crosshairX\n .strokeWidth !== 0);\n }\n annotation.update(config);\n }\n }\n });\n }\n else {\n // Deselect current:\n NavigationBindings_fireEvent(navigation, 'closePopup');\n }\n // Let bubble event to chart.click:\n eventArguments.activeAnnotation = true;\n }\n // #18276, show popup on touchend, but not on touchmove\n var touchStartX,\n touchStartY;\n /**\n *\n */\n function saveCoords(e) {\n touchStartX = e.touches[0].clientX;\n touchStartY = e.touches[0].clientY;\n }\n /**\n *\n */\n function checkForTouchmove(e) {\n var hasMoved = touchStartX ? Math.sqrt(Math.pow(touchStartX - e.changedTouches[0].clientX, 2) +\n Math.pow(touchStartY - e.changedTouches[0].clientY, 2)) >= 4 : false;\n if (!hasMoved) {\n selectAndShowPopup.call(this, e);\n }\n }\n NavigationBindings_merge(true, annotationType.prototype.defaultOptions.events, {\n click: selectAndShowPopup,\n touchstart: saveCoords,\n touchend: checkForTouchmove\n });\n}\n/* *\n *\n * Class\n *\n * */\n/**\n * @private\n */\nvar NavigationBindings = /** @class */ (function () {\n /* *\n *\n * Constructor\n *\n * */\n function NavigationBindings(chart, options) {\n this.boundClassNames = void 0;\n this.chart = chart;\n this.options = options;\n this.eventsToUnbind = [];\n this.container =\n this.chart.container.getElementsByClassName(this.options.bindingsClassName || '');\n if (!this.container.length) {\n this.container = NavigationBindings_doc.getElementsByClassName(this.options.bindingsClassName || '');\n }\n }\n /* *\n *\n * Static Functions\n *\n * */\n NavigationBindings.compose = function (AnnotationClass, ChartClass) {\n if (NavigationBindings_pushUnique(NavigationBindings_composed, 'NavigationBindings')) {\n NavigationBindings_addEvent(AnnotationClass, 'remove', onAnnotationRemove);\n // Basic shapes:\n selectableAnnotation(AnnotationClass);\n // Advanced annotations:\n NavigationBindings_objectEach(AnnotationClass.types, function (annotationType) {\n selectableAnnotation(annotationType);\n });\n NavigationBindings_addEvent(ChartClass, 'destroy', onChartDestroy);\n NavigationBindings_addEvent(ChartClass, 'load', onChartLoad);\n NavigationBindings_addEvent(ChartClass, 'render', onChartRender);\n NavigationBindings_addEvent(NavigationBindings, 'closePopup', NavigationBindings_onNavigationBindingsClosePopup);\n NavigationBindings_addEvent(NavigationBindings, 'deselectButton', onNavigationBindingsDeselectButton);\n setOptions(NavigationBindingsDefaults);\n }\n };\n /* *\n *\n * Functions\n *\n * */\n NavigationBindings.prototype.getCoords = function (e) {\n var _a;\n var coords = (_a = this.chart.pointer) === null || _a === void 0 ? void 0 : _a.getCoordinates(e);\n return [\n coords && NavigationBindings_getAssignedAxis(coords.xAxis),\n coords && NavigationBindings_getAssignedAxis(coords.yAxis)\n ];\n };\n /**\n * Init all events connected to NavigationBindings.\n *\n * @private\n * @function Highcharts.NavigationBindings#initEvents\n */\n NavigationBindings.prototype.initEvents = function () {\n var navigation = this,\n chart = navigation.chart,\n bindingsContainer = navigation.container,\n options = navigation.options;\n // Shorthand object for getting events for buttons:\n navigation.boundClassNames = {};\n NavigationBindings_objectEach((options.bindings || {}), function (value) {\n navigation.boundClassNames[value.className] = value;\n });\n // Handle multiple containers with the same class names:\n [].forEach.call(bindingsContainer, function (subContainer) {\n navigation.eventsToUnbind.push(NavigationBindings_addEvent(subContainer, 'click', function (event) {\n var bindings = navigation.getButtonEvents(subContainer,\n event);\n if (bindings &&\n (!bindings.button.classList\n .contains('highcharts-disabled-btn'))) {\n navigation.bindingsButtonClick(bindings.button, bindings.events, event);\n }\n }));\n });\n NavigationBindings_objectEach((options.events || {}), function (callback, eventName) {\n if (isFunction(callback)) {\n navigation.eventsToUnbind.push(NavigationBindings_addEvent(navigation, eventName, callback, { passive: false }));\n }\n });\n navigation.eventsToUnbind.push(NavigationBindings_addEvent(chart.container, 'click', function (e) {\n if (!chart.cancelClick &&\n chart.isInsidePlot(e.chartX - chart.plotLeft, e.chartY - chart.plotTop, {\n visiblePlotOnly: true\n })) {\n navigation.bindingsChartClick(this, e);\n }\n }));\n navigation.eventsToUnbind.push(NavigationBindings_addEvent(chart.container, (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isTouchDevice ? 'touchmove' : 'mousemove', function (e) {\n navigation.bindingsContainerMouseMove(this, e);\n }, (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isTouchDevice ? { passive: false } : void 0));\n };\n /**\n * Common chart.update() delegation, shared between bindings and exporting.\n *\n * @private\n * @function Highcharts.NavigationBindings#initUpdate\n */\n NavigationBindings.prototype.initUpdate = function () {\n var navigation = this;\n Chart_ChartNavigationComposition\n .compose(this.chart).navigation\n .addUpdate(function (options) {\n navigation.update(options);\n });\n };\n /**\n * Hook for click on a button, method selects/unselects buttons,\n * then calls `bindings.init` callback.\n *\n * @private\n * @function Highcharts.NavigationBindings#bindingsButtonClick\n *\n * @param {Highcharts.HTMLDOMElement} [button]\n * Clicked button\n *\n * @param {Object} events\n * Events passed down from bindings (`init`, `start`, `step`, `end`)\n *\n * @param {Highcharts.PointerEventObject} clickEvent\n * Browser's click event\n */\n NavigationBindings.prototype.bindingsButtonClick = function (button, events, clickEvent) {\n var navigation = this,\n chart = navigation.chart,\n svgContainer = chart.renderer.boxWrapper;\n var shouldEventBeFired = true;\n if (navigation.selectedButtonElement) {\n if (navigation.selectedButtonElement.classList === button.classList) {\n shouldEventBeFired = false;\n }\n NavigationBindings_fireEvent(navigation, 'deselectButton', { button: navigation.selectedButtonElement });\n if (navigation.nextEvent) {\n // Remove in-progress annotations adders:\n if (navigation.currentUserDetails &&\n navigation.currentUserDetails.coll === 'annotations') {\n chart.removeAnnotation(navigation.currentUserDetails);\n }\n navigation.mouseMoveEvent = navigation.nextEvent = false;\n }\n }\n if (shouldEventBeFired) {\n navigation.selectedButton = events;\n navigation.selectedButtonElement = button;\n NavigationBindings_fireEvent(navigation, 'selectButton', { button: button });\n // Call \"init\" event, for example to open modal window\n if (events.init) {\n events.init.call(navigation, button, clickEvent);\n }\n if (events.start || events.steps) {\n chart.renderer.boxWrapper.addClass('highcharts-draw-mode');\n }\n }\n else {\n chart.stockTools && button.classList.remove('highcharts-active');\n svgContainer.removeClass('highcharts-draw-mode');\n navigation.nextEvent = false;\n navigation.mouseMoveEvent = false;\n navigation.selectedButton = null;\n }\n };\n /**\n * Hook for click on a chart, first click on a chart calls `start` event,\n * then on all subsequent clicks iterate over `steps` array.\n * When finished, calls `end` event.\n *\n * @private\n * @function Highcharts.NavigationBindings#bindingsChartClick\n *\n * @param {Highcharts.Chart} chart\n * Chart that click was performed on.\n *\n * @param {Highcharts.PointerEventObject} clickEvent\n * Browser's click event.\n */\n NavigationBindings.prototype.bindingsChartClick = function (chart, clickEvent) {\n chart = this.chart;\n var navigation = this,\n activeAnnotation = navigation.activeAnnotation,\n selectedButton = navigation.selectedButton,\n svgContainer = chart.renderer.boxWrapper;\n if (activeAnnotation) {\n // Click outside popups, should close them and deselect the\n // annotation\n if (!activeAnnotation.cancelClick && // #15729\n !clickEvent.activeAnnotation &&\n // Element could be removed in the child action, e.g. button\n clickEvent.target.parentNode &&\n // TO DO: Polyfill for IE11?\n !closestPolyfill(clickEvent.target, '.highcharts-popup')) {\n NavigationBindings_fireEvent(navigation, 'closePopup');\n }\n else if (activeAnnotation.cancelClick) {\n // Reset cancelClick after the other event handlers have run\n setTimeout(function () {\n activeAnnotation.cancelClick = false;\n }, 0);\n }\n }\n if (!selectedButton || !selectedButton.start) {\n return;\n }\n if (!navigation.nextEvent) {\n // Call init method:\n navigation.currentUserDetails = selectedButton.start.call(navigation, clickEvent);\n // If steps exists (e.g. Annotations), bind them:\n if (navigation.currentUserDetails && selectedButton.steps) {\n navigation.stepIndex = 0;\n navigation.steps = true;\n navigation.mouseMoveEvent = navigation.nextEvent =\n selectedButton.steps[navigation.stepIndex];\n }\n else {\n NavigationBindings_fireEvent(navigation, 'deselectButton', { button: navigation.selectedButtonElement });\n svgContainer.removeClass('highcharts-draw-mode');\n navigation.steps = false;\n navigation.selectedButton = null;\n // First click is also the last one:\n if (selectedButton.end) {\n selectedButton.end.call(navigation, clickEvent, navigation.currentUserDetails);\n }\n }\n }\n else {\n navigation.nextEvent(clickEvent, navigation.currentUserDetails);\n if (navigation.steps) {\n navigation.stepIndex++;\n if (selectedButton.steps[navigation.stepIndex]) {\n // If we have more steps, bind them one by one:\n navigation.mouseMoveEvent = navigation.nextEvent = selectedButton.steps[navigation.stepIndex];\n }\n else {\n NavigationBindings_fireEvent(navigation, 'deselectButton', { button: navigation.selectedButtonElement });\n svgContainer.removeClass('highcharts-draw-mode');\n // That was the last step, call end():\n if (selectedButton.end) {\n selectedButton.end.call(navigation, clickEvent, navigation.currentUserDetails);\n }\n navigation.nextEvent = false;\n navigation.mouseMoveEvent = false;\n navigation.selectedButton = null;\n }\n }\n }\n };\n /**\n * Hook for mouse move on a chart's container. It calls current step.\n *\n * @private\n * @function Highcharts.NavigationBindings#bindingsContainerMouseMove\n *\n * @param {Highcharts.HTMLDOMElement} container\n * Chart's container.\n *\n * @param {global.Event} moveEvent\n * Browser's move event.\n */\n NavigationBindings.prototype.bindingsContainerMouseMove = function (_container, moveEvent) {\n if (this.mouseMoveEvent) {\n this.mouseMoveEvent(moveEvent, this.currentUserDetails);\n }\n };\n /**\n * Translate fields (e.g. `params.period` or `marker.styles.color`) to\n * Highcharts options object (e.g. `{ params: { period } }`).\n *\n * @private\n * @function Highcharts.NavigationBindings#fieldsToOptions<T>\n *\n * @param {Highcharts.Dictionary<string>} fields\n * Fields from popup form.\n *\n * @param {T} config\n * Default config to be modified.\n *\n * @return {T}\n * Modified config\n */\n NavigationBindings.prototype.fieldsToOptions = function (fields, config) {\n NavigationBindings_objectEach(fields, function (value, field) {\n var parsedValue = parseFloat(value),\n path = field.split('.'),\n pathLength = path.length - 1;\n // If it's a number (not \"format\" options), parse it:\n if (NavigationBindings_isNumber(parsedValue) &&\n !value.match(/px|em/g) &&\n !field.match(/format/g)) {\n value = parsedValue;\n }\n // Remove values like 0\n if (value !== 'undefined') {\n var parent_1 = config;\n path.forEach(function (name, index) {\n if (name !== '__proto__' && name !== 'constructor') {\n var nextName = NavigationBindings_pick(path[index + 1], '');\n if (pathLength === index) {\n // Last index, put value:\n parent_1[name] = value;\n }\n else if (!parent_1[name]) {\n // Create middle property:\n parent_1[name] = nextName.match(/\\d/g) ?\n [] :\n {};\n parent_1 = parent_1[name];\n }\n else {\n // Jump into next property\n parent_1 = parent_1[name];\n }\n }\n });\n }\n });\n return config;\n };\n /**\n * Shorthand method to deselect an annotation.\n *\n * @function Highcharts.NavigationBindings#deselectAnnotation\n */\n NavigationBindings.prototype.deselectAnnotation = function () {\n if (this.activeAnnotation) {\n this.activeAnnotation.setControlPointsVisibility(false);\n this.activeAnnotation = false;\n }\n };\n /**\n * Generates API config for popup in the same format as options for\n * Annotation object.\n *\n * @function Highcharts.NavigationBindings#annotationToFields\n *\n * @param {Highcharts.Annotation} annotation\n * Annotations object\n *\n * @return {Highcharts.Dictionary<string>}\n * Annotation options to be displayed in popup box\n */\n NavigationBindings.prototype.annotationToFields = function (annotation) {\n var options = annotation.options,\n editables = NavigationBindings.annotationsEditable,\n nestedEditables = editables.nestedOptions,\n type = NavigationBindings_pick(options.type,\n options.shapes && options.shapes[0] &&\n options.shapes[0].type,\n options.labels && options.labels[0] &&\n options.labels[0].type, 'label'),\n nonEditables = NavigationBindings.annotationsNonEditable[options.langKey] || [],\n visualOptions = {\n langKey: options.langKey,\n type: type\n };\n /**\n * Nested options traversing. Method goes down to the options and copies\n * allowed options (with values) to new object, which is last parameter:\n * \"parent\".\n *\n * @private\n *\n * @param {*} option\n * Atomic type or object/array\n *\n * @param {string} key\n * Option name, for example \"visible\" or \"x\", \"y\"\n *\n * @param {Object} parentEditables\n * Editables from NavigationBindings.annotationsEditable\n *\n * @param {Object} parent\n * Where new options will be assigned\n */\n function traverse(option, key, parentEditables, parent, parentKey) {\n var nextParent;\n if (parentEditables &&\n NavigationBindings_defined(option) &&\n nonEditables.indexOf(key) === -1 &&\n ((parentEditables.indexOf &&\n parentEditables.indexOf(key)) >= 0 ||\n parentEditables[key] || // Nested array\n parentEditables === true // Simple array\n )) {\n // Roots:\n if (NavigationBindings_isArray(option)) {\n parent[key] = [];\n option.forEach(function (arrayOption, i) {\n if (!NavigationBindings_isObject(arrayOption)) {\n // Simple arrays, e.g. [String, Number, Boolean]\n traverse(arrayOption, 0, nestedEditables[key], parent[key], key);\n }\n else {\n // Advanced arrays, e.g. [Object, Object]\n parent[key][i] = {};\n NavigationBindings_objectEach(arrayOption, function (nestedOption, nestedKey) {\n traverse(nestedOption, nestedKey, nestedEditables[key], parent[key][i], key);\n });\n }\n });\n }\n else if (NavigationBindings_isObject(option)) {\n nextParent = {};\n if (NavigationBindings_isArray(parent)) {\n parent.push(nextParent);\n nextParent[key] = {};\n nextParent = nextParent[key];\n }\n else {\n parent[key] = nextParent;\n }\n NavigationBindings_objectEach(option, function (nestedOption, nestedKey) {\n traverse(nestedOption, nestedKey, key === 0 ?\n parentEditables :\n nestedEditables[key], nextParent, key);\n });\n }\n else {\n // Leaf:\n if (key === 'format') {\n parent[key] = [\n NavigationBindings_format(option, annotation.labels[0].points[0]).toString(),\n 'text'\n ];\n }\n else if (NavigationBindings_isArray(parent)) {\n parent.push([option, NavigationBindings_getFieldType(parentKey, option)]);\n }\n else {\n parent[key] = [option, NavigationBindings_getFieldType(key, option)];\n }\n }\n }\n }\n NavigationBindings_objectEach(options, function (option, key) {\n if (key === 'typeOptions') {\n visualOptions[key] = {};\n NavigationBindings_objectEach(options[key], function (typeOption, typeKey) {\n traverse(typeOption, typeKey, nestedEditables, visualOptions[key], typeKey);\n });\n }\n else {\n traverse(option, key, editables[type], visualOptions, key);\n }\n });\n return visualOptions;\n };\n /**\n * Get all class names for all parents in the element. Iterates until finds\n * main container.\n *\n * @private\n * @function Highcharts.NavigationBindings#getClickedClassNames\n *\n * @param {Highcharts.HTMLDOMElement} container\n * Container that event is bound to.\n *\n * @param {global.Event} event\n * Browser's event.\n *\n * @return {Array<Array<string, Highcharts.HTMLDOMElement>>}\n * Array of class names with corresponding elements\n */\n NavigationBindings.prototype.getClickedClassNames = function (container, event) {\n var element = event.target,\n classNames = [],\n elemClassName;\n while (element && element.tagName) {\n elemClassName = attr(element, 'class');\n if (elemClassName) {\n classNames = classNames.concat(elemClassName\n .split(' ')\n // eslint-disable-next-line no-loop-func\n .map(function (name) { return ([name, element]); }));\n }\n element = element.parentNode;\n if (element === container) {\n return classNames;\n }\n }\n return classNames;\n };\n /**\n * Get events bound to a button. It's a custom event delegation to find all\n * events connected to the element.\n *\n * @private\n * @function Highcharts.NavigationBindings#getButtonEvents\n *\n * @param {Highcharts.HTMLDOMElement} container\n * Container that event is bound to.\n *\n * @param {global.Event} event\n * Browser's event.\n *\n * @return {Object}\n * Object with events (init, start, steps, and end)\n */\n NavigationBindings.prototype.getButtonEvents = function (container, event) {\n var navigation = this,\n classNames = this.getClickedClassNames(container,\n event);\n var bindings;\n classNames.forEach(function (className) {\n if (navigation.boundClassNames[className[0]] && !bindings) {\n bindings = {\n events: navigation.boundClassNames[className[0]],\n button: className[1]\n };\n }\n });\n return bindings;\n };\n /**\n * Bindings are just events, so the whole update process is simply\n * removing old events and adding new ones.\n *\n * @private\n * @function Highcharts.NavigationBindings#update\n */\n NavigationBindings.prototype.update = function (options) {\n this.options = NavigationBindings_merge(true, this.options, options);\n this.removeEvents();\n this.initEvents();\n };\n /**\n * Remove all events created in the navigation.\n *\n * @private\n * @function Highcharts.NavigationBindings#removeEvents\n */\n NavigationBindings.prototype.removeEvents = function () {\n this.eventsToUnbind.forEach(function (unbinder) { return unbinder(); });\n };\n /**\n * @private\n * @function Highcharts.NavigationBindings#destroy\n */\n NavigationBindings.prototype.destroy = function () {\n this.removeEvents();\n };\n /* *\n *\n * Static Properties\n *\n * */\n // Define which options from annotations should show up in edit box:\n NavigationBindings.annotationsEditable = {\n // `typeOptions` are always available\n // Nested and shared options:\n nestedOptions: {\n labelOptions: ['style', 'format', 'backgroundColor'],\n labels: ['style'],\n label: ['style'],\n style: ['fontSize', 'color'],\n background: ['fill', 'strokeWidth', 'stroke'],\n innerBackground: ['fill', 'strokeWidth', 'stroke'],\n outerBackground: ['fill', 'strokeWidth', 'stroke'],\n shapeOptions: ['fill', 'strokeWidth', 'stroke'],\n shapes: ['fill', 'strokeWidth', 'stroke'],\n line: ['strokeWidth', 'stroke'],\n backgroundColors: [true],\n connector: ['fill', 'strokeWidth', 'stroke'],\n crosshairX: ['strokeWidth', 'stroke'],\n crosshairY: ['strokeWidth', 'stroke']\n },\n // Simple shapes:\n circle: ['shapes'],\n ellipse: ['shapes'],\n verticalLine: [],\n label: ['labelOptions'],\n // Measure\n measure: ['background', 'crosshairY', 'crosshairX'],\n // Others:\n fibonacci: [],\n tunnel: ['background', 'line', 'height'],\n pitchfork: ['innerBackground', 'outerBackground'],\n rect: ['shapes'],\n // Crooked lines, elliots, arrows etc:\n crookedLine: [],\n basicAnnotation: ['shapes', 'labelOptions']\n };\n // Define non editable fields per annotation, for example Rectangle inherits\n // options from Measure, but crosshairs are not available\n NavigationBindings.annotationsNonEditable = {\n rectangle: ['crosshairX', 'crosshairY', 'labelOptions'],\n ellipse: ['labelOptions'],\n circle: ['labelOptions']\n };\n return NavigationBindings;\n}());\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Annotations_NavigationBindings = (NavigationBindings);\n/* *\n *\n * API Declarations\n *\n * */\n/**\n * A config object for navigation bindings in annotations.\n *\n * @interface Highcharts.NavigationBindingsOptionsObject\n */ /**\n* ClassName of the element for a binding.\n* @name Highcharts.NavigationBindingsOptionsObject#className\n* @type {string|undefined}\n*/ /**\n* Last event to be fired after last step event.\n* @name Highcharts.NavigationBindingsOptionsObject#end\n* @type {Function|undefined}\n*/ /**\n* Initial event, fired on a button click.\n* @name Highcharts.NavigationBindingsOptionsObject#init\n* @type {Function|undefined}\n*/ /**\n* Event fired on first click on a chart.\n* @name Highcharts.NavigationBindingsOptionsObject#start\n* @type {Function|undefined}\n*/ /**\n* Last event to be fired after last step event. Array of step events to be\n* called sequentially after each user click.\n* @name Highcharts.NavigationBindingsOptionsObject#steps\n* @type {Array<Function>|undefined}\n*/\n(''); // Keeps doclets above in JS file\n\n;// ./code/es5/es-modules/masters/modules/annotations.src.js\n\n\n\n\n\nvar G = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());\nG.Annotation = G.Annotation || Annotations_Annotation;\nG.NavigationBindings = G.NavigationBindings || Annotations_NavigationBindings;\nG.Annotation.compose(G.Chart, G.NavigationBindings, G.Pointer, G.SVGRenderer);\n/* harmony default export */ var annotations_src = ((/* unused pure expression or super */ null && (Highcharts)));\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/BasicAnnotation.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar BasicAnnotation_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar BasicAnnotation_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Class\n *\n * */\nvar BasicAnnotation = /** @class */ (function (_super) {\n BasicAnnotation_extends(BasicAnnotation, _super);\n function BasicAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n BasicAnnotation.prototype.addControlPoints = function () {\n var options = this.options,\n controlPoints = BasicAnnotation.basicControlPoints,\n annotationType = this.basicType,\n optionsGroup = (options.labels ||\n options.shapes ||\n []);\n optionsGroup.forEach(function (group) {\n group.controlPoints = controlPoints[annotationType];\n });\n };\n BasicAnnotation.prototype.init = function () {\n var options = this.options;\n if (options.shapes) {\n delete options.labelOptions;\n var type = options.shapes[0].type;\n options.shapes[0].className =\n (options.shapes[0].className || '') + ' highcharts-basic-shape';\n // The rectangle is rendered as a path, whereas other basic shapes\n // are rendered as their respective SVG shapes.\n if (type && type !== 'path') {\n this.basicType = type;\n }\n else {\n this.basicType = 'rectangle';\n }\n }\n else {\n delete options.shapes;\n this.basicType = 'label';\n }\n _super.prototype.init.apply(this, arguments);\n };\n /* *\n *\n * Static Properties\n *\n * */\n BasicAnnotation.basicControlPoints = {\n label: [{\n symbol: 'triangle-down',\n positioner: function (target) {\n if (!target.graphic.placed) {\n return {\n x: 0,\n y: -9e7\n };\n }\n var xy = Annotations_MockPoint\n .pointToPixels(target.points[0]);\n return {\n x: xy.x - (this.graphic.width || 0) / 2,\n y: xy.y - (this.graphic.height || 0) / 2\n };\n },\n // TRANSLATE POINT/ANCHOR\n events: {\n drag: function (e, target) {\n var xy = this.mouseMoveToTranslation(e);\n target.translatePoint(xy.x, xy.y);\n target.annotation.userOptions.labels[0].point =\n target.options.point;\n target.redraw(false);\n }\n }\n }, {\n symbol: 'square',\n positioner: function (target) {\n if (!target.graphic.placed) {\n return {\n x: 0,\n y: -9e7\n };\n }\n return {\n x: target.graphic.alignAttr.x -\n (this.graphic.width || 0) / 2,\n y: target.graphic.alignAttr.y -\n (this.graphic.height || 0) / 2\n };\n },\n // TRANSLATE POSITION WITHOUT CHANGING THE\n // ANCHOR\n events: {\n drag: function (e, target) {\n var xy = this.mouseMoveToTranslation(e);\n target.translate(xy.x, xy.y);\n target.annotation.userOptions.labels[0].point =\n target.options.point;\n target.redraw(false);\n }\n }\n }],\n rectangle: [{\n positioner: function (annotation) {\n var xy = Annotations_MockPoint\n .pointToPixels(annotation.points[2]);\n return {\n x: xy.x - 4,\n y: xy.y - 4\n };\n },\n events: {\n drag: function (e, target) {\n var _a,\n _b,\n _c;\n var annotation = target.annotation,\n coords = (_a = this.chart.pointer) === null || _a === void 0 ? void 0 : _a.getCoordinates(e),\n points = target.options.points,\n shapes = annotation.userOptions.shapes,\n xAxisIndex = ((_b = annotation.clipXAxis) === null || _b === void 0 ? void 0 : _b.index) || 0,\n yAxisIndex = ((_c = annotation.clipYAxis) === null || _c === void 0 ? void 0 : _c.index) || 0;\n if (coords) {\n var x = coords.xAxis[xAxisIndex].value,\n y = coords.yAxis[yAxisIndex].value;\n // Top right point\n points[1].x = x;\n // Bottom right point (cursor position)\n points[2].x = x;\n points[2].y = y;\n // Bottom left\n points[3].y = y;\n if (shapes && shapes[0]) {\n shapes[0].points = target.options.points;\n }\n }\n annotation.redraw(false);\n }\n }\n }],\n circle: [{\n positioner: function (target) {\n var xy = Annotations_MockPoint.pointToPixels(target.points[0]),\n r = target.options.r;\n return {\n x: xy.x + r * Math.cos(Math.PI / 4) -\n (this.graphic.width || 0) / 2,\n y: xy.y + r * Math.sin(Math.PI / 4) -\n (this.graphic.height || 0) / 2\n };\n },\n events: {\n // TRANSFORM RADIUS ACCORDING TO Y\n // TRANSLATION\n drag: function (e, target) {\n var annotation = target.annotation,\n position = this.mouseMoveToTranslation(e),\n shapes = annotation.userOptions.shapes;\n target.setRadius(Math.max(target.options.r +\n position.y /\n Math.sin(Math.PI / 4), 5));\n if (shapes && shapes[0]) {\n shapes[0].r = target.options.r;\n shapes[0].point = target.options.point;\n }\n target.redraw(false);\n }\n }\n }],\n ellipse: [{\n positioner: function (target) {\n var position = target.getAbsolutePosition(target.points[0]);\n return {\n x: position.x - (this.graphic.width || 0) / 2,\n y: position.y - (this.graphic.height || 0) / 2\n };\n },\n events: {\n drag: function (e, target) {\n var position = target.getAbsolutePosition(target.points[0]);\n target.translatePoint(e.chartX - position.x, e.chartY - position.y, 0);\n target.redraw(false);\n }\n }\n }, {\n positioner: function (target) {\n var position = target.getAbsolutePosition(target.points[1]);\n return {\n x: position.x - (this.graphic.width || 0) / 2,\n y: position.y - (this.graphic.height || 0) / 2\n };\n },\n events: {\n drag: function (e, target) {\n var position = target.getAbsolutePosition(target.points[1]);\n target.translatePoint(e.chartX - position.x, e.chartY - position.y, 1);\n target.redraw(false);\n }\n }\n }, {\n positioner: function (target) {\n var position = target.getAbsolutePosition(target.points[0]),\n position2 = target.getAbsolutePosition(target.points[1]),\n attrs = target.getAttrs(position,\n position2);\n return {\n x: attrs.cx - (this.graphic.width || 0) / 2 +\n attrs.ry * Math.sin((attrs.angle * Math.PI) / 180),\n y: attrs.cy - (this.graphic.height || 0) / 2 -\n attrs.ry * Math.cos((attrs.angle * Math.PI) / 180)\n };\n },\n events: {\n drag: function (e, target) {\n var position = target.getAbsolutePosition(target.points[0]),\n position2 = target.getAbsolutePosition(target.points[1]),\n newR = target.getDistanceFromLine(position,\n position2,\n e.chartX,\n e.chartY),\n yAxis = target.getYAxis(),\n newRY = Math.abs(yAxis.toValue(0) - yAxis.toValue(newR));\n target.setYRadius(newRY);\n target.redraw(false);\n }\n }\n }]\n };\n return BasicAnnotation;\n}(Annotations_Annotation));\nBasicAnnotation.prototype.defaultOptions = BasicAnnotation_merge(Annotations_Annotation.prototype.defaultOptions, {});\nAnnotations_Annotation.types.basicAnnotation = BasicAnnotation;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_BasicAnnotation = ((/* unused pure expression or super */ null && (BasicAnnotation)));\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/CrookedLine.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar CrookedLine_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar CrookedLine_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Class\n *\n * */\nvar CrookedLine = /** @class */ (function (_super) {\n CrookedLine_extends(CrookedLine, _super);\n function CrookedLine() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Overrides default setter to get axes from typeOptions.\n * @private\n */\n CrookedLine.prototype.setClipAxes = function () {\n this.clipXAxis = this.chart.xAxis[this.options.typeOptions.xAxis];\n this.clipYAxis = this.chart.yAxis[this.options.typeOptions.yAxis];\n };\n CrookedLine.prototype.getPointsOptions = function () {\n var typeOptions = this.options.typeOptions;\n return (typeOptions.points || []).map(function (pointOptions) {\n pointOptions.xAxis = typeOptions.xAxis;\n pointOptions.yAxis = typeOptions.yAxis;\n return pointOptions;\n });\n };\n CrookedLine.prototype.getControlPointsOptions = function () {\n return this.getPointsOptions();\n };\n CrookedLine.prototype.addControlPoints = function () {\n this.getControlPointsOptions().forEach(function (pointOptions, i) {\n var controlPoint = new Annotations_ControlPoint(this.chart,\n this,\n CrookedLine_merge(this.options.controlPointOptions,\n pointOptions.controlPoint),\n i);\n this.controlPoints.push(controlPoint);\n pointOptions.controlPoint = controlPoint.options;\n }, this);\n };\n CrookedLine.prototype.addShapes = function () {\n var typeOptions = this.options.typeOptions,\n shape = this.initShape(CrookedLine_merge(typeOptions.line, {\n type: 'path',\n className: 'highcharts-crooked-lines',\n points: this.points.map(function (_point,\n i) { return (function (target) {\n return target.annotation.points[i];\n }); })\n }), 0);\n typeOptions.line = shape.options;\n };\n return CrookedLine;\n}(Annotations_Annotation));\nCrookedLine.prototype.defaultOptions = CrookedLine_merge(Annotations_Annotation.prototype.defaultOptions, \n/**\n * A crooked line annotation.\n *\n * @sample highcharts/annotations-advanced/crooked-line/\n * Crooked line\n *\n * @product highstock\n * @optionparent annotations.crookedLine\n */\n{\n /**\n * @extends annotations.labelOptions\n * @apioption annotations.crookedLine.labelOptions\n */\n /**\n * @extends annotations.shapeOptions\n * @apioption annotations.crookedLine.shapeOptions\n */\n /**\n * Additional options for an annotation with the type.\n */\n typeOptions: {\n /**\n * This number defines which xAxis the point is connected to.\n * It refers to either the axis id or the index of the axis\n * in the xAxis array.\n */\n xAxis: 0,\n /**\n * This number defines which yAxis the point is connected to.\n * It refers to either the axis id or the index of the axis\n * in the xAxis array.\n */\n yAxis: 0,\n /**\n * @type {Array<*>}\n * @apioption annotations.crookedLine.typeOptions.points\n */\n /**\n * The x position of the point.\n *\n * @type {number}\n * @apioption annotations.crookedLine.typeOptions.points.x\n */\n /**\n * The y position of the point.\n *\n * @type {number}\n * @apioption annotations.crookedLine.typeOptions.points.y\n */\n /**\n * @type {number}\n * @excluding positioner, events\n * @apioption annotations.crookedLine.typeOptions.points.controlPoint\n */\n /**\n * Line options.\n *\n * @excluding height, point, points, r, type, width\n */\n line: {\n fill: 'none'\n }\n },\n /**\n * @excluding positioner, events\n */\n controlPointOptions: {\n positioner: function (target) {\n var graphic = this.graphic,\n xy = Annotations_MockPoint.pointToPixels(target.points[this.index]);\n return {\n x: xy.x - (graphic.width || 0) / 2,\n y: xy.y - (graphic.height || 0) / 2\n };\n },\n events: {\n drag: function (e, target) {\n if (target.chart.isInsidePlot(e.chartX - target.chart.plotLeft, e.chartY - target.chart.plotTop, {\n visiblePlotOnly: true\n })) {\n var translation = this.mouseMoveToTranslation(e),\n typeOptions = target.options.typeOptions;\n target.translatePoint(translation.x, translation.y, this.index);\n // Update options:\n typeOptions.points[this.index].x =\n target.points[this.index].x;\n typeOptions.points[this.index].y =\n target.points[this.index].y;\n target.redraw(false);\n }\n }\n }\n }\n});\nAnnotations_Annotation.types.crookedLine = CrookedLine;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_CrookedLine = (CrookedLine);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/ElliottWave.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar ElliottWave_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar ElliottWave_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Class\n *\n * */\nvar ElliottWave = /** @class */ (function (_super) {\n ElliottWave_extends(ElliottWave, _super);\n function ElliottWave() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n ElliottWave.prototype.addLabels = function () {\n var _this = this;\n this.getPointsOptions().forEach(function (point, i) {\n var typeOptions = _this.options.typeOptions,\n label = _this.initLabel(ElliottWave_merge(point.label, {\n text: typeOptions.labels[i],\n point: function (target) {\n return target.annotation.points[i];\n }\n }), false);\n point.label = label.options;\n });\n };\n return ElliottWave;\n}(Types_CrookedLine));\nElliottWave.prototype.defaultOptions = ElliottWave_merge(Types_CrookedLine.prototype.defaultOptions, \n/**\n * An elliott wave annotation.\n *\n * @sample highcharts/annotations-advanced/elliott-wave/\n * Elliott wave\n *\n * @extends annotations.crookedLine\n * @product highstock\n * @optionparent annotations.elliottWave\n */\n{\n typeOptions: {\n /**\n * @extends annotations.crookedLine.labelOptions\n * @apioption annotations.elliottWave.typeOptions.points.label\n */\n /**\n * @ignore-option\n */\n labels: ['(0)', '(A)', '(B)', '(C)', '(D)', '(E)'],\n line: {\n strokeWidth: 1\n }\n },\n labelOptions: {\n align: 'center',\n allowOverlap: true,\n crop: true,\n overflow: 'none',\n type: 'rect',\n backgroundColor: 'none',\n borderWidth: 0,\n y: -5\n }\n});\nAnnotations_Annotation.types.elliottWave = ElliottWave;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_ElliottWave = ((/* unused pure expression or super */ null && (ElliottWave)));\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/Tunnel.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar Tunnel_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\nvar Tunnel_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Functions\n *\n * */\n/**\n * @private\n */\nfunction getSecondCoordinate(p1, p2, x) {\n return (p2.y - p1.y) / (p2.x - p1.x) * (x - p1.x) + p1.y;\n}\n/* *\n *\n * Class\n *\n * */\nvar Tunnel = /** @class */ (function (_super) {\n Tunnel_extends(Tunnel, _super);\n function Tunnel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n Tunnel.prototype.getPointsOptions = function () {\n var pointsOptions = Types_CrookedLine.prototype.getPointsOptions.call(this),\n yAxisIndex = this.options.typeOptions.yAxis || 0,\n yAxis = this.chart.yAxis[yAxisIndex];\n pointsOptions[2] = this.heightPointOptions(pointsOptions[1]);\n pointsOptions[3] = this.heightPointOptions(pointsOptions[0]);\n // In case of log axis, translate the bottom left point again, #16769\n if (yAxis && yAxis.logarithmic) {\n // Get the height in pixels\n var h = yAxis.toPixels(pointsOptions[2].y) -\n yAxis.toPixels(pointsOptions[1].y), \n // Get the pixel position of the last point\n y3 = yAxis.toPixels(pointsOptions[0].y) + h;\n // Set the new value\n pointsOptions[3].y = yAxis.toValue(y3);\n }\n return pointsOptions;\n };\n Tunnel.prototype.getControlPointsOptions = function () {\n return this.getPointsOptions().slice(0, 2);\n };\n Tunnel.prototype.heightPointOptions = function (pointOptions) {\n var heightPointOptions = Tunnel_merge(pointOptions),\n typeOptions = this.options.typeOptions;\n heightPointOptions.y += typeOptions.height;\n return heightPointOptions;\n };\n Tunnel.prototype.addControlPoints = function () {\n Types_CrookedLine.prototype.addControlPoints.call(this);\n var options = this.options,\n typeOptions = options.typeOptions,\n controlPoint = new Annotations_ControlPoint(this.chart,\n this,\n Tunnel_merge(options.controlPointOptions,\n typeOptions.heightControlPoint), 2);\n this.controlPoints.push(controlPoint);\n typeOptions.heightControlPoint = controlPoint.options;\n };\n Tunnel.prototype.addShapes = function () {\n this.addLine();\n this.addBackground();\n };\n Tunnel.prototype.addLine = function () {\n var line = this.initShape(Tunnel_merge(this.options.typeOptions.line, {\n type: 'path',\n points: [\n this.points[0],\n this.points[1],\n function (target) {\n var pointOptions = Annotations_MockPoint.pointToOptions(target.annotation.points[2]);\n pointOptions.command = 'M';\n return pointOptions;\n },\n this.points[3]\n ],\n className: 'highcharts-tunnel-lines'\n }), 0);\n this.options.typeOptions.line = line.options;\n };\n Tunnel.prototype.addBackground = function () {\n var background = this.initShape(Tunnel_merge(this.options.typeOptions.background, {\n type: 'path',\n points: this.points.slice(),\n className: 'highcharts-tunnel-background'\n }), 1);\n this.options.typeOptions.background = background.options;\n };\n /**\n * Translate start or end (\"left\" or \"right\") side of the tunnel.\n * @private\n * @param {number} dx\n * the amount of x translation\n * @param {number} dy\n * the amount of y translation\n * @param {boolean} [end]\n * whether to translate start or end side\n */\n Tunnel.prototype.translateSide = function (dx, dy, end) {\n var topIndex = Number(end),\n bottomIndex = topIndex === 0 ? 3 : 2;\n this.translatePoint(dx, dy, topIndex);\n this.translatePoint(dx, dy, bottomIndex);\n };\n /**\n * Translate height of the tunnel.\n * @private\n * @param {number} dh\n * the amount of height translation\n */\n Tunnel.prototype.translateHeight = function (dh) {\n this.translatePoint(0, dh, 2);\n this.translatePoint(0, dh, 3);\n this.options.typeOptions.height = this.points[3].y -\n this.points[0].y;\n this.userOptions.typeOptions.height = this.options.typeOptions.height;\n };\n return Tunnel;\n}(Types_CrookedLine));\nTunnel.prototype.defaultOptions = Tunnel_merge(Types_CrookedLine.prototype.defaultOptions, \n/**\n * A tunnel annotation.\n *\n * @extends annotations.crookedLine\n * @sample highcharts/annotations-advanced/tunnel/\n * Tunnel\n * @product highstock\n * @optionparent annotations.tunnel\n */\n{\n typeOptions: {\n /**\n * Background options.\n *\n * @type {Object}\n * @excluding height, point, points, r, type, width, markerEnd,\n * markerStart\n */\n background: {\n fill: 'rgba(130, 170, 255, 0.4)',\n strokeWidth: 0\n },\n line: {\n strokeWidth: 1\n },\n /**\n * The height of the annotation in terms of yAxis.\n */\n height: -2,\n /**\n * Options for the control point which controls\n * the annotation's height.\n *\n * @extends annotations.crookedLine.controlPointOptions\n * @excluding positioner, events\n */\n heightControlPoint: {\n positioner: function (target) {\n var startXY = Annotations_MockPoint.pointToPixels(target.points[2]),\n endXY = Annotations_MockPoint.pointToPixels(target.points[3]),\n x = (startXY.x + endXY.x) / 2;\n return {\n x: x - (this.graphic.width || 0) / 2,\n y: getSecondCoordinate(startXY, endXY, x) -\n (this.graphic.height || 0) / 2\n };\n },\n events: {\n drag: function (e, target) {\n if (target.chart.isInsidePlot(e.chartX - target.chart.plotLeft, e.chartY - target.chart.plotTop, {\n visiblePlotOnly: true\n })) {\n target.translateHeight(this.mouseMoveToTranslation(e).y);\n target.redraw(false);\n }\n }\n }\n }\n },\n /**\n * @extends annotations.crookedLine.controlPointOptions\n * @excluding positioner, events\n */\n controlPointOptions: {\n events: {\n drag: function (e, target) {\n if (target.chart.isInsidePlot(e.chartX - target.chart.plotLeft, e.chartY - target.chart.plotTop, {\n visiblePlotOnly: true\n })) {\n var translation = this.mouseMoveToTranslation(e);\n target.translateSide(translation.x, translation.y, !!this.index);\n target.redraw(false);\n }\n }\n }\n }\n});\nAnnotations_Annotation.types.tunnel = Tunnel;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_Tunnel = (Tunnel);\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/InfinityLine.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar InfinityLine_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar InfinityLine_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Class\n *\n * */\nvar InfinityLine = /** @class */ (function (_super) {\n InfinityLine_extends(InfinityLine, _super);\n function InfinityLine() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Static Functions\n *\n * */\n InfinityLine.edgePoint = function (startIndex, endIndex) {\n return function (target) {\n var annotation = target.annotation,\n type = annotation.options.typeOptions.type;\n var points = annotation.points;\n if (type === 'horizontalLine' || type === 'verticalLine') {\n // Horizontal and vertical lines have only one point,\n // make a copy of it:\n points = [\n points[0],\n new Annotations_MockPoint(annotation.chart, points[0].target, {\n // Add 0 or 1 to x or y depending on type\n x: points[0].x + +(type === 'horizontalLine'),\n y: points[0].y + +(type === 'verticalLine'),\n xAxis: points[0].options.xAxis,\n yAxis: points[0].options.yAxis\n })\n ];\n }\n return InfinityLine.findEdgePoint(points[startIndex], points[endIndex]);\n };\n };\n InfinityLine.findEdgeCoordinate = function (firstPoint, secondPoint, xOrY, edgePointFirstCoordinate) {\n var xOrYOpposite = xOrY === 'x' ? 'y' : 'x';\n // Solves equation for x or y\n // y - y1 = (y2 - y1) / (x2 - x1) * (x - x1)\n return ((secondPoint[xOrY] - firstPoint[xOrY]) *\n (edgePointFirstCoordinate - firstPoint[xOrYOpposite]) /\n (secondPoint[xOrYOpposite] - firstPoint[xOrYOpposite]) +\n firstPoint[xOrY]);\n };\n InfinityLine.findEdgePoint = function (firstPoint, secondPoint) {\n var chart = firstPoint.series.chart,\n xAxis = firstPoint.series.xAxis,\n yAxis = secondPoint.series.yAxis,\n firstPointPixels = Annotations_MockPoint.pointToPixels(firstPoint),\n secondPointPixels = Annotations_MockPoint.pointToPixels(secondPoint),\n deltaX = secondPointPixels.x - firstPointPixels.x,\n deltaY = secondPointPixels.y - firstPointPixels.y,\n xAxisMin = xAxis.left,\n xAxisMax = xAxisMin + xAxis.width,\n yAxisMin = yAxis.top,\n yAxisMax = yAxisMin + yAxis.height,\n xLimit = deltaX < 0 ? xAxisMin : xAxisMax,\n yLimit = deltaY < 0 ? yAxisMin : yAxisMax,\n edgePoint = {\n x: deltaX === 0 ? firstPointPixels.x : xLimit,\n y: deltaY === 0 ? firstPointPixels.y : yLimit\n };\n var edgePointX,\n edgePointY,\n swap;\n if (deltaX !== 0 && deltaY !== 0) {\n edgePointY = InfinityLine.findEdgeCoordinate(firstPointPixels, secondPointPixels, 'y', xLimit);\n edgePointX = InfinityLine.findEdgeCoordinate(firstPointPixels, secondPointPixels, 'x', yLimit);\n if (edgePointY >= yAxisMin && edgePointY <= yAxisMax) {\n edgePoint.x = xLimit;\n edgePoint.y = edgePointY;\n }\n else {\n edgePoint.x = edgePointX;\n edgePoint.y = yLimit;\n }\n }\n edgePoint.x -= chart.plotLeft;\n edgePoint.y -= chart.plotTop;\n if (firstPoint.series.chart.inverted) {\n swap = edgePoint.x;\n edgePoint.x = edgePoint.y;\n edgePoint.y = swap;\n }\n return edgePoint;\n };\n /* *\n *\n * Functions\n *\n * */\n InfinityLine.prototype.addShapes = function () {\n var typeOptions = this.options.typeOptions,\n points = [\n this.points[0],\n InfinityLine.endEdgePoint\n ];\n // Be case-insensitive (#15155) e.g.:\n // - line\n // - horizontalLine\n // - verticalLine\n if (typeOptions.type.match(/line/gi)) {\n points[0] = InfinityLine.startEdgePoint;\n }\n var line = this.initShape(InfinityLine_merge(typeOptions.line, {\n type: 'path',\n points: points,\n className: 'highcharts-infinity-lines'\n }), 0);\n typeOptions.line = line.options;\n };\n /* *\n *\n * Static Properties\n *\n * */\n InfinityLine.endEdgePoint = InfinityLine.edgePoint(0, 1);\n InfinityLine.startEdgePoint = InfinityLine.edgePoint(1, 0);\n return InfinityLine;\n}(Types_CrookedLine));\nInfinityLine.prototype.defaultOptions = InfinityLine_merge(Types_CrookedLine.prototype.defaultOptions, {});\nAnnotations_Annotation.types.infinityLine = InfinityLine;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_InfinityLine = (InfinityLine);\n/* *\n *\n * API Declarations\n *\n * */\n/**\n * An infinity line annotation.\n *\n * @sample highcharts/annotations-advanced/infinity-line/\n * Infinity Line\n *\n * @extends annotations.crookedLine\n * @product highstock\n * @apioption annotations.infinityLine\n */\n(''); // Keeps doclets above in transpiled file\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/TimeCycles.js\n/* *\n *\n * Authors: Rafal Sebestjanski and Pawel Lysy\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar TimeCycles_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar TimeCycles_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, TimeCycles_isNumber = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isNumber, TimeCycles_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined;\n/* *\n *\n * Functions\n *\n * */\n/**\n * Function to create start of the path.\n * @param {number} x x position of the TimeCycles\n * @param {number} y y position of the TimeCycles\n * @return {string} path\n */\nfunction getStartingPath(x, y) {\n return ['M', x, y];\n}\n/**\n * Function which generates the path of the halfcircle.\n *\n * @param {number} pixelInterval diameter of the circle in pixels\n * @param {number} numberOfCircles number of cricles\n * @param {number} startX x position of the first circle\n * @param {number} y y position of the bottom of the timeCycles\n * @return {string} path\n *\n */\nfunction getCirclePath(pixelInterval, numberOfCircles, startX, y) {\n var path = [];\n for (var i = 1; i <= numberOfCircles; i++) {\n path.push([\n 'A',\n pixelInterval / 2,\n pixelInterval / 2,\n 0,\n 1,\n 1,\n startX + i * pixelInterval,\n y\n ]);\n }\n return path;\n}\n/* *\n *\n * Class\n *\n * */\nvar TimeCycles = /** @class */ (function (_super) {\n TimeCycles_extends(TimeCycles, _super);\n function TimeCycles() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n TimeCycles.prototype.init = function (annotation, userOptions, index) {\n if (TimeCycles_defined(userOptions.yAxis)) {\n userOptions.points.forEach(function (point) {\n point.yAxis = userOptions.yAxis;\n });\n }\n if (TimeCycles_defined(userOptions.xAxis)) {\n userOptions.points.forEach(function (point) {\n point.xAxis = userOptions.xAxis;\n });\n }\n _super.prototype.init.call(this, annotation, userOptions, index);\n };\n TimeCycles.prototype.setPath = function () {\n this.shapes[0].options.d = this.getPath();\n };\n TimeCycles.prototype.getPath = function () {\n return [getStartingPath(this.startX, this.y)].concat(getCirclePath(this.pixelInterval, this.numberOfCircles, this.startX, this.y));\n };\n TimeCycles.prototype.addShapes = function () {\n var typeOptions = this.options.typeOptions;\n this.setPathProperties();\n var shape = this.initShape(TimeCycles_merge(typeOptions.line, {\n type: 'path',\n d: this.getPath(),\n points: this.options.points,\n className: 'highcharts-timecycles-lines'\n }), 0);\n typeOptions.line = shape.options;\n };\n TimeCycles.prototype.addControlPoints = function () {\n var _this = this;\n var options = this.options,\n typeOptions = options.typeOptions;\n options.controlPointOptions.style.cursor = this.chart.inverted ?\n 'ns-resize' :\n 'ew-resize';\n typeOptions.controlPointOptions.forEach(function (option) {\n var controlPointsOptions = TimeCycles_merge(options.controlPointOptions,\n option);\n var controlPoint = new Annotations_ControlPoint(_this.chart,\n _this,\n controlPointsOptions, 0);\n _this.controlPoints.push(controlPoint);\n });\n };\n TimeCycles.prototype.setPathProperties = function () {\n var options = this.options.typeOptions,\n points = options.points;\n if (!points) {\n return;\n }\n var point1 = points[0],\n point2 = points[1],\n xAxisNumber = options.xAxis || 0,\n yAxisNumber = options.yAxis || 0,\n xAxis = this.chart.xAxis[xAxisNumber],\n yAxis = this.chart.yAxis[yAxisNumber],\n xValue1 = point1.x,\n yValue = point1.y,\n xValue2 = point2.x;\n if (!xValue1 || !xValue2) {\n return;\n }\n var y = TimeCycles_isNumber(yValue) ?\n yAxis.toPixels(yValue) :\n yAxis.top + yAxis.height,\n x = TimeCycles_isNumber(xValue1) ? xAxis.toPixels(xValue1) : xAxis.left,\n x2 = TimeCycles_isNumber(xValue2) ? xAxis.toPixels(xValue2) : xAxis.left + 30,\n xAxisLength = xAxis.len,\n pixelInterval = Math.round(Math.max(Math.abs(x2 - x), 2)), \n // There can be 2 not full circles on the chart, so add 2.\n numberOfCircles = Math.floor(xAxisLength / pixelInterval) + 2, \n // Calculate where the annotation should start drawing relative to\n // first point.\n pixelShift = (Math.floor((x - xAxis.left) / pixelInterval) + 1) * pixelInterval;\n this.startX = x - pixelShift;\n this.y = y;\n this.pixelInterval = pixelInterval;\n this.numberOfCircles = numberOfCircles;\n };\n TimeCycles.prototype.redraw = function (animation) {\n this.setPathProperties();\n this.setPath();\n _super.prototype.redraw.call(this, animation);\n };\n return TimeCycles;\n}(Types_CrookedLine));\nTimeCycles.prototype.defaultOptions = TimeCycles_merge(Types_CrookedLine.prototype.defaultOptions, \n/**\n * The TimeCycles Annotation\n *\n * @sample highcharts/annotations-advanced/time-cycles/\n * Time Cycles annotation\n *\n * @extends annotations.crookedLine\n * @product highstock\n * @exclude labelOptions\n * @optionparent annotations.timeCycles\n */\n{\n typeOptions: {\n /**\n * @exclude y\n * @product highstock\n * @apioption annotations.timeCycles.typeOptions.points\n */\n controlPointOptions: [{\n positioner: function (target) {\n var point = target.points[0],\n position = target.anchor(point).absolutePosition;\n return {\n x: position.x - (this.graphic.width || 0) / 2,\n y: target.y - (this.graphic.height || 0)\n };\n },\n events: {\n drag: function (e, target) {\n var position = target.anchor(target.points[0]).absolutePosition;\n target.translatePoint(e.chartX - position.x, 0, 0);\n target.redraw(false);\n }\n }\n }, {\n positioner: function (target) {\n var point = target.points[1],\n position = target.anchor(point).absolutePosition;\n return {\n x: position.x - (this.graphic.width || 0) / 2,\n y: target.y - (this.graphic.height || 0)\n };\n },\n events: {\n drag: function (e, target) {\n var position = target.anchor(target.points[1]).absolutePosition;\n target.translatePoint(e.chartX - position.x, 0, 1);\n target.redraw(false);\n }\n }\n }]\n }\n});\nAnnotations_Annotation.types.timeCycles = TimeCycles;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_TimeCycles = ((/* unused pure expression or super */ null && (TimeCycles)));\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/Fibonacci.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar Fibonacci_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar Fibonacci_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Functions\n *\n * */\n/**\n * @private\n */\nfunction createPathDGenerator(retracementIndex, isBackground) {\n return function () {\n var annotation = this.annotation;\n if (!annotation.startRetracements || !annotation.endRetracements) {\n return [];\n }\n var leftTop = this.anchor(annotation.startRetracements[retracementIndex]).absolutePosition,\n rightTop = this.anchor(annotation.endRetracements[retracementIndex]).absolutePosition,\n d = [\n ['M',\n Math.round(leftTop.x),\n Math.round(leftTop.y)],\n ['L',\n Math.round(rightTop.x),\n Math.round(rightTop.y)]\n ];\n if (isBackground) {\n var rightBottom = this.anchor(annotation.endRetracements[retracementIndex - 1]).absolutePosition;\n var leftBottom = this.anchor(annotation.startRetracements[retracementIndex - 1]).absolutePosition;\n d.push(['L', Math.round(rightBottom.x), Math.round(rightBottom.y)], ['L', Math.round(leftBottom.x), Math.round(leftBottom.y)]);\n }\n return d;\n };\n}\n/* *\n *\n * Class\n *\n * */\nvar Fibonacci = /** @class */ (function (_super) {\n Fibonacci_extends(Fibonacci, _super);\n function Fibonacci() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n Fibonacci.prototype.linkPoints = function () {\n _super.prototype.linkPoints.call(this);\n this.linkRetracementsPoints();\n return;\n };\n Fibonacci.prototype.linkRetracementsPoints = function () {\n var _this = this;\n var points = this.points,\n startDiff = points[0].y - points[3].y,\n endDiff = points[1].y - points[2].y,\n startX = points[0].x,\n endX = points[1].x;\n Fibonacci.levels.forEach(function (level, i) {\n var startRetracement = points[0].y - startDiff * level,\n endRetracement = points[1].y - endDiff * level,\n index = _this.options.typeOptions.reversed ?\n (Fibonacci.levels.length - i - 1) : i;\n _this.startRetracements = _this.startRetracements || [];\n _this.endRetracements = _this.endRetracements || [];\n _this.linkRetracementPoint(index, startX, startRetracement, _this.startRetracements);\n _this.linkRetracementPoint(index, endX, endRetracement, _this.endRetracements);\n });\n };\n Fibonacci.prototype.linkRetracementPoint = function (pointIndex, x, y, retracements) {\n var point = retracements[pointIndex],\n typeOptions = this.options.typeOptions;\n if (!point) {\n retracements[pointIndex] = new Annotations_MockPoint(this.chart, this, {\n x: x,\n y: y,\n xAxis: typeOptions.xAxis,\n yAxis: typeOptions.yAxis\n });\n }\n else {\n point.options.x = x;\n point.options.y = y;\n point.refresh();\n }\n };\n Fibonacci.prototype.addShapes = function () {\n Fibonacci.levels.forEach(function (_level, i) {\n var _a = this.options.typeOptions,\n backgroundColors = _a.backgroundColors,\n lineColor = _a.lineColor,\n lineColors = _a.lineColors;\n this.initShape({\n type: 'path',\n d: createPathDGenerator(i),\n stroke: lineColors[i] || lineColor,\n className: 'highcharts-fibonacci-line'\n }, i);\n if (i > 0) {\n this.initShape({\n type: 'path',\n fill: backgroundColors[i - 1],\n strokeWidth: 0,\n d: createPathDGenerator(i, true),\n className: 'highcharts-fibonacci-background-' + (i - 1)\n });\n }\n }, this);\n };\n Fibonacci.prototype.addLabels = function () {\n Fibonacci.levels.forEach(function (level, i) {\n var options = this.options.typeOptions,\n label = this.initLabel(Fibonacci_merge(options.labels[i], {\n point: function (target) {\n var point = Annotations_MockPoint.pointToOptions(target.annotation.startRetracements[i]);\n return point;\n },\n text: level.toString()\n }));\n options.labels[i] = label.options;\n }, this);\n };\n /* *\n *\n * Static Properties\n *\n * */\n Fibonacci.levels = [0, 0.236, 0.382, 0.5, 0.618, 0.786, 1];\n return Fibonacci;\n}(Types_Tunnel));\nFibonacci.prototype.defaultOptions = Fibonacci_merge(Types_Tunnel.prototype.defaultOptions, \n/**\n * A fibonacci annotation.\n *\n * @sample highcharts/annotations-advanced/fibonacci/\n * Fibonacci\n *\n * @extends annotations.crookedLine\n * @product highstock\n * @optionparent annotations.fibonacci\n */\n{\n typeOptions: {\n /**\n * Whether the annotation levels should be reversed. By default they\n * start from 0 and go to 1.\n *\n * @sample highcharts/annotations-advanced/fibonacci-reversed/\n * Fibonacci annotation reversed\n *\n * @type {boolean}\n * @apioption annotations.fibonacci.typeOptions.reversed\n */\n reversed: false,\n /**\n * The height of the fibonacci in terms of yAxis.\n */\n height: 2,\n /**\n * An array of background colors:\n * Default to:\n * ```\n * [\n * 'rgba(130, 170, 255, 0.4)',\n * 'rgba(139, 191, 216, 0.4)',\n * 'rgba(150, 216, 192, 0.4)',\n * 'rgba(156, 229, 161, 0.4)',\n * 'rgba(162, 241, 130, 0.4)',\n * 'rgba(169, 255, 101, 0.4)'\n * ]\n * ```\n */\n backgroundColors: [\n 'rgba(130, 170, 255, 0.4)',\n 'rgba(139, 191, 216, 0.4)',\n 'rgba(150, 216, 192, 0.4)',\n 'rgba(156, 229, 161, 0.4)',\n 'rgba(162, 241, 130, 0.4)',\n 'rgba(169, 255, 101, 0.4)'\n ],\n /**\n * The color of line.\n */\n lineColor: \"#999999\" /* Palette.neutralColor40 */,\n /**\n * An array of colors for the lines.\n */\n lineColors: [],\n /**\n * An array with options for the labels.\n *\n * @type {Array<*>}\n * @extends annotations.crookedLine.labelOptions\n * @apioption annotations.fibonacci.typeOptions.labels\n */\n labels: []\n },\n labelOptions: {\n allowOverlap: true,\n align: 'right',\n backgroundColor: 'none',\n borderWidth: 0,\n crop: false,\n overflow: 'none',\n shape: 'rect',\n style: {\n color: 'grey'\n },\n verticalAlign: 'middle',\n y: 0\n }\n});\nAnnotations_Annotation.types.fibonacci = Fibonacci;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_Fibonacci = ((/* unused pure expression or super */ null && (Fibonacci)));\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js\n/* *\n *\n * Author: Rafal Sebestjanski\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar FibonacciTimeZones_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\nvar FibonacciTimeZones_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Functions\n *\n * */\n/**\nMethod taken (and slightly changed) from the InfinityLine annotation.\n\nIt uses x coordinate to create two mock points on the same x. Then,\nit uses some logic from InfinityLine to find equation of the line passing\nthrough our two points and, using that equation, it finds and returns\nthe coordinates of where the line intersects the plot area edges.\n\nThis is being done for each fibonacci time zone line.\n\n\n this point here is found\n |\n v\n |---------*--------------------------------------------------------|\n | |\n | |\n | |\n | |\n | * copy of the primary point |\n | |\n | * primary point (e.g. the one given in options) |\n | |\n |---------*--------------------------------------------------------|\n and this point here is found (intersection with the plot area edge)\n\n* @private\n*/\nfunction edgePoint(startIndex, endIndex, fibonacciIndex) {\n return function (target) {\n var chart = target.annotation.chart,\n plotLeftOrTop = chart.inverted ? chart.plotTop : chart.plotLeft;\n var points = target.annotation.points;\n var xAxis = points[0].series.xAxis, \n // Distance between the two first lines in pixels\n deltaX = points.length > 1 ?\n points[1].plotX - points[0].plotX : 0, \n // `firstLine.x + fibb * offset`\n x = xAxis.toValue(points[0].plotX + plotLeftOrTop + fibonacciIndex * deltaX);\n // We need 2 mock points with the same x coordinate, different y\n points = [\n new Annotations_MockPoint(chart, points[0].target, {\n x: x,\n y: 0,\n xAxis: points[0].options.xAxis,\n yAxis: points[0].options.yAxis\n }),\n new Annotations_MockPoint(chart, points[0].target, {\n x: x,\n y: 1,\n xAxis: points[0].options.xAxis,\n yAxis: points[0].options.yAxis\n })\n ];\n return Types_InfinityLine.findEdgePoint(points[startIndex], points[endIndex]);\n };\n}\n/* *\n *\n * Class\n *\n * */\nvar FibonacciTimeZones = /** @class */ (function (_super) {\n FibonacciTimeZones_extends(FibonacciTimeZones, _super);\n function FibonacciTimeZones() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n FibonacciTimeZones.prototype.addShapes = function () {\n var numberOfLines = 11;\n var fibb = 1,\n nextFibb = 1;\n for (var i = 0; i < numberOfLines; i++) {\n // The fibb variable equals to 1 twice - correct it in the first\n // iteration so the lines don't overlap\n var correctedFibb = !i ? 0 : fibb,\n points = [\n edgePoint(1, 0,\n correctedFibb),\n edgePoint(0, 1,\n correctedFibb)\n ];\n // Calculate fibonacci\n nextFibb = fibb + nextFibb;\n fibb = nextFibb - fibb;\n // Save the second line for the control point\n if (i === 1) {\n this.secondLineEdgePoints = [points[0], points[1]];\n }\n this.initShape(FibonacciTimeZones_merge(this.options.typeOptions.line, {\n type: 'path',\n points: points,\n className: 'highcharts-fibonacci-timezones-lines'\n }), i // Shape's index. Can be found in annotation.shapes[i].index\n );\n }\n };\n FibonacciTimeZones.prototype.addControlPoints = function () {\n var options = this.options,\n typeOptions = options.typeOptions,\n controlPoint = new Annotations_ControlPoint(this.chart,\n this,\n FibonacciTimeZones_merge(options.controlPointOptions,\n typeOptions.controlPointOptions), 0);\n this.controlPoints.push(controlPoint);\n typeOptions.controlPointOptions = controlPoint.options;\n };\n return FibonacciTimeZones;\n}(Types_CrookedLine));\nFibonacciTimeZones.prototype.defaultOptions = FibonacciTimeZones_merge(Types_CrookedLine.prototype.defaultOptions, \n/**\n * The Fibonacci Time Zones annotation.\n *\n * @sample highcharts/annotations-advanced/fibonacci-time-zones/\n * Fibonacci Time Zones\n *\n * @extends annotations.crookedLine\n * @since 9.3.0\n * @product highstock\n * @optionparent annotations.fibonacciTimeZones\n */\n{\n typeOptions: {\n /**\n * @exclude y\n * @since 9.3.0\n * @product highstock\n * @apioption annotations.fibonacciTimeZones.typeOptions.points\n */\n // Options for showing in popup edit\n line: {\n /**\n * The color of the lines.\n *\n * @type {string}\n * @since 9.3.0\n * @default 'rgba(0, 0, 0, 0.75)'\n * @apioption annotations.fibonacciTimeZones.typeOptions.line.stroke\n */\n stroke: 'rgba(0, 0, 0, 0.75)',\n /**\n * The width of the lines.\n *\n * @type {number}\n * @since 9.3.0\n * @default 1\n * @apioption annotations.fibonacciTimeZones.typeOptions.line.strokeWidth\n */\n strokeWidth: 1,\n // Don't inherit fill (don't display in popup edit)\n fill: void 0\n },\n controlPointOptions: {\n positioner: function () {\n var _a;\n // The control point is in the middle of the second line\n var target = this.target,\n graphic = this.graphic,\n edgePoints = target.secondLineEdgePoints,\n args = { annotation: target },\n firstEdgePointY = edgePoints[0](args).y,\n secondEdgePointY = edgePoints[1](args).y,\n plotLeft = this.chart.plotLeft,\n plotTop = this.chart.plotTop;\n var x = edgePoints[0](args).x,\n y = (firstEdgePointY + secondEdgePointY) / 2;\n if (this.chart.inverted) {\n _a = [y, x], x = _a[0], y = _a[1];\n }\n return {\n x: plotLeft + x - (graphic.width || 0) / 2,\n y: plotTop + y - (graphic.height || 0) / 2\n };\n },\n events: {\n drag: function (e, target) {\n var isInsidePlot = target.chart.isInsidePlot(e.chartX - target.chart.plotLeft,\n e.chartY - target.chart.plotTop, {\n visiblePlotOnly: true\n });\n if (isInsidePlot) {\n var translation = this.mouseMoveToTranslation(e);\n target.translatePoint(translation.x, 0, 1);\n target.redraw(false);\n }\n }\n }\n }\n }\n});\nAnnotations_Annotation.types.fibonacciTimeZones = FibonacciTimeZones;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_FibonacciTimeZones = ((/* unused pure expression or super */ null && (FibonacciTimeZones)));\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/Pitchfork.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar Pitchfork_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\nvar Pitchfork_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge;\n/* *\n *\n * Class\n *\n * */\nvar Pitchfork = /** @class */ (function (_super) {\n Pitchfork_extends(Pitchfork, _super);\n function Pitchfork() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Static Functions\n *\n * */\n Pitchfork.outerLineEdgePoint = function (firstPointIndex) {\n return function (target) {\n var annotation = target.annotation,\n points = annotation.points;\n return Pitchfork.findEdgePoint(points[firstPointIndex], points[0], new Annotations_MockPoint(annotation.chart, target, annotation.midPointOptions()));\n };\n };\n Pitchfork.findEdgePoint = function (point, firstAnglePoint, secondAnglePoint) {\n var angle = Math.atan2((secondAnglePoint.plotY -\n firstAnglePoint.plotY),\n secondAnglePoint.plotX - firstAnglePoint.plotX),\n distance = 1e7;\n return {\n x: point.plotX + distance * Math.cos(angle),\n y: point.plotY + distance * Math.sin(angle)\n };\n };\n Pitchfork.middleLineEdgePoint = function (target) {\n var annotation = target.annotation,\n points = annotation.points;\n return Types_InfinityLine.findEdgePoint(points[0], new Annotations_MockPoint(annotation.chart, target, annotation.midPointOptions()));\n };\n /* *\n *\n * Functions\n *\n * */\n Pitchfork.prototype.midPointOptions = function () {\n var points = this.points;\n return {\n x: (points[1].x + points[2].x) / 2,\n y: (points[1].y + points[2].y) / 2,\n xAxis: points[0].series.xAxis,\n yAxis: points[0].series.yAxis\n };\n };\n Pitchfork.prototype.addShapes = function () {\n this.addLines();\n this.addBackgrounds();\n };\n Pitchfork.prototype.addLines = function () {\n var className = 'highcharts-pitchfork-lines';\n this.initShape({\n type: 'path',\n points: [\n this.points[0],\n Pitchfork.middleLineEdgePoint\n ],\n className: className\n }, 0);\n this.initShape({\n type: 'path',\n points: [\n this.points[1],\n Pitchfork.topLineEdgePoint\n ],\n className: className\n }, 1);\n this.initShape({\n type: 'path',\n points: [\n this.points[2],\n Pitchfork.bottomLineEdgePoint\n ],\n className: className\n }, 2);\n };\n Pitchfork.prototype.addBackgrounds = function () {\n var shapes = this.shapes,\n typeOptions = this.options.typeOptions;\n var innerBackground = this.initShape(Pitchfork_merge(typeOptions.innerBackground, {\n type: 'path',\n points: [\n function (target) {\n var annotation = target.annotation,\n points = annotation.points,\n midPointOptions = annotation.midPointOptions();\n return {\n x: (points[1].x + midPointOptions.x) / 2,\n y: (points[1].y + midPointOptions.y) / 2,\n xAxis: midPointOptions.xAxis,\n yAxis: midPointOptions.yAxis\n };\n },\n shapes[1].points[1],\n shapes[2].points[1],\n function (target) {\n var annotation = target.annotation,\n points = annotation.points,\n midPointOptions = annotation.midPointOptions();\n return {\n x: (midPointOptions.x + points[2].x) / 2,\n y: (midPointOptions.y + points[2].y) / 2,\n xAxis: midPointOptions.xAxis,\n yAxis: midPointOptions.yAxis\n };\n }\n ],\n className: 'highcharts-pitchfork-inner-background'\n }), 3);\n var outerBackground = this.initShape(Pitchfork_merge(typeOptions.outerBackground, {\n type: 'path',\n points: [\n this.points[1],\n shapes[1].points[1],\n shapes[2].points[1],\n this.points[2]\n ],\n className: 'highcharts-pitchfork-outer-background'\n }), 4);\n typeOptions.innerBackground = innerBackground.options;\n typeOptions.outerBackground = outerBackground.options;\n };\n /* *\n *\n * Static Properties\n *\n * */\n Pitchfork.topLineEdgePoint = Pitchfork.outerLineEdgePoint(1);\n Pitchfork.bottomLineEdgePoint = Pitchfork.outerLineEdgePoint(0);\n return Pitchfork;\n}(Types_InfinityLine));\nPitchfork.prototype.defaultOptions = Pitchfork_merge(Types_InfinityLine.prototype.defaultOptions, \n/**\n * A pitchfork annotation.\n *\n * @sample highcharts/annotations-advanced/pitchfork/\n * Pitchfork\n *\n * @extends annotations.infinityLine\n * @product highstock\n * @optionparent annotations.pitchfork\n */\n{\n typeOptions: {\n /**\n * Inner background options.\n *\n * @extends annotations.crookedLine.shapeOptions\n * @excluding height, r, type, width\n */\n innerBackground: {\n fill: 'rgba(130, 170, 255, 0.4)',\n strokeWidth: 0\n },\n /**\n * Outer background options.\n *\n * @extends annotations.crookedLine.shapeOptions\n * @excluding height, r, type, width\n */\n outerBackground: {\n fill: 'rgba(156, 229, 161, 0.4)',\n strokeWidth: 0\n }\n }\n});\nAnnotations_Annotation.types.pitchfork = Pitchfork;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_Pitchfork = ((/* unused pure expression or super */ null && (Pitchfork)));\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/VerticalLine.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar VerticalLine_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar VerticalLine_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, VerticalLine_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick;\n/* *\n *\n * Class\n *\n * */\nvar VerticalLine = /** @class */ (function (_super) {\n VerticalLine_extends(VerticalLine, _super);\n function VerticalLine() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Static Functions\n *\n * */\n VerticalLine.connectorFirstPoint = function (target) {\n var annotation = target.annotation,\n chart = annotation.chart,\n inverted = chart.inverted,\n point = annotation.points[0],\n left = VerticalLine_pick(point.series.yAxis && point.series.yAxis.left, 0),\n top = VerticalLine_pick(point.series.yAxis && point.series.yAxis.top, 0),\n offset = annotation.options.typeOptions.label.offset,\n y = Annotations_MockPoint.pointToPixels(point,\n true)[inverted ? 'x' : 'y'];\n return {\n x: point.x,\n xAxis: point.series.xAxis,\n y: y + offset +\n (inverted ? (left - chart.plotLeft) : (top - chart.plotTop))\n };\n };\n VerticalLine.connectorSecondPoint = function (target) {\n var annotation = target.annotation,\n chart = annotation.chart,\n inverted = chart.inverted,\n typeOptions = annotation.options.typeOptions,\n point = annotation.points[0],\n left = VerticalLine_pick(point.series.yAxis && point.series.yAxis.left, 0),\n top = VerticalLine_pick(point.series.yAxis && point.series.yAxis.top, 0),\n y = Annotations_MockPoint.pointToPixels(point,\n true)[inverted ? 'x' : 'y'];\n var yOffset = typeOptions.yOffset;\n if (typeOptions.label.offset < 0) {\n yOffset *= -1;\n }\n return {\n x: point.x,\n xAxis: point.series.xAxis,\n y: y + yOffset +\n (inverted ? (left - chart.plotLeft) : (top - chart.plotTop))\n };\n };\n /* *\n *\n * Functions\n *\n * */\n VerticalLine.prototype.getPointsOptions = function () {\n return [this.options.typeOptions.point];\n };\n VerticalLine.prototype.addShapes = function () {\n var typeOptions = this.options.typeOptions,\n connector = this.initShape(VerticalLine_merge(typeOptions.connector, {\n type: 'path',\n points: [\n VerticalLine.connectorFirstPoint,\n VerticalLine.connectorSecondPoint\n ],\n className: 'highcharts-vertical-line'\n }), 0);\n typeOptions.connector = connector.options;\n this.userOptions.typeOptions.point = typeOptions.point;\n };\n VerticalLine.prototype.addLabels = function () {\n var typeOptions = this.options.typeOptions,\n labelOptions = typeOptions.label;\n var x = 0, y = labelOptions.offset, verticalAlign = labelOptions.offset < 0 ? 'bottom' : 'top', align = 'center';\n if (this.chart.inverted) {\n x = labelOptions.offset;\n y = 0;\n verticalAlign = 'middle';\n align = labelOptions.offset < 0 ? 'right' : 'left';\n }\n var label = this.initLabel(VerticalLine_merge(labelOptions, {\n verticalAlign: verticalAlign,\n align: align,\n x: x,\n y: y\n }));\n typeOptions.label = label.options;\n };\n return VerticalLine;\n}(Annotations_Annotation));\nVerticalLine.prototype.defaultOptions = VerticalLine_merge(Annotations_Annotation.prototype.defaultOptions, \n/**\n * A vertical line annotation.\n *\n * @sample highcharts/annotations-advanced/vertical-line/\n * Vertical line\n *\n * @extends annotations.crookedLine\n * @excluding labels, shapes, controlPointOptions\n * @product highstock\n * @optionparent annotations.verticalLine\n */\n{\n typeOptions: {\n /**\n * @ignore\n */\n yOffset: 10,\n /**\n * Label options.\n *\n * @extends annotations.crookedLine.labelOptions\n */\n label: {\n offset: -40,\n point: function (target) {\n return target.annotation.points[0];\n },\n allowOverlap: true,\n backgroundColor: 'none',\n borderWidth: 0,\n crop: true,\n overflow: 'none',\n shape: 'rect',\n text: '{y:.2f}'\n },\n /**\n * Connector options.\n *\n * @extends annotations.crookedLine.shapeOptions\n * @excluding height, r, type, width\n */\n connector: {\n strokeWidth: 1,\n markerEnd: 'arrow'\n }\n }\n});\nAnnotations_Annotation.types.verticalLine = VerticalLine;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_VerticalLine = ((/* unused pure expression or super */ null && (VerticalLine)));\n\n;// ./code/es5/es-modules/Extensions/Annotations/Types/Measure.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar Measure_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b,\n p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\nvar Measure_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, Measure_extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend, Measure_isNumber = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isNumber, Measure_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, Measure_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick;\n/* *\n *\n *\n * Functions\n *\n * */\n/**\n * @private\n */\nfunction average() {\n var average = '';\n if (this.max !== '' && this.min !== '') {\n average = (this.max + this.min) / 2;\n }\n return average;\n}\n/**\n * @private\n */\nfunction bins() {\n var series = this.chart.series,\n ext = getExtremes(this.xAxisMin,\n this.xAxisMax,\n this.yAxisMin,\n this.yAxisMax);\n var bins = 0,\n isCalculated = false; // To avoid Infinity in formatter\n series.forEach(function (serie) {\n if (serie.visible &&\n serie.options.id !== 'highcharts-navigator-series') {\n serie.points.forEach(function (point) {\n if (!point.isNull &&\n point.x > ext.xAxisMin &&\n point.x <= ext.xAxisMax &&\n point.y > ext.yAxisMin &&\n point.y <= ext.yAxisMax) {\n bins++;\n isCalculated = true;\n }\n });\n }\n });\n if (!isCalculated) {\n bins = '';\n }\n return bins;\n}\n/**\n * Default formatter of label's content\n * @private\n */\nfunction defaultFormatter() {\n return 'Min: ' + this.min +\n '<br>Max: ' + this.max +\n '<br>Average: ' + this.average +\n '<br>Bins: ' + this.bins;\n}\n/**\n * Set values for xAxisMin, xAxisMax, yAxisMin, yAxisMax, also\n * when chart is inverted\n * @private\n */\nfunction getExtremes(xAxisMin, xAxisMax, yAxisMin, yAxisMax) {\n return {\n xAxisMin: Math.min(xAxisMax, xAxisMin),\n xAxisMax: Math.max(xAxisMax, xAxisMin),\n yAxisMin: Math.min(yAxisMax, yAxisMin),\n yAxisMax: Math.max(yAxisMax, yAxisMin)\n };\n}\n/**\n * Set current xAxisMin, xAxisMax, yAxisMin, yAxisMax.\n * Calculations of measure values (min, max, average, bins).\n * @private\n * @param {Highcharts.Axis} axis\n * X or y axis reference\n * @param {number} value\n * Point's value (x or y)\n * @param {number} offset\n * Amount of pixels\n */\nfunction getPointPos(axis, value, offset) {\n return axis.toValue(axis.toPixels(value) + offset);\n}\n/**\n * Set starting points\n * @private\n */\nfunction Measure_init() {\n var options = this.options.typeOptions,\n chart = this.chart,\n inverted = chart.inverted,\n xAxis = chart.xAxis[options.xAxis],\n yAxis = chart.yAxis[options.yAxis],\n bck = options.background,\n width = inverted ? bck.height : bck.width,\n height = inverted ? bck.width : bck.height,\n selectType = options.selectType,\n top = inverted ? xAxis.left : yAxis.top, // #13664\n left = inverted ? yAxis.top : xAxis.left; // #13664\n this.startXMin = options.point.x;\n this.startYMin = options.point.y;\n if (Measure_isNumber(width)) {\n this.startXMax = this.startXMin + width;\n }\n else {\n this.startXMax = getPointPos(xAxis, this.startXMin, parseFloat(width));\n }\n if (Measure_isNumber(height)) {\n this.startYMax = this.startYMin - height;\n }\n else {\n this.startYMax = getPointPos(yAxis, this.startYMin, parseFloat(height));\n }\n // X / y selection type\n if (selectType === 'x') {\n this.startYMin = yAxis.toValue(top);\n this.startYMax = yAxis.toValue(top + yAxis.len);\n }\n else if (selectType === 'y') {\n this.startXMin = xAxis.toValue(left);\n this.startXMax = xAxis.toValue(left + xAxis.len);\n }\n}\n/**\n * @private\n */\nfunction max() {\n var series = this.chart.series,\n ext = getExtremes(this.xAxisMin,\n this.xAxisMax,\n this.yAxisMin,\n this.yAxisMax);\n var max = -Infinity,\n isCalculated = false; // To avoid Infinity in formatter\n series.forEach(function (serie) {\n if (serie.visible &&\n serie.options.id !== 'highcharts-navigator-series') {\n serie.points.forEach(function (point) {\n if (!point.isNull &&\n point.y > max &&\n point.x > ext.xAxisMin &&\n point.x <= ext.xAxisMax &&\n point.y > ext.yAxisMin &&\n point.y <= ext.yAxisMax) {\n max = point.y;\n isCalculated = true;\n }\n });\n }\n });\n if (!isCalculated) {\n max = '';\n }\n return max;\n}\n/**\n * Definitions of calculations (min, max, average, bins)\n * @private\n */\nfunction min() {\n var series = this.chart.series,\n ext = getExtremes(this.xAxisMin,\n this.xAxisMax,\n this.yAxisMin,\n this.yAxisMax);\n var min = Infinity,\n isCalculated = false; // To avoid Infinity in formatter\n series.forEach(function (serie) {\n if (serie.visible &&\n serie.options.id !== 'highcharts-navigator-series') {\n serie.points.forEach(function (point) {\n if (!point.isNull &&\n point.y < min &&\n point.x > ext.xAxisMin &&\n point.x <= ext.xAxisMax &&\n point.y > ext.yAxisMin &&\n point.y <= ext.yAxisMax) {\n min = point.y;\n isCalculated = true;\n }\n });\n }\n });\n if (!isCalculated) {\n min = '';\n }\n return min;\n}\n/**\n * Set current xAxisMin, xAxisMax, yAxisMin, yAxisMax.\n * Calculations of measure values (min, max, average, bins).\n * @private\n * @param {boolean} [resize]\n * Flag if shape is resized.\n */\nfunction recalculate(resize) {\n var options = this.options.typeOptions,\n xAxis = this.chart.xAxis[options.xAxis],\n yAxis = this.chart.yAxis[options.yAxis],\n offsetX = this.offsetX,\n offsetY = this.offsetY;\n this.xAxisMin = getPointPos(xAxis, this.startXMin, offsetX);\n this.xAxisMax = getPointPos(xAxis, this.startXMax, offsetX);\n this.yAxisMin = getPointPos(yAxis, this.startYMin, offsetY);\n this.yAxisMax = getPointPos(yAxis, this.startYMax, offsetY);\n this.min = min.call(this);\n this.max = max.call(this);\n this.average = average.call(this);\n this.bins = bins.call(this);\n if (resize) {\n this.resize(0, 0);\n }\n}\n/**\n * Update position of start points\n * (startXMin, startXMax, startYMin, startYMax)\n * @private\n * @param {boolean} redraw\n * Flag if shape is redraw\n * @param {boolean} resize\n * Flag if shape is resized\n * @param {number} cpIndex\n * Index of controlPoint\n */\nfunction updateStartPoints(redraw, resize, cpIndex, dx, dy) {\n var options = this.options.typeOptions,\n selectType = options.selectType,\n xAxis = this.chart.xAxis[options.xAxis],\n yAxis = this.chart.yAxis[options.yAxis],\n startXMin = this.startXMin,\n startXMax = this.startXMax,\n startYMin = this.startYMin,\n startYMax = this.startYMax,\n offsetX = this.offsetX,\n offsetY = this.offsetY;\n if (resize) {\n if (selectType === 'x') {\n if (cpIndex === 0) {\n this.startXMin = getPointPos(xAxis, startXMin, dx);\n }\n else {\n this.startXMax = getPointPos(xAxis, startXMax, dx);\n }\n }\n else if (selectType === 'y') {\n if (cpIndex === 0) {\n this.startYMin = getPointPos(yAxis, startYMin, dy);\n }\n else {\n this.startYMax = getPointPos(yAxis, startYMax, dy);\n }\n }\n else {\n this.startXMax = getPointPos(xAxis, startXMax, dx);\n this.startYMax = getPointPos(yAxis, startYMax, dy);\n }\n }\n if (redraw) {\n this.startXMin = getPointPos(xAxis, startXMin, offsetX);\n this.startXMax = getPointPos(xAxis, startXMax, offsetX);\n this.startYMin = getPointPos(yAxis, startYMin, offsetY);\n this.startYMax = getPointPos(yAxis, startYMax, offsetY);\n this.offsetX = 0;\n this.offsetY = 0;\n }\n this.options.typeOptions.point = {\n x: this.startXMin,\n y: this.startYMin\n };\n // We need to update userOptions as well as they are used in\n // the Annotation.update() method to initialize the annotation, #19121.\n this.userOptions.typeOptions.point = {\n x: this.startXMin,\n y: this.startYMin\n };\n}\n/* *\n *\n * Class\n *\n * */\nvar Measure = /** @class */ (function (_super) {\n Measure_extends(Measure, _super);\n function Measure() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Init annotation object.\n * @private\n */\n Measure.prototype.init = function (annotationOrChart, userOptions, index) {\n _super.prototype.init.call(this, annotationOrChart, userOptions, index);\n this.offsetX = 0;\n this.offsetY = 0;\n this.resizeX = 0;\n this.resizeY = 0;\n Measure_init.call(this);\n this.addValues();\n this.addShapes();\n };\n /**\n * Overrides default setter to get axes from typeOptions.\n * @private\n */\n Measure.prototype.setClipAxes = function () {\n this.clipXAxis = this.chart.xAxis[this.options.typeOptions.xAxis];\n this.clipYAxis = this.chart.yAxis[this.options.typeOptions.yAxis];\n };\n /**\n * Get measure points configuration objects.\n * @private\n */\n Measure.prototype.pointsOptions = function () {\n return this.options.points;\n };\n /**\n * Get points configuration objects for shapes.\n * @private\n */\n Measure.prototype.shapePointsOptions = function () {\n var options = this.options.typeOptions,\n xAxis = options.xAxis,\n yAxis = options.yAxis;\n return [\n {\n x: this.xAxisMin,\n y: this.yAxisMin,\n xAxis: xAxis,\n yAxis: yAxis\n },\n {\n x: this.xAxisMax,\n y: this.yAxisMin,\n xAxis: xAxis,\n yAxis: yAxis\n },\n {\n x: this.xAxisMax,\n y: this.yAxisMax,\n xAxis: xAxis,\n yAxis: yAxis\n },\n {\n x: this.xAxisMin,\n y: this.yAxisMax,\n xAxis: xAxis,\n yAxis: yAxis\n },\n {\n command: 'Z'\n }\n ];\n };\n Measure.prototype.addControlPoints = function () {\n var inverted = this.chart.inverted,\n options = this.options.controlPointOptions,\n selectType = this.options.typeOptions.selectType;\n if (!Measure_defined(this.userOptions.controlPointOptions &&\n this.userOptions.controlPointOptions.style.cursor)) {\n if (selectType === 'x') {\n options.style.cursor = inverted ? 'ns-resize' : 'ew-resize';\n }\n else if (selectType === 'y') {\n options.style.cursor = inverted ? 'ew-resize' : 'ns-resize';\n }\n }\n var controlPoint = new Annotations_ControlPoint(this.chart,\n this,\n this.options.controlPointOptions, 0);\n this.controlPoints.push(controlPoint);\n // Add extra controlPoint for horizontal and vertical range\n if (selectType !== 'xy') {\n controlPoint = new Annotations_ControlPoint(this.chart, this, this.options.controlPointOptions, 1);\n this.controlPoints.push(controlPoint);\n }\n };\n /**\n * Add label with calculated values (min, max, average, bins).\n * @private\n * @param {boolean} [resize]\n * The flag for resize shape\n */\n Measure.prototype.addValues = function (resize) {\n var typeOptions = this.options.typeOptions,\n formatter = typeOptions.label.formatter;\n // Set xAxisMin, xAxisMax, yAxisMin, yAxisMax\n recalculate.call(this, resize);\n if (!typeOptions.label.enabled) {\n return;\n }\n if (this.labels.length > 0) {\n this.labels[0].text = ((formatter && formatter.call(this)) ||\n defaultFormatter.call(this));\n }\n else {\n this.initLabel(Measure_extend({\n shape: 'rect',\n backgroundColor: 'none',\n color: 'black',\n borderWidth: 0,\n dashStyle: 'Dash',\n overflow: 'allow',\n align: 'left',\n y: 0,\n x: 0,\n verticalAlign: 'top',\n crop: true,\n xAxis: 0,\n yAxis: 0,\n point: function (target) {\n var annotation = target.annotation,\n options = target.options;\n return {\n x: annotation.xAxisMin,\n y: annotation.yAxisMin,\n xAxis: Measure_pick(typeOptions.xAxis, options.xAxis),\n yAxis: Measure_pick(typeOptions.yAxis, options.yAxis)\n };\n },\n text: ((formatter && formatter.call(this)) ||\n defaultFormatter.call(this))\n }, typeOptions.label), void 0);\n }\n };\n /**\n * Crosshair, background (rect).\n * @private\n */\n Measure.prototype.addShapes = function () {\n this.addCrosshairs();\n this.addBackground();\n };\n /**\n * Add background shape.\n * @private\n */\n Measure.prototype.addBackground = function () {\n var shapePoints = this.shapePointsOptions();\n if (typeof shapePoints[0].x === 'undefined') {\n return;\n }\n this.initShape(Measure_extend({\n type: 'path',\n points: shapePoints,\n className: 'highcharts-measure-background'\n }, this.options.typeOptions.background), 2);\n };\n /**\n * Add internal crosshair shapes (on top and bottom).\n * @private\n */\n Measure.prototype.addCrosshairs = function () {\n var chart = this.chart,\n options = this.options.typeOptions,\n point = this.options.typeOptions.point,\n xAxis = chart.xAxis[options.xAxis],\n yAxis = chart.yAxis[options.yAxis],\n inverted = chart.inverted,\n defaultOptions = {\n point: point,\n type: 'path'\n };\n var xAxisMin = xAxis.toPixels(this.xAxisMin),\n xAxisMax = xAxis.toPixels(this.xAxisMax),\n yAxisMin = yAxis.toPixels(this.yAxisMin),\n yAxisMax = yAxis.toPixels(this.yAxisMax),\n pathH = [],\n pathV = [],\n crosshairOptionsX,\n crosshairOptionsY,\n temp;\n if (inverted) {\n temp = xAxisMin;\n xAxisMin = yAxisMin;\n yAxisMin = temp;\n temp = xAxisMax;\n xAxisMax = yAxisMax;\n yAxisMax = temp;\n }\n // Horizontal line\n if (options.crosshairX.enabled) {\n pathH = [[\n 'M',\n xAxisMin,\n yAxisMin + ((yAxisMax - yAxisMin) / 2)\n ], [\n 'L',\n xAxisMax,\n yAxisMin + ((yAxisMax - yAxisMin) / 2)\n ]];\n }\n // Vertical line\n if (options.crosshairY.enabled) {\n pathV = [[\n 'M',\n xAxisMin + ((xAxisMax - xAxisMin) / 2),\n yAxisMin\n ], [\n 'L',\n xAxisMin + ((xAxisMax - xAxisMin) / 2),\n yAxisMax\n ]];\n }\n // Update existed crosshair\n if (this.shapes.length > 0) {\n this.shapes[0].options.d = pathH;\n this.shapes[1].options.d = pathV;\n }\n else {\n // Add new crosshairs\n crosshairOptionsX = Measure_merge(defaultOptions, { className: 'highcharts-measure-crosshair-x' }, options.crosshairX);\n crosshairOptionsY = Measure_merge(defaultOptions, { className: 'highcharts-measure-crosshair-y' }, options.crosshairY);\n this.initShape(Measure_extend({ d: pathH }, crosshairOptionsX), 0);\n this.initShape(Measure_extend({ d: pathV }, crosshairOptionsY), 1);\n }\n };\n Measure.prototype.onDrag = function (e) {\n var translation = this.mouseMoveToTranslation(e), selectType = this.options.typeOptions.selectType, x = selectType === 'y' ? 0 : translation.x, y = selectType === 'x' ? 0 : translation.y;\n this.translate(x, y);\n this.offsetX += x;\n this.offsetY += y;\n // Animation, resize, setStartPoints\n this.redraw(false, false, true);\n };\n /**\n * Translate start or end (\"left\" or \"right\") side of the measure.\n * Update start points (startXMin, startXMax, startYMin, startYMax)\n * @private\n * @param {number} dx\n * the amount of x translation\n * @param {number} dy\n * the amount of y translation\n * @param {number} cpIndex\n * index of control point\n * @param {Highcharts.AnnotationDraggableValue} selectType\n * x / y / xy\n */\n Measure.prototype.resize = function (dx, dy, cpIndex, selectType) {\n // Background shape\n var bckShape = this.shapes[2];\n if (selectType === 'x') {\n if (cpIndex === 0) {\n bckShape.translatePoint(dx, 0, 0);\n bckShape.translatePoint(dx, dy, 3);\n }\n else {\n bckShape.translatePoint(dx, 0, 1);\n bckShape.translatePoint(dx, dy, 2);\n }\n }\n else if (selectType === 'y') {\n if (cpIndex === 0) {\n bckShape.translatePoint(0, dy, 0);\n bckShape.translatePoint(0, dy, 1);\n }\n else {\n bckShape.translatePoint(0, dy, 2);\n bckShape.translatePoint(0, dy, 3);\n }\n }\n else {\n bckShape.translatePoint(dx, 0, 1);\n bckShape.translatePoint(dx, dy, 2);\n bckShape.translatePoint(0, dy, 3);\n }\n updateStartPoints.call(this, false, true, cpIndex, dx, dy);\n this.options.typeOptions.background.height = Math.abs(this.startYMax - this.startYMin);\n this.options.typeOptions.background.width = Math.abs(this.startXMax - this.startXMin);\n };\n /**\n * Redraw event which render elements and update start points if needed.\n * @private\n * @param {boolean} animation\n * @param {boolean} [resize]\n * flag if resized\n * @param {boolean} [setStartPoints]\n * update position of start points\n */\n Measure.prototype.redraw = function (animation, resize, setStartPoints) {\n var _a;\n this.linkPoints();\n if (!this.graphic) {\n this.render();\n }\n if (setStartPoints) {\n updateStartPoints.call(this, true, false);\n }\n // #11174 - clipBox was not recalculate during resize / redraw\n if (this.clipRect) {\n this.clipRect.animate(this.getClipBox());\n }\n this.addValues(resize);\n this.addCrosshairs();\n this.redrawItems(this.shapes, animation);\n this.redrawItems(this.labels, animation);\n var backgroundOptions = this.options.typeOptions.background;\n if ((backgroundOptions === null || backgroundOptions === void 0 ? void 0 : backgroundOptions.strokeWidth) &&\n ((_a = this.shapes[2]) === null || _a === void 0 ? void 0 : _a.graphic)) {\n var offset = (backgroundOptions.strokeWidth) / 2;\n var background = this.shapes[2];\n var path = background.graphic.pathArray;\n var p1 = path[0];\n var p2 = path[1];\n var p3 = path[2];\n var p4 = path[3];\n p1[1] = (p1[1] || 0) + offset;\n p2[1] = (p2[1] || 0) - offset;\n p3[1] = (p3[1] || 0) - offset;\n p4[1] = (p4[1] || 0) + offset;\n p1[2] = (p1[2] || 0) + offset;\n p2[2] = (p2[2] || 0) + offset;\n p3[2] = (p3[2] || 0) - offset;\n p4[2] = (p4[2] || 0) - offset;\n background.graphic.attr({\n d: path\n });\n }\n // Redraw control point to run positioner\n this.controlPoints.forEach(function (controlPoint) {\n return controlPoint.redraw();\n });\n };\n Measure.prototype.translate = function (dx, dy) {\n this.shapes.forEach(function (item) {\n return item.translate(dx, dy);\n });\n };\n return Measure;\n}(Annotations_Annotation));\nMeasure.prototype.defaultOptions = Measure_merge(Annotations_Annotation.prototype.defaultOptions, \n/**\n * A measure annotation.\n *\n * @extends annotations.crookedLine\n * @excluding labels, labelOptions, shapes, shapeOptions\n * @sample highcharts/annotations-advanced/measure/\n * Measure\n * @product highstock\n * @optionparent annotations.measure\n */\n{\n typeOptions: {\n /**\n * Decides in what dimensions the user can resize by dragging the\n * mouse. Can be one of x, y or xy.\n */\n selectType: 'xy',\n /**\n * This number defines which xAxis the point is connected to.\n * It refers to either the axis id or the index of the axis\n * in the xAxis array.\n */\n xAxis: 0,\n /**\n * This number defines which yAxis the point is connected to.\n * It refers to either the axis id or the index of the axis\n * in the yAxis array.\n */\n yAxis: 0,\n background: {\n /**\n * The color of the rectangle.\n */\n fill: 'rgba(130, 170, 255, 0.4)',\n /**\n * The width of border.\n */\n strokeWidth: 0,\n /**\n * The color of border.\n */\n stroke: void 0\n },\n /**\n * Configure a crosshair that is horizontally placed in middle of\n * rectangle.\n *\n */\n crosshairX: {\n /**\n * Enable or disable the horizontal crosshair.\n *\n */\n enabled: true,\n /**\n * The Z index of the crosshair in annotation.\n */\n zIndex: 6,\n /**\n * The dash or dot style of the crosshair's line. For possible\n * values, see\n * [this demonstration](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-dashstyle-all/).\n *\n * @type {Highcharts.DashStyleValue}\n * @default Dash\n */\n dashStyle: 'Dash',\n /**\n * The marker-end defines the arrowhead that will be drawn\n * at the final vertex of the given crosshair's path.\n *\n * @type {string}\n * @default arrow\n */\n markerEnd: 'arrow'\n },\n /**\n * Configure a crosshair that is vertically placed in middle of\n * rectangle.\n */\n crosshairY: {\n /**\n * Enable or disable the vertical crosshair.\n *\n */\n enabled: true,\n /**\n * The Z index of the crosshair in annotation.\n */\n zIndex: 6,\n /**\n * The dash or dot style of the crosshair's line. For possible\n * values, see\n * [this demonstration](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-dashstyle-all/).\n *\n * @type {Highcharts.DashStyleValue}\n * @default Dash\n * @apioption annotations.measure.typeOptions.crosshairY.dashStyle\n *\n */\n dashStyle: 'Dash',\n /**\n * The marker-end defines the arrowhead that will be drawn\n * at the final vertex of the given crosshair's path.\n *\n * @type {string}\n * @default arrow\n * @validvalue [\"none\", \"arrow\"]\n *\n */\n markerEnd: 'arrow'\n },\n label: {\n /**\n * Enable or disable the label text (min, max, average,\n * bins values).\n *\n * Defaults to true.\n */\n enabled: true,\n /**\n * CSS styles for the measure label.\n *\n * @type {Highcharts.CSSObject}\n * @default {\"color\": \"#666666\", \"fontSize\": \"11px\"}\n */\n style: {\n fontSize: '0.7em',\n color: \"#666666\" /* Palette.neutralColor60 */\n },\n /**\n * Formatter function for the label text.\n *\n * Available data are:\n *\n * <table>\n *\n * <tbody>\n *\n * <tr>\n *\n * <td>`this.min`</td>\n *\n * <td>The minimum value of the points in the selected\n * range.</td>\n *\n * </tr>\n *\n * <tr>\n *\n * <td>`this.max`</td>\n *\n * <td>The maximum value of the points in the selected\n * range.</td>\n *\n * </tr>\n *\n * <tr>\n *\n * <td>`this.average`</td>\n *\n * <td>The average value of the points in the selected\n * range.</td>\n *\n * </tr>\n *\n * <tr>\n *\n * <td>`this.bins`</td>\n *\n * <td>The amount of the points in the selected range.</td>\n *\n * </tr>\n *\n * </table>\n *\n * @type {Function}\n *\n */\n formatter: void 0\n }\n },\n controlPointOptions: {\n positioner: function (target) {\n var cpIndex = this.index,\n chart = target.chart,\n options = target.options,\n typeOptions = options.typeOptions,\n selectType = typeOptions.selectType,\n controlPointOptions = options.controlPointOptions,\n inverted = chart.inverted,\n xAxis = chart.xAxis[typeOptions.xAxis],\n yAxis = chart.yAxis[typeOptions.yAxis],\n ext = getExtremes(target.xAxisMin,\n target.xAxisMax,\n target.yAxisMin,\n target.yAxisMax);\n var targetX = target.xAxisMax,\n targetY = target.yAxisMax,\n x,\n y;\n if (selectType === 'x') {\n targetY = (ext.yAxisMax + ext.yAxisMin) / 2;\n // First control point\n if (cpIndex === 0) {\n targetX = target.xAxisMin;\n }\n }\n if (selectType === 'y') {\n targetX = ext.xAxisMin +\n ((ext.xAxisMax - ext.xAxisMin) / 2);\n // First control point\n if (cpIndex === 0) {\n targetY = target.yAxisMin;\n }\n }\n if (inverted) {\n x = yAxis.toPixels(targetY);\n y = xAxis.toPixels(targetX);\n }\n else {\n x = xAxis.toPixels(targetX);\n y = yAxis.toPixels(targetY);\n }\n return {\n x: x - (controlPointOptions.width / 2),\n y: y - (controlPointOptions.height / 2)\n };\n },\n events: {\n drag: function (e, target) {\n var translation = this.mouseMoveToTranslation(e), selectType = target.options.typeOptions.selectType, index = this.index, x = selectType === 'y' ? 0 : translation.x, y = selectType === 'x' ? 0 : translation.y;\n target.resize(x, y, index, selectType);\n target.resizeX += x;\n target.resizeY += y;\n target.redraw(false, true);\n }\n }\n }\n});\nAnnotations_Annotation.types.measure = Measure;\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Types_Measure = ((/* unused pure expression or super */ null && (Measure)));\n\n;// ./code/es5/es-modules/masters/modules/annotations-advanced.src.js\n/**\n * @license Highcharts JS v12.1.2 (2025-01-09)\n * @module highcharts/modules/annotations-advanced\n * @requires highcharts\n *\n * Annotations module\n *\n * (c) 2009-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var annotations_advanced_src = ((highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()));\n\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});"],"names":["root","factory","exports","module","require","define","amd","__WEBPACK_EXTERNAL_MODULE__944__","__WEBPACK_EXTERNAL_MODULE__512__","__WEBPACK_EXTERNAL_MODULE__984__","__WEBPACK_EXTERNAL_MODULE__660__","extendStatics","DropdownProperties","ChartNavigationComposition","Additions","AnnotationChart","ControlTarget","__webpack_modules__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","__webpack_exports__","annotations_advanced_src","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default","addEvent","erase","find","fireEvent","pick","wrap","chartAddAnnotation","userOptions","redraw","annotation","initAnnotation","options","annotations","push","graphic","attr","opacity","chartCallback","chart","plotBoxClip","renderer","clipRect","plotBox","controlPointsGroup","g","zIndex","clip","add","forEach","annotationOptions","i","some","drawAnnotations","destroy","event","csvColumnHeaderFormatter","exporting","csv","columnHeaderFormatter","multiLevelHeaders","dataRows","xValues","annotationHeader","lang","exportData","startRowLength","length","annotationSeparator","itemDelimiter","joinAnnotations","join","labelOptions","includeInDataExport","labels","label","text","annotationText_1","points","annotationX","x","xAxisIndex","series","xAxis","index","wasAdded","newRow","Array","row","maxRowLen","Math","max","newRows","header","s","columnTitle","topLevelColumnTitle","chartDrawAnnotations","animate","animationConfig","chartRemoveAnnotation","idOrAnnotation","coll","id","onChartAfterInit","wrapPointerOnContainerMouseDown","proceed","hasDraggedAnnotation","apply","slice","arguments","compose","AnnotationClass","ChartClass","PointerClass","chartProto","addAnnotation","pointerProto","callbacks","collectionsWithInit","collectionsWithUpdate","removeAnnotation","types","type","Annotations_AnnotationChart","defined","doc","isTouchDevice","EventEmitter_addEvent","EventEmitter_fireEvent","objectEach","EventEmitter_pick","removeEvent","EventEmitter","addEvents","emitter","addMouseDownEvent","element","e","onMouseDown","passive","useHTML","events","eventHandler","_a","cancelClick","pointer","normalize","target","nonDOMEvents","indexOf","div","draggable","onDrag","styledMode","cssPointer_1","cursor","y","xy","css","isUpdating","removeDocEvents","hcEvents","mouseMoveToRadians","cx","cy","temp","prevDy","prevChartY","prevDx","prevChartX","dy","chartY","dx","chartX","inverted","atan2","mouseMoveToScale","sx","sy","mouseMoveToTranslation","isInsidePlot","plotLeft","plotTop","visiblePlotOnly","translation_1","translate","shapes","shape","preventDefault","button","firesTouchEvents","sourceCapabilities","removeDrag","hasDragged","removeMouseUp","onMouseUp","__extends","b","setPrototypeOf","__proto__","p","__","constructor","create","merge","ControlPoint_pick","ControlPoint","_super","_this","animation","positioner","render","symbol","width","height","style","setVisibility","visible","update","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default","seriesProto","MockPoint_defined","MockPoint_fireEvent","MockPoint","mock","point","getPlotBox","applyOptions","getOptions","fromPoint","yAxis","pointToPixels","paneCoordinates","plotX","plotY","plotWidth","plotHeight","translateX","translateY","pointToOptions","command","setAxis","refresh","hasDynamicOptions","len","toPixels","isInside","refreshOptions","toValue","rotate","radians","cos","sin","tx","ty","scale","xOrY","axisName","axisOptions","toAnchor","anchor","_cx","_cy","addControlPoints","controlPoints","controlPointsOptions","controlPointOptions","box","tooltip","getAnchor","relativePosition","absolutePosition","destroyControlTarget","controlPoint","getPointsOptions","splat","linkPoints","pointsOptions","pointOptions","isObject","isString","pointConfig","redrawControlPoints","renderControlPoints","transform","transformation","p1","p2","_point","transformPoint","Annotations_MockPoint","translatePoint","ControlTargetClass","controlProto","Annotations_ControlTarget","Controllable_merge","Controllable","itemType","collection","init","_args","_i","attrsFromOptions","mappedKey","map","attrsMap","attrs","tracker","_parentGroup","className","addClass","setControlPointsVisibility","shouldBeDrawn","translateShape","translateSecondPoint","shapeOptions","annotationIndex","chartOptions","newOptions","parentGroup","Constructor","ControllablePath_extends","TypeError","String","ControllablePath_defaultMarkers","arrow","tagName","attributes","refY","refX","markerWidth","markerHeight","children","ControllablePath_addEvent","ControllablePath_defined","extend","ControllablePath_merge","uniqueKey","markerEndSetter","createMarkerSetter","markerStartSetter","TRACKER_FILL","svg","markerType","value","onChartAfterGetContainer","defs","svgRendererAddMarker","markerOptions","stroke","color","fill","child","ast","orient","marker","ControllablePath","SVGRendererClass","svgRendererProto","addMarker","toD","dOption","showPath","position","pointIndex","crispLine","strokeWidth","parent","path","snap","setMarkers","action","placed","item","itemOptions","def","predefinedMarker","markerId","getAttribute","dashStyle","ControllableRect_extends","ControllableRect_merge","ControllableRect","rect","Boolean","Controllables_ControllablePath","ControllableCircle_extends","ControllableCircle_merge","ControllableCircle","r","circle","setRadius","ControllableEllipse_extends","ControllableEllipse_merge","ControllableEllipse_defined","ControllableEllipse","createElement","getDistanceFromLine","point1","point2","x0","y0","abs","sqrt","getAttrs","position2","x1","y1","x2","y2","rx","angle","atan","PI","ry","getRY","getYAxis","yAxisIndex","getAbsolutePosition","rotation","rotationOriginX","rotationOriginY","setYRadius","highcharts_Templating_commonjs_highcharts_Templating_commonjs2_highcharts_Templating_root_Highcharts_Templating_","highcharts_Templating_commonjs_highcharts_Templating_commonjs2_highcharts_Templating_root_Highcharts_Templating_default","ControllableLabel_extends","format","ControllableLabel_extend","getAlignFactor","isNumber","ControllableLabel_pick","symbolConnector","w","h","yOffset","anchorX","anchorY","lateral","ControllableLabel","alignedPosition","alignOptions","round","align","verticalAlign","symbols","connector","justifiedOptions","alignAttr","off","padding","bBox","getBBox","chartAnnotations","getContrast","shapesWithoutBackground","backgroundColor","shadow","labelrank","formatter","itemPosition","alignTo","itemPosRelativeX","itemPosRelativeY","anchorAbsolutePosition","anchorRelativePosition","showItem","_b","distance","getPosition","getPlayingField","negative","ttBelow","overflow","crop","borderColor","borderWidth","borderRadius","ControllableImage_extends","ControllableImage","image","src","Controllables_ControllableLabel","highcharts_AST_commonjs_highcharts_AST_commonjs2_highcharts_AST_root_Highcharts_AST_","highcharts_AST_commonjs_highcharts_AST_commonjs2_highcharts_AST_root_Highcharts_AST_default","BaseForm_addEvent","BaseForm","parentDiv","iconsURL","container","createPopupContainer","closeButton","addCloseButton","popup","match","eventName","closeButtonEvents","bind","document","code","closePopup","showPopup","toolbarClass","popupDiv","popupCloseButton","innerHTML","emptyHTML","classList","remove","removeAttribute","appendChild","display","PopupAnnotations_doc","isFirefox","PopupAnnotations_createElement","isArray","PopupAnnotations_objectEach","PopupAnnotations_pick","stableSort","addFormFields","parentNode","storage","isRoot","parentFullName","titleName","addInput","option","reverse","genInput","createTextNode","splice","PopupIndicators_doc","seriesTypes","PopupIndicators_addEvent","PopupIndicators_createElement","PopupIndicators_defined","PopupIndicators_isArray","PopupIndicators_isObject","PopupIndicators_objectEach","PopupIndicators_stableSort","dropdownParameters","addColsContainer","lhsCol","rhsCol","PopupIndicators_addFormFields","seriesType","rhsColWrapper","fields","params","getNameType","indicatorFullName","name","listAllSeries","linkedParent","volumeSeriesID","addParamInputs","addIndicatorList","listType","filter","selectIndicator","indicatorType","isEdit","setAttribute","querySelectorAll","plotOptions","filteredSeriesArray","filterSeriesArray","filterSeries","seriesAName","toLowerCase","seriesBName","indicatorList","seriesSet","btn","textContent","setElementHTML","noFilterMatch","fieldName","selectBox","addSelection","addSelectionOptions","addSearchBox","clearFilterText","clearFilter","inputWrapper","handleInputChange","inputText","input","htmlFor","labelClassName","optionName","optionParamList","split","labelText","selectName","parameterName","selectedOption","currentSeries","seriesOptions","seriesName","parameterOption","filteredSeries","indicatorAliases","navigation","regex","RegExp","replace","alias","is","nameBase","toUpperCase","PopupTabs_doc","PopupTabs_addEvent","PopupTabs_createElement","addContentItem","addMenuItem","tabName","disableTab","menuItem","deselectAll","tabs","tabsContent","selectTab","tab","allTabs","switchTabs","Popup_extends","Popup_doc","Popup_addEvent","Popup_createElement","Popup_extend","Popup_fireEvent","Popup_pick","Popup","activeAnnotation","navigationBindings","unbind_1","setTimeout","inputAttributes","inputName","selectedButtonElement","addButton","fieldsDiv","callback","inputList","selectList","linkedTo","volumeTo","fieldsOutput","actionType","param","seriesId","select","parameter","showForm","indicators","addForm","addToolbar","offsetHeight","isInit","langKey","bottomRow","saveButton","top","editButton","removeButton","_options","buttonParentDiv","tabsContainers","getAmount","counter","serie","indicatorsCount","firstTab","composed","PopupComposition_addEvent","pushUnique","PopupComposition_wrap","onNavigationBindingsClosePopup","onNavigationBindingsShowPopup","config","stockTools","gui","formType","onSubmit","wrapPointerOnContainerMouserDown","inClass","NagivationBindingsClass","Annotation_extends","getDeferredAnimation","destroyObjectProperties","Annotation_erase","Annotation_fireEvent","Annotation_merge","Annotation_pick","getLabelsAndShapesOptions","baseOptions","mergedOptions","someBaseOptions","newOptionsValue","basicOptions","Annotation","defaultOptions","labelsAndShapes","NavigationBindingsClass","Popup_PopupComposition","addClipPaths","setClipAxes","clipXAxis","clipYAxis","getClipBox","addLabels","labelsOptions","initLabel","addShapes","initShape","destroyItem","labelCollectors","labelCollector","left","initProperties","setOptions","_annotationOrChart","_userOptions","animOptions","setLabelCollector","shapesMap","redrawItems","redrawItem","renderItem","hasVisiblePoints","visibility","show","hide","items","shapesGroup","labelsGroup","renderItems","xAxes","yAxes","linkedAxes","concat","reduce","axes","labelOrShape","setItemControlPointsVisibility","allowOverlap","userOptionsIndex","fontSize","fontWeight","updates","addUpdate","updateFn","Chart_ChartNavigationComposition","NavigationBindingsUtilities_defined","NavigationBindingsUtilities_isNumber","NavigationBindingsUtilities_pick","annotationsFieldsTypes","title","coords","coord","extremes","axis","getExtremes","axisMin","min","axisMax","minPointOffset","isInternal","NavigationBindingsDefaults_isNumber","NavigationBindingsDefaults_merge","NavigationBindingsDefaults","simpleShapes","lines","ellipse","rectangle","typeOptions","backgroundColors","bindingsClassName","bindings","circleAnnotation","start","getCoordinates","coordsX","NavigationBindingsDefaults_getAssignedAxis","coordsY","annotationsOptions","steps","mockPointOpts","pow","ellipseAnnotation","newR","newRY","rectangleAnnotation","labelAnnotation","defer","NavigationBindings_format","NavigationBindings_composed","NavigationBindings_doc","win","NavigationBindings_getFieldType","predefinedType","fieldType","NavigationBindings_addEvent","NavigationBindings_defined","NavigationBindings_fireEvent","NavigationBindings_isArray","isFunction","NavigationBindings_isNumber","NavigationBindings_isObject","NavigationBindings_merge","NavigationBindings_objectEach","NavigationBindings_pick","NavigationBindings_pushUnique","onAnnotationRemove","deselectAnnotation","onChartDestroy","onChartLoad","NavigationBindings","initEvents","initUpdate","onChartRender","disabledClassName","buttonsEnabled_1","container_1","boundClassNames","buttonNode","cls","noDataState","NavigationBindings_onNavigationBindingsClosePopup","onNavigationBindingsDeselectButton","selectableAnnotation","annotationType","touchStartX","touchStartY","originalClick","click","selectAndShowPopup","eventArguments","prevAnnotation","annotationToFields","data","fieldsToOptions","crosshairY","enabled","crosshairX","touchstart","touches","clientX","clientY","touchend","changedTouches","eventsToUnbind","getElementsByClassName","getCoords","NavigationBindings_getAssignedAxis","bindingsContainer","subContainer","getButtonEvents","contains","bindingsButtonClick","bindingsChartClick","bindingsContainerMouseMove","clickEvent","svgContainer","boxWrapper","shouldEventBeFired","nextEvent","currentUserDetails","mouseMoveEvent","selectedButton","removeClass","closestPolyfill","el","ElementProto","Element","elementMatches","matches","msMatchesSelector","webkitMatchesSelector","ret","closest","parentElement","nodeType","stepIndex","end","_container","moveEvent","field","parsedValue","parseFloat","pathLength","parent_1","nextName","editables","annotationsEditable","nestedEditables","nestedOptions","nonEditables","annotationsNonEditable","visualOptions","traverse","parentEditables","parentKey","nextParent","arrayOption","nestedOption","nestedKey","toString","typeOption","typeKey","getClickedClassNames","elemClassName","classNames","removeEvents","unbinder","background","innerBackground","outerBackground","line","verticalLine","measure","fibonacci","tunnel","pitchfork","crookedLine","basicAnnotation","G","Chart","Pointer","SVGRenderer","BasicAnnotation_extends","BasicAnnotation_merge","BasicAnnotation","basicControlPoints","basicType","optionsGroup","group","drag","_c","Annotations_Annotation","CrookedLine_extends","CrookedLine_merge","CrookedLine","getControlPointsOptions","translation","ElliottWave_extends","ElliottWave_merge","ElliottWave","Types_CrookedLine","elliottWave","Tunnel_extends","Tunnel_merge","Tunnel","heightPointOptions","logarithmic","y3","heightControlPoint","addLine","addBackground","translateSide","topIndex","Number","translateHeight","dh","startXY","endXY","getSecondCoordinate","InfinityLine_extends","InfinityLine_merge","InfinityLine","edgePoint","startIndex","endIndex","findEdgePoint","findEdgeCoordinate","firstPoint","secondPoint","edgePointFirstCoordinate","xOrYOpposite","edgePointX","edgePointY","swap","firstPointPixels","secondPointPixels","deltaX","deltaY","xAxisMin","xAxisMax","yAxisMin","yAxisMax","xLimit","yLimit","endEdgePoint","startEdgePoint","infinityLine","TimeCycles_extends","TimeCycles_merge","TimeCycles_isNumber","TimeCycles_defined","TimeCycles","setPath","getPath","startX","getCirclePath","pixelInterval","numberOfCircles","setPathProperties","xAxisNumber","yAxisNumber","xValue1","yValue","xValue2","xAxisLength","floor","pixelShift","timeCycles","Fibonacci_extends","Fibonacci_merge","createPathDGenerator","retracementIndex","isBackground","startRetracements","endRetracements","leftTop","rightTop","rightBottom","leftBottom","Fibonacci","linkRetracementsPoints","startDiff","endDiff","endX","levels","level","startRetracement","endRetracement","reversed","linkRetracementPoint","retracements","_level","lineColor","lineColors","Types_Tunnel","FibonacciTimeZones_extends","FibonacciTimeZones_merge","fibonacciIndex","plotLeftOrTop","Types_InfinityLine","FibonacciTimeZones","fibb","nextFibb","correctedFibb","secondLineEdgePoints","edgePoints","args","firstEdgePointY","secondEdgePointY","fibonacciTimeZones","Pitchfork_extends","Pitchfork_merge","Pitchfork","outerLineEdgePoint","firstPointIndex","midPointOptions","firstAnglePoint","secondAnglePoint","middleLineEdgePoint","addLines","addBackgrounds","topLineEdgePoint","bottomLineEdgePoint","VerticalLine_extends","VerticalLine_merge","VerticalLine_pick","VerticalLine","connectorFirstPoint","offset","connectorSecondPoint","markerEnd","Measure_extends","Measure_defined","Measure_extend","Measure_isNumber","Measure_merge","Measure_pick","average","bins","ext","isCalculated","isNull","defaultFormatter","getPointPos","Measure_init","bck","selectType","startXMin","startYMin","startXMax","startYMax","Infinity","recalculate","resize","offsetX","offsetY","updateStartPoints","cpIndex","Measure","annotationOrChart","resizeX","resizeY","addValues","shapePointsOptions","addCrosshairs","shapePoints","crosshairOptionsX","crosshairOptionsY","pathH","pathV","bckShape","setStartPoints","backgroundOptions","pathArray","p3","p4","targetX","targetY"],"mappings":"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"}
Hacked By AnonymousFox1.0, Coded By AnonymousFox