q2-tecton-elements 1.47.4 → 1.47.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/cjs/q2-chart-area.cjs.entry.js +14 -1
  2. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  3. package/dist/cjs/q2-chart-bar.cjs.entry.js +28 -1
  4. package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
  5. package/dist/cjs/q2-chart-donut.cjs.entry.js +24 -1
  6. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  7. package/dist/cjs/q2-select.cjs.entry.js +2 -3
  8. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  9. package/dist/collection/components/q2-chart-area/q2-chart-area.js +14 -1
  10. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  11. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +28 -1
  12. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js.map +1 -1
  13. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +24 -1
  14. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  15. package/dist/collection/components/q2-select/q2-select.js +2 -3
  16. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  17. package/dist/components/q2-chart-area.js +14 -1
  18. package/dist/components/q2-chart-area.js.map +1 -1
  19. package/dist/components/q2-chart-bar.js +28 -1
  20. package/dist/components/q2-chart-bar.js.map +1 -1
  21. package/dist/components/q2-chart-donut.js +24 -1
  22. package/dist/components/q2-chart-donut.js.map +1 -1
  23. package/dist/components/q2-select2.js +2 -3
  24. package/dist/components/q2-select2.js.map +1 -1
  25. package/dist/esm/q2-chart-area.entry.js +14 -1
  26. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  27. package/dist/esm/q2-chart-bar.entry.js +28 -1
  28. package/dist/esm/q2-chart-bar.entry.js.map +1 -1
  29. package/dist/esm/q2-chart-donut.entry.js +24 -1
  30. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  31. package/dist/esm/q2-select.entry.js +2 -3
  32. package/dist/esm/q2-select.entry.js.map +1 -1
  33. package/dist/q2-tecton-elements/p-3ccb7031.entry.js +2 -0
  34. package/dist/q2-tecton-elements/p-3ccb7031.entry.js.map +1 -0
  35. package/dist/q2-tecton-elements/{p-0097a699.entry.js → p-4d1e5572.entry.js} +2 -2
  36. package/dist/q2-tecton-elements/p-4d1e5572.entry.js.map +1 -0
  37. package/dist/q2-tecton-elements/{p-bcd6b43b.entry.js → p-52bb49a9.entry.js} +2 -2
  38. package/dist/q2-tecton-elements/p-52bb49a9.entry.js.map +1 -0
  39. package/dist/q2-tecton-elements/p-91b89da7.entry.js +2 -0
  40. package/dist/q2-tecton-elements/{p-eef9966c.entry.js.map → p-91b89da7.entry.js.map} +1 -1
  41. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  42. package/dist/test/elements/q2-select-test.spec.js +0 -4
  43. package/dist/test/elements/q2-select-test.spec.js.map +1 -1
  44. package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +2 -0
  45. package/package.json +3 -3
  46. package/dist/q2-tecton-elements/p-0097a699.entry.js.map +0 -1
  47. package/dist/q2-tecton-elements/p-aa7e150c.entry.js +0 -2
  48. package/dist/q2-tecton-elements/p-aa7e150c.entry.js.map +0 -1
  49. package/dist/q2-tecton-elements/p-bcd6b43b.entry.js.map +0 -1
  50. package/dist/q2-tecton-elements/p-eef9966c.entry.js +0 -2
@@ -1 +1 @@
1
- {"file":"q2-chart-bar.entry.cjs.js","mappings":"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","names":["__extends","createSeriesData","each","SeriesModel","inheritDefaultOption","BaseBarSeriesModel","Path","calculateTextPosition","isNumber","isArray","isCoordinateSystemType","traverseElements","initProps","updateProps","saveOldStyle","labelInner","removeElementWithFadeOut","Group","createClipPath","map","getECData","ChartView","Rect","extend","Sector","getSectorCornerRadius","getLabelStatesModels","setLabelStyle","getDefaultLabel","setLabelValueAnimation","getDefaultInterpolatedLabel","toggleHoverEmphasis","setStatesStylesFromModel","throttle","BarView","zrUtil.curry","layout","createProgressiveLayout","dataSample","echarts.use","AriaComponent","BarChart","CanvasRenderer","LabelLayout","GridComponent","TitleComponent","echarts.init","overrideFocus","getCSSProperty","isValidColor","formatValue","loc","h"],"sources":["../../node_modules/echarts/lib/chart/bar/BaseBarSeries.js","../../node_modules/echarts/lib/chart/bar/BarSeries.js","../../node_modules/echarts/lib/util/shape/sausage.js","../../node_modules/echarts/lib/label/sectorLabel.js","../../node_modules/echarts/lib/chart/bar/BarView.js","../../node_modules/echarts/lib/chart/bar/install.js","src/components/q2-chart-bar/q2-chart-bar.scss?tag=q2-chart-bar&encapsulation=shadow","src/components/q2-chart-bar/q2-chart-bar.tsx"],"sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport SeriesModel from '../../model/Series.js';\nimport createSeriesData from '../helper/createSeriesData.js';\nimport { each } from 'zrender/lib/core/util.js';\nvar BaseBarSeriesModel = /** @class */function (_super) {\n __extends(BaseBarSeriesModel, _super);\n function BaseBarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = BaseBarSeriesModel.type;\n return _this;\n }\n BaseBarSeriesModel.prototype.getInitialData = function (option, ecModel) {\n return createSeriesData(null, this, {\n useEncodeDefaulter: true\n });\n };\n BaseBarSeriesModel.prototype.getMarkerPosition = function (value, dims, startingAtTick) {\n var coordSys = this.coordinateSystem;\n if (coordSys && coordSys.clampData) {\n // PENDING if clamp ?\n var clampData_1 = coordSys.clampData(value);\n var pt_1 = coordSys.dataToPoint(clampData_1);\n if (startingAtTick) {\n each(coordSys.getAxes(), function (axis, idx) {\n // If axis type is category, use tick coords instead\n if (axis.type === 'category' && dims != null) {\n var tickCoords = axis.getTicksCoords();\n var alignTicksWithLabel = axis.getTickModel().get('alignWithLabel');\n var targetTickId = clampData_1[idx];\n // The index of rightmost tick of markArea is 1 larger than x1/y1 index\n var isEnd = dims[idx] === 'x1' || dims[idx] === 'y1';\n if (isEnd && !alignTicksWithLabel) {\n targetTickId += 1;\n }\n // The only contains one tick, tickCoords is\n // like [{coord: 0, tickValue: 0}, {coord: 0}]\n // to the length should always be larger than 1\n if (tickCoords.length < 2) {\n return;\n } else if (tickCoords.length === 2) {\n // The left value and right value of the axis are\n // the same. coord is 0 in both items. Use the max\n // value of the axis as the coord\n pt_1[idx] = axis.toGlobalCoord(axis.getExtent()[isEnd ? 1 : 0]);\n return;\n }\n var leftCoord = void 0;\n var coord = void 0;\n var stepTickValue = 1;\n for (var i = 0; i < tickCoords.length; i++) {\n var tickCoord = tickCoords[i].coord;\n // The last item of tickCoords doesn't contain\n // tickValue\n var tickValue = i === tickCoords.length - 1 ? tickCoords[i - 1].tickValue + stepTickValue : tickCoords[i].tickValue;\n if (tickValue === targetTickId) {\n coord = tickCoord;\n break;\n } else if (tickValue < targetTickId) {\n leftCoord = tickCoord;\n } else if (leftCoord != null && tickValue > targetTickId) {\n coord = (tickCoord + leftCoord) / 2;\n break;\n }\n if (i === 1) {\n // Here we assume the step of category axes is\n // the same\n stepTickValue = tickValue - tickCoords[0].tickValue;\n }\n }\n if (coord == null) {\n if (!leftCoord) {\n // targetTickId is smaller than all tick ids in the\n // visible area, use the leftmost tick coord\n coord = tickCoords[0].coord;\n } else if (leftCoord) {\n // targetTickId is larger than all tick ids in the\n // visible area, use the rightmost tick coord\n coord = tickCoords[tickCoords.length - 1].coord;\n }\n }\n pt_1[idx] = axis.toGlobalCoord(coord);\n }\n });\n } else {\n var data = this.getData();\n var offset = data.getLayout('offset');\n var size = data.getLayout('size');\n var offsetIndex = coordSys.getBaseAxis().isHorizontal() ? 0 : 1;\n pt_1[offsetIndex] += offset + size / 2;\n }\n return pt_1;\n }\n return [NaN, NaN];\n };\n BaseBarSeriesModel.type = 'series.__base_bar__';\n BaseBarSeriesModel.defaultOption = {\n // zlevel: 0,\n z: 2,\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n // stack: null\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n barMinHeight: 0,\n barMinAngle: 0,\n // cursor: null,\n large: false,\n largeThreshold: 400,\n progressive: 3e3,\n progressiveChunkMode: 'mod'\n };\n return BaseBarSeriesModel;\n}(SeriesModel);\nSeriesModel.registerClass(BaseBarSeriesModel);\nexport default BaseBarSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport BaseBarSeriesModel from './BaseBarSeries.js';\nimport createSeriesData from '../helper/createSeriesData.js';\nimport { inheritDefaultOption } from '../../util/component.js';\nvar BarSeriesModel = /** @class */function (_super) {\n __extends(BarSeriesModel, _super);\n function BarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = BarSeriesModel.type;\n return _this;\n }\n BarSeriesModel.prototype.getInitialData = function () {\n return createSeriesData(null, this, {\n useEncodeDefaulter: true,\n createInvertedIndices: !!this.get('realtimeSort', true) || null\n });\n };\n /**\n * @override\n */\n BarSeriesModel.prototype.getProgressive = function () {\n // Do not support progressive in normal mode.\n return this.get('large') ? this.get('progressive') : false;\n };\n /**\n * @override\n */\n BarSeriesModel.prototype.getProgressiveThreshold = function () {\n // Do not support progressive in normal mode.\n var progressiveThreshold = this.get('progressiveThreshold');\n var largeThreshold = this.get('largeThreshold');\n if (largeThreshold > progressiveThreshold) {\n progressiveThreshold = largeThreshold;\n }\n return progressiveThreshold;\n };\n BarSeriesModel.prototype.brushSelector = function (dataIndex, data, selectors) {\n return selectors.rect(data.getItemLayout(dataIndex));\n };\n BarSeriesModel.type = 'series.bar';\n BarSeriesModel.dependencies = ['grid', 'polar'];\n BarSeriesModel.defaultOption = inheritDefaultOption(BaseBarSeriesModel.defaultOption, {\n // If clipped\n // Only available on cartesian2d\n clip: true,\n roundCap: false,\n showBackground: false,\n backgroundStyle: {\n color: 'rgba(180, 180, 180, 0.2)',\n borderColor: null,\n borderWidth: 0,\n borderType: 'solid',\n borderRadius: 0,\n shadowBlur: 0,\n shadowColor: null,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n opacity: 1\n },\n select: {\n itemStyle: {\n borderColor: '#212121'\n }\n },\n realtimeSort: false\n });\n return BarSeriesModel;\n}(BaseBarSeriesModel);\nexport default BarSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport { Path } from '../graphic.js';\n/**\n * Sausage: similar to sector, but have half circle on both sides\n */\nvar SausageShape = /** @class */function () {\n function SausageShape() {\n this.cx = 0;\n this.cy = 0;\n this.r0 = 0;\n this.r = 0;\n this.startAngle = 0;\n this.endAngle = Math.PI * 2;\n this.clockwise = true;\n }\n return SausageShape;\n}();\nvar SausagePath = /** @class */function (_super) {\n __extends(SausagePath, _super);\n function SausagePath(opts) {\n var _this = _super.call(this, opts) || this;\n _this.type = 'sausage';\n return _this;\n }\n SausagePath.prototype.getDefaultShape = function () {\n return new SausageShape();\n };\n SausagePath.prototype.buildPath = function (ctx, shape) {\n var cx = shape.cx;\n var cy = shape.cy;\n var r0 = Math.max(shape.r0 || 0, 0);\n var r = Math.max(shape.r, 0);\n var dr = (r - r0) * 0.5;\n var rCenter = r0 + dr;\n var startAngle = shape.startAngle;\n var endAngle = shape.endAngle;\n var clockwise = shape.clockwise;\n var PI2 = Math.PI * 2;\n var lessThanCircle = clockwise ? endAngle - startAngle < PI2 : startAngle - endAngle < PI2;\n if (!lessThanCircle) {\n // Normalize angles\n startAngle = endAngle - (clockwise ? PI2 : -PI2);\n }\n var unitStartX = Math.cos(startAngle);\n var unitStartY = Math.sin(startAngle);\n var unitEndX = Math.cos(endAngle);\n var unitEndY = Math.sin(endAngle);\n if (lessThanCircle) {\n ctx.moveTo(unitStartX * r0 + cx, unitStartY * r0 + cy);\n ctx.arc(unitStartX * rCenter + cx, unitStartY * rCenter + cy, dr, -Math.PI + startAngle, startAngle, !clockwise);\n } else {\n ctx.moveTo(unitStartX * r + cx, unitStartY * r + cy);\n }\n ctx.arc(cx, cy, r, startAngle, endAngle, !clockwise);\n ctx.arc(unitEndX * rCenter + cx, unitEndY * rCenter + cy, dr, endAngle - Math.PI * 2, endAngle - Math.PI, !clockwise);\n if (r0 !== 0) {\n ctx.arc(cx, cy, r0, endAngle, startAngle, clockwise);\n }\n // ctx.closePath();\n };\n\n return SausagePath;\n}(Path);\nexport default SausagePath;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { calculateTextPosition } from 'zrender/lib/contain/text.js';\nimport { isArray, isNumber } from 'zrender/lib/core/util.js';\nexport function createSectorCalculateTextPosition(positionMapping, opts) {\n opts = opts || {};\n var isRoundCap = opts.isRoundCap;\n return function (out, opts, boundingRect) {\n var textPosition = opts.position;\n if (!textPosition || textPosition instanceof Array) {\n return calculateTextPosition(out, opts, boundingRect);\n }\n var mappedSectorPosition = positionMapping(textPosition);\n var distance = opts.distance != null ? opts.distance : 5;\n var sector = this.shape;\n var cx = sector.cx;\n var cy = sector.cy;\n var r = sector.r;\n var r0 = sector.r0;\n var middleR = (r + r0) / 2;\n var startAngle = sector.startAngle;\n var endAngle = sector.endAngle;\n var middleAngle = (startAngle + endAngle) / 2;\n var extraDist = isRoundCap ? Math.abs(r - r0) / 2 : 0;\n var mathCos = Math.cos;\n var mathSin = Math.sin;\n // base position: top-left\n var x = cx + r * mathCos(startAngle);\n var y = cy + r * mathSin(startAngle);\n var textAlign = 'left';\n var textVerticalAlign = 'top';\n switch (mappedSectorPosition) {\n case 'startArc':\n x = cx + (r0 - distance) * mathCos(middleAngle);\n y = cy + (r0 - distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'top';\n break;\n case 'insideStartArc':\n x = cx + (r0 + distance) * mathCos(middleAngle);\n y = cy + (r0 + distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n case 'startAngle':\n x = cx + middleR * mathCos(startAngle) + adjustAngleDistanceX(startAngle, distance + extraDist, false);\n y = cy + middleR * mathSin(startAngle) + adjustAngleDistanceY(startAngle, distance + extraDist, false);\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n case 'insideStartAngle':\n x = cx + middleR * mathCos(startAngle) + adjustAngleDistanceX(startAngle, -distance + extraDist, false);\n y = cy + middleR * mathSin(startAngle) + adjustAngleDistanceY(startAngle, -distance + extraDist, false);\n textAlign = 'left';\n textVerticalAlign = 'middle';\n break;\n case 'middle':\n x = cx + middleR * mathCos(middleAngle);\n y = cy + middleR * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\n case 'endArc':\n x = cx + (r + distance) * mathCos(middleAngle);\n y = cy + (r + distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n case 'insideEndArc':\n x = cx + (r - distance) * mathCos(middleAngle);\n y = cy + (r - distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'top';\n break;\n case 'endAngle':\n x = cx + middleR * mathCos(endAngle) + adjustAngleDistanceX(endAngle, distance + extraDist, true);\n y = cy + middleR * mathSin(endAngle) + adjustAngleDistanceY(endAngle, distance + extraDist, true);\n textAlign = 'left';\n textVerticalAlign = 'middle';\n break;\n case 'insideEndAngle':\n x = cx + middleR * mathCos(endAngle) + adjustAngleDistanceX(endAngle, -distance + extraDist, true);\n y = cy + middleR * mathSin(endAngle) + adjustAngleDistanceY(endAngle, -distance + extraDist, true);\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n default:\n return calculateTextPosition(out, opts, boundingRect);\n }\n out = out || {};\n out.x = x;\n out.y = y;\n out.align = textAlign;\n out.verticalAlign = textVerticalAlign;\n return out;\n };\n}\nexport function setSectorTextRotation(sector, textPosition, positionMapping, rotateType) {\n if (isNumber(rotateType)) {\n // user-set rotation\n sector.setTextConfig({\n rotation: rotateType\n });\n return;\n } else if (isArray(textPosition)) {\n // user-set position, use 0 as auto rotation\n sector.setTextConfig({\n rotation: 0\n });\n return;\n }\n var shape = sector.shape;\n var startAngle = shape.clockwise ? shape.startAngle : shape.endAngle;\n var endAngle = shape.clockwise ? shape.endAngle : shape.startAngle;\n var middleAngle = (startAngle + endAngle) / 2;\n var anchorAngle;\n var mappedSectorPosition = positionMapping(textPosition);\n switch (mappedSectorPosition) {\n case 'startArc':\n case 'insideStartArc':\n case 'middle':\n case 'insideEndArc':\n case 'endArc':\n anchorAngle = middleAngle;\n break;\n case 'startAngle':\n case 'insideStartAngle':\n anchorAngle = startAngle;\n break;\n case 'endAngle':\n case 'insideEndAngle':\n anchorAngle = endAngle;\n break;\n default:\n sector.setTextConfig({\n rotation: 0\n });\n return;\n }\n var rotate = Math.PI * 1.5 - anchorAngle;\n /**\n * TODO: labels with rotate > Math.PI / 2 should be rotate another\n * half round flipped to increase readability. However, only middle\n * position supports this for now, because in other positions, the\n * anchor point is not at the center of the text, so the positions\n * after rotating is not as expected.\n */\n if (mappedSectorPosition === 'middle' && rotate > Math.PI / 2 && rotate < Math.PI * 1.5) {\n rotate -= Math.PI;\n }\n sector.setTextConfig({\n rotation: rotate\n });\n}\nfunction adjustAngleDistanceX(angle, distance, isEnd) {\n return distance * Math.sin(angle) * (isEnd ? -1 : 1);\n}\nfunction adjustAngleDistanceY(angle, distance, isEnd) {\n return distance * Math.cos(angle) * (isEnd ? 1 : -1);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport Path from 'zrender/lib/graphic/Path.js';\nimport Group from 'zrender/lib/graphic/Group.js';\nimport { extend, each, map } from 'zrender/lib/core/util.js';\nimport { Rect, Sector, updateProps, initProps, removeElementWithFadeOut, traverseElements } from '../../util/graphic.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';\nimport { setLabelStyle, getLabelStatesModels, setLabelValueAnimation, labelInner } from '../../label/labelStyle.js';\nimport { throttle } from '../../util/throttle.js';\nimport { createClipPath } from '../helper/createClipPathFromCoordSys.js';\nimport Sausage from '../../util/shape/sausage.js';\nimport ChartView from '../../view/Chart.js';\nimport { isCoordinateSystemType } from '../../coord/CoordinateSystem.js';\nimport { getDefaultLabel, getDefaultInterpolatedLabel } from '../helper/labelHelper.js';\nimport { warn } from '../../util/log.js';\nimport { createSectorCalculateTextPosition, setSectorTextRotation } from '../../label/sectorLabel.js';\nimport { saveOldStyle } from '../../animation/basicTransition.js';\nimport { getSectorCornerRadius } from '../helper/sectorHelper.js';\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nfunction getClipArea(coord, data) {\n var coordSysClipArea = coord.getArea && coord.getArea();\n if (isCoordinateSystemType(coord, 'cartesian2d')) {\n var baseAxis = coord.getBaseAxis();\n // When boundaryGap is false or using time axis. bar may exceed the grid.\n // We should not clip this part.\n // See test/bar2.html\n if (baseAxis.type !== 'category' || !baseAxis.onBand) {\n var expandWidth = data.getLayout('bandWidth');\n if (baseAxis.isHorizontal()) {\n coordSysClipArea.x -= expandWidth;\n coordSysClipArea.width += expandWidth * 2;\n } else {\n coordSysClipArea.y -= expandWidth;\n coordSysClipArea.height += expandWidth * 2;\n }\n }\n }\n return coordSysClipArea;\n}\nvar BarView = /** @class */function (_super) {\n __extends(BarView, _super);\n function BarView() {\n var _this = _super.call(this) || this;\n _this.type = BarView.type;\n _this._isFirstFrame = true;\n return _this;\n }\n BarView.prototype.render = function (seriesModel, ecModel, api, payload) {\n this._model = seriesModel;\n this._removeOnRenderedListener(api);\n this._updateDrawMode(seriesModel);\n var coordinateSystemType = seriesModel.get('coordinateSystem');\n if (coordinateSystemType === 'cartesian2d' || coordinateSystemType === 'polar') {\n // Clear previously rendered progressive elements.\n this._progressiveEls = null;\n this._isLargeDraw ? this._renderLarge(seriesModel, ecModel, api) : this._renderNormal(seriesModel, ecModel, api, payload);\n } else if (process.env.NODE_ENV !== 'production') {\n warn('Only cartesian2d and polar supported for bar.');\n }\n };\n BarView.prototype.incrementalPrepareRender = function (seriesModel) {\n this._clear();\n this._updateDrawMode(seriesModel);\n // incremental also need to clip, otherwise might be overlow.\n // But must not set clip in each frame, otherwise all of the children will be marked redraw.\n this._updateLargeClip(seriesModel);\n };\n BarView.prototype.incrementalRender = function (params, seriesModel) {\n // Reset\n this._progressiveEls = [];\n // Do not support progressive in normal mode.\n this._incrementalRenderLarge(params, seriesModel);\n };\n BarView.prototype.eachRendered = function (cb) {\n traverseElements(this._progressiveEls || this.group, cb);\n };\n BarView.prototype._updateDrawMode = function (seriesModel) {\n var isLargeDraw = seriesModel.pipelineContext.large;\n if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {\n this._isLargeDraw = isLargeDraw;\n this._clear();\n }\n };\n BarView.prototype._renderNormal = function (seriesModel, ecModel, api, payload) {\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n var coord = seriesModel.coordinateSystem;\n var baseAxis = coord.getBaseAxis();\n var isHorizontalOrRadial;\n if (coord.type === 'cartesian2d') {\n isHorizontalOrRadial = baseAxis.isHorizontal();\n } else if (coord.type === 'polar') {\n isHorizontalOrRadial = baseAxis.dim === 'angle';\n }\n var animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;\n var realtimeSortCfg = shouldRealtimeSort(seriesModel, coord);\n if (realtimeSortCfg) {\n this._enableRealtimeSort(realtimeSortCfg, data, api);\n }\n var needsClip = seriesModel.get('clip', true) || realtimeSortCfg;\n var coordSysClipArea = getClipArea(coord, data);\n // If there is clipPath created in large mode. Remove it.\n group.removeClipPath();\n // We don't use clipPath in normal mode because we needs a perfect animation\n // And don't want the label are clipped.\n var roundCap = seriesModel.get('roundCap', true);\n var drawBackground = seriesModel.get('showBackground', true);\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var barBorderRadius = backgroundModel.get('borderRadius') || 0;\n var bgEls = [];\n var oldBgEls = this._backgroundEls;\n var isInitSort = payload && payload.isInitSort;\n var isChangeOrder = payload && payload.type === 'changeAxisOrder';\n function createBackground(dataIndex) {\n var bgLayout = getLayout[coord.type](data, dataIndex);\n var bgEl = createBackgroundEl(coord, isHorizontalOrRadial, bgLayout);\n bgEl.useStyle(backgroundModel.getItemStyle());\n // Only cartesian2d support borderRadius.\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n } else {\n bgEl.setShape('cornerRadius', barBorderRadius);\n }\n bgEls[dataIndex] = bgEl;\n return bgEl;\n }\n ;\n data.diff(oldData).add(function (dataIndex) {\n var itemModel = data.getItemModel(dataIndex);\n var layout = getLayout[coord.type](data, dataIndex, itemModel);\n if (drawBackground) {\n createBackground(dataIndex);\n }\n // If dataZoom in filteMode: 'empty', the baseValue can be set as NaN in \"axisProxy\".\n if (!data.hasValue(dataIndex) || !isValidLayout[coord.type](layout)) {\n return;\n }\n var isClipped = false;\n if (needsClip) {\n // Clip will modify the layout params.\n // And return a boolean to determine if the shape are fully clipped.\n isClipped = clip[coord.type](coordSysClipArea, layout);\n }\n var el = elementCreator[coord.type](seriesModel, data, dataIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, false, roundCap);\n if (realtimeSortCfg) {\n /**\n * Force label animation because even if the element is\n * ignored because it's clipped, it may not be clipped after\n * changing order. Then, if not using forceLabelAnimation,\n * the label animation was never started, in which case,\n * the label will be the final value and doesn't have label\n * animation.\n */\n el.forceLabelAnimation = true;\n }\n updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n if (isInitSort) {\n el.attr({\n shape: layout\n });\n } else if (realtimeSortCfg) {\n updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout, dataIndex, isHorizontalOrRadial, false, false);\n } else {\n initProps(el, {\n shape: layout\n }, seriesModel, dataIndex);\n }\n data.setItemGraphicEl(dataIndex, el);\n group.add(el);\n el.ignore = isClipped;\n }).update(function (newIndex, oldIndex) {\n var itemModel = data.getItemModel(newIndex);\n var layout = getLayout[coord.type](data, newIndex, itemModel);\n if (drawBackground) {\n var bgEl = void 0;\n if (oldBgEls.length === 0) {\n bgEl = createBackground(oldIndex);\n } else {\n bgEl = oldBgEls[oldIndex];\n bgEl.useStyle(backgroundModel.getItemStyle());\n // Only cartesian2d support borderRadius.\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n } else {\n bgEl.setShape('cornerRadius', barBorderRadius);\n }\n bgEls[newIndex] = bgEl;\n }\n var bgLayout = getLayout[coord.type](data, newIndex);\n var shape = createBackgroundShape(isHorizontalOrRadial, bgLayout, coord);\n updateProps(bgEl, {\n shape: shape\n }, animationModel, newIndex);\n }\n var el = oldData.getItemGraphicEl(oldIndex);\n if (!data.hasValue(newIndex) || !isValidLayout[coord.type](layout)) {\n group.remove(el);\n return;\n }\n var isClipped = false;\n if (needsClip) {\n isClipped = clip[coord.type](coordSysClipArea, layout);\n if (isClipped) {\n group.remove(el);\n }\n }\n if (!el) {\n el = elementCreator[coord.type](seriesModel, data, newIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, !!el, roundCap);\n } else {\n saveOldStyle(el);\n }\n if (realtimeSortCfg) {\n el.forceLabelAnimation = true;\n }\n if (isChangeOrder) {\n var textEl = el.getTextContent();\n if (textEl) {\n var labelInnerStore = labelInner(textEl);\n if (labelInnerStore.prevValue != null) {\n /**\n * Set preValue to be value so that no new label\n * should be started, otherwise, it will take a full\n * `animationDurationUpdate` time to finish the\n * animation, which is not expected.\n */\n labelInnerStore.prevValue = labelInnerStore.value;\n }\n }\n }\n // Not change anything if only order changed.\n // Especially not change label.\n else {\n updateStyle(el, data, newIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n }\n if (isInitSort) {\n el.attr({\n shape: layout\n });\n } else if (realtimeSortCfg) {\n updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout, newIndex, isHorizontalOrRadial, true, isChangeOrder);\n } else {\n updateProps(el, {\n shape: layout\n }, seriesModel, newIndex, null);\n }\n data.setItemGraphicEl(newIndex, el);\n el.ignore = isClipped;\n group.add(el);\n }).remove(function (dataIndex) {\n var el = oldData.getItemGraphicEl(dataIndex);\n el && removeElementWithFadeOut(el, seriesModel, dataIndex);\n }).execute();\n var bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group());\n bgGroup.removeAll();\n for (var i = 0; i < bgEls.length; ++i) {\n bgGroup.add(bgEls[i]);\n }\n group.add(bgGroup);\n this._backgroundEls = bgEls;\n this._data = data;\n };\n BarView.prototype._renderLarge = function (seriesModel, ecModel, api) {\n this._clear();\n createLarge(seriesModel, this.group);\n this._updateLargeClip(seriesModel);\n };\n BarView.prototype._incrementalRenderLarge = function (params, seriesModel) {\n this._removeBackground();\n createLarge(seriesModel, this.group, this._progressiveEls, true);\n };\n BarView.prototype._updateLargeClip = function (seriesModel) {\n // Use clipPath in large mode.\n var clipPath = seriesModel.get('clip', true) && createClipPath(seriesModel.coordinateSystem, false, seriesModel);\n var group = this.group;\n if (clipPath) {\n group.setClipPath(clipPath);\n } else {\n group.removeClipPath();\n }\n };\n BarView.prototype._enableRealtimeSort = function (realtimeSortCfg, data, api) {\n var _this = this;\n // If no data in the first frame, wait for data to initSort\n if (!data.count()) {\n return;\n }\n var baseAxis = realtimeSortCfg.baseAxis;\n if (this._isFirstFrame) {\n this._dispatchInitSort(data, realtimeSortCfg, api);\n this._isFirstFrame = false;\n } else {\n var orderMapping_1 = function (idx) {\n var el = data.getItemGraphicEl(idx);\n var shape = el && el.shape;\n return shape &&\n // The result should be consistent with the initial sort by data value.\n // Do not support the case that both positive and negative exist.\n Math.abs(baseAxis.isHorizontal() ? shape.height : shape.width)\n // If data is NaN, shape.xxx may be NaN, so use || 0 here in case\n || 0;\n };\n this._onRendered = function () {\n _this._updateSortWithinSameData(data, orderMapping_1, baseAxis, api);\n };\n api.getZr().on('rendered', this._onRendered);\n }\n };\n BarView.prototype._dataSort = function (data, baseAxis, orderMapping) {\n var info = [];\n data.each(data.mapDimension(baseAxis.dim), function (ordinalNumber, dataIdx) {\n var mappedValue = orderMapping(dataIdx);\n mappedValue = mappedValue == null ? NaN : mappedValue;\n info.push({\n dataIndex: dataIdx,\n mappedValue: mappedValue,\n ordinalNumber: ordinalNumber\n });\n });\n info.sort(function (a, b) {\n // If NaN, it will be treated as min val.\n return b.mappedValue - a.mappedValue;\n });\n return {\n ordinalNumbers: map(info, function (item) {\n return item.ordinalNumber;\n })\n };\n };\n BarView.prototype._isOrderChangedWithinSameData = function (data, orderMapping, baseAxis) {\n var scale = baseAxis.scale;\n var ordinalDataDim = data.mapDimension(baseAxis.dim);\n var lastValue = Number.MAX_VALUE;\n for (var tickNum = 0, len = scale.getOrdinalMeta().categories.length; tickNum < len; ++tickNum) {\n var rawIdx = data.rawIndexOf(ordinalDataDim, scale.getRawOrdinalNumber(tickNum));\n var value = rawIdx < 0\n // If some tick have no bar, the tick will be treated as min.\n ? Number.MIN_VALUE\n // PENDING: if dataZoom on baseAxis exits, is it a performance issue?\n : orderMapping(data.indexOfRawIndex(rawIdx));\n if (value > lastValue) {\n return true;\n }\n lastValue = value;\n }\n return false;\n };\n /*\n * Consider the case when A and B changed order, whose representing\n * bars are both out of sight, we don't wish to trigger reorder action\n * as long as the order in the view doesn't change.\n */\n BarView.prototype._isOrderDifferentInView = function (orderInfo, baseAxis) {\n var scale = baseAxis.scale;\n var extent = scale.getExtent();\n var tickNum = Math.max(0, extent[0]);\n var tickMax = Math.min(extent[1], scale.getOrdinalMeta().categories.length - 1);\n for (; tickNum <= tickMax; ++tickNum) {\n if (orderInfo.ordinalNumbers[tickNum] !== scale.getRawOrdinalNumber(tickNum)) {\n return true;\n }\n }\n };\n BarView.prototype._updateSortWithinSameData = function (data, orderMapping, baseAxis, api) {\n if (!this._isOrderChangedWithinSameData(data, orderMapping, baseAxis)) {\n return;\n }\n var sortInfo = this._dataSort(data, baseAxis, orderMapping);\n if (this._isOrderDifferentInView(sortInfo, baseAxis)) {\n this._removeOnRenderedListener(api);\n api.dispatchAction({\n type: 'changeAxisOrder',\n componentType: baseAxis.dim + 'Axis',\n axisId: baseAxis.index,\n sortInfo: sortInfo\n });\n }\n };\n BarView.prototype._dispatchInitSort = function (data, realtimeSortCfg, api) {\n var baseAxis = realtimeSortCfg.baseAxis;\n var sortResult = this._dataSort(data, baseAxis, function (dataIdx) {\n return data.get(data.mapDimension(realtimeSortCfg.otherAxis.dim), dataIdx);\n });\n api.dispatchAction({\n type: 'changeAxisOrder',\n componentType: baseAxis.dim + 'Axis',\n isInitSort: true,\n axisId: baseAxis.index,\n sortInfo: sortResult\n });\n };\n BarView.prototype.remove = function (ecModel, api) {\n this._clear(this._model);\n this._removeOnRenderedListener(api);\n };\n BarView.prototype.dispose = function (ecModel, api) {\n this._removeOnRenderedListener(api);\n };\n BarView.prototype._removeOnRenderedListener = function (api) {\n if (this._onRendered) {\n api.getZr().off('rendered', this._onRendered);\n this._onRendered = null;\n }\n };\n BarView.prototype._clear = function (model) {\n var group = this.group;\n var data = this._data;\n if (model && model.isAnimationEnabled() && data && !this._isLargeDraw) {\n this._removeBackground();\n this._backgroundEls = [];\n data.eachItemGraphicEl(function (el) {\n removeElementWithFadeOut(el, model, getECData(el).dataIndex);\n });\n } else {\n group.removeAll();\n }\n this._data = null;\n this._isFirstFrame = true;\n };\n BarView.prototype._removeBackground = function () {\n this.group.remove(this._backgroundGroup);\n this._backgroundGroup = null;\n };\n BarView.type = 'bar';\n return BarView;\n}(ChartView);\nvar clip = {\n cartesian2d: function (coordSysBoundingRect, layout) {\n var signWidth = layout.width < 0 ? -1 : 1;\n var signHeight = layout.height < 0 ? -1 : 1;\n // Needs positive width and height\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n var coordSysX2 = coordSysBoundingRect.x + coordSysBoundingRect.width;\n var coordSysY2 = coordSysBoundingRect.y + coordSysBoundingRect.height;\n var x = mathMax(layout.x, coordSysBoundingRect.x);\n var x2 = mathMin(layout.x + layout.width, coordSysX2);\n var y = mathMax(layout.y, coordSysBoundingRect.y);\n var y2 = mathMin(layout.y + layout.height, coordSysY2);\n var xClipped = x2 < x;\n var yClipped = y2 < y;\n // When xClipped or yClipped, the element will be marked as `ignore`.\n // But we should also place the element at the edge of the coord sys bounding rect.\n // Because if data changed and the bar shows again, its transition animation\n // will begin at this place.\n layout.x = xClipped && x > coordSysX2 ? x2 : x;\n layout.y = yClipped && y > coordSysY2 ? y2 : y;\n layout.width = xClipped ? 0 : x2 - x;\n layout.height = yClipped ? 0 : y2 - y;\n // Reverse back\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n return xClipped || yClipped;\n },\n polar: function (coordSysClipArea, layout) {\n var signR = layout.r0 <= layout.r ? 1 : -1;\n // Make sure r is larger than r0\n if (signR < 0) {\n var tmp = layout.r;\n layout.r = layout.r0;\n layout.r0 = tmp;\n }\n var r = mathMin(layout.r, coordSysClipArea.r);\n var r0 = mathMax(layout.r0, coordSysClipArea.r0);\n layout.r = r;\n layout.r0 = r0;\n var clipped = r - r0 < 0;\n // Reverse back\n if (signR < 0) {\n var tmp = layout.r;\n layout.r = layout.r0;\n layout.r0 = tmp;\n }\n return clipped;\n }\n};\nvar elementCreator = {\n cartesian2d: function (seriesModel, data, newIndex, layout, isHorizontal, animationModel, axisModel, isUpdate, roundCap) {\n var rect = new Rect({\n shape: extend({}, layout),\n z2: 1\n });\n rect.__dataIndex = newIndex;\n rect.name = 'item';\n if (animationModel) {\n var rectShape = rect.shape;\n var animateProperty = isHorizontal ? 'height' : 'width';\n rectShape[animateProperty] = 0;\n }\n return rect;\n },\n polar: function (seriesModel, data, newIndex, layout, isRadial, animationModel, axisModel, isUpdate, roundCap) {\n var ShapeClass = !isRadial && roundCap ? Sausage : Sector;\n var sector = new ShapeClass({\n shape: layout,\n z2: 1\n });\n sector.name = 'item';\n var positionMap = createPolarPositionMapping(isRadial);\n sector.calculateTextPosition = createSectorCalculateTextPosition(positionMap, {\n isRoundCap: ShapeClass === Sausage\n });\n // Animation\n if (animationModel) {\n var sectorShape = sector.shape;\n var animateProperty = isRadial ? 'r' : 'endAngle';\n var animateTarget = {};\n sectorShape[animateProperty] = isRadial ? layout.r0 : layout.startAngle;\n animateTarget[animateProperty] = layout[animateProperty];\n (isUpdate ? updateProps : initProps)(sector, {\n shape: animateTarget\n // __value: typeof dataValue === 'string' ? parseInt(dataValue, 10) : dataValue\n }, animationModel);\n }\n return sector;\n }\n};\nfunction shouldRealtimeSort(seriesModel, coordSys) {\n var realtimeSortOption = seriesModel.get('realtimeSort', true);\n var baseAxis = coordSys.getBaseAxis();\n if (process.env.NODE_ENV !== 'production') {\n if (realtimeSortOption) {\n if (baseAxis.type !== 'category') {\n warn('`realtimeSort` will not work because this bar series is not based on a category axis.');\n }\n if (coordSys.type !== 'cartesian2d') {\n warn('`realtimeSort` will not work because this bar series is not on cartesian2d.');\n }\n }\n }\n if (realtimeSortOption && baseAxis.type === 'category' && coordSys.type === 'cartesian2d') {\n return {\n baseAxis: baseAxis,\n otherAxis: coordSys.getOtherAxis(baseAxis)\n };\n }\n}\nfunction updateRealtimeAnimation(realtimeSortCfg, seriesAnimationModel, el, layout, newIndex, isHorizontal, isUpdate, isChangeOrder) {\n var seriesTarget;\n var axisTarget;\n if (isHorizontal) {\n axisTarget = {\n x: layout.x,\n width: layout.width\n };\n seriesTarget = {\n y: layout.y,\n height: layout.height\n };\n } else {\n axisTarget = {\n y: layout.y,\n height: layout.height\n };\n seriesTarget = {\n x: layout.x,\n width: layout.width\n };\n }\n if (!isChangeOrder) {\n // Keep the original growth animation if only axis order changed.\n // Not start a new animation.\n (isUpdate ? updateProps : initProps)(el, {\n shape: seriesTarget\n }, seriesAnimationModel, newIndex, null);\n }\n var axisAnimationModel = seriesAnimationModel ? realtimeSortCfg.baseAxis.model : null;\n (isUpdate ? updateProps : initProps)(el, {\n shape: axisTarget\n }, axisAnimationModel, newIndex);\n}\nfunction checkPropertiesNotValid(obj, props) {\n for (var i = 0; i < props.length; i++) {\n if (!isFinite(obj[props[i]])) {\n return true;\n }\n }\n return false;\n}\nvar rectPropties = ['x', 'y', 'width', 'height'];\nvar polarPropties = ['cx', 'cy', 'r', 'startAngle', 'endAngle'];\nvar isValidLayout = {\n cartesian2d: function (layout) {\n return !checkPropertiesNotValid(layout, rectPropties);\n },\n polar: function (layout) {\n return !checkPropertiesNotValid(layout, polarPropties);\n }\n};\nvar getLayout = {\n // itemModel is only used to get borderWidth, which is not needed\n // when calculating bar background layout.\n cartesian2d: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n var fixedLineWidth = itemModel ? getLineWidth(itemModel, layout) : 0;\n // fix layout with lineWidth\n var signX = layout.width > 0 ? 1 : -1;\n var signY = layout.height > 0 ? 1 : -1;\n return {\n x: layout.x + signX * fixedLineWidth / 2,\n y: layout.y + signY * fixedLineWidth / 2,\n width: layout.width - signX * fixedLineWidth,\n height: layout.height - signY * fixedLineWidth\n };\n },\n polar: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n return {\n cx: layout.cx,\n cy: layout.cy,\n r0: layout.r0,\n r: layout.r,\n startAngle: layout.startAngle,\n endAngle: layout.endAngle,\n clockwise: layout.clockwise\n };\n }\n};\nfunction isZeroOnPolar(layout) {\n return layout.startAngle != null && layout.endAngle != null && layout.startAngle === layout.endAngle;\n}\nfunction createPolarPositionMapping(isRadial) {\n return function (isRadial) {\n var arcOrAngle = isRadial ? 'Arc' : 'Angle';\n return function (position) {\n switch (position) {\n case 'start':\n case 'insideStart':\n case 'end':\n case 'insideEnd':\n return position + arcOrAngle;\n default:\n return position;\n }\n };\n }(isRadial);\n}\nfunction updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, isPolar) {\n var style = data.getItemVisual(dataIndex, 'style');\n if (!isPolar) {\n var borderRadius = itemModel.get(['itemStyle', 'borderRadius']) || 0;\n el.setShape('r', borderRadius);\n } else if (!seriesModel.get('roundCap')) {\n var sectorShape = el.shape;\n var cornerRadius = getSectorCornerRadius(itemModel.getModel('itemStyle'), sectorShape, true);\n extend(sectorShape, cornerRadius);\n el.setShape(sectorShape);\n }\n el.useStyle(style);\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && el.attr('cursor', cursorStyle);\n var labelPositionOutside = isPolar ? isHorizontalOrRadial ? layout.r >= layout.r0 ? 'endArc' : 'startArc' : layout.endAngle >= layout.startAngle ? 'endAngle' : 'startAngle' : isHorizontalOrRadial ? layout.height >= 0 ? 'bottom' : 'top' : layout.width >= 0 ? 'right' : 'left';\n var labelStatesModels = getLabelStatesModels(itemModel);\n setLabelStyle(el, labelStatesModels, {\n labelFetcher: seriesModel,\n labelDataIndex: dataIndex,\n defaultText: getDefaultLabel(seriesModel.getData(), dataIndex),\n inheritColor: style.fill,\n defaultOpacity: style.opacity,\n defaultOutsidePosition: labelPositionOutside\n });\n var label = el.getTextContent();\n if (isPolar && label) {\n var position = itemModel.get(['label', 'position']);\n el.textConfig.inside = position === 'middle' ? true : null;\n setSectorTextRotation(el, position === 'outside' ? labelPositionOutside : position, createPolarPositionMapping(isHorizontalOrRadial), itemModel.get(['label', 'rotate']));\n }\n setLabelValueAnimation(label, labelStatesModels, seriesModel.getRawValue(dataIndex), function (value) {\n return getDefaultInterpolatedLabel(data, value);\n });\n var emphasisModel = itemModel.getModel(['emphasis']);\n toggleHoverEmphasis(el, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n setStatesStylesFromModel(el, itemModel);\n if (isZeroOnPolar(layout)) {\n el.style.fill = 'none';\n el.style.stroke = 'none';\n each(el.states, function (state) {\n if (state.style) {\n state.style.fill = state.style.stroke = 'none';\n }\n });\n }\n}\n// In case width or height are too small.\nfunction getLineWidth(itemModel, rawLayout) {\n // Has no border.\n var borderColor = itemModel.get(['itemStyle', 'borderColor']);\n if (!borderColor || borderColor === 'none') {\n return 0;\n }\n var lineWidth = itemModel.get(['itemStyle', 'borderWidth']) || 0;\n // width or height may be NaN for empty data\n var width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);\n var height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);\n return Math.min(lineWidth, width, height);\n}\nvar LagePathShape = /** @class */function () {\n function LagePathShape() {}\n return LagePathShape;\n}();\nvar LargePath = /** @class */function (_super) {\n __extends(LargePath, _super);\n function LargePath(opts) {\n var _this = _super.call(this, opts) || this;\n _this.type = 'largeBar';\n return _this;\n }\n LargePath.prototype.getDefaultShape = function () {\n return new LagePathShape();\n };\n LargePath.prototype.buildPath = function (ctx, shape) {\n // Drawing lines is more efficient than drawing\n // a whole line or drawing rects.\n var points = shape.points;\n var baseDimIdx = this.baseDimIdx;\n var valueDimIdx = 1 - this.baseDimIdx;\n var startPoint = [];\n var size = [];\n var barWidth = this.barWidth;\n for (var i = 0; i < points.length; i += 3) {\n size[baseDimIdx] = barWidth;\n size[valueDimIdx] = points[i + 2];\n startPoint[baseDimIdx] = points[i + baseDimIdx];\n startPoint[valueDimIdx] = points[i + valueDimIdx];\n ctx.rect(startPoint[0], startPoint[1], size[0], size[1]);\n }\n };\n return LargePath;\n}(Path);\nfunction createLarge(seriesModel, group, progressiveEls, incremental) {\n // TODO support polar\n var data = seriesModel.getData();\n var baseDimIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;\n var largeDataIndices = data.getLayout('largeDataIndices');\n var barWidth = data.getLayout('size');\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var bgPoints = data.getLayout('largeBackgroundPoints');\n if (bgPoints) {\n var bgEl = new LargePath({\n shape: {\n points: bgPoints\n },\n incremental: !!incremental,\n silent: true,\n z2: 0\n });\n bgEl.baseDimIdx = baseDimIdx;\n bgEl.largeDataIndices = largeDataIndices;\n bgEl.barWidth = barWidth;\n bgEl.useStyle(backgroundModel.getItemStyle());\n group.add(bgEl);\n progressiveEls && progressiveEls.push(bgEl);\n }\n var el = new LargePath({\n shape: {\n points: data.getLayout('largePoints')\n },\n incremental: !!incremental,\n ignoreCoarsePointer: true,\n z2: 1\n });\n el.baseDimIdx = baseDimIdx;\n el.largeDataIndices = largeDataIndices;\n el.barWidth = barWidth;\n group.add(el);\n el.useStyle(data.getVisual('style'));\n // Enable tooltip and user mouse/touch event handlers.\n getECData(el).seriesIndex = seriesModel.seriesIndex;\n if (!seriesModel.get('silent')) {\n el.on('mousedown', largePathUpdateDataIndex);\n el.on('mousemove', largePathUpdateDataIndex);\n }\n progressiveEls && progressiveEls.push(el);\n}\n// Use throttle to avoid frequently traverse to find dataIndex.\nvar largePathUpdateDataIndex = throttle(function (event) {\n var largePath = this;\n var dataIndex = largePathFindDataIndex(largePath, event.offsetX, event.offsetY);\n getECData(largePath).dataIndex = dataIndex >= 0 ? dataIndex : null;\n}, 30, false);\nfunction largePathFindDataIndex(largePath, x, y) {\n var baseDimIdx = largePath.baseDimIdx;\n var valueDimIdx = 1 - baseDimIdx;\n var points = largePath.shape.points;\n var largeDataIndices = largePath.largeDataIndices;\n var startPoint = [];\n var size = [];\n var barWidth = largePath.barWidth;\n for (var i = 0, len = points.length / 3; i < len; i++) {\n var ii = i * 3;\n size[baseDimIdx] = barWidth;\n size[valueDimIdx] = points[ii + 2];\n startPoint[baseDimIdx] = points[ii + baseDimIdx];\n startPoint[valueDimIdx] = points[ii + valueDimIdx];\n if (size[valueDimIdx] < 0) {\n startPoint[valueDimIdx] += size[valueDimIdx];\n size[valueDimIdx] = -size[valueDimIdx];\n }\n if (x >= startPoint[0] && x <= startPoint[0] + size[0] && y >= startPoint[1] && y <= startPoint[1] + size[1]) {\n return largeDataIndices[i];\n }\n }\n return -1;\n}\nfunction createBackgroundShape(isHorizontalOrRadial, layout, coord) {\n if (isCoordinateSystemType(coord, 'cartesian2d')) {\n var rectShape = layout;\n var coordLayout = coord.getArea();\n return {\n x: isHorizontalOrRadial ? rectShape.x : coordLayout.x,\n y: isHorizontalOrRadial ? coordLayout.y : rectShape.y,\n width: isHorizontalOrRadial ? rectShape.width : coordLayout.width,\n height: isHorizontalOrRadial ? coordLayout.height : rectShape.height\n };\n } else {\n var coordLayout = coord.getArea();\n var sectorShape = layout;\n return {\n cx: coordLayout.cx,\n cy: coordLayout.cy,\n r0: isHorizontalOrRadial ? coordLayout.r0 : sectorShape.r0,\n r: isHorizontalOrRadial ? coordLayout.r : sectorShape.r,\n startAngle: isHorizontalOrRadial ? sectorShape.startAngle : 0,\n endAngle: isHorizontalOrRadial ? sectorShape.endAngle : Math.PI * 2\n };\n }\n}\nfunction createBackgroundEl(coord, isHorizontalOrRadial, layout) {\n var ElementClz = coord.type === 'polar' ? Sector : Rect;\n return new ElementClz({\n shape: createBackgroundShape(isHorizontalOrRadial, layout, coord),\n silent: true,\n z2: 0\n });\n}\nexport default BarView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { layout, createProgressiveLayout } from '../../layout/barGrid.js';\nimport dataSample from '../../processor/dataSample.js';\nimport BarSeries from './BarSeries.js';\nimport BarView from './BarView.js';\nexport function install(registers) {\n registers.registerChartView(BarView);\n registers.registerSeriesModel(BarSeries);\n registers.registerLayout(registers.PRIORITY.VISUAL.LAYOUT, zrUtil.curry(layout, 'bar'));\n // Do layout after other overall layout, which can prepare some information.\n registers.registerLayout(registers.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, createProgressiveLayout('bar'));\n // Down sample after filter\n registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, dataSample('bar'));\n /**\n * @payload\n * @property {string} [componentType=series]\n * @property {number} [dx]\n * @property {number} [dy]\n * @property {number} [zoom]\n * @property {number} [originX]\n * @property {number} [originY]\n */\n registers.registerAction({\n type: 'changeAxisOrder',\n event: 'changeAxisOrder',\n update: 'update'\n }, function (payload, ecModel) {\n var componentType = payload.componentType || 'series';\n ecModel.eachComponent({\n mainType: componentType,\n query: payload\n }, function (componentModel) {\n if (payload.sortInfo) {\n componentModel.axis.setCategorySortInfo(payload.sortInfo);\n }\n });\n });\n}","@import '../../styles/host.scss';\n\n:host {\n width: var(--tct-bar-chart-width, 100%);\n height: var(--tct-bar-chart-height, 100%);\n display: block;\n}\n\n.container {\n width: 100%;\n height: 100%;\n}\n\n.chart-container {\n width: 100%;\n height: 100%;\n}\n","import { Component, Prop, h, ComponentInterface, Element, Watch } from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport {\n TitleComponent,\n TitleComponentOption,\n AriaComponent,\n AriaComponentOption,\n GridComponent,\n} from 'echarts/components';\nimport { BarChart, BarSeriesOption } from 'echarts/charts';\nimport { LabelLayout } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { loc, overrideFocus } from 'src/utils';\nimport { getCSSProperty, isValidColor, formatValue } from 'src/utils/charting';\nimport { CallbackDataParams } from 'echarts/types/dist/shared';\nimport { IChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([AriaComponent, BarChart, CanvasRenderer, LabelLayout, GridComponent, TitleComponent]);\n\ntype EChartsOption = echarts.ComposeOption<AriaComponentOption | BarSeriesOption | TitleComponentOption>;\n\n@Component({ tag: 'q2-chart-bar', shadow: true, styleUrl: 'q2-chart-bar.scss' })\nexport class Q2ChartBar implements ComponentInterface {\n /** An array of objects that contain the data to be displayed. */\n @Prop() data: IChartData[] = [];\n\n /** Controls alignment of the chart name when its visible. */\n @Prop({ reflect: true }) alignChartName: 'left' | 'right' | 'center';\n\n /**\n * The title of the chart. We recommend always including this for accessibility purposes.\n *\n * It is hidden by default, but can be made visible with the `showChartName` variable.\n * @localizable\n */\n @Prop({ reflect: true }) chartName: string;\n\n /** A subtitile to the chart name. Often used to provide a brief description of what the data represents. */\n @Prop({ reflect: true }) chartSubTitle: string;\n\n /**\n * Controls the color of all bars in the chart. Can be overridden at the individual data point level.\n * Accept variables, hex codes, an CSS color names.\n *\n * **Examples:**\n * @snippet\n * element.areaColor = \"#ff0000\";\n * element.areaColor = \"papayawhip\";\n * element.areaColor = \"var(--t-accent-1)\";\n */\n @Prop({ reflect: true }) color: string;\n\n /**\n * Allows control of how labels on the name axis will be handled if the text length is wider than the available space.\n * Values will ellipsize if the truncate option is used.\n */\n @Prop({ reflect: true }) dataNamesOverflow: 'break' | 'truncate';\n\n /**\n * Sets width available for labels on the name axis.\n * It can be used in coordination with `dataNamesOverflow` to control where the label text breaks or truncates.\n */\n @Prop({ reflect: true }) dataNamesWidth: number;\n\n /** Controls whether values on the value axis are shown as numbers or as currency. */\n @Prop({ reflect: true }) format: 'currency' | 'default';\n\n /**\n * Can be used in coordination with the currency format property to control decimal handling.\n * Accepts `Ndec` where N is a number. (e.g. `2dec`)\n */\n @Prop({ reflect: true }) formatModifier: string;\n\n /** Controls visibility of labels on the name axis. */\n @Prop({ reflect: true }) hideBarLabels: boolean = false;\n\n /** Controls visibility of labels on the value axis. */\n @Prop({ reflect: true }) hideValueAxisLabels: boolean = false;\n\n /**\n * Controls the position of text on the names axis by centering the text to the bar at a 45° angle.\n * Can be used when space is limited or with longer name labels.\n */\n @Prop({ reflect: true }) offsetDataNames: boolean = false;\n\n /**\n * Controls the position of text on the values axis by centering the text to the bar at a 45° angle.\n * Can be used when space is limited or with longer name labels.\n */\n @Prop({ reflect: true }) offsetDataValues: boolean = false;\n\n /**\n * Controls which axes are the value and name axes.\n * When `vertical`, values are on the y-axis and names are on the x-axis, with bars shown vertically on the chart.\n * When `horizontal`, names are on the y-axis and values are on the x-axis, with bars shown horizontally on the chart.\n */\n @Prop({ reflect: true }) orientation: 'vertical' | 'horizontal';\n\n /** Controls the visibility of the chart name at the top of the chart. */\n @Prop({ reflect: true }) showChartName: boolean = false;\n\n /**\n * By default, the sorting of the bars on the chart is controlled by the order the values are in the data array.\n * When set to `true`, values on the bar will be re-sorted in descending order.\n */\n @Prop({ reflect: true }) sort: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n chartContainer: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n hostElementStyles: CSSStyleDeclaration;\n chart: echarts.ECharts;\n\n resizeEventListener: EventListener;\n\n componentDidLoad() {\n const chart = echarts.init(this.chartContainer);\n\n this.chart = chart;\n\n this.resizeEventListener = () => this.resizeChart();\n window.addEventListener('resize', this.resizeEventListener);\n\n this.cacheComputedStyles();\n this.updateChart(chart);\n\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.resizeEventListener);\n }\n\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n getColor(color: string) {\n const primaryColor = getCSSProperty('var(--t-primary)', this.chartContainerStyles, this.hostElementStyles);\n const seriesColor = getCSSProperty(this.color, this.chartContainerStyles, this.hostElementStyles);\n const cssColorProp = getCSSProperty(color, this.chartContainerStyles, this.hostElementStyles);\n if (cssColorProp) return cssColorProp;\n if (isValidColor(color)) return color;\n if (seriesColor) return seriesColor;\n if (isValidColor(this.color)) return this.color;\n return primaryColor;\n }\n\n processData(data: IChartData[]) {\n return data.map(datum => {\n return {\n value: datum.value || 0,\n itemStyle: {\n color: this.getColor(datum.color),\n },\n };\n });\n }\n\n updateChart(chart: echarts.ECharts) {\n const decimals = this.formatModifier?.includes('dec') ? this.formatModifier.replace('dec', '') : 0;\n\n const valueAxis = {\n type: 'value',\n axisLabel: {\n formatter: (value: number) =>\n formatValue(value, {\n type: this.format,\n decimals,\n }),\n rotate: this.offsetDataValues ? 45 : 0,\n margin: this.offsetDataValues ? 15 : 8,\n show: !this.hideValueAxisLabels,\n },\n };\n\n const categoryAxis = {\n type: 'category',\n data: this.data.map(datum => loc(datum.name) || ''),\n axisLabel: {\n rotate: this.offsetDataNames ? 45 : 0,\n margin: this.offsetDataNames ? 15 : 8,\n interval: 0,\n width: this.dataNamesWidth || 50,\n overflow: this.dataNamesOverflow || 'none',\n truncate: 'ellipsis',\n },\n axisTick: {\n alignWithLabel: this.offsetDataNames,\n },\n };\n\n return chart.setOption<EChartsOption>({\n aria: {\n enabled: true,\n },\n title: {\n text: loc(this.chartName),\n show: this.showChartName,\n left: this.alignChartName,\n subtext: this.chartSubTitle,\n },\n grid: {\n containLabel: true,\n },\n xAxis: this.orientation === 'horizontal' ? valueAxis : categoryAxis,\n yAxis: this.orientation === 'horizontal' ? categoryAxis : valueAxis,\n series: [\n {\n data: this.processData(this.data),\n id: 'bar',\n type: 'bar',\n label: {\n show: !this.hideBarLabels,\n position: 'top',\n fontWeight: 'bold',\n formatter: (params: CallbackDataParams) => {\n return formatValue(params.value as number, {\n type: this.format,\n decimals,\n });\n },\n },\n realtimeSort: this.sort,\n },\n ],\n });\n }\n\n resizeChart() {\n this.chart.resize();\n }\n\n @Watch('chartName')\n @Watch('chartSubTitle')\n @Watch('color')\n @Watch('hideBarLabels')\n @Watch('showChartName')\n @Watch('alignChartName')\n @Watch('orientation')\n @Watch('format')\n @Watch('sort')\n @Watch('data')\n @Watch('offsetDataNames')\n @Watch('hideValueAxisLabels')\n @Watch('formatModifier')\n @Watch('dataNamesOverflow')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n render() {\n return (\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n class=\"chart-container\"\n test-id=\"barChartContainer\"\n ></div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"q2-chart-bar.entry.cjs.js","mappings":";;;;;;;;;;AA+CA,IAAI,kBAAkB,gBAAgB,UAAU,MAAM,EAAE;AACxD,EAAEA,+BAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AACxC,EAAE,SAAS,kBAAkB,GAAG;AAChC,IAAI,IAAI,KAAK,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC;AACzE,IAAI,KAAK,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;AACzC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,kBAAkB,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,MAAM,EAAE,OAAO,EAAE;AAC3E,IAAI,OAAOC,yBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;AACxC,MAAM,kBAAkB,EAAE,IAAI;AAC9B,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,kBAAkB,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE;AAC1F,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;AACzC,IAAI,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE;AACxC;AACA,MAAM,IAAI,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAClD,MAAM,IAAI,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACnD,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQC,0BAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,UAAU,IAAI,EAAE,GAAG,EAAE;AACtD;AACA,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,IAAI,IAAI,EAAE;AACxD,YAAY,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AACnD,YAAY,IAAI,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAChF,YAAY,IAAI,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AAChD;AACA,YAAY,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AACjE,YAAY,IAAI,KAAK,IAAI,CAAC,mBAAmB,EAAE;AAC/C,cAAc,YAAY,IAAI,CAAC,CAAC;AAChC,aAAa;AACb;AACA;AACA;AACA,YAAY,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACvC,cAAc,OAAO;AACrB,aAAa,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AAChD;AACA;AACA;AACA,cAAc,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9E,cAAc,OAAO;AACrB,aAAa;AACb,YAAY,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC;AACnC,YAAY,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC;AAC/B,YAAY,IAAI,aAAa,GAAG,CAAC,CAAC;AAClC,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxD,cAAc,IAAI,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClD;AACA;AACA,cAAc,IAAI,SAAS,GAAG,CAAC,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClI,cAAc,IAAI,SAAS,KAAK,YAAY,EAAE;AAC9C,gBAAgB,KAAK,GAAG,SAAS,CAAC;AAClC,gBAAgB,MAAM;AACtB,eAAe,MAAM,IAAI,SAAS,GAAG,YAAY,EAAE;AACnD,gBAAgB,SAAS,GAAG,SAAS,CAAC;AACtC,eAAe,MAAM,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,GAAG,YAAY,EAAE;AACxE,gBAAgB,KAAK,GAAG,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;AACpD,gBAAgB,MAAM;AACtB,eAAe;AACf,cAAc,IAAI,CAAC,KAAK,CAAC,EAAE;AAC3B;AACA;AACA,gBAAgB,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,eAAe;AACf,aAAa;AACb,YAAY,IAAI,KAAK,IAAI,IAAI,EAAE;AAC/B,cAAc,IAAI,CAAC,SAAS,EAAE;AAC9B;AACA;AACA,gBAAgB,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5C,eAAe,MAAM,IAAI,SAAS,EAAE;AACpC;AACA;AACA,gBAAgB,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AAChE,eAAe;AACf,aAAa;AACb,YAAY,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAClD,WAAW;AACX,SAAS,CAAC,CAAC;AACX,OAAO,MAAM;AACb,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AAClC,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC9C,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC1C,QAAQ,IAAI,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACxE,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;AAC/C,OAAO;AACP,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,kBAAkB,CAAC,IAAI,GAAG,qBAAqB,CAAC;AAClD,EAAE,kBAAkB,CAAC,aAAa,GAAG;AACrC;AACA,IAAI,CAAC,EAAE,CAAC;AACR,IAAI,gBAAgB,EAAE,aAAa;AACnC,IAAI,eAAe,EAAE,IAAI;AACzB;AACA;AACA;AACA;AACA,IAAI,YAAY,EAAE,CAAC;AACnB,IAAI,WAAW,EAAE,CAAC;AAClB;AACA,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,cAAc,EAAE,GAAG;AACvB,IAAI,WAAW,EAAE,GAAG;AACpB,IAAI,oBAAoB,EAAE,KAAK;AAC/B,GAAG,CAAC;AACJ,EAAE,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAACC,iCAAW,CAAC,CAAC;AACfA,iCAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAC9C,6BAAe,kBAAkB;;AC/GjC,IAAI,cAAc,gBAAgB,UAAU,MAAM,EAAE;AACpD,EAAEH,+BAAS,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AACpC,EAAE,SAAS,cAAc,GAAG;AAC5B,IAAI,IAAI,KAAK,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC;AACzE,IAAI,KAAK,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;AACrC,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,cAAc,CAAC,SAAS,CAAC,cAAc,GAAG,YAAY;AACxD,IAAI,OAAOC,yBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE;AACxC,MAAM,kBAAkB,EAAE,IAAI;AAC9B,MAAM,qBAAqB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,IAAI;AACrE,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ;AACA;AACA;AACA,EAAE,cAAc,CAAC,SAAS,CAAC,cAAc,GAAG,YAAY;AACxD;AACA,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;AAC/D,GAAG,CAAC;AACJ;AACA;AACA;AACA,EAAE,cAAc,CAAC,SAAS,CAAC,uBAAuB,GAAG,YAAY;AACjE;AACA,IAAI,IAAI,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAChE,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACpD,IAAI,IAAI,cAAc,GAAG,oBAAoB,EAAE;AAC/C,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAC5C,KAAK;AACL,IAAI,OAAO,oBAAoB,CAAC;AAChC,GAAG,CAAC;AACJ,EAAE,cAAc,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;AACjF,IAAI,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,GAAG,CAAC;AACJ,EAAE,cAAc,CAAC,IAAI,GAAG,YAAY,CAAC;AACrC,EAAE,cAAc,CAAC,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,EAAE,cAAc,CAAC,aAAa,GAAGG,0CAAoB,CAACC,oBAAkB,CAAC,aAAa,EAAE;AACxF;AACA;AACA,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,cAAc,EAAE,KAAK;AACzB,IAAI,eAAe,EAAE;AACrB,MAAM,KAAK,EAAE,0BAA0B;AACvC,MAAM,WAAW,EAAE,IAAI;AACvB,MAAM,WAAW,EAAE,CAAC;AACpB,MAAM,UAAU,EAAE,OAAO;AACzB,MAAM,YAAY,EAAE,CAAC;AACrB,MAAM,UAAU,EAAE,CAAC;AACnB,MAAM,WAAW,EAAE,IAAI;AACvB,MAAM,aAAa,EAAE,CAAC;AACtB,MAAM,aAAa,EAAE,CAAC;AACtB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,MAAM,SAAS,EAAE;AACjB,QAAQ,WAAW,EAAE,SAAS;AAC9B,OAAO;AACP,KAAK;AACL,IAAI,YAAY,EAAE,KAAK;AACvB,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,cAAc,CAAC;AACxB,CAAC,CAACA,oBAAkB,CAAC,CAAC;AACtB,kBAAe,cAAc;;AClE7B;AACA;AACA;AACA,IAAI,YAAY,gBAAgB,YAAY;AAC5C,EAAE,SAAS,YAAY,GAAG;AAC1B,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAChB,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAChB,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAChB,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACf,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAChC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC1B,GAAG;AACH,EAAE,OAAO,YAAY,CAAC;AACtB,CAAC,EAAE,CAAC;AACJ,IAAI,WAAW,gBAAgB,UAAU,MAAM,EAAE;AACjD,EAAEL,+BAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACjC,EAAE,SAAS,WAAW,CAAC,IAAI,EAAE;AAC7B,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;AAChD,IAAI,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;AAC3B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,WAAW,CAAC,SAAS,CAAC,eAAe,GAAG,YAAY;AACtD,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;AAC9B,GAAG,CAAC;AACJ,EAAE,WAAW,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,GAAG,EAAE,KAAK,EAAE;AAC1D,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;AACtB,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;AACtB,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACxC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;AAC5B,IAAI,IAAI,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1B,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;AACtC,IAAI,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAClC,IAAI,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;AACpC,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1B,IAAI,IAAI,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,GAAG,GAAG,UAAU,GAAG,QAAQ,GAAG,GAAG,CAAC;AAC/F,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB;AACA,MAAM,UAAU,GAAG,QAAQ,IAAI,SAAS,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACvD,KAAK;AACL,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC1C,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC1C,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtC,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtC,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC7D,MAAM,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,OAAO,GAAG,EAAE,EAAE,UAAU,GAAG,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;AACvH,KAAK,MAAM;AACX,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,EAAE,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;AACzD,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1H,IAAI,IAAI,EAAE,KAAK,CAAC,EAAE;AAClB,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC3D,KAAK;AACL;AACA,GAAG,CAAC;AACJ;AACA,EAAE,OAAO,WAAW,CAAC;AACrB,CAAC,CAACM,0BAAI,CAAC,CAAC;AACR,gBAAe,WAAW;;AC7DnB,SAAS,iCAAiC,CAAC,eAAe,EAAE,IAAI,EAAE;AACzE,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AACpB,EAAE,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,EAAE,OAAO,UAAU,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE;AAC5C,IAAI,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AACrC,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,YAAY,KAAK,EAAE;AACxD,MAAM,OAAOC,2CAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AAC5D,KAAK;AACL,IAAI,IAAI,oBAAoB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;AAC7D,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;AAC7D,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;AAC5B,IAAI,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;AACvB,IAAI,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;AACvB,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AACrB,IAAI,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;AACvB,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC/B,IAAI,IAAI,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACvC,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACnC,IAAI,IAAI,WAAW,GAAG,CAAC,UAAU,GAAG,QAAQ,IAAI,CAAC,CAAC;AAClD,IAAI,IAAI,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1D,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;AAC3B,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;AAC3B;AACA,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACzC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACzC,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC;AAC3B,IAAI,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAClC,IAAI,QAAQ,oBAAoB;AAChC,MAAM,KAAK,UAAU;AACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;AACxD,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;AACxD,QAAQ,SAAS,GAAG,QAAQ,CAAC;AAC7B,QAAQ,iBAAiB,GAAG,KAAK,CAAC;AAClC,QAAQ,MAAM;AACd,MAAM,KAAK,gBAAgB;AAC3B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;AACxD,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;AACxD,QAAQ,SAAS,GAAG,QAAQ,CAAC;AAC7B,QAAQ,iBAAiB,GAAG,QAAQ,CAAC;AACrC,QAAQ,MAAM;AACd,MAAM,KAAK,YAAY;AACvB,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;AAC/G,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;AAC/G,QAAQ,SAAS,GAAG,OAAO,CAAC;AAC5B,QAAQ,iBAAiB,GAAG,QAAQ,CAAC;AACrC,QAAQ,MAAM;AACd,MAAM,KAAK,kBAAkB;AAC7B,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC,UAAU,EAAE,CAAC,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;AAChH,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC,UAAU,EAAE,CAAC,QAAQ,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;AAChH,QAAQ,SAAS,GAAG,MAAM,CAAC;AAC3B,QAAQ,iBAAiB,GAAG,QAAQ,CAAC;AACrC,QAAQ,MAAM;AACd,MAAM,KAAK,QAAQ;AACnB,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAChD,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAChD,QAAQ,SAAS,GAAG,QAAQ,CAAC;AAC7B,QAAQ,iBAAiB,GAAG,QAAQ,CAAC;AACrC,QAAQ,MAAM;AACd,MAAM,KAAK,QAAQ;AACnB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;AACvD,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;AACvD,QAAQ,SAAS,GAAG,QAAQ,CAAC;AAC7B,QAAQ,iBAAiB,GAAG,QAAQ,CAAC;AACrC,QAAQ,MAAM;AACd,MAAM,KAAK,cAAc;AACzB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;AACvD,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;AACvD,QAAQ,SAAS,GAAG,QAAQ,CAAC;AAC7B,QAAQ,iBAAiB,GAAG,KAAK,CAAC;AAClC,QAAQ,MAAM;AACd,MAAM,KAAK,UAAU;AACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;AAC1G,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;AAC1G,QAAQ,SAAS,GAAG,MAAM,CAAC;AAC3B,QAAQ,iBAAiB,GAAG,QAAQ,CAAC;AACrC,QAAQ,MAAM;AACd,MAAM,KAAK,gBAAgB;AAC3B,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3G,QAAQ,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3G,QAAQ,SAAS,GAAG,OAAO,CAAC;AAC5B,QAAQ,iBAAiB,GAAG,QAAQ,CAAC;AACrC,QAAQ,MAAM;AACd,MAAM;AACN,QAAQ,OAAOA,2CAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AAC9D,KAAK;AACL,IAAI,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;AACpB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACd,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACd,IAAI,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;AAC1B,IAAI,GAAG,CAAC,aAAa,GAAG,iBAAiB,CAAC;AAC1C,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,CAAC;AACJ,CAAC;AACM,SAAS,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE;AACzF,EAAE,IAAIC,8BAAQ,CAAC,UAAU,CAAC,EAAE;AAC5B;AACA,IAAI,MAAM,CAAC,aAAa,CAAC;AACzB,MAAM,QAAQ,EAAE,UAAU;AAC1B,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,GAAG,MAAM,IAAIC,6BAAO,CAAC,YAAY,CAAC,EAAE;AACpC;AACA,IAAI,MAAM,CAAC,aAAa,CAAC;AACzB,MAAM,QAAQ,EAAE,CAAC;AACjB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B,EAAE,IAAI,UAAU,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC;AACvE,EAAE,IAAI,QAAQ,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC;AACrE,EAAE,IAAI,WAAW,GAAG,CAAC,UAAU,GAAG,QAAQ,IAAI,CAAC,CAAC;AAChD,EAAE,IAAI,WAAW,CAAC;AAClB,EAAE,IAAI,oBAAoB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;AAC3D,EAAE,QAAQ,oBAAoB;AAC9B,IAAI,KAAK,UAAU,CAAC;AACpB,IAAI,KAAK,gBAAgB,CAAC;AAC1B,IAAI,KAAK,QAAQ,CAAC;AAClB,IAAI,KAAK,cAAc,CAAC;AACxB,IAAI,KAAK,QAAQ;AACjB,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,MAAM;AACZ,IAAI,KAAK,YAAY,CAAC;AACtB,IAAI,KAAK,kBAAkB;AAC3B,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,MAAM;AACZ,IAAI,KAAK,UAAU,CAAC;AACpB,IAAI,KAAK,gBAAgB;AACzB,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC7B,MAAM,MAAM;AACZ,IAAI;AACJ,MAAM,MAAM,CAAC,aAAa,CAAC;AAC3B,QAAQ,QAAQ,EAAE,CAAC;AACnB,OAAO,CAAC,CAAC;AACT,MAAM,OAAO;AACb,GAAG;AACH,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,WAAW,CAAC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,oBAAoB,KAAK,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE;AAC3F,IAAI,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;AACtB,GAAG;AACH,EAAE,MAAM,CAAC,aAAa,CAAC;AACvB,IAAI,QAAQ,EAAE,MAAM;AACpB,GAAG,CAAC,CAAC;AACL,CAAC;AACD,SAAS,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;AACtD,EAAE,OAAO,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC;AACD,SAAS,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;AACtD,EAAE,OAAO,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvD;;AC3IA,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;AACvB,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;AACvB,SAAS,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE;AAClC,EAAE,IAAI,gBAAgB,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AAC1D,EAAE,IAAIC,+BAAsB,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE;AACpD,IAAI,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;AACvC;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AAC1D,MAAM,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;AACpD,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE,EAAE;AACnC,QAAQ,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC;AAC1C,QAAQ,gBAAgB,CAAC,KAAK,IAAI,WAAW,GAAG,CAAC,CAAC;AAClD,OAAO,MAAM;AACb,QAAQ,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC;AAC1C,QAAQ,gBAAgB,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,CAAC;AACnD,OAAO;AACP,KAAK;AACL,GAAG;AACH,EAAE,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AACD,IAAI,OAAO,gBAAgB,UAAU,MAAM,EAAE;AAC7C,EAAEV,+BAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7B,EAAE,SAAS,OAAO,GAAG;AACrB,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC1C,IAAI,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC9B,IAAI,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;AAC/B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE;AAC3E,IAAI,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;AAC9B,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;AACxC,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;AACtC,IAAI,IAAI,oBAAoB,GAAG,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACnE,IAAI,IAAI,oBAAoB,KAAK,aAAa,IAAI,oBAAoB,KAAK,OAAO,EAAE;AACpF;AACA,MAAM,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAClC,MAAM,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAChI,KAEK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,wBAAwB,GAAG,UAAU,WAAW,EAAE;AACtE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;AACtC;AACA;AACA,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACvC,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,MAAM,EAAE,WAAW,EAAE;AACvE;AACA,IAAI,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;AAC9B;AACA,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACtD,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,EAAE,EAAE;AACjD,IAAIW,sCAAgB,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7D,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,WAAW,EAAE;AAC7D,IAAI,IAAI,WAAW,GAAG,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC;AACxD,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,WAAW,KAAK,IAAI,CAAC,YAAY,EAAE;AACxE,MAAM,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AACtC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;AACpB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE;AAClF,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC3B,IAAI,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;AACrC,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;AAC7B,IAAI,IAAI,KAAK,GAAG,WAAW,CAAC,gBAAgB,CAAC;AAC7C,IAAI,IAAI,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;AACvC,IAAI,IAAI,oBAAoB,CAAC;AAC7B,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;AACtC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;AACrD,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;AACvC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,KAAK,OAAO,CAAC;AACtD,KAAK;AACL,IAAI,IAAI,cAAc,GAAG,WAAW,CAAC,kBAAkB,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC;AAC/E,IAAI,IAAI,eAAe,GAAG,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACjE,IAAI,IAAI,eAAe,EAAE;AACzB,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,IAAI,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,eAAe,CAAC;AACrE,IAAI,IAAI,gBAAgB,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACpD;AACA,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B;AACA;AACA,IAAI,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACrD,IAAI,IAAI,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AACjE,IAAI,IAAI,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAClE,IAAI,IAAI,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACnE,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;AACnB,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;AACvC,IAAI,IAAI,UAAU,GAAG,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;AACnD,IAAI,IAAI,aAAa,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACtE,IAAI,SAAS,gBAAgB,CAAC,SAAS,EAAE;AACzC,MAAM,IAAI,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC5D,MAAM,IAAI,IAAI,GAAG,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AAC3E,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC;AACpD;AACA,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;AACxC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AAC5C,OAAO,MAAM;AACb,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AACvD,OAAO;AACP,MAAM,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAC9B,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AAEL,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAU,SAAS,EAAE;AAChD,MAAM,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;AACnD,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACrE,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACpC,OAAO;AACP;AACA,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE;AAC3E,QAAQ,OAAO;AACf,OAAO;AACP,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC;AAC5B,MAAM,IAAI,SAAS,EAAE;AACrB;AACA;AACA,QAAQ,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAC/D,OAAO;AACP,MAAM,IAAI,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvJ,MAAM,IAAI,eAAe,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,EAAE,CAAC,mBAAmB,GAAG,IAAI,CAAC;AACtC,OAAO;AACP,MAAM,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AACrH,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,EAAE,CAAC,IAAI,CAAC;AAChB,UAAU,KAAK,EAAE,MAAM;AACvB,SAAS,CAAC,CAAC;AACX,OAAO,MAAM,IAAI,eAAe,EAAE;AAClC,QAAQ,uBAAuB,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5H,OAAO,MAAM;AACb,QAAQC,+BAAS,CAAC,EAAE,EAAE;AACtB,UAAU,KAAK,EAAE,MAAM;AACvB,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACnC,OAAO;AACP,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC3C,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpB,MAAM,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC;AAC5B,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,QAAQ,EAAE;AAC5C,MAAM,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAClD,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACpE,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC;AAC1B,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACnC,UAAU,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC5C,SAAS,MAAM;AACf,UAAU,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACpC,UAAU,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC;AACxD;AACA,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;AAC5C,YAAY,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AAChD,WAAW,MAAM;AACjB,YAAY,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;AAC3D,WAAW;AACX,UAAU,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AACjC,SAAS;AACT,QAAQ,IAAI,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7D,QAAQ,IAAI,KAAK,GAAG,qBAAqB,CAAC,oBAAoB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AACjF,QAAQC,iCAAW,CAAC,IAAI,EAAE;AAC1B,UAAU,KAAK,EAAE,KAAK;AACtB,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;AACrC,OAAO;AACP,MAAM,IAAI,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAClD,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE;AAC1E,QAAQ,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACzB,QAAQ,OAAO;AACf,OAAO;AACP,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC;AAC5B,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAC/D,QAAQ,IAAI,SAAS,EAAE;AACvB,UAAU,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3B,SAAS;AACT,OAAO;AACP,MAAM,IAAI,CAAC,EAAE,EAAE;AACf,QAAQ,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACnJ,OAAO,MAAM;AACb,QAAQC,kCAAY,CAAC,EAAE,CAAC,CAAC;AACzB,OAAO;AACP,MAAM,IAAI,eAAe,EAAE;AAC3B,QAAQ,EAAE,CAAC,mBAAmB,GAAG,IAAI,CAAC;AACtC,OAAO;AACP,MAAM,IAAI,aAAa,EAAE;AACzB,QAAQ,IAAI,MAAM,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;AACzC,QAAQ,IAAI,MAAM,EAAE;AACpB,UAAU,IAAI,eAAe,GAAGC,gCAAU,CAAC,MAAM,CAAC,CAAC;AACnD,UAAU,IAAI,eAAe,CAAC,SAAS,IAAI,IAAI,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;AAC9D,WAAW;AACX,SAAS;AACT,OAAO;AACP;AACA;AACA,WAAW;AACX,QAAQ,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AACtH,OAAO;AACP,MAAM,IAAI,UAAU,EAAE;AACtB,QAAQ,EAAE,CAAC,IAAI,CAAC;AAChB,UAAU,KAAK,EAAE,MAAM;AACvB,SAAS,CAAC,CAAC;AACX,OAAO,MAAM,IAAI,eAAe,EAAE;AAClC,QAAQ,uBAAuB,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;AAClI,OAAO,MAAM;AACb,QAAQF,iCAAW,CAAC,EAAE,EAAE;AACxB,UAAU,KAAK,EAAE,MAAM;AACvB,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AACxC,OAAO;AACP,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC1C,MAAM,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC;AAC5B,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACpB,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,SAAS,EAAE;AACnC,MAAM,IAAI,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACnD,MAAM,EAAE,IAAIG,8CAAwB,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACjE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AACjB,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,gBAAgB,GAAG,IAAIC,2BAAK,EAAE,CAAC,CAAC;AACjF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;AACxB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,KAAK;AACL,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,IAAI,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAChC,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACtB,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE;AACxE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,IAAI,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACvC,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,uBAAuB,GAAG,UAAU,MAAM,EAAE,WAAW,EAAE;AAC7E,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC7B,IAAI,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AACrE,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,WAAW,EAAE;AAC9D;AACA,IAAI,IAAI,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAIC,uBAAc,CAAC,WAAW,CAAC,gBAAgB,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACrH,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC3B,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAClC,KAAK,MAAM;AACX,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;AAChF,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB;AACA,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE;AACvB,MAAM,OAAO;AACb,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAC5C,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;AAC5B,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;AACzD,MAAM,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AACjC,KAAK,MAAM;AACX,MAAM,IAAI,cAAc,GAAG,UAAU,GAAG,EAAE;AAC1C,QAAQ,IAAI,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAQ,IAAI,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC;AACnC,QAAQ,OAAO,KAAK;AACpB;AACA;AACA,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;AACtE;AACA,WAAW,CAAC,CAAC;AACb,OAAO,CAAC;AACR,MAAM,IAAI,CAAC,WAAW,GAAG,YAAY;AACrC,QAAQ,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC7E,OAAO,CAAC;AACR,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACnD,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE;AACxE,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;AAClB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,aAAa,EAAE,OAAO,EAAE;AACjF,MAAM,IAAI,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,WAAW,GAAG,WAAW,IAAI,IAAI,GAAG,GAAG,GAAG,WAAW,CAAC;AAC5D,MAAM,IAAI,CAAC,IAAI,CAAC;AAChB,QAAQ,SAAS,EAAE,OAAO;AAC1B,QAAQ,WAAW,EAAE,WAAW;AAChC,QAAQ,aAAa,EAAE,aAAa;AACpC,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;AAC9B;AACA,MAAM,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;AAC3C,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,MAAM,cAAc,EAAEC,yBAAG,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE;AAChD,QAAQ,OAAO,IAAI,CAAC,aAAa,CAAC;AAClC,OAAO,CAAC;AACR,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,6BAA6B,GAAG,UAAU,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE;AAC5F,IAAI,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC/B,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACzD,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AACrC,IAAI,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE;AACpG,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;AACvF,MAAM,IAAI,KAAK,GAAG,MAAM,GAAG,CAAC;AAC5B;AACA,QAAQ,MAAM,CAAC,SAAS;AACxB;AACA,QAAQ,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,MAAM,IAAI,KAAK,GAAG,SAAS,EAAE;AAC7B,QAAQ,OAAO,IAAI,CAAC;AACpB,OAAO;AACP,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,CAAC;AACJ;AACA;AACA;AACA;AACA;AACA,EAAE,OAAO,CAAC,SAAS,CAAC,uBAAuB,GAAG,UAAU,SAAS,EAAE,QAAQ,EAAE;AAC7E,IAAI,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC/B,IAAI,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;AACnC,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,IAAI,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpF,IAAI,OAAO,OAAO,IAAI,OAAO,EAAE,EAAE,OAAO,EAAE;AAC1C,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE;AACpF,QAAQ,OAAO,IAAI,CAAC;AACpB,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,yBAAyB,GAAG,UAAU,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE;AAC7F,IAAI,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE;AAC3E,MAAM,OAAO;AACb,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAChE,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;AAC1D,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;AAC1C,MAAM,GAAG,CAAC,cAAc,CAAC;AACzB,QAAQ,IAAI,EAAE,iBAAiB;AAC/B,QAAQ,aAAa,EAAE,QAAQ,CAAC,GAAG,GAAG,MAAM;AAC5C,QAAQ,MAAM,EAAE,QAAQ,CAAC,KAAK;AAC9B,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE;AAC9E,IAAI,IAAI,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AAC5C,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,OAAO,EAAE;AACvE,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AACjF,KAAK,CAAC,CAAC;AACP,IAAI,GAAG,CAAC,cAAc,CAAC;AACvB,MAAM,IAAI,EAAE,iBAAiB;AAC7B,MAAM,aAAa,EAAE,QAAQ,CAAC,GAAG,GAAG,MAAM;AAC1C,MAAM,UAAU,EAAE,IAAI;AACtB,MAAM,MAAM,EAAE,QAAQ,CAAC,KAAK;AAC5B,MAAM,QAAQ,EAAE,UAAU;AAC1B,KAAK,CAAC,CAAC;AACP,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,OAAO,EAAE,GAAG,EAAE;AACrD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;AACxC,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,OAAO,EAAE,GAAG,EAAE;AACtD,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;AACxC,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,yBAAyB,GAAG,UAAU,GAAG,EAAE;AAC/D,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;AAC1B,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,MAAM,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AAC9B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,KAAK,EAAE;AAC9C,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC3B,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AAC1B,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,kBAAkB,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AAC3E,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC/B,MAAM,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AAC/B,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE;AAC3C,QAAQH,8CAAwB,CAAC,EAAE,EAAE,KAAK,EAAEI,+BAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AACrE,OAAO,CAAC,CAAC;AACT,KAAK,MAAM;AACX,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;AACxB,KAAK;AACL,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACtB,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC9B,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,SAAS,CAAC,iBAAiB,GAAG,YAAY;AACpD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC7C,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACjC,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;AACvB,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC,CAACC,+BAAS,CAAC,CAAC;AACb,IAAI,IAAI,GAAG;AACX,EAAE,WAAW,EAAE,UAAU,oBAAoB,EAAE,MAAM,EAAE;AACvD,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9C,IAAI,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAChD;AACA,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE;AACvB,MAAM,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC;AAC/B,MAAM,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,UAAU,GAAG,CAAC,EAAE;AACxB,MAAM,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC;AAChC,MAAM,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;AACrC,KAAK;AACL,IAAI,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC;AACzE,IAAI,IAAI,UAAU,GAAG,oBAAoB,CAAC,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC;AAC1E,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;AACtD,IAAI,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC1D,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;AACtD,IAAI,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC3D,IAAI,IAAI,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1B,IAAI,IAAI,QAAQ,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1B;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;AACnD,IAAI,MAAM,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;AACnD,IAAI,MAAM,CAAC,KAAK,GAAG,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1C;AACA,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE;AACvB,MAAM,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC;AAC/B,MAAM,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,UAAU,GAAG,CAAC,EAAE;AACxB,MAAM,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC;AAChC,MAAM,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;AACrC,KAAK;AACL,IAAI,OAAO,QAAQ,IAAI,QAAQ,CAAC;AAChC,GAAG;AACH,EAAE,KAAK,EAAE,UAAU,gBAAgB,EAAE,MAAM,EAAE;AAC7C,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C;AACA,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;AACnB,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;AACzB,MAAM,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;AAC3B,MAAM,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC;AACtB,KAAK;AACL,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAClD,IAAI,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACrD,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;AACjB,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;AACnB,IAAI,IAAI,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC7B;AACA,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;AACnB,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;AACzB,MAAM,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;AAC3B,MAAM,MAAM,CAAC,EAAE,GAAG,GAAG,CAAC;AACtB,KAAK;AACL,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG;AACH,CAAC,CAAC;AACF,IAAI,cAAc,GAAG;AACrB,EAAE,WAAW,EAAE,UAAU,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC3H,IAAI,IAAI,IAAI,GAAG,IAAIC,0BAAI,CAAC;AACxB,MAAM,KAAK,EAAEC,4BAAM,CAAC,EAAE,EAAE,MAAM,CAAC;AAC/B,MAAM,EAAE,EAAE,CAAC;AACX,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;AAChC,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;AACvB,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;AACjC,MAAM,IAAI,eAAe,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC9D,MAAM,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AACrC,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,KAAK,EAAE,UAAU,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACjH,IAAI,IAAI,UAAU,GAAG,CAAC,QAAQ,IAAI,QAAQ,GAAG,OAAO,GAAGC,4BAAM,CAAC;AAC9D,IAAI,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC;AAChC,MAAM,KAAK,EAAE,MAAM;AACnB,MAAM,EAAE,EAAE,CAAC;AACX,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;AACzB,IAAI,IAAI,WAAW,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;AAC3D,IAAI,MAAM,CAAC,qBAAqB,GAAG,iCAAiC,CAAC,WAAW,EAAE;AAClF,MAAM,UAAU,EAAE,UAAU,KAAK,OAAO;AACxC,KAAK,CAAC,CAAC;AACP;AACA,IAAI,IAAI,cAAc,EAAE;AACxB,MAAM,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;AACrC,MAAM,IAAI,eAAe,GAAG,QAAQ,GAAG,GAAG,GAAG,UAAU,CAAC;AACxD,MAAM,IAAI,aAAa,GAAG,EAAE,CAAC;AAC7B,MAAM,WAAW,CAAC,eAAe,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAC9E,MAAM,aAAa,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAC/D,MAAM,CAAC,QAAQ,GAAGX,iCAAW,GAAGD,+BAAS,EAAE,MAAM,EAAE;AACnD,QAAQ,KAAK,EAAE,aAAa;AAC5B;AACA,OAAO,EAAE,cAAc,CAAC,CAAC;AACzB,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,CAAC,CAAC;AACF,SAAS,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE;AACnD,EAAE,IAAI,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AACjE,EAAE,IAAI,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;AAWxC,EAAE,IAAI,kBAAkB,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE;AAC7F,IAAI,OAAO;AACX,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;AAChD,KAAK,CAAC;AACN,GAAG;AACH,CAAC;AACD,SAAS,uBAAuB,CAAC,eAAe,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE;AACrI,EAAE,IAAI,YAAY,CAAC;AACnB,EAAE,IAAI,UAAU,CAAC;AACjB,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,UAAU,GAAG;AACjB,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACjB,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK;AACzB,KAAK,CAAC;AACN,IAAI,YAAY,GAAG;AACnB,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACjB,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM;AAC3B,KAAK,CAAC;AACN,GAAG,MAAM;AACT,IAAI,UAAU,GAAG;AACjB,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACjB,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM;AAC3B,KAAK,CAAC;AACN,IAAI,YAAY,GAAG;AACnB,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACjB,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK;AACzB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,IAAI,CAAC,aAAa,EAAE;AACtB;AACA;AACA,IAAI,CAAC,QAAQ,GAAGC,iCAAW,GAAGD,+BAAS,EAAE,EAAE,EAAE;AAC7C,MAAM,KAAK,EAAE,YAAY;AACzB,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC7C,GAAG;AACH,EAAE,IAAI,kBAAkB,GAAG,oBAAoB,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;AACxF,EAAE,CAAC,QAAQ,GAAGC,iCAAW,GAAGD,+BAAS,EAAE,EAAE,EAAE;AAC3C,IAAI,KAAK,EAAE,UAAU;AACrB,GAAG,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC;AACD,SAAS,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE;AAC7C,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AAClC,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACD,IAAI,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACjD,IAAI,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAChE,IAAI,aAAa,GAAG;AACpB,EAAE,WAAW,EAAE,UAAU,MAAM,EAAE;AACjC,IAAI,OAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC1D,GAAG;AACH,EAAE,KAAK,EAAE,UAAU,MAAM,EAAE;AAC3B,IAAI,OAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAC3D,GAAG;AACH,CAAC,CAAC;AACF,IAAI,SAAS,GAAG;AAChB;AACA;AACA,EAAE,WAAW,EAAE,UAAU,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;AACrD,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC/C,IAAI,IAAI,cAAc,GAAG,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACzE;AACA,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,IAAI,OAAO;AACX,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,cAAc,GAAG,CAAC;AAC9C,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,cAAc,GAAG,CAAC;AAC9C,MAAM,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,KAAK,GAAG,cAAc;AAClD,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,KAAK,GAAG,cAAc;AACpD,KAAK,CAAC;AACN,GAAG;AACH,EAAE,KAAK,EAAE,UAAU,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE;AAC/C,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC/C,IAAI,OAAO;AACX,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE;AACnB,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE;AACnB,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE;AACnB,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACjB,MAAM,UAAU,EAAE,MAAM,CAAC,UAAU;AACnC,MAAM,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC/B,MAAM,SAAS,EAAE,MAAM,CAAC,SAAS;AACjC,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;AACF,SAAS,aAAa,CAAC,MAAM,EAAE;AAC/B,EAAE,OAAO,MAAM,CAAC,UAAU,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,QAAQ,CAAC;AACvG,CAAC;AACD,SAAS,0BAA0B,CAAC,QAAQ,EAAE;AAC9C,EAAE,OAAO,UAAU,QAAQ,EAAE;AAC7B,IAAI,IAAI,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;AAChD,IAAI,OAAO,UAAU,QAAQ,EAAE;AAC/B,MAAM,QAAQ,QAAQ;AACtB,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,aAAa,CAAC;AAC3B,QAAQ,KAAK,KAAK,CAAC;AACnB,QAAQ,KAAK,WAAW;AACxB,UAAU,OAAO,QAAQ,GAAG,UAAU,CAAC;AACvC,QAAQ;AACR,UAAU,OAAO,QAAQ,CAAC;AAC1B,OAAO;AACP,KAAK,CAAC;AACN,GAAG,CAAC,QAAQ,CAAC,CAAC;AACd,CAAC;AACD,SAAS,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE;AACzG,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACrD,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,IAAI,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC;AACzE,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AACnC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;AAC3C,IAAI,IAAI,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC;AAC/B,IAAI,IAAI,YAAY,GAAGa,kCAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AACjG,IAAIF,4BAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AACtC,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC7B,GAAG;AACH,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,EAAE,IAAI,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACnD,EAAE,WAAW,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAChD,EAAE,IAAI,oBAAoB,GAAG,OAAO,GAAG,oBAAoB,GAAG,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,oBAAoB,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC;AACrR,EAAE,IAAI,iBAAiB,GAAGG,0CAAoB,CAAC,SAAS,CAAC,CAAC;AAC1D,EAAEC,mCAAa,CAAC,EAAE,EAAE,iBAAiB,EAAE;AACvC,IAAI,YAAY,EAAE,WAAW;AAC7B,IAAI,cAAc,EAAE,SAAS;AAC7B,IAAI,WAAW,EAAEC,wBAAe,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC;AAClE,IAAI,YAAY,EAAE,KAAK,CAAC,IAAI;AAC5B,IAAI,cAAc,EAAE,KAAK,CAAC,OAAO;AACjC,IAAI,sBAAsB,EAAE,oBAAoB;AAChD,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;AAClC,EAAE,IAAI,OAAO,IAAI,KAAK,EAAE;AACxB,IAAI,IAAI,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AACxD,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,QAAQ,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/D,IAAI,qBAAqB,CAAC,EAAE,EAAE,QAAQ,KAAK,SAAS,GAAG,oBAAoB,GAAG,QAAQ,EAAE,0BAA0B,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9K,GAAG;AACH,EAAEC,4CAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,UAAU,KAAK,EAAE;AACxG,IAAI,OAAOC,oCAA2B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpD,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACvD,EAAEC,yCAAmB,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACrH,EAAEC,8CAAwB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAC1C,EAAE,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;AAC7B,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;AAC3B,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,IAAI9B,0BAAI,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,EAAE;AACrC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;AACvB,QAAQ,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;AACvD,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH,CAAC;AACD;AACA,SAAS,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE;AAC5C;AACA,EAAE,IAAI,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AAChE,EAAE,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,MAAM,EAAE;AAC9C,IAAI,OAAO,CAAC,CAAC;AACb,GAAG;AACH,EAAE,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC;AACnE;AACA,EAAE,IAAI,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACpF,EAAE,IAAI,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACvF,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AACD,IAAI,aAAa,gBAAgB,YAAY;AAC7C,EAAE,SAAS,aAAa,GAAG,EAAE;AAC7B,EAAE,OAAO,aAAa,CAAC;AACvB,CAAC,EAAE,CAAC;AACJ,IAAI,SAAS,gBAAgB,UAAU,MAAM,EAAE;AAC/C,EAAEF,+BAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC/B,EAAE,SAAS,SAAS,CAAC,IAAI,EAAE;AAC3B,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;AAChD,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC5B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,YAAY;AACpD,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;AAC/B,GAAG,CAAC;AACJ,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,GAAG,EAAE,KAAK,EAAE;AACxD;AACA;AACA,IAAI,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AAC9B,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,IAAI,IAAI,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AAC1C,IAAI,IAAI,UAAU,GAAG,EAAE,CAAC;AACxB,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;AAClB,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;AAClC,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,MAAM,UAAU,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;AACtD,MAAM,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AACxD,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC,CAACM,0BAAI,CAAC,CAAC;AACR,SAAS,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE;AACtE;AACA,EAAE,IAAI,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;AACnC,EAAE,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjE,EAAE,IAAI,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;AAC5D,EAAE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACxC,EAAE,IAAI,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAChE,EAAE,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;AACzD,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,CAAC;AAC7B,MAAM,KAAK,EAAE;AACb,QAAQ,MAAM,EAAE,QAAQ;AACxB,OAAO;AACP,MAAM,WAAW,EAAE,CAAC,CAAC,WAAW;AAChC,MAAM,MAAM,EAAE,IAAI;AAClB,MAAM,EAAE,EAAE,CAAC;AACX,KAAK,CAAC,CAAC;AACP,IAAI,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACjC,IAAI,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAC7C,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC;AAClD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpB,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChD,GAAG;AACH,EAAE,IAAI,EAAE,GAAG,IAAI,SAAS,CAAC;AACzB,IAAI,KAAK,EAAE;AACX,MAAM,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;AAC3C,KAAK;AACL,IAAI,WAAW,EAAE,CAAC,CAAC,WAAW;AAC9B,IAAI,mBAAmB,EAAE,IAAI;AAC7B,IAAI,EAAE,EAAE,CAAC;AACT,GAAG,CAAC,CAAC;AACL,EAAE,EAAE,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,EAAE,EAAE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AACzC,EAAE,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACzB,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChB,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACvC;AACA,EAAEc,+BAAS,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;AACtD,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AAClC,IAAI,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;AACjD,IAAI,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;AACjD,GAAG;AACH,EAAE,cAAc,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,CAAC;AACD;AACA,IAAI,wBAAwB,GAAGa,8BAAQ,CAAC,UAAU,KAAK,EAAE;AACzD,EAAE,IAAI,SAAS,GAAG,IAAI,CAAC;AACvB,EAAE,IAAI,SAAS,GAAG,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAClF,EAAEb,+BAAS,CAAC,SAAS,CAAC,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;AACrE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AACd,SAAS,sBAAsB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE;AACjD,EAAE,IAAI,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;AACxC,EAAE,IAAI,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC;AACnC,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;AACtC,EAAE,IAAI,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC;AACpD,EAAE,IAAI,UAAU,GAAG,EAAE,CAAC;AACtB,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;AAChB,EAAE,IAAI,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACpC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AACzD,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;AAChC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACvC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;AACrD,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;AACvD,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;AAC/B,MAAM,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;AACnD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC7C,KAAK;AACL,IAAI,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE;AAClH,MAAM,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACjC,KAAK;AACL,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AACD,SAAS,qBAAqB,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE;AACpE,EAAE,IAAIV,+BAAsB,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE;AACpD,IAAI,IAAI,SAAS,GAAG,MAAM,CAAC;AAC3B,IAAI,IAAI,WAAW,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;AACtC,IAAI,OAAO;AACX,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AAC3D,MAAM,CAAC,EAAE,oBAAoB,GAAG,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AAC3D,MAAM,KAAK,EAAE,oBAAoB,GAAG,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK;AACvE,MAAM,MAAM,EAAE,oBAAoB,GAAG,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM;AAC1E,KAAK,CAAC;AACN,GAAG,MAAM;AACT,IAAI,IAAI,WAAW,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;AACtC,IAAI,IAAI,WAAW,GAAG,MAAM,CAAC;AAC7B,IAAI,OAAO;AACX,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE;AACxB,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE;AACxB,MAAM,EAAE,EAAE,oBAAoB,GAAG,WAAW,CAAC,EAAE,GAAG,WAAW,CAAC,EAAE;AAChE,MAAM,CAAC,EAAE,oBAAoB,GAAG,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AAC7D,MAAM,UAAU,EAAE,oBAAoB,GAAG,WAAW,CAAC,UAAU,GAAG,CAAC;AACnE,MAAM,QAAQ,EAAE,oBAAoB,GAAG,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC;AACzE,KAAK,CAAC;AACN,GAAG;AACH,CAAC;AACD,SAAS,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE;AACjE,EAAE,IAAI,UAAU,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,GAAGc,4BAAM,GAAGF,0BAAI,CAAC;AAC1D,EAAE,OAAO,IAAI,UAAU,CAAC;AACxB,IAAI,KAAK,EAAE,qBAAqB,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,CAAC;AACrE,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,EAAE,EAAE,CAAC;AACT,GAAG,CAAC,CAAC;AACL,CAAC;AACD,kBAAe,OAAO;;AC30Bf,SAAS,OAAO,CAAC,SAAS,EAAE;AACnC,EAAE,SAAS,CAAC,iBAAiB,CAACY,SAAO,CAAC,CAAC;AACvC,EAAE,SAAS,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AAC3C,EAAE,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAEC,2BAAY,CAACC,8BAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC1F;AACA,EAAE,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAEC,6CAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;AACzG;AACA,EAAE,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAEC,mBAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS,CAAC,cAAc,CAAC;AAC3B,IAAI,IAAI,EAAE,iBAAiB;AAC3B,IAAI,KAAK,EAAE,iBAAiB;AAC5B,IAAI,MAAM,EAAE,QAAQ;AACpB,GAAG,EAAE,UAAU,OAAO,EAAE,OAAO,EAAE;AACjC,IAAI,IAAI,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC;AAC1D,IAAI,OAAO,CAAC,aAAa,CAAC;AAC1B,MAAM,QAAQ,EAAE,aAAa;AAC7B,MAAM,KAAK,EAAE,OAAO;AACpB,KAAK,EAAE,UAAU,cAAc,EAAE;AACjC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC5B,QAAQ,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAClE,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL;;AChFA,MAAM,aAAa,GAAG,u0BAAu0B,CAAC;AAC91B,yBAAe,aAAa;;ACgB5BC,yBAAW,CAAC,CAACC,6BAAa,EAAEC,OAAQ,EAAEC,+BAAc,EAAEC,+BAAW,EAAEC,gBAAa,EAAEC,kBAAc,CAAC,CAAC,CAAC;MAKtF,UAAU;;;oBAEU,EAAE;;;;;;;;;6BAkDmB,KAAK;mCAGC,KAAK;+BAMT,KAAK;gCAMJ,KAAK;;6BAUR,KAAK;oBAMd,KAAK;;IAY9C,gBAAgB;QACZ,MAAM,KAAK,GAAGC,0BAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE5D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAE7BC,qBAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACnC;IAED,oBAAoB;;QAEhB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;;QAG/D,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;aAC1D;YACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACrB;;QAGD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;;QAG9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;KACrC;IAED,mBAAmB;QACf,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;IAED,QAAQ,CAAC,KAAa;QAClB,MAAM,YAAY,GAAGC,uBAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3G,MAAM,WAAW,GAAGA,uBAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClG,MAAM,YAAY,GAAGA,uBAAc,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9F,IAAI,YAAY;YAAE,OAAO,YAAY,CAAC;QACtC,IAAIC,qBAAY,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;QACpC,IAAIA,qBAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QAChD,OAAO,YAAY,CAAC;KACvB;IAED,WAAW,CAAC,IAAkB;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK;YACjB,OAAO;gBACH,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;gBACvB,SAAS,EAAE;oBACP,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;iBACpC;aACJ,CAAC;SACL,CAAC,CAAC;KACN;IAED,WAAW,CAAC,KAAsB;;QAC9B,MAAM,QAAQ,GAAG,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,KAAK,CAAC,IAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAEnG,MAAM,SAAS,GAAG;YACd,IAAI,EAAE,OAAO;YACb,SAAS,EAAE;gBACP,SAAS,EAAE,CAAC,KAAa,KACrBC,oBAAW,CAAC,KAAK,EAAE;oBACf,IAAI,EAAE,IAAI,CAAC,MAAM;oBACjB,QAAQ;iBACX,CAAC;gBACN,MAAM,EAAE,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,CAAC;gBACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,CAAC;gBACtC,IAAI,EAAE,CAAC,IAAI,CAAC,mBAAmB;aAClC;SACJ,CAAC;QAEF,MAAM,YAAY,GAAG;YACjB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAIC,WAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnD,SAAS,EAAE;gBACP,MAAM,EAAE,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,CAAC;gBACrC,MAAM,EAAE,IAAI,CAAC,eAAe,GAAG,EAAE,GAAG,CAAC;gBACrC,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE;gBAChC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,IAAI,MAAM;gBAC1C,QAAQ,EAAE,UAAU;aACvB;YACD,QAAQ,EAAE;gBACN,cAAc,EAAE,IAAI,CAAC,eAAe;aACvC;SACJ,CAAC;QAEF,OAAO,KAAK,CAAC,SAAS,CAAgB;YAClC,IAAI,EAAE;gBACF,OAAO,EAAE,IAAI;aAChB;YACD,KAAK,EAAE;gBACH,IAAI,EAAEA,WAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACzB,IAAI,EAAE,IAAI,CAAC,aAAa;gBACxB,IAAI,EAAE,IAAI,CAAC,cAAc;gBACzB,OAAO,EAAE,IAAI,CAAC,aAAa;aAC9B;YACD,IAAI,EAAE;gBACF,YAAY,EAAE,IAAI;aACrB;YACD,KAAK,EAAE,IAAI,CAAC,WAAW,KAAK,YAAY,GAAG,SAAS,GAAG,YAAY;YACnE,KAAK,EAAE,IAAI,CAAC,WAAW,KAAK,YAAY,GAAG,YAAY,GAAG,SAAS;YACnE,MAAM,EAAE;gBACJ;oBACI,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjC,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE;wBACH,IAAI,EAAE,CAAC,IAAI,CAAC,aAAa;wBACzB,QAAQ,EAAE,KAAK;wBACf,UAAU,EAAE,MAAM;wBAClB,SAAS,EAAE,CAAC,MAA0B;4BAClC,OAAOD,oBAAW,CAAC,MAAM,CAAC,KAAe,EAAE;gCACvC,IAAI,EAAE,IAAI,CAAC,MAAM;gCACjB,QAAQ;6BACX,CAAC,CAAC;yBACN;qBACJ;oBACD,YAAY,EAAE,IAAI,CAAC,IAAI;iBAC1B;aACJ;SACJ,CAAC,CAAC;KACN;IAED,WAAW;QACP,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;KACvB;IAED,gBAAgB,CAAC,KAAsB;QACnC,IAAI,CAAC,qBAAqB,GAAG;;YACzB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,aAAa,CAAC,mCAAI,KAAK;gBAAE,OAAO;YACzD,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SAC9C,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACpD;IAgBD,YAAY;QACR,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;IAED,MAAM;QACF,QACIE,kEAAK,KAAK,EAAC,WAAW,IAClBA,kEACI,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,EACrC,KAAK,EAAC,iBAAiB,aACf,mBAAmB,GACxB,CACL,EACR;KACL;;;;;;;;;;;;;;;;;;;;;;;","names":["__extends","createSeriesData","each","SeriesModel","inheritDefaultOption","BaseBarSeriesModel","Path","calculateTextPosition","isNumber","isArray","isCoordinateSystemType","traverseElements","initProps","updateProps","saveOldStyle","labelInner","removeElementWithFadeOut","Group","createClipPath","map","getECData","ChartView","Rect","extend","Sector","getSectorCornerRadius","getLabelStatesModels","setLabelStyle","getDefaultLabel","setLabelValueAnimation","getDefaultInterpolatedLabel","toggleHoverEmphasis","setStatesStylesFromModel","throttle","BarView","zrUtil.curry","layout","createProgressiveLayout","dataSample","echarts.use","AriaComponent","BarChart","CanvasRenderer","LabelLayout","GridComponent","TitleComponent","echarts.init","overrideFocus","getCSSProperty","isValidColor","formatValue","loc","h"],"sources":["../../node_modules/echarts/lib/chart/bar/BaseBarSeries.js","../../node_modules/echarts/lib/chart/bar/BarSeries.js","../../node_modules/echarts/lib/util/shape/sausage.js","../../node_modules/echarts/lib/label/sectorLabel.js","../../node_modules/echarts/lib/chart/bar/BarView.js","../../node_modules/echarts/lib/chart/bar/install.js","src/components/q2-chart-bar/q2-chart-bar.scss?tag=q2-chart-bar&encapsulation=shadow","src/components/q2-chart-bar/q2-chart-bar.tsx"],"sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport SeriesModel from '../../model/Series.js';\nimport createSeriesData from '../helper/createSeriesData.js';\nimport { each } from 'zrender/lib/core/util.js';\nvar BaseBarSeriesModel = /** @class */function (_super) {\n __extends(BaseBarSeriesModel, _super);\n function BaseBarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = BaseBarSeriesModel.type;\n return _this;\n }\n BaseBarSeriesModel.prototype.getInitialData = function (option, ecModel) {\n return createSeriesData(null, this, {\n useEncodeDefaulter: true\n });\n };\n BaseBarSeriesModel.prototype.getMarkerPosition = function (value, dims, startingAtTick) {\n var coordSys = this.coordinateSystem;\n if (coordSys && coordSys.clampData) {\n // PENDING if clamp ?\n var clampData_1 = coordSys.clampData(value);\n var pt_1 = coordSys.dataToPoint(clampData_1);\n if (startingAtTick) {\n each(coordSys.getAxes(), function (axis, idx) {\n // If axis type is category, use tick coords instead\n if (axis.type === 'category' && dims != null) {\n var tickCoords = axis.getTicksCoords();\n var alignTicksWithLabel = axis.getTickModel().get('alignWithLabel');\n var targetTickId = clampData_1[idx];\n // The index of rightmost tick of markArea is 1 larger than x1/y1 index\n var isEnd = dims[idx] === 'x1' || dims[idx] === 'y1';\n if (isEnd && !alignTicksWithLabel) {\n targetTickId += 1;\n }\n // The only contains one tick, tickCoords is\n // like [{coord: 0, tickValue: 0}, {coord: 0}]\n // to the length should always be larger than 1\n if (tickCoords.length < 2) {\n return;\n } else if (tickCoords.length === 2) {\n // The left value and right value of the axis are\n // the same. coord is 0 in both items. Use the max\n // value of the axis as the coord\n pt_1[idx] = axis.toGlobalCoord(axis.getExtent()[isEnd ? 1 : 0]);\n return;\n }\n var leftCoord = void 0;\n var coord = void 0;\n var stepTickValue = 1;\n for (var i = 0; i < tickCoords.length; i++) {\n var tickCoord = tickCoords[i].coord;\n // The last item of tickCoords doesn't contain\n // tickValue\n var tickValue = i === tickCoords.length - 1 ? tickCoords[i - 1].tickValue + stepTickValue : tickCoords[i].tickValue;\n if (tickValue === targetTickId) {\n coord = tickCoord;\n break;\n } else if (tickValue < targetTickId) {\n leftCoord = tickCoord;\n } else if (leftCoord != null && tickValue > targetTickId) {\n coord = (tickCoord + leftCoord) / 2;\n break;\n }\n if (i === 1) {\n // Here we assume the step of category axes is\n // the same\n stepTickValue = tickValue - tickCoords[0].tickValue;\n }\n }\n if (coord == null) {\n if (!leftCoord) {\n // targetTickId is smaller than all tick ids in the\n // visible area, use the leftmost tick coord\n coord = tickCoords[0].coord;\n } else if (leftCoord) {\n // targetTickId is larger than all tick ids in the\n // visible area, use the rightmost tick coord\n coord = tickCoords[tickCoords.length - 1].coord;\n }\n }\n pt_1[idx] = axis.toGlobalCoord(coord);\n }\n });\n } else {\n var data = this.getData();\n var offset = data.getLayout('offset');\n var size = data.getLayout('size');\n var offsetIndex = coordSys.getBaseAxis().isHorizontal() ? 0 : 1;\n pt_1[offsetIndex] += offset + size / 2;\n }\n return pt_1;\n }\n return [NaN, NaN];\n };\n BaseBarSeriesModel.type = 'series.__base_bar__';\n BaseBarSeriesModel.defaultOption = {\n // zlevel: 0,\n z: 2,\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n // stack: null\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n barMinHeight: 0,\n barMinAngle: 0,\n // cursor: null,\n large: false,\n largeThreshold: 400,\n progressive: 3e3,\n progressiveChunkMode: 'mod'\n };\n return BaseBarSeriesModel;\n}(SeriesModel);\nSeriesModel.registerClass(BaseBarSeriesModel);\nexport default BaseBarSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport BaseBarSeriesModel from './BaseBarSeries.js';\nimport createSeriesData from '../helper/createSeriesData.js';\nimport { inheritDefaultOption } from '../../util/component.js';\nvar BarSeriesModel = /** @class */function (_super) {\n __extends(BarSeriesModel, _super);\n function BarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = BarSeriesModel.type;\n return _this;\n }\n BarSeriesModel.prototype.getInitialData = function () {\n return createSeriesData(null, this, {\n useEncodeDefaulter: true,\n createInvertedIndices: !!this.get('realtimeSort', true) || null\n });\n };\n /**\n * @override\n */\n BarSeriesModel.prototype.getProgressive = function () {\n // Do not support progressive in normal mode.\n return this.get('large') ? this.get('progressive') : false;\n };\n /**\n * @override\n */\n BarSeriesModel.prototype.getProgressiveThreshold = function () {\n // Do not support progressive in normal mode.\n var progressiveThreshold = this.get('progressiveThreshold');\n var largeThreshold = this.get('largeThreshold');\n if (largeThreshold > progressiveThreshold) {\n progressiveThreshold = largeThreshold;\n }\n return progressiveThreshold;\n };\n BarSeriesModel.prototype.brushSelector = function (dataIndex, data, selectors) {\n return selectors.rect(data.getItemLayout(dataIndex));\n };\n BarSeriesModel.type = 'series.bar';\n BarSeriesModel.dependencies = ['grid', 'polar'];\n BarSeriesModel.defaultOption = inheritDefaultOption(BaseBarSeriesModel.defaultOption, {\n // If clipped\n // Only available on cartesian2d\n clip: true,\n roundCap: false,\n showBackground: false,\n backgroundStyle: {\n color: 'rgba(180, 180, 180, 0.2)',\n borderColor: null,\n borderWidth: 0,\n borderType: 'solid',\n borderRadius: 0,\n shadowBlur: 0,\n shadowColor: null,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n opacity: 1\n },\n select: {\n itemStyle: {\n borderColor: '#212121'\n }\n },\n realtimeSort: false\n });\n return BarSeriesModel;\n}(BaseBarSeriesModel);\nexport default BarSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport { Path } from '../graphic.js';\n/**\n * Sausage: similar to sector, but have half circle on both sides\n */\nvar SausageShape = /** @class */function () {\n function SausageShape() {\n this.cx = 0;\n this.cy = 0;\n this.r0 = 0;\n this.r = 0;\n this.startAngle = 0;\n this.endAngle = Math.PI * 2;\n this.clockwise = true;\n }\n return SausageShape;\n}();\nvar SausagePath = /** @class */function (_super) {\n __extends(SausagePath, _super);\n function SausagePath(opts) {\n var _this = _super.call(this, opts) || this;\n _this.type = 'sausage';\n return _this;\n }\n SausagePath.prototype.getDefaultShape = function () {\n return new SausageShape();\n };\n SausagePath.prototype.buildPath = function (ctx, shape) {\n var cx = shape.cx;\n var cy = shape.cy;\n var r0 = Math.max(shape.r0 || 0, 0);\n var r = Math.max(shape.r, 0);\n var dr = (r - r0) * 0.5;\n var rCenter = r0 + dr;\n var startAngle = shape.startAngle;\n var endAngle = shape.endAngle;\n var clockwise = shape.clockwise;\n var PI2 = Math.PI * 2;\n var lessThanCircle = clockwise ? endAngle - startAngle < PI2 : startAngle - endAngle < PI2;\n if (!lessThanCircle) {\n // Normalize angles\n startAngle = endAngle - (clockwise ? PI2 : -PI2);\n }\n var unitStartX = Math.cos(startAngle);\n var unitStartY = Math.sin(startAngle);\n var unitEndX = Math.cos(endAngle);\n var unitEndY = Math.sin(endAngle);\n if (lessThanCircle) {\n ctx.moveTo(unitStartX * r0 + cx, unitStartY * r0 + cy);\n ctx.arc(unitStartX * rCenter + cx, unitStartY * rCenter + cy, dr, -Math.PI + startAngle, startAngle, !clockwise);\n } else {\n ctx.moveTo(unitStartX * r + cx, unitStartY * r + cy);\n }\n ctx.arc(cx, cy, r, startAngle, endAngle, !clockwise);\n ctx.arc(unitEndX * rCenter + cx, unitEndY * rCenter + cy, dr, endAngle - Math.PI * 2, endAngle - Math.PI, !clockwise);\n if (r0 !== 0) {\n ctx.arc(cx, cy, r0, endAngle, startAngle, clockwise);\n }\n // ctx.closePath();\n };\n\n return SausagePath;\n}(Path);\nexport default SausagePath;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { calculateTextPosition } from 'zrender/lib/contain/text.js';\nimport { isArray, isNumber } from 'zrender/lib/core/util.js';\nexport function createSectorCalculateTextPosition(positionMapping, opts) {\n opts = opts || {};\n var isRoundCap = opts.isRoundCap;\n return function (out, opts, boundingRect) {\n var textPosition = opts.position;\n if (!textPosition || textPosition instanceof Array) {\n return calculateTextPosition(out, opts, boundingRect);\n }\n var mappedSectorPosition = positionMapping(textPosition);\n var distance = opts.distance != null ? opts.distance : 5;\n var sector = this.shape;\n var cx = sector.cx;\n var cy = sector.cy;\n var r = sector.r;\n var r0 = sector.r0;\n var middleR = (r + r0) / 2;\n var startAngle = sector.startAngle;\n var endAngle = sector.endAngle;\n var middleAngle = (startAngle + endAngle) / 2;\n var extraDist = isRoundCap ? Math.abs(r - r0) / 2 : 0;\n var mathCos = Math.cos;\n var mathSin = Math.sin;\n // base position: top-left\n var x = cx + r * mathCos(startAngle);\n var y = cy + r * mathSin(startAngle);\n var textAlign = 'left';\n var textVerticalAlign = 'top';\n switch (mappedSectorPosition) {\n case 'startArc':\n x = cx + (r0 - distance) * mathCos(middleAngle);\n y = cy + (r0 - distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'top';\n break;\n case 'insideStartArc':\n x = cx + (r0 + distance) * mathCos(middleAngle);\n y = cy + (r0 + distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n case 'startAngle':\n x = cx + middleR * mathCos(startAngle) + adjustAngleDistanceX(startAngle, distance + extraDist, false);\n y = cy + middleR * mathSin(startAngle) + adjustAngleDistanceY(startAngle, distance + extraDist, false);\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n case 'insideStartAngle':\n x = cx + middleR * mathCos(startAngle) + adjustAngleDistanceX(startAngle, -distance + extraDist, false);\n y = cy + middleR * mathSin(startAngle) + adjustAngleDistanceY(startAngle, -distance + extraDist, false);\n textAlign = 'left';\n textVerticalAlign = 'middle';\n break;\n case 'middle':\n x = cx + middleR * mathCos(middleAngle);\n y = cy + middleR * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\n case 'endArc':\n x = cx + (r + distance) * mathCos(middleAngle);\n y = cy + (r + distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n case 'insideEndArc':\n x = cx + (r - distance) * mathCos(middleAngle);\n y = cy + (r - distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'top';\n break;\n case 'endAngle':\n x = cx + middleR * mathCos(endAngle) + adjustAngleDistanceX(endAngle, distance + extraDist, true);\n y = cy + middleR * mathSin(endAngle) + adjustAngleDistanceY(endAngle, distance + extraDist, true);\n textAlign = 'left';\n textVerticalAlign = 'middle';\n break;\n case 'insideEndAngle':\n x = cx + middleR * mathCos(endAngle) + adjustAngleDistanceX(endAngle, -distance + extraDist, true);\n y = cy + middleR * mathSin(endAngle) + adjustAngleDistanceY(endAngle, -distance + extraDist, true);\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n default:\n return calculateTextPosition(out, opts, boundingRect);\n }\n out = out || {};\n out.x = x;\n out.y = y;\n out.align = textAlign;\n out.verticalAlign = textVerticalAlign;\n return out;\n };\n}\nexport function setSectorTextRotation(sector, textPosition, positionMapping, rotateType) {\n if (isNumber(rotateType)) {\n // user-set rotation\n sector.setTextConfig({\n rotation: rotateType\n });\n return;\n } else if (isArray(textPosition)) {\n // user-set position, use 0 as auto rotation\n sector.setTextConfig({\n rotation: 0\n });\n return;\n }\n var shape = sector.shape;\n var startAngle = shape.clockwise ? shape.startAngle : shape.endAngle;\n var endAngle = shape.clockwise ? shape.endAngle : shape.startAngle;\n var middleAngle = (startAngle + endAngle) / 2;\n var anchorAngle;\n var mappedSectorPosition = positionMapping(textPosition);\n switch (mappedSectorPosition) {\n case 'startArc':\n case 'insideStartArc':\n case 'middle':\n case 'insideEndArc':\n case 'endArc':\n anchorAngle = middleAngle;\n break;\n case 'startAngle':\n case 'insideStartAngle':\n anchorAngle = startAngle;\n break;\n case 'endAngle':\n case 'insideEndAngle':\n anchorAngle = endAngle;\n break;\n default:\n sector.setTextConfig({\n rotation: 0\n });\n return;\n }\n var rotate = Math.PI * 1.5 - anchorAngle;\n /**\n * TODO: labels with rotate > Math.PI / 2 should be rotate another\n * half round flipped to increase readability. However, only middle\n * position supports this for now, because in other positions, the\n * anchor point is not at the center of the text, so the positions\n * after rotating is not as expected.\n */\n if (mappedSectorPosition === 'middle' && rotate > Math.PI / 2 && rotate < Math.PI * 1.5) {\n rotate -= Math.PI;\n }\n sector.setTextConfig({\n rotation: rotate\n });\n}\nfunction adjustAngleDistanceX(angle, distance, isEnd) {\n return distance * Math.sin(angle) * (isEnd ? -1 : 1);\n}\nfunction adjustAngleDistanceY(angle, distance, isEnd) {\n return distance * Math.cos(angle) * (isEnd ? 1 : -1);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { __extends } from \"tslib\";\nimport Path from 'zrender/lib/graphic/Path.js';\nimport Group from 'zrender/lib/graphic/Group.js';\nimport { extend, each, map } from 'zrender/lib/core/util.js';\nimport { Rect, Sector, updateProps, initProps, removeElementWithFadeOut, traverseElements } from '../../util/graphic.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';\nimport { setLabelStyle, getLabelStatesModels, setLabelValueAnimation, labelInner } from '../../label/labelStyle.js';\nimport { throttle } from '../../util/throttle.js';\nimport { createClipPath } from '../helper/createClipPathFromCoordSys.js';\nimport Sausage from '../../util/shape/sausage.js';\nimport ChartView from '../../view/Chart.js';\nimport { isCoordinateSystemType } from '../../coord/CoordinateSystem.js';\nimport { getDefaultLabel, getDefaultInterpolatedLabel } from '../helper/labelHelper.js';\nimport { warn } from '../../util/log.js';\nimport { createSectorCalculateTextPosition, setSectorTextRotation } from '../../label/sectorLabel.js';\nimport { saveOldStyle } from '../../animation/basicTransition.js';\nimport { getSectorCornerRadius } from '../helper/sectorHelper.js';\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nfunction getClipArea(coord, data) {\n var coordSysClipArea = coord.getArea && coord.getArea();\n if (isCoordinateSystemType(coord, 'cartesian2d')) {\n var baseAxis = coord.getBaseAxis();\n // When boundaryGap is false or using time axis. bar may exceed the grid.\n // We should not clip this part.\n // See test/bar2.html\n if (baseAxis.type !== 'category' || !baseAxis.onBand) {\n var expandWidth = data.getLayout('bandWidth');\n if (baseAxis.isHorizontal()) {\n coordSysClipArea.x -= expandWidth;\n coordSysClipArea.width += expandWidth * 2;\n } else {\n coordSysClipArea.y -= expandWidth;\n coordSysClipArea.height += expandWidth * 2;\n }\n }\n }\n return coordSysClipArea;\n}\nvar BarView = /** @class */function (_super) {\n __extends(BarView, _super);\n function BarView() {\n var _this = _super.call(this) || this;\n _this.type = BarView.type;\n _this._isFirstFrame = true;\n return _this;\n }\n BarView.prototype.render = function (seriesModel, ecModel, api, payload) {\n this._model = seriesModel;\n this._removeOnRenderedListener(api);\n this._updateDrawMode(seriesModel);\n var coordinateSystemType = seriesModel.get('coordinateSystem');\n if (coordinateSystemType === 'cartesian2d' || coordinateSystemType === 'polar') {\n // Clear previously rendered progressive elements.\n this._progressiveEls = null;\n this._isLargeDraw ? this._renderLarge(seriesModel, ecModel, api) : this._renderNormal(seriesModel, ecModel, api, payload);\n } else if (process.env.NODE_ENV !== 'production') {\n warn('Only cartesian2d and polar supported for bar.');\n }\n };\n BarView.prototype.incrementalPrepareRender = function (seriesModel) {\n this._clear();\n this._updateDrawMode(seriesModel);\n // incremental also need to clip, otherwise might be overlow.\n // But must not set clip in each frame, otherwise all of the children will be marked redraw.\n this._updateLargeClip(seriesModel);\n };\n BarView.prototype.incrementalRender = function (params, seriesModel) {\n // Reset\n this._progressiveEls = [];\n // Do not support progressive in normal mode.\n this._incrementalRenderLarge(params, seriesModel);\n };\n BarView.prototype.eachRendered = function (cb) {\n traverseElements(this._progressiveEls || this.group, cb);\n };\n BarView.prototype._updateDrawMode = function (seriesModel) {\n var isLargeDraw = seriesModel.pipelineContext.large;\n if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {\n this._isLargeDraw = isLargeDraw;\n this._clear();\n }\n };\n BarView.prototype._renderNormal = function (seriesModel, ecModel, api, payload) {\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n var coord = seriesModel.coordinateSystem;\n var baseAxis = coord.getBaseAxis();\n var isHorizontalOrRadial;\n if (coord.type === 'cartesian2d') {\n isHorizontalOrRadial = baseAxis.isHorizontal();\n } else if (coord.type === 'polar') {\n isHorizontalOrRadial = baseAxis.dim === 'angle';\n }\n var animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;\n var realtimeSortCfg = shouldRealtimeSort(seriesModel, coord);\n if (realtimeSortCfg) {\n this._enableRealtimeSort(realtimeSortCfg, data, api);\n }\n var needsClip = seriesModel.get('clip', true) || realtimeSortCfg;\n var coordSysClipArea = getClipArea(coord, data);\n // If there is clipPath created in large mode. Remove it.\n group.removeClipPath();\n // We don't use clipPath in normal mode because we needs a perfect animation\n // And don't want the label are clipped.\n var roundCap = seriesModel.get('roundCap', true);\n var drawBackground = seriesModel.get('showBackground', true);\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var barBorderRadius = backgroundModel.get('borderRadius') || 0;\n var bgEls = [];\n var oldBgEls = this._backgroundEls;\n var isInitSort = payload && payload.isInitSort;\n var isChangeOrder = payload && payload.type === 'changeAxisOrder';\n function createBackground(dataIndex) {\n var bgLayout = getLayout[coord.type](data, dataIndex);\n var bgEl = createBackgroundEl(coord, isHorizontalOrRadial, bgLayout);\n bgEl.useStyle(backgroundModel.getItemStyle());\n // Only cartesian2d support borderRadius.\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n } else {\n bgEl.setShape('cornerRadius', barBorderRadius);\n }\n bgEls[dataIndex] = bgEl;\n return bgEl;\n }\n ;\n data.diff(oldData).add(function (dataIndex) {\n var itemModel = data.getItemModel(dataIndex);\n var layout = getLayout[coord.type](data, dataIndex, itemModel);\n if (drawBackground) {\n createBackground(dataIndex);\n }\n // If dataZoom in filteMode: 'empty', the baseValue can be set as NaN in \"axisProxy\".\n if (!data.hasValue(dataIndex) || !isValidLayout[coord.type](layout)) {\n return;\n }\n var isClipped = false;\n if (needsClip) {\n // Clip will modify the layout params.\n // And return a boolean to determine if the shape are fully clipped.\n isClipped = clip[coord.type](coordSysClipArea, layout);\n }\n var el = elementCreator[coord.type](seriesModel, data, dataIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, false, roundCap);\n if (realtimeSortCfg) {\n /**\n * Force label animation because even if the element is\n * ignored because it's clipped, it may not be clipped after\n * changing order. Then, if not using forceLabelAnimation,\n * the label animation was never started, in which case,\n * the label will be the final value and doesn't have label\n * animation.\n */\n el.forceLabelAnimation = true;\n }\n updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n if (isInitSort) {\n el.attr({\n shape: layout\n });\n } else if (realtimeSortCfg) {\n updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout, dataIndex, isHorizontalOrRadial, false, false);\n } else {\n initProps(el, {\n shape: layout\n }, seriesModel, dataIndex);\n }\n data.setItemGraphicEl(dataIndex, el);\n group.add(el);\n el.ignore = isClipped;\n }).update(function (newIndex, oldIndex) {\n var itemModel = data.getItemModel(newIndex);\n var layout = getLayout[coord.type](data, newIndex, itemModel);\n if (drawBackground) {\n var bgEl = void 0;\n if (oldBgEls.length === 0) {\n bgEl = createBackground(oldIndex);\n } else {\n bgEl = oldBgEls[oldIndex];\n bgEl.useStyle(backgroundModel.getItemStyle());\n // Only cartesian2d support borderRadius.\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n } else {\n bgEl.setShape('cornerRadius', barBorderRadius);\n }\n bgEls[newIndex] = bgEl;\n }\n var bgLayout = getLayout[coord.type](data, newIndex);\n var shape = createBackgroundShape(isHorizontalOrRadial, bgLayout, coord);\n updateProps(bgEl, {\n shape: shape\n }, animationModel, newIndex);\n }\n var el = oldData.getItemGraphicEl(oldIndex);\n if (!data.hasValue(newIndex) || !isValidLayout[coord.type](layout)) {\n group.remove(el);\n return;\n }\n var isClipped = false;\n if (needsClip) {\n isClipped = clip[coord.type](coordSysClipArea, layout);\n if (isClipped) {\n group.remove(el);\n }\n }\n if (!el) {\n el = elementCreator[coord.type](seriesModel, data, newIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, !!el, roundCap);\n } else {\n saveOldStyle(el);\n }\n if (realtimeSortCfg) {\n el.forceLabelAnimation = true;\n }\n if (isChangeOrder) {\n var textEl = el.getTextContent();\n if (textEl) {\n var labelInnerStore = labelInner(textEl);\n if (labelInnerStore.prevValue != null) {\n /**\n * Set preValue to be value so that no new label\n * should be started, otherwise, it will take a full\n * `animationDurationUpdate` time to finish the\n * animation, which is not expected.\n */\n labelInnerStore.prevValue = labelInnerStore.value;\n }\n }\n }\n // Not change anything if only order changed.\n // Especially not change label.\n else {\n updateStyle(el, data, newIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n }\n if (isInitSort) {\n el.attr({\n shape: layout\n });\n } else if (realtimeSortCfg) {\n updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout, newIndex, isHorizontalOrRadial, true, isChangeOrder);\n } else {\n updateProps(el, {\n shape: layout\n }, seriesModel, newIndex, null);\n }\n data.setItemGraphicEl(newIndex, el);\n el.ignore = isClipped;\n group.add(el);\n }).remove(function (dataIndex) {\n var el = oldData.getItemGraphicEl(dataIndex);\n el && removeElementWithFadeOut(el, seriesModel, dataIndex);\n }).execute();\n var bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group());\n bgGroup.removeAll();\n for (var i = 0; i < bgEls.length; ++i) {\n bgGroup.add(bgEls[i]);\n }\n group.add(bgGroup);\n this._backgroundEls = bgEls;\n this._data = data;\n };\n BarView.prototype._renderLarge = function (seriesModel, ecModel, api) {\n this._clear();\n createLarge(seriesModel, this.group);\n this._updateLargeClip(seriesModel);\n };\n BarView.prototype._incrementalRenderLarge = function (params, seriesModel) {\n this._removeBackground();\n createLarge(seriesModel, this.group, this._progressiveEls, true);\n };\n BarView.prototype._updateLargeClip = function (seriesModel) {\n // Use clipPath in large mode.\n var clipPath = seriesModel.get('clip', true) && createClipPath(seriesModel.coordinateSystem, false, seriesModel);\n var group = this.group;\n if (clipPath) {\n group.setClipPath(clipPath);\n } else {\n group.removeClipPath();\n }\n };\n BarView.prototype._enableRealtimeSort = function (realtimeSortCfg, data, api) {\n var _this = this;\n // If no data in the first frame, wait for data to initSort\n if (!data.count()) {\n return;\n }\n var baseAxis = realtimeSortCfg.baseAxis;\n if (this._isFirstFrame) {\n this._dispatchInitSort(data, realtimeSortCfg, api);\n this._isFirstFrame = false;\n } else {\n var orderMapping_1 = function (idx) {\n var el = data.getItemGraphicEl(idx);\n var shape = el && el.shape;\n return shape &&\n // The result should be consistent with the initial sort by data value.\n // Do not support the case that both positive and negative exist.\n Math.abs(baseAxis.isHorizontal() ? shape.height : shape.width)\n // If data is NaN, shape.xxx may be NaN, so use || 0 here in case\n || 0;\n };\n this._onRendered = function () {\n _this._updateSortWithinSameData(data, orderMapping_1, baseAxis, api);\n };\n api.getZr().on('rendered', this._onRendered);\n }\n };\n BarView.prototype._dataSort = function (data, baseAxis, orderMapping) {\n var info = [];\n data.each(data.mapDimension(baseAxis.dim), function (ordinalNumber, dataIdx) {\n var mappedValue = orderMapping(dataIdx);\n mappedValue = mappedValue == null ? NaN : mappedValue;\n info.push({\n dataIndex: dataIdx,\n mappedValue: mappedValue,\n ordinalNumber: ordinalNumber\n });\n });\n info.sort(function (a, b) {\n // If NaN, it will be treated as min val.\n return b.mappedValue - a.mappedValue;\n });\n return {\n ordinalNumbers: map(info, function (item) {\n return item.ordinalNumber;\n })\n };\n };\n BarView.prototype._isOrderChangedWithinSameData = function (data, orderMapping, baseAxis) {\n var scale = baseAxis.scale;\n var ordinalDataDim = data.mapDimension(baseAxis.dim);\n var lastValue = Number.MAX_VALUE;\n for (var tickNum = 0, len = scale.getOrdinalMeta().categories.length; tickNum < len; ++tickNum) {\n var rawIdx = data.rawIndexOf(ordinalDataDim, scale.getRawOrdinalNumber(tickNum));\n var value = rawIdx < 0\n // If some tick have no bar, the tick will be treated as min.\n ? Number.MIN_VALUE\n // PENDING: if dataZoom on baseAxis exits, is it a performance issue?\n : orderMapping(data.indexOfRawIndex(rawIdx));\n if (value > lastValue) {\n return true;\n }\n lastValue = value;\n }\n return false;\n };\n /*\n * Consider the case when A and B changed order, whose representing\n * bars are both out of sight, we don't wish to trigger reorder action\n * as long as the order in the view doesn't change.\n */\n BarView.prototype._isOrderDifferentInView = function (orderInfo, baseAxis) {\n var scale = baseAxis.scale;\n var extent = scale.getExtent();\n var tickNum = Math.max(0, extent[0]);\n var tickMax = Math.min(extent[1], scale.getOrdinalMeta().categories.length - 1);\n for (; tickNum <= tickMax; ++tickNum) {\n if (orderInfo.ordinalNumbers[tickNum] !== scale.getRawOrdinalNumber(tickNum)) {\n return true;\n }\n }\n };\n BarView.prototype._updateSortWithinSameData = function (data, orderMapping, baseAxis, api) {\n if (!this._isOrderChangedWithinSameData(data, orderMapping, baseAxis)) {\n return;\n }\n var sortInfo = this._dataSort(data, baseAxis, orderMapping);\n if (this._isOrderDifferentInView(sortInfo, baseAxis)) {\n this._removeOnRenderedListener(api);\n api.dispatchAction({\n type: 'changeAxisOrder',\n componentType: baseAxis.dim + 'Axis',\n axisId: baseAxis.index,\n sortInfo: sortInfo\n });\n }\n };\n BarView.prototype._dispatchInitSort = function (data, realtimeSortCfg, api) {\n var baseAxis = realtimeSortCfg.baseAxis;\n var sortResult = this._dataSort(data, baseAxis, function (dataIdx) {\n return data.get(data.mapDimension(realtimeSortCfg.otherAxis.dim), dataIdx);\n });\n api.dispatchAction({\n type: 'changeAxisOrder',\n componentType: baseAxis.dim + 'Axis',\n isInitSort: true,\n axisId: baseAxis.index,\n sortInfo: sortResult\n });\n };\n BarView.prototype.remove = function (ecModel, api) {\n this._clear(this._model);\n this._removeOnRenderedListener(api);\n };\n BarView.prototype.dispose = function (ecModel, api) {\n this._removeOnRenderedListener(api);\n };\n BarView.prototype._removeOnRenderedListener = function (api) {\n if (this._onRendered) {\n api.getZr().off('rendered', this._onRendered);\n this._onRendered = null;\n }\n };\n BarView.prototype._clear = function (model) {\n var group = this.group;\n var data = this._data;\n if (model && model.isAnimationEnabled() && data && !this._isLargeDraw) {\n this._removeBackground();\n this._backgroundEls = [];\n data.eachItemGraphicEl(function (el) {\n removeElementWithFadeOut(el, model, getECData(el).dataIndex);\n });\n } else {\n group.removeAll();\n }\n this._data = null;\n this._isFirstFrame = true;\n };\n BarView.prototype._removeBackground = function () {\n this.group.remove(this._backgroundGroup);\n this._backgroundGroup = null;\n };\n BarView.type = 'bar';\n return BarView;\n}(ChartView);\nvar clip = {\n cartesian2d: function (coordSysBoundingRect, layout) {\n var signWidth = layout.width < 0 ? -1 : 1;\n var signHeight = layout.height < 0 ? -1 : 1;\n // Needs positive width and height\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n var coordSysX2 = coordSysBoundingRect.x + coordSysBoundingRect.width;\n var coordSysY2 = coordSysBoundingRect.y + coordSysBoundingRect.height;\n var x = mathMax(layout.x, coordSysBoundingRect.x);\n var x2 = mathMin(layout.x + layout.width, coordSysX2);\n var y = mathMax(layout.y, coordSysBoundingRect.y);\n var y2 = mathMin(layout.y + layout.height, coordSysY2);\n var xClipped = x2 < x;\n var yClipped = y2 < y;\n // When xClipped or yClipped, the element will be marked as `ignore`.\n // But we should also place the element at the edge of the coord sys bounding rect.\n // Because if data changed and the bar shows again, its transition animation\n // will begin at this place.\n layout.x = xClipped && x > coordSysX2 ? x2 : x;\n layout.y = yClipped && y > coordSysY2 ? y2 : y;\n layout.width = xClipped ? 0 : x2 - x;\n layout.height = yClipped ? 0 : y2 - y;\n // Reverse back\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n return xClipped || yClipped;\n },\n polar: function (coordSysClipArea, layout) {\n var signR = layout.r0 <= layout.r ? 1 : -1;\n // Make sure r is larger than r0\n if (signR < 0) {\n var tmp = layout.r;\n layout.r = layout.r0;\n layout.r0 = tmp;\n }\n var r = mathMin(layout.r, coordSysClipArea.r);\n var r0 = mathMax(layout.r0, coordSysClipArea.r0);\n layout.r = r;\n layout.r0 = r0;\n var clipped = r - r0 < 0;\n // Reverse back\n if (signR < 0) {\n var tmp = layout.r;\n layout.r = layout.r0;\n layout.r0 = tmp;\n }\n return clipped;\n }\n};\nvar elementCreator = {\n cartesian2d: function (seriesModel, data, newIndex, layout, isHorizontal, animationModel, axisModel, isUpdate, roundCap) {\n var rect = new Rect({\n shape: extend({}, layout),\n z2: 1\n });\n rect.__dataIndex = newIndex;\n rect.name = 'item';\n if (animationModel) {\n var rectShape = rect.shape;\n var animateProperty = isHorizontal ? 'height' : 'width';\n rectShape[animateProperty] = 0;\n }\n return rect;\n },\n polar: function (seriesModel, data, newIndex, layout, isRadial, animationModel, axisModel, isUpdate, roundCap) {\n var ShapeClass = !isRadial && roundCap ? Sausage : Sector;\n var sector = new ShapeClass({\n shape: layout,\n z2: 1\n });\n sector.name = 'item';\n var positionMap = createPolarPositionMapping(isRadial);\n sector.calculateTextPosition = createSectorCalculateTextPosition(positionMap, {\n isRoundCap: ShapeClass === Sausage\n });\n // Animation\n if (animationModel) {\n var sectorShape = sector.shape;\n var animateProperty = isRadial ? 'r' : 'endAngle';\n var animateTarget = {};\n sectorShape[animateProperty] = isRadial ? layout.r0 : layout.startAngle;\n animateTarget[animateProperty] = layout[animateProperty];\n (isUpdate ? updateProps : initProps)(sector, {\n shape: animateTarget\n // __value: typeof dataValue === 'string' ? parseInt(dataValue, 10) : dataValue\n }, animationModel);\n }\n return sector;\n }\n};\nfunction shouldRealtimeSort(seriesModel, coordSys) {\n var realtimeSortOption = seriesModel.get('realtimeSort', true);\n var baseAxis = coordSys.getBaseAxis();\n if (process.env.NODE_ENV !== 'production') {\n if (realtimeSortOption) {\n if (baseAxis.type !== 'category') {\n warn('`realtimeSort` will not work because this bar series is not based on a category axis.');\n }\n if (coordSys.type !== 'cartesian2d') {\n warn('`realtimeSort` will not work because this bar series is not on cartesian2d.');\n }\n }\n }\n if (realtimeSortOption && baseAxis.type === 'category' && coordSys.type === 'cartesian2d') {\n return {\n baseAxis: baseAxis,\n otherAxis: coordSys.getOtherAxis(baseAxis)\n };\n }\n}\nfunction updateRealtimeAnimation(realtimeSortCfg, seriesAnimationModel, el, layout, newIndex, isHorizontal, isUpdate, isChangeOrder) {\n var seriesTarget;\n var axisTarget;\n if (isHorizontal) {\n axisTarget = {\n x: layout.x,\n width: layout.width\n };\n seriesTarget = {\n y: layout.y,\n height: layout.height\n };\n } else {\n axisTarget = {\n y: layout.y,\n height: layout.height\n };\n seriesTarget = {\n x: layout.x,\n width: layout.width\n };\n }\n if (!isChangeOrder) {\n // Keep the original growth animation if only axis order changed.\n // Not start a new animation.\n (isUpdate ? updateProps : initProps)(el, {\n shape: seriesTarget\n }, seriesAnimationModel, newIndex, null);\n }\n var axisAnimationModel = seriesAnimationModel ? realtimeSortCfg.baseAxis.model : null;\n (isUpdate ? updateProps : initProps)(el, {\n shape: axisTarget\n }, axisAnimationModel, newIndex);\n}\nfunction checkPropertiesNotValid(obj, props) {\n for (var i = 0; i < props.length; i++) {\n if (!isFinite(obj[props[i]])) {\n return true;\n }\n }\n return false;\n}\nvar rectPropties = ['x', 'y', 'width', 'height'];\nvar polarPropties = ['cx', 'cy', 'r', 'startAngle', 'endAngle'];\nvar isValidLayout = {\n cartesian2d: function (layout) {\n return !checkPropertiesNotValid(layout, rectPropties);\n },\n polar: function (layout) {\n return !checkPropertiesNotValid(layout, polarPropties);\n }\n};\nvar getLayout = {\n // itemModel is only used to get borderWidth, which is not needed\n // when calculating bar background layout.\n cartesian2d: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n var fixedLineWidth = itemModel ? getLineWidth(itemModel, layout) : 0;\n // fix layout with lineWidth\n var signX = layout.width > 0 ? 1 : -1;\n var signY = layout.height > 0 ? 1 : -1;\n return {\n x: layout.x + signX * fixedLineWidth / 2,\n y: layout.y + signY * fixedLineWidth / 2,\n width: layout.width - signX * fixedLineWidth,\n height: layout.height - signY * fixedLineWidth\n };\n },\n polar: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n return {\n cx: layout.cx,\n cy: layout.cy,\n r0: layout.r0,\n r: layout.r,\n startAngle: layout.startAngle,\n endAngle: layout.endAngle,\n clockwise: layout.clockwise\n };\n }\n};\nfunction isZeroOnPolar(layout) {\n return layout.startAngle != null && layout.endAngle != null && layout.startAngle === layout.endAngle;\n}\nfunction createPolarPositionMapping(isRadial) {\n return function (isRadial) {\n var arcOrAngle = isRadial ? 'Arc' : 'Angle';\n return function (position) {\n switch (position) {\n case 'start':\n case 'insideStart':\n case 'end':\n case 'insideEnd':\n return position + arcOrAngle;\n default:\n return position;\n }\n };\n }(isRadial);\n}\nfunction updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, isPolar) {\n var style = data.getItemVisual(dataIndex, 'style');\n if (!isPolar) {\n var borderRadius = itemModel.get(['itemStyle', 'borderRadius']) || 0;\n el.setShape('r', borderRadius);\n } else if (!seriesModel.get('roundCap')) {\n var sectorShape = el.shape;\n var cornerRadius = getSectorCornerRadius(itemModel.getModel('itemStyle'), sectorShape, true);\n extend(sectorShape, cornerRadius);\n el.setShape(sectorShape);\n }\n el.useStyle(style);\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && el.attr('cursor', cursorStyle);\n var labelPositionOutside = isPolar ? isHorizontalOrRadial ? layout.r >= layout.r0 ? 'endArc' : 'startArc' : layout.endAngle >= layout.startAngle ? 'endAngle' : 'startAngle' : isHorizontalOrRadial ? layout.height >= 0 ? 'bottom' : 'top' : layout.width >= 0 ? 'right' : 'left';\n var labelStatesModels = getLabelStatesModels(itemModel);\n setLabelStyle(el, labelStatesModels, {\n labelFetcher: seriesModel,\n labelDataIndex: dataIndex,\n defaultText: getDefaultLabel(seriesModel.getData(), dataIndex),\n inheritColor: style.fill,\n defaultOpacity: style.opacity,\n defaultOutsidePosition: labelPositionOutside\n });\n var label = el.getTextContent();\n if (isPolar && label) {\n var position = itemModel.get(['label', 'position']);\n el.textConfig.inside = position === 'middle' ? true : null;\n setSectorTextRotation(el, position === 'outside' ? labelPositionOutside : position, createPolarPositionMapping(isHorizontalOrRadial), itemModel.get(['label', 'rotate']));\n }\n setLabelValueAnimation(label, labelStatesModels, seriesModel.getRawValue(dataIndex), function (value) {\n return getDefaultInterpolatedLabel(data, value);\n });\n var emphasisModel = itemModel.getModel(['emphasis']);\n toggleHoverEmphasis(el, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n setStatesStylesFromModel(el, itemModel);\n if (isZeroOnPolar(layout)) {\n el.style.fill = 'none';\n el.style.stroke = 'none';\n each(el.states, function (state) {\n if (state.style) {\n state.style.fill = state.style.stroke = 'none';\n }\n });\n }\n}\n// In case width or height are too small.\nfunction getLineWidth(itemModel, rawLayout) {\n // Has no border.\n var borderColor = itemModel.get(['itemStyle', 'borderColor']);\n if (!borderColor || borderColor === 'none') {\n return 0;\n }\n var lineWidth = itemModel.get(['itemStyle', 'borderWidth']) || 0;\n // width or height may be NaN for empty data\n var width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);\n var height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);\n return Math.min(lineWidth, width, height);\n}\nvar LagePathShape = /** @class */function () {\n function LagePathShape() {}\n return LagePathShape;\n}();\nvar LargePath = /** @class */function (_super) {\n __extends(LargePath, _super);\n function LargePath(opts) {\n var _this = _super.call(this, opts) || this;\n _this.type = 'largeBar';\n return _this;\n }\n LargePath.prototype.getDefaultShape = function () {\n return new LagePathShape();\n };\n LargePath.prototype.buildPath = function (ctx, shape) {\n // Drawing lines is more efficient than drawing\n // a whole line or drawing rects.\n var points = shape.points;\n var baseDimIdx = this.baseDimIdx;\n var valueDimIdx = 1 - this.baseDimIdx;\n var startPoint = [];\n var size = [];\n var barWidth = this.barWidth;\n for (var i = 0; i < points.length; i += 3) {\n size[baseDimIdx] = barWidth;\n size[valueDimIdx] = points[i + 2];\n startPoint[baseDimIdx] = points[i + baseDimIdx];\n startPoint[valueDimIdx] = points[i + valueDimIdx];\n ctx.rect(startPoint[0], startPoint[1], size[0], size[1]);\n }\n };\n return LargePath;\n}(Path);\nfunction createLarge(seriesModel, group, progressiveEls, incremental) {\n // TODO support polar\n var data = seriesModel.getData();\n var baseDimIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;\n var largeDataIndices = data.getLayout('largeDataIndices');\n var barWidth = data.getLayout('size');\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var bgPoints = data.getLayout('largeBackgroundPoints');\n if (bgPoints) {\n var bgEl = new LargePath({\n shape: {\n points: bgPoints\n },\n incremental: !!incremental,\n silent: true,\n z2: 0\n });\n bgEl.baseDimIdx = baseDimIdx;\n bgEl.largeDataIndices = largeDataIndices;\n bgEl.barWidth = barWidth;\n bgEl.useStyle(backgroundModel.getItemStyle());\n group.add(bgEl);\n progressiveEls && progressiveEls.push(bgEl);\n }\n var el = new LargePath({\n shape: {\n points: data.getLayout('largePoints')\n },\n incremental: !!incremental,\n ignoreCoarsePointer: true,\n z2: 1\n });\n el.baseDimIdx = baseDimIdx;\n el.largeDataIndices = largeDataIndices;\n el.barWidth = barWidth;\n group.add(el);\n el.useStyle(data.getVisual('style'));\n // Enable tooltip and user mouse/touch event handlers.\n getECData(el).seriesIndex = seriesModel.seriesIndex;\n if (!seriesModel.get('silent')) {\n el.on('mousedown', largePathUpdateDataIndex);\n el.on('mousemove', largePathUpdateDataIndex);\n }\n progressiveEls && progressiveEls.push(el);\n}\n// Use throttle to avoid frequently traverse to find dataIndex.\nvar largePathUpdateDataIndex = throttle(function (event) {\n var largePath = this;\n var dataIndex = largePathFindDataIndex(largePath, event.offsetX, event.offsetY);\n getECData(largePath).dataIndex = dataIndex >= 0 ? dataIndex : null;\n}, 30, false);\nfunction largePathFindDataIndex(largePath, x, y) {\n var baseDimIdx = largePath.baseDimIdx;\n var valueDimIdx = 1 - baseDimIdx;\n var points = largePath.shape.points;\n var largeDataIndices = largePath.largeDataIndices;\n var startPoint = [];\n var size = [];\n var barWidth = largePath.barWidth;\n for (var i = 0, len = points.length / 3; i < len; i++) {\n var ii = i * 3;\n size[baseDimIdx] = barWidth;\n size[valueDimIdx] = points[ii + 2];\n startPoint[baseDimIdx] = points[ii + baseDimIdx];\n startPoint[valueDimIdx] = points[ii + valueDimIdx];\n if (size[valueDimIdx] < 0) {\n startPoint[valueDimIdx] += size[valueDimIdx];\n size[valueDimIdx] = -size[valueDimIdx];\n }\n if (x >= startPoint[0] && x <= startPoint[0] + size[0] && y >= startPoint[1] && y <= startPoint[1] + size[1]) {\n return largeDataIndices[i];\n }\n }\n return -1;\n}\nfunction createBackgroundShape(isHorizontalOrRadial, layout, coord) {\n if (isCoordinateSystemType(coord, 'cartesian2d')) {\n var rectShape = layout;\n var coordLayout = coord.getArea();\n return {\n x: isHorizontalOrRadial ? rectShape.x : coordLayout.x,\n y: isHorizontalOrRadial ? coordLayout.y : rectShape.y,\n width: isHorizontalOrRadial ? rectShape.width : coordLayout.width,\n height: isHorizontalOrRadial ? coordLayout.height : rectShape.height\n };\n } else {\n var coordLayout = coord.getArea();\n var sectorShape = layout;\n return {\n cx: coordLayout.cx,\n cy: coordLayout.cy,\n r0: isHorizontalOrRadial ? coordLayout.r0 : sectorShape.r0,\n r: isHorizontalOrRadial ? coordLayout.r : sectorShape.r,\n startAngle: isHorizontalOrRadial ? sectorShape.startAngle : 0,\n endAngle: isHorizontalOrRadial ? sectorShape.endAngle : Math.PI * 2\n };\n }\n}\nfunction createBackgroundEl(coord, isHorizontalOrRadial, layout) {\n var ElementClz = coord.type === 'polar' ? Sector : Rect;\n return new ElementClz({\n shape: createBackgroundShape(isHorizontalOrRadial, layout, coord),\n silent: true,\n z2: 0\n });\n}\nexport default BarView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { layout, createProgressiveLayout } from '../../layout/barGrid.js';\nimport dataSample from '../../processor/dataSample.js';\nimport BarSeries from './BarSeries.js';\nimport BarView from './BarView.js';\nexport function install(registers) {\n registers.registerChartView(BarView);\n registers.registerSeriesModel(BarSeries);\n registers.registerLayout(registers.PRIORITY.VISUAL.LAYOUT, zrUtil.curry(layout, 'bar'));\n // Do layout after other overall layout, which can prepare some information.\n registers.registerLayout(registers.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, createProgressiveLayout('bar'));\n // Down sample after filter\n registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, dataSample('bar'));\n /**\n * @payload\n * @property {string} [componentType=series]\n * @property {number} [dx]\n * @property {number} [dy]\n * @property {number} [zoom]\n * @property {number} [originX]\n * @property {number} [originY]\n */\n registers.registerAction({\n type: 'changeAxisOrder',\n event: 'changeAxisOrder',\n update: 'update'\n }, function (payload, ecModel) {\n var componentType = payload.componentType || 'series';\n ecModel.eachComponent({\n mainType: componentType,\n query: payload\n }, function (componentModel) {\n if (payload.sortInfo) {\n componentModel.axis.setCategorySortInfo(payload.sortInfo);\n }\n });\n });\n}","@import '../../styles/host.scss';\n\n:host {\n width: var(--tct-bar-chart-width, 100%);\n height: var(--tct-bar-chart-height, 100%);\n display: block;\n}\n\n.container {\n width: 100%;\n height: 100%;\n}\n\n.chart-container {\n width: 100%;\n height: 100%;\n}\n","import { Component, Prop, h, ComponentInterface, Element, Watch } from '@stencil/core';\nimport * as echarts from 'echarts/core';\nimport {\n TitleComponent,\n TitleComponentOption,\n AriaComponent,\n AriaComponentOption,\n GridComponent,\n} from 'echarts/components';\nimport { BarChart, BarSeriesOption } from 'echarts/charts';\nimport { LabelLayout } from 'echarts/features';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport { loc, overrideFocus } from 'src/utils';\nimport { getCSSProperty, isValidColor, formatValue } from 'src/utils/charting';\nimport { CallbackDataParams } from 'echarts/types/dist/shared';\nimport { IChartData } from 'q2-tecton-common/lib/types/element-types';\n\necharts.use([AriaComponent, BarChart, CanvasRenderer, LabelLayout, GridComponent, TitleComponent]);\n\ntype EChartsOption = echarts.ComposeOption<AriaComponentOption | BarSeriesOption | TitleComponentOption>;\n\n@Component({ tag: 'q2-chart-bar', shadow: true, styleUrl: 'q2-chart-bar.scss' })\nexport class Q2ChartBar implements ComponentInterface {\n /** An array of objects that contain the data to be displayed. */\n @Prop() data: IChartData[] = [];\n\n /** Controls alignment of the chart name when its visible. */\n @Prop({ reflect: true }) alignChartName: 'left' | 'right' | 'center';\n\n /**\n * The title of the chart. We recommend always including this for accessibility purposes.\n *\n * It is hidden by default, but can be made visible with the `showChartName` variable.\n * @localizable\n */\n @Prop({ reflect: true }) chartName: string;\n\n /** A subtitile to the chart name. Often used to provide a brief description of what the data represents. */\n @Prop({ reflect: true }) chartSubTitle: string;\n\n /**\n * Controls the color of all bars in the chart. Can be overridden at the individual data point level.\n * Accept variables, hex codes, an CSS color names.\n *\n * **Examples:**\n * @snippet\n * element.areaColor = \"#ff0000\";\n * element.areaColor = \"papayawhip\";\n * element.areaColor = \"var(--t-accent-1)\";\n */\n @Prop({ reflect: true }) color: string;\n\n /**\n * Allows control of how labels on the name axis will be handled if the text length is wider than the available space.\n * Values will ellipsize if the truncate option is used.\n */\n @Prop({ reflect: true }) dataNamesOverflow: 'break' | 'truncate';\n\n /**\n * Sets width available for labels on the name axis.\n * It can be used in coordination with `dataNamesOverflow` to control where the label text breaks or truncates.\n */\n @Prop({ reflect: true }) dataNamesWidth: number;\n\n /** Controls whether values on the value axis are shown as numbers or as currency. */\n @Prop({ reflect: true }) format: 'currency' | 'default';\n\n /**\n * Can be used in coordination with the currency format property to control decimal handling.\n * Accepts `Ndec` where N is a number. (e.g. `2dec`)\n */\n @Prop({ reflect: true }) formatModifier: string;\n\n /** Controls visibility of labels on the name axis. */\n @Prop({ reflect: true }) hideBarLabels: boolean = false;\n\n /** Controls visibility of labels on the value axis. */\n @Prop({ reflect: true }) hideValueAxisLabels: boolean = false;\n\n /**\n * Controls the position of text on the names axis by centering the text to the bar at a 45° angle.\n * Can be used when space is limited or with longer name labels.\n */\n @Prop({ reflect: true }) offsetDataNames: boolean = false;\n\n /**\n * Controls the position of text on the values axis by centering the text to the bar at a 45° angle.\n * Can be used when space is limited or with longer name labels.\n */\n @Prop({ reflect: true }) offsetDataValues: boolean = false;\n\n /**\n * Controls which axes are the value and name axes.\n * When `vertical`, values are on the y-axis and names are on the x-axis, with bars shown vertically on the chart.\n * When `horizontal`, names are on the y-axis and values are on the x-axis, with bars shown horizontally on the chart.\n */\n @Prop({ reflect: true }) orientation: 'vertical' | 'horizontal';\n\n /** Controls the visibility of the chart name at the top of the chart. */\n @Prop({ reflect: true }) showChartName: boolean = false;\n\n /**\n * By default, the sorting of the bars on the chart is controlled by the order the values are in the data array.\n * When set to `true`, values on the bar will be re-sorted in descending order.\n */\n @Prop({ reflect: true }) sort: boolean = false;\n\n @Element() hostElement: HTMLElement;\n\n chartContainer: HTMLDivElement;\n chartContainerStyles: CSSStyleDeclaration;\n hostElementStyles: CSSStyleDeclaration;\n chart: echarts.ECharts;\n\n resizeEventListener: EventListener;\n chartFinishedListener: () => void;\n\n componentDidLoad() {\n const chart = echarts.init(this.chartContainer);\n\n this.chart = chart;\n\n this.resizeEventListener = () => this.resizeChart();\n window.addEventListener('resize', this.resizeEventListener);\n\n this.cacheComputedStyles();\n this.updateChart(chart);\n this.setupChartEvents(chart);\n\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback() {\n // Remove event listeners\n window.removeEventListener('resize', this.resizeEventListener);\n\n // Clean up chart instance\n if (this.chart) {\n if (this.chartFinishedListener) {\n this.chart.off('finished', this.chartFinishedListener);\n }\n this.chart.dispose();\n this.chart = null;\n }\n\n // Null out cached computed styles to allow GC\n this.chartContainerStyles = null;\n this.hostElementStyles = null;\n\n // Null out DOM references\n this.chartContainer = null;\n this.resizeEventListener = null;\n this.chartFinishedListener = null;\n }\n\n cacheComputedStyles() {\n this.chartContainerStyles = getComputedStyle(this.chartContainer);\n this.hostElementStyles = getComputedStyle(this.hostElement);\n }\n\n getColor(color: string) {\n const primaryColor = getCSSProperty('var(--t-primary)', this.chartContainerStyles, this.hostElementStyles);\n const seriesColor = getCSSProperty(this.color, this.chartContainerStyles, this.hostElementStyles);\n const cssColorProp = getCSSProperty(color, this.chartContainerStyles, this.hostElementStyles);\n if (cssColorProp) return cssColorProp;\n if (isValidColor(color)) return color;\n if (seriesColor) return seriesColor;\n if (isValidColor(this.color)) return this.color;\n return primaryColor;\n }\n\n processData(data: IChartData[]) {\n return data.map(datum => {\n return {\n value: datum.value || 0,\n itemStyle: {\n color: this.getColor(datum.color),\n },\n };\n });\n }\n\n updateChart(chart: echarts.ECharts) {\n const decimals = this.formatModifier?.includes('dec') ? this.formatModifier.replace('dec', '') : 0;\n\n const valueAxis = {\n type: 'value',\n axisLabel: {\n formatter: (value: number) =>\n formatValue(value, {\n type: this.format,\n decimals,\n }),\n rotate: this.offsetDataValues ? 45 : 0,\n margin: this.offsetDataValues ? 15 : 8,\n show: !this.hideValueAxisLabels,\n },\n };\n\n const categoryAxis = {\n type: 'category',\n data: this.data.map(datum => loc(datum.name) || ''),\n axisLabel: {\n rotate: this.offsetDataNames ? 45 : 0,\n margin: this.offsetDataNames ? 15 : 8,\n interval: 0,\n width: this.dataNamesWidth || 50,\n overflow: this.dataNamesOverflow || 'none',\n truncate: 'ellipsis',\n },\n axisTick: {\n alignWithLabel: this.offsetDataNames,\n },\n };\n\n return chart.setOption<EChartsOption>({\n aria: {\n enabled: true,\n },\n title: {\n text: loc(this.chartName),\n show: this.showChartName,\n left: this.alignChartName,\n subtext: this.chartSubTitle,\n },\n grid: {\n containLabel: true,\n },\n xAxis: this.orientation === 'horizontal' ? valueAxis : categoryAxis,\n yAxis: this.orientation === 'horizontal' ? categoryAxis : valueAxis,\n series: [\n {\n data: this.processData(this.data),\n id: 'bar',\n type: 'bar',\n label: {\n show: !this.hideBarLabels,\n position: 'top',\n fontWeight: 'bold',\n formatter: (params: CallbackDataParams) => {\n return formatValue(params.value as number, {\n type: this.format,\n decimals,\n });\n },\n },\n realtimeSort: this.sort,\n },\n ],\n });\n }\n\n resizeChart() {\n this.chart.resize();\n }\n\n setupChartEvents(chart: echarts.ECharts) {\n this.chartFinishedListener = () => {\n const canvas = chart.getDom().querySelector('canvas');\n if (canvas?.hasAttribute('aria-hidden') ?? false) return;\n canvas.setAttribute('aria-hidden', 'true');\n };\n chart.on('finished', this.chartFinishedListener);\n }\n\n @Watch('chartName')\n @Watch('chartSubTitle')\n @Watch('color')\n @Watch('hideBarLabels')\n @Watch('showChartName')\n @Watch('alignChartName')\n @Watch('orientation')\n @Watch('format')\n @Watch('sort')\n @Watch('data')\n @Watch('offsetDataNames')\n @Watch('hideValueAxisLabels')\n @Watch('formatModifier')\n @Watch('dataNamesOverflow')\n propsUpdates() {\n this.updateChart(this.chart);\n }\n\n render() {\n return (\n <div class=\"container\">\n <div\n ref={el => (this.chartContainer = el)}\n class=\"chart-container\"\n test-id=\"barChartContainer\"\n ></div>\n </div>\n );\n }\n}\n"],"version":3}