Hacked By AnonymousFox

Current Path : C:/AppServ/www/financial/stacked/code/es5/indicators/
Upload File :
Current File : C:/AppServ/www/financial/stacked/code/es5/indicators/ichimoku-kinko-hyo.js.map

{"version":3,"sources":["<anon>"],"sourcesContent":["/**\n * @license Highstock JS v12.1.2 (2025-01-09)\n * @module highcharts/indicators/ichimoku-kinko-hyo\n * @requires highcharts\n * @requires highcharts/modules/stock\n *\n * Indicator series type for Highcharts Stock\n *\n * (c) 2010-2024 Sebastian Bochan\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\")[\"dataGrouping\"][\"approximations\"], require(\"highcharts\")[\"Color\"], require(\"highcharts\")[\"SeriesRegistry\"]);\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"highcharts/indicators/ichimoku-kinko-hyo\", [[\"highcharts/highcharts\"], [\"highcharts/highcharts\",\"dataGrouping\",\"approximations\"], [\"highcharts/highcharts\",\"Color\"], [\"highcharts/highcharts\",\"SeriesRegistry\"]], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"highcharts/indicators/ichimoku-kinko-hyo\"] = factory(require(\"highcharts\"), require(\"highcharts\")[\"dataGrouping\"][\"approximations\"], require(\"highcharts\")[\"Color\"], require(\"highcharts\")[\"SeriesRegistry\"]);\n\telse\n\t\troot[\"Highcharts\"] = factory(root[\"Highcharts\"], root[\"Highcharts\"][\"dataGrouping\"][\"approximations\"], root[\"Highcharts\"][\"Color\"], root[\"Highcharts\"][\"SeriesRegistry\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__956__, __WEBPACK_EXTERNAL_MODULE__620__, __WEBPACK_EXTERNAL_MODULE__512__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 620:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__620__;\n\n/***/ }),\n\n/***/ 512:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__512__;\n\n/***/ }),\n\n/***/ 956:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__956__;\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 */ ichimoku_kinko_hyo_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// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"dataGrouping\",\"approximations\"],\"commonjs\":[\"highcharts\",\"dataGrouping\",\"approximations\"],\"commonjs2\":[\"highcharts\",\"dataGrouping\",\"approximations\"],\"root\":[\"Highcharts\",\"dataGrouping\",\"approximations\"]}\nvar highcharts_dataGrouping_approximations_commonjs_highcharts_dataGrouping_approximations_commonjs2_highcharts_dataGrouping_approximations_root_Highcharts_dataGrouping_approximations_ = __webpack_require__(956);\nvar highcharts_dataGrouping_approximations_commonjs_highcharts_dataGrouping_approximations_commonjs2_highcharts_dataGrouping_approximations_root_Highcharts_dataGrouping_approximations_default = /*#__PURE__*/__webpack_require__.n(highcharts_dataGrouping_approximations_commonjs_highcharts_dataGrouping_approximations_commonjs2_highcharts_dataGrouping_approximations_root_Highcharts_dataGrouping_approximations_);\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"Color\"],\"commonjs\":[\"highcharts\",\"Color\"],\"commonjs2\":[\"highcharts\",\"Color\"],\"root\":[\"Highcharts\",\"Color\"]}\nvar highcharts_Color_commonjs_highcharts_Color_commonjs2_highcharts_Color_root_Highcharts_Color_ = __webpack_require__(620);\nvar highcharts_Color_commonjs_highcharts_Color_commonjs2_highcharts_Color_root_Highcharts_Color_default = /*#__PURE__*/__webpack_require__.n(highcharts_Color_commonjs_highcharts_Color_commonjs2_highcharts_Color_root_Highcharts_Color_);\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/Stock/Indicators/IKH/IKHIndicator.js\n/* *\n *\n *  License: www.highcharts.com/license\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 color = (highcharts_Color_commonjs_highcharts_Color_commonjs2_highcharts_Color_root_Highcharts_Color_default()).parse;\n\nvar SMAIndicator = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes.sma;\n\nvar defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend, isArray = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isArray, isNumber = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).isNumber, getClosestDistance = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).getClosestDistance, merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, objectEach = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).objectEach;\n/* *\n *\n *  Functions\n *\n * */\n/**\n * @private\n */\nfunction maxHigh(arr) {\n    return arr.reduce(function (max, res) {\n        return Math.max(max, res[1]);\n    }, -Infinity);\n}\n/**\n * @private\n */\nfunction minLow(arr) {\n    return arr.reduce(function (min, res) {\n        return Math.min(min, res[2]);\n    }, Infinity);\n}\n/**\n * @private\n */\nfunction highlowLevel(arr) {\n    return {\n        high: maxHigh(arr),\n        low: minLow(arr)\n    };\n}\n/**\n * Check two lines intersection (line a1-a2 and b1-b2)\n * Source: https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection\n * @private\n */\nfunction checkLineIntersection(a1, a2, b1, b2) {\n    if (a1 && a2 && b1 && b2) {\n        var saX = a2.plotX - a1.plotX, // Auxiliary section a2-a1 X\n            saY = a2.plotY - a1.plotY, // Auxiliary section a2-a1 Y\n            sbX = b2.plotX - b1.plotX, // Auxiliary section b2-b1 X\n            sbY = b2.plotY - b1.plotY, // Auxiliary section b2-b1 Y\n            sabX = a1.plotX - b1.plotX, // Auxiliary section a1-b1 X\n            sabY = a1.plotY - b1.plotY, // Auxiliary section a1-b1 Y\n            // First degree Bézier parameters\n            u = (-saY * sabX + saX * sabY) / (-sbX * saY + saX * sbY), t = (sbX * sabY - sbY * sabX) / (-sbX * saY + saX * sbY);\n        if (u >= 0 && u <= 1 && t >= 0 && t <= 1) {\n            return {\n                plotX: a1.plotX + t * saX,\n                plotY: a1.plotY + t * saY\n            };\n        }\n    }\n}\n/**\n * Parameter opt (indicator options object) include indicator, points,\n * nextPoints, color, options, gappedExtend and graph properties\n * @private\n */\nfunction drawSenkouSpan(opt) {\n    var indicator = opt.indicator;\n    indicator.points = opt.points;\n    indicator.nextPoints = opt.nextPoints;\n    indicator.color = opt.color;\n    indicator.options = merge(opt.options.senkouSpan.styles, opt.gap);\n    indicator.graph = opt.graph;\n    indicator.fillGraph = true;\n    highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().seriesTypes.sma.prototype.drawGraph.call(indicator);\n}\n/**\n * Data integrity in Ichimoku is different than default 'averages':\n * Point: [undefined, value, value, ...] is correct\n * Point: [undefined, undefined, undefined, ...] is incorrect\n * @private\n */\nfunction ichimokuAverages() {\n    var ret = [];\n    var isEmptyRange;\n    [].forEach.call(arguments, function (arr, i) {\n        ret.push(highcharts_dataGrouping_approximations_commonjs_highcharts_dataGrouping_approximations_commonjs2_highcharts_dataGrouping_approximations_root_Highcharts_dataGrouping_approximations_default().average(arr));\n        isEmptyRange = !isEmptyRange && typeof ret[i] === 'undefined';\n    });\n    // Return undefined when first elem. is undefined and let\n    // sum method handle null (#7377)\n    return isEmptyRange ? void 0 : ret;\n}\n/* *\n *\n *  Class\n *\n * */\n/**\n * The IKH series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.ikh\n *\n * @augments Highcharts.Series\n */\nvar IKHIndicator = /** @class */ (function (_super) {\n    __extends(IKHIndicator, _super);\n    function IKHIndicator() {\n        /* *\n         *\n         *  Static Properties\n         *\n         * */\n        var _this = _super !== null && _super.apply(this,\n            arguments) || this;\n        /* *\n         *\n         *  Properties\n         *\n         * */\n        _this.data = [];\n        _this.options = {};\n        _this.points = [];\n        _this.graphCollection = [];\n        return _this;\n    }\n    /* *\n     *\n     * Functions\n     *\n     * */\n    IKHIndicator.prototype.init = function () {\n        _super.prototype.init.apply(this, arguments);\n        // Set default color for lines:\n        this.options = merge({\n            tenkanLine: {\n                styles: {\n                    lineColor: this.color\n                }\n            },\n            kijunLine: {\n                styles: {\n                    lineColor: this.color\n                }\n            },\n            chikouLine: {\n                styles: {\n                    lineColor: this.color\n                }\n            },\n            senkouSpanA: {\n                styles: {\n                    lineColor: this.color,\n                    fill: color(this.color).setOpacity(0.5).get()\n                }\n            },\n            senkouSpanB: {\n                styles: {\n                    lineColor: this.color,\n                    fill: color(this.color).setOpacity(0.5).get()\n                }\n            },\n            senkouSpan: {\n                styles: {\n                    fill: color(this.color).setOpacity(0.2).get()\n                }\n            }\n        }, this.options);\n    };\n    IKHIndicator.prototype.toYData = function (point) {\n        return [\n            point.tenkanSen,\n            point.kijunSen,\n            point.chikouSpan,\n            point.senkouSpanA,\n            point.senkouSpanB\n        ];\n    };\n    IKHIndicator.prototype.translate = function () {\n        var indicator = this;\n        highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().seriesTypes.sma.prototype.translate.apply(indicator);\n        for (var _i = 0, _a = indicator.points; _i < _a.length; _i++) {\n            var point = _a[_i];\n            for (var _b = 0, _c = indicator.pointArrayMap; _b < _c.length; _b++) {\n                var key = _c[_b];\n                var pointValue = point[key];\n                if (isNumber(pointValue)) {\n                    point['plot' + key] = indicator.yAxis.toPixels(pointValue, true);\n                    // Add extra parameters for support tooltip in moved\n                    // lines\n                    point.plotY = point['plot' + key];\n                    point.tooltipPos = [\n                        point.plotX,\n                        point['plot' + key]\n                    ];\n                    point.isNull = false;\n                }\n            }\n        }\n    };\n    IKHIndicator.prototype.drawGraph = function () {\n        var indicator = this,\n            mainLinePoints = indicator.points,\n            mainLineOptions = indicator.options,\n            mainLinePath = indicator.graph,\n            mainColor = indicator.color,\n            gappedExtend = {\n                options: {\n                    gapSize: mainLineOptions.gapSize\n                }\n            },\n            pointArrayMapLength = indicator.pointArrayMap.length,\n            allIchimokuPoints = [\n                [],\n                [],\n                [],\n                [],\n                [],\n                []\n            ],\n            ikhMap = {\n                tenkanLine: allIchimokuPoints[0],\n                kijunLine: allIchimokuPoints[1],\n                chikouLine: allIchimokuPoints[2],\n                senkouSpanA: allIchimokuPoints[3],\n                senkouSpanB: allIchimokuPoints[4],\n                senkouSpan: allIchimokuPoints[5]\n            },\n            intersectIndexColl = [],\n            senkouSpanOptions = indicator\n                .options.senkouSpan,\n            color = senkouSpanOptions.color ||\n                senkouSpanOptions.styles.fill,\n            negativeColor = senkouSpanOptions.negativeColor, \n            // Points to create color and negativeColor senkouSpan\n            points = [\n                [], // Points color\n                [] // Points negative color\n            ], \n            // For span, we need an access to the next points, used in\n            // getGraphPath()\n            nextPoints = [\n                [], // Next points color\n                [] // Next points negative color\n            ];\n        var pointsLength = mainLinePoints.length,\n            lineIndex = 0,\n            position,\n            point,\n            i,\n            startIntersect,\n            endIntersect,\n            sectionPoints,\n            sectionNextPoints,\n            pointsPlotYSum,\n            nextPointsPlotYSum,\n            senkouSpanTempColor,\n            concatArrIndex,\n            j,\n            k;\n        indicator.ikhMap = ikhMap;\n        // Generate points for all lines and spans lines:\n        while (pointsLength--) {\n            point = mainLinePoints[pointsLength];\n            for (i = 0; i < pointArrayMapLength; i++) {\n                position = indicator.pointArrayMap[i];\n                if (defined(point[position])) {\n                    allIchimokuPoints[i].push({\n                        plotX: point.plotX,\n                        plotY: point['plot' + position],\n                        isNull: false\n                    });\n                }\n            }\n            if (negativeColor && pointsLength !== mainLinePoints.length - 1) {\n                // Check if lines intersect\n                var index = ikhMap.senkouSpanB.length - 1,\n                    intersect = checkLineIntersection(ikhMap.senkouSpanA[index - 1],\n                    ikhMap.senkouSpanA[index],\n                    ikhMap.senkouSpanB[index - 1],\n                    ikhMap.senkouSpanB[index]);\n                if (intersect) {\n                    var intersectPointObj = {\n                            plotX: intersect.plotX,\n                            plotY: intersect.plotY,\n                            isNull: false,\n                            intersectPoint: true\n                        };\n                    // Add intersect point to ichimoku points collection\n                    // Create senkouSpan sections\n                    ikhMap.senkouSpanA.splice(index, 0, intersectPointObj);\n                    ikhMap.senkouSpanB.splice(index, 0, intersectPointObj);\n                    intersectIndexColl.push(index);\n                }\n            }\n        }\n        // Modify options and generate lines:\n        objectEach(ikhMap, function (values, lineName) {\n            if (mainLineOptions[lineName] &&\n                lineName !== 'senkouSpan') {\n                // First line is rendered by default option\n                indicator.points = allIchimokuPoints[lineIndex];\n                indicator.options = merge(mainLineOptions[lineName].styles, gappedExtend);\n                indicator.graph = indicator['graph' + lineName];\n                indicator.fillGraph = false;\n                indicator.color = mainColor;\n                highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().seriesTypes.sma.prototype.drawGraph.call(indicator);\n                // Now save line\n                indicator['graph' + lineName] = indicator.graph;\n            }\n            lineIndex++;\n        });\n        // Generate senkouSpan area:\n        // If graphCollection exist then remove svg\n        // element and indicator property\n        if (indicator.graphCollection) {\n            for (var _i = 0, _a = indicator.graphCollection; _i < _a.length; _i++) {\n                var graphName = _a[_i];\n                indicator[graphName].destroy();\n                delete indicator[graphName];\n            }\n        }\n        // Clean graphCollection or initialize it\n        indicator.graphCollection = [];\n        // When user set negativeColor property\n        if (negativeColor && ikhMap.senkouSpanA[0] && ikhMap.senkouSpanB[0]) {\n            // Add first and last point to senkouSpan area sections\n            intersectIndexColl.unshift(0);\n            intersectIndexColl.push(ikhMap.senkouSpanA.length - 1);\n            // Populate points and nextPoints arrays\n            for (j = 0; j < intersectIndexColl.length - 1; j++) {\n                startIntersect = intersectIndexColl[j];\n                endIntersect = intersectIndexColl[j + 1];\n                sectionPoints = ikhMap.senkouSpanB.slice(startIntersect, endIntersect + 1);\n                sectionNextPoints = ikhMap.senkouSpanA.slice(startIntersect, endIntersect + 1);\n                // Add points to color or negativeColor arrays\n                // Check the middle point (if exist)\n                if (Math.floor(sectionPoints.length / 2) >= 1) {\n                    var x = Math.floor(sectionPoints.length / 2);\n                    // When middle points has equal values\n                    // Compare all points plotY value sum\n                    if (sectionPoints[x].plotY === sectionNextPoints[x].plotY) {\n                        pointsPlotYSum = 0;\n                        nextPointsPlotYSum = 0;\n                        for (k = 0; k < sectionPoints.length; k++) {\n                            pointsPlotYSum += sectionPoints[k].plotY;\n                            nextPointsPlotYSum += sectionNextPoints[k].plotY;\n                        }\n                        concatArrIndex =\n                            pointsPlotYSum > nextPointsPlotYSum ? 0 : 1;\n                        points[concatArrIndex] = points[concatArrIndex].concat(sectionPoints);\n                        nextPoints[concatArrIndex] = nextPoints[concatArrIndex].concat(sectionNextPoints);\n                    }\n                    else {\n                        // Compare middle point of the section\n                        concatArrIndex = (sectionPoints[x].plotY > sectionNextPoints[x].plotY) ? 0 : 1;\n                        points[concatArrIndex] = points[concatArrIndex].concat(sectionPoints);\n                        nextPoints[concatArrIndex] = nextPoints[concatArrIndex].concat(sectionNextPoints);\n                    }\n                }\n                else {\n                    // Compare first point of the section\n                    concatArrIndex = (sectionPoints[0].plotY > sectionNextPoints[0].plotY) ? 0 : 1;\n                    points[concatArrIndex] = points[concatArrIndex].concat(sectionPoints);\n                    nextPoints[concatArrIndex] = nextPoints[concatArrIndex].concat(sectionNextPoints);\n                }\n            }\n            // Render color and negativeColor paths\n            ['graphsenkouSpanColor', 'graphsenkouSpanNegativeColor'].forEach(function (areaName, i) {\n                if (points[i].length && nextPoints[i].length) {\n                    senkouSpanTempColor = i === 0 ? color : negativeColor;\n                    drawSenkouSpan({\n                        indicator: indicator,\n                        points: points[i],\n                        nextPoints: nextPoints[i],\n                        color: senkouSpanTempColor,\n                        options: mainLineOptions,\n                        gap: gappedExtend,\n                        graph: indicator[areaName]\n                    });\n                    // Now save line\n                    indicator[areaName] = indicator.graph;\n                    indicator.graphCollection.push(areaName);\n                }\n            });\n        }\n        else {\n            // When user set only senkouSpan style.fill property\n            drawSenkouSpan({\n                indicator: indicator,\n                points: ikhMap.senkouSpanB,\n                nextPoints: ikhMap.senkouSpanA,\n                color: color,\n                options: mainLineOptions,\n                gap: gappedExtend,\n                graph: indicator.graphsenkouSpan\n            });\n            // Now save line\n            indicator.graphsenkouSpan = indicator.graph;\n        }\n        // Clean temporary properties:\n        delete indicator.nextPoints;\n        delete indicator.fillGraph;\n        // Restore options and draw the Tenkan line:\n        indicator.points = mainLinePoints;\n        indicator.options = mainLineOptions;\n        indicator.graph = mainLinePath;\n        indicator.color = mainColor;\n    };\n    IKHIndicator.prototype.getGraphPath = function (points) {\n        var indicator = this;\n        var path = [],\n            spanA,\n            spanAarr = [];\n        points = points || this.points;\n        // Render Senkou Span\n        if (indicator.fillGraph && indicator.nextPoints) {\n            spanA = highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().seriesTypes.sma.prototype.getGraphPath.call(indicator, \n            // Reverse points, so Senkou Span A will start from the end:\n            indicator.nextPoints);\n            if (spanA && spanA.length) {\n                spanA[0][0] = 'L';\n                path = highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().seriesTypes.sma.prototype.getGraphPath\n                    .call(indicator, points);\n                spanAarr = spanA.slice(0, path.length);\n                for (var i = spanAarr.length - 1; i >= 0; i--) {\n                    path.push(spanAarr[i]);\n                }\n            }\n        }\n        else {\n            path = highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().seriesTypes.sma.prototype.getGraphPath\n                .apply(indicator, arguments);\n        }\n        return path;\n    };\n    IKHIndicator.prototype.getValues = function (series, params) {\n        var period = params.period,\n            periodTenkan = params.periodTenkan,\n            periodSenkouSpanB = params.periodSenkouSpanB,\n            xVal = series.xData,\n            yVal = series.yData,\n            xAxis = series.xAxis,\n            yValLen = (yVal && yVal.length) || 0,\n            closestPointRange = getClosestDistance(xAxis.series.map(function (s) { return s.getColumn('x'); })),\n            IKH = [],\n            xData = [];\n        var date,\n            slicedTSY,\n            slicedKSY,\n            slicedSSBY,\n            pointTS,\n            pointKS,\n            pointSSB,\n            i,\n            TS,\n            KS,\n            CS,\n            SSA,\n            SSB;\n        // Ikh requires close value\n        if (xVal.length <= period ||\n            !isArray(yVal[0]) ||\n            yVal[0].length !== 4) {\n            return;\n        }\n        // Add timestamps at the beginning\n        var dateStart = xVal[0] - period * closestPointRange;\n        for (i = 0; i < period; i++) {\n            xData.push(dateStart + i * closestPointRange);\n        }\n        for (i = 0; i < yValLen; i++) {\n            // Tenkan Sen\n            if (i >= periodTenkan) {\n                slicedTSY = yVal.slice(i - periodTenkan, i);\n                pointTS = highlowLevel(slicedTSY);\n                TS = (pointTS.high + pointTS.low) / 2;\n            }\n            if (i >= period) {\n                slicedKSY = yVal.slice(i - period, i);\n                pointKS = highlowLevel(slicedKSY);\n                KS = (pointKS.high + pointKS.low) / 2;\n                SSA = (TS + KS) / 2;\n            }\n            if (i >= periodSenkouSpanB) {\n                slicedSSBY = yVal.slice(i - periodSenkouSpanB, i);\n                pointSSB = highlowLevel(slicedSSBY);\n                SSB = (pointSSB.high + pointSSB.low) / 2;\n            }\n            CS = yVal[i][3];\n            date = xVal[i];\n            if (typeof IKH[i] === 'undefined') {\n                IKH[i] = [];\n            }\n            if (typeof IKH[i + period - 1] === 'undefined') {\n                IKH[i + period - 1] = [];\n            }\n            IKH[i + period - 1][0] = TS;\n            IKH[i + period - 1][1] = KS;\n            IKH[i + period - 1][2] = void 0;\n            if (typeof IKH[i + 1] === 'undefined') {\n                IKH[i + 1] = [];\n            }\n            IKH[i + 1][2] = CS;\n            if (i <= period) {\n                IKH[i + period - 1][3] = void 0;\n                IKH[i + period - 1][4] = void 0;\n            }\n            if (typeof IKH[i + 2 * period - 2] === 'undefined') {\n                IKH[i + 2 * period - 2] = [];\n            }\n            IKH[i + 2 * period - 2][3] = SSA;\n            IKH[i + 2 * period - 2][4] = SSB;\n            xData.push(date);\n        }\n        // Add timestamps for further points\n        for (i = 1; i <= period; i++) {\n            xData.push(date + i * closestPointRange);\n        }\n        return {\n            values: IKH,\n            xData: xData,\n            yData: IKH\n        };\n    };\n    /**\n     * Ichimoku Kinko Hyo (IKH). This series requires `linkedTo` option to be\n     * set.\n     *\n     * @sample stock/indicators/ichimoku-kinko-hyo\n     *         Ichimoku Kinko Hyo indicator\n     *\n     * @extends      plotOptions.sma\n     * @since        6.0.0\n     * @excluding    allAreas, colorAxis, compare, compareBase, joinBy, keys,\n     *               navigatorOptions, pointInterval, pointIntervalUnit,\n     *               pointPlacement, pointRange, pointStart, showInNavigator,\n     *               stacking\n     * @product      highstock\n     * @requires     stock/indicators/indicators\n     * @requires     stock/indicators/ichimoku-kinko-hyo\n     * @optionparent plotOptions.ikh\n     */\n    IKHIndicator.defaultOptions = merge(SMAIndicator.defaultOptions, {\n        /**\n         * @excluding index\n         */\n        params: {\n            index: void 0, // Unused index, do not inherit (#15362)\n            period: 26,\n            /**\n             * The base period for Tenkan calculations.\n             */\n            periodTenkan: 9,\n            /**\n             * The base period for Senkou Span B calculations\n             */\n            periodSenkouSpanB: 52\n        },\n        marker: {\n            enabled: false\n        },\n        tooltip: {\n            pointFormat: '<span style=\"color:{point.color}\">\\u25CF</span> <b> {series.name}</b><br/>' +\n                'TENKAN SEN: {point.tenkanSen:.3f}<br/>' +\n                'KIJUN SEN: {point.kijunSen:.3f}<br/>' +\n                'CHIKOU SPAN: {point.chikouSpan:.3f}<br/>' +\n                'SENKOU SPAN A: {point.senkouSpanA:.3f}<br/>' +\n                'SENKOU SPAN B: {point.senkouSpanB:.3f}<br/>'\n        },\n        /**\n         * The styles for Tenkan line\n         */\n        tenkanLine: {\n            styles: {\n                /**\n                 * Pixel width of the line.\n                 */\n                lineWidth: 1,\n                /**\n                 * Color of the line.\n                 *\n                 * @type {Highcharts.ColorString}\n                 */\n                lineColor: void 0\n            }\n        },\n        /**\n         * The styles for Kijun line\n         */\n        kijunLine: {\n            styles: {\n                /**\n                 * Pixel width of the line.\n                 */\n                lineWidth: 1,\n                /**\n                 * Color of the line.\n                 *\n                 * @type {Highcharts.ColorString}\n                 */\n                lineColor: void 0\n            }\n        },\n        /**\n         * The styles for Chikou line\n         */\n        chikouLine: {\n            styles: {\n                /**\n                 * Pixel width of the line.\n                 */\n                lineWidth: 1,\n                /**\n                 * Color of the line.\n                 *\n                 * @type {Highcharts.ColorString}\n                 */\n                lineColor: void 0\n            }\n        },\n        /**\n         * The styles for Senkou Span A line\n         */\n        senkouSpanA: {\n            styles: {\n                /**\n                 * Pixel width of the line.\n                 */\n                lineWidth: 1,\n                /**\n                 * Color of the line.\n                 *\n                 * @type {Highcharts.ColorString}\n                 */\n                lineColor: void 0\n            }\n        },\n        /**\n         * The styles for Senkou Span B line\n         */\n        senkouSpanB: {\n            styles: {\n                /**\n                 * Pixel width of the line.\n                 */\n                lineWidth: 1,\n                /**\n                 * Color of the line.\n                 *\n                 * @type {Highcharts.ColorString}\n                 */\n                lineColor: void 0\n            }\n        },\n        /**\n         * The styles for area between Senkou Span A and B.\n         */\n        senkouSpan: {\n            /**\n             * Color of the area between Senkou Span A and B,\n             * when Senkou Span A is above Senkou Span B. Note that if\n             * a `style.fill` is defined, the `color` takes precedence and\n             * the `style.fill` is ignored.\n             *\n             * @see [senkouSpan.styles.fill](#series.ikh.senkouSpan.styles.fill)\n             *\n             * @sample stock/indicators/ichimoku-kinko-hyo\n             *         Ichimoku Kinko Hyo color\n             *\n             * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n             * @since     7.0.0\n             * @apioption plotOptions.ikh.senkouSpan.color\n             */\n            /**\n             * Color of the area between Senkou Span A and B,\n             * when Senkou Span A is under Senkou Span B.\n             *\n             * @sample stock/indicators/ikh-negative-color\n             *         Ichimoku Kinko Hyo negativeColor\n             *\n             * @type      {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n             * @since     7.0.0\n             * @apioption plotOptions.ikh.senkouSpan.negativeColor\n             */\n            styles: {\n                /**\n                 * Color of the area between Senkou Span A and B.\n                 *\n                 * @deprecated\n                 * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n                 */\n                fill: 'rgba(255, 0, 0, 0.5)'\n            }\n        },\n        dataGrouping: {\n            approximation: 'ichimoku-averages'\n        }\n    });\n    return IKHIndicator;\n}(SMAIndicator));\nextend(IKHIndicator.prototype, {\n    pointArrayMap: [\n        'tenkanSen',\n        'kijunSen',\n        'chikouSpan',\n        'senkouSpanA',\n        'senkouSpanB'\n    ],\n    pointValKey: 'tenkanSen',\n    nameComponents: ['periodSenkouSpanB', 'period', 'periodTenkan']\n});\n/* *\n *\n *  Registry\n *\n * */\n(highcharts_dataGrouping_approximations_commonjs_highcharts_dataGrouping_approximations_commonjs2_highcharts_dataGrouping_approximations_root_Highcharts_dataGrouping_approximations_default())[\"ichimoku-averages\"] = ichimokuAverages;\nhighcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('ikh', IKHIndicator);\n/* *\n *\n *  Default Export\n *\n * */\n/* harmony default export */ var IKH_IKHIndicator = ((/* unused pure expression or super */ null && (IKHIndicator)));\n/* *\n *\n *  API Options\n *\n * */\n/**\n * A `IKH` series. If the [type](#series.ikh.type) option is not\n * specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends   series,plotOptions.ikh\n * @since     6.0.0\n * @product   highstock\n * @excluding dataParser, dataURL\n * @requires  stock/indicators/indicators\n * @requires  stock/indicators/ichimoku-kinko-hyo\n * @apioption series.ikh\n */\n(''); // Add doclet above to transpiled file\n\n;// ./code/es5/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js\n\n\n\n\n/* harmony default export */ var ichimoku_kinko_hyo_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__956__","__WEBPACK_EXTERNAL_MODULE__620__","__WEBPACK_EXTERNAL_MODULE__512__","extendStatics","__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__","ichimoku_kinko_hyo_src","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default","highcharts_dataGrouping_approximations_commonjs_highcharts_dataGrouping_approximations_commonjs2_highcharts_dataGrouping_approximations_root_Highcharts_dataGrouping_approximations_","highcharts_dataGrouping_approximations_commonjs_highcharts_dataGrouping_approximations_commonjs2_highcharts_dataGrouping_approximations_root_Highcharts_dataGrouping_approximations_default","highcharts_Color_commonjs_highcharts_Color_commonjs2_highcharts_Color_root_Highcharts_Color_","highcharts_Color_commonjs_highcharts_Color_commonjs2_highcharts_Color_root_Highcharts_Color_default","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default","__extends","b","setPrototypeOf","__proto__","Array","p","__","constructor","create","color","parse","SMAIndicator","seriesTypes","sma","defined","extend","isArray","isNumber","getClosestDistance","merge","objectEach","highlowLevel","arr","high","reduce","max","res","Math","Infinity","low","min","drawSenkouSpan","opt","indicator","points","nextPoints","options","senkouSpan","styles","gap","graph","fillGraph","drawGraph","IKHIndicator","_super","_this","apply","arguments","data","graphCollection","init","tenkanLine","lineColor","kijunLine","chikouLine","senkouSpanA","fill","setOpacity","senkouSpanB","toYData","point","tenkanSen","kijunSen","chikouSpan","translate","_i","_a","length","_b","_c","pointArrayMap","pointValue","yAxis","toPixels","plotY","tooltipPos","plotX","isNull","position","i","startIntersect","endIntersect","sectionPoints","sectionNextPoints","pointsPlotYSum","nextPointsPlotYSum","senkouSpanTempColor","concatArrIndex","j","k","mainLinePoints","mainLineOptions","mainLinePath","mainColor","gappedExtend","gapSize","pointArrayMapLength","allIchimokuPoints","ikhMap","intersectIndexColl","senkouSpanOptions","negativeColor","pointsLength","lineIndex","push","index","intersect","checkLineIntersection","a1","a2","b1","b2","saX","saY","sbX","sbY","sabX","sabY","u","t","intersectPointObj","intersectPoint","splice","values","lineName","graphName","destroy","unshift","slice","floor","x","concat","forEach","areaName","graphsenkouSpan","getGraphPath","spanA","path","spanAarr","getValues","series","params","date","pointTS","pointKS","pointSSB","TS","KS","CS","SSA","SSB","period","periodTenkan","periodSenkouSpanB","xVal","xData","yVal","yData","xAxis","yValLen","closestPointRange","map","s","getColumn","IKH","dateStart","defaultOptions","marker","enabled","tooltip","pointFormat","lineWidth","dataGrouping","approximation","pointValKey","nameComponents","isEmptyRange","ret","average","registerSeriesType"],"mappings":"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"}

Hacked By AnonymousFox1.0, Coded By AnonymousFox