@kepler.gl/components 3.3.0-alpha.6 → 3.3.0-alpha.7
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.
- package/dist/cjs/common/data-table/cell-size.js +40 -23
- package/dist/cjs/common/data-table/column-statistics-categoric.js +40 -0
- package/dist/cjs/common/data-table/column-statistics-components.js +65 -0
- package/dist/cjs/common/data-table/column-statistics-numeric.js +87 -0
- package/dist/cjs/common/data-table/column-statistics-time.js +69 -0
- package/dist/cjs/common/data-table/header-cell.js +123 -44
- package/dist/cjs/common/data-table/index.js +102 -29
- package/dist/cjs/common/histogram-plot.js +1 -1
- package/dist/cjs/common/icons/{arrow-down-solid.js → draw-point.js} +21 -11
- package/dist/cjs/common/icons/index.js +15 -1
- package/dist/cjs/common/icons/line-string.js +60 -0
- package/dist/cjs/common/toolbar-item.js +24 -3
- package/dist/cjs/editor/editor.js +26 -8
- package/dist/cjs/editor/feature-action-panel.js +34 -12
- package/dist/cjs/editor/feature-properties-editor.js +215 -0
- package/dist/cjs/editor/filter-feature-badges.js +92 -0
- package/dist/cjs/index.js +33 -1
- package/dist/cjs/kepler-gl.js +20 -3
- package/dist/cjs/map/map-control-toolbar.js +2 -2
- package/dist/cjs/map/map-control.js +13 -7
- package/dist/cjs/map/map-draw-panel.js +65 -15
- package/dist/cjs/map/theme-toggle-button.js +64 -0
- package/dist/cjs/map-container.js +16 -5
- package/dist/cjs/modal-container.js +2 -1
- package/dist/cjs/modals/cloud-components/cloud-item.js +55 -7
- package/dist/cjs/modals/cloud-components/cloud-item.spec.js +75 -3
- package/dist/cjs/modals/cloud-components/cloud-maps.js +2 -1
- package/dist/cjs/modals/cloud-tile.js +52 -38
- package/dist/cjs/modals/data-table-modal.js +37 -25
- package/dist/cjs/modals/export-video-modal.js +28 -1
- package/dist/cjs/modals/export-video-modal.spec.js +56 -10
- package/dist/cjs/modals/globe-export-video-container.js +19 -3
- package/dist/cjs/modals/globe-export-video-preview.js +25 -7
- package/dist/cjs/modals/hubble-utils.js +8 -3
- package/dist/cjs/modals/swipe-composite-utils.js +9 -1
- package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -0
- package/dist/cjs/modals/swipe-export-video-preview.js +9 -5
- package/dist/cjs/side-panel/layer-manager.js +11 -3
- package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +11 -3
- package/dist/cjs/side-panel/layer-panel/layer-configurator.js +74 -31
- package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +90 -25
- package/dist/common/data-table/column-statistics-categoric.d.ts +9 -0
- package/dist/common/data-table/column-statistics-components.d.ts +31 -0
- package/dist/common/data-table/column-statistics-numeric.d.ts +18 -0
- package/dist/common/data-table/column-statistics-time.d.ts +19 -0
- package/dist/common/data-table/header-cell.d.ts +7 -5
- package/dist/common/data-table/index.d.ts +7 -24
- package/dist/common/histogram-plot.d.ts +24 -1
- package/dist/common/icons/{arrow-down-solid.d.ts → draw-point.d.ts} +2 -1
- package/dist/common/icons/index.d.ts +2 -0
- package/dist/common/icons/line-string.d.ts +10 -0
- package/dist/common/toolbar-item.d.ts +2 -0
- package/dist/editor/editor.d.ts +1 -0
- package/dist/editor/feature-action-panel.d.ts +1 -0
- package/dist/editor/feature-properties-editor.d.ts +8 -0
- package/dist/editor/filter-feature-badges.d.ts +12 -0
- package/dist/esm/common/data-table/cell-size.js +40 -23
- package/dist/esm/common/data-table/column-statistics-categoric.js +33 -0
- package/dist/esm/common/data-table/column-statistics-components.js +59 -0
- package/dist/esm/common/data-table/column-statistics-numeric.js +78 -0
- package/dist/esm/common/data-table/column-statistics-time.js +60 -0
- package/dist/esm/common/data-table/header-cell.js +125 -46
- package/dist/esm/common/data-table/index.js +102 -29
- package/dist/esm/common/histogram-plot.js +1 -1
- package/dist/esm/common/icons/draw-point.js +44 -0
- package/dist/esm/common/icons/index.js +3 -1
- package/dist/esm/common/icons/line-string.js +54 -0
- package/dist/esm/common/toolbar-item.js +24 -3
- package/dist/esm/editor/editor.js +26 -8
- package/dist/esm/editor/feature-action-panel.js +37 -15
- package/dist/esm/editor/feature-properties-editor.js +208 -0
- package/dist/esm/editor/filter-feature-badges.js +85 -0
- package/dist/esm/index.js +5 -1
- package/dist/esm/kepler-gl.js +20 -3
- package/dist/esm/map/map-control-toolbar.js +2 -2
- package/dist/esm/map/map-control.js +13 -7
- package/dist/esm/map/map-draw-panel.js +63 -11
- package/dist/esm/map/theme-toggle-button.js +55 -0
- package/dist/esm/map-container.js +16 -5
- package/dist/esm/modal-container.js +2 -1
- package/dist/esm/modals/cloud-components/cloud-item.js +53 -7
- package/dist/esm/modals/cloud-components/cloud-item.spec.js +76 -4
- package/dist/esm/modals/cloud-components/cloud-maps.js +2 -1
- package/dist/esm/modals/cloud-tile.js +52 -38
- package/dist/esm/modals/data-table-modal.js +38 -26
- package/dist/esm/modals/export-video-modal.js +29 -2
- package/dist/esm/modals/export-video-modal.spec.js +56 -10
- package/dist/esm/modals/globe-export-video-container.js +20 -4
- package/dist/esm/modals/globe-export-video-preview.js +26 -8
- package/dist/esm/modals/hubble-utils.js +8 -3
- package/dist/esm/modals/swipe-composite-utils.js +9 -1
- package/dist/esm/modals/swipe-composite-utils.spec.js +67 -0
- package/dist/esm/modals/swipe-export-video-preview.js +8 -4
- package/dist/esm/side-panel/layer-manager.js +11 -3
- package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +11 -3
- package/dist/esm/side-panel/layer-panel/layer-configurator.js +74 -31
- package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +90 -25
- package/dist/index.d.ts +8 -0
- package/dist/kepler-gl.d.ts +3 -0
- package/dist/map/map-control.d.ts +6 -2
- package/dist/map/map-draw-panel.d.ts +1 -0
- package/dist/map/theme-toggle-button.d.ts +18 -0
- package/dist/map-container.d.ts +1 -0
- package/dist/modals/cloud-components/cloud-item.d.ts +2 -1
- package/dist/modals/data-table-modal.d.ts +1 -0
- package/dist/modals/globe-export-video-container.d.ts +2 -0
- package/dist/modals/globe-export-video-preview.d.ts +3 -0
- package/dist/modals/hubble-utils.d.ts +2 -1
- package/dist/modals/swipe-composite-utils.d.ts +1 -1
- package/dist/modals/swipe-composite-utils.spec.d.ts +1 -0
- package/package.json +20 -20
- package/dist/cjs/modals/cloud-components/provider-loading.js +0 -20
- package/dist/cjs/modals/storage-map-viewer.js +0 -98
- package/dist/cjs/side-panel/cloud-storage-dropdown.js +0 -40
- package/dist/esm/common/icons/arrow-down-solid.js +0 -34
- package/dist/esm/modals/cloud-components/provider-loading.js +0 -15
- package/dist/esm/modals/storage-map-viewer.js +0 -93
- package/dist/esm/side-panel/cloud-storage-dropdown.js +0 -33
- package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
- package/dist/modals/storage-map-viewer.d.ts +0 -21
- package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
|
@@ -1,41 +1,95 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
4
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
4
|
-
var _templateObject;
|
|
5
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
5
6
|
// SPDX-License-Identifier: MIT
|
|
6
7
|
// Copyright contributors to the kepler.gl project
|
|
7
8
|
|
|
8
|
-
import React, { useState, useCallback } from 'react';
|
|
9
|
+
import React, { useState, useCallback, useEffect } from 'react';
|
|
9
10
|
import styled from 'styled-components';
|
|
10
11
|
import classnames from 'classnames';
|
|
11
12
|
import Button from './button';
|
|
12
13
|
import { ArrowUp, ArrowDown, VertThreeDots, Hash } from '../../common/icons';
|
|
13
14
|
import { SORT_ORDER } from '@kepler.gl/constants';
|
|
14
15
|
import OptionDropdown, { FormatterDropdown } from './option-dropdown';
|
|
15
|
-
import { getFieldFormatLabels } from '@kepler.gl/utils';
|
|
16
|
+
import { ColumnStatsType, getFieldFormatLabels } from '@kepler.gl/utils';
|
|
16
17
|
import FieldTokenFactory from '../../common/field-token';
|
|
17
|
-
|
|
18
|
+
import LoadingSpinner from '../loading-spinner';
|
|
19
|
+
import ColumnStatisticsCategorical from './column-statistics-categoric';
|
|
20
|
+
import ColumnStatisticsNumericFactory from './column-statistics-numeric';
|
|
21
|
+
import ColumnStatisticsTimeFactory from './column-statistics-time';
|
|
22
|
+
var StyledHeaderCell = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-bottom: 1px solid ", ";\n border-top: 1px solid ", ";\n border-right: ", ";\n padding-top: ", "px;\n padding-right: 0;\n padding-bottom: ", "px;\n padding-left: ", "px;\n align-items: ", ";\n justify-content: ", ";\n display: flex;\n flex-direction: ", ";\n background-color: ", ";\n overflow: hidden;\n\n .n-sort-idx {\n font-size: 9px;\n }\n .header-cell__top {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: ", "px;\n flex: 0 0 auto;\n box-sizing: border-box;\n padding-top: ", "px;\n padding-bottom: ", "px;\n padding-left: ", "px;\n }\n .details {\n font-weight: 500;\n font-size: ", "px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: flex-start;\n height: 100%;\n overflow: hidden;\n flex-grow: 1;\n\n .col-name {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-left: 6px;\n min-width: 0;\n flex: 1;\n\n .col-name__left {\n display: flex;\n align-items: center;\n overflow: hidden;\n\n svg {\n margin-left: 6px;\n }\n }\n .col-name__name {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n\n .more {\n margin-left: 5px;\n }\n\n .col-name__format svg {\n width: 10px;\n height: 10px;\n stroke-width: 1;\n }\n"])), function (props) {
|
|
18
23
|
return props.theme.headerCellBorderColor;
|
|
19
24
|
}, function (props) {
|
|
20
25
|
return props.theme.headerCellBorderColor;
|
|
26
|
+
}, function (props) {
|
|
27
|
+
return props.$hasStats ? "1px solid ".concat(props.theme.cellBorderColor) : 'none';
|
|
28
|
+
}, function (props) {
|
|
29
|
+
return props.$hasStats ? 0 : props.theme.headerPaddingTop;
|
|
30
|
+
}, function (props) {
|
|
31
|
+
return props.$hasStats ? 0 : props.theme.headerPaddingBottom;
|
|
32
|
+
}, function (props) {
|
|
33
|
+
return props.$hasStats ? 0 : props.theme.cellPaddingSide;
|
|
34
|
+
}, function (props) {
|
|
35
|
+
return props.$hasStats ? 'stretch' : 'center';
|
|
36
|
+
}, function (props) {
|
|
37
|
+
return props.$hasStats ? 'flex-start' : 'space-between';
|
|
38
|
+
}, function (props) {
|
|
39
|
+
return props.$hasStats ? 'column' : 'row';
|
|
40
|
+
}, function (props) {
|
|
41
|
+
return props.theme.headerCellBackground;
|
|
42
|
+
}, function (props) {
|
|
43
|
+
return props.theme.headerRowHeight;
|
|
21
44
|
}, function (props) {
|
|
22
45
|
return props.theme.headerPaddingTop;
|
|
23
46
|
}, function (props) {
|
|
24
47
|
return props.theme.headerPaddingBottom;
|
|
25
48
|
}, function (props) {
|
|
26
|
-
return props.theme.cellPaddingSide;
|
|
49
|
+
return props.$firstCell ? props.theme.cellPaddingSide + props.theme.edgeCellPaddingSide : props.theme.cellPaddingSide;
|
|
27
50
|
}, function (props) {
|
|
28
|
-
return props.theme.
|
|
51
|
+
return props.theme.cellFontSize;
|
|
52
|
+
});
|
|
53
|
+
var StyledBottomStats = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background-color: ", ";\n flex-grow: 1;\n min-height: 0;\n overflow: hidden;\n opacity: ", ";\n transition: opacity 0.5s ease-in-out;\n pointer-events: ", ";\n width: 100%;\n"])), function (props) {
|
|
54
|
+
return props.theme.headerCellStatsBackground;
|
|
55
|
+
}, function (props) {
|
|
56
|
+
return props.$showStats ? 1 : 0;
|
|
57
|
+
}, function (props) {
|
|
58
|
+
return props.$showStats ? 'auto' : 'none';
|
|
29
59
|
});
|
|
30
|
-
var
|
|
31
|
-
|
|
60
|
+
var StyledLoading = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 100%;\n padding-top: 16px;\n display: flex;\n justify-content: center;\n"])));
|
|
61
|
+
var StyledStatsSpacer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n height: ", "px;\n width: 100%;\n flex-grow: 0;\n"])), function (props) {
|
|
62
|
+
return props.theme.headerStatsControlHeight;
|
|
63
|
+
});
|
|
64
|
+
function HeaderCellFactory(FieldToken, ColumnStatisticsNumeric, ColumnStatisticsTime) {
|
|
65
|
+
var ColumnStatisticsSection = function ColumnStatisticsSection(_ref) {
|
|
66
|
+
var columnStats = _ref.columnStats,
|
|
67
|
+
type = _ref.type,
|
|
68
|
+
format = _ref.format;
|
|
69
|
+
switch (columnStats.type) {
|
|
70
|
+
case ColumnStatsType.numeric:
|
|
71
|
+
return /*#__PURE__*/React.createElement(ColumnStatisticsNumeric, _extends({}, columnStats, {
|
|
72
|
+
type: type
|
|
73
|
+
}));
|
|
74
|
+
case ColumnStatsType.categorical:
|
|
75
|
+
return /*#__PURE__*/React.createElement(ColumnStatisticsCategorical, columnStats);
|
|
76
|
+
case ColumnStatsType.time:
|
|
77
|
+
return /*#__PURE__*/React.createElement(ColumnStatisticsTime, _extends({}, columnStats, {
|
|
78
|
+
format: format
|
|
79
|
+
}));
|
|
80
|
+
default:
|
|
81
|
+
return /*#__PURE__*/React.createElement("div", null);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
var HeaderCell = function HeaderCell(_ref2) {
|
|
32
85
|
var _colMeta$column;
|
|
33
|
-
var cellInfo =
|
|
34
|
-
columns =
|
|
35
|
-
isPinned =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
86
|
+
var cellInfo = _ref2.cellInfo,
|
|
87
|
+
columns = _ref2.columns,
|
|
88
|
+
isPinned = _ref2.isPinned,
|
|
89
|
+
showStats = _ref2.showStats,
|
|
90
|
+
props = _ref2.props,
|
|
91
|
+
toggleMoreOptions = _ref2.toggleMoreOptions,
|
|
92
|
+
moreOptionsColumn = _ref2.moreOptionsColumn;
|
|
39
93
|
var columnIndex = cellInfo.columnIndex,
|
|
40
94
|
key = cellInfo.key,
|
|
41
95
|
style = cellInfo.style;
|
|
@@ -44,47 +98,57 @@ var HeaderCellFactory = function HeaderCellFactory(FieldToken) {
|
|
|
44
98
|
sortTableColumn = props.sortTableColumn,
|
|
45
99
|
pinTableColumn = props.pinTableColumn,
|
|
46
100
|
copyTableColumn = props.copyTableColumn,
|
|
47
|
-
setColumnDisplayFormat = props.setColumnDisplayFormat
|
|
101
|
+
setColumnDisplayFormat = props.setColumnDisplayFormat,
|
|
102
|
+
hasStats = props.hasStats,
|
|
103
|
+
dataId = props.dataId,
|
|
104
|
+
loadColumnStats = props.loadColumnStats;
|
|
48
105
|
var _useState = useState(false),
|
|
49
106
|
_useState2 = _slicedToArray(_useState, 2),
|
|
50
107
|
showFormatter = _useState2[0],
|
|
51
108
|
setShowFormatter = _useState2[1];
|
|
52
109
|
var column = columns[columnIndex];
|
|
53
|
-
var isGhost = column.ghost;
|
|
54
|
-
var isSorted = sortColumn[column];
|
|
110
|
+
var isGhost = Boolean(column.ghost);
|
|
111
|
+
var isSorted = isGhost ? false : sortColumn[column];
|
|
55
112
|
var firstCell = columnIndex === 0;
|
|
56
|
-
var
|
|
57
|
-
|
|
113
|
+
var _ref3 = colMeta[isGhost ? '' : column] || {},
|
|
114
|
+
columnStats = _ref3.columnStats,
|
|
115
|
+
isLoadingStats = _ref3.isLoadingStats,
|
|
116
|
+
type = _ref3.type,
|
|
117
|
+
format = _ref3.format;
|
|
118
|
+
var isFormatted = isGhost ? false : Boolean((_colMeta$column = colMeta[column]) === null || _colMeta$column === void 0 ? void 0 : _colMeta$column.displayFormat);
|
|
119
|
+
var formatLabels = isFormatted && !isGhost ? getFieldFormatLabels(colMeta[column].type) : [];
|
|
120
|
+
useEffect(function () {
|
|
121
|
+
if (!isGhost && !columnStats && !isLoadingStats && dataId && showStats && hasStats && loadColumnStats) {
|
|
122
|
+
loadColumnStats(dataId, column);
|
|
123
|
+
}
|
|
124
|
+
}, [isGhost, columnStats, isLoadingStats, column, dataId, showStats, hasStats, loadColumnStats]);
|
|
58
125
|
var onSortTable = useCallback(function () {
|
|
59
|
-
|
|
60
|
-
}, [sortTableColumn, column]);
|
|
126
|
+
if (!isGhost) sortTableColumn === null || sortTableColumn === void 0 || sortTableColumn(column);
|
|
127
|
+
}, [sortTableColumn, isGhost, column]);
|
|
61
128
|
var onToggleOptionMenu = useCallback(function () {
|
|
62
|
-
|
|
63
|
-
}, [toggleMoreOptions, column]);
|
|
129
|
+
if (!isGhost) toggleMoreOptions(column);
|
|
130
|
+
}, [toggleMoreOptions, isGhost, column]);
|
|
64
131
|
var onPin = useCallback(function () {
|
|
65
|
-
|
|
66
|
-
}, [pinTableColumn, column]);
|
|
132
|
+
if (!isGhost) pinTableColumn(column);
|
|
133
|
+
}, [pinTableColumn, isGhost, column]);
|
|
67
134
|
var onCopy = useCallback(function () {
|
|
68
|
-
|
|
69
|
-
}, [copyTableColumn, column]);
|
|
135
|
+
if (!isGhost) copyTableColumn(column);
|
|
136
|
+
}, [copyTableColumn, isGhost, column]);
|
|
70
137
|
var onSetDisplayFormat = useCallback(function (displayFormat) {
|
|
71
|
-
setColumnDisplayFormat === null || setColumnDisplayFormat === void 0 || setColumnDisplayFormat(_defineProperty({}, column, displayFormat.format));
|
|
72
|
-
}, [column, setColumnDisplayFormat]);
|
|
138
|
+
if (!isGhost) setColumnDisplayFormat === null || setColumnDisplayFormat === void 0 || setColumnDisplayFormat(_defineProperty({}, column, displayFormat.format));
|
|
139
|
+
}, [column, isGhost, setColumnDisplayFormat]);
|
|
73
140
|
var onToggleDisplayFormat = useCallback(function () {
|
|
74
141
|
setShowFormatter(!showFormatter);
|
|
75
142
|
}, [showFormatter]);
|
|
76
|
-
|
|
77
|
-
className:
|
|
78
|
-
key: key,
|
|
79
|
-
style: style,
|
|
143
|
+
var headerDetails = isGhost ? /*#__PURE__*/React.createElement("div", null) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("section", {
|
|
144
|
+
className: "details",
|
|
80
145
|
onClick: function onClick(e) {
|
|
81
|
-
e.shiftKey
|
|
146
|
+
if (e.shiftKey && !isGhost) sortTableColumn === null || sortTableColumn === void 0 || sortTableColumn(column);
|
|
82
147
|
},
|
|
83
|
-
onDoubleClick: onSortTable
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
148
|
+
onDoubleClick: onSortTable
|
|
149
|
+
}, /*#__PURE__*/React.createElement(FieldToken, {
|
|
150
|
+
type: colMeta[column].type
|
|
151
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
88
152
|
className: "col-name"
|
|
89
153
|
}, /*#__PURE__*/React.createElement("div", {
|
|
90
154
|
className: "col-name__left"
|
|
@@ -117,9 +181,7 @@ var HeaderCellFactory = function HeaderCellFactory(FieldToken) {
|
|
|
117
181
|
onClick: onToggleOptionMenu
|
|
118
182
|
}, /*#__PURE__*/React.createElement(VertThreeDots, {
|
|
119
183
|
height: "14px"
|
|
120
|
-
}))), /*#__PURE__*/React.createElement(
|
|
121
|
-
type: colMeta[column].type
|
|
122
|
-
})), /*#__PURE__*/React.createElement("section", {
|
|
184
|
+
})))), /*#__PURE__*/React.createElement("section", {
|
|
123
185
|
className: "options"
|
|
124
186
|
}, /*#__PURE__*/React.createElement(OptionDropdown, {
|
|
125
187
|
isOpened: moreOptionsColumn === column,
|
|
@@ -132,10 +194,27 @@ var HeaderCellFactory = function HeaderCellFactory(FieldToken) {
|
|
|
132
194
|
pinTableColumn: onPin,
|
|
133
195
|
copyTableColumn: onCopy,
|
|
134
196
|
setDisplayFormat: setColumnDisplayFormat ? onSetDisplayFormat : undefined
|
|
135
|
-
})))
|
|
197
|
+
})));
|
|
198
|
+
return /*#__PURE__*/React.createElement(StyledHeaderCell, {
|
|
199
|
+
className: classnames('header-cell', _defineProperty(_defineProperty(_defineProperty({}, "column-".concat(columnIndex), true), 'pinned-header-cell', isPinned), 'first-cell', firstCell)),
|
|
200
|
+
key: key,
|
|
201
|
+
style: style,
|
|
202
|
+
$hasStats: Boolean(hasStats),
|
|
203
|
+
$firstCell: firstCell,
|
|
204
|
+
title: isGhost ? undefined : column
|
|
205
|
+
}, hasStats && !isGhost ? /*#__PURE__*/React.createElement("div", {
|
|
206
|
+
className: "header-cell__top"
|
|
207
|
+
}, headerDetails) : headerDetails, hasStats && !isGhost ? /*#__PURE__*/React.createElement(StyledStatsSpacer, null) : null, hasStats && !isGhost ? /*#__PURE__*/React.createElement(StyledBottomStats, {
|
|
208
|
+
className: "bottom-stats",
|
|
209
|
+
$showStats: showStats
|
|
210
|
+
}, isLoadingStats ? /*#__PURE__*/React.createElement(StyledLoading, null, /*#__PURE__*/React.createElement(LoadingSpinner, null)) : columnStats ? /*#__PURE__*/React.createElement(ColumnStatisticsSection, {
|
|
211
|
+
columnStats: columnStats,
|
|
212
|
+
type: type,
|
|
213
|
+
format: format
|
|
214
|
+
}) : null) : null);
|
|
136
215
|
};
|
|
137
216
|
return HeaderCell;
|
|
138
|
-
}
|
|
139
|
-
HeaderCellFactory.deps = [FieldTokenFactory];
|
|
217
|
+
}
|
|
218
|
+
HeaderCellFactory.deps = [FieldTokenFactory, ColumnStatisticsNumericFactory, ColumnStatisticsTimeFactory];
|
|
140
219
|
export default HeaderCellFactory;
|
|
141
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlQ2FsbGJhY2siLCJzdHlsZWQiLCJjbGFzc25hbWVzIiwiQnV0dG9uIiwiQXJyb3dVcCIsIkFycm93RG93biIsIlZlcnRUaHJlZURvdHMiLCJIYXNoIiwiU09SVF9PUkRFUiIsIk9wdGlvbkRyb3Bkb3duIiwiRm9ybWF0dGVyRHJvcGRvd24iLCJnZXRGaWVsZEZvcm1hdExhYmVscyIsIkZpZWxkVG9rZW5GYWN0b3J5IiwiU3R5bGVkSGVhZGVyQ2VsbCIsImRpdiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJwcm9wcyIsInRoZW1lIiwiaGVhZGVyQ2VsbEJvcmRlckNvbG9yIiwiaGVhZGVyUGFkZGluZ1RvcCIsImhlYWRlclBhZGRpbmdCb3R0b20iLCJjZWxsUGFkZGluZ1NpZGUiLCJoZWFkZXJDZWxsQmFja2dyb3VuZCIsIkhlYWRlckNlbGxGYWN0b3J5IiwiRmllbGRUb2tlbiIsIkhlYWRlckNlbGwiLCJfcmVmIiwiX2NvbE1ldGEkY29sdW1uIiwiY2VsbEluZm8iLCJjb2x1bW5zIiwiaXNQaW5uZWQiLCJ0b2dnbGVNb3JlT3B0aW9ucyIsIm1vcmVPcHRpb25zQ29sdW1uIiwiY29sdW1uSW5kZXgiLCJrZXkiLCJzdHlsZSIsImNvbE1ldGEiLCJzb3J0Q29sdW1uIiwic29ydFRhYmxlQ29sdW1uIiwicGluVGFibGVDb2x1bW4iLCJjb3B5VGFibGVDb2x1bW4iLCJzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2hvd0Zvcm1hdHRlciIsInNldFNob3dGb3JtYXR0ZXIiLCJjb2x1bW4iLCJpc0dob3N0IiwiZ2hvc3QiLCJpc1NvcnRlZCIsImZpcnN0Q2VsbCIsImlzRm9ybWF0dGVkIiwiQm9vbGVhbiIsImRpc3BsYXlGb3JtYXQiLCJmb3JtYXRMYWJlbHMiLCJ0eXBlIiwib25Tb3J0VGFibGUiLCJvblRvZ2dsZU9wdGlvbk1lbnUiLCJvblBpbiIsIm9uQ29weSIsIm9uU2V0RGlzcGxheUZvcm1hdCIsIl9kZWZpbmVQcm9wZXJ0eSIsImZvcm1hdCIsIm9uVG9nZ2xlRGlzcGxheUZvcm1hdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjb25jYXQiLCJvbkNsaWNrIiwiZSIsInNoaWZ0S2V5Iiwib25Eb3VibGVDbGljayIsInRpdGxlIiwiRnJhZ21lbnQiLCJuYW1lIiwiQVNDRU5ESU5HIiwiaGVpZ2h0IiwibGVmdCIsInRvcCIsImlzT3BlbmVkIiwic2V0RGlzcGxheUZvcm1hdCIsIm9uQ2xvc2UiLCJtb2RlIiwidW5kZWZpbmVkIiwiZGVwcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9oZWFkZXItY2VsbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q1NTUHJvcGVydGllcywgdXNlU3RhdGUsIHVzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuL2J1dHRvbic7XG5pbXBvcnQge0Fycm93VXAsIEFycm93RG93biwgVmVydFRocmVlRG90cywgSGFzaH0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7U09SVF9PUkRFUn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IE9wdGlvbkRyb3Bkb3duLCB7Rm9ybWF0dGVyRHJvcGRvd259IGZyb20gJy4vb3B0aW9uLWRyb3Bkb3duJztcbmltcG9ydCB7Z2V0RmllbGRGb3JtYXRMYWJlbHN9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtDb2xNZXRhfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCBGaWVsZFRva2VuRmFjdG9yeSwge0ZpZWxkVG9rZW5Qcm9wc30gZnJvbSAnLi4vLi4vY29tbW9uL2ZpZWxkLXRva2VuJztcbmltcG9ydCB7RGF0YVRhYmxlUHJvcHN9IGZyb20gJy4vaW5kZXgnO1xuXG5jb25zdCBTdHlsZWRIZWFkZXJDZWxsID0gc3R5bGVkLmRpdmBcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGVhZGVyQ2VsbEJvcmRlckNvbG9yfTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGVhZGVyQ2VsbEJvcmRlckNvbG9yfTtcbiAgcGFkZGluZy10b3A6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGVhZGVyUGFkZGluZ1RvcH1weDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGVhZGVyUGFkZGluZ0JvdHRvbX1weDtcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNlbGxQYWRkaW5nU2lkZX1weDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmhlYWRlckNlbGxCYWNrZ3JvdW5kfTtcblxuICAubi1zb3J0LWlkeCB7XG4gICAgZm9udC1zaXplOiA5cHg7XG4gIH1cbiAgLmRldGFpbHMge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAuY29sLW5hbWUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIC5jb2wtbmFtZV9fbGVmdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29sLW5hbWVfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubW9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxuXG4gIC5jb2wtbmFtZV9fZm9ybWF0IHN2ZyB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHN0cm9rZS13aWR0aDogMTtcbiAgfVxuYDtcblxudHlwZSBDZWxsSW5mbyA9IHtcbiAgY29sdW1uSW5kZXg6IG51bWJlcjtcbiAgaXNTY3JvbGxpbmc6IGJvb2xlYW47XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAga2V5OiBzdHJpbmc7XG4gIHBhcmVudDogYW55O1xuICByb3dJbmRleDogbnVtYmVyO1xuICBzdHlsZTogQ1NTUHJvcGVydGllcztcbn07XG5cbnR5cGUgSGVhZGVyQ2VsbFByb3BzID0ge1xuICAvLyBwYXNzZWQgZG93biBmcm9tIHJlYWN0IHZpcnR1YWxpemVkIEdyaWRcbiAgY2VsbEluZm86IENlbGxJbmZvO1xuICBjb2x1bW5zOiBEYXRhVGFibGVQcm9wc1snY29sdW1ucyddO1xuICBjb2xNZXRhPzogQ29sTWV0YTtcbiAgaXNQaW5uZWQ/OiBib29sZWFuO1xuICBzaG93U3RhdHM/OiBib29sZWFuO1xuICBwcm9wczogRGF0YVRhYmxlUHJvcHM7XG4gIHRvZ2dsZU1vcmVPcHRpb25zOiAobW9yZU9wdGlvbnNDb2x1bW46IHN0cmluZykgPT4gdm9pZDtcbiAgbW9yZU9wdGlvbnNDb2x1bW46IG51bGwgfCBzdHJpbmc7XG4gIHN0eWxlOiBDU1NQcm9wZXJ0aWVzO1xufTtcblxuY29uc3QgSGVhZGVyQ2VsbEZhY3RvcnkgPSAoRmllbGRUb2tlbjogUmVhY3QuRkM8RmllbGRUb2tlblByb3BzPikgPT4ge1xuICBjb25zdCBIZWFkZXJDZWxsID0gKHtcbiAgICBjZWxsSW5mbyxcbiAgICBjb2x1bW5zLFxuICAgIGlzUGlubmVkLFxuICAgIHByb3BzLFxuICAgIHRvZ2dsZU1vcmVPcHRpb25zLFxuICAgIG1vcmVPcHRpb25zQ29sdW1uXG4gIH06IEhlYWRlckNlbGxQcm9wcykgPT4ge1xuICAgIGNvbnN0IHtjb2x1bW5JbmRleCwga2V5LCBzdHlsZX0gPSBjZWxsSW5mbztcbiAgICBjb25zdCB7XG4gICAgICBjb2xNZXRhLFxuICAgICAgc29ydENvbHVtbixcbiAgICAgIHNvcnRUYWJsZUNvbHVtbixcbiAgICAgIHBpblRhYmxlQ29sdW1uLFxuICAgICAgY29weVRhYmxlQ29sdW1uLFxuICAgICAgc2V0Q29sdW1uRGlzcGxheUZvcm1hdFxuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBbc2hvd0Zvcm1hdHRlciwgc2V0U2hvd0Zvcm1hdHRlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgY29sdW1uID0gY29sdW1uc1tjb2x1bW5JbmRleF07XG5cbiAgICBjb25zdCBpc0dob3N0ID0gY29sdW1uLmdob3N0O1xuICAgIGNvbnN0IGlzU29ydGVkID0gc29ydENvbHVtbltjb2x1bW5dO1xuICAgIGNvbnN0IGZpcnN0Q2VsbCA9IGNvbHVtbkluZGV4ID09PSAwO1xuICAgIGNvbnN0IGlzRm9ybWF0dGVkID0gQm9vbGVhbihjb2xNZXRhW2NvbHVtbl0/LmRpc3BsYXlGb3JtYXQpO1xuICAgIGNvbnN0IGZvcm1hdExhYmVscyA9IGlzRm9ybWF0dGVkID8gZ2V0RmllbGRGb3JtYXRMYWJlbHMoY29sTWV0YVtjb2x1bW5dLnR5cGUpIDogW107XG4gICAgY29uc3Qgb25Tb3J0VGFibGUgPSB1c2VDYWxsYmFjaygoKSA9PiBzb3J0VGFibGVDb2x1bW4/Lihjb2x1bW4pLCBbc29ydFRhYmxlQ29sdW1uLCBjb2x1bW5dKTtcbiAgICBjb25zdCBvblRvZ2dsZU9wdGlvbk1lbnUgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHRvZ2dsZU1vcmVPcHRpb25zKGNvbHVtbiksXG4gICAgICBbdG9nZ2xlTW9yZU9wdGlvbnMsIGNvbHVtbl1cbiAgICApO1xuICAgIGNvbnN0IG9uUGluID0gdXNlQ2FsbGJhY2soKCkgPT4gcGluVGFibGVDb2x1bW4oY29sdW1uKSwgW3BpblRhYmxlQ29sdW1uLCBjb2x1bW5dKTtcbiAgICBjb25zdCBvbkNvcHkgPSB1c2VDYWxsYmFjaygoKSA9PiBjb3B5VGFibGVDb2x1bW4oY29sdW1uKSwgW2NvcHlUYWJsZUNvbHVtbiwgY29sdW1uXSk7XG4gICAgY29uc3Qgb25TZXREaXNwbGF5Rm9ybWF0ID0gdXNlQ2FsbGJhY2soXG4gICAgICBkaXNwbGF5Rm9ybWF0ID0+IHtcbiAgICAgICAgc2V0Q29sdW1uRGlzcGxheUZvcm1hdD8uKHtbY29sdW1uXTogZGlzcGxheUZvcm1hdC5mb3JtYXR9KTtcbiAgICAgIH0sXG4gICAgICBbY29sdW1uLCBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0XVxuICAgICk7XG5cbiAgICBjb25zdCBvblRvZ2dsZURpc3BsYXlGb3JtYXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRTaG93Rm9ybWF0dGVyKCFzaG93Rm9ybWF0dGVyKTtcbiAgICB9LCBbc2hvd0Zvcm1hdHRlcl0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRIZWFkZXJDZWxsXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnaGVhZGVyLWNlbGwnLCB7XG4gICAgICAgICAgW2Bjb2x1bW4tJHtjb2x1bW5JbmRleH1gXTogdHJ1ZSxcbiAgICAgICAgICAncGlubmVkLWhlYWRlci1jZWxsJzogaXNQaW5uZWQsXG4gICAgICAgICAgJ2ZpcnN0LWNlbGwnOiBmaXJzdENlbGxcbiAgICAgICAgfSl9XG4gICAgICAgIGtleT17a2V5fVxuICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgIGUuc2hpZnRLZXkgPyBzb3J0VGFibGVDb2x1bW4oY29sdW1uKSA6IG51bGw7XG4gICAgICAgIH19XG4gICAgICAgIG9uRG91YmxlQ2xpY2s9e29uU29ydFRhYmxlfVxuICAgICAgICB0aXRsZT17Y29sdW1ufVxuICAgICAgPlxuICAgICAgICB7aXNHaG9zdCA/IChcbiAgICAgICAgICA8ZGl2IC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImRldGFpbHNcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbmFtZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW5hbWVfX2xlZnRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW5hbWVfX25hbWVcIj57Y29sTWV0YVtjb2x1bW5dLm5hbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cImNvbC1uYW1lX19zb3J0XCIgb25DbGljaz17b25Tb3J0VGFibGV9PlxuICAgICAgICAgICAgICAgICAgICB7aXNTb3J0ZWQgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgaXNTb3J0ZWQgPT09IFNPUlRfT1JERVIuQVNDRU5ESU5HID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEFycm93VXAgaGVpZ2h0PVwiMTRweFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxBcnJvd0Rvd24gaGVpZ2h0PVwiMTRweFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJjb2wtbmFtZV9fZm9ybWF0XCIgb25DbGljaz17b25Ub2dnbGVEaXNwbGF5Rm9ybWF0fT5cbiAgICAgICAgICAgICAgICAgICAge2lzRm9ybWF0dGVkID8gPEhhc2ggaGVpZ2h0PVwiMTRweFwiIC8+IDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlckRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgbGVmdD17MH1cbiAgICAgICAgICAgICAgICAgICAgICB0b3A9ezB9XG4gICAgICAgICAgICAgICAgICAgICAgaXNPcGVuZWQ9e2lzRm9ybWF0dGVkICYmIHNob3dGb3JtYXR0ZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUZvcm1hdD17Y29sTWV0YVtjb2x1bW5dLmRpc3BsYXlGb3JtYXR9XG4gICAgICAgICAgICAgICAgICAgICAgc2V0RGlzcGxheUZvcm1hdD17b25TZXREaXNwbGF5Rm9ybWF0fVxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U9eygpID0+IHNldFNob3dGb3JtYXR0ZXIoZmFsc2UpfVxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdExhYmVscz17Zm9ybWF0TGFiZWxzfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJtb3JlXCIgb25DbGljaz17b25Ub2dnbGVPcHRpb25NZW51fT5cbiAgICAgICAgICAgICAgICAgIDxWZXJ0VGhyZWVEb3RzIGhlaWdodD1cIjE0cHhcIiAvPlxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPEZpZWxkVG9rZW4gdHlwZT17Y29sTWV0YVtjb2x1bW5dLnR5cGV9IC8+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cIm9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgPE9wdGlvbkRyb3Bkb3duXG4gICAgICAgICAgICAgICAgaXNPcGVuZWQ9e21vcmVPcHRpb25zQ29sdW1uID09PSBjb2x1bW59XG4gICAgICAgICAgICAgICAgY29sdW1uPXtjb2x1bW59XG4gICAgICAgICAgICAgICAgY29sTWV0YT17Y29sTWV0YX1cbiAgICAgICAgICAgICAgICB0b2dnbGVNb3JlT3B0aW9ucz17dG9nZ2xlTW9yZU9wdGlvbnN9XG4gICAgICAgICAgICAgICAgc29ydFRhYmxlQ29sdW1uPXtcbiAgICAgICAgICAgICAgICAgIHNvcnRUYWJsZUNvbHVtbiA/IG1vZGUgPT4gc29ydFRhYmxlQ29sdW1uKGNvbHVtbiwgbW9kZSkgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGluVGFibGVDb2x1bW49e29uUGlufVxuICAgICAgICAgICAgICAgIGNvcHlUYWJsZUNvbHVtbj17b25Db3B5fVxuICAgICAgICAgICAgICAgIHNldERpc3BsYXlGb3JtYXQ9e3NldENvbHVtbkRpc3BsYXlGb3JtYXQgPyBvblNldERpc3BsYXlGb3JtYXQgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZEhlYWRlckNlbGw+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIEhlYWRlckNlbGw7XG59O1xuSGVhZGVyQ2VsbEZhY3RvcnkuZGVwcyA9IFtGaWVsZFRva2VuRmFjdG9yeV07XG5leHBvcnQgZGVmYXVsdCBIZWFkZXJDZWxsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxJQUFrQkMsUUFBUSxFQUFFQyxXQUFXLFFBQU8sT0FBTztBQUNqRSxPQUFPQyxNQUFNLE1BQU0sbUJBQW1CO0FBQ3RDLE9BQU9DLFVBQVUsTUFBTSxZQUFZO0FBQ25DLE9BQU9DLE1BQU0sTUFBTSxVQUFVO0FBQzdCLFNBQVFDLE9BQU8sRUFBRUMsU0FBUyxFQUFFQyxhQUFhLEVBQUVDLElBQUksUUFBTyxvQkFBb0I7QUFDMUUsU0FBUUMsVUFBVSxRQUFPLHNCQUFzQjtBQUMvQyxPQUFPQyxjQUFjLElBQUdDLGlCQUFpQixRQUFPLG1CQUFtQjtBQUNuRSxTQUFRQyxvQkFBb0IsUUFBTyxrQkFBa0I7QUFFckQsT0FBT0MsaUJBQWlCLE1BQXlCLDBCQUEwQjtBQUczRSxJQUFNQyxnQkFBZ0IsR0FBR1osTUFBTSxDQUFDYSxHQUFHLENBQUFDLGVBQUEsS0FBQUEsZUFBQSxHQUFBQyxzQkFBQSx3akNBQ04sVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyxxQkFBcUI7QUFBQSxHQUM3QyxVQUFBRixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLHFCQUFxQjtBQUFBLEdBQ25ELFVBQUFGLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0UsZ0JBQWdCO0FBQUEsR0FFbEMsVUFBQUgsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDRyxtQkFBbUI7QUFBQSxHQUMxQyxVQUFBSixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNJLGVBQWU7QUFBQSxHQUtoQyxVQUFBTCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENB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
|
|
220
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJzdHlsZWQiLCJjbGFzc25hbWVzIiwiQnV0dG9uIiwiQXJyb3dVcCIsIkFycm93RG93biIsIlZlcnRUaHJlZURvdHMiLCJIYXNoIiwiU09SVF9PUkRFUiIsIk9wdGlvbkRyb3Bkb3duIiwiRm9ybWF0dGVyRHJvcGRvd24iLCJDb2x1bW5TdGF0c1R5cGUiLCJnZXRGaWVsZEZvcm1hdExhYmVscyIsIkZpZWxkVG9rZW5GYWN0b3J5IiwiTG9hZGluZ1NwaW5uZXIiLCJDb2x1bW5TdGF0aXN0aWNzQ2F0ZWdvcmljYWwiLCJDb2x1bW5TdGF0aXN0aWNzTnVtZXJpY0ZhY3RvcnkiLCJDb2x1bW5TdGF0aXN0aWNzVGltZUZhY3RvcnkiLCJTdHlsZWRIZWFkZXJDZWxsIiwiZGl2IiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbCIsInByb3BzIiwidGhlbWUiLCJoZWFkZXJDZWxsQm9yZGVyQ29sb3IiLCIkaGFzU3RhdHMiLCJjb25jYXQiLCJjZWxsQm9yZGVyQ29sb3IiLCJoZWFkZXJQYWRkaW5nVG9wIiwiaGVhZGVyUGFkZGluZ0JvdHRvbSIsImNlbGxQYWRkaW5nU2lkZSIsImhlYWRlckNlbGxCYWNrZ3JvdW5kIiwiaGVhZGVyUm93SGVpZ2h0IiwiJGZpcnN0Q2VsbCIsImVkZ2VDZWxsUGFkZGluZ1NpZGUiLCJjZWxsRm9udFNpemUiLCJTdHlsZWRCb3R0b21TdGF0cyIsIl90ZW1wbGF0ZU9iamVjdDIiLCJoZWFkZXJDZWxsU3RhdHNCYWNrZ3JvdW5kIiwiJHNob3dTdGF0cyIsIlN0eWxlZExvYWRpbmciLCJfdGVtcGxhdGVPYmplY3QzIiwiU3R5bGVkU3RhdHNTcGFjZXIiLCJfdGVtcGxhdGVPYmplY3Q0IiwiaGVhZGVyU3RhdHNDb250cm9sSGVpZ2h0IiwiSGVhZGVyQ2VsbEZhY3RvcnkiLCJGaWVsZFRva2VuIiwiQ29sdW1uU3RhdGlzdGljc051bWVyaWMiLCJDb2x1bW5TdGF0aXN0aWNzVGltZSIsIkNvbHVtblN0YXRpc3RpY3NTZWN0aW9uIiwiX3JlZiIsImNvbHVtblN0YXRzIiwidHlwZSIsImZvcm1hdCIsIm51bWVyaWMiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJjYXRlZ29yaWNhbCIsInRpbWUiLCJIZWFkZXJDZWxsIiwiX3JlZjIiLCJfY29sTWV0YSRjb2x1bW4iLCJjZWxsSW5mbyIsImNvbHVtbnMiLCJpc1Bpbm5lZCIsInNob3dTdGF0cyIsInRvZ2dsZU1vcmVPcHRpb25zIiwibW9yZU9wdGlvbnNDb2x1bW4iLCJjb2x1bW5JbmRleCIsImtleSIsInN0eWxlIiwiY29sTWV0YSIsInNvcnRDb2x1bW4iLCJzb3J0VGFibGVDb2x1bW4iLCJwaW5UYWJsZUNvbHVtbiIsImNvcHlUYWJsZUNvbHVtbiIsInNldENvbHVtbkRpc3BsYXlGb3JtYXQiLCJoYXNTdGF0cyIsImRhdGFJZCIsImxvYWRDb2x1bW5TdGF0cyIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNob3dGb3JtYXR0ZXIiLCJzZXRTaG93Rm9ybWF0dGVyIiwiY29sdW1uIiwiaXNHaG9zdCIsIkJvb2xlYW4iLCJnaG9zdCIsImlzU29ydGVkIiwiZmlyc3RDZWxsIiwiX3JlZjMiLCJpc0xvYWRpbmdTdGF0cyIsImlzRm9ybWF0dGVkIiwiZGlzcGxheUZvcm1hdCIsImZvcm1hdExhYmVscyIsIm9uU29ydFRhYmxlIiwib25Ub2dnbGVPcHRpb25NZW51Iiwib25QaW4iLCJvbkNvcHkiLCJvblNldERpc3BsYXlGb3JtYXQiLCJfZGVmaW5lUHJvcGVydHkiLCJvblRvZ2dsZURpc3BsYXlGb3JtYXQiLCJoZWFkZXJEZXRhaWxzIiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwiZSIsInNoaWZ0S2V5Iiwib25Eb3VibGVDbGljayIsIm5hbWUiLCJBU0NFTkRJTkciLCJoZWlnaHQiLCJsZWZ0IiwidG9wIiwiaXNPcGVuZWQiLCJzZXREaXNwbGF5Rm9ybWF0Iiwib25DbG9zZSIsIm1vZGUiLCJ1bmRlZmluZWQiLCJ0aXRsZSIsImRlcHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvaGVhZGVyLWNlbGwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NTU1Byb3BlcnRpZXMsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuL2J1dHRvbic7XG5pbXBvcnQge0Fycm93VXAsIEFycm93RG93biwgVmVydFRocmVlRG90cywgSGFzaH0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7U09SVF9PUkRFUn0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IE9wdGlvbkRyb3Bkb3duLCB7Rm9ybWF0dGVyRHJvcGRvd259IGZyb20gJy4vb3B0aW9uLWRyb3Bkb3duJztcbmltcG9ydCB7Q29sdW1uU3RhdHNUeXBlLCBnZXRGaWVsZEZvcm1hdExhYmVsc30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0NvbE1ldGF9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IEZpZWxkVG9rZW5GYWN0b3J5LCB7RmllbGRUb2tlblByb3BzfSBmcm9tICcuLi8uLi9jb21tb24vZmllbGQtdG9rZW4nO1xuaW1wb3J0IHtEYXRhVGFibGVQcm9wc30gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgTG9hZGluZ1NwaW5uZXIgZnJvbSAnLi4vbG9hZGluZy1zcGlubmVyJztcbmltcG9ydCBDb2x1bW5TdGF0aXN0aWNzQ2F0ZWdvcmljYWwgZnJvbSAnLi9jb2x1bW4tc3RhdGlzdGljcy1jYXRlZ29yaWMnO1xuaW1wb3J0IENvbHVtblN0YXRpc3RpY3NOdW1lcmljRmFjdG9yeSwge1xuICBDb2x1bW5TdGF0aXN0aWNzTnVtZXJpY1Byb3BzXG59IGZyb20gJy4vY29sdW1uLXN0YXRpc3RpY3MtbnVtZXJpYyc7XG5pbXBvcnQgQ29sdW1uU3RhdGlzdGljc1RpbWVGYWN0b3J5LCB7Q29sdW1uU3RhdGlzdGljc1RpbWVQcm9wc30gZnJvbSAnLi9jb2x1bW4tc3RhdGlzdGljcy10aW1lJztcblxuY29uc3QgU3R5bGVkSGVhZGVyQ2VsbCA9IHN0eWxlZC5kaXY8eyRoYXNTdGF0cz86IGJvb2xlYW47ICRmaXJzdENlbGw/OiBib29sZWFufT5gXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmhlYWRlckNlbGxCb3JkZXJDb2xvcn07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmhlYWRlckNlbGxCb3JkZXJDb2xvcn07XG4gIGJvcmRlci1yaWdodDogJHtwcm9wcyA9PiAocHJvcHMuJGhhc1N0YXRzID8gYDFweCBzb2xpZCAke3Byb3BzLnRoZW1lLmNlbGxCb3JkZXJDb2xvcn1gIDogJ25vbmUnKX07XG4gIHBhZGRpbmctdG9wOiAke3Byb3BzID0+IChwcm9wcy4kaGFzU3RhdHMgPyAwIDogcHJvcHMudGhlbWUuaGVhZGVyUGFkZGluZ1RvcCl9cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy4kaGFzU3RhdHMgPyAwIDogcHJvcHMudGhlbWUuaGVhZGVyUGFkZGluZ0JvdHRvbSl9cHg7XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiAocHJvcHMuJGhhc1N0YXRzID8gMCA6IHByb3BzLnRoZW1lLmNlbGxQYWRkaW5nU2lkZSl9cHg7XG4gIGFsaWduLWl0ZW1zOiAke3Byb3BzID0+IChwcm9wcy4kaGFzU3RhdHMgPyAnc3RyZXRjaCcgOiAnY2VudGVyJyl9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7cHJvcHMgPT4gKHByb3BzLiRoYXNTdGF0cyA/ICdmbGV4LXN0YXJ0JyA6ICdzcGFjZS1iZXR3ZWVuJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogJHtwcm9wcyA9PiAocHJvcHMuJGhhc1N0YXRzID8gJ2NvbHVtbicgOiAncm93Jyl9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmhlYWRlckNlbGxCYWNrZ3JvdW5kfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubi1zb3J0LWlkeCB7XG4gICAgZm9udC1zaXplOiA5cHg7XG4gIH1cbiAgLmhlYWRlci1jZWxsX190b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGVhZGVyUm93SGVpZ2h0fXB4O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy10b3A6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGVhZGVyUGFkZGluZ1RvcH1weDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJQYWRkaW5nQm90dG9tfXB4O1xuICAgIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuJGZpcnN0Q2VsbFxuICAgICAgICA/IHByb3BzLnRoZW1lLmNlbGxQYWRkaW5nU2lkZSArIHByb3BzLnRoZW1lLmVkZ2VDZWxsUGFkZGluZ1NpZGVcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jZWxsUGFkZGluZ1NpZGV9cHg7XG4gIH1cbiAgLmRldGFpbHMge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmNlbGxGb250U2l6ZX1weDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgLmNvbC1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDE7XG5cbiAgICAgIC5jb2wtbmFtZV9fbGVmdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29sLW5hbWVfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubW9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxuXG4gIC5jb2wtbmFtZV9fZm9ybWF0IHN2ZyB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHN0cm9rZS13aWR0aDogMTtcbiAgfVxuYDtcblxudHlwZSBTdHlsZWRCb3R0b21TdGF0c1Byb3BzID0ge1xuICAkc2hvd1N0YXRzPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZEJvdHRvbVN0YXRzID0gc3R5bGVkLmRpdjxTdHlsZWRCb3R0b21TdGF0c1Byb3BzPmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJDZWxsU3RhdHNCYWNrZ3JvdW5kfTtcbiAgZmxleC1ncm93OiAxO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy4kc2hvd1N0YXRzID8gMSA6IDApfTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuJHNob3dTdGF0cyA/ICdhdXRvJyA6ICdub25lJyl9O1xuICB3aWR0aDogMTAwJTtcbmA7XG5cbmNvbnN0IFN0eWxlZExvYWRpbmcgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuY29uc3QgU3R5bGVkU3RhdHNTcGFjZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaGVhZGVyU3RhdHNDb250cm9sSGVpZ2h0fXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1ncm93OiAwO1xuYDtcblxudHlwZSBDZWxsSW5mbyA9IHtcbiAgY29sdW1uSW5kZXg6IG51bWJlcjtcbiAgaXNTY3JvbGxpbmc6IGJvb2xlYW47XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAga2V5OiBzdHJpbmc7XG4gIHBhcmVudDogYW55O1xuICByb3dJbmRleDogbnVtYmVyO1xuICBzdHlsZTogQ1NTUHJvcGVydGllcztcbn07XG5cbmV4cG9ydCB0eXBlIEhlYWRlckNlbGxQcm9wcyA9IHtcbiAgLy8gcGFzc2VkIGRvd24gZnJvbSByZWFjdCB2aXJ0dWFsaXplZCBHcmlkXG4gIGNlbGxJbmZvOiBDZWxsSW5mbztcbiAgY29sdW1uczogRGF0YVRhYmxlUHJvcHNbJ2NvbHVtbnMnXTtcbiAgY29sTWV0YT86IENvbE1ldGE7XG4gIGlzUGlubmVkPzogYm9vbGVhbjtcbiAgc2hvd1N0YXRzPzogYm9vbGVhbjtcbiAgcHJvcHM6IERhdGFUYWJsZVByb3BzO1xuICB0b2dnbGVNb3JlT3B0aW9uczogKG1vcmVPcHRpb25zQ29sdW1uOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG1vcmVPcHRpb25zQ29sdW1uOiBudWxsIHwgc3RyaW5nO1xuICBzdHlsZTogQ1NTUHJvcGVydGllcztcbn07XG5cbmZ1bmN0aW9uIEhlYWRlckNlbGxGYWN0b3J5KFxuICBGaWVsZFRva2VuOiBSZWFjdC5GQzxGaWVsZFRva2VuUHJvcHM+LFxuICBDb2x1bW5TdGF0aXN0aWNzTnVtZXJpYzogUmVhY3QuRkM8Q29sdW1uU3RhdGlzdGljc051bWVyaWNQcm9wcz4sXG4gIENvbHVtblN0YXRpc3RpY3NUaW1lOiBSZWFjdC5GQzxDb2x1bW5TdGF0aXN0aWNzVGltZVByb3BzPlxuKSB7XG4gIGNvbnN0IENvbHVtblN0YXRpc3RpY3NTZWN0aW9uOiBSZWFjdC5GQzx7XG4gICAgY29sdW1uU3RhdHM6IGFueTtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgZm9ybWF0Pzogc3RyaW5nO1xuICB9PiA9ICh7Y29sdW1uU3RhdHMsIHR5cGUsIGZvcm1hdH0pID0+IHtcbiAgICBzd2l0Y2ggKGNvbHVtblN0YXRzLnR5cGUpIHtcbiAgICAgIGNhc2UgQ29sdW1uU3RhdHNUeXBlLm51bWVyaWM6XG4gICAgICAgIHJldHVybiA8Q29sdW1uU3RhdGlzdGljc051bWVyaWMgey4uLmNvbHVtblN0YXRzfSB0eXBlPXt0eXBlfSAvPjtcbiAgICAgIGNhc2UgQ29sdW1uU3RhdHNUeXBlLmNhdGVnb3JpY2FsOlxuICAgICAgICByZXR1cm4gPENvbHVtblN0YXRpc3RpY3NDYXRlZ29yaWNhbCB7Li4uY29sdW1uU3RhdHN9IC8+O1xuICAgICAgY2FzZSBDb2x1bW5TdGF0c1R5cGUudGltZTpcbiAgICAgICAgcmV0dXJuIDxDb2x1bW5TdGF0aXN0aWNzVGltZSB7Li4uY29sdW1uU3RhdHN9IGZvcm1hdD17Zm9ybWF0fSAvPjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiA8ZGl2IC8+O1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBIZWFkZXJDZWxsID0gKHtcbiAgICBjZWxsSW5mbyxcbiAgICBjb2x1bW5zLFxuICAgIGlzUGlubmVkLFxuICAgIHNob3dTdGF0cyxcbiAgICBwcm9wcyxcbiAgICB0b2dnbGVNb3JlT3B0aW9ucyxcbiAgICBtb3JlT3B0aW9uc0NvbHVtblxuICB9OiBIZWFkZXJDZWxsUHJvcHMpID0+IHtcbiAgICBjb25zdCB7Y29sdW1uSW5kZXgsIGtleSwgc3R5bGV9ID0gY2VsbEluZm87XG4gICAgY29uc3Qge1xuICAgICAgY29sTWV0YSxcbiAgICAgIHNvcnRDb2x1bW4sXG4gICAgICBzb3J0VGFibGVDb2x1bW4sXG4gICAgICBwaW5UYWJsZUNvbHVtbixcbiAgICAgIGNvcHlUYWJsZUNvbHVtbixcbiAgICAgIHNldENvbHVtbkRpc3BsYXlGb3JtYXQsXG4gICAgICBoYXNTdGF0cyxcbiAgICAgIGRhdGFJZCxcbiAgICAgIGxvYWRDb2x1bW5TdGF0c1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBbc2hvd0Zvcm1hdHRlciwgc2V0U2hvd0Zvcm1hdHRlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgY29sdW1uID0gY29sdW1uc1tjb2x1bW5JbmRleF07XG5cbiAgICBjb25zdCBpc0dob3N0ID0gQm9vbGVhbihjb2x1bW4uZ2hvc3QpO1xuICAgIGNvbnN0IGlzU29ydGVkID0gaXNHaG9zdCA/IGZhbHNlIDogc29ydENvbHVtbltjb2x1bW5dO1xuICAgIGNvbnN0IGZpcnN0Q2VsbCA9IGNvbHVtbkluZGV4ID09PSAwO1xuICAgIGNvbnN0IHtjb2x1bW5TdGF0cywgaXNMb2FkaW5nU3RhdHMsIHR5cGUsIGZvcm1hdH0gPSBjb2xNZXRhW2lzR2hvc3QgPyAnJyA6IGNvbHVtbl0gfHwge307XG4gICAgY29uc3QgaXNGb3JtYXR0ZWQgPSBpc0dob3N0ID8gZmFsc2UgOiBCb29sZWFuKGNvbE1ldGFbY29sdW1uXT8uZGlzcGxheUZvcm1hdCk7XG4gICAgY29uc3QgZm9ybWF0TGFiZWxzID0gaXNGb3JtYXR0ZWQgJiYgIWlzR2hvc3QgPyBnZXRGaWVsZEZvcm1hdExhYmVscyhjb2xNZXRhW2NvbHVtbl0udHlwZSkgOiBbXTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgICFpc0dob3N0ICYmXG4gICAgICAgICFjb2x1bW5TdGF0cyAmJlxuICAgICAgICAhaXNMb2FkaW5nU3RhdHMgJiZcbiAgICAgICAgZGF0YUlkICYmXG4gICAgICAgIHNob3dTdGF0cyAmJlxuICAgICAgICBoYXNTdGF0cyAmJlxuICAgICAgICBsb2FkQ29sdW1uU3RhdHNcbiAgICAgICkge1xuICAgICAgICBsb2FkQ29sdW1uU3RhdHMoZGF0YUlkLCBjb2x1bW4pO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGlzR2hvc3QsXG4gICAgICBjb2x1bW5TdGF0cyxcbiAgICAgIGlzTG9hZGluZ1N0YXRzLFxuICAgICAgY29sdW1uLFxuICAgICAgZGF0YUlkLFxuICAgICAgc2hvd1N0YXRzLFxuICAgICAgaGFzU3RhdHMsXG4gICAgICBsb2FkQ29sdW1uU3RhdHNcbiAgICBdKTtcblxuICAgIGNvbnN0IG9uU29ydFRhYmxlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKCFpc0dob3N0KSBzb3J0VGFibGVDb2x1bW4/Lihjb2x1bW4pO1xuICAgIH0sIFtzb3J0VGFibGVDb2x1bW4sIGlzR2hvc3QsIGNvbHVtbl0pO1xuICAgIGNvbnN0IG9uVG9nZ2xlT3B0aW9uTWVudSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGlmICghaXNHaG9zdCkgdG9nZ2xlTW9yZU9wdGlvbnMoY29sdW1uKTtcbiAgICB9LCBbdG9nZ2xlTW9yZU9wdGlvbnMsIGlzR2hvc3QsIGNvbHVtbl0pO1xuICAgIGNvbnN0IG9uUGluID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKCFpc0dob3N0KSBwaW5UYWJsZUNvbHVtbihjb2x1bW4pO1xuICAgIH0sIFtwaW5UYWJsZUNvbHVtbiwgaXNHaG9zdCwgY29sdW1uXSk7XG4gICAgY29uc3Qgb25Db3B5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKCFpc0dob3N0KSBjb3B5VGFibGVDb2x1bW4oY29sdW1uKTtcbiAgICB9LCBbY29weVRhYmxlQ29sdW1uLCBpc0dob3N0LCBjb2x1bW5dKTtcbiAgICBjb25zdCBvblNldERpc3BsYXlGb3JtYXQgPSB1c2VDYWxsYmFjayhcbiAgICAgIGRpc3BsYXlGb3JtYXQgPT4ge1xuICAgICAgICBpZiAoIWlzR2hvc3QpIHNldENvbHVtbkRpc3BsYXlGb3JtYXQ/Lih7W2NvbHVtbl06IGRpc3BsYXlGb3JtYXQuZm9ybWF0fSk7XG4gICAgICB9LFxuICAgICAgW2NvbHVtbiwgaXNHaG9zdCwgc2V0Q29sdW1uRGlzcGxheUZvcm1hdF1cbiAgICApO1xuXG4gICAgY29uc3Qgb25Ub2dnbGVEaXNwbGF5Rm9ybWF0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0U2hvd0Zvcm1hdHRlcighc2hvd0Zvcm1hdHRlcik7XG4gICAgfSwgW3Nob3dGb3JtYXR0ZXJdKTtcblxuICAgIGNvbnN0IGhlYWRlckRldGFpbHMgPSBpc0dob3N0ID8gKFxuICAgICAgPGRpdiAvPlxuICAgICkgOiAoXG4gICAgICA8PlxuICAgICAgICA8c2VjdGlvblxuICAgICAgICAgIGNsYXNzTmFtZT1cImRldGFpbHNcIlxuICAgICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgICAgaWYgKGUuc2hpZnRLZXkgJiYgIWlzR2hvc3QpIHNvcnRUYWJsZUNvbHVtbj8uKGNvbHVtbik7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvbkRvdWJsZUNsaWNrPXtvblNvcnRUYWJsZX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGaWVsZFRva2VuIHR5cGU9e2NvbE1ldGFbY29sdW1uXS50eXBlfSAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW5hbWVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLW5hbWVfX2xlZnRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtbmFtZV9fbmFtZVwiPntjb2xNZXRhW2NvbHVtbl0ubmFtZX08L2Rpdj5cbiAgICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJjb2wtbmFtZV9fc29ydFwiIG9uQ2xpY2s9e29uU29ydFRhYmxlfT5cbiAgICAgICAgICAgICAgICB7aXNTb3J0ZWQgPyAoXG4gICAgICAgICAgICAgICAgICBpc1NvcnRlZCA9PT0gU09SVF9PUkRFUi5BU0NFTkRJTkcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxBcnJvd1VwIGhlaWdodD1cIjE0cHhcIiAvPlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPEFycm93RG93biBoZWlnaHQ9XCIxNHB4XCIgLz5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiY29sLW5hbWVfX2Zvcm1hdFwiIG9uQ2xpY2s9e29uVG9nZ2xlRGlzcGxheUZvcm1hdH0+XG4gICAgICAgICAgICAgICAge2lzRm9ybWF0dGVkID8gPEhhc2ggaGVpZ2h0PVwiMTRweFwiIC8+IDogbnVsbH1cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVyRHJvcGRvd25cbiAgICAgICAgICAgICAgICAgIGxlZnQ9ezB9XG4gICAgICAgICAgICAgICAgICB0b3A9ezB9XG4gICAgICAgICAgICAgICAgICBpc09wZW5lZD17aXNGb3JtYXR0ZWQgJiYgc2hvd0Zvcm1hdHRlcn1cbiAgICAgICAgICAgICAgICAgIGRpc3BsYXlGb3JtYXQ9e2NvbE1ldGFbY29sdW1uXS5kaXNwbGF5Rm9ybWF0fVxuICAgICAgICAgICAgICAgICAgc2V0RGlzcGxheUZvcm1hdD17b25TZXREaXNwbGF5Rm9ybWF0fVxuICAgICAgICAgICAgICAgICAgb25DbG9zZT17KCkgPT4gc2V0U2hvd0Zvcm1hdHRlcihmYWxzZSl9XG4gICAgICAgICAgICAgICAgICBmb3JtYXRMYWJlbHM9e2Zvcm1hdExhYmVsc31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJtb3JlXCIgb25DbGljaz17b25Ub2dnbGVPcHRpb25NZW51fT5cbiAgICAgICAgICAgICAgPFZlcnRUaHJlZURvdHMgaGVpZ2h0PVwiMTRweFwiIC8+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cIm9wdGlvbnNcIj5cbiAgICAgICAgICA8T3B0aW9uRHJvcGRvd25cbiAgICAgICAgICAgIGlzT3BlbmVkPXttb3JlT3B0aW9uc0NvbHVtbiA9PT0gY29sdW1ufVxuICAgICAgICAgICAgY29sdW1uPXtjb2x1bW59XG4gICAgICAgICAgICBjb2xNZXRhPXtjb2xNZXRhfVxuICAgICAgICAgICAgdG9nZ2xlTW9yZU9wdGlvbnM9e3RvZ2dsZU1vcmVPcHRpb25zfVxuICAgICAgICAgICAgc29ydFRhYmxlQ29sdW1uPXtzb3J0VGFibGVDb2x1bW4gPyBtb2RlID0+IHNvcnRUYWJsZUNvbHVtbihjb2x1bW4sIG1vZGUpIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgcGluVGFibGVDb2x1bW49e29uUGlufVxuICAgICAgICAgICAgY29weVRhYmxlQ29sdW1uPXtvbkNvcHl9XG4gICAgICAgICAgICBzZXREaXNwbGF5Rm9ybWF0PXtzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0ID8gb25TZXREaXNwbGF5Rm9ybWF0IDogdW5kZWZpbmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDwvPlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEhlYWRlckNlbGxcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdoZWFkZXItY2VsbCcsIHtcbiAgICAgICAgICBbYGNvbHVtbi0ke2NvbHVtbkluZGV4fWBdOiB0cnVlLFxuICAgICAgICAgICdwaW5uZWQtaGVhZGVyLWNlbGwnOiBpc1Bpbm5lZCxcbiAgICAgICAgICAnZmlyc3QtY2VsbCc6IGZpcnN0Q2VsbFxuICAgICAgICB9KX1cbiAgICAgICAga2V5PXtrZXl9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgJGhhc1N0YXRzPXtCb29sZWFuKGhhc1N0YXRzKX1cbiAgICAgICAgJGZpcnN0Q2VsbD17Zmlyc3RDZWxsfVxuICAgICAgICB0aXRsZT17aXNHaG9zdCA/IHVuZGVmaW5lZCA6IGNvbHVtbn1cbiAgICAgID5cbiAgICAgICAge2hhc1N0YXRzICYmICFpc0dob3N0ID8gKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGVhZGVyLWNlbGxfX3RvcFwiPntoZWFkZXJEZXRhaWxzfTwvZGl2PlxuICAgICAgICApIDogKFxuICAgICAgICAgIGhlYWRlckRldGFpbHNcbiAgICAgICAgKX1cbiAgICAgICAge2hhc1N0YXRzICYmICFpc0dob3N0ID8gPFN0eWxlZFN0YXRzU3BhY2VyIC8+IDogbnVsbH1cbiAgICAgICAge2hhc1N0YXRzICYmICFpc0dob3N0ID8gKFxuICAgICAgICAgIDxTdHlsZWRCb3R0b21TdGF0cyBjbGFzc05hbWU9XCJib3R0b20tc3RhdHNcIiAkc2hvd1N0YXRzPXtzaG93U3RhdHN9PlxuICAgICAgICAgICAge2lzTG9hZGluZ1N0YXRzID8gKFxuICAgICAgICAgICAgICA8U3R5bGVkTG9hZGluZz5cbiAgICAgICAgICAgICAgICA8TG9hZGluZ1NwaW5uZXIgLz5cbiAgICAgICAgICAgICAgPC9TdHlsZWRMb2FkaW5nPlxuICAgICAgICAgICAgKSA6IGNvbHVtblN0YXRzID8gKFxuICAgICAgICAgICAgICA8Q29sdW1uU3RhdGlzdGljc1NlY3Rpb24gY29sdW1uU3RhdHM9e2NvbHVtblN0YXRzfSB0eXBlPXt0eXBlfSBmb3JtYXQ9e2Zvcm1hdH0gLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3R5bGVkQm90dG9tU3RhdHM+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9TdHlsZWRIZWFkZXJDZWxsPlxuICAgICk7XG4gIH07XG4gIHJldHVybiBIZWFkZXJDZWxsO1xufVxuSGVhZGVyQ2VsbEZhY3RvcnkuZGVwcyA9IFtcbiAgRmllbGRUb2tlbkZhY3RvcnksXG4gIENvbHVtblN0YXRpc3RpY3NOdW1lcmljRmFjdG9yeSxcbiAgQ29sdW1uU3RhdGlzdGljc1RpbWVGYWN0b3J5XG5dO1xuZXhwb3J0IGRlZmF1bHQgSGVhZGVyQ2VsbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxLQUFLLElBQWtCQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsU0FBUyxRQUFPLE9BQU87QUFDNUUsT0FBT0MsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxPQUFPQyxVQUFVLE1BQU0sWUFBWTtBQUNuQyxPQUFPQyxNQUFNLE1BQU0sVUFBVTtBQUM3QixTQUFRQyxPQUFPLEVBQUVDLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxJQUFJLFFBQU8sb0JBQW9CO0FBQzFFLFNBQVFDLFVBQVUsUUFBTyxzQkFBc0I7QUFDL0MsT0FBT0MsY0FBYyxJQUFHQyxpQkFBaUIsUUFBTyxtQkFBbUI7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
|