Hacked By AnonymousFox
{"version":3,"sources":["<anon>"],"sourcesContent":["/**\n * @license Highcharts JS v12.1.2 (2025-01-09)\n * @module modules/arc-diagram\n * @requires highcharts/modules/sankey\n *\n * Arc diagram module\n *\n * (c) 2021 Piotr Madej\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\")[\"Series\"], require(\"highcharts\")[\"SVGRenderer\"], require(\"highcharts\")[\"SVGElement\"]);\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"highcharts/modules/arc-diagram\", [[\"highcharts/highcharts\"], [\"highcharts/highcharts\",\"SeriesRegistry\"], [\"highcharts/highcharts\",\"Series\"], [\"highcharts/highcharts\",\"SVGRenderer\"], [\"highcharts/highcharts\",\"SVGElement\"]], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"highcharts/modules/arc-diagram\"] = factory(require(\"highcharts\"), require(\"highcharts\")[\"SeriesRegistry\"], require(\"highcharts\")[\"Series\"], require(\"highcharts\")[\"SVGRenderer\"], require(\"highcharts\")[\"SVGElement\"]);\n\telse\n\t\troot[\"Highcharts\"] = factory(root[\"Highcharts\"], root[\"Highcharts\"][\"SeriesRegistry\"], root[\"Highcharts\"][\"Series\"], root[\"Highcharts\"][\"SVGRenderer\"], root[\"Highcharts\"][\"SVGElement\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__512__, __WEBPACK_EXTERNAL_MODULE__820__, __WEBPACK_EXTERNAL_MODULE__540__, __WEBPACK_EXTERNAL_MODULE__28__) {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 28:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__28__;\n\n/***/ }),\n\n/***/ 540:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__540__;\n\n/***/ }),\n\n/***/ 820:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__820__;\n\n/***/ }),\n\n/***/ 512:\n/***/ (function(module) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__512__;\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 */ arc_diagram_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\",\"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/Series/NodesComposition.js\n/* *\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar _a = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).series, seriesProto = _a.prototype, pointProto = _a.prototype.pointClass.prototype;\n\nvar defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend, find = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).find, merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick;\n/* *\n *\n * Composition\n *\n * */\nvar NodesComposition;\n(function (NodesComposition) {\n /* *\n *\n * Declarations\n *\n * */\n /* *\n *\n * Functions\n *\n * */\n /**\n * @private\n */\n function compose(PointClass, SeriesClass) {\n var pointProto = PointClass.prototype,\n seriesProto = SeriesClass.prototype;\n pointProto.setNodeState = setNodeState;\n pointProto.setState = setNodeState;\n pointProto.update = updateNode;\n seriesProto.destroy = destroy;\n seriesProto.setData = setData;\n return SeriesClass;\n }\n NodesComposition.compose = compose;\n /**\n * Create a single node that holds information on incoming and outgoing\n * links.\n * @private\n */\n function createNode(id) {\n var PointClass = this.pointClass,\n findById = function (nodes,\n id) { return find(nodes,\n function (node) { return node.id === id; }); };\n var node = findById(this.nodes,\n id),\n options;\n if (!node) {\n options = this.options.nodes && findById(this.options.nodes, id);\n var newNode_1 = new PointClass(this,\n extend({\n className: 'highcharts-node',\n isNode: true,\n id: id,\n y: 1 // Pass isNull test\n },\n options));\n newNode_1.linksTo = [];\n newNode_1.linksFrom = [];\n /**\n * Return the largest sum of either the incoming or outgoing links.\n * @private\n */\n newNode_1.getSum = function () {\n var sumTo = 0,\n sumFrom = 0;\n newNode_1.linksTo.forEach(function (link) {\n sumTo += link.weight || 0;\n });\n newNode_1.linksFrom.forEach(function (link) {\n sumFrom += link.weight || 0;\n });\n return Math.max(sumTo, sumFrom);\n };\n /**\n * Get the offset in weight values of a point/link.\n * @private\n */\n newNode_1.offset = function (point, coll) {\n var offset = 0;\n for (var i = 0; i < newNode_1[coll].length; i++) {\n if (newNode_1[coll][i] === point) {\n return offset;\n }\n offset += newNode_1[coll][i].weight;\n }\n };\n // Return true if the node has a shape, otherwise all links are\n // outgoing.\n newNode_1.hasShape = function () {\n var outgoing = 0;\n newNode_1.linksTo.forEach(function (link) {\n if (link.outgoing) {\n outgoing++;\n }\n });\n return (!newNode_1.linksTo.length ||\n outgoing !== newNode_1.linksTo.length);\n };\n newNode_1.index = this.nodes.push(newNode_1) - 1;\n node = newNode_1;\n }\n node.formatPrefix = 'node';\n // For use in formats\n node.name = node.name || node.options.id || '';\n // Mass is used in networkgraph:\n node.mass = pick(\n // Node:\n node.options.mass, node.options.marker && node.options.marker.radius, \n // Series:\n this.options.marker && this.options.marker.radius, \n // Default:\n 4);\n return node;\n }\n NodesComposition.createNode = createNode;\n /**\n * Destroy all nodes and links.\n * @private\n */\n function destroy() {\n // Nodes must also be destroyed (#8682, #9300)\n this.data = []\n .concat(this.points || [], this.nodes);\n return seriesProto.destroy.apply(this, arguments);\n }\n NodesComposition.destroy = destroy;\n /**\n * Extend generatePoints by adding the nodes, which are Point objects but\n * pushed to the this.nodes array.\n * @private\n */\n function generatePoints() {\n var _this = this;\n var chart = this.chart,\n nodeLookup = {};\n seriesProto.generatePoints.call(this);\n if (!this.nodes) {\n this.nodes = []; // List of Point-like node items\n }\n this.colorCounter = 0;\n // Reset links from previous run\n this.nodes.forEach(function (node) {\n node.linksFrom.length = 0;\n node.linksTo.length = 0;\n node.level = node.options.level;\n });\n // Create the node list and set up links\n this.points.forEach(function (point) {\n if (defined(point.from)) {\n if (!nodeLookup[point.from]) {\n nodeLookup[point.from] = _this.createNode(point.from);\n }\n nodeLookup[point.from].linksFrom.push(point);\n point.fromNode = nodeLookup[point.from];\n // Point color defaults to the fromNode's color\n if (chart.styledMode) {\n point.colorIndex = pick(point.options.colorIndex, nodeLookup[point.from].colorIndex);\n }\n else {\n point.color =\n point.options.color || nodeLookup[point.from].color;\n }\n }\n if (defined(point.to)) {\n if (!nodeLookup[point.to]) {\n nodeLookup[point.to] = _this.createNode(point.to);\n }\n nodeLookup[point.to].linksTo.push(point);\n point.toNode = nodeLookup[point.to];\n }\n point.name = point.name || point.id; // For use in formats\n }, this);\n // Store lookup table for later use\n this.nodeLookup = nodeLookup;\n }\n NodesComposition.generatePoints = generatePoints;\n /**\n * Destroy all nodes on setting new data\n * @private\n */\n function setData() {\n if (this.nodes) {\n this.nodes.forEach(function (node) {\n node.destroy();\n });\n this.nodes.length = 0;\n }\n seriesProto.setData.apply(this, arguments);\n }\n /**\n * When hovering node, highlight all connected links. When hovering a link,\n * highlight all connected nodes.\n * @private\n */\n function setNodeState(state) {\n var args = arguments,\n others = this.isNode ? this.linksTo.concat(this.linksFrom) :\n [this.fromNode,\n this.toNode];\n if (state !== 'select') {\n others.forEach(function (linkOrNode) {\n if (linkOrNode && linkOrNode.series) {\n pointProto.setState.apply(linkOrNode, args);\n if (!linkOrNode.isNode) {\n if (linkOrNode.fromNode.graphic) {\n pointProto.setState.apply(linkOrNode.fromNode, args);\n }\n if (linkOrNode.toNode && linkOrNode.toNode.graphic) {\n pointProto.setState.apply(linkOrNode.toNode, args);\n }\n }\n }\n });\n }\n pointProto.setState.apply(this, args);\n }\n NodesComposition.setNodeState = setNodeState;\n /**\n * When updating a node, don't update `series.options.data`, but\n * `series.options.nodes`\n * @private\n */\n function updateNode(options, redraw, animation, runEvent) {\n var _this = this;\n var nodes = this.series.options.nodes,\n data = this.series.options.data,\n dataLength = (data === null || data === void 0 ? void 0 : data.length) || 0,\n linkConfig = data === null || data === void 0 ? void 0 : data[this.index];\n pointProto.update.call(this, options, this.isNode ? false : redraw, // Hold the redraw for nodes\n animation, runEvent);\n if (this.isNode) {\n // `this.index` refers to `series.nodes`, not `options.nodes` array\n var nodeIndex = (nodes || [])\n .reduce(// Array.findIndex needs a polyfill\n function (prevIndex,\n n,\n index) {\n return (_this.id === n.id ? index : prevIndex);\n }, -1), \n // Merge old config with new config. New config is stored in\n // options.data, because of default logic in point.update()\n nodeConfig = merge(nodes && nodes[nodeIndex] || {}, (data === null || data === void 0 ? void 0 : data[this.index]) || {});\n // Restore link config\n if (data) {\n if (linkConfig) {\n data[this.index] = linkConfig;\n }\n else {\n // Remove node from config if there's more nodes than links\n data.length = dataLength;\n }\n }\n // Set node config\n if (nodes) {\n if (nodeIndex >= 0) {\n nodes[nodeIndex] = nodeConfig;\n }\n else {\n nodes.push(nodeConfig);\n }\n }\n else {\n this.series.options.nodes = [nodeConfig];\n }\n if (pick(redraw, true)) {\n this.series.chart.redraw(animation);\n }\n }\n }\n NodesComposition.updateNode = updateNode;\n})(NodesComposition || (NodesComposition = {}));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Series_NodesComposition = (NodesComposition);\n\n;// ./code/es5/es-modules/Series/ArcDiagram/ArcDiagramPoint.js\n/* *\n *\n * Arc diagram module\n *\n * (c) 2018-2024 Torstein Honsi\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 SankeyPoint = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes.sankey.prototype.pointClass;\n\nvar ArcDiagramPoint_extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend;\n/* *\n *\n * Class\n *\n * */\nvar ArcDiagramPoint = /** @class */ (function (_super) {\n __extends(ArcDiagramPoint, _super);\n function ArcDiagramPoint() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n /* eslint-disable valid-jsdoc */\n ArcDiagramPoint.prototype.isValid = function () {\n // No null points here\n return true;\n };\n return ArcDiagramPoint;\n}(SankeyPoint));\nArcDiagramPoint_extend(ArcDiagramPoint.prototype, {\n setState: Series_NodesComposition.setNodeState\n});\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var ArcDiagram_ArcDiagramPoint = (ArcDiagramPoint);\n\n;// ./code/es5/es-modules/Series/ArcDiagram/ArcDiagramSeriesDefaults.js\n/* *\n *\n * Arc diagram module\n *\n * (c) 2021 Piotr Madej, Grzegorz Blachliński\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n/* *\n *\n * API Options\n *\n * */\n/**\n * Arc diagram series is a chart drawing style in which\n * the vertices of the chart are positioned along a line\n * on the Euclidean plane and the edges are drawn as a semicircle\n * in one of the two half-planes delimited by the line,\n * or as smooth curves formed by sequences of semicircles.\n *\n * @sample highcharts/demo/arc-diagram/\n * Arc Diagram\n *\n * @extends plotOptions.sankey\n * @since 10.0.0\n * @product highcharts\n * @requires modules/arc-diagram\n * @exclude curveFactor, connectEnds, connectNulls, colorAxis, colorKey,\n * dataSorting, dragDrop, getExtremesFromAll, legendSymbolColor,\n * nodeAlignment, nodePadding, centerInCategory, pointInterval,\n * pointIntervalUnit, pointPlacement, pointStart, relativeXValue,\n * softThreshold, stack, stacking, step, xAxis, yAxis\n * @optionparent plotOptions.arcdiagram\n */\nvar ArcDiagramSeriesDefaults = {\n /**\n * The option to center links rather than position them one after\n * another\n *\n * @type {boolean}\n * @since 10.0.0\n * @default false\n * @product highcharts\n */\n centeredLinks: false,\n /**\n * Whether nodes with different values should have the same size. If set\n * to true, all nodes are calculated based on the `nodePadding` and\n * current `plotArea`. It is possible to override it using the\n * `marker.radius` option.\n *\n * @type {boolean}\n * @since 10.0.0\n * @default false\n * @product highcharts\n */\n equalNodes: false,\n /**\n * Options for the data labels appearing on top of the nodes and links.\n * For arc diagram charts, data labels are visible for the nodes by\n * default, but hidden for links. This is controlled by modifying the\n * `nodeFormat`, and the `format` that applies to links and is an empty\n * string by default.\n *\n * @declare Highcharts.SeriesArcDiagramDataLabelsOptionsObject\n *\n * @private\n */\n dataLabels: {\n /**\n * Options for a _link_ label text which should follow link\n * connection. Border and background are disabled for a label that\n * follows a path.\n *\n * **Note:** Only SVG-based renderer supports this option. Setting\n * `useHTML` to true will disable this option.\n *\n * @extends plotOptions.networkgraph.dataLabels.linkTextPath\n * @since 10.0.0\n */\n linkTextPath: {\n /**\n * @type {Highcharts.SVGAttributes}\n * @default {\"startOffset\":\"25%\"}\n */\n attributes: {\n /**\n * @ignore-option\n */\n startOffset: '25%'\n }\n }\n },\n /**\n * The radius of the link arc. If not set, series renders a semi-circle\n * between the nodes, except when overflowing the edge of the plot area,\n * in which case an arc touching the edge is rendered. If `linkRadius`\n * is set, an arc extending to the given value is rendered.\n *\n * @type {number}\n * @since 10.0.0\n * @default undefined\n * @product highcharts\n * @apioption series.arcdiagram.linkRadius\n */\n /**\n * The global link weight, in pixels. If not set, width is calculated\n * per link, depending on the weight value.\n *\n * @sample highcharts/series-arcdiagram/link-weight\n * Link weight\n *\n * @type {number}\n * @since 10.0.0\n * @default undefined\n * @product highcharts\n * @apioption series.arcdiagram.linkWeight\n */\n /**\n * @extends plotOptions.series.marker\n * @excluding enabled, enabledThreshold, height, width\n */\n marker: {\n fillOpacity: 1,\n lineWidth: 0,\n states: {},\n symbol: 'circle'\n },\n /**\n * The offset of an arc diagram nodes column in relation to the\n * `plotArea`. The offset equal to 50% places nodes in the center of a\n * chart. By default the series is placed so that the biggest node is\n * touching the bottom border of the `plotArea`.\n *\n * @type {string}\n * @since 10.0.0\n * @default '100%'\n * @product highcharts\n * @apioption series.arcdiagram.offset\n */\n offset: '100%',\n /**\n * Whether the series should be placed on the other side of the\n * `plotArea`.\n *\n * @type {boolean}\n * @since 10.0.0\n * @default false\n * @product highcharts\n */\n reversed: false\n};\n/**\n * An `arcdiagram` series. If the [type](#series.arcdiagram.type)\n * option is not specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.arcdiagram\n * @exclude dataSorting, boostThreshold, boostBlending, curveFactor,\n * connectEnds, connectNulls, colorAxis, colorKey, dataSorting,\n * dragDrop, getExtremesFromAll, nodePadding, centerInCategory,\n * pointInterval, pointIntervalUnit, pointPlacement,\n * pointStart, relativeXValue, softThreshold, stack,\n * stacking, step, xAxis, yAxis\n * @product highcharts\n * @requires modules/sankey\n * @requires modules/arc-diagram\n * @apioption series.arcdiagram\n */\n/**\n * @extends plotOptions.series.marker\n * @excluding enabled, enabledThreshold, height, radius, width\n * @apioption series.arcdiagram.marker\n */\n/**\n * @type {Highcharts.SeriesArcDiagramDataLabelsOptionsObject|Array<Highcharts.SeriesArcDiagramDataLabelsOptionsObject>}\n * @product highcharts\n * @apioption series.arcdiagram.data.dataLabels\n */\n/**\n * A collection of options for the individual nodes. The nodes in an arc diagram\n * are auto-generated instances of `Highcharts.Point`, but options can be\n * applied here and linked by the `id`.\n *\n * @extends series.sankey.nodes\n * @type {Array<*>}\n * @product highcharts\n * @excluding column, level\n * @apioption series.arcdiagram.nodes\n */\n/**\n * Individual data label for each node. The options are the same as the ones for\n * [series.arcdiagram.dataLabels](#series.arcdiagram.dataLabels).\n *\n * @type\n * {Highcharts.SeriesArcDiagramDataLabelsOptionsObject|Array<Highcharts.SeriesArcDiagramDataLabelsOptionsObject>}\n *\n * @apioption series.arcdiagram.nodes.dataLabels\n */\n/**\n * Individual data label for each node. The options are the same as the ones for\n * [series.arcdiagram.dataLabels](#series.arcdiagram.dataLabels).\n *\n * @type\n * {Highcharts.SeriesArcDiagramDataLabelsOptionsObject|Array<Highcharts.SeriesArcDiagramDataLabelsOptionsObject>}\n *\n */\n/**\n * An array of data points for the series. For the `arcdiagram` series type,\n * points can be given in the following way:\n *\n * An array of objects with named values. The following snippet shows only a few\n * settings, see the complete options set below. If the total number of data\n * points exceeds the series' [turboThreshold](#series.area.turboThreshold),\n * this option is not available.\n *\n * ```js\n * data: [{\n * from: 'Category1',\n * to: 'Category2',\n * weight: 2\n * }, {\n * from: 'Category1',\n * to: 'Category3',\n * weight: 5\n * }]\n * ```\n *\n * @type {Array<*>}\n * @extends series.sankey.data\n * @product highcharts\n * @excluding outgoing, dataLabels\n * @apioption series.arcdiagram.data\n */\n''; // Adds doclets above to the transpiled file\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var ArcDiagram_ArcDiagramSeriesDefaults = (ArcDiagramSeriesDefaults);\n\n;// ./code/es5/es-modules/Series/Sankey/SankeyColumnComposition.js\n/* *\n *\n * Sankey diagram module\n *\n * (c) 2010-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\nvar SankeyColumnComposition_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, getAlignFactor = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).getAlignFactor, relativeLength = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).relativeLength;\n/* *\n *\n * Composition\n *\n * */\nvar SankeyColumnComposition;\n(function (SankeyColumnComposition) {\n /* *\n *\n * Declarations\n *\n * */\n /* *\n *\n * Functions\n *\n * */\n /**\n * SankeyColumn Composition\n * @private\n * @function Highcharts.SankeyColumn#compose\n *\n * @param {Array<SankeyPoint>} points\n * The array of nodes\n * @param {SankeySeries} series\n * Series connected to column\n * @return {ArrayComposition} SankeyColumnArray\n */\n function compose(points, series) {\n var sankeyColumnArray = points;\n sankeyColumnArray.sankeyColumn =\n new SankeyColumnAdditions(sankeyColumnArray, series);\n return sankeyColumnArray;\n }\n SankeyColumnComposition.compose = compose;\n /* *\n *\n * Classes\n *\n * */\n var SankeyColumnAdditions = /** @class */ (function () {\n /* *\n *\n * Constructor\n *\n * */\n function SankeyColumnAdditions(points, series) {\n this.points = points;\n this.series = series;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Calculate translation factor used in column and nodes distribution\n * @private\n * @function Highcharts.SankeyColumn#getTranslationFactor\n *\n * @param {SankeySeries} series\n * The Series\n * @return {number} TranslationFactor\n * Translation Factor\n */\n SankeyColumnAdditions.prototype.getTranslationFactor = function (series) {\n var column = this.points,\n nodes = column.slice(),\n chart = series.chart,\n minLinkWidth = series.options.minLinkWidth || 0;\n var skipPoint,\n factor = 0,\n i,\n remainingHeight = ((chart.plotSizeY || 0) -\n (series.options.borderWidth || 0) -\n (column.length - 1) * series.nodePadding);\n // Because the minLinkWidth option doesn't obey the direct\n // translation, we need to run translation iteratively, check\n // node heights, remove those nodes affected by minLinkWidth,\n // check again, etc.\n while (column.length) {\n factor = remainingHeight / column.sankeyColumn.sum();\n skipPoint = false;\n i = column.length;\n while (i--) {\n if (column[i].getSum() * factor < minLinkWidth) {\n column.splice(i, 1);\n remainingHeight =\n Math.max(0, remainingHeight - minLinkWidth);\n skipPoint = true;\n }\n }\n if (!skipPoint) {\n break;\n }\n }\n // Re-insert original nodes\n column.length = 0;\n for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {\n var node = nodes_1[_i];\n column.push(node);\n }\n return factor;\n };\n /**\n * Get the top position of the column in pixels\n * @private\n * @function Highcharts.SankeyColumn#top\n *\n * @param {number} factor\n * The Translation Factor\n * @return {number} top\n * The top position of the column\n */\n SankeyColumnAdditions.prototype.top = function (factor) {\n var series = this.series,\n nodePadding = series.nodePadding,\n height = this.points.reduce(function (height,\n node) {\n if (height > 0) {\n height += nodePadding;\n }\n var nodeHeight = Math.max(node.getSum() * factor,\n series.options.minLinkWidth || 0);\n height += nodeHeight;\n return height;\n }, 0);\n // Node alignment option handling #19096\n return getAlignFactor(series.options.nodeAlignment || 'center') * ((series.chart.plotSizeY || 0) - height);\n };\n /**\n * Get the left position of the column in pixels\n * @private\n * @function Highcharts.SankeyColumn#top\n *\n * @param {number} factor\n * The Translation Factor\n * @return {number} left\n * The left position of the column\n */\n SankeyColumnAdditions.prototype.left = function (factor) {\n var series = this.series,\n chart = series.chart,\n equalNodes = series.options.equalNodes,\n maxNodesLength = (chart.inverted ? chart.plotHeight : chart.plotWidth),\n nodePadding = series.nodePadding,\n width = this.points.reduce(function (width,\n node) {\n if (width > 0) {\n width += nodePadding;\n }\n var nodeWidth = equalNodes ?\n maxNodesLength / node.series.nodes.length -\n nodePadding :\n Math.max(node.getSum() * factor,\n series.options.minLinkWidth || 0);\n width += nodeWidth;\n return width;\n }, 0);\n return ((chart.plotSizeX || 0) - Math.round(width)) / 2;\n };\n /**\n * Calculate sum of all nodes inside specific column\n * @private\n * @function Highcharts.SankeyColumn#sum\n *\n * @param {ArrayComposition} this\n * Sankey Column Array\n *\n * @return {number} sum\n * Sum of all nodes inside column\n */\n SankeyColumnAdditions.prototype.sum = function () {\n return this.points.reduce(function (sum, node) { return (sum + node.getSum()); }, 0);\n };\n /**\n * Get the offset in pixels of a node inside the column\n * @private\n * @function Highcharts.SankeyColumn#offset\n *\n * @param {SankeyPoint} node\n * Sankey node\n * @param {number} factor\n * Translation Factor\n * @return {number} offset\n * Offset of a node inside column\n */\n SankeyColumnAdditions.prototype.offset = function (node, factor) {\n var column = this.points,\n series = this.series,\n nodePadding = series.nodePadding;\n var offset = 0,\n totalNodeOffset;\n if (series.is('organization') && node.hangsFrom) {\n return {\n absoluteTop: node.hangsFrom.nodeY\n };\n }\n for (var i = 0; i < column.length; i++) {\n var sum = column[i].getSum();\n var height = Math.max(sum * factor,\n series.options.minLinkWidth || 0);\n var directionOffset = node.options[series.chart.inverted ?\n 'offsetHorizontal' :\n 'offsetVertical'],\n optionOffset = node.options.offset || 0;\n if (sum) {\n totalNodeOffset = height + nodePadding;\n }\n else {\n // If node sum equals 0 nodePadding is missed #12453\n totalNodeOffset = 0;\n }\n if (column[i] === node) {\n return {\n relativeTop: offset + (SankeyColumnComposition_defined(directionOffset) ?\n // `directionOffset` is a percent of the node\n // height\n relativeLength(directionOffset, height) :\n relativeLength(optionOffset, totalNodeOffset))\n };\n }\n offset += totalNodeOffset;\n }\n };\n return SankeyColumnAdditions;\n }());\n SankeyColumnComposition.SankeyColumnAdditions = SankeyColumnAdditions;\n})(SankeyColumnComposition || (SankeyColumnComposition = {}));\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var Sankey_SankeyColumnComposition = (SankeyColumnComposition);\n\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"Series\"],\"commonjs\":[\"highcharts\",\"Series\"],\"commonjs2\":[\"highcharts\",\"Series\"],\"root\":[\"Highcharts\",\"Series\"]}\nvar highcharts_Series_commonjs_highcharts_Series_commonjs2_highcharts_Series_root_Highcharts_Series_ = __webpack_require__(820);\nvar highcharts_Series_commonjs_highcharts_Series_commonjs2_highcharts_Series_root_Highcharts_Series_default = /*#__PURE__*/__webpack_require__.n(highcharts_Series_commonjs_highcharts_Series_commonjs2_highcharts_Series_root_Highcharts_Series_);\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"SVGRenderer\"],\"commonjs\":[\"highcharts\",\"SVGRenderer\"],\"commonjs2\":[\"highcharts\",\"SVGRenderer\"],\"root\":[\"Highcharts\",\"SVGRenderer\"]}\nvar highcharts_SVGRenderer_commonjs_highcharts_SVGRenderer_commonjs2_highcharts_SVGRenderer_root_Highcharts_SVGRenderer_ = __webpack_require__(540);\nvar highcharts_SVGRenderer_commonjs_highcharts_SVGRenderer_commonjs2_highcharts_SVGRenderer_root_Highcharts_SVGRenderer_default = /*#__PURE__*/__webpack_require__.n(highcharts_SVGRenderer_commonjs_highcharts_SVGRenderer_commonjs2_highcharts_SVGRenderer_root_Highcharts_SVGRenderer_);\n// EXTERNAL MODULE: external {\"amd\":[\"highcharts/highcharts\",\"SVGElement\"],\"commonjs\":[\"highcharts\",\"SVGElement\"],\"commonjs2\":[\"highcharts\",\"SVGElement\"],\"root\":[\"Highcharts\",\"SVGElement\"]}\nvar highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_ = __webpack_require__(28);\nvar highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_default = /*#__PURE__*/__webpack_require__.n(highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_);\n;// ./code/es5/es-modules/Extensions/TextPath.js\n/* *\n *\n * Highcharts module with textPath functionality.\n *\n * (c) 2009-2024 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\n\n\nvar deg2rad = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).deg2rad;\nvar addEvent = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).addEvent, TextPath_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, uniqueKey = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).uniqueKey, TextPath_defined = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).defined, TextPath_extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend;\n/**\n * Set a text path for a `text` or `label` element, allowing the text to\n * flow along a path.\n *\n * In order to unset the path for an existing element, call `setTextPath`\n * with `{ enabled: false }` as the second argument.\n *\n * Text path support is not bundled into `highcharts.js`, and requires the\n * `modules/textpath.js` file. However, it is included in the script files of\n * those series types that use it by default\n *\n * @sample highcharts/members/renderer-textpath/ Text path demonstrated\n *\n * @function Highcharts.SVGElement#setTextPath\n *\n * @param {Highcharts.SVGElement|undefined} path\n * Path to follow. If undefined, it allows changing options for the\n * existing path.\n *\n * @param {Highcharts.DataLabelsTextPathOptionsObject} textPathOptions\n * Options.\n *\n * @return {Highcharts.SVGElement} Returns the SVGElement for chaining.\n */\nfunction setTextPath(path, textPathOptions) {\n var _this = this;\n // Defaults\n textPathOptions = TextPath_merge(true, {\n enabled: true,\n attributes: {\n dy: -5,\n startOffset: '50%',\n textAnchor: 'middle'\n }\n }, textPathOptions);\n var url = this.renderer.url,\n textWrapper = this.text || this,\n textPath = textWrapper.textPath,\n attributes = textPathOptions.attributes,\n enabled = textPathOptions.enabled;\n path = path || (textPath && textPath.path);\n // Remove previously added event\n if (textPath) {\n textPath.undo();\n }\n if (path && enabled) {\n var undo = addEvent(textWrapper, 'afterModifyTree',\n function (e) {\n if (path && enabled) {\n // Set ID for the path\n var textPathId = path.attr('id');\n if (!textPathId) {\n path.attr('id', textPathId = uniqueKey());\n }\n // Set attributes for the <text>\n var textAttribs = {\n // `dx`/`dy` options must by set on <text> (parent), the\n // rest should be set on <textPath>\n x: 0,\n y: 0\n };\n if (TextPath_defined(attributes.dx)) {\n textAttribs.dx = attributes.dx;\n delete attributes.dx;\n }\n if (TextPath_defined(attributes.dy)) {\n textAttribs.dy = attributes.dy;\n delete attributes.dy;\n }\n textWrapper.attr(textAttribs);\n // Handle label properties\n _this.attr({ transform: '' });\n if (_this.box) {\n _this.box = _this.box.destroy();\n }\n // Wrap the nodes in a textPath\n var children = e.nodes.slice(0);\n e.nodes.length = 0;\n e.nodes[0] = {\n tagName: 'textPath',\n attributes: TextPath_extend(attributes, {\n 'text-anchor': attributes.textAnchor,\n href: \"\" + url + \"#\".concat(textPathId)\n }),\n children: children\n };\n }\n });\n // Set the reference\n textWrapper.textPath = { path: path, undo: undo };\n }\n else {\n textWrapper.attr({ dx: 0, dy: 0 });\n delete textWrapper.textPath;\n }\n if (this.added) {\n // Rebuild text after added\n textWrapper.textCache = '';\n this.renderer.buildText(textWrapper);\n }\n return this;\n}\n/**\n * Attach a polygon to a bounding box if the element contains a textPath.\n *\n * @function Highcharts.SVGElement#setPolygon\n *\n * @param {any} event\n * An event containing a bounding box object\n *\n * @return {Highcharts.BBoxObject} Returns the bounding box object.\n */\nfunction setPolygon(event) {\n var _a;\n var bBox = event.bBox,\n tp = (_a = this.element) === null || _a === void 0 ? void 0 : _a.querySelector('textPath');\n if (tp) {\n var polygon = [], _b = this.renderer.fontMetrics(this.element), b_1 = _b.b, h = _b.h, descender_1 = h - b_1, lineCleanerRegex = new RegExp('(<tspan>|' +\n '<tspan(?!\\\\sclass=\"highcharts-br\")[^>]*>|' +\n '<\\\\/tspan>)', 'g'), lines = tp\n .innerHTML\n .replace(lineCleanerRegex, '')\n .split(/<tspan class=\"highcharts-br\"[^>]*>/), numOfLines = lines.length;\n // Calculate top and bottom coordinates for\n // either the start or the end of a single\n // character, and append it to the polygon.\n var appendTopAndBottom = function (charIndex,\n positionOfChar) {\n var x = positionOfChar.x,\n y = positionOfChar.y,\n rotation = (tp.getRotationOfChar(charIndex) - 90) * deg2rad,\n cosRot = Math.cos(rotation),\n sinRot = Math.sin(rotation);\n return [\n [\n x - descender_1 * cosRot,\n y - descender_1 * sinRot\n ],\n [\n x + b_1 * cosRot,\n y + b_1 * sinRot\n ]\n ];\n };\n for (var i = 0, lineIndex = 0; lineIndex < numOfLines; lineIndex++) {\n var line = lines[lineIndex],\n lineLen = line.length;\n for (var lineCharIndex = 0; lineCharIndex < lineLen; lineCharIndex += 5) {\n try {\n var srcCharIndex = (i +\n lineCharIndex +\n lineIndex),\n _c = appendTopAndBottom(srcCharIndex,\n tp.getStartPositionOfChar(srcCharIndex)),\n lower = _c[0],\n upper = _c[1];\n if (lineCharIndex === 0) {\n polygon.push(upper);\n polygon.push(lower);\n }\n else {\n if (lineIndex === 0) {\n polygon.unshift(upper);\n }\n if (lineIndex === numOfLines - 1) {\n polygon.push(lower);\n }\n }\n }\n catch (e) {\n // Safari fails on getStartPositionOfChar even if the\n // character is within the `textContent.length`\n break;\n }\n }\n i += lineLen - 1;\n try {\n var srcCharIndex = i + lineIndex,\n charPos = tp.getEndPositionOfChar(srcCharIndex),\n _d = appendTopAndBottom(srcCharIndex,\n charPos),\n lower = _d[0],\n upper = _d[1];\n polygon.unshift(upper);\n polygon.unshift(lower);\n }\n catch (e) {\n // Safari fails on getStartPositionOfChar even if the character\n // is within the `textContent.length`\n break;\n }\n }\n // Close it\n if (polygon.length) {\n polygon.push(polygon[0].slice());\n }\n bBox.polygon = polygon;\n }\n return bBox;\n}\n/**\n * Draw text along a textPath for a dataLabel.\n *\n * @function Highcharts.SVGElement#setTextPath\n *\n * @param {any} event\n * An event containing label options\n *\n * @return {void}\n */\nfunction drawTextPath(event) {\n var _a;\n var labelOptions = event.labelOptions,\n point = event.point,\n textPathOptions = (labelOptions[point.formatPrefix + 'TextPath'] ||\n labelOptions.textPath);\n if (textPathOptions && !labelOptions.useHTML) {\n this.setTextPath(((_a = point.getDataLabelPath) === null || _a === void 0 ? void 0 : _a.call(point, this)) || point.graphic, textPathOptions);\n if (point.dataLabelPath &&\n !textPathOptions.enabled) {\n // Clean the DOM\n point.dataLabelPath = (point.dataLabelPath.destroy());\n }\n }\n}\nfunction compose(SVGElementClass) {\n addEvent(SVGElementClass, 'afterGetBBox', setPolygon);\n addEvent(SVGElementClass, 'beforeAddingDataLabel', drawTextPath);\n var svgElementProto = SVGElementClass.prototype;\n if (!svgElementProto.setTextPath) {\n svgElementProto.setTextPath = setTextPath;\n }\n}\nvar TextPath = {\n compose: compose\n};\n/* harmony default export */ var Extensions_TextPath = (TextPath);\n\n;// ./code/es5/es-modules/Series/ArcDiagram/ArcDiagramSeries.js\n/* *\n *\n * Arc diagram module\n *\n * (c) 2021 Piotr Madej, Grzegorz Blachliński\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n\nvar ArcDiagramSeries_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})();\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\nExtensions_TextPath.compose((highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_default()));\nvar symbols = (highcharts_SVGRenderer_commonjs_highcharts_SVGRenderer_commonjs2_highcharts_SVGRenderer_root_Highcharts_SVGRenderer_default()).prototype.symbols;\nvar ArcDiagramSeries_a = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes, ColumnSeries = ArcDiagramSeries_a.column, SankeySeries = ArcDiagramSeries_a.sankey;\nvar crisp = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).crisp, ArcDiagramSeries_extend = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).extend, ArcDiagramSeries_merge = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).merge, ArcDiagramSeries_pick = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).pick, ArcDiagramSeries_relativeLength = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default()).relativeLength;\n/* *\n *\n * Class\n *\n * */\n/**\n * @private\n * @class\n * @name Highcharts.seriesTypes.arcdiagram\n *\n * @augments Highcharts.seriesTypes.sankey\n */\nvar ArcDiagramSeries = /** @class */ (function (_super) {\n ArcDiagramSeries_extends(ArcDiagramSeries, _super);\n function ArcDiagramSeries() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Create node columns by analyzing the nodes and the relations between\n * incoming and outgoing links.\n * @private\n */\n ArcDiagramSeries.prototype.createNodeColumns = function () {\n var _this = this;\n var series = this,\n chart = series.chart, \n // Column needs casting, to much methods required at the same time\n column = Sankey_SankeyColumnComposition.compose([],\n series);\n column.sankeyColumn.maxLength = chart.inverted ?\n chart.plotHeight : chart.plotWidth;\n // Get the translation factor needed for each column to fill up the plot\n // height\n column.sankeyColumn.getTranslationFactor = function (series) {\n var nodes = column.slice(),\n minLinkWidth = _this.options.minLinkWidth || 0;\n var skipPoint,\n factor = 0,\n i,\n radius,\n maxRadius = 0,\n scale = 1,\n additionalSpace = 0,\n remainingWidth = (chart.plotSizeX || 0) -\n (series.options.marker &&\n series.options.marker.lineWidth || 0) -\n (column.length - 1) *\n series.nodePadding;\n // Because the minLinkWidth option doesn't obey the direct\n // translation, we need to run translation iteratively, check node\n // heights, remove those nodes affected by minLinkWidth, check\n // again, etc.\n while (column.length) {\n factor = remainingWidth / column.sankeyColumn.sum();\n skipPoint = false;\n i = column.length;\n while (i--) {\n radius = (column[i].getSum()) * factor * scale;\n var plotArea = Math.min(chart.plotHeight,\n chart.plotWidth);\n if (radius > plotArea) {\n scale = Math.min(plotArea / radius, scale);\n }\n else if (radius < minLinkWidth) {\n column.splice(i, 1);\n remainingWidth -= minLinkWidth;\n radius = minLinkWidth;\n skipPoint = true;\n }\n additionalSpace += radius * (1 - scale) / 2;\n maxRadius = Math.max(maxRadius, radius);\n }\n if (!skipPoint) {\n break;\n }\n }\n // Re-insert original nodes\n column.length = 0;\n nodes.forEach(function (node) {\n node.scale = scale;\n column.push(node);\n });\n column.sankeyColumn.maxRadius = maxRadius;\n column.sankeyColumn.scale = scale;\n column.sankeyColumn.additionalSpace = additionalSpace;\n return factor;\n };\n column.sankeyColumn.offset = function (node, factor) {\n var equalNodes = node.series.options.equalNodes,\n nodePadding = series.nodePadding,\n maxRadius = Math.min(chart.plotWidth,\n chart.plotHeight, (column.sankeyColumn.maxLength || 0) /\n series.nodes.length - nodePadding);\n var offset = column.sankeyColumn.additionalSpace || 0,\n totalNodeOffset;\n for (var i = 0; i < column.length; i++) {\n var sum = column[i].getSum() *\n (column.sankeyColumn.scale || 0);\n var width = equalNodes ?\n maxRadius :\n Math.max(sum * factor,\n series.options.minLinkWidth || 0);\n if (sum) {\n totalNodeOffset = width + nodePadding;\n }\n else {\n // If node sum equals 0 nodePadding is missed #12453\n totalNodeOffset = 0;\n }\n if (column[i] === node) {\n return {\n relativeLeft: offset + ArcDiagramSeries_relativeLength(node.options.offset || 0, totalNodeOffset)\n };\n }\n offset += totalNodeOffset;\n }\n };\n // Add nodes directly to the column right after it's creation\n series.nodes.forEach(function (node) {\n node.column = 0;\n column.push(node);\n });\n return [column];\n };\n /**\n * Run translation operations for one link.\n * @private\n */\n ArcDiagramSeries.prototype.translateLink = function (point) {\n var _a,\n _b;\n var series = this,\n fromNode = point.fromNode,\n toNode = point.toNode,\n chart = this.chart,\n translationFactor = series.translationFactor,\n pointOptions = point.options,\n seriesOptions = series.options,\n linkWeight = ArcDiagramSeries_pick(pointOptions.linkWeight,\n seriesOptions.linkWeight,\n Math.max((point.weight || 0) *\n translationFactor *\n fromNode.scale, (series.options.minLinkWidth || 0))),\n centeredLinks = point.series.options.centeredLinks,\n nodeTop = fromNode.nodeY;\n var getX = function (node,\n fromOrTo) {\n var linkLeft = ((node.offset(point,\n fromOrTo) || 0) *\n translationFactor);\n var x = Math.min(node.nodeX + linkLeft, \n // Prevent links from spilling below the node (#12014)\n node.nodeX + (node.shapeArgs && node.shapeArgs.height || 0) - linkWeight);\n return x;\n };\n var fromX = centeredLinks ?\n fromNode.nodeX +\n ((fromNode.shapeArgs.height || 0) - linkWeight) / 2 :\n getX(fromNode, 'linksFrom'),\n toX = centeredLinks ? toNode.nodeX +\n ((toNode.shapeArgs.height || 0) - linkWeight) / 2 :\n getX(toNode, 'linksTo'),\n bottom = nodeTop;\n if (fromX > toX) {\n _a = [toX, fromX], fromX = _a[0], toX = _a[1];\n }\n if (seriesOptions.reversed) {\n _b = [toX, fromX], fromX = _b[0], toX = _b[1];\n bottom = (chart.plotSizeY || 0) - bottom;\n }\n point.shapeType = 'path';\n point.linkBase = [\n fromX,\n fromX + linkWeight,\n toX,\n toX + linkWeight\n ];\n var linkRadius = ((toX + linkWeight - fromX) / Math.abs(toX + linkWeight - fromX)) * ArcDiagramSeries_pick(seriesOptions.linkRadius, Math.min(Math.abs(toX + linkWeight - fromX) / 2, fromNode.nodeY - Math.abs(linkWeight)));\n point.shapeArgs = {\n d: [\n ['M', fromX, bottom],\n [\n 'A',\n (toX + linkWeight - fromX) / 2,\n linkRadius,\n 0,\n 0,\n 1,\n toX + linkWeight,\n bottom\n ],\n ['L', toX, bottom],\n [\n 'A',\n (toX - fromX - linkWeight) / 2,\n linkRadius - linkWeight,\n 0,\n 0,\n 0,\n fromX + linkWeight,\n bottom\n ],\n ['Z']\n ]\n };\n point.dlBox = {\n x: fromX + (toX - fromX) / 2,\n y: bottom - linkRadius,\n height: linkWeight,\n width: 0\n };\n // And set the tooltip anchor in the middle\n point.tooltipPos = chart.inverted ? [\n (chart.plotSizeY || 0) - point.dlBox.y - linkWeight / 2,\n (chart.plotSizeX || 0) - point.dlBox.x\n ] : [\n point.dlBox.x,\n point.dlBox.y + linkWeight / 2\n ];\n // Pass test in drawPoints\n point.y = point.plotY = 1;\n point.x = point.plotX = 1;\n if (!point.color) {\n point.color = fromNode.color;\n }\n };\n /**\n * Run translation operations for one node.\n * @private\n */\n ArcDiagramSeries.prototype.translateNode = function (node, column) {\n var _a;\n var series = this, translationFactor = series.translationFactor, chart = series.chart, maxNodesLength = chart.inverted ?\n chart.plotWidth : chart.plotHeight, options = series.options, maxRadius = Math.min(chart.plotWidth, chart.plotHeight, maxNodesLength / node.series.nodes.length - this.nodePadding), sum = node.getSum() * (column.sankeyColumn.scale || 0), equalNodes = options.equalNodes, nodeHeight = equalNodes ?\n maxRadius :\n Math.max(sum * translationFactor, this.options.minLinkWidth || 0), lineWidth = ((_a = options.marker) === null || _a === void 0 ? void 0 : _a.lineWidth) || 0, nodeOffset = column.sankeyColumn.offset(node, translationFactor), fromNodeLeft = crisp(ArcDiagramSeries_pick(nodeOffset && nodeOffset.absoluteLeft, ((column.sankeyColumn.left(translationFactor) || 0) +\n (nodeOffset && nodeOffset.relativeLeft || 0))), lineWidth), markerOptions = ArcDiagramSeries_merge(options.marker, node.options.marker), symbol = markerOptions.symbol, markerRadius = markerOptions.radius, top = parseInt(options.offset, 10) *\n ((chart.inverted ?\n chart.plotWidth : chart.plotHeight) - (crisp(this.colDistance * (node.column || 0) +\n (markerOptions.lineWidth || 0) / 2, lineWidth) +\n (column.sankeyColumn.scale || 0) *\n (column.sankeyColumn.maxRadius || 0) / 2)) / 100;\n node.sum = sum;\n // If node sum is 0, don’t render the rect #12453\n if (sum) {\n // Draw the node\n node.nodeX = fromNodeLeft;\n node.nodeY = top;\n var x = fromNodeLeft,\n width = node.options.width || options.width || nodeHeight,\n height = node.options.height || options.height || nodeHeight;\n var y = top;\n if (options.reversed) {\n y = (chart.plotSizeY || 0) - top;\n if (chart.inverted) {\n y = (chart.plotSizeY || 0) - top;\n }\n }\n if (this.mapOptionsToLevel) {\n // Calculate data label options for the point\n node.dlOptions = SankeySeries.getDLOptions({\n level: this.mapOptionsToLevel[node.level],\n optionsPoint: node.options\n });\n }\n // Pass test in drawPoints\n node.plotX = 1;\n node.plotY = 1;\n // Set the anchor position for tooltips\n node.tooltipPos = chart.inverted ? [\n (chart.plotSizeY || 0) - y - height / 2,\n (chart.plotSizeX || 0) - x - width / 2\n ] : [\n x + width / 2,\n y + height / 2\n ];\n node.shapeType = 'path';\n node.shapeArgs = {\n d: symbols[symbol || 'circle'](x, y - (markerRadius || height) / 2, markerRadius || width, markerRadius || height),\n width: markerRadius || width,\n height: markerRadius || height\n };\n node.dlBox = {\n x: x + width / 2,\n y: y,\n height: 0,\n width: 0\n };\n }\n else {\n node.dlOptions = {\n enabled: false\n };\n }\n };\n // Networkgraph has two separate collecions of nodes and lines, render\n // dataLabels for both sets:\n ArcDiagramSeries.prototype.drawDataLabels = function () {\n if (this.options.dataLabels) {\n var textPath = this.options.dataLabels.textPath;\n // Render node labels:\n ColumnSeries.prototype.drawDataLabels.call(this, this.nodes);\n // Render link labels:\n this.options.dataLabels.textPath =\n this.options.dataLabels.linkTextPath;\n ColumnSeries.prototype.drawDataLabels.call(this, this.data);\n // Restore nodes\n this.options.dataLabels.textPath = textPath;\n }\n };\n ArcDiagramSeries.prototype.pointAttribs = function (point, \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n state) {\n if (point && point.isNode) {\n var attrs = __rest(highcharts_Series_commonjs_highcharts_Series_commonjs2_highcharts_Series_root_Highcharts_Series_default().prototype.pointAttribs\n .apply(this,\n arguments),\n []);\n return attrs;\n }\n return _super.prototype.pointAttribs.apply(this, arguments);\n };\n ArcDiagramSeries.prototype.markerAttribs = function (point) {\n if (point.isNode) {\n return _super.prototype.markerAttribs.apply(this, arguments);\n }\n return {};\n };\n /* *\n *\n * Static Properties\n *\n * */\n ArcDiagramSeries.defaultOptions = ArcDiagramSeries_merge(SankeySeries.defaultOptions, ArcDiagram_ArcDiagramSeriesDefaults);\n return ArcDiagramSeries;\n}(SankeySeries));\nArcDiagramSeries_extend(ArcDiagramSeries.prototype, {\n orderNodes: false\n});\nArcDiagramSeries.prototype.pointClass = ArcDiagram_ArcDiagramPoint;\nhighcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('arcdiagram', ArcDiagramSeries);\n/* *\n *\n * Default Export\n *\n * */\n/* harmony default export */ var ArcDiagram_ArcDiagramSeries = ((/* unused pure expression or super */ null && (ArcDiagramSeries)));\n\n;// ./code/es5/es-modules/masters/modules/arc-diagram.src.js\n\n\n\n\n/* harmony default export */ var arc_diagram_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__820__","__WEBPACK_EXTERNAL_MODULE__540__","__WEBPACK_EXTERNAL_MODULE__28__","extendStatics","SankeyColumnComposition","SankeyColumnAdditions","NodesComposition","__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__","arc_diagram_src","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_","highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_","highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default","_a","series","seriesProto","pointProto","pointClass","defined","extend","find","merge","pick","destroy","data","concat","points","nodes","apply","arguments","setData","forEach","node","length","setNodeState","state","args","others","isNode","linksTo","linksFrom","fromNode","toNode","linkOrNode","setState","graphic","updateNode","options","redraw","animation","runEvent","_this","dataLength","linkConfig","index","update","nodeIndex","reduce","prevIndex","id","nodeConfig","push","chart","compose","PointClass","SeriesClass","createNode","findById","newNode_1","className","y","getSum","sumTo","sumFrom","link","weight","Math","max","offset","point","coll","i","hasShape","outgoing","formatPrefix","name","mass","marker","radius","generatePoints","nodeLookup","colorCounter","level","from","styledMode","colorIndex","color","to","Series_NodesComposition","__extends","b","setPrototypeOf","__proto__","Array","p","__","constructor","create","SankeyPoint","seriesTypes","sankey","ArcDiagramPoint_extend","ArcDiagramPoint","_super","isValid","ArcDiagram_ArcDiagramSeriesDefaults","centeredLinks","equalNodes","dataLabels","linkTextPath","attributes","startOffset","fillOpacity","lineWidth","states","symbol","reversed","SankeyColumnComposition_defined","getAlignFactor","relativeLength","sankeyColumnArray","sankeyColumn","getTranslationFactor","skipPoint","column","slice","minLinkWidth","factor","remainingHeight","plotSizeY","borderWidth","nodePadding","sum","splice","_i","nodes_1","top","height","nodeAlignment","left","maxNodesLength","inverted","plotHeight","plotWidth","width","plotSizeX","round","totalNodeOffset","is","hangsFrom","absoluteTop","nodeY","directionOffset","optionOffset","relativeTop","Sankey_SankeyColumnComposition","highcharts_Series_commonjs_highcharts_Series_commonjs2_highcharts_Series_root_Highcharts_Series_","highcharts_Series_commonjs_highcharts_Series_commonjs2_highcharts_Series_root_Highcharts_Series_default","highcharts_SVGRenderer_commonjs_highcharts_SVGRenderer_commonjs2_highcharts_SVGRenderer_root_Highcharts_SVGRenderer_","highcharts_SVGRenderer_commonjs_highcharts_SVGRenderer_commonjs2_highcharts_SVGRenderer_root_Highcharts_SVGRenderer_default","highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_","highcharts_SVGElement_commonjs_highcharts_SVGElement_commonjs2_highcharts_SVGElement_root_Highcharts_SVGElement_default","deg2rad","addEvent","TextPath_merge","uniqueKey","TextPath_defined","TextPath_extend","setTextPath","path","textPathOptions","enabled","dy","textAnchor","url","renderer","textWrapper","text","textPath","undo","e","textPathId","attr","textAttribs","x","dx","transform","box","children","tagName","href","added","textCache","buildText","setPolygon","event","bBox","tp","element","querySelector","polygon","_b","fontMetrics","b_1","descender_1","h","lineCleanerRegex","RegExp","lines","innerHTML","replace","split","numOfLines","appendTopAndBottom","charIndex","positionOfChar","rotation","getRotationOfChar","cosRot","cos","sinRot","sin","lineIndex","lineLen","line","lineCharIndex","srcCharIndex","_c","getStartPositionOfChar","lower","upper","unshift","charPos","getEndPositionOfChar","_d","drawTextPath","labelOptions","useHTML","getDataLabelPath","dataLabelPath","ArcDiagramSeries_extends","TypeError","String","__rest","s","t","indexOf","getOwnPropertySymbols","propertyIsEnumerable","Extensions_TextPath","SVGElementClass","svgElementProto","symbols","ArcDiagramSeries_a","ColumnSeries","SankeySeries","crisp","ArcDiagramSeries_extend","ArcDiagramSeries_merge","ArcDiagramSeries_pick","ArcDiagramSeries_relativeLength","ArcDiagramSeries","createNodeColumns","maxLength","maxRadius","scale","additionalSpace","remainingWidth","plotArea","min","relativeLeft","translateLink","translationFactor","pointOptions","seriesOptions","linkWeight","nodeTop","getX","fromOrTo","linkLeft","nodeX","shapeArgs","fromX","toX","bottom","shapeType","linkBase","linkRadius","abs","dlBox","tooltipPos","plotY","plotX","translateNode","nodeHeight","nodeOffset","fromNodeLeft","absoluteLeft","markerOptions","markerRadius","parseInt","colDistance","mapOptionsToLevel","dlOptions","getDLOptions","optionsPoint","drawDataLabels","pointAttribs","attrs","markerAttribs","defaultOptions","orderNodes","registerSeriesType"],"mappings":"CAWA,AAXA;;;;;;;;;;CAUC,EACA,SAA0CA,CAAI,CAAEC,CAAO,EACpD,AAAmB,UAAnB,OAAOC,SAAwB,AAAkB,UAAlB,OAAOC,OACxCA,OAAOD,OAAO,CAAGD,EAAQG,QAAQ,cAAeA,QAAQ,cAAc,cAAiB,CAAEA,QAAQ,cAAc,MAAS,CAAEA,QAAQ,cAAc,WAAc,CAAEA,QAAQ,cAAc,UAAa,EAC5L,AAAkB,YAAlB,OAAOC,QAAyBA,OAAOC,GAAG,CACjDD,OAAO,iCAAkC,CAAC,CAAC,wBAAwB,CAAE,CAAC,wBAAwB,iBAAiB,CAAE,CAAC,wBAAwB,SAAS,CAAE,CAAC,wBAAwB,cAAc,CAAE,CAAC,wBAAwB,aAAa,CAAC,CAAEJ,GAChO,AAAmB,UAAnB,OAAOC,QACdA,OAAO,CAAC,iCAAiC,CAAGD,EAAQG,QAAQ,cAAeA,QAAQ,cAAc,cAAiB,CAAEA,QAAQ,cAAc,MAAS,CAAEA,QAAQ,cAAc,WAAc,CAAEA,QAAQ,cAAc,UAAa,EAE9NJ,EAAK,UAAa,CAAGC,EAAQD,EAAK,UAAa,CAAEA,EAAK,UAAa,CAAC,cAAiB,CAAEA,EAAK,UAAa,CAAC,MAAS,CAAEA,EAAK,UAAa,CAAC,WAAc,CAAEA,EAAK,UAAa,CAAC,UAAa,CAC1L,EAAG,IAAI,CAAE,SAASO,CAAgC,CAAEC,CAAgC,CAAEC,CAAgC,CAAEC,CAAgC,CAAEC,CAA+B,EACzL,OAAgB,AAAC,WACP,aACA,IAwZFC,EA+TGC,EAkCHC,EA0dAF,EAxlCJG,EA2lBAF,EAttBUG,EAAuB,CAE/B,GACC,SAASb,CAAM,EAEtBA,EAAOD,OAAO,CAAGS,CAEX,EAEA,IACC,SAASR,CAAM,EAEtBA,EAAOD,OAAO,CAAGQ,CAEX,EAEA,IACC,SAASP,CAAM,EAEtBA,EAAOD,OAAO,CAAGO,CAEX,EAEA,IACC,SAASN,CAAM,EAEtBA,EAAOD,OAAO,CAAGM,CAEX,EAEA,IACC,SAASL,CAAM,EAEtBA,EAAOD,OAAO,CAAGK,CAEX,CAEI,EAGIU,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,CAAQ,EAEpC,IAAIC,EAAeH,CAAwB,CAACE,EAAS,CACrD,GAAIC,AAAiBC,KAAAA,IAAjBD,EACH,OAAOA,EAAalB,OAAO,CAG5B,IAAIC,EAASc,CAAwB,CAACE,EAAS,CAAG,CAGjDjB,QAAS,CAAC,CACX,EAMA,OAHAc,CAAmB,CAACG,EAAS,CAAChB,EAAQA,EAAOD,OAAO,CAAEgB,GAG/Cf,EAAOD,OAAO,AACtB,CAMCgB,EAAoBI,CAAC,CAAG,SAASnB,CAAM,EACtC,IAAIoB,EAASpB,GAAUA,EAAOqB,UAAU,CACvC,WAAa,OAAOrB,EAAO,OAAU,AAAE,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADAe,EAAoBO,CAAC,CAACF,EAAQ,CAAEG,EAAGH,CAAO,GACnCA,CACR,EAMAL,EAAoBO,CAAC,CAAG,SAASvB,CAAO,CAAEyB,CAAU,EACnD,IAAI,IAAIC,KAAOD,EACXT,EAAoBW,CAAC,CAACF,EAAYC,IAAQ,CAACV,EAAoBW,CAAC,CAAC3B,EAAS0B,IAC5EE,OAAOC,cAAc,CAAC7B,EAAS0B,EAAK,CAAEI,WAAY,CAAA,EAAMC,IAAKN,CAAU,CAACC,EAAI,AAAC,EAGhF,EAKAV,EAAoBW,CAAC,CAAG,SAASK,CAAG,CAAEC,CAAI,EAAI,OAAOL,OAAOM,SAAS,CAACC,cAAc,CAACC,IAAI,CAACJ,EAAKC,EAAO,EAIjH,IAAII,EAAsB,CAAC,EAG3BrB,EAAoBO,CAAC,CAACc,EAAqB,CACzC,QAAW,WAAa,OAAqBC,EAAiB,CAChE,GAGA,IAAIC,EAAuEvB,EAAoB,KAC3FwB,EAA2FxB,EAAoBI,CAAC,CAACmB,GAEjHE,EAAmIzB,EAAoB,KACvJ0B,EAAuJ1B,EAAoBI,CAAC,CAACqB,GAS7KE,EAAK,AAACD,IAA2IE,MAAM,CAAEC,EAAcF,EAAGT,SAAS,CAAEY,EAAaH,EAAGT,SAAS,CAACa,UAAU,CAACb,SAAS,CAEnOc,EAAU,AAACR,IAA+EQ,OAAO,CAAEC,EAAS,AAACT,IAA+ES,MAAM,CAAEC,EAAO,AAACV,IAA+EU,IAAI,CAAEC,EAAQ,AAACX,IAA+EW,KAAK,CAAEC,EAAO,AAACZ,IAA+EY,IAAI,EAO/d,AAAC,SAAUvC,CAAgB,EA+GvB,SAASwC,IAIL,OAFA,IAAI,CAACC,IAAI,CAAG,EAAE,CACTC,MAAM,CAAC,IAAI,CAACC,MAAM,EAAI,EAAE,CAAE,IAAI,CAACC,KAAK,EAClCZ,EAAYQ,OAAO,CAACK,KAAK,CAAC,IAAI,CAAEC,UAC3C,CAwDA,SAASC,IACD,IAAI,CAACH,KAAK,GACV,IAAI,CAACA,KAAK,CAACI,OAAO,CAAC,SAAUC,CAAI,EAC7BA,EAAKT,OAAO,EAChB,GACA,IAAI,CAACI,KAAK,CAACM,MAAM,CAAG,GAExBlB,EAAYe,OAAO,CAACF,KAAK,CAAC,IAAI,CAAEC,UACpC,CAMA,SAASK,EAAaC,CAAK,EACvB,IAAIC,EAAOP,UACPQ,EAAS,IAAI,CAACC,MAAM,CAAG,IAAI,CAACC,OAAO,CAACd,MAAM,CAAC,IAAI,CAACe,SAAS,EACrD,CAAC,IAAI,CAACC,QAAQ,CAClB,IAAI,CAACC,MAAM,CAAC,AACF,CAAA,WAAVP,GACAE,EAAON,OAAO,CAAC,SAAUY,CAAU,EAC3BA,GAAcA,EAAW7B,MAAM,GAC/BE,EAAW4B,QAAQ,CAAChB,KAAK,CAACe,EAAYP,GAClC,CAACO,EAAWL,MAAM,GACdK,EAAWF,QAAQ,CAACI,OAAO,EAC3B7B,EAAW4B,QAAQ,CAAChB,KAAK,CAACe,EAAWF,QAAQ,CAAEL,GAE/CO,EAAWD,MAAM,EAAIC,EAAWD,MAAM,CAACG,OAAO,EAC9C7B,EAAW4B,QAAQ,CAAChB,KAAK,CAACe,EAAWD,MAAM,CAAEN,IAI7D,GAEJpB,EAAW4B,QAAQ,CAAChB,KAAK,CAAC,IAAI,CAAEQ,EACpC,CAOA,SAASU,EAAWC,CAAO,CAAEC,CAAM,CAAEC,CAAS,CAAEC,CAAQ,EACpD,IAAIC,EAAQ,IAAI,CACZxB,EAAQ,IAAI,CAACb,MAAM,CAACiC,OAAO,CAACpB,KAAK,CACjCH,EAAO,IAAI,CAACV,MAAM,CAACiC,OAAO,CAACvB,IAAI,CAC/B4B,EAAa,AAAC5B,CAAAA,MAAAA,EAAmC,KAAK,EAAIA,EAAKS,MAAM,AAAD,GAAM,EAC1EoB,EAAa7B,MAAAA,EAAmC,KAAK,EAAIA,CAAI,CAAC,IAAI,CAAC8B,KAAK,CAAC,CAG7E,GAFAtC,EAAWuC,MAAM,CAACjD,IAAI,CAAC,IAAI,CAAEyC,EAAS,CAAA,IAAI,CAACT,MAAM,EAAWU,EAC5DC,EAAWC,GACP,IAAI,CAACZ,MAAM,CAAE,CAEb,IAAIkB,EAAY,AAAC7B,CAAAA,GAAS,EAAE,AAAD,EAClB8B,MAAM,CACX,SAAUC,CAAS,CACnBpE,CAAC,CACDgE,CAAK,EACD,OAAQH,EAAMQ,EAAE,GAAKrE,EAAEqE,EAAE,CAAGL,EAAQI,CAC5C,EAAG,IAGHE,EAAavC,EAAMM,GAASA,CAAK,CAAC6B,EAAU,EAAI,CAAC,EAAG,AAAChC,CAAAA,MAAAA,EAAmC,KAAK,EAAIA,CAAI,CAAC,IAAI,CAAC8B,KAAK,CAAC,AAAD,GAAM,CAAC,GAEnH9B,IACI6B,EACA7B,CAAI,CAAC,IAAI,CAAC8B,KAAK,CAAC,CAAGD,EAInB7B,EAAKS,MAAM,CAAGmB,GAIlBzB,EACI6B,GAAa,EACb7B,CAAK,CAAC6B,EAAU,CAAGI,EAGnBjC,EAAMkC,IAAI,CAACD,GAIf,IAAI,CAAC9C,MAAM,CAACiC,OAAO,CAACpB,KAAK,CAAG,CAACiC,EAAW,CAExCtC,EAAK0B,EAAQ,CAAA,IACb,IAAI,CAAClC,MAAM,CAACgD,KAAK,CAACd,MAAM,CAACC,EAEjC,CACJ,CA5OAlE,EAAiBgF,OAAO,CAVxB,SAAiBC,CAAU,CAAEC,CAAW,EACpC,IAAIjD,EAAagD,EAAW5D,SAAS,CACjCW,EAAckD,EAAY7D,SAAS,CAMvC,OALAY,EAAWkB,YAAY,CAAGA,EAC1BlB,EAAW4B,QAAQ,CAAGV,EACtBlB,EAAWuC,MAAM,CAAGT,EACpB/B,EAAYQ,OAAO,CAAGA,EACtBR,EAAYe,OAAO,CAAGA,EACfmC,CACX,EAmFAlF,EAAiBmF,UAAU,CA5E3B,SAAoBP,CAAE,EAClB,IAMIZ,EANAiB,EAAa,IAAI,CAAC/C,UAAU,CAC5BkD,EAAW,SAAUxC,CAAK,CAC1BgC,CAAE,EAAI,OAAOvC,EAAKO,EAClB,SAAUK,CAAI,EAAI,OAAOA,EAAK2B,EAAE,GAAKA,CAAI,EAAI,EAC7C3B,EAAOmC,EAAS,IAAI,CAACxC,KAAK,CAC1BgC,GAEJ,GAAI,CAAC3B,EAAM,CACPe,EAAU,IAAI,CAACA,OAAO,CAACpB,KAAK,EAAIwC,EAAS,IAAI,CAACpB,OAAO,CAACpB,KAAK,CAAEgC,GAC7D,IAAIS,EAAY,IAAIJ,EAAW,IAAI,CAC/B7C,EAAO,CACHkD,UAAW,kBACX/B,OAAQ,CAAA,EACRqB,GAAIA,EACJW,EAAG,CACP,EACAvB,GACJqB,CAAAA,EAAU7B,OAAO,CAAG,EAAE,CACtB6B,EAAU5B,SAAS,CAAG,EAAE,CAKxB4B,EAAUG,MAAM,CAAG,WACf,IAAIC,EAAQ,EACRC,EAAU,EAOd,OANAL,EAAU7B,OAAO,CAACR,OAAO,CAAC,SAAU2C,CAAI,EACpCF,GAASE,EAAKC,MAAM,EAAI,CAC5B,GACAP,EAAU5B,SAAS,CAACT,OAAO,CAAC,SAAU2C,CAAI,EACtCD,GAAWC,EAAKC,MAAM,EAAI,CAC9B,GACOC,KAAKC,GAAG,CAACL,EAAOC,EAC3B,EAKAL,EAAUU,MAAM,CAAG,SAAUC,CAAK,CAAEC,CAAI,EAEpC,IAAK,IADDF,EAAS,EACJG,EAAI,EAAGA,EAAIb,CAAS,CAACY,EAAK,CAAC/C,MAAM,CAAEgD,IAAK,CAC7C,GAAIb,CAAS,CAACY,EAAK,CAACC,EAAE,GAAKF,EACvB,OAAOD,EAEXA,GAAUV,CAAS,CAACY,EAAK,CAACC,EAAE,CAACN,MAAM,AACvC,CACJ,EAGAP,EAAUc,QAAQ,CAAG,WACjB,IAAIC,EAAW,EAMf,OALAf,EAAU7B,OAAO,CAACR,OAAO,CAAC,SAAU2C,CAAI,EAChCA,EAAKS,QAAQ,EACbA,GAER,GACQ,CAACf,EAAU7B,OAAO,CAACN,MAAM,EAC7BkD,IAAaf,EAAU7B,OAAO,CAACN,MAAM,AAC7C,EACAmC,EAAUd,KAAK,CAAG,IAAI,CAAC3B,KAAK,CAACkC,IAAI,CAACO,GAAa,EAC/CpC,EAAOoC,CACX,CAYA,OAXApC,EAAKoD,YAAY,CAAG,OAEpBpD,EAAKqD,IAAI,CAAGrD,EAAKqD,IAAI,EAAIrD,EAAKe,OAAO,CAACY,EAAE,EAAI,GAE5C3B,EAAKsD,IAAI,CAAGhE,EAEZU,EAAKe,OAAO,CAACuC,IAAI,CAAEtD,EAAKe,OAAO,CAACwC,MAAM,EAAIvD,EAAKe,OAAO,CAACwC,MAAM,CAACC,MAAM,CAEpE,IAAI,CAACzC,OAAO,CAACwC,MAAM,EAAI,IAAI,CAACxC,OAAO,CAACwC,MAAM,CAACC,MAAM,CAEjD,GACOxD,CACX,EAYAjD,EAAiBwC,OAAO,CAAGA,EAkD3BxC,EAAiB0G,cAAc,CA5C/B,WACI,IAAItC,EAAQ,IAAI,CACZW,EAAQ,IAAI,CAACA,KAAK,CAClB4B,EAAa,CAAC,EAClB3E,EAAY0E,cAAc,CAACnF,IAAI,CAAC,IAAI,EAC/B,IAAI,CAACqB,KAAK,EACX,CAAA,IAAI,CAACA,KAAK,CAAG,EAAE,AAAD,EAElB,IAAI,CAACgE,YAAY,CAAG,EAEpB,IAAI,CAAChE,KAAK,CAACI,OAAO,CAAC,SAAUC,CAAI,EAC7BA,EAAKQ,SAAS,CAACP,MAAM,CAAG,EACxBD,EAAKO,OAAO,CAACN,MAAM,CAAG,EACtBD,EAAK4D,KAAK,CAAG5D,EAAKe,OAAO,CAAC6C,KAAK,AACnC,GAEA,IAAI,CAAClE,MAAM,CAACK,OAAO,CAAC,SAAUgD,CAAK,EAC3B7D,EAAQ6D,EAAMc,IAAI,IACbH,CAAU,CAACX,EAAMc,IAAI,CAAC,EACvBH,CAAAA,CAAU,CAACX,EAAMc,IAAI,CAAC,CAAG1C,EAAMe,UAAU,CAACa,EAAMc,IAAI,CAAA,EAExDH,CAAU,CAACX,EAAMc,IAAI,CAAC,CAACrD,SAAS,CAACqB,IAAI,CAACkB,GACtCA,EAAMtC,QAAQ,CAAGiD,CAAU,CAACX,EAAMc,IAAI,CAAC,CAEnC/B,EAAMgC,UAAU,CAChBf,EAAMgB,UAAU,CAAGzE,EAAKyD,EAAMhC,OAAO,CAACgD,UAAU,CAAEL,CAAU,CAACX,EAAMc,IAAI,CAAC,CAACE,UAAU,EAGnFhB,EAAMiB,KAAK,CACPjB,EAAMhC,OAAO,CAACiD,KAAK,EAAIN,CAAU,CAACX,EAAMc,IAAI,CAAC,CAACG,KAAK,EAG3D9E,EAAQ6D,EAAMkB,EAAE,IACXP,CAAU,CAACX,EAAMkB,EAAE,CAAC,EACrBP,CAAAA,CAAU,CAACX,EAAMkB,EAAE,CAAC,CAAG9C,EAAMe,UAAU,CAACa,EAAMkB,EAAE,CAAA,EAEpDP,CAAU,CAACX,EAAMkB,EAAE,CAAC,CAAC1D,OAAO,CAACsB,IAAI,CAACkB,GAClCA,EAAMrC,MAAM,CAAGgD,CAAU,CAACX,EAAMkB,EAAE,CAAC,EAEvClB,EAAMM,IAAI,CAAGN,EAAMM,IAAI,EAAIN,EAAMpB,EAAE,AACvC,EAAG,IAAI,EAEP,IAAI,CAAC+B,UAAU,CAAGA,CACtB,EA0CA3G,EAAiBmD,YAAY,CAAGA,EAqDhCnD,EAAiB+D,UAAU,CAAGA,CAClC,EAAG/D,GAAqBA,CAAAA,EAAmB,CAAC,CAAA,GAMf,IAAImH,EAA2BnH,EAexDoH,GACIvH,EAAgB,SAAUa,CAAC,CAC3B2G,CAAC,EAMD,MAAOxH,AALHA,CAAAA,EAAgBkB,OAAOuG,cAAc,EAChC,CAAA,CAAEC,UAAW,EAAE,AAAC,CAAA,YAAaC,OAAS,SAAU9G,CAAC,CAC1D2G,CAAC,EAAI3G,EAAE6G,SAAS,CAAGF,CAAG,GACd,SAAU3G,CAAC,CACnB2G,CAAC,EAAI,IAAK,IAAII,KAAKJ,EAAOA,EAAE/F,cAAc,CAACmG,IAAI/G,CAAAA,CAAC,CAAC+G,EAAE,CAAGJ,CAAC,CAACI,EAAE,AAAD,CAAG,CAAA,EACvC/G,EAAG2G,EAC5B,EACO,SAAU3G,CAAC,CAAE2G,CAAC,EAEjB,SAASK,IAAO,IAAI,CAACC,WAAW,CAAGjH,CAAG,CADtCb,EAAca,EAAG2G,GAEjB3G,EAAEW,SAAS,CAAGgG,AAAM,OAANA,EAAatG,OAAO6G,MAAM,CAACP,GAAMK,CAAAA,EAAGrG,SAAS,CAAGgG,EAAEhG,SAAS,CAAE,IAAIqG,CAAG,CACtF,GAIAG,EAAc,AAAChG,IAA2IiG,WAAW,CAACC,MAAM,CAAC1G,SAAS,CAACa,UAAU,CAEjM8F,EAAyB,AAACrG,IAA+ES,MAAM,CAM/G6F,EAAiC,SAAUC,CAAM,EAEjD,SAASD,IACL,OAAOC,AAAW,OAAXA,GAAmBA,EAAOrF,KAAK,CAAC,IAAI,CAAEC,YAAc,IAAI,AACnE,CAWA,OAdAsE,EAAUa,EAAiBC,GAU3BD,EAAgB5G,SAAS,CAAC8G,OAAO,CAAG,WAEhC,MAAO,CAAA,CACX,EACOF,CACX,EAAEJ,GACFG,EAAuBC,EAAgB5G,SAAS,CAAE,CAC9CwC,SAAUsD,EAAwBhE,YAAY,AAClD,GA4P6B,IAAIiF,EA7MF,CAU3BC,cAAe,CAAA,EAYfC,WAAY,CAAA,EAYZC,WAAY,CAYRC,aAAc,CAKVC,WAAY,CAIRC,YAAa,KACjB,CACJ,CACJ,EA8BAlC,OAAQ,CACJmC,YAAa,EACbC,UAAW,EACXC,OAAQ,CAAC,EACTC,OAAQ,QACZ,EAaA/C,OAAQ,OAURgD,SAAU,CAAA,CACd,EAwGIC,EAAkC,AAACrH,IAA+EQ,OAAO,CAAE8G,EAAiB,AAACtH,IAA+EsH,cAAc,CAAEC,EAAiB,AAACvH,IAA+EuH,cAAc,AAmC3VpJ,EA5BOA,EA8NRA,GAA4BA,CAAAA,EAA0B,CAAC,CAAA,GAlM9BkF,OAAO,CAN/B,SAAiBrC,CAAM,CAAEZ,CAAM,EAI3B,OAFAoH,AADwBxG,EACNyG,YAAY,CAC1B,IAAIrJ,EAFgB4C,EAEyBZ,GAFzBY,CAI5B,EAOI5C,EAAuC,WAMnC,SAASA,EAAsB4C,CAAM,CAAEZ,CAAM,EACzC,IAAI,CAACY,MAAM,CAAGA,EAClB,IAAI,CAACZ,MAAM,CAAGA,CAClB,CAgLA,OAhKAhC,EAAsBsB,SAAS,CAACgI,oBAAoB,CAAG,SAAUtH,CAAM,EAenE,IAdA,IAIIuH,EAEApD,EANAqD,EAAS,IAAI,CAAC5G,MAAM,CACpBC,EAAQ2G,EAAOC,KAAK,GACpBzE,EAAQhD,EAAOgD,KAAK,CACpB0E,EAAe1H,EAAOiC,OAAO,CAACyF,YAAY,EAAI,EAE9CC,EAAS,EAETC,EAAmB,AAAC5E,CAAAA,EAAM6E,SAAS,EAAI,CAAA,EAClC7H,CAAAA,EAAOiC,OAAO,CAAC6F,WAAW,EAAI,CAAA,EAC/B,AAACN,CAAAA,EAAOrG,MAAM,CAAG,CAAA,EAAKnB,EAAO+H,WAAW,CAKzCP,EAAOrG,MAAM,EAAE,CAIlB,IAHAwG,EAASC,EAAkBJ,EAAOH,YAAY,CAACW,GAAG,GAClDT,EAAY,CAAA,EACZpD,EAAIqD,EAAOrG,MAAM,CACVgD,KACCqD,CAAM,CAACrD,EAAE,CAACV,MAAM,GAAKkE,EAASD,IAC9BF,EAAOS,MAAM,CAAC9D,EAAG,GACjByD,EACI9D,KAAKC,GAAG,CAAC,EAAG6D,EAAkBF,GAClCH,EAAY,CAAA,GAGpB,GAAI,CAACA,EACD,KAER,CAEAC,EAAOrG,MAAM,CAAG,EAChB,IAAK,IAAI+G,EAAK,EAAoBA,EAAKC,AAAZtH,EAAoBM,MAAM,CAAE+G,IAAM,CACzD,IAAIhH,EAAOiH,AADYtH,CACL,CAACqH,EAAG,CACtBV,EAAOzE,IAAI,CAAC7B,EAChB,CACA,OAAOyG,CACX,EAWA3J,EAAsBsB,SAAS,CAAC8I,GAAG,CAAG,SAAUT,CAAM,EAClD,IAAI3H,EAAS,IAAI,CAACA,MAAM,CACpB+H,EAAc/H,EAAO+H,WAAW,CAChCM,EAAS,IAAI,CAACzH,MAAM,CAAC+B,MAAM,CAAC,SAAU0F,CAAM,CAC5CnH,CAAI,EAOJ,OANQmH,EAAS,GACTA,CAAAA,GAAUN,CAAU,EAI5BM,GAFiBvE,KAAKC,GAAG,CAAC7C,EAAKuC,MAAM,GAAKkE,EACtC3H,EAAOiC,OAAO,CAACyF,YAAY,EAAI,EAGvC,EAAG,GAEH,OAAOR,EAAelH,EAAOiC,OAAO,CAACqG,aAAa,EAAI,UAAa,CAAA,AAACtI,CAAAA,EAAOgD,KAAK,CAAC6E,SAAS,EAAI,CAAA,EAAKQ,CAAK,CAC5G,EAWArK,EAAsBsB,SAAS,CAACiJ,IAAI,CAAG,SAAUZ,CAAM,EACnD,IAAI3H,EAAS,IAAI,CAACA,MAAM,CACpBgD,EAAQhD,EAAOgD,KAAK,CACpBuD,EAAavG,EAAOiC,OAAO,CAACsE,UAAU,CACtCiC,EAAkBxF,EAAMyF,QAAQ,CAAGzF,EAAM0F,UAAU,CAAG1F,EAAM2F,SAAS,CACrEZ,EAAc/H,EAAO+H,WAAW,CAChCa,EAAQ,IAAI,CAAChI,MAAM,CAAC+B,MAAM,CAAC,SAAUiG,CAAK,CAC1C1H,CAAI,EAUJ,OATQ0H,EAAQ,GACRA,CAAAA,GAASb,CAAU,EAO3Ba,GALgBrC,EACRiC,EAAiBtH,EAAKlB,MAAM,CAACa,KAAK,CAACM,MAAM,CACrC4G,EACJjE,KAAKC,GAAG,CAAC7C,EAAKuC,MAAM,GAAKkE,EAC7B3H,EAAOiC,OAAO,CAACyF,YAAY,EAAI,EAGvC,EAAG,GACH,MAAO,AAAC,CAAA,AAAC1E,CAAAA,EAAM6F,SAAS,EAAI,CAAA,EAAK/E,KAAKgF,KAAK,CAACF,EAAK,EAAK,CAC1D,EAYA5K,EAAsBsB,SAAS,CAAC0I,GAAG,CAAG,WAClC,OAAO,IAAI,CAACpH,MAAM,CAAC+B,MAAM,CAAC,SAAUqF,CAAG,CAAE9G,CAAI,EAAI,OAAQ8G,EAAM9G,EAAKuC,MAAM,EAAK,EAAG,EACtF,EAaAzF,EAAsBsB,SAAS,CAAC0E,MAAM,CAAG,SAAU9C,CAAI,CAAEyG,CAAM,EAC3D,IAIIoB,EAJAvB,EAAS,IAAI,CAAC5G,MAAM,CACpBZ,EAAS,IAAI,CAACA,MAAM,CACpB+H,EAAc/H,EAAO+H,WAAW,CAChC/D,EAAS,EAEb,GAAIhE,EAAOgJ,EAAE,CAAC,iBAAmB9H,EAAK+H,SAAS,CAC3C,MAAO,CACHC,YAAahI,EAAK+H,SAAS,CAACE,KAAK,AACrC,EAEJ,IAAK,IAAIhF,EAAI,EAAGA,EAAIqD,EAAOrG,MAAM,CAAEgD,IAAK,CACpC,IAAI6D,EAAMR,CAAM,CAACrD,EAAE,CAACV,MAAM,GACtB4E,EAASvE,KAAKC,GAAG,CAACiE,EAAML,EACxB3H,EAAOiC,OAAO,CAACyF,YAAY,EAAI,GAC/B0B,EAAkBlI,EAAKe,OAAO,CAACjC,EAAOgD,KAAK,CAACyF,QAAQ,CAChD,mBACA,iBAAiB,CACrBY,EAAenI,EAAKe,OAAO,CAAC+B,MAAM,EAAI,EAQ1C,GANI+E,EADAf,EACkBK,EAASN,EAIT,EAElBP,CAAM,CAACrD,EAAE,GAAKjD,EACd,MAAO,CACHoI,YAAatF,EAAUiD,CAAAA,EAAgCmC,GAGnDjC,EAAeiC,EAAiBf,GAChClB,EAAekC,EAAcN,EAAe,CACpD,EAEJ/E,GAAU+E,CACd,CACJ,EACO/K,CACX,IACAD,EAAwBC,qBAAqB,CAAGA,EAOvB,IAAIuL,EAAkCxL,EAG/DyL,EAAmGpL,EAAoB,KACvHqL,EAAuHrL,EAAoBI,CAAC,CAACgL,GAE7IE,EAAuHtL,EAAoB,KAC3IuL,EAA2IvL,EAAoBI,CAAC,CAACkL,GAEjKE,EAAmHxL,EAAoB,IACvIyL,EAAuIzL,EAAoBI,CAAC,CAACoL,GAgB7JE,EAAU,AAAClK,IAA+EkK,OAAO,CACjGC,EAAW,AAACnK,IAA+EmK,QAAQ,CAAEC,EAAiB,AAACpK,IAA+EW,KAAK,CAAE0J,EAAY,AAACrK,IAA+EqK,SAAS,CAAEC,EAAmB,AAACtK,IAA+EQ,OAAO,CAAE+J,EAAkB,AAACvK,IAA+ES,MAAM,CAyB5gB,SAAS+J,EAAYC,CAAI,CAAEC,CAAe,EACtC,IAAIjI,EAAQ,IAAI,CAEhBiI,EAAkBN,EAAe,CAAA,EAAM,CACnCO,QAAS,CAAA,EACT7D,WAAY,CACR8D,GAAI,GACJ7D,YAAa,MACb8D,WAAY,QAChB,CACJ,EAAGH,GACH,IAAII,EAAM,IAAI,CAACC,QAAQ,CAACD,GAAG,CACvBE,EAAc,IAAI,CAACC,IAAI,EAAI,IAAI,CAC/BC,EAAWF,EAAYE,QAAQ,CAC/BpE,EAAa4D,EAAgB5D,UAAU,CACvC6D,EAAUD,EAAgBC,OAAO,CAMrC,GALAF,EAAOA,GAASS,GAAYA,EAAST,IAAI,CAErCS,GACAA,EAASC,IAAI,GAEbV,GAAQE,EAAS,CACjB,IAAIQ,EAAOhB,EAASa,EAAa,kBAC7B,SAAUI,CAAC,EACP,GAAIX,GAAQE,EAAS,CAEjB,IAAIU,EAAaZ,EAAKa,IAAI,CAAC,MAC1BD,GACDZ,EAAKa,IAAI,CAAC,KAAMD,EAAahB,KAGjC,IAAIkB,EAAc,CAGVC,EAAG,EACH5H,EAAG,CACP,EACA0G,EAAiBxD,EAAW2E,EAAE,IAC9BF,EAAYE,EAAE,CAAG3E,EAAW2E,EAAE,CAC9B,OAAO3E,EAAW2E,EAAE,EAEpBnB,EAAiBxD,EAAW8D,EAAE,IAC9BW,EAAYX,EAAE,CAAG9D,EAAW8D,EAAE,CAC9B,OAAO9D,EAAW8D,EAAE,EAExBI,EAAYM,IAAI,CAACC,GAEjB9I,EAAM6I,IAAI,CAAC,CAAEI,UAAW,EAAG,GACvBjJ,EAAMkJ,GAAG,EACTlJ,CAAAA,EAAMkJ,GAAG,CAAGlJ,EAAMkJ,GAAG,CAAC9K,OAAO,EAAC,EAGlC,IAAI+K,EAAWR,EAAEnK,KAAK,CAAC4G,KAAK,CAAC,EAC7BuD,CAAAA,EAAEnK,KAAK,CAACM,MAAM,CAAG,EACjB6J,EAAEnK,KAAK,CAAC,EAAE,CAAG,CACT4K,QAAS,WACT/E,WAAYyD,EAAgBzD,EAAY,CACpC,cAAeA,EAAW+D,UAAU,CACpCiB,KAAM,GAAKhB,EAAM,IAAI/J,MAAM,CAACsK,EAChC,GACAO,SAAUA,CACd,CACJ,CACJ,EAEAZ,CAAAA,EAAYE,QAAQ,CAAG,CAAET,KAAMA,EAAMU,KAAMA,CAAK,CACpD,MAEIH,EAAYM,IAAI,CAAC,CAAEG,GAAI,EAAGb,GAAI,CAAE,GAChC,OAAOI,EAAYE,QAAQ,CAO/B,OALI,IAAI,CAACa,KAAK,GAEVf,EAAYgB,SAAS,CAAG,GACxB,IAAI,CAACjB,QAAQ,CAACkB,SAAS,CAACjB,IAErB,IAAI,AACf,CAWA,SAASkB,EAAWC,CAAK,EAErB,IADIhM,EACAiM,EAAOD,EAAMC,IAAI,CACjBC,EAAK,AAAwB,OAAvBlM,CAAAA,EAAK,IAAI,CAACmM,OAAO,AAAD,GAAenM,AAAO,KAAK,IAAZA,EAAgB,KAAK,EAAIA,EAAGoM,aAAa,CAAC,YACnF,GAAIF,EAAI,CA4BJ,IAAK,IA3BDG,EAAU,EAAE,CAAEC,EAAK,IAAI,CAAC1B,QAAQ,CAAC2B,WAAW,CAAC,IAAI,CAACJ,OAAO,EAAGK,EAAMF,EAAG/G,CAAC,CAAYkH,EAAcC,AAApBJ,EAAGI,CAAC,CAAoBF,EAAKG,EAAmB,AAAIC,OAAO,gEAEpH,KAAMC,EAAQX,EAC5BY,SAAS,CACTC,OAAO,CAACJ,EAAkB,IAC1BK,KAAK,CAAC,sCAAuCC,EAAaJ,EAAMzL,MAAM,CAI3E8L,EAAqB,SAAUC,CAAS,CACxCC,CAAc,EACV,IAAI/B,EAAI+B,EAAe/B,CAAC,CAC5B5H,EAAI2J,EAAe3J,CAAC,CACpB4J,EAAW,AAACnB,CAAAA,EAAGoB,iBAAiB,CAACH,GAAa,EAAC,EAAKpD,EACpDwD,EAASxJ,KAAKyJ,GAAG,CAACH,GAClBI,EAAS1J,KAAK2J,GAAG,CAACL,GAClB,MAAO,CACH,CACIhC,EAAIoB,EAAcc,EAClB9J,EAAIgJ,EAAcgB,EACrB,CACD,CACIpC,EAAImB,EAAMe,EACV9J,EAAI+I,EAAMiB,EACb,CACJ,AACL,EACSrJ,EAAI,EAAGuJ,EAAY,EAAGA,EAAYV,EAAYU,IAAa,CAGhE,IAAK,IADDC,EAAUC,AADHhB,CAAK,CAACc,EAAU,CACRvM,MAAM,CAChB0M,EAAgB,EAAGA,EAAgBF,EAASE,GAAiB,EAClE,GAAI,CACA,IAAIC,EAAgB3J,EACZ0J,EACAH,EACJK,EAAKd,EAAmBa,EACxB7B,EAAG+B,sBAAsB,CAACF,IAC1BG,EAAQF,CAAE,CAAC,EAAE,CACbG,EAAQH,CAAE,CAAC,EAAE,AACbF,AAAkB,CAAA,IAAlBA,GACAzB,EAAQrJ,IAAI,CAACmL,GACb9B,EAAQrJ,IAAI,CAACkL,KAGK,IAAdP,GACAtB,EAAQ+B,OAAO,CAACD,GAEhBR,IAAcV,EAAa,GAC3BZ,EAAQrJ,IAAI,CAACkL,GAGzB,CACA,MAAOjD,EAAG,CAGN,KACJ,CAEJ7G,GAAKwJ,EAAU,EACf,GAAI,CACA,IAAIG,EAAe3J,EAAIuJ,EACnBU,EAAUnC,EAAGoC,oBAAoB,CAACP,GAClCQ,EAAKrB,EAAmBa,EACxBM,GACAH,EAAQK,CAAE,CAAC,EAAE,CACbJ,EAAQI,CAAE,CAAC,EAAE,CACjBlC,EAAQ+B,OAAO,CAACD,GAChB9B,EAAQ+B,OAAO,CAACF,EACpB,CACA,MAAOjD,EAAG,CAGN,KACJ,CACJ,CAEIoB,EAAQjL,MAAM,EACdiL,EAAQrJ,IAAI,CAACqJ,CAAO,CAAC,EAAE,CAAC3E,KAAK,IAEjCuE,EAAKI,OAAO,CAAGA,CACnB,CACA,OAAOJ,CACX,CAWA,SAASuC,EAAaxC,CAAK,EAEvB,IADIhM,EACAyO,EAAezC,EAAMyC,YAAY,CACjCvK,EAAQ8H,EAAM9H,KAAK,CACnBqG,EAAmBkE,CAAY,CAACvK,EAAMK,YAAY,CAAG,WAAW,EAC5DkK,EAAa1D,QAAQ,CACzBR,GAAmB,CAACkE,EAAaC,OAAO,GACxC,IAAI,CAACrE,WAAW,CAAC,AAAC,CAAA,AAAkC,OAAjCrK,CAAAA,EAAKkE,EAAMyK,gBAAgB,AAAD,GAAe3O,AAAO,KAAK,IAAZA,EAAgB,KAAK,EAAIA,EAAGP,IAAI,CAACyE,EAAO,IAAI,CAAA,GAAMA,EAAMlC,OAAO,CAAEuI,GACzHrG,EAAM0K,aAAa,EACnB,CAACrE,EAAgBC,OAAO,EAExBtG,CAAAA,EAAM0K,aAAa,CAAI1K,EAAM0K,aAAa,CAAClO,OAAO,EAAE,EAGhE,CA2BA,IAAImO,GACI9Q,EAAgB,SAAUa,CAAC,CAC3B2G,CAAC,EAOD,MAAOxH,AANHA,CAAAA,EAAgBkB,OAAOuG,cAAc,EAChC,CAAA,CAAEC,UAAW,EAAE,AAAC,CAAA,YAAaC,OAAS,SAAU9G,CAAC,CAC1D2G,CAAC,EAAI3G,EAAE6G,SAAS,CAAGF,CAAG,GACd,SAAU3G,CAAC,CACnB2G,CAAC,EAAI,IAAK,IAAII,KAAKJ,EAAOtG,OAAOM,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC8F,EAC/DI,IAAI/G,CAAAA,CAAC,CAAC+G,EAAE,CAAGJ,CAAC,CAACI,EAAE,AAAD,CAAG,CAAA,EACI/G,EAAG2G,EAC5B,EACO,SAAU3G,CAAC,CAAE2G,CAAC,EACjB,GAAI,AAAa,YAAb,OAAOA,GAAoBA,AAAM,OAANA,EAC3B,MAAM,AAAIuJ,UAAU,uBAAyBC,OAAOxJ,GAAK,iCAE7D,SAASK,IAAO,IAAI,CAACC,WAAW,CAAGjH,CAAG,CADtCb,EAAca,EAAG2G,GAEjB3G,EAAEW,SAAS,CAAGgG,AAAM,OAANA,EAAatG,OAAO6G,MAAM,CAACP,GAAMK,CAAAA,EAAGrG,SAAS,CAAGgG,EAAEhG,SAAS,CAAE,IAAIqG,CAAG,CACtF,GAEAoJ,EAA4C,SAAUC,CAAC,CAAEhE,CAAC,EAC1D,IAAIiE,EAAI,CAAC,EACT,IAAK,IAAIvJ,KAAKsJ,EAAOhQ,OAAOM,SAAS,CAACC,cAAc,CAACC,IAAI,CAACwP,EAAGtJ,IAAMsF,AAAe,EAAfA,EAAEkE,OAAO,CAACxJ,IACzEuJ,CAAAA,CAAC,CAACvJ,EAAE,CAAGsJ,CAAC,CAACtJ,EAAE,AAAD,EACd,GAAIsJ,AAAK,MAALA,GAAa,AAAwC,YAAxC,OAAOhQ,OAAOmQ,qBAAqB,CAChD,IAAK,IAAIhL,EAAI,EAAGuB,EAAI1G,OAAOmQ,qBAAqB,CAACH,GAAI7K,EAAIuB,EAAEvE,MAAM,CAAEgD,IACzC,EAAlB6G,EAAEkE,OAAO,CAACxJ,CAAC,CAACvB,EAAE,GAASnF,OAAOM,SAAS,CAAC8P,oBAAoB,CAAC5P,IAAI,CAACwP,EAAGtJ,CAAC,CAACvB,EAAE,GACzE8K,CAAAA,CAAC,CAACvJ,CAAC,CAACvB,EAAE,CAAC,CAAG6K,CAAC,CAACtJ,CAAC,CAACvB,EAAE,CAAC,AAAD,EAE5B,OAAO8K,CACX,EAUAI,AAzDe,CAAA,CACXpM,QATJ,SAAiBqM,CAAe,EAC5BvF,EAASuF,EAAiB,eAAgBxD,GAC1C/B,EAASuF,EAAiB,wBAAyBf,GACnD,IAAIgB,EAAkBD,EAAgBhQ,SAAS,AAC1CiQ,CAAAA,EAAgBnF,WAAW,EAC5BmF,CAAAA,EAAgBnF,WAAW,CAAGA,CAAU,CAEhD,CAGA,CAAA,EAuDoBnH,OAAO,CAAE4G,KAC7B,IAAI2F,GAAU,AAAC7F,IAA+HrK,SAAS,CAACkQ,OAAO,CAC3JC,GAAqB,AAAC3P,IAA2IiG,WAAW,CAAE2J,GAAeD,GAAmBjI,MAAM,CAAEmI,GAAeF,GAAmBzJ,MAAM,CAChQ4J,GAAQ,AAAChQ,IAA+EgQ,KAAK,CAAEC,GAA0B,AAACjQ,IAA+ES,MAAM,CAAEyP,GAAyB,AAAClQ,IAA+EW,KAAK,CAAEwP,GAAwB,AAACnQ,IAA+EY,IAAI,CAAEwP,GAAkC,AAACpQ,IAA+EuH,cAAc,CAa/iB8I,GAAkC,SAAU9J,CAAM,EAElD,SAAS8J,IACL,OAAO9J,AAAW,OAAXA,GAAmBA,EAAOrF,KAAK,CAAC,IAAI,CAAEC,YAAc,IAAI,AACnE,CAmUA,OAtUA6N,EAAyBqB,EAAkB9J,GAc3C8J,EAAiB3Q,SAAS,CAAC4Q,iBAAiB,CAAG,WAC3C,IAAI7N,EAAQ,IAAI,CACZrC,EAAS,IAAI,CACbgD,EAAQhD,EAAOgD,KAAK,CAEpBwE,EAAS+B,EAA+BtG,OAAO,CAAC,EAAE,CAClDjD,GA8FJ,OA7FAwH,EAAOH,YAAY,CAAC8I,SAAS,CAAGnN,EAAMyF,QAAQ,CAC1CzF,EAAM0F,UAAU,CAAG1F,EAAM2F,SAAS,CAGtCnB,EAAOH,YAAY,CAACC,oBAAoB,CAAG,SAAUtH,CAAM,EAmBvD,IAlBA,IAEIuH,EAEApD,EACAO,EALA7D,EAAQ2G,EAAOC,KAAK,GACpBC,EAAerF,EAAMJ,OAAO,CAACyF,YAAY,EAAI,EAE7CC,EAAS,EAGTyI,EAAY,EACZC,EAAQ,EACRC,EAAkB,EAClBC,EAAiB,AAACvN,CAAAA,EAAM6F,SAAS,EAAI,CAAA,EAChC7I,CAAAA,EAAOiC,OAAO,CAACwC,MAAM,EAClBzE,EAAOiC,OAAO,CAACwC,MAAM,CAACoC,SAAS,EAAI,CAAA,EACvC,AAACW,CAAAA,EAAOrG,MAAM,CAAG,CAAA,EACbnB,EAAO+H,WAAW,CAKvBP,EAAOrG,MAAM,EAAE,CAIlB,IAHAwG,EAAS4I,EAAiB/I,EAAOH,YAAY,CAACW,GAAG,GACjDT,EAAY,CAAA,EACZpD,EAAIqD,EAAOrG,MAAM,CACVgD,KAAK,CACRO,EAAS,AAAC8C,CAAM,CAACrD,EAAE,CAACV,MAAM,GAAMkE,EAAS0I,EACzC,IAAIG,EAAW1M,KAAK2M,GAAG,CAACzN,EAAM0F,UAAU,CACpC1F,EAAM2F,SAAS,CACfjE,CAAAA,EAAS8L,EACTH,EAAQvM,KAAK2M,GAAG,CAACD,EAAW9L,EAAQ2L,GAE/B3L,EAASgD,IACdF,EAAOS,MAAM,CAAC9D,EAAG,GACjBoM,GAAkB7I,EAClBhD,EAASgD,EACTH,EAAY,CAAA,GAEhB+I,GAAmB5L,EAAU,CAAA,EAAI2L,CAAI,EAAK,EAC1CD,EAAYtM,KAAKC,GAAG,CAACqM,EAAW1L,EACpC,CACA,GAAI,CAAC6C,EACD,KAER,CAUA,OARAC,EAAOrG,MAAM,CAAG,EAChBN,EAAMI,OAAO,CAAC,SAAUC,CAAI,EACxBA,EAAKmP,KAAK,CAAGA,EACb7I,EAAOzE,IAAI,CAAC7B,EAChB,GACAsG,EAAOH,YAAY,CAAC+I,SAAS,CAAGA,EAChC5I,EAAOH,YAAY,CAACgJ,KAAK,CAAGA,EAC5B7I,EAAOH,YAAY,CAACiJ,eAAe,CAAGA,EAC/B3I,CACX,EACAH,EAAOH,YAAY,CAACrD,MAAM,CAAG,SAAU9C,CAAI,CAAEyG,CAAM,EAQ/C,IAAK,IADDoB,EANAxC,EAAarF,EAAKlB,MAAM,CAACiC,OAAO,CAACsE,UAAU,CAC3CwB,EAAc/H,EAAO+H,WAAW,CAChCqI,EAAYtM,KAAK2M,GAAG,CAACzN,EAAM2F,SAAS,CACpC3F,EAAM0F,UAAU,CAAE,AAAClB,CAAAA,EAAOH,YAAY,CAAC8I,SAAS,EAAI,CAAA,EAChDnQ,EAAOa,KAAK,CAACM,MAAM,CAAG4G,GAC1B/D,EAASwD,EAAOH,YAAY,CAACiJ,eAAe,EAAI,EAE3CnM,EAAI,EAAGA,EAAIqD,EAAOrG,MAAM,CAAEgD,IAAK,CACpC,IAAI6D,EAAMR,CAAM,CAACrD,EAAE,CAACV,MAAM,GACjB+D,CAAAA,EAAOH,YAAY,CAACgJ,KAAK,EAAI,CAAA,EAClCzH,EAAQrC,EACJ6J,EACAtM,KAAKC,GAAG,CAACiE,EAAML,EACnB3H,EAAOiC,OAAO,CAACyF,YAAY,EAAI,GAQnC,GANIqB,EADAf,EACkBY,EAAQb,EAIR,EAElBP,CAAM,CAACrD,EAAE,GAAKjD,EACd,MAAO,CACHwP,aAAc1M,EAASgM,GAAgC9O,EAAKe,OAAO,CAAC+B,MAAM,EAAI,EAAG+E,EACrF,EAEJ/E,GAAU+E,CACd,CACJ,EAEA/I,EAAOa,KAAK,CAACI,OAAO,CAAC,SAAUC,CAAI,EAC/BA,EAAKsG,MAAM,CAAG,EACdA,EAAOzE,IAAI,CAAC7B,EAChB,GACO,CAACsG,EAAO,AACnB,EAKAyI,EAAiB3Q,SAAS,CAACqR,aAAa,CAAG,SAAU1M,CAAK,EAGtD,IAFIlE,EACAsM,EAEA1K,EAAWsC,EAAMtC,QAAQ,CACzBC,EAASqC,EAAMrC,MAAM,CACrBoB,EAAQ,IAAI,CAACA,KAAK,CAClB4N,EAAoB5Q,AAJX,IAAI,CAIc4Q,iBAAiB,CAC5CC,EAAe5M,EAAMhC,OAAO,CAC5B6O,EAAgB9Q,AANP,IAAI,CAMUiC,OAAO,CAC9B8O,EAAahB,GAAsBc,EAAaE,UAAU,CAC1DD,EAAcC,UAAU,CACxBjN,KAAKC,GAAG,CAAC,AAACE,CAAAA,EAAMJ,MAAM,EAAI,CAAA,EACtB+M,EACAjP,EAAS0O,KAAK,CAAGrQ,AAXZ,IAAI,CAWeiC,OAAO,CAACyF,YAAY,EAAI,IACpDpB,EAAgBrC,EAAMjE,MAAM,CAACiC,OAAO,CAACqE,aAAa,CAClD0K,EAAUrP,EAASwH,KAAK,CACxB8H,EAAO,SAAU/P,CAAI,CACrBgQ,CAAQ,EACJ,IAAIC,EAAY,AAACjQ,CAAAA,EAAK8C,MAAM,CAACC,EACjCiN,IAAa,CAAA,EACLN,EAIR,OAHQ9M,KAAK2M,GAAG,CAACvP,EAAKkQ,KAAK,CAAGD,EAE1BjQ,EAAKkQ,KAAK,CAAIlQ,CAAAA,EAAKmQ,SAAS,EAAInQ,EAAKmQ,SAAS,CAAChJ,MAAM,EAAI,CAAA,EAAK0I,EAEtE,EACIO,EAAQhL,EACJ3E,EAASyP,KAAK,CACV,AAAC,CAAA,AAACzP,CAAAA,EAAS0P,SAAS,CAAChJ,MAAM,EAAI,CAAA,EAAK0I,CAAS,EAAK,EACtDE,EAAKtP,EAAU,aACnB4P,EAAMjL,EAAgB1E,EAAOwP,KAAK,CAC9B,AAAC,CAAA,AAACxP,CAAAA,EAAOyP,SAAS,CAAChJ,MAAM,EAAI,CAAA,EAAK0I,CAAS,EAAK,EAChDE,EAAKrP,EAAQ,WACjB4P,EAASR,EACTM,EAAQC,GACRxR,CAAAA,AAAmBuR,EAAQvR,AAA3BA,CAAAA,EAAK,CAACwR,EAAKD,EAAM,AAAD,CAAa,CAAC,EAAE,CAAEC,EAAMxR,CAAE,CAAC,EAAE,AAAD,EAE5C+Q,EAAc9J,QAAQ,GACHsK,EAAQjF,AAA3BA,CAAAA,EAAK,CAACkF,EAAKD,EAAM,AAAD,CAAa,CAAC,EAAE,CAAEC,EAAMlF,CAAE,CAAC,EAAE,CAC7CmF,EAAS,AAACxO,CAAAA,EAAM6E,SAAS,EAAI,CAAA,EAAK2J,GAEtCvN,EAAMwN,SAAS,CAAG,OAClBxN,EAAMyN,QAAQ,CAAG,CACbJ,EACAA,EAAQP,EACRQ,EACAA,EAAMR,EACT,CACD,IAAIY,EAAa,AAAEJ,CAAAA,EAAMR,EAAaO,CAAI,EAAKxN,KAAK8N,GAAG,CAACL,EAAMR,EAAaO,GAAUvB,GAAsBe,EAAca,UAAU,CAAE7N,KAAK2M,GAAG,CAAC3M,KAAK8N,GAAG,CAACL,EAAMR,EAAaO,GAAS,EAAG3P,EAASwH,KAAK,CAAGrF,KAAK8N,GAAG,CAACb,IAChN9M,CAAAA,EAAMoN,SAAS,CAAG,CACd1S,EAAG,CACC,CAAC,IAAK2S,EAAOE,EAAO,CACpB,CACI,IACA,AAACD,CAAAA,EAAMR,EAAaO,CAAI,EAAK,EAC7BK,EACA,EACA,EACA,EACAJ,EAAMR,EACNS,EACH,CACD,CAAC,IAAKD,EAAKC,EAAO,CAClB,CACI,IACA,AAACD,CAAAA,EAAMD,EAAQP,CAAS,EAAK,EAC7BY,EAAaZ,EACb,EACA,EACA,EACAO,EAAQP,EACRS,EACH,CACD,CAAC,IAAI,CACR,AACL,EACAvN,EAAM4N,KAAK,CAAG,CACVzG,EAAGkG,EAAQ,AAACC,CAAAA,EAAMD,CAAI,EAAK,EAC3B9N,EAAGgO,EAASG,EACZtJ,OAAQ0I,EACRnI,MAAO,CACX,EAEA3E,EAAM6N,UAAU,CAAG9O,EAAMyF,QAAQ,CAAG,CAChC,AAACzF,CAAAA,EAAM6E,SAAS,EAAI,CAAA,EAAK5D,EAAM4N,KAAK,CAACrO,CAAC,CAAGuN,EAAa,EACtD,AAAC/N,CAAAA,EAAM6F,SAAS,EAAI,CAAA,EAAK5E,EAAM4N,KAAK,CAACzG,CAAC,CACzC,CAAG,CACAnH,EAAM4N,KAAK,CAACzG,CAAC,CACbnH,EAAM4N,KAAK,CAACrO,CAAC,CAAGuN,EAAa,EAChC,CAED9M,EAAMT,CAAC,CAAGS,EAAM8N,KAAK,CAAG,EACxB9N,EAAMmH,CAAC,CAAGnH,EAAM+N,KAAK,CAAG,EACnB/N,EAAMiB,KAAK,EACZjB,CAAAA,EAAMiB,KAAK,CAAGvD,EAASuD,KAAK,AAAD,CAEnC,EAKA+K,EAAiB3Q,SAAS,CAAC2S,aAAa,CAAG,SAAU/Q,CAAI,CAAEsG,CAAM,EAE7D,IADIzH,EACe6Q,EAAoB5Q,AAA1B,IAAI,CAA6B4Q,iBAAiB,CAAE5N,EAAQhD,AAA5D,IAAI,CAA+DgD,KAAK,CAAEwF,EAAiBxF,EAAMyF,QAAQ,CAC9GzF,EAAM2F,SAAS,CAAG3F,EAAM0F,UAAU,CAAEzG,EAAUjC,AADzC,IAAI,CAC4CiC,OAAO,CAAEmO,EAAYtM,KAAK2M,GAAG,CAACzN,EAAM2F,SAAS,CAAE3F,EAAM0F,UAAU,CAAEF,EAAiBtH,EAAKlB,MAAM,CAACa,KAAK,CAACM,MAAM,CAAG,IAAI,CAAC4G,WAAW,EAAGC,EAAM9G,EAAKuC,MAAM,GAAM+D,CAAAA,EAAOH,YAAY,CAACgJ,KAAK,EAAI,CAAA,EAAqC6B,EAAa3L,AAAjCtE,EAAQsE,UAAU,CAC5Q6J,EACAtM,KAAKC,GAAG,CAACiE,EAAM4I,EAAmB,IAAI,CAAC3O,OAAO,CAACyF,YAAY,EAAI,GAAIb,EAAY,AAAC,CAAA,AAA0B,OAAzB9G,CAAAA,EAAKkC,EAAQwC,MAAM,AAAD,GAAe1E,AAAO,KAAK,IAAZA,EAAgB,KAAK,EAAIA,EAAG8G,SAAS,AAAD,GAAM,EAAGsL,EAAa3K,EAAOH,YAAY,CAACrD,MAAM,CAAC9C,EAAM0P,GAAoBwB,EAAexC,GAAMG,GAAsBoC,GAAcA,EAAWE,YAAY,CAAG,AAAC7K,CAAAA,EAAOH,YAAY,CAACkB,IAAI,CAACqI,IAAsB,CAAA,EACnWuB,CAAAA,GAAcA,EAAWzB,YAAY,EAAI,CAAA,GAAM7J,GAAYyL,EAAgBxC,GAAuB7N,EAAQwC,MAAM,CAAEvD,EAAKe,OAAO,CAACwC,MAAM,EAAGsC,EAASuL,EAAcvL,MAAM,CAAEwL,EAAeD,EAAc5N,MAAM,CAAE0D,EAAMoK,SAASvQ,EAAQ+B,MAAM,CAAE,IAC3O,CAAA,AAAChB,CAAAA,EAAMyF,QAAQ,CACZzF,EAAM2F,SAAS,CAAG3F,EAAM0F,UAAU,AAAD,EAAMkH,CAAAA,GAAM,IAAI,CAAC6C,WAAW,CAAIvR,CAAAA,EAAKsG,MAAM,EAAI,CAAA,EAChF,AAAC8K,CAAAA,EAAczL,SAAS,EAAI,CAAA,EAAK,EAAGA,GACpC,AAACW,CAAAA,EAAOH,YAAY,CAACgJ,KAAK,EAAI,CAAA,EACzB7I,CAAAA,EAAOH,YAAY,CAAC+I,SAAS,EAAI,CAAA,EAAK,CAAA,CAAC,EAAK,IAG7D,GAFAlP,EAAK8G,GAAG,CAAGA,EAEPA,EAAK,CAEL9G,EAAKkQ,KAAK,CAAGgB,EACblR,EAAKiI,KAAK,CAAGf,EACb,IACIQ,EAAQ1H,EAAKe,OAAO,CAAC2G,KAAK,EAAI3G,EAAQ2G,KAAK,EAAIsJ,EAC/C7J,EAASnH,EAAKe,OAAO,CAACoG,MAAM,EAAIpG,EAAQoG,MAAM,EAAI6J,EAClD1O,EAAI4E,CACJnG,CAAAA,EAAQ+E,QAAQ,GAChBxD,EAAI,AAACR,CAAAA,EAAM6E,SAAS,EAAI,CAAA,EAAKO,EACzBpF,EAAMyF,QAAQ,EACdjF,CAAAA,EAAI,AAACR,CAAAA,EAAM6E,SAAS,EAAI,CAAA,EAAKO,CAAE,GAGnC,IAAI,CAACsK,iBAAiB,EAEtBxR,CAAAA,EAAKyR,SAAS,CAAGhD,GAAaiD,YAAY,CAAC,CACvC9N,MAAO,IAAI,CAAC4N,iBAAiB,CAACxR,EAAK4D,KAAK,CAAC,CACzC+N,aAAc3R,EAAKe,OAAO,AAC9B,EAAC,EAGLf,EAAK8Q,KAAK,CAAG,EACb9Q,EAAK6Q,KAAK,CAAG,EAEb7Q,EAAK4Q,UAAU,CAAG9O,EAAMyF,QAAQ,CAAG,CAC/B,AAACzF,CAAAA,EAAM6E,SAAS,EAAI,CAAA,EAAKrE,EAAI6E,EAAS,EACtC,AAACrF,CAAAA,EAAM6F,SAAS,EAAI,CAAA,EAvBhBuJ,EAuByBxJ,EAAQ,EACxC,CAAG,CACAwC,AAzBIgH,EAyBAxJ,EAAQ,EACZpF,EAAI6E,EAAS,EAChB,CACDnH,EAAKuQ,SAAS,CAAG,OACjBvQ,EAAKmQ,SAAS,CAAG,CACb1S,EAAG6Q,EAAO,CAACzI,GAAU,SAAS,CA9B1BqL,EA8B8B5O,EAAI,AAAC+O,CAAAA,GAAgBlK,CAAK,EAAK,EAAGkK,GAAgB3J,EAAO2J,GAAgBlK,GAC3GO,MAAO2J,GAAgB3J,EACvBP,OAAQkK,GAAgBlK,CAC5B,EACAnH,EAAK2Q,KAAK,CAAG,CACTzG,EAAGA,AAnCCgH,EAmCGxJ,EAAQ,EACfpF,EAAGA,EACH6E,OAAQ,EACRO,MAAO,CACX,CACJ,MAEI1H,EAAKyR,SAAS,CAAG,CACbpI,QAAS,CAAA,CACb,CAER,EAGA0F,EAAiB3Q,SAAS,CAACwT,cAAc,CAAG,WACxC,GAAI,IAAI,CAAC7Q,OAAO,CAACuE,UAAU,CAAE,CACzB,IAAIsE,EAAW,IAAI,CAAC7I,OAAO,CAACuE,UAAU,CAACsE,QAAQ,CAE/C4E,GAAapQ,SAAS,CAACwT,cAAc,CAACtT,IAAI,CAAC,IAAI,CAAE,IAAI,CAACqB,KAAK,EAE3D,IAAI,CAACoB,OAAO,CAACuE,UAAU,CAACsE,QAAQ,CAC5B,IAAI,CAAC7I,OAAO,CAACuE,UAAU,CAACC,YAAY,CACxCiJ,GAAapQ,SAAS,CAACwT,cAAc,CAACtT,IAAI,CAAC,IAAI,CAAE,IAAI,CAACkB,IAAI,EAE1D,IAAI,CAACuB,OAAO,CAACuE,UAAU,CAACsE,QAAQ,CAAGA,CACvC,CACJ,EACAmF,EAAiB3Q,SAAS,CAACyT,YAAY,CAAG,SAAU9O,CAAK,CAEzD5C,CAAK,EACD,GAAI4C,GAASA,EAAMzC,MAAM,CAAE,CACvB,IAAIwR,EAAQjE,EAAOtF,IAA0GnK,SAAS,CAACyT,YAAY,CAC1IjS,KAAK,CAAC,IAAI,CACfC,WACA,EAAE,EACN,OAAOiS,CACX,CACA,OAAO7M,EAAO7G,SAAS,CAACyT,YAAY,CAACjS,KAAK,CAAC,IAAI,CAAEC,UACrD,EACAkP,EAAiB3Q,SAAS,CAAC2T,aAAa,CAAG,SAAUhP,CAAK,SACtD,AAAIA,EAAMzC,MAAM,CACL2E,EAAO7G,SAAS,CAAC2T,aAAa,CAACnS,KAAK,CAAC,IAAI,CAAEC,WAE/C,CAAC,CACZ,EAMAkP,EAAiBiD,cAAc,CAAGpD,GAAuBH,GAAauD,cAAc,CAAE7M,GAC/E4J,CACX,EAAEN,IACFE,GAAwBI,GAAiB3Q,SAAS,CAAE,CAChD6T,WAAY,CAAA,CAChB,GACAlD,GAAiB3Q,SAAS,CAACa,UAAU,CA3oC0B+F,EA4oC/DpG,IAA0IsT,kBAAkB,CAAC,aAAcnD,IAa9I,IAAIvQ,GAAoBE,IAG3C,OADYH,EAAoB,OAAU,AAE3C,GAET"}
Hacked By AnonymousFox1.0, Coded By AnonymousFox