@vizzly/dashboard 0.14.4-dev-470d6f9c95d1b6422dbe1be22378ce12cdf6580a → 0.14.4-dev-8beb4cd0b38350abdd05b93b66f2523ced40aa15

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 (23) hide show
  1. package/dist/charts/src/v2/components/AreaChart/AreaChart.d.ts +22 -0
  2. package/dist/charts/src/v2/components/AreaChart/contants.d.ts +1 -0
  3. package/dist/charts/src/v2/components/AreaChart/index.d.ts +1 -0
  4. package/dist/charts/src/v2/components/BarChart/getBarFill.d.ts +2 -4
  5. package/dist/charts/src/v2/components/Legend/Legend.d.ts +2 -1
  6. package/dist/charts/src/v2/components/Legend/LegendItem/LegendItem.d.ts +2 -1
  7. package/dist/charts/src/v2/components/Legend/LegendItemBox/LegendItemBox.d.ts +3 -0
  8. package/dist/charts/src/v2/components/Threshold/ThresholdArea.d.ts +14 -0
  9. package/dist/charts/src/v2/components/Threshold/threshold.utils.d.ts +4 -0
  10. package/dist/charts/src/v2/components/Tooltip/CrosshairCircle.d.ts +20 -0
  11. package/dist/charts/src/v2/components/Tooltip/Line.d.ts +7 -0
  12. package/dist/charts/src/v2/components/Tooltip/Tooltip.d.ts +2 -1
  13. package/dist/charts/src/v2/components/hooks/useFlattenedData.d.ts +1 -3
  14. package/dist/charts/src/v2/components/hooks/useVisibleKey.d.ts +6 -0
  15. package/dist/charts/src/v2/utils/useableId.d.ts +1 -0
  16. package/dist/dashboard.cjs.development.js +401 -80
  17. package/dist/dashboard.cjs.production.min.js +1 -1
  18. package/dist/dashboard.esm.js +406 -82
  19. package/dist/shared-logic/src/AreaChartV2/types.d.ts +12 -0
  20. package/dist/shared-logic/src/BubbleChart/getAxisFormattingFunction.d.ts +1 -1
  21. package/dist/shared-logic/src/ChartsV2/getAxisFormattingFunction.d.ts +1 -1
  22. package/dist/shared-logic/src/ChartsV2/types.d.ts +3 -0
  23. package/package.json +1 -1
@@ -57,7 +57,6 @@ var windowSize = require('@react-hook/window-size');
57
57
  var copy = _interopDefault(require('copy-to-clipboard'));
58
58
  var html2canvas = _interopDefault(require('html2canvas'));
59
59
  var jsPDF = _interopDefault(require('jspdf'));
60
- var BubbleChart$3 = require('./charts/src/BubbleChart');
61
60
  var clipPath = require('@visx/clip-path');
62
61
  var event = require('@visx/event');
63
62
  var d3Array = require('@visx/vendor/d3-array');
@@ -9340,7 +9339,7 @@ var BubbleChart = function BubbleChart(config) {
9340
9339
 
9341
9340
  var attributesSchema$f = function attributesSchema(config) {
9342
9341
  return Joi.object(_extends({}, baseAttributesSchema(config.attributesSchemaOptions), timeDimensionQuerySchema(config.queryEngineConfig, config.attributesSchemaOptions), {
9343
- stacked: Joi.valid(true, false, '100%'),
9342
+ stacked: Joi.valid(true, false),
9344
9343
  legend: Joi.valid(true, false),
9345
9344
  type: Joi.valid('barChartV2').required(),
9346
9345
  parameters: parametersSchema(config.queryEngineConfig, config.attributesSchemaOptions),
@@ -40747,6 +40746,259 @@ var IconText = function IconText(props) {
40747
40746
  });
40748
40747
  };
40749
40748
 
40749
+ var accessors$1 = function accessors(xAxisIsTime, xKey, yKey, horizontal) {
40750
+ return {
40751
+ xAccessor: function xAccessor(d) {
40752
+ return d ? horizontal ? d[yKey] : xAxisIsTime ? new Date(d[xKey]) : d[xKey] : undefined;
40753
+ },
40754
+ yAccessor: function yAccessor(d) {
40755
+ return d ? horizontal ? xAxisIsTime ? new Date(d[xKey]) : d[xKey] : d[yKey] : undefined;
40756
+ }
40757
+ };
40758
+ };
40759
+ var DEFAULT_Y_AXIS_LABEL_COUNT$1 = 5;
40760
+ var VizzlyBubbleChart = function VizzlyBubbleChart(props) {
40761
+ var _props$height, _theme$axis$stroke, _theme$axis, _ref, _props$lines$data$len, _props$lines, _props$areas, _props$bars, _props$forceXAxisAsTi, _props$bars2, _props$lines2, _theme$grid$stroke, _theme$grid, _props$axisTitles, _props$axisTitles2, _props$axisTitles3, _props$axisTitles4, _props$bars3, _props$bars4, _props$bars5;
40762
+ var height = adjustHeight((_props$height = props == null ? void 0 : props.height) != null ? _props$height : 300, props == null ? void 0 : props.legend);
40763
+ var _props$approxYAxisLab = props.approxYAxisLabelCount,
40764
+ approxYAxisLabelCount = _props$approxYAxisLab === void 0 ? 'auto' : _props$approxYAxisLab,
40765
+ _props$approxXAxisLab = props.approxXAxisLabelCount,
40766
+ approxXAxisLabelCount = _props$approxXAxisLab === void 0 ? 'auto' : _props$approxXAxisLab,
40767
+ _props$removeStroke = props.removeStroke,
40768
+ removeStroke = _props$removeStroke === void 0 ? false : _props$removeStroke,
40769
+ _props$horizontal = props.horizontal,
40770
+ horizontal = _props$horizontal === void 0 ? false : _props$horizontal,
40771
+ theme = props.theme,
40772
+ x = props.x;
40773
+ var xAxisIsTime = isXAxisTime(props.x, props.forceXAxisAsTime, props.bars, props.lines, props.areas);
40774
+ var axisLabelStyles = function axisLabelStyles(horizontal, labelTheme) {
40775
+ var _labelTheme$color, _labelTheme$fontSize, _labelTheme$fontWeigh, _labelTheme$fontFamil;
40776
+ return {
40777
+ fill: (_labelTheme$color = labelTheme == null ? void 0 : labelTheme.color) != null ? _labelTheme$color : 'rgba(0, 0, 0, 0.6)',
40778
+ fontSize: (_labelTheme$fontSize = labelTheme == null ? void 0 : labelTheme.fontSize) != null ? _labelTheme$fontSize : 9,
40779
+ fontWeight: (_labelTheme$fontWeigh = labelTheme == null ? void 0 : labelTheme.fontWeight) != null ? _labelTheme$fontWeigh : 700,
40780
+ fontFamily: (_labelTheme$fontFamil = labelTheme == null ? void 0 : labelTheme.fontFamily) != null ? _labelTheme$fontFamil : DEFAULT_CHART_FONT,
40781
+ textAnchor: horizontal ? 'end' : 'middle',
40782
+ scaleToFit: 'shrink-only'
40783
+ };
40784
+ };
40785
+ var _useXAxisLabelCount = useXAxisLabelCount(approxXAxisLabelCount, !(props != null && props.horizontal) && (props == null ? void 0 : props.forceXAxisAsTime)),
40786
+ widthRef = _useXAxisLabelCount[0],
40787
+ approximateXTickCount = _useXAxisLabelCount[1];
40788
+ var _useState = React.useState(undefined),
40789
+ nearestDatum = _useState[0];
40790
+ var _useState2 = React.useState(undefined),
40791
+ nearestTooltipDatums = _useState2[0];
40792
+ var colors = getConcatenatedProperties(props, 'colors');
40793
+ var customTheme = xychart.buildChartTheme(_extends({}, xychart.lightTheme, {
40794
+ colors: colors,
40795
+ tickLength: 0,
40796
+ gridColor: '',
40797
+ gridColorDark: ''
40798
+ }));
40799
+ var chartData = getConcatenatedProperties(props, 'data');
40800
+ var axisStrokeColor = (_theme$axis$stroke = theme == null || (_theme$axis = theme.axis) == null ? void 0 : _theme$axis.stroke) != null ? _theme$axis$stroke : '#eaeaea';
40801
+ var _getAxisType = getAxisType(approxXAxisLabelCount, approxYAxisLabelCount),
40802
+ xAxisType = _getAxisType.xAxisType,
40803
+ xAxisAttributes = _getAxisType.xAxisAttributes,
40804
+ yAxisType = _getAxisType.yAxisType;
40805
+ var numberOfXAxisPoints = (_ref = (_props$lines$data$len = props == null || (_props$lines = props.lines) == null ? void 0 : _props$lines.data.length) != null ? _props$lines$data$len : props == null || (_props$areas = props.areas) == null || (_props$areas = _props$areas.data) == null ? void 0 : _props$areas.length) != null ? _ref : (_props$bars = props.bars) == null ? void 0 : _props$bars.data.length;
40806
+ var _useMinMaxValue = useMinMaxValue(props),
40807
+ maxValue = _useMinMaxValue.maxValue,
40808
+ minValue = _useMinMaxValue.minValue;
40809
+ var leftWidth = getYAxisWidth(horizontal, (_props$forceXAxisAsTi = props.forceXAxisAsTime) != null ? _props$forceXAxisAsTi : false, props, theme, getConcatenatedProperties(props, 'data'), props.x);
40810
+ var margin = props.sparkline ? NO_MARGIN(props.yAxisOrientation !== 'right') : getDefaultMargins(horizontal, props.yAxisOrientation !== 'right', xAxisType, props == null ? void 0 : props.axisTitles, leftWidth);
40811
+ var getTrendLineStyle = function getTrendLineStyle(datumKey) {
40812
+ if (props.trends) {
40813
+ var _props$trends, _strokeDasharrayToBor, _indicatorProperties$, _indicatorProperties$2, _indicatorProperties$3, _indicatorProperties$4, _indicatorProperties$5, _indicatorProperties$6, _indicatorProperties$7, _indicatorProperties$8, _indicatorProperties$9;
40814
+ var indicatorKeyIndex = (_props$trends = props.trends) == null ? void 0 : _props$trends.keys.indexOf(datumKey);
40815
+ var indicatorProperties = props.trends;
40816
+ return {
40817
+ borderStyle: (_strokeDasharrayToBor = strokeDasharrayToBorderStyle((_indicatorProperties$ = indicatorProperties.strokeDasharray) == null ? void 0 : _indicatorProperties$[indicatorKeyIndex])) != null ? _strokeDasharrayToBor : 'dotted',
40818
+ borderWidth: 0,
40819
+ marginTop: (_indicatorProperties$2 = (_indicatorProperties$3 = indicatorProperties.strokeWidth) == null ? void 0 : _indicatorProperties$3[indicatorKeyIndex]) != null ? _indicatorProperties$2 : 2,
40820
+ borderTopWidth: (_indicatorProperties$4 = (_indicatorProperties$5 = indicatorProperties.strokeWidth) == null ? void 0 : _indicatorProperties$5[indicatorKeyIndex]) != null ? _indicatorProperties$4 : 2,
40821
+ borderColor: (_indicatorProperties$6 = (_indicatorProperties$7 = indicatorProperties.colors) == null ? void 0 : _indicatorProperties$7[indicatorKeyIndex]) != null ? _indicatorProperties$6 : '#1E1D2D',
40822
+ opacity: (_indicatorProperties$8 = (_indicatorProperties$9 = indicatorProperties.opacity) == null ? void 0 : _indicatorProperties$9[indicatorKeyIndex]) != null ? _indicatorProperties$8 : 1
40823
+ };
40824
+ }
40825
+ return undefined;
40826
+ };
40827
+ return jsxRuntime.jsxs("div", {
40828
+ ref: widthRef,
40829
+ style: {
40830
+ position: 'relative',
40831
+ height: height
40832
+ },
40833
+ className: "vizzly-xy-chart" + (props != null && (_props$bars2 = props.bars) != null && _props$bars2.funnelChart ? ' vizzly-xy-chart-funnel' : ''),
40834
+ "data-testid": "vizzly-" + (props == null ? void 0 : props.uniqueId) + "-chart",
40835
+ children: [jsxRuntime.jsxs(xychart.XYChart, {
40836
+ theme: customTheme,
40837
+ margin: margin,
40838
+ height: height,
40839
+ xScale: getScale('x', horizontal, xAxisIsTime, props == null || (_props$lines2 = props.lines) == null ? void 0 : _props$lines2.scatter, !!(props != null && props.lines) || !!(props != null && props.areas)),
40840
+ yScale: getYScale(props == null ? void 0 : props.goalLine, maxValue, minValue, horizontal, xAxisIsTime),
40841
+ horizontal: horizontal,
40842
+ onPointerUp: function onPointerUp(params) {
40843
+ return props == null ? void 0 : props.onClick(nearestDatum, nearestTooltipDatums, params);
40844
+ },
40845
+ children: [jsxRuntime.jsx(xychart.Grid, {
40846
+ columns: horizontal,
40847
+ rows: !horizontal,
40848
+ stroke: "black",
40849
+ strokeDasharray: "0.5 5",
40850
+ strokeWidth: removeStroke ? 0 : 2,
40851
+ lineStyle: {
40852
+ strokeLinecap: 'round',
40853
+ stroke: (_theme$grid$stroke = theme == null || (_theme$grid = theme.grid) == null ? void 0 : _theme$grid.stroke) != null ? _theme$grid$stroke : 'rgba(200, 200, 200, 0.2)'
40854
+ }
40855
+ }), !(props != null && props.sparkline) && jsxRuntime.jsxs(jsxRuntime.Fragment, {
40856
+ children: [xAxisType !== 'none' && jsxRuntime.jsx(xychart.Axis, _extends({}, xAxisAttributes, {
40857
+ tickLabelProps: function tickLabelProps() {
40858
+ var tickLabelProps = _extends({}, axisLabelStyles(horizontal, theme == null ? void 0 : theme.labels));
40859
+ if (!horizontal) {
40860
+ tickLabelProps['y'] = 15;
40861
+ }
40862
+ return tickLabelProps;
40863
+ },
40864
+ numTicks: xAxisType === 'end2end' ? numberOfXAxisPoints : approximateXTickCount,
40865
+ strokeWidth: removeStroke ? 0 : 1,
40866
+ tickStroke: "#eaeaea",
40867
+ stroke: horizontal ? 'transparent' : axisStrokeColor,
40868
+ orientation: horizontal ? 'left' : 'bottom',
40869
+ tickFormat: handleFormatXAxisLabel(props.formatXAxisLabel, props.forceXAxisAsTime || xAxisIsTime, chartData),
40870
+ label: horizontal ? props == null || (_props$axisTitles = props.axisTitles) == null ? void 0 : _props$axisTitles.y : props == null || (_props$axisTitles2 = props.axisTitles) == null ? void 0 : _props$axisTitles2.x,
40871
+ children: function children(axisProps) {
40872
+ return jsxRuntime.jsx(XAxis, _extends({}, axisProps, {
40873
+ theme: theme,
40874
+ type: xAxisType,
40875
+ uniqueId: props == null ? void 0 : props.uniqueId,
40876
+ chartWidth: props == null ? void 0 : props.width,
40877
+ xAxisIsTime: !!props.forceXAxisAsTime,
40878
+ leftPanelWidth: leftWidth,
40879
+ axisHorizontal: props == null ? void 0 : props.horizontal
40880
+ }));
40881
+ }
40882
+ })), jsxRuntime.jsx(xychart.Axis, {
40883
+ labelOffset: 50,
40884
+ tickLabelProps: function tickLabelProps() {
40885
+ var tickLabelProps = _extends({}, axisLabelStyles(horizontal, theme == null ? void 0 : theme.labels));
40886
+ if (!horizontal && props.yAxisOrientation !== 'right') {
40887
+ tickLabelProps['width'] = LEFT_PANEL_WIDTH;
40888
+ tickLabelProps['textAnchor'] = 'middle';
40889
+ }
40890
+ return tickLabelProps;
40891
+ },
40892
+ hideAxisLine: true,
40893
+ numTicks: approxYAxisLabelCount === 'auto' ? DEFAULT_Y_AXIS_LABEL_COUNT$1 : approxYAxisLabelCount,
40894
+ strokeWidth: removeStroke ? 0 : 1,
40895
+ hideTicks: true,
40896
+ tickLength: !props.horizontal && props.yAxisOrientation !== 'right' ? LEFT_PANEL_WIDTH / 2 : 10,
40897
+ stroke: axisStrokeColor,
40898
+ orientation: horizontal ? 'bottom' : props.yAxisOrientation || 'left',
40899
+ tickFormat: formatYAxisLabel$1(props),
40900
+ label: horizontal ? props == null || (_props$axisTitles3 = props.axisTitles) == null ? void 0 : _props$axisTitles3.x : props == null || (_props$axisTitles4 = props.axisTitles) == null ? void 0 : _props$axisTitles4.y,
40901
+ children: function children(axisProps) {
40902
+ return jsxRuntime.jsx(YAxis, _extends({}, axisProps, {
40903
+ theme: theme,
40904
+ type: yAxisType,
40905
+ horizontal: horizontal,
40906
+ maxValueOfYAxis: props != null && props.formatYAxisLabel ? props == null ? void 0 : props.formatYAxisLabel(maxValue) : maxValue,
40907
+ uniqueId: props == null ? void 0 : props.uniqueId
40908
+ }));
40909
+ }
40910
+ })]
40911
+ }), jsxRuntime.jsx("style", {
40912
+ children: "\n .visx-bar-stack .visx-bar {\n stroke: #fff;\n stroke-width: 2px;\n }\n .vizzly-xy-chart-funnel .visx-bar-stack .visx-bar {\n stroke-width: 0;\n }\n .visx-tooltip-glyph svg {\n max-width: 10px\n height: 10px;\n }\n " + TOOLTIP_ZINDEX + "\n "
40913
+ }), props.lines && props.lines.keys.map(function (key, keyIndex) {
40914
+ var _props$lines3, _props$lines4;
40915
+ return jsxRuntime.jsx(xychart.GlyphSeries, _extends({
40916
+ size: function size(datum) {
40917
+ if (!datum || !datum.bubbleSize) return 5;
40918
+ return datum.bubbleSize;
40919
+ },
40920
+ dataKey: key,
40921
+ data: (_props$lines3 = props.lines) == null ? void 0 : _props$lines3.data
40922
+ }, accessors$1(xAxisIsTime, x, key, horizontal), {
40923
+ colorAccessor: (props == null || (_props$lines4 = props.lines) == null ? void 0 : _props$lines4.formatter) && getColorFromDatum(key, props == null ? void 0 : props.lines.formatter, colors, keyIndex)
40924
+ }), "scatter_chart_" + props.uniqueId + "_" + keyIndex);
40925
+ })]
40926
+ }), (props == null ? void 0 : props.legend) && jsxRuntime.jsx(Legend, {
40927
+ funnelChart: props == null || (_props$bars3 = props.bars) == null ? void 0 : _props$bars3.funnelChart
40928
+ // groupingCount={props}
40929
+ ,
40930
+ keys: getConcatenatedProperties(props, 'keys'),
40931
+ colors: colors,
40932
+ typeIndex: getTypeIndex(props),
40933
+ formatSeriesName: props == null ? void 0 : props.formatSeriesName,
40934
+ formatter: props == null || (_props$bars4 = props.bars) == null ? void 0 : _props$bars4.formatter,
40935
+ data: (_props$bars5 = props.bars) == null ? void 0 : _props$bars5.data,
40936
+ conditionalFormattingPossibilities: props.conditionalFormattingPossibilities,
40937
+ getIndicatorStyles: getTrendLineStyle
40938
+ })]
40939
+ });
40940
+ };
40941
+
40942
+ var BubbleChart$2 = /*#__PURE__*/React.forwardRef(function (props, ref) {
40943
+ var zValues = props.z ? props.data.map(function (d) {
40944
+ return d[props.z];
40945
+ }) : [];
40946
+ var normaliseArray = function normaliseArray(array, min, max) {
40947
+ var arrayMin = Math.min.apply(Math, array);
40948
+ var arrayMax = Math.max.apply(Math, array);
40949
+ return array.map(function (value) {
40950
+ return (value - arrayMin) / (arrayMax - arrayMin) * (max - min) + min;
40951
+ });
40952
+ };
40953
+ var scaledSizeValues = normaliseArray(zValues, 1, 30);
40954
+ var data = props.data.map(function (d, i) {
40955
+ return _extends({}, d, {
40956
+ bubbleSize: scaledSizeValues[i]
40957
+ });
40958
+ });
40959
+ var forceRerender = useChartForceRerender(ref);
40960
+ if (forceRerender) return null;
40961
+ return jsxRuntime.jsx(responsive.ParentSize, {
40962
+ children: function children(parent) {
40963
+ var _props$height, _props$width;
40964
+ return jsxRuntime.jsx(VizzlyBubbleChart, {
40965
+ isBubble: true,
40966
+ approxXAxisLabelCount: props.approxXAxisLabelCount,
40967
+ approxYAxisLabelCount: props.approxYAxisLabelCount,
40968
+ uniqueId: props.uniqueId,
40969
+ formatSeriesName: props.formatSeriesName,
40970
+ forceXAxisAsTime: props.forceXAxisAsTime,
40971
+ sparkline: props.sparkline,
40972
+ lines: {
40973
+ annotate: props.annotate || [],
40974
+ data: data,
40975
+ keys: props.keys,
40976
+ colors: props.colors,
40977
+ scatter: true
40978
+ },
40979
+ x: props.x,
40980
+ z: props.z,
40981
+ sharedTooltip: true,
40982
+ legend: props.legend,
40983
+ removeStroke: props == null ? void 0 : props.removeStroke,
40984
+ formatXAxisLabel: props == null ? void 0 : props.formatXAxisLabel,
40985
+ formatYAxisLabel: props == null ? void 0 : props.formatYAxisLabel,
40986
+ horizontal: props == null ? void 0 : props.horizontal,
40987
+ height: (_props$height = props == null ? void 0 : props.height) != null ? _props$height : parent == null ? void 0 : parent.height,
40988
+ width: (_props$width = props == null ? void 0 : props.width) != null ? _props$width : parent == null ? void 0 : parent.width,
40989
+ theme: props == null ? void 0 : props.theme,
40990
+ onClick: function onClick(datum) {
40991
+ return (props == null ? void 0 : props.onClick) && (props == null ? void 0 : props.onClick(datum));
40992
+ },
40993
+ goalLine: props == null ? void 0 : props.goalLine,
40994
+ axisTitles: props == null ? void 0 : props.axisTitles,
40995
+ idPrefix: props == null ? void 0 : props.idPrefix,
40996
+ popOverMenuStyles: props.popOverMenuStyles
40997
+ });
40998
+ }
40999
+ });
41000
+ });
41001
+
40750
41002
  var defaultProps$6 = {
40751
41003
  type: 'bubbleChart',
40752
41004
  xMeasure: null,
@@ -40834,7 +41086,7 @@ var BubbleChartView = function BubbleChartView(props) {
40834
41086
  queriesAreChanging: props.queriesAreChanging,
40835
41087
  children: [jsxRuntime.jsx(ViewHeader, _extends({}, headerProps)), jsxRuntime.jsx(ChartWrapper, {
40836
41088
  disabledFeatures: (_props$library2 = props.library) != null ? _props$library2 : false,
40837
- children: jsxRuntime.jsx(BubbleChart$3.BubbleChart, {
41089
+ children: jsxRuntime.jsx(BubbleChart$2, {
40838
41090
  ref: ref,
40839
41091
  approxXAxisLabelCount: props.approxXAxisLabelCount,
40840
41092
  approxYAxisLabelCount: props.approxYAxisLabelCount,
@@ -40879,7 +41131,7 @@ var BubbleChartView = function BubbleChartView(props) {
40879
41131
  BubbleChartView.defaultProps = defaultProps$6;
40880
41132
  var memoized$4 = /*#__PURE__*/React.memo(BubbleChartView, shouldUpdate);
40881
41133
 
40882
- var BubbleChart$2 = function BubbleChart(props) {
41134
+ var BubbleChart$3 = function BubbleChart(props) {
40883
41135
  var _props$dashboardBehav;
40884
41136
  var _props$component = props.component,
40885
41137
  results = _props$component.results,
@@ -41330,6 +41582,21 @@ var LegendItemSquare = function LegendItemSquare(_ref2) {
41330
41582
  })
41331
41583
  });
41332
41584
  };
41585
+ var LegendItemTriangle = function LegendItemTriangle(_ref3) {
41586
+ var color = _ref3.color;
41587
+ return jsxRuntime.jsx("svg", {
41588
+ width: 8,
41589
+ height: 8,
41590
+ style: {
41591
+ display: 'block',
41592
+ borderRadius: 1
41593
+ },
41594
+ children: jsxRuntime.jsx("polygon", {
41595
+ points: "0,0 10,10 0,10",
41596
+ fill: color
41597
+ })
41598
+ });
41599
+ };
41333
41600
 
41334
41601
  var Tooltip$1 = function Tooltip(_ref) {
41335
41602
  var keys = _ref.keys,
@@ -41462,7 +41729,7 @@ var LegendItem = function LegendItem(_ref) {
41462
41729
  className: /*#__PURE__*/css$1.css( {
41463
41730
  name: "mefz6m-LegendItem",
41464
41731
  styles: "height:10px;display:flex;label:LegendItem;",
41465
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlIH0gZnJvbSAnLi4vTGVnZW5kSXRlbUJveC9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgcmVsZXZhbnRSdWxlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMuZmlsdGVyKChydWxlKSA9PiBydWxlLnlLZXkgPT09IHlLZXkpLFxuICAgIFtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc11cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGtleT17YGxlZ2VuZC0ke3lLZXl9YH1cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYWxsOiAndW5zZXQnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIG91dGxpbmU6ICdyZXZlcnQnLFxuICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2xpbmUnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDEwLCBkaXNwbGF5OiAnZmxleCcgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtQm94IGNvbG9yPXtjb2xvcn0gc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9IHlLZXk9e3lLZXl9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAoKHJ1bGUpID0+IChcbiAgICAgICAgICAgICAgPExlZ2VuZEl0ZW1Cb3hcbiAgICAgICAgICAgICAgICBjb2xvcj17cnVsZS5jb2xvcn1cbiAgICAgICAgICAgICAgICBrZXk9e2BydWxlLSR7SlNPTi5zdHJpbmdpZnkocnVsZSl9YH1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGUgYXMgTGluZVN0eWxlc31cbiAgICAgICAgICAgICAgICB5S2V5PXt5S2V5fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2JhcicgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ3JvdycsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDIgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtU3F1YXJlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcCgocnVsZSkgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
41732
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuXG5pbnRlcmZhY2UgTGVnZW5kSXRlbVByb3BzPFQ+IGV4dGVuZHMgU2hhcGVEZWZpbml0aW9uPFQ+IHtcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgeUtleUZvcm1hdHRlZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59XG5cbmV4cG9ydCBjb25zdCBMZWdlbmRJdGVtID0gKHtcbiAgeUtleSxcbiAgeUtleUZvcm1hdHRlZCxcbiAgY29sb3IsXG4gIHN0eWxlLFxuICBvbkNsaWNrLFxuICB2aXNpYmxlLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbn06IExlZ2VuZEl0ZW1Qcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcz4pID0+IHtcbiAgY29uc3QgcmVsZXZhbnRSdWxlcyA9IHVzZU1lbW8oKCkgPT4gY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMuZmlsdGVyKHJ1bGUgPT4gcnVsZS55S2V5ID09PSB5S2V5KSwgW1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGtleT17YGxlZ2VuZC0ke3lLZXl9YH1cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYWxsOiAndW5zZXQnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIG91dGxpbmU6ICdyZXZlcnQnLFxuICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2xpbmUnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDEwLCBkaXNwbGF5OiAnZmxleCcgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtQm94IGNvbG9yPXtjb2xvcn0gc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9IHlLZXk9e3lLZXl9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiAoXG4gICAgICAgICAgICAgIDxMZWdlbmRJdGVtQm94XG4gICAgICAgICAgICAgICAgY29sb3I9e3J1bGUuY29sb3J9XG4gICAgICAgICAgICAgICAga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9XG4gICAgICAgICAgICAgICAgeUtleT17eUtleX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuICAgICAge3N0eWxlLnR5cGUgPT09ICdiYXInICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17Y29sb3J9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYXJlYScgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ3JvdycsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDIgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1UcmlhbmdsZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIDxzcGFuXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgICAgICBsaW5lSGVpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogdmlzaWJsZSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnLFxuICAgICAgICAgIHRleHRXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3lLZXlGb3JtYXR0ZWQgPyB5S2V5Rm9ybWF0dGVkIDogeUtleX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG4iXX0= */",
41466
41733
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
41467
41734
  }),
41468
41735
  children: [jsxRuntime.jsx(LegendItemBox, {
@@ -41480,7 +41747,7 @@ var LegendItem = function LegendItem(_ref) {
41480
41747
  className: /*#__PURE__*/css$1.css( {
41481
41748
  name: "pglbco-LegendItem",
41482
41749
  styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
41483
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlIH0gZnJvbSAnLi4vTGVnZW5kSXRlbUJveC9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZEl0ZW1Qcm9wczxUPiBleHRlbmRzIFNoYXBlRGVmaW5pdGlvbjxUPiB7XG4gIG9uQ2xpY2s6ICgpID0+IHZvaWQ7XG4gIHZpc2libGU6IGJvb2xlYW47XG4gIHlLZXlGb3JtYXR0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM6IEFycmF5PENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGU+O1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kSXRlbSA9ICh7XG4gIHlLZXksXG4gIHlLZXlGb3JtYXR0ZWQsXG4gIGNvbG9yLFxuICBzdHlsZSxcbiAgb25DbGljayxcbiAgdmlzaWJsZSxcbiAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG59OiBMZWdlbmRJdGVtUHJvcHM8QmFyU3R5bGVzIHwgTGluZVN0eWxlcz4pID0+IHtcbiAgY29uc3QgcmVsZXZhbnRSdWxlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMuZmlsdGVyKChydWxlKSA9PiBydWxlLnlLZXkgPT09IHlLZXkpLFxuICAgIFtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc11cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGtleT17YGxlZ2VuZC0ke3lLZXl9YH1cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYWxsOiAndW5zZXQnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIG91dGxpbmU6ICdyZXZlcnQnLFxuICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2xpbmUnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDEwLCBkaXNwbGF5OiAnZmxleCcgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtQm94IGNvbG9yPXtjb2xvcn0gc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9IHlLZXk9e3lLZXl9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAoKHJ1bGUpID0+IChcbiAgICAgICAgICAgICAgPExlZ2VuZEl0ZW1Cb3hcbiAgICAgICAgICAgICAgICBjb2xvcj17cnVsZS5jb2xvcn1cbiAgICAgICAgICAgICAgICBrZXk9e2BydWxlLSR7SlNPTi5zdHJpbmdpZnkocnVsZSl9YH1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGUgYXMgTGluZVN0eWxlc31cbiAgICAgICAgICAgICAgICB5S2V5PXt5S2V5fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2JhcicgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ3JvdycsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDIgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtU3F1YXJlIGNvbG9yPXtjb2xvcn0gLz5cbiAgICAgICAgICB7cmVsZXZhbnRSdWxlcy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICByZWxldmFudFJ1bGVzLm1hcCgocnVsZSkgPT4gPExlZ2VuZEl0ZW1TcXVhcmUgY29sb3I9e3J1bGUuY29sb3J9IGtleT17YHJ1bGUtJHtKU09OLnN0cmluZ2lmeShydWxlKX1gfSAvPil9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhblxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZvbnRTaXplOiAnMTJweCcsXG4gICAgICAgICAgbGluZUhlaWdodDogJzE2cHgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IHZpc2libGUgPyAnbm9uZScgOiAnbGluZS10aHJvdWdoJyxcbiAgICAgICAgICB0ZXh0V3JhcDogJ25vd3JhcCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHt5S2V5Rm9ybWF0dGVkID8geUtleUZvcm1hdHRlZCA6IHlLZXl9XG4gICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuIl19 */",
41750
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuXG5pbnRlcmZhY2UgTGVnZW5kSXRlbVByb3BzPFQ+IGV4dGVuZHMgU2hhcGVEZWZpbml0aW9uPFQ+IHtcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgeUtleUZvcm1hdHRlZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59XG5cbmV4cG9ydCBjb25zdCBMZWdlbmRJdGVtID0gKHtcbiAgeUtleSxcbiAgeUtleUZvcm1hdHRlZCxcbiAgY29sb3IsXG4gIHN0eWxlLFxuICBvbkNsaWNrLFxuICB2aXNpYmxlLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbn06IExlZ2VuZEl0ZW1Qcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcz4pID0+IHtcbiAgY29uc3QgcmVsZXZhbnRSdWxlcyA9IHVzZU1lbW8oKCkgPT4gY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMuZmlsdGVyKHJ1bGUgPT4gcnVsZS55S2V5ID09PSB5S2V5KSwgW1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGtleT17YGxlZ2VuZC0ke3lLZXl9YH1cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYWxsOiAndW5zZXQnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIG91dGxpbmU6ICdyZXZlcnQnLFxuICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2xpbmUnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDEwLCBkaXNwbGF5OiAnZmxleCcgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtQm94IGNvbG9yPXtjb2xvcn0gc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9IHlLZXk9e3lLZXl9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiAoXG4gICAgICAgICAgICAgIDxMZWdlbmRJdGVtQm94XG4gICAgICAgICAgICAgICAgY29sb3I9e3J1bGUuY29sb3J9XG4gICAgICAgICAgICAgICAga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9XG4gICAgICAgICAgICAgICAgeUtleT17eUtleX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuICAgICAge3N0eWxlLnR5cGUgPT09ICdiYXInICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17Y29sb3J9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYXJlYScgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ3JvdycsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDIgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1UcmlhbmdsZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIDxzcGFuXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgICAgICBsaW5lSGVpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogdmlzaWJsZSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnLFxuICAgICAgICAgIHRleHRXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3lLZXlGb3JtYXR0ZWQgPyB5S2V5Rm9ybWF0dGVkIDogeUtleX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG4iXX0= */",
41484
41751
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
41485
41752
  }),
41486
41753
  children: [jsxRuntime.jsx(LegendItemSquare, {
@@ -41490,6 +41757,20 @@ var LegendItem = function LegendItem(_ref) {
41490
41757
  color: rule.color
41491
41758
  }, "rule-" + JSON.stringify(rule));
41492
41759
  })]
41760
+ }), style.type === 'area' && jsxRuntime.jsxs("span", {
41761
+ className: /*#__PURE__*/css$1.css( {
41762
+ name: "pglbco-LegendItem",
41763
+ styles: "display:flex;flex-direction:row;align-items:center;gap:2px;label:LegendItem;",
41764
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZEl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9FeUIiLCJmaWxlIjoiTGVnZW5kSXRlbS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IExlZ2VuZEl0ZW1Cb3ggfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtU3F1YXJlLCBMZWdlbmRJdGVtVHJpYW5nbGUgfSBmcm9tICcuLi9MZWdlbmRJdGVtQm94L0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuXG5pbnRlcmZhY2UgTGVnZW5kSXRlbVByb3BzPFQ+IGV4dGVuZHMgU2hhcGVEZWZpbml0aW9uPFQ+IHtcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgeUtleUZvcm1hdHRlZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG59XG5cbmV4cG9ydCBjb25zdCBMZWdlbmRJdGVtID0gKHtcbiAgeUtleSxcbiAgeUtleUZvcm1hdHRlZCxcbiAgY29sb3IsXG4gIHN0eWxlLFxuICBvbkNsaWNrLFxuICB2aXNpYmxlLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbn06IExlZ2VuZEl0ZW1Qcm9wczxCYXJTdHlsZXMgfCBMaW5lU3R5bGVzIHwgQXJlYVN0eWxlcz4pID0+IHtcbiAgY29uc3QgcmVsZXZhbnRSdWxlcyA9IHVzZU1lbW8oKCkgPT4gY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMuZmlsdGVyKHJ1bGUgPT4gcnVsZS55S2V5ID09PSB5S2V5KSwgW1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLFxuICBdKTtcblxuICByZXR1cm4gKFxuICAgIDxidXR0b25cbiAgICAgIGtleT17YGxlZ2VuZC0ke3lLZXl9YH1cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYWxsOiAndW5zZXQnLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIG91dGxpbmU6ICdyZXZlcnQnLFxuICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICBwYWRkaW5nOiAnNHB4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpblJpZ2h0OiAnMTBweCcsXG4gICAgICB9fVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICB7c3R5bGUudHlwZSA9PT0gJ2xpbmUnICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDEwLCBkaXNwbGF5OiAnZmxleCcgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtQm94IGNvbG9yPXtjb2xvcn0gc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9IHlLZXk9e3lLZXl9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiAoXG4gICAgICAgICAgICAgIDxMZWdlbmRJdGVtQm94XG4gICAgICAgICAgICAgICAgY29sb3I9e3J1bGUuY29sb3J9XG4gICAgICAgICAgICAgICAga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlIGFzIExpbmVTdHlsZXN9XG4gICAgICAgICAgICAgICAgeUtleT17eUtleX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuICAgICAge3N0eWxlLnR5cGUgPT09ICdiYXInICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjc3MoeyBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdyb3cnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAyIH0pfT5cbiAgICAgICAgICA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17Y29sb3J9IC8+XG4gICAgICAgICAge3JlbGV2YW50UnVsZXMubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgcmVsZXZhbnRSdWxlcy5tYXAocnVsZSA9PiA8TGVnZW5kSXRlbVNxdWFyZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIHtzdHlsZS50eXBlID09PSAnYXJlYScgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2Nzcyh7IGRpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ3JvdycsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6IDIgfSl9PlxuICAgICAgICAgIDxMZWdlbmRJdGVtVHJpYW5nbGUgY29sb3I9e2NvbG9yfSAvPlxuICAgICAgICAgIHtyZWxldmFudFJ1bGVzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgIHJlbGV2YW50UnVsZXMubWFwKHJ1bGUgPT4gPExlZ2VuZEl0ZW1UcmlhbmdsZSBjb2xvcj17cnVsZS5jb2xvcn0ga2V5PXtgcnVsZS0ke0pTT04uc3RyaW5naWZ5KHJ1bGUpfWB9IC8+KX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgKX1cbiAgICAgIDxzcGFuXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZm9udFNpemU6ICcxMnB4JyxcbiAgICAgICAgICBsaW5lSGVpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogdmlzaWJsZSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnLFxuICAgICAgICAgIHRleHRXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge3lLZXlGb3JtYXR0ZWQgPyB5S2V5Rm9ybWF0dGVkIDogeUtleX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG4iXX0= */",
41765
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
41766
+ }),
41767
+ children: [jsxRuntime.jsx(LegendItemTriangle, {
41768
+ color: color
41769
+ }), relevantRules.length > 0 && relevantRules.map(function (rule) {
41770
+ return jsxRuntime.jsx(LegendItemTriangle, {
41771
+ color: rule.color
41772
+ }, "rule-" + JSON.stringify(rule));
41773
+ })]
41493
41774
  }), jsxRuntime.jsx("span", {
41494
41775
  style: {
41495
41776
  fontSize: '12px',
@@ -41515,7 +41796,7 @@ var Legend$1 = function Legend(_ref) {
41515
41796
  className: /*#__PURE__*/css$1.css( {
41516
41797
  name: "qz6h7j-Legend",
41517
41798
  styles: "height:40px;padding-top:8px;label:Legend;",
41518
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkJvQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4vTGVnZW5kSXRlbSc7XG5pbXBvcnQgeyBTaGFwZURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSAnLi4vLi4vLi4vU2Nyb2xsYmFyL1Njcm9sbGJhcic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IExpbmVTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0xpbmVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZFByb3BzPFQ+IHtcbiAgc2V0VmlzaWJsZVlLZXlzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIHZpc2libGVZS2V5czogQXJyYXk8c3RyaW5nPjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgdmlzaWJsZVlLZXlzLFxuICBsZWdlbmRJdGVtcyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgbWFyZ2luTGVmdCxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXM+KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Nzcyh7IGhlaWdodDogNDAsIHBhZGRpbmdUb3A6IDggfSl9PlxuICAgICAgPFNjcm9sbGJhclxuICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBtYXJnaW5MZWZ0OiBtYXJnaW5MZWZ0ID8gYCR7bWFyZ2luTGVmdH1weGAgOiB1bmRlZmluZWQsXG4gICAgICAgIH0pfVxuICAgICAgICB4PXt0cnVlfVxuICAgICAgPlxuICAgICAgICB7bGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgIChsZWdlbmRJdGVtKSA9PlxuICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgPExlZ2VuZEl0ZW1cbiAgICAgICAgICAgICAgICB7Li4ubGVnZW5kSXRlbX1cbiAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICB5S2V5Rm9ybWF0dGVkPXtrZXlzW2xlZ2VuZEl0ZW0ueUtleV0ua2V5Rm9ybWF0dGVkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgICAgICBzZXRWaXNpYmxlWUtleXMoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gbGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gW2xlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gcHJldi5maWx0ZXIoKHByZXZMZWdlbmRJdGVtSWQpID0+IHByZXZMZWdlbmRJdGVtSWQgIT09IGxlZ2VuZEl0ZW0ueUtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFsuLi5wcmV2LCBsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdWaXNpYmxlTGVnZW5kSXRlbXMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICAgICAgICAgICAgPyBsZWdlbmRJdGVtcy5tYXAoKGxlZ2VuZEl0ZW0pID0+IGxlZ2VuZEl0ZW0ueUtleSlcbiAgICAgICAgICAgICAgICAgICAgICA6IG5ld1Zpc2libGVMZWdlbmRJdGVtcztcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZpc2libGU9e3Zpc2libGVZS2V5cy5pbmNsdWRlcyhsZWdlbmRJdGVtLnlLZXkpfVxuICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIClcbiAgICAgICAgKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */",
41799
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJvQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4vTGVnZW5kSXRlbSc7XG5pbXBvcnQgeyBTaGFwZURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSAnLi4vLi4vLi4vU2Nyb2xsYmFyL1Njcm9sbGJhcic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IExpbmVTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0xpbmVDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZFByb3BzPFQ+IHtcbiAgc2V0VmlzaWJsZVlLZXlzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIHZpc2libGVZS2V5czogQXJyYXk8c3RyaW5nPjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgdmlzaWJsZVlLZXlzLFxuICBsZWdlbmRJdGVtcyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgbWFyZ2luTGVmdCxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzPikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDQwLCBwYWRkaW5nVG9wOiA4IH0pfT5cbiAgICAgIDxTY3JvbGxiYXJcbiAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgbWFyZ2luTGVmdDogbWFyZ2luTGVmdCA/IGAke21hcmdpbkxlZnR9cHhgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KX1cbiAgICAgICAgeD17dHJ1ZX1cbiAgICAgID5cbiAgICAgICAge2xlZ2VuZEl0ZW1zLm1hcChcbiAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICBrZXlzW2xlZ2VuZEl0ZW0ueUtleV0gJiYgKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbVxuICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgIGtleT17YGxlZ2VuZC0ke2xlZ2VuZEl0ZW0ueUtleX1gfVxuICAgICAgICAgICAgICAgIHlLZXlGb3JtYXR0ZWQ9e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgICAgIHNldFZpc2libGVZS2V5cyhwcmV2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gbGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gW2xlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gcHJldi5maWx0ZXIocHJldkxlZ2VuZEl0ZW1JZCA9PiBwcmV2TGVnZW5kSXRlbUlkICE9PSBsZWdlbmRJdGVtLnlLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWaXNpYmxlTGVnZW5kSXRlbXMgPSBbLi4ucHJldiwgbGVnZW5kSXRlbS55S2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgID8gbGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgICAgICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmlzaWJsZT17dmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSl9XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKVxuICAgICAgICApfVxuICAgICAgPC9TY3JvbGxiYXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19 */",
41519
41800
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$6
41520
41801
  }),
41521
41802
  children: jsxRuntime.jsx(Scrollbar, {
@@ -41525,7 +41806,7 @@ var Legend$1 = function Legend(_ref) {
41525
41806
  flexWrap: 'nowrap',
41526
41807
  alignItems: 'center',
41527
41808
  marginLeft: marginLeft ? marginLeft + "px" : undefined
41528
- }, ";label:Legend;", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJtQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4vTGVnZW5kSXRlbSc7XG5pbXBvcnQgeyBTaGFwZURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSAnLi4vLi4vLi4vU2Nyb2xsYmFyL1Njcm9sbGJhcic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IExpbmVTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0xpbmVDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZFByb3BzPFQ+IHtcbiAgc2V0VmlzaWJsZVlLZXlzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIHZpc2libGVZS2V5czogQXJyYXk8c3RyaW5nPjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgdmlzaWJsZVlLZXlzLFxuICBsZWdlbmRJdGVtcyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgbWFyZ2luTGVmdCxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXM+KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Nzcyh7IGhlaWdodDogNDAsIHBhZGRpbmdUb3A6IDggfSl9PlxuICAgICAgPFNjcm9sbGJhclxuICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGZsZXhXcmFwOiAnbm93cmFwJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBtYXJnaW5MZWZ0OiBtYXJnaW5MZWZ0ID8gYCR7bWFyZ2luTGVmdH1weGAgOiB1bmRlZmluZWQsXG4gICAgICAgIH0pfVxuICAgICAgICB4PXt0cnVlfVxuICAgICAgPlxuICAgICAgICB7bGVnZW5kSXRlbXMubWFwKFxuICAgICAgICAgIChsZWdlbmRJdGVtKSA9PlxuICAgICAgICAgICAga2V5c1tsZWdlbmRJdGVtLnlLZXldICYmIChcbiAgICAgICAgICAgICAgPExlZ2VuZEl0ZW1cbiAgICAgICAgICAgICAgICB7Li4ubGVnZW5kSXRlbX1cbiAgICAgICAgICAgICAgICBrZXk9e2BsZWdlbmQtJHtsZWdlbmRJdGVtLnlLZXl9YH1cbiAgICAgICAgICAgICAgICB5S2V5Rm9ybWF0dGVkPXtrZXlzW2xlZ2VuZEl0ZW0ueUtleV0ua2V5Rm9ybWF0dGVkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgICAgICBzZXRWaXNpYmxlWUtleXMoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gbGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gW2xlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gcHJldi5maWx0ZXIoKHByZXZMZWdlbmRJdGVtSWQpID0+IHByZXZMZWdlbmRJdGVtSWQgIT09IGxlZ2VuZEl0ZW0ueUtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFsuLi5wcmV2LCBsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdWaXNpYmxlTGVnZW5kSXRlbXMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICAgICAgICAgICAgPyBsZWdlbmRJdGVtcy5tYXAoKGxlZ2VuZEl0ZW0pID0+IGxlZ2VuZEl0ZW0ueUtleSlcbiAgICAgICAgICAgICAgICAgICAgICA6IG5ld1Zpc2libGVMZWdlbmRJdGVtcztcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZpc2libGU9e3Zpc2libGVZS2V5cy5pbmNsdWRlcyhsZWdlbmRJdGVtLnlLZXkpfVxuICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIClcbiAgICAgICAgKX1cbiAgICAgIDwvU2Nyb2xsYmFyPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdfQ== */"),
41809
+ }, ";label:Legend;", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJtQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4vTGVnZW5kSXRlbSc7XG5pbXBvcnQgeyBTaGFwZURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSAnLi4vLi4vLi4vU2Nyb2xsYmFyL1Njcm9sbGJhcic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IExpbmVTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0xpbmVDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZFByb3BzPFQ+IHtcbiAgc2V0VmlzaWJsZVlLZXlzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIHZpc2libGVZS2V5czogQXJyYXk8c3RyaW5nPjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgdmlzaWJsZVlLZXlzLFxuICBsZWdlbmRJdGVtcyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgbWFyZ2luTGVmdCxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzPikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDQwLCBwYWRkaW5nVG9wOiA4IH0pfT5cbiAgICAgIDxTY3JvbGxiYXJcbiAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgbWFyZ2luTGVmdDogbWFyZ2luTGVmdCA/IGAke21hcmdpbkxlZnR9cHhgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KX1cbiAgICAgICAgeD17dHJ1ZX1cbiAgICAgID5cbiAgICAgICAge2xlZ2VuZEl0ZW1zLm1hcChcbiAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICBrZXlzW2xlZ2VuZEl0ZW0ueUtleV0gJiYgKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbVxuICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgIGtleT17YGxlZ2VuZC0ke2xlZ2VuZEl0ZW0ueUtleX1gfVxuICAgICAgICAgICAgICAgIHlLZXlGb3JtYXR0ZWQ9e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgICAgIHNldFZpc2libGVZS2V5cyhwcmV2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gbGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gW2xlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gcHJldi5maWx0ZXIocHJldkxlZ2VuZEl0ZW1JZCA9PiBwcmV2TGVnZW5kSXRlbUlkICE9PSBsZWdlbmRJdGVtLnlLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWaXNpYmxlTGVnZW5kSXRlbXMgPSBbLi4ucHJldiwgbGVnZW5kSXRlbS55S2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgID8gbGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgICAgICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmlzaWJsZT17dmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSl9XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKVxuICAgICAgICApfVxuICAgICAgPC9TY3JvbGxiYXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19 */"),
41529
41810
  x: true,
41530
41811
  children: legendItems.map(function (legendItem) {
41531
41812
  return keys[legendItem.yKey] && react.createElement(LegendItem, _extends({}, legendItem, {
@@ -41755,12 +42036,12 @@ var AxisBottom = function AxisBottom(_ref) {
41755
42036
  var tick = null;
41756
42037
  if (xScaleDataType === 'date_time' && value instanceof Date) {
41757
42038
  var matchingTickValue = x.ticks.find(function (tickValue) {
41758
- return tickValue.scaleValue && new Date(tickValue.scaleValue).valueOf() === value.valueOf();
42039
+ return tickValue.scaleValue && new Date(tickValue == null ? void 0 : tickValue.scaleValue).valueOf() === value.valueOf();
41759
42040
  });
41760
42041
  tick = matchingTickValue || null;
41761
42042
  } else {
41762
42043
  var _matchingTickValue = x.ticks.find(function (tickValue) {
41763
- return tickValue.scaleValue === value;
42044
+ return (tickValue == null ? void 0 : tickValue.scaleValue) === value;
41764
42045
  });
41765
42046
  tick = _matchingTickValue || null;
41766
42047
  }
@@ -41890,6 +42171,68 @@ var ChartWrapper$1 = function ChartWrapper(props) {
41890
42171
  });
41891
42172
  };
41892
42173
 
42174
+ var CrosshairCircle = function CrosshairCircle(_ref) {
42175
+ var dataType = _ref.dataType,
42176
+ yKeys = _ref.yKeys,
42177
+ tooltipData = _ref.tooltipData,
42178
+ xKey = _ref.xKey,
42179
+ margin = _ref.margin,
42180
+ conditionalFormattingRules = _ref.conditionalFormattingRules,
42181
+ legendItems = _ref.legendItems,
42182
+ visibleYKeys = _ref.visibleYKeys,
42183
+ yScale = _ref.yScale,
42184
+ xScale = _ref.xScale;
42185
+ return jsxRuntime.jsx(React.Fragment, {
42186
+ children: yKeys.map(function (yKey) {
42187
+ if (!xKey || !tooltipData[yKey] || tooltipData[yKey].value === null) return null;
42188
+ if (tooltipData[xKey] && tooltipData[xKey].value && dataType && visibleYKeys.includes(yKey)) {
42189
+ var xValue = tooltipData[xKey].value;
42190
+ var xValueAdjusted = dataType === 'date_time' ? new Date(xValue) : dataType === 'number' ? Number(xValue) : String(xValue);
42191
+ return jsxRuntime.jsx("circle", {
42192
+ cx:
42193
+ // @ts-ignore
42194
+ xScale(xValueAdjusted) + margin.left,
42195
+ cy: yScale(yKey) + margin.top,
42196
+ r: 4,
42197
+ fill: getColor({
42198
+ defaultColor: legendItems.filter(function (legendItem) {
42199
+ return legendItem.yKey === yKey;
42200
+ })[0].color,
42201
+ yKey: yKey,
42202
+ value: tooltipData[yKey].value,
42203
+ conditionalFormattingRules: conditionalFormattingRules
42204
+ }),
42205
+ strokeWidth: 2,
42206
+ stroke: "#fff",
42207
+ pointerEvents: "none"
42208
+ }, yKey);
42209
+ } else {
42210
+ return null;
42211
+ }
42212
+ })
42213
+ });
42214
+ };
42215
+
42216
+ var Line = function Line(_ref) {
42217
+ var margin = _ref.margin,
42218
+ x = _ref.x,
42219
+ height = _ref.height;
42220
+ return jsxRuntime.jsx(shape.Line, {
42221
+ from: {
42222
+ x: x,
42223
+ y: margin.top
42224
+ },
42225
+ to: {
42226
+ x: x,
42227
+ y: height + margin.top
42228
+ },
42229
+ stroke: '#aaa',
42230
+ strokeWidth: 2,
42231
+ pointerEvents: "none",
42232
+ opacity: 0.8
42233
+ });
42234
+ };
42235
+
41893
42236
  var LineChart$5 = function LineChart(_ref) {
41894
42237
  var _theme$axis;
41895
42238
  var chart = _ref.chart,
@@ -41953,7 +42296,7 @@ var LineChart$5 = function LineChart(_ref) {
41953
42296
  }
41954
42297
  return null;
41955
42298
  }, [innerWidth, chart.x, chart.data]);
41956
- var yScale = React.useMemo(function () {
42299
+ var _yScale = React.useMemo(function () {
41957
42300
  return scale.scaleLinear({
41958
42301
  range: [innerHeight, 0],
41959
42302
  domain: chart.y.scale.ordering === 'asc' ? [chart.y.scale.min, chart.y.scale.max] : [chart.y.scale.max, chart.y.scale.min],
@@ -41998,7 +42341,7 @@ var LineChart$5 = function LineChart(_ref) {
41998
42341
  top: margin.top,
41999
42342
  children: [jsxRuntime.jsx(GridRows, {
42000
42343
  ticks: yTickValues,
42001
- yScale: yScale,
42344
+ yScale: _yScale,
42002
42345
  width: innerWidth,
42003
42346
  height: innerHeight,
42004
42347
  removeStroke: options.removeStroke,
@@ -42017,7 +42360,7 @@ var LineChart$5 = function LineChart(_ref) {
42017
42360
  y: chart.y,
42018
42361
  margin: margin,
42019
42362
  themeCSS: themeCSS,
42020
- yScale: yScale,
42363
+ yScale: _yScale,
42021
42364
  ticks: yTickValues,
42022
42365
  stroke: theme == null || (_theme$axis = theme.axis) == null ? void 0 : _theme$axis.stroke
42023
42366
  }), jsxRuntime.jsxs(group.Group, {
@@ -42035,7 +42378,7 @@ var LineChart$5 = function LineChart(_ref) {
42035
42378
  return (_xScale = xScale(xValueAdjusted)) != null ? _xScale : 0;
42036
42379
  },
42037
42380
  y: function y(d) {
42038
- return yScale(d[yKey]);
42381
+ return _yScale(Number(d[yKey]));
42039
42382
  },
42040
42383
  stroke: chart.lines.filter(function (legendItem) {
42041
42384
  return legendItem.yKey === yKey;
@@ -42064,7 +42407,7 @@ var LineChart$5 = function LineChart(_ref) {
42064
42407
  chart: {
42065
42408
  width: innerWidth,
42066
42409
  height: innerHeight,
42067
- yScale: yScale
42410
+ yScale: _yScale
42068
42411
  }
42069
42412
  });
42070
42413
 
@@ -42083,7 +42426,7 @@ var LineChart$5 = function LineChart(_ref) {
42083
42426
  return (_xScale2 = xScale(xValueAdjusted)) != null ? _xScale2 : 0;
42084
42427
  },
42085
42428
  y: function y(d) {
42086
- return yScale(d[yKey]);
42429
+ return _yScale(Number(d[yKey]));
42087
42430
  },
42088
42431
  stroke: conditionalFormattingRule.color,
42089
42432
  strokeWidth: chart.lines.filter(function (legendItem) {
@@ -42109,50 +42452,30 @@ var LineChart$5 = function LineChart(_ref) {
42109
42452
  })]
42110
42453
  })]
42111
42454
  }), tooltipData && jsxRuntime.jsxs("g", {
42112
- children: [jsxRuntime.jsx(shape.Line, {
42113
- from: {
42114
- x: tooltipLeft,
42115
- y: margin.top
42116
- },
42117
- to: {
42118
- x: tooltipLeft,
42119
- y: innerHeight + margin.top
42120
- },
42121
- stroke: '#aaa',
42122
- strokeWidth: 2,
42123
- pointerEvents: "none",
42124
- opacity: 0.8
42125
- }), chart.y.keys.map(function (yKey) {
42126
- if (!xScaleKey || !tooltipData[yKey] || tooltipData[yKey].value === null) return null;
42127
- if (tooltipData[xScaleKey] && tooltipData[xScaleKey].value && xScaleDataType && visibleYKeys.includes(yKey)) {
42128
- var xValue = tooltipData[xScaleKey].value;
42129
- var xValueAdjusted = xScaleDataType === 'date_time' ? new Date(xValue) : xScaleDataType === 'number' ? Number(xValue) : String(xValue);
42130
- return jsxRuntime.jsx("circle", {
42131
- cx:
42132
- // @ts-ignore
42133
- xScale(xValueAdjusted) + margin.left,
42134
- cy: yScale(tooltipData[yKey].value !== null ? tooltipData[yKey].value : 0) + margin.top,
42135
- r: 4,
42136
- fill: getColor({
42137
- defaultColor: chart.lines.filter(function (legendItem) {
42138
- return legendItem.yKey === yKey;
42139
- })[0].color,
42140
- yKey: yKey,
42141
- value: tooltipData[yKey].value,
42142
- conditionalFormattingRules: chart.conditionalFormattingRules
42143
- }),
42144
- strokeWidth: 2,
42145
- stroke: "#fff",
42146
- pointerEvents: "none"
42147
- }, yKey);
42148
- } else {
42149
- return null;
42455
+ children: [jsxRuntime.jsx(Line, {
42456
+ x: tooltipLeft,
42457
+ margin: margin,
42458
+ height: innerHeight
42459
+ }), jsxRuntime.jsx(CrosshairCircle, {
42460
+ yKeys: chart.y.keys,
42461
+ xKey: xScaleKey,
42462
+ dataType: xScaleDataType,
42463
+ legendItems: chart.lines,
42464
+ yScale: function yScale(yKey) {
42465
+ return _yScale(tooltipData[yKey].value !== null ? tooltipData[yKey].value : 0);
42150
42466
  }
42467
+ // @ts-ignore
42468
+ ,
42469
+ xScale: xScale,
42470
+ margin: margin,
42471
+ tooltipData: tooltipData,
42472
+ conditionalFormattingRules: chart.conditionalFormattingRules,
42473
+ visibleYKeys: visibleYKeys
42151
42474
  })]
42152
42475
  }), jsxRuntime.jsx(GoalLines$1, {
42153
42476
  goalLines: chart.goalLines,
42154
42477
  y: function y(d) {
42155
- return yScale(d);
42478
+ return _yScale(d);
42156
42479
  },
42157
42480
  margin: margin,
42158
42481
  width: innerWidth
@@ -42447,19 +42770,10 @@ var BarChart$5 = function BarChart(_ref) {
42447
42770
  })]
42448
42771
  })]
42449
42772
  }), tooltipData && jsxRuntime.jsx("g", {
42450
- children: jsxRuntime.jsx(shape.Line, {
42451
- from: {
42452
- x: tooltipLeft,
42453
- y: margin.top
42454
- },
42455
- to: {
42456
- x: tooltipLeft,
42457
- y: innerHeight + margin.top
42458
- },
42459
- stroke: '#aaa',
42460
- strokeWidth: 2,
42461
- pointerEvents: "none",
42462
- opacity: 0.8
42773
+ children: jsxRuntime.jsx(Line, {
42774
+ x: tooltipLeft,
42775
+ margin: margin,
42776
+ height: innerHeight
42463
42777
  })
42464
42778
  }), jsxRuntime.jsx(GoalLines$1, {
42465
42779
  goalLines: chart.goalLines,
@@ -42516,7 +42830,7 @@ var Bar = function Bar(props) {
42516
42830
  className: props.enableHover ? /*#__PURE__*/css$1.css( {
42517
42831
  name: "4nk3o1-Bar",
42518
42832
  styles: "cursor:pointer;label:Bar;",
42519
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckNoYXJ0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1WXFDIiwiZmlsZSI6IkJhckNoYXJ0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhckNoYXJ0UmVwcmVzZW50YXRpb24gfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQ2hhcnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAnQHZpc3gvZ3JvdXAnO1xuaW1wb3J0IHsgZ2V0Q2hhcnRUaGVtZUNTUywgZ2V0VG9vbHRpcERhdGEgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGcmFnbWVudCwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4uL1Rvb2x0aXAnO1xuaW1wb3J0IHsgdXNlVG9vbHRpcCB9IGZyb20gJ0B2aXN4L3Rvb2x0aXAnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi4vTGVnZW5kJztcbmltcG9ydCB7IEJhckdyb3VwLCBCYXJTdGFjaywgTGluZSB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9GaWVsZC90eXBlcyc7XG5pbXBvcnQgeyBzY2FsZUxpbmVhciwgc2NhbGVCYW5kIH0gZnJvbSAnQHZpc3gvc2NhbGUnO1xuaW1wb3J0IHsgZ2V0QmFyRmlsbCB9IGZyb20gJy4vZ2V0QmFyRmlsbCc7XG5pbXBvcnQgeyBidWlsZE1hcmdpbiB9IGZyb20gJy4uLy4uL3V0aWxzL2J1aWxkTWFyZ2luJztcbmltcG9ydCB7IENoYXJ0T25WaWV3Q2xpY2ssIERhdGFJdGVtLCBUaWNrIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBsaWdodGVuQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29sb3IuZnVuY3Rpb25zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJHcm91cEJhciwgQmFyR3JvdXAgYXMgQmFyR3JvdXBUeXBlIH0gZnJvbSAnQHZpc3gvc2hhcGUvbGliL3R5cGVzJztcbmltcG9ydCB7IHVzZUZsYXR0ZW5lZERhdGEgfSBmcm9tICcuLi9ob29rcy91c2VGbGF0dGVuZWREYXRhJztcbmltcG9ydCBHb2FsTGluZXMgZnJvbSAnLi4vR29hbExpbmUvR29hbExpbmVzJztcbmltcG9ydCB7IEF4aXNCb3R0b20gfSBmcm9tICcuLi9BeGlzL0F4aXNCb3R0b20nO1xuaW1wb3J0IHsgQXhpc0xlZnQgfSBmcm9tICcuLi9BeGlzL0F4aXNMZWZ0JztcbmltcG9ydCB7IEdyaWRSb3dzIH0gZnJvbSAnLi4vR3JpZFJvd3MvR3JpZFJvd3MnO1xuaW1wb3J0IHsgQ2hhcnRXcmFwcGVyIH0gZnJvbSAnLi4vQ2hhcnRXcmFwcGVyL0NoYXJ0V3JhcHBlcic7XG5cbi8vIE5lZWQgdG8gbG9vayBhdCB1cGRhdGluZyBCYXJDaGFydCB0byB1c2UgdGhpcyB0eXBlIG1ldGhvZCBvZiByZW5kZXJpbmcgLSBodHRwczovL2NvZGVzYW5kYm94LmlvL3Avc2FuZGJveC92aXN4LWJhci1jaGFydC1qOXNtcGo/ZmlsZT0lMkZFeGFtcGxlLnRzeFxuLy8gQ3VycmVudGx5IGl0J3MgdXNpbmcgU3RhY2tlZCBDaGFydCB3aGljaCBpc24ndCB0ZWNobmljYWxseSBjb3JyZWN0XG5cbmV4cG9ydCB0eXBlIEJhckNoYXJ0UHJvcHMgPSB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICB0aGVtZT86IENoYXJ0VGhlbWU7XG4gIGNoYXJ0OiBCYXJDaGFydFJlcHJlc2VudGF0aW9uO1xuICBvcHRpb25zOiB7XG4gICAgc3RhY2tlZDogYm9vbGVhbjtcbiAgICBzaG93Um91bmRlZFRvdGFsOiBib29sZWFuO1xuICAgIHNob3dMZWdlbmQ6IGJvb2xlYW47XG4gICAgcmVtb3ZlU3Ryb2tlOiBib29sZWFuO1xuICAgIGF4aXM6IHtcbiAgICAgIHNob3dYQXhpc0xhYmVsczogYm9vbGVhbjtcbiAgICAgIHNob3dZQXhpc0xhYmVsczogYm9vbGVhbjtcbiAgICB9O1xuICB9O1xuICBvbkNsaWNrOiAocGFyYW1zOiBDaGFydE9uVmlld0NsaWNrKSA9PiB2b2lkO1xuICBlbmFibGVIb3Zlcj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBCQVJfUkFESVVTID0gMjtcblxuY29uc3QgUEFERElORyA9IHtcbiAgcGFkZGluZ091dGVyOiAwLjA1LFxuICBwYWRkaW5nSW5uZXI6IDAuMyxcbn07XG5cbmV4cG9ydCBjb25zdCBCYXJDaGFydCA9ICh7IGNoYXJ0LCB3aWR0aCwgaGVpZ2h0LCBvcHRpb25zLCB0aGVtZSwgb25DbGljaywgZW5hYmxlSG92ZXIgfTogQmFyQ2hhcnRQcm9wcykgPT4ge1xuICBjb25zdCB7IHRvb2x0aXBPcGVuLCB0b29sdGlwTGVmdCA9IDAsIHRvb2x0aXBUb3AgPSAwLCB0b29sdGlwRGF0YSwgaGlkZVRvb2x0aXAsIHNob3dUb29sdGlwIH0gPSB1c2VUb29sdGlwPHtcbiAgICBba2V5SWQ6IHN0cmluZ106IERhdGFJdGVtO1xuICB9IHwgbnVsbD4oKTtcblxuICBjb25zdCBtYXJnaW4gPSBidWlsZE1hcmdpbihjaGFydC55LnRpY2tzLCBvcHRpb25zLmF4aXMuc2hvd1lBeGlzTGFiZWxzLCBjaGFydC55LnRpdGxlICE9IG51bGwsIGNoYXJ0LngudGl0bGUgIT0gbnVsbCk7XG5cbiAgLy8gY29uc3QgW3Zpc2libGVZS2V5cywgc2V0VmlzaWJsZVlLZXlzXSA9IHVzZVN0YXRlKGNoYXJ0LmJhcnMubWFwKChsZWdlbmRJdGVtKSA9PiBsZWdlbmRJdGVtLnlLZXkpKTtcblxuICBjb25zdCBpbm5lcldpZHRoID0gd2lkdGggLSBtYXJnaW4ubGVmdCAtIG1hcmdpbi5yaWdodDtcbiAgY29uc3QgaW5uZXJIZWlnaHQgPSBoZWlnaHQgLSBtYXJnaW4udG9wIC0gbWFyZ2luLmJvdHRvbSAtIChvcHRpb25zLnNob3dMZWdlbmQgPyA0MCA6IDApO1xuICBjb25zdCB4S2V5ID0gY2hhcnQueC5rZXk7XG4gIGNvbnN0IHhTY2FsZUtleSA9IGNoYXJ0Lnguc2NhbGUua2V5O1xuICBjb25zdCB5U2NhbGVLZXlzID0gY2hhcnQueS5rZXlzO1xuICBjb25zdCB4U2NhbGVEYXRhVHlwZTogRGF0YVR5cGUgPSBjaGFydC54LnNjYWxlLmRhdGFUeXBlO1xuXG4gIGNvbnN0IHhTY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8c3RyaW5nPih7XG4gICAgICAgIHJhbmdlOiBbMCwgaW5uZXJXaWR0aF0sXG4gICAgICAgIGRvbWFpbjogeFNjYWxlS2V5XG4gICAgICAgICAgPyBbLi4uY2hhcnQuZGF0YS5tYXAoZCA9PiAoZFt4U2NhbGVLZXldICYmIGRbeFNjYWxlS2V5XS52YWx1ZSAhPT0gbnVsbCA/IFN0cmluZyhkW3hTY2FsZUtleV0udmFsdWUpIDogJycpKV1cbiAgICAgICAgICA6IFtdLFxuICAgICAgICAuLi5QQURESU5HLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnZGF0ZV90aW1lJyAmJiB4U2NhbGVLZXkpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8RGF0ZT4oe1xuICAgICAgICByYW5nZTogWzAsIGlubmVyV2lkdGhdLFxuICAgICAgICBkb21haW46IGNoYXJ0LmRhdGEubWFwKGQgPT4gbmV3IERhdGUoZFt4U2NhbGVLZXldLnZhbHVlIGFzIHN0cmluZykpLFxuICAgICAgICAuLi5QQURESU5HLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnbnVtYmVyJyAmJiB4U2NhbGVLZXkpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8bnVtYmVyPih7XG4gICAgICAgIHJhbmdlOiBbMCwgaW5uZXJXaWR0aF0sXG4gICAgICAgIGRvbWFpbjogY2hhcnQuZGF0YS5tYXAoZCA9PiAoZFt4U2NhbGVLZXldICYmIGRbeFNjYWxlS2V5XS52YWx1ZSAhPT0gbnVsbCA/IE51bWJlcihkW3hTY2FsZUtleV0udmFsdWUpIDogMCkpLFxuICAgICAgICAuLi5QQURESU5HLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0sIFtpbm5lcldpZHRoLCBjaGFydC54LCBjaGFydC5kYXRhXSk7XG5cbiAgY29uc3QgeVNjYWxlID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgc2NhbGVMaW5lYXI8bnVtYmVyPih7XG4gICAgICAgIHJhbmdlOiBbaW5uZXJIZWlnaHQsIDBdLFxuICAgICAgICBkb21haW46XG4gICAgICAgICAgY2hhcnQueS5zY2FsZS5vcmRlcmluZyA9PT0gJ2FzYydcbiAgICAgICAgICAgID8gW2NoYXJ0Lnkuc2NhbGUubWluIGFzIG51bWJlciwgY2hhcnQueS5zY2FsZS5tYXggYXMgbnVtYmVyXVxuICAgICAgICAgICAgOiBbY2hhcnQueS5zY2FsZS5tYXggYXMgbnVtYmVyLCBjaGFydC55LnNjYWxlLm1pbiBhcyBudW1iZXJdLFxuICAgICAgICBuaWNlOiB0cnVlLFxuICAgICAgICByb3VuZDogdHJ1ZSxcbiAgICAgIH0pLFxuICAgIFtpbm5lckhlaWdodCwgY2hhcnQueV1cbiAgKTtcblxuICBjb25zdCBpbm5lclhTY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghb3B0aW9ucy5zdGFja2VkICYmIHhTY2FsZSAmJiAnYmFuZHdpZHRoJyBpbiB4U2NhbGUpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8c3RyaW5nPih7XG4gICAgICAgIHJhbmdlOiBbMCwgeFNjYWxlPy5iYW5kd2lkdGgoKV0sXG4gICAgICAgIGRvbWFpbjogeVNjYWxlS2V5cyxcbiAgICAgICAgcGFkZGluZzogMC4xLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfSwgW3hTY2FsZSwgeVNjYWxlS2V5cywgb3B0aW9ucy5zdGFja2VkLCB4U2NhbGVEYXRhVHlwZV0pO1xuXG4gIGNvbnN0IGRhdGFGbGF0dGVuZWQgPSB1c2VGbGF0dGVuZWREYXRhPEJhckNoYXJ0UmVwcmVzZW50YXRpb24+KHhTY2FsZUtleSwgeFNjYWxlRGF0YVR5cGUsIGNoYXJ0KTtcblxuICBjb25zdCBoYW5kbGVNb3VzZU1vdmUgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHRWxlbWVudD4pID0+IHtcbiAgICAgIGlmICgheEtleSB8fCAheFNjYWxlS2V5IHx8IHhTY2FsZSA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCB0b29sdGlwRGF0YSA9IGdldFRvb2x0aXBEYXRhKHtcbiAgICAgICAgZGF0YTogY2hhcnQuZGF0YSxcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIG1hcmdpbixcbiAgICAgICAgeFNjYWxlS2V5LFxuICAgICAgICB4U2NhbGVEYXRhVHlwZSxcbiAgICAgICAgeE9yZGVyaW5nOiBjaGFydC54LnNjYWxlLm9yZGVyaW5nLFxuICAgICAgICB4U2NhbGUsXG4gICAgICAgIGNoYXJ0VHlwZTogJ2JhcicsXG4gICAgICB9KTtcblxuICAgICAgc2hvd1Rvb2x0aXAoe1xuICAgICAgICB0b29sdGlwTGVmdDogdG9vbHRpcERhdGE/LnRvb2x0aXBMZWZ0LFxuICAgICAgICB0b29sdGlwVG9wOiB0b29sdGlwRGF0YT8udG9vbHRpcFRvcCxcbiAgICAgICAgdG9vbHRpcERhdGE6IHRvb2x0aXBEYXRhPy50b29sdGlwRGF0YSxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW3Nob3dUb29sdGlwLCB4U2NhbGUsIG1hcmdpbiwgeEtleSwgeFNjYWxlS2V5LCB4U2NhbGVEYXRhVHlwZSwgY2hhcnQueC5zY2FsZS5vcmRlcmluZywgY2hhcnQuZGF0YV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVNb3VzZUxlYXZlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGhpZGVUb29sdGlwKCk7XG4gIH0sIFtoaWRlVG9vbHRpcF0pO1xuXG4gIGNvbnN0IGhhbmRsZU9uQmFyQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHUmVjdEVsZW1lbnQsIE1vdXNlRXZlbnQ+LCBiYXJHcm91cDogQmFyR3JvdXBUeXBlPHN0cmluZz4sIGJhcjogQmFyR3JvdXBCYXI8c3RyaW5nPikgPT4ge1xuICAgICAgb25DbGljayh7XG4gICAgICAgIGNsaWNrZWRWYWx1ZToge1xuICAgICAgICAgIGluZGV4OiBiYXJHcm91cC5pbmRleCxcbiAgICAgICAgICB5OiB7XG4gICAgICAgICAgICBrZXk6IGJhci5rZXksXG4gICAgICAgICAgICB2YWx1ZTogYmFyLnZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeDoge1xuICAgICAgICAgICAgLi4uY2hhcnQueC50aWNrc1tiYXJHcm91cC5pbmRleF0sXG4gICAgICAgICAgICB2YWx1ZTogY2hhcnQuZGF0YVtiYXJHcm91cC5pbmRleF1beEtleV0udmFsdWUgPz8gJycsXG4gICAgICAgICAgICBrZXk6IHhLZXksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xpY2tFdmVudDogZXZlbnQsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtvbkNsaWNrLCBjaGFydC5kYXRhLCB4S2V5XVxuICApO1xuXG4gIGNvbnN0IHRoZW1lQ1NTID0gdXNlTWVtbygoKSA9PiBnZXRDaGFydFRoZW1lQ1NTKHRoZW1lKSwgW3RoZW1lXSk7XG5cbiAgY29uc3QgeVRpY2tWYWx1ZXMgPSBjaGFydC55LnRpY2tzLm1hcCh0aWNrID0+IE51bWJlcih0aWNrLnZhbHVlKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RnJhZ21lbnQ+XG4gICAgICB7Lyogd2lkdGgvaGVpZ2h0IDEwMCUgcmVxdWlyZWQgb3IgdXNlUGFyZW50U2l6ZSgpIGNvbnRpbnVvdXNseSBzY2FsZXMgYXMgcGFyZW50IGVsZW1lbnQgaGFzIG5vIHNwZWNpZmllZCBoZWlnaHQgKi99XG4gICAgICA8Q2hhcnRXcmFwcGVyXG4gICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgIG9uTW91c2VNb3ZlPXtoYW5kbGVNb3VzZU1vdmV9XG4gICAgICAgIG9uTW91c2VMZWF2ZT17aGFuZGxlTW91c2VMZWF2ZX1cbiAgICAgICAgc2hvd0xlZ2VuZD17b3B0aW9ucy5zaG93TGVnZW5kfVxuICAgICAgPlxuICAgICAgICA8R3JvdXAgbGVmdD17bWFyZ2luLmxlZnR9IHRvcD17bWFyZ2luLnRvcH0+XG4gICAgICAgICAgPEdyaWRSb3dzXG4gICAgICAgICAgICB0aWNrcz17eVRpY2tWYWx1ZXN9XG4gICAgICAgICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgICAgICAgIHdpZHRoPXtpbm5lcldpZHRofVxuICAgICAgICAgICAgaGVpZ2h0PXtpbm5lckhlaWdodH1cbiAgICAgICAgICAgIHJlbW92ZVN0cm9rZT17b3B0aW9ucy5yZW1vdmVTdHJva2V9XG4gICAgICAgICAgICB0aGVtZUNTUz17dGhlbWVDU1N9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QXhpc0JvdHRvbVxuICAgICAgICAgICAgeD17Y2hhcnQueH1cbiAgICAgICAgICAgIG1hcmdpbj17bWFyZ2lufVxuICAgICAgICAgICAgdGhlbWVDU1M9e3RoZW1lQ1NTfVxuICAgICAgICAgICAgc2hvdz17b3B0aW9ucy5heGlzLnNob3dYQXhpc0xhYmVsc31cbiAgICAgICAgICAgIHJlbW92ZVN0cm9rZT17b3B0aW9ucy5yZW1vdmVTdHJva2V9XG4gICAgICAgICAgICB4U2NhbGVEYXRhVHlwZT17eFNjYWxlRGF0YVR5cGV9XG4gICAgICAgICAgICB4U2NhbGU9e3hTY2FsZX1cbiAgICAgICAgICAgIGhlaWdodD17aW5uZXJIZWlnaHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QXhpc0xlZnRcbiAgICAgICAgICAgIHNob3c9e29wdGlvbnMuYXhpcy5zaG93WUF4aXNMYWJlbHN9XG4gICAgICAgICAgICB5PXtjaGFydC55fVxuICAgICAgICAgICAgbWFyZ2luPXttYXJnaW59XG4gICAgICAgICAgICB0aGVtZUNTUz17dGhlbWVDU1N9XG4gICAgICAgICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgICAgICAgIHRpY2tzPXt5VGlja1ZhbHVlc31cbiAgICAgICAgICAgIHN0cm9rZT17dGhlbWU/LmF4aXM/LnN0cm9rZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxHcm91cD5cbiAgICAgICAgICAgIHshb3B0aW9ucy5zdGFja2VkICYmIChcbiAgICAgICAgICAgICAgPEJhckdyb3VwXG4gICAgICAgICAgICAgICAgZGF0YT17ZGF0YUZsYXR0ZW5lZH1cbiAgICAgICAgICAgICAgICBrZXlzPXt5U2NhbGVLZXlzfVxuICAgICAgICAgICAgICAgIGhlaWdodD17aW5uZXJIZWlnaHR9XG4gICAgICAgICAgICAgICAgeDA9e2QgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgY29uc3QgeFZhbHVlID0gZFt4U2NhbGVLZXldO1xuXG4gICAgICAgICAgICAgICAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdzdHJpbmcnKSByZXR1cm4geFZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWVBZGp1c3RlZCA9XG4gICAgICAgICAgICAgICAgICAgIHhTY2FsZURhdGFUeXBlID09PSAnZGF0ZV90aW1lJ1xuICAgICAgICAgICAgICAgICAgICAgID8gbmV3IERhdGUoeFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogeFNjYWxlRGF0YVR5cGUgPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgICAgICAgPyBOdW1iZXIoeFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogU3RyaW5nKHhWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICByZXR1cm4geFZhbHVlQWRqdXN0ZWQ7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgeDBTY2FsZT17eFNjYWxlfVxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB4MVNjYWxlPXtpbm5lclhTY2FsZX1cbiAgICAgICAgICAgICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgICAgICAgICAgICBjb2xvcj17KCkgPT4gJyd9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7YmFyR3JvdXBzID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBiYXJHcm91cHMubWFwKGJhckdyb3VwID0+IChcbiAgICAgICAgICAgICAgICAgICAgPEdyb3VwIGtleT17YGJhci1ncm91cC0ke2Jhckdyb3VwLmluZGV4fS0ke2Jhckdyb3VwLngwfWB9IGxlZnQ9e2Jhckdyb3VwLngwfT5cbiAgICAgICAgICAgICAgICAgICAgICB7YmFyR3JvdXAuYmFycy5tYXAoYmFyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiYXIudmFsdWUgPT09IG51bGwpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJhci5oZWlnaHQgPCAwIHx8IGJhci53aWR0aCA8IDApIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YGJhci1ncm91cC1iYXItJHtiYXJHcm91cC5pbmRleH0tJHtiYXIuaW5kZXh9LSR7YmFyLnZhbHVlfS0ke2Jhci5rZXl9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4PXtiYXIueH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5PXtiYXIueX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD17YmFyLndpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17YmFyLmhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPXtnZXRCYXJGaWxsKGNoYXJ0LmJhcnMsIGNoYXJ0LmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLCBiYXIua2V5LCBiYXIudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4gaGFuZGxlT25CYXJDbGljayhlLCBiYXJHcm91cCwgYmFyKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVIb3Zlcj17ZW5hYmxlSG92ZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8L0dyb3VwPlxuICAgICAgICAgICAgICAgICAgKSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPC9CYXJHcm91cD5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHsvKiBIb3cgdG8gd2UgZ2V0ICdzY2FsZVZhbHVlJyBoZXJlPyBXaWxsIHdlIG5lZWQgdG8gc3RhcnQgc3RvcmluZyBzY2FsZUtleSBhcyB3ZWxsIGFzIHhLZXk/ICovfVxuICAgICAgICAgICAge29wdGlvbnMuc3RhY2tlZCAmJiAoXG4gICAgICAgICAgICAgIDxCYXJTdGFja1xuICAgICAgICAgICAgICAgIHg9e2QgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgY29uc3QgeFZhbHVlID0gZFt4U2NhbGVLZXldO1xuICAgICAgICAgICAgICAgICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnc3RyaW5nJykgcmV0dXJuIHhWYWx1ZTtcblxuICAgICAgICAgICAgICAgICAgY29uc3QgeFZhbHVlQWRqdXN0ZWQgPVxuICAgICAgICAgICAgICAgICAgICB4U2NhbGVEYXRhVHlwZSA9PT0gJ2RhdGVfdGltZSdcbiAgICAgICAgICAgICAgICAgICAgICA/IG5ldyBEYXRlKHhWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICA6IHhTY2FsZURhdGFUeXBlID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgICAgICAgICAgID8gTnVtYmVyKHhWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICA6IFN0cmluZyh4VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHhWYWx1ZUFkanVzdGVkO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHhTY2FsZT17eFNjYWxlfVxuICAgICAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgICAgIGRhdGE9e2RhdGFGbGF0dGVuZWR9XG4gICAgICAgICAgICAgICAga2V5cz17Y2hhcnQueS5rZXlzfVxuICAgICAgICAgICAgICAgIGNvbG9yPXsoKSA9PiAnJ31cbiAgICAgICAgICAgICAgICBoZWlnaHQ9e2lubmVySGVpZ2h0fVxuICAgICAgICAgICAgICAgIHdpZHRoPXtpbm5lcldpZHRofVxuICAgICAgICAgICAgICAgIG9mZnNldD1cIm5vbmVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2JhclN0YWNrcyA9PlxuICAgICAgICAgICAgICAgICAgYmFyU3RhY2tzLm1hcChiYXJTdGFjayA9PlxuICAgICAgICAgICAgICAgICAgICBiYXJTdGFjay5iYXJzLm1hcChiYXIgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChiYXIuaGVpZ2h0IDwgMykgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgQkFSX1BBRERJTkcgPSAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YGJhci1zdGFjay0ke2JhclN0YWNrLmluZGV4fS0ke2Jhci5pbmRleH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB4PXtiYXIueH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeT17YmFyLnl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtiYXIud2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17YmFyLmhlaWdodCAtIEJBUl9QQURESU5HfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPXtnZXRCYXJGaWxsKGNoYXJ0LmJhcnMsIGNoYXJ0LmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLCBiYXIua2V5LCBiYXIuYmFyLmRhdGEpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICByeD17QkFSX1JBRElVU31cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvQmFyU3RhY2s+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgIDwvR3JvdXA+XG4gICAgICAgIHsvKiAtLS0tLSBUT09MVElQIENST1NTSEFJUiAtLS0tLSAqL31cbiAgICAgICAge3Rvb2x0aXBEYXRhICYmIChcbiAgICAgICAgICA8Zz5cbiAgICAgICAgICAgIDxMaW5lXG4gICAgICAgICAgICAgIGZyb209e3sgeDogdG9vbHRpcExlZnQsIHk6IG1hcmdpbi50b3AgfX1cbiAgICAgICAgICAgICAgdG89e3sgeDogdG9vbHRpcExlZnQsIHk6IGlubmVySGVpZ2h0ICsgbWFyZ2luLnRvcCB9fVxuICAgICAgICAgICAgICBzdHJva2U9eycjYWFhJ31cbiAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9ezJ9XG4gICAgICAgICAgICAgIHBvaW50ZXJFdmVudHM9XCJub25lXCJcbiAgICAgICAgICAgICAgb3BhY2l0eT17MC44fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICl9XG4gICAgICAgIHsvKiAtLS0tLSBHT0FMIExJTkVTIC0tLS0tLSAqL31cbiAgICAgICAgPEdvYWxMaW5lcyBnb2FsTGluZXM9e2NoYXJ0LmdvYWxMaW5lc30geT17ZCA9PiB5U2NhbGUoZCl9IG1hcmdpbj17bWFyZ2lufSB3aWR0aD17aW5uZXJXaWR0aH0gLz5cbiAgICAgIDwvQ2hhcnRXcmFwcGVyPlxuICAgICAgey8qIC0tLS0tIExFR0VORCAtLS0tLSAqL31cbiAgICAgIHtvcHRpb25zLnNob3dMZWdlbmQgJiYgKFxuICAgICAgICA8TGVnZW5kXG4gICAgICAgICAgbGVnZW5kSXRlbXM9e2NoYXJ0LmJhcnN9XG4gICAgICAgICAgdmlzaWJsZVlLZXlzPXtjaGFydC5iYXJzLm1hcChsZWdlbmRJdGVtID0+IGxlZ2VuZEl0ZW0ueUtleSl9XG4gICAgICAgICAgc2V0VmlzaWJsZVlLZXlzPXsoKSA9PiB7fX1cbiAgICAgICAgICBrZXlzPXtjaGFydC5rZXlzfVxuICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjaGFydC5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICBtYXJnaW5MZWZ0PXttYXJnaW4ubGVmdCAtIG1hcmdpbi5sZWZ0VGl0bGVPZmZzZXR9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAgey8qIC0tLS0tIFRPT0xUSVAgLS0tLS0gKi99XG4gICAgICB7dG9vbHRpcE9wZW4gJiYgdG9vbHRpcERhdGEgJiYgeEtleSAmJiAoXG4gICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgdG9vbHRpcERhdGE9e3Rvb2x0aXBEYXRhfVxuICAgICAgICAgIHRvb2x0aXBMZWZ0PXt0b29sdGlwTGVmdH1cbiAgICAgICAgICB0b29sdGlwVG9wPXt0b29sdGlwVG9wfVxuICAgICAgICAgIHhLZXk9e3hLZXl9XG4gICAgICAgICAga2V5cz17Y2hhcnQua2V5c31cbiAgICAgICAgICB2aXNpYmxlWUtleXM9e2NoYXJ0LmJhcnMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KX1cbiAgICAgICAgICB5S2V5cz17Y2hhcnQueS5rZXlzfVxuICAgICAgICAgIGxlZ2VuZEl0ZW1zPXtjaGFydC5iYXJzfVxuICAgICAgICAgIHNob3dSb3VuZGVkVG90YWw9e29wdGlvbnMuc2hvd1JvdW5kZWRUb3RhbH1cbiAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcz17Y2hhcnQuY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXN9XG4gICAgICAgICAgdGhlbWU9e3RoZW1lQ1NTLnBvcG92ZXJNZW51c31cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9GcmFnbWVudD5cbiAgKTtcbn07XG5cbmNvbnN0IEJhciA9IChwcm9wczoge1xuICBvbkNsaWNrOiAoZTogUmVhY3QuTW91c2VFdmVudDxTVkdSZWN0RWxlbWVudCwgTW91c2VFdmVudD4pID0+IHZvaWQ7XG4gIGZpbGw/OiBzdHJpbmc7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAga2V5OiBzdHJpbmc7XG4gIGVuYWJsZUhvdmVyPzogYm9vbGVhbjtcbn0pID0+IHtcbiAgY29uc3QgW2ZpbGxDb2xvciwgc2V0RmlsbENvbG9yXSA9IHVzZVN0YXRlKHByb3BzLmZpbGwpO1xuICByZXR1cm4gKFxuICAgIDxyZWN0XG4gICAgICBrZXk9e3Byb3BzLmtleX1cbiAgICAgIHg9e3Byb3BzLnh9XG4gICAgICB5PXtwcm9wcy55fVxuICAgICAgd2lkdGg9e3Byb3BzLndpZHRofVxuICAgICAgaGVpZ2h0PXtwcm9wcy5oZWlnaHR9XG4gICAgICBmaWxsPXtmaWxsQ29sb3J9XG4gICAgICByeD17QkFSX1JBRElVU31cbiAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHByb3BzLmVuYWJsZUhvdmVyICYmIHNldEZpbGxDb2xvcihsaWdodGVuQ29sb3IocHJvcHMuZmlsbCwgMC44KSl9XG4gICAgICBvbk1vdXNlTGVhdmU9eygpID0+IHByb3BzLmVuYWJsZUhvdmVyICYmIHNldEZpbGxDb2xvcihwcm9wcy5maWxsKX1cbiAgICAgIGNsYXNzTmFtZT17cHJvcHMuZW5hYmxlSG92ZXIgPyBjc3MoeyBjdXJzb3I6ICdwb2ludGVyJyB9KSA6ICcnfVxuICAgIC8+XG4gICk7XG59O1xuIl19 */",
42833
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckNoYXJ0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpWXFDIiwiZmlsZSI6IkJhckNoYXJ0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhckNoYXJ0UmVwcmVzZW50YXRpb24gfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQ2hhcnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAnQHZpc3gvZ3JvdXAnO1xuaW1wb3J0IHsgZ2V0Q2hhcnRUaGVtZUNTUywgZ2V0VG9vbHRpcERhdGEgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGcmFnbWVudCwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4uL1Rvb2x0aXAnO1xuaW1wb3J0IHsgdXNlVG9vbHRpcCB9IGZyb20gJ0B2aXN4L3Rvb2x0aXAnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi4vTGVnZW5kJztcbmltcG9ydCB7IEJhckdyb3VwLCBCYXJTdGFjayB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9GaWVsZC90eXBlcyc7XG5pbXBvcnQgeyBzY2FsZUxpbmVhciwgc2NhbGVCYW5kIH0gZnJvbSAnQHZpc3gvc2NhbGUnO1xuaW1wb3J0IHsgZ2V0QmFyRmlsbCB9IGZyb20gJy4vZ2V0QmFyRmlsbCc7XG5pbXBvcnQgeyBidWlsZE1hcmdpbiB9IGZyb20gJy4uLy4uL3V0aWxzL2J1aWxkTWFyZ2luJztcbmltcG9ydCB7IENoYXJ0T25WaWV3Q2xpY2ssIENoYXJ0RGF0YURlZmluaXRpb24sIERhdGFJdGVtIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBsaWdodGVuQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29sb3IuZnVuY3Rpb25zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJHcm91cEJhciwgQmFyR3JvdXAgYXMgQmFyR3JvdXBUeXBlIH0gZnJvbSAnQHZpc3gvc2hhcGUvbGliL3R5cGVzJztcbmltcG9ydCB7IHVzZUZsYXR0ZW5lZERhdGEgfSBmcm9tICcuLi9ob29rcy91c2VGbGF0dGVuZWREYXRhJztcbmltcG9ydCBHb2FsTGluZXMgZnJvbSAnLi4vR29hbExpbmUvR29hbExpbmVzJztcbmltcG9ydCB7IEF4aXNCb3R0b20gfSBmcm9tICcuLi9BeGlzL0F4aXNCb3R0b20nO1xuaW1wb3J0IHsgQXhpc0xlZnQgfSBmcm9tICcuLi9BeGlzL0F4aXNMZWZ0JztcbmltcG9ydCB7IEdyaWRSb3dzIH0gZnJvbSAnLi4vR3JpZFJvd3MvR3JpZFJvd3MnO1xuaW1wb3J0IHsgQ2hhcnRXcmFwcGVyIH0gZnJvbSAnLi4vQ2hhcnRXcmFwcGVyL0NoYXJ0V3JhcHBlcic7XG5pbXBvcnQgeyBMaW5lIH0gZnJvbSAnLi4vVG9vbHRpcC9MaW5lJztcblxuLy8gTmVlZCB0byBsb29rIGF0IHVwZGF0aW5nIEJhckNoYXJ0IHRvIHVzZSB0aGlzIHR5cGUgbWV0aG9kIG9mIHJlbmRlcmluZyAtIGh0dHBzOi8vY29kZXNhbmRib3guaW8vcC9zYW5kYm94L3Zpc3gtYmFyLWNoYXJ0LWo5c21waj9maWxlPSUyRkV4YW1wbGUudHN4XG4vLyBDdXJyZW50bHkgaXQncyB1c2luZyBTdGFja2VkIENoYXJ0IHdoaWNoIGlzbid0IHRlY2huaWNhbGx5IGNvcnJlY3RcblxuZXhwb3J0IHR5cGUgQmFyQ2hhcnRQcm9wcyA9IHtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHRoZW1lPzogQ2hhcnRUaGVtZTtcbiAgY2hhcnQ6IEJhckNoYXJ0UmVwcmVzZW50YXRpb247XG4gIG9wdGlvbnM6IHtcbiAgICBzdGFja2VkOiBib29sZWFuO1xuICAgIHNob3dSb3VuZGVkVG90YWw6IGJvb2xlYW47XG4gICAgc2hvd0xlZ2VuZDogYm9vbGVhbjtcbiAgICByZW1vdmVTdHJva2U6IGJvb2xlYW47XG4gICAgYXhpczoge1xuICAgICAgc2hvd1hBeGlzTGFiZWxzOiBib29sZWFuO1xuICAgICAgc2hvd1lBeGlzTGFiZWxzOiBib29sZWFuO1xuICAgIH07XG4gIH07XG4gIG9uQ2xpY2s6IChwYXJhbXM6IENoYXJ0T25WaWV3Q2xpY2spID0+IHZvaWQ7XG4gIGVuYWJsZUhvdmVyPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEJBUl9SQURJVVMgPSAyO1xuXG5jb25zdCBQQURESU5HID0ge1xuICBwYWRkaW5nT3V0ZXI6IDAuMDUsXG4gIHBhZGRpbmdJbm5lcjogMC4zLFxufTtcblxuZXhwb3J0IGNvbnN0IEJhckNoYXJ0ID0gKHsgY2hhcnQsIHdpZHRoLCBoZWlnaHQsIG9wdGlvbnMsIHRoZW1lLCBvbkNsaWNrLCBlbmFibGVIb3ZlciB9OiBCYXJDaGFydFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdG9vbHRpcE9wZW4sIHRvb2x0aXBMZWZ0ID0gMCwgdG9vbHRpcFRvcCA9IDAsIHRvb2x0aXBEYXRhLCBoaWRlVG9vbHRpcCwgc2hvd1Rvb2x0aXAgfSA9IHVzZVRvb2x0aXA8e1xuICAgIFtrZXlJZDogc3RyaW5nXTogRGF0YUl0ZW07XG4gIH0gfCBudWxsPigpO1xuXG4gIGNvbnN0IG1hcmdpbiA9IGJ1aWxkTWFyZ2luKGNoYXJ0LnkudGlja3MsIG9wdGlvbnMuYXhpcy5zaG93WUF4aXNMYWJlbHMsIGNoYXJ0LnkudGl0bGUgIT0gbnVsbCwgY2hhcnQueC50aXRsZSAhPSBudWxsKTtcblxuICAvLyBjb25zdCBbdmlzaWJsZVlLZXlzLCBzZXRWaXNpYmxlWUtleXNdID0gdXNlU3RhdGUoY2hhcnQuYmFycy5tYXAoKGxlZ2VuZEl0ZW0pID0+IGxlZ2VuZEl0ZW0ueUtleSkpO1xuXG4gIGNvbnN0IGlubmVyV2lkdGggPSB3aWR0aCAtIG1hcmdpbi5sZWZ0IC0gbWFyZ2luLnJpZ2h0O1xuICBjb25zdCBpbm5lckhlaWdodCA9IGhlaWdodCAtIG1hcmdpbi50b3AgLSBtYXJnaW4uYm90dG9tIC0gKG9wdGlvbnMuc2hvd0xlZ2VuZCA/IDQwIDogMCk7XG4gIGNvbnN0IHhLZXkgPSBjaGFydC54LmtleTtcbiAgY29uc3QgeFNjYWxlS2V5ID0gY2hhcnQueC5zY2FsZS5rZXk7XG4gIGNvbnN0IHlTY2FsZUtleXMgPSBjaGFydC55LmtleXM7XG4gIGNvbnN0IHhTY2FsZURhdGFUeXBlOiBEYXRhVHlwZSA9IGNoYXJ0Lnguc2NhbGUuZGF0YVR5cGU7XG5cbiAgY29uc3QgeFNjYWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHNjYWxlQmFuZDxzdHJpbmc+KHtcbiAgICAgICAgcmFuZ2U6IFswLCBpbm5lcldpZHRoXSxcbiAgICAgICAgZG9tYWluOiB4U2NhbGVLZXlcbiAgICAgICAgICA/IFsuLi5jaGFydC5kYXRhLm1hcChkID0+IChkW3hTY2FsZUtleV0gJiYgZFt4U2NhbGVLZXldLnZhbHVlICE9PSBudWxsID8gU3RyaW5nKGRbeFNjYWxlS2V5XS52YWx1ZSkgOiAnJykpXVxuICAgICAgICAgIDogW10sXG4gICAgICAgIC4uLlBBRERJTkcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdkYXRlX3RpbWUnICYmIHhTY2FsZUtleSkge1xuICAgICAgcmV0dXJuIHNjYWxlQmFuZDxEYXRlPih7XG4gICAgICAgIHJhbmdlOiBbMCwgaW5uZXJXaWR0aF0sXG4gICAgICAgIGRvbWFpbjogY2hhcnQuZGF0YS5tYXAoZCA9PiBuZXcgRGF0ZShkW3hTY2FsZUtleV0udmFsdWUgYXMgc3RyaW5nKSksXG4gICAgICAgIC4uLlBBRERJTkcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdudW1iZXInICYmIHhTY2FsZUtleSkge1xuICAgICAgcmV0dXJuIHNjYWxlQmFuZDxudW1iZXI+KHtcbiAgICAgICAgcmFuZ2U6IFswLCBpbm5lcldpZHRoXSxcbiAgICAgICAgZG9tYWluOiBjaGFydC5kYXRhLm1hcChkID0+IChkW3hTY2FsZUtleV0gJiYgZFt4U2NhbGVLZXldLnZhbHVlICE9PSBudWxsID8gTnVtYmVyKGRbeFNjYWxlS2V5XS52YWx1ZSkgOiAwKSksXG4gICAgICAgIC4uLlBBRERJTkcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgW2lubmVyV2lkdGgsIGNoYXJ0LngsIGNoYXJ0LmRhdGFdKTtcblxuICBjb25zdCB5U2NhbGUgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBzY2FsZUxpbmVhcjxudW1iZXI+KHtcbiAgICAgICAgcmFuZ2U6IFtpbm5lckhlaWdodCwgMF0sXG4gICAgICAgIGRvbWFpbjpcbiAgICAgICAgICBjaGFydC55LnNjYWxlLm9yZGVyaW5nID09PSAnYXNjJ1xuICAgICAgICAgICAgPyBbY2hhcnQueS5zY2FsZS5taW4gYXMgbnVtYmVyLCBjaGFydC55LnNjYWxlLm1heCBhcyBudW1iZXJdXG4gICAgICAgICAgICA6IFtjaGFydC55LnNjYWxlLm1heCBhcyBudW1iZXIsIGNoYXJ0Lnkuc2NhbGUubWluIGFzIG51bWJlcl0sXG4gICAgICAgIG5pY2U6IHRydWUsXG4gICAgICAgIHJvdW5kOiB0cnVlLFxuICAgICAgfSksXG4gICAgW2lubmVySGVpZ2h0LCBjaGFydC55XVxuICApO1xuXG4gIGNvbnN0IGlubmVyWFNjYWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFvcHRpb25zLnN0YWNrZWQgJiYgeFNjYWxlICYmICdiYW5kd2lkdGgnIGluIHhTY2FsZSkge1xuICAgICAgcmV0dXJuIHNjYWxlQmFuZDxzdHJpbmc+KHtcbiAgICAgICAgcmFuZ2U6IFswLCB4U2NhbGU/LmJhbmR3aWR0aCgpXSxcbiAgICAgICAgZG9tYWluOiB5U2NhbGVLZXlzLFxuICAgICAgICBwYWRkaW5nOiAwLjEsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9LCBbeFNjYWxlLCB5U2NhbGVLZXlzLCBvcHRpb25zLnN0YWNrZWQsIHhTY2FsZURhdGFUeXBlXSk7XG5cbiAgY29uc3QgZGF0YUZsYXR0ZW5lZCA9IHVzZUZsYXR0ZW5lZERhdGE8QmFyQ2hhcnRSZXByZXNlbnRhdGlvbiwgQ2hhcnREYXRhRGVmaW5pdGlvbj4oeFNjYWxlS2V5LCB4U2NhbGVEYXRhVHlwZSwgY2hhcnQpO1xuXG4gIGNvbnN0IGhhbmRsZU1vdXNlTW92ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuTW91c2VFdmVudDxTVkdFbGVtZW50PikgPT4ge1xuICAgICAgaWYgKCF4S2V5IHx8ICF4U2NhbGVLZXkgfHwgeFNjYWxlID09PSBudWxsKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHRvb2x0aXBEYXRhID0gZ2V0VG9vbHRpcERhdGEoe1xuICAgICAgICBkYXRhOiBjaGFydC5kYXRhLFxuICAgICAgICBldmVudCxcbiAgICAgICAgbWFyZ2luLFxuICAgICAgICB4U2NhbGVLZXksXG4gICAgICAgIHhTY2FsZURhdGFUeXBlLFxuICAgICAgICB4T3JkZXJpbmc6IGNoYXJ0Lnguc2NhbGUub3JkZXJpbmcsXG4gICAgICAgIHhTY2FsZSxcbiAgICAgICAgY2hhcnRUeXBlOiAnYmFyJyxcbiAgICAgIH0pO1xuXG4gICAgICBzaG93VG9vbHRpcCh7XG4gICAgICAgIHRvb2x0aXBMZWZ0OiB0b29sdGlwRGF0YT8udG9vbHRpcExlZnQsXG4gICAgICAgIHRvb2x0aXBUb3A6IHRvb2x0aXBEYXRhPy50b29sdGlwVG9wLFxuICAgICAgICB0b29sdGlwRGF0YTogdG9vbHRpcERhdGE/LnRvb2x0aXBEYXRhLFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbc2hvd1Rvb2x0aXAsIHhTY2FsZSwgbWFyZ2luLCB4S2V5LCB4U2NhbGVLZXksIHhTY2FsZURhdGFUeXBlLCBjaGFydC54LnNjYWxlLm9yZGVyaW5nLCBjaGFydC5kYXRhXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZU1vdXNlTGVhdmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaGlkZVRvb2x0aXAoKTtcbiAgfSwgW2hpZGVUb29sdGlwXSk7XG5cbiAgY29uc3QgaGFuZGxlT25CYXJDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuTW91c2VFdmVudDxTVkdSZWN0RWxlbWVudCwgTW91c2VFdmVudD4sIGJhckdyb3VwOiBCYXJHcm91cFR5cGU8c3RyaW5nPiwgYmFyOiBCYXJHcm91cEJhcjxzdHJpbmc+KSA9PiB7XG4gICAgICBvbkNsaWNrKHtcbiAgICAgICAgY2xpY2tlZFZhbHVlOiB7XG4gICAgICAgICAgaW5kZXg6IGJhckdyb3VwLmluZGV4LFxuICAgICAgICAgIHk6IHtcbiAgICAgICAgICAgIGtleTogYmFyLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiBiYXIudmFsdWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB4OiB7XG4gICAgICAgICAgICAuLi5jaGFydC54LnRpY2tzW2Jhckdyb3VwLmluZGV4XSxcbiAgICAgICAgICAgIHZhbHVlOiBjaGFydC5kYXRhW2Jhckdyb3VwLmluZGV4XVt4S2V5XS52YWx1ZSA/PyAnJyxcbiAgICAgICAgICAgIGtleTogeEtleSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjbGlja0V2ZW50OiBldmVudCxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW29uQ2xpY2ssIGNoYXJ0LmRhdGEsIHhLZXldXG4gICk7XG5cbiAgY29uc3QgdGhlbWVDU1MgPSB1c2VNZW1vKCgpID0+IGdldENoYXJ0VGhlbWVDU1ModGhlbWUpLCBbdGhlbWVdKTtcblxuICBjb25zdCB5VGlja1ZhbHVlcyA9IGNoYXJ0LnkudGlja3MubWFwKHRpY2sgPT4gTnVtYmVyKHRpY2sudmFsdWUpKTtcblxuICByZXR1cm4gKFxuICAgIDxGcmFnbWVudD5cbiAgICAgIHsvKiB3aWR0aC9oZWlnaHQgMTAwJSByZXF1aXJlZCBvciB1c2VQYXJlbnRTaXplKCkgY29udGludW91c2x5IHNjYWxlcyBhcyBwYXJlbnQgZWxlbWVudCBoYXMgbm8gc3BlY2lmaWVkIGhlaWdodCAqL31cbiAgICAgIDxDaGFydFdyYXBwZXJcbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgb25Nb3VzZU1vdmU9e2hhbmRsZU1vdXNlTW92ZX1cbiAgICAgICAgb25Nb3VzZUxlYXZlPXtoYW5kbGVNb3VzZUxlYXZlfVxuICAgICAgICBzaG93TGVnZW5kPXtvcHRpb25zLnNob3dMZWdlbmR9XG4gICAgICA+XG4gICAgICAgIDxHcm91cCBsZWZ0PXttYXJnaW4ubGVmdH0gdG9wPXttYXJnaW4udG9wfT5cbiAgICAgICAgICA8R3JpZFJvd3NcbiAgICAgICAgICAgIHRpY2tzPXt5VGlja1ZhbHVlc31cbiAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgd2lkdGg9e2lubmVyV2lkdGh9XG4gICAgICAgICAgICBoZWlnaHQ9e2lubmVySGVpZ2h0fVxuICAgICAgICAgICAgcmVtb3ZlU3Ryb2tlPXtvcHRpb25zLnJlbW92ZVN0cm9rZX1cbiAgICAgICAgICAgIHRoZW1lQ1NTPXt0aGVtZUNTU31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxBeGlzQm90dG9tXG4gICAgICAgICAgICB4PXtjaGFydC54fVxuICAgICAgICAgICAgbWFyZ2luPXttYXJnaW59XG4gICAgICAgICAgICB0aGVtZUNTUz17dGhlbWVDU1N9XG4gICAgICAgICAgICBzaG93PXtvcHRpb25zLmF4aXMuc2hvd1hBeGlzTGFiZWxzfVxuICAgICAgICAgICAgcmVtb3ZlU3Ryb2tlPXtvcHRpb25zLnJlbW92ZVN0cm9rZX1cbiAgICAgICAgICAgIHhTY2FsZURhdGFUeXBlPXt4U2NhbGVEYXRhVHlwZX1cbiAgICAgICAgICAgIHhTY2FsZT17eFNjYWxlfVxuICAgICAgICAgICAgaGVpZ2h0PXtpbm5lckhlaWdodH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxBeGlzTGVmdFxuICAgICAgICAgICAgc2hvdz17b3B0aW9ucy5heGlzLnNob3dZQXhpc0xhYmVsc31cbiAgICAgICAgICAgIHk9e2NoYXJ0Lnl9XG4gICAgICAgICAgICBtYXJnaW49e21hcmdpbn1cbiAgICAgICAgICAgIHRoZW1lQ1NTPXt0aGVtZUNTU31cbiAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgdGlja3M9e3lUaWNrVmFsdWVzfVxuICAgICAgICAgICAgc3Ryb2tlPXt0aGVtZT8uYXhpcz8uc3Ryb2tlfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEdyb3VwPlxuICAgICAgICAgICAgeyFvcHRpb25zLnN0YWNrZWQgJiYgKFxuICAgICAgICAgICAgICA8QmFyR3JvdXBcbiAgICAgICAgICAgICAgICBkYXRhPXtkYXRhRmxhdHRlbmVkfVxuICAgICAgICAgICAgICAgIGtleXM9e3lTY2FsZUtleXN9XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXtpbm5lckhlaWdodH1cbiAgICAgICAgICAgICAgICB4MD17ZCA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWUgPSBkW3hTY2FsZUtleV07XG5cbiAgICAgICAgICAgICAgICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ3N0cmluZycpIHJldHVybiB4VmFsdWU7XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IHhWYWx1ZUFkanVzdGVkID1cbiAgICAgICAgICAgICAgICAgICAgeFNjYWxlRGF0YVR5cGUgPT09ICdkYXRlX3RpbWUnXG4gICAgICAgICAgICAgICAgICAgICAgPyBuZXcgRGF0ZSh4VmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgOiB4U2NhbGVEYXRhVHlwZSA9PT0gJ251bWJlcidcbiAgICAgICAgICAgICAgICAgICAgICA/IE51bWJlcih4VmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgOiBTdHJpbmcoeFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJldHVybiB4VmFsdWVBZGp1c3RlZDtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB4MFNjYWxlPXt4U2NhbGV9XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHgxU2NhbGU9e2lubmVyWFNjYWxlfVxuICAgICAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgICAgIGNvbG9yPXsoKSA9PiAnJ31cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYXJHcm91cHMgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhckdyb3Vwcy5tYXAoYmFyR3JvdXAgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8R3JvdXAga2V5PXtgYmFyLWdyb3VwLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyR3JvdXAueDB9YH0gbGVmdD17YmFyR3JvdXAueDB9PlxuICAgICAgICAgICAgICAgICAgICAgIHtiYXJHcm91cC5iYXJzLm1hcChiYXIgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJhci52YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmFyLmhlaWdodCA8IDAgfHwgYmFyLndpZHRoIDwgMCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYmFyLWdyb3VwLWJhci0ke2Jhckdyb3VwLmluZGV4fS0ke2Jhci5pbmRleH0tJHtiYXIudmFsdWV9LSR7YmFyLmtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg9e2Jhci54fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk9e2Jhci55fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtiYXIud2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtiYXIuaGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9e2dldEJhckZpbGwoY2hhcnQuYmFycywgY2hhcnQuY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsIGJhci5rZXksIGJhci52YWx1ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiBoYW5kbGVPbkJhckNsaWNrKGUsIGJhckdyb3VwLCBiYXIpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZUhvdmVyPXtlbmFibGVIb3Zlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgICAgICAgICAgICApKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L0Jhckdyb3VwPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgey8qIEhvdyB0byB3ZSBnZXQgJ3NjYWxlVmFsdWUnIGhlcmU/IFdpbGwgd2UgbmVlZCB0byBzdGFydCBzdG9yaW5nIHNjYWxlS2V5IGFzIHdlbGwgYXMgeEtleT8gKi99XG4gICAgICAgICAgICB7b3B0aW9ucy5zdGFja2VkICYmIChcbiAgICAgICAgICAgICAgPEJhclN0YWNrXG4gICAgICAgICAgICAgICAgeD17ZCA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWUgPSBkW3hTY2FsZUtleV07XG4gICAgICAgICAgICAgICAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdzdHJpbmcnKSByZXR1cm4geFZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWVBZGp1c3RlZCA9XG4gICAgICAgICAgICAgICAgICAgIHhTY2FsZURhdGFUeXBlID09PSAnZGF0ZV90aW1lJ1xuICAgICAgICAgICAgICAgICAgICAgID8gbmV3IERhdGUoeFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogeFNjYWxlRGF0YVR5cGUgPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgICAgICAgPyBOdW1iZXIoeFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogU3RyaW5nKHhWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICByZXR1cm4geFZhbHVlQWRqdXN0ZWQ7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgeFNjYWxlPXt4U2NhbGV9XG4gICAgICAgICAgICAgICAgeVNjYWxlPXt5U2NhbGV9XG4gICAgICAgICAgICAgICAgZGF0YT17ZGF0YUZsYXR0ZW5lZH1cbiAgICAgICAgICAgICAgICBrZXlzPXtjaGFydC55LmtleXN9XG4gICAgICAgICAgICAgICAgY29sb3I9eygpID0+ICcnfVxuICAgICAgICAgICAgICAgIGhlaWdodD17aW5uZXJIZWlnaHR9XG4gICAgICAgICAgICAgICAgd2lkdGg9e2lubmVyV2lkdGh9XG4gICAgICAgICAgICAgICAgb2Zmc2V0PVwibm9uZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7YmFyU3RhY2tzID0+XG4gICAgICAgICAgICAgICAgICBiYXJTdGFja3MubWFwKGJhclN0YWNrID0+XG4gICAgICAgICAgICAgICAgICAgIGJhclN0YWNrLmJhcnMubWFwKGJhciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGJhci5oZWlnaHQgPCAzKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCQVJfUEFERElORyA9IDEuNTtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYmFyLXN0YWNrLSR7YmFyU3RhY2suaW5kZXh9LSR7YmFyLmluZGV4fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHg9e2Jhci54fVxuICAgICAgICAgICAgICAgICAgICAgICAgICB5PXtiYXIueX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e2Jhci53aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtiYXIuaGVpZ2h0IC0gQkFSX1BBRERJTkd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9e2dldEJhckZpbGwoY2hhcnQuYmFycywgY2hhcnQuY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsIGJhci5rZXksIGJhci5iYXIuZGF0YSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PXtCQVJfUkFESVVTfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9CYXJTdGFjaz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgey8qIC0tLS0tIFRPT0xUSVAgQ1JPU1NIQUlSIC0tLS0tICovfVxuICAgICAgICB7dG9vbHRpcERhdGEgJiYgKFxuICAgICAgICAgIDxnPlxuICAgICAgICAgICAgPExpbmUgeD17dG9vbHRpcExlZnR9IG1hcmdpbj17bWFyZ2lufSBoZWlnaHQ9e2lubmVySGVpZ2h0fSAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgKX1cbiAgICAgICAgey8qIC0tLS0tIEdPQUwgTElORVMgLS0tLS0tICovfVxuICAgICAgICA8R29hbExpbmVzIGdvYWxMaW5lcz17Y2hhcnQuZ29hbExpbmVzfSB5PXtkID0+IHlTY2FsZShkKX0gbWFyZ2luPXttYXJnaW59IHdpZHRoPXtpbm5lcldpZHRofSAvPlxuICAgICAgPC9DaGFydFdyYXBwZXI+XG4gICAgICB7LyogLS0tLS0gTEVHRU5EIC0tLS0tICovfVxuICAgICAge29wdGlvbnMuc2hvd0xlZ2VuZCAmJiAoXG4gICAgICAgIDxMZWdlbmRcbiAgICAgICAgICBsZWdlbmRJdGVtcz17Y2hhcnQuYmFyc31cbiAgICAgICAgICB2aXNpYmxlWUtleXM9e2NoYXJ0LmJhcnMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KX1cbiAgICAgICAgICBzZXRWaXNpYmxlWUtleXM9eygpID0+IHt9fVxuICAgICAgICAgIGtleXM9e2NoYXJ0LmtleXN9XG4gICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NoYXJ0LmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgIG1hcmdpbkxlZnQ9e21hcmdpbi5sZWZ0IC0gbWFyZ2luLmxlZnRUaXRsZU9mZnNldH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7LyogLS0tLS0gVE9PTFRJUCAtLS0tLSAqL31cbiAgICAgIHt0b29sdGlwT3BlbiAmJiB0b29sdGlwRGF0YSAmJiB4S2V5ICYmIChcbiAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICB0b29sdGlwRGF0YT17dG9vbHRpcERhdGF9XG4gICAgICAgICAgdG9vbHRpcExlZnQ9e3Rvb2x0aXBMZWZ0fVxuICAgICAgICAgIHRvb2x0aXBUb3A9e3Rvb2x0aXBUb3B9XG4gICAgICAgICAgeEtleT17eEtleX1cbiAgICAgICAgICBrZXlzPXtjaGFydC5rZXlzfVxuICAgICAgICAgIHZpc2libGVZS2V5cz17Y2hhcnQuYmFycy5tYXAobGVnZW5kSXRlbSA9PiBsZWdlbmRJdGVtLnlLZXkpfVxuICAgICAgICAgIHlLZXlzPXtjaGFydC55LmtleXN9XG4gICAgICAgICAgbGVnZW5kSXRlbXM9e2NoYXJ0LmJhcnN9XG4gICAgICAgICAgc2hvd1JvdW5kZWRUb3RhbD17b3B0aW9ucy5zaG93Um91bmRlZFRvdGFsfVxuICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjaGFydC5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICB0aGVtZT17dGhlbWVDU1MucG9wb3Zlck1lbnVzfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L0ZyYWdtZW50PlxuICApO1xufTtcblxuY29uc3QgQmFyID0gKHByb3BzOiB7XG4gIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4gdm9pZDtcbiAgZmlsbD86IHN0cmluZztcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBrZXk6IHN0cmluZztcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xufSkgPT4ge1xuICBjb25zdCBbZmlsbENvbG9yLCBzZXRGaWxsQ29sb3JdID0gdXNlU3RhdGUocHJvcHMuZmlsbCk7XG4gIHJldHVybiAoXG4gICAgPHJlY3RcbiAgICAgIGtleT17cHJvcHMua2V5fVxuICAgICAgeD17cHJvcHMueH1cbiAgICAgIHk9e3Byb3BzLnl9XG4gICAgICB3aWR0aD17cHJvcHMud2lkdGh9XG4gICAgICBoZWlnaHQ9e3Byb3BzLmhlaWdodH1cbiAgICAgIGZpbGw9e2ZpbGxDb2xvcn1cbiAgICAgIHJ4PXtCQVJfUkFESVVTfVxuICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gcHJvcHMuZW5hYmxlSG92ZXIgJiYgc2V0RmlsbENvbG9yKGxpZ2h0ZW5Db2xvcihwcm9wcy5maWxsLCAwLjgpKX1cbiAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gcHJvcHMuZW5hYmxlSG92ZXIgJiYgc2V0RmlsbENvbG9yKHByb3BzLmZpbGwpfVxuICAgICAgY2xhc3NOYW1lPXtwcm9wcy5lbmFibGVIb3ZlciA/IGNzcyh7IGN1cnNvcjogJ3BvaW50ZXInIH0pIDogJyd9XG4gICAgLz5cbiAgKTtcbn07XG4iXX0= */",
42520
42834
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$8
42521
42835
  }) : ''
42522
42836
  }, props.key);
@@ -48466,7 +48780,7 @@ var Component = function Component(props) {
48466
48780
  });
48467
48781
  },
48468
48782
  onError: dashboardBehaviour.onError,
48469
- children: jsxRuntime.jsx(BubbleChart$2, {
48783
+ children: jsxRuntime.jsx(BubbleChart$3, {
48470
48784
  id: props.id,
48471
48785
  setLocalFilters: props.setLocalFilters,
48472
48786
  dataSet: dataSet,
@@ -56929,6 +57243,22 @@ var ChartSettingsSection = function ChartSettingsSection(_ref) {
56929
57243
  }
56930
57244
  return options;
56931
57245
  }();
57246
+ var layoutOptions = function () {
57247
+ var options = [{
57248
+ label: textOverride('grouped', 'Grouped'),
57249
+ value: false
57250
+ }, {
57251
+ label: textOverride('stacked', 'Stacked'),
57252
+ value: true
57253
+ }];
57254
+ if (attributes.type === 'barChart' || attributes.type === 'areaChart') {
57255
+ options.push({
57256
+ label: textOverride('stacked_100prc', 'Stacked (100%)'),
57257
+ value: '100%'
57258
+ });
57259
+ }
57260
+ return options;
57261
+ }();
56932
57262
  return jsxRuntime.jsx(Section, {
56933
57263
  title: section.title,
56934
57264
  tooltip: section == null ? void 0 : section.description,
@@ -56948,16 +57278,7 @@ var ChartSettingsSection = function ChartSettingsSection(_ref) {
56948
57278
  stacked: stacked
56949
57279
  });
56950
57280
  },
56951
- options: [{
56952
- label: textOverride('grouped', 'Grouped'),
56953
- value: false
56954
- }, {
56955
- label: textOverride('stacked', 'Stacked'),
56956
- value: true
56957
- }, {
56958
- label: textOverride('stacked_100prc', 'Stacked (100%)'),
56959
- value: '100%'
56960
- }]
57281
+ options: layoutOptions
56961
57282
  }), section.type === 'curve' && jsxRuntime.jsx(FormatSelectInput, {
56962
57283
  label: section.title,
56963
57284
  id: "format-layout-curve",