@kando-env/kando-ui 1.2.278-alpha.2 → 1.2.278-alpha.21
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/lib/Widgets/Map/Map.js +18 -2
- package/lib/Widgets/Map/Map.scss +17 -5
- package/lib/Widgets/Map/MapUtils.js +13 -11
- package/lib/Widgets/Map/areas/AreaPolygon.js +24 -6
- package/lib/Widgets/Map/areas/AreaPolygons.js +9 -3
- package/lib/Widgets/Map/areas/AreaUtils.js +24 -48
- package/lib/Widgets/Map/points/PointMarker.js +27 -16
- package/lib/Widgets/Map/points/PointMarkers.js +1 -11
- package/lib/Widgets/Map/points/PointUtils.js +18 -33
- package/lib/assets/icons/index.js +15 -8
- package/lib/assets/icons/no-result.svg +20 -0
- package/lib/assets/icons/upgrade.svg +18 -0
- package/lib/components/Header/InfoBar/InfoBar.js +1 -1
- package/lib/components/Sector/svgs/Brewing.svg +6 -95
- package/lib/components/Sector/svgs/Cowshed.svg +13 -23
- package/lib/components/Sector/svgs/Garage.svg +4 -26
- package/lib/components/Sector/svgs/Missing.svg +8 -32
- package/lib/components/Sector/svgs/Motor Vehicle.svg +4 -20
- package/lib/components/Sector/svgs/Polymer.svg +3 -41
- package/lib/components/Sector/svgs/Pulp and Paper.svg +7 -25
- package/lib/components/Sector/svgs/Seafood.svg +9 -21
- package/lib/components/Sector/svgs/beverage.svg +10 -15
- package/lib/components/Sector/svgs/car-repair.svg +3 -26
- package/lib/components/Sector/svgs/car-wash.svg +3 -35
- package/lib/components/Sector/svgs/chemistry.svg +3 -17
- package/lib/components/Sector/svgs/conductor-manufacturer.svg +3 -20
- package/lib/components/Sector/svgs/cosmetic-manufacturer.svg +6 -25
- package/lib/components/Sector/svgs/dairy.svg +4 -16
- package/lib/components/Sector/svgs/dippel-oil.svg +5 -21
- package/lib/components/Sector/svgs/food-donation.svg +3 -33
- package/lib/components/Sector/svgs/food-factory.svg +5 -20
- package/lib/components/Sector/svgs/garbage-truck-1.svg +3 -31
- package/lib/components/Sector/svgs/gas-station.svg +3 -22
- package/lib/components/Sector/svgs/glass-manufacturer.svg +8 -20
- package/lib/components/Sector/svgs/hand-washing.svg +9 -17
- package/lib/components/Sector/svgs/hospital.svg +6 -27
- package/lib/components/Sector/svgs/hotel.svg +8 -22
- package/lib/components/Sector/svgs/laundromat.svg +3 -26
- package/lib/components/Sector/svgs/meat.svg +6 -23
- package/lib/components/Sector/svgs/metal-coating-plant.svg +8 -21
- package/lib/components/Sector/svgs/metal-facbrication.svg +6 -30
- package/lib/components/Sector/svgs/oil-rig.svg +3 -15
- package/lib/components/Sector/svgs/petrochemical.svg +3 -21
- package/lib/components/Sector/svgs/pills.svg +8 -19
- package/lib/components/Sector/svgs/plastic-rubber.svg +8 -32
- package/lib/components/Sector/svgs/printer.svg +4 -16
- package/lib/components/Sector/svgs/recycling.svg +3 -15
- package/lib/components/Sector/svgs/refinery.svg +5 -16
- package/lib/components/Sector/svgs/sewing-machine.svg +7 -22
- package/lib/components/Sector/svgs/shop.svg +6 -22
- package/lib/components/Sector/svgs/wine-glass.svg +4 -10
- package/lib/hooks/useUserTimeZone.js +6 -2
- package/lib/i18n/en.json +9 -1
- package/lib/i18n/he.json +22 -0
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/DashboardMap/AreaCard.js +44 -7
- package/lib/pages/DashboardMap/FactoryCard.js +49 -10
- package/lib/pages/DashboardMap/List.js +34 -5
- package/lib/pages/DashboardMap/ListContext.js +39 -0
- package/lib/pages/DashboardMap/WWTPMap.js +18 -6
- package/lib/pages/DashboardMap/Widget.js +138 -82
- package/lib/pages/DashboardMap/utils.js +21 -6
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +2 -2
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +2 -7
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +6 -3
- package/lib/pages/WwtpPage/ContaminateCard.js +18 -0
- package/lib/pages/WwtpPage/OrganicCard.js +2 -1
- package/lib/pages/WwtpPage/PredictionCard.js +18 -0
- package/lib/pages/WwtpPage/TrendChart.js +25 -9
- package/lib/pages/WwtpPage/UpgradeBox.js +30 -0
- package/lib/pages/WwtpPage/WwtpPage.js +29 -8
- package/lib/pages/WwtpPage/WwtpPageContainer.js +2 -2
- package/lib/scss/custom.scss +8 -0
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/ui-kit/InletsPie/InletsPie.js +5 -3
- package/lib/utilities/scoreToData.js +2 -2
- package/package.json +1 -1
|
@@ -13,13 +13,16 @@ var _reactBootstrap = require("react-bootstrap");
|
|
|
13
13
|
var _WWTPDashboardSlice = require("../../store/WWTPDashboard/WWTPDashboardSlice");
|
|
14
14
|
var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
|
|
15
15
|
var _InletsPie = _interopRequireDefault(require("../../ui-kit/InletsPie"));
|
|
16
|
+
var _utils = require("./utils");
|
|
17
|
+
var _icons = require("assets/icons");
|
|
16
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
20
|
var Widget = function Widget(props) {
|
|
19
21
|
var object = props.object,
|
|
20
22
|
dispatch = props.dispatch,
|
|
21
23
|
points = props.points,
|
|
22
|
-
|
|
24
|
+
map = props.map,
|
|
25
|
+
global_data = props.global_data;
|
|
23
26
|
var _React$useState = _react.default.useState(null),
|
|
24
27
|
_React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
|
25
28
|
area = _React$useState2[0],
|
|
@@ -28,27 +31,31 @@ var Widget = function Widget(props) {
|
|
|
28
31
|
_React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
|
|
29
32
|
point = _React$useState4[0],
|
|
30
33
|
setPoint = _React$useState4[1];
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
var _React$useState5 = _react.default.useState(''),
|
|
35
|
+
_React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
|
|
36
|
+
buttonName = _React$useState6[0],
|
|
37
|
+
setButtonName = _React$useState6[1];
|
|
38
|
+
var _React$useState7 = _react.default.useState([]),
|
|
39
|
+
_React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
|
|
40
|
+
inlets = _React$useState8[0],
|
|
41
|
+
setInlets = _React$useState8[1];
|
|
42
|
+
var _React$useState9 = _react.default.useState([]),
|
|
43
|
+
_React$useState10 = (0, _slicedToArray2.default)(_React$useState9, 2),
|
|
44
|
+
areaData = _React$useState10[0],
|
|
45
|
+
setAreaData = _React$useState10[1];
|
|
38
46
|
var handleClick = function handleClick() {
|
|
47
|
+
map.closePopup();
|
|
39
48
|
if (area) {
|
|
40
49
|
var areaToFocus = area;
|
|
41
|
-
|
|
42
|
-
if (_points) {
|
|
50
|
+
if (areaData && areaData.length > 0) {
|
|
43
51
|
var copy = (0, _objectSpread2.default)({}, areaToFocus);
|
|
44
|
-
copy.factories =
|
|
52
|
+
copy.factories = areaData;
|
|
45
53
|
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(copy));
|
|
46
54
|
} else {
|
|
47
55
|
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(areaToFocus));
|
|
48
56
|
}
|
|
49
57
|
} else {
|
|
50
58
|
if (point) {
|
|
51
|
-
var inlets = getInlets(point);
|
|
52
59
|
var p = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, point), {}, {
|
|
53
60
|
factories: inlets,
|
|
54
61
|
sub_areas: [],
|
|
@@ -57,46 +64,91 @@ var Widget = function Widget(props) {
|
|
|
57
64
|
dispatch((0, _WWTPDashboardSlice.setFocusedArea)(p));
|
|
58
65
|
}
|
|
59
66
|
}
|
|
67
|
+
sendButtonClickedAnalytics();
|
|
68
|
+
};
|
|
69
|
+
var sendButtonClickedAnalytics = function sendButtonClickedAnalytics() {
|
|
70
|
+
(0, _utils.sendAnalyticsEvent)('Map view - Popup drilldown clicked', buttonName, {
|
|
71
|
+
utility_name: global_data.waterAuthorityName
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
// Return the first 10 factories in the same area as the WWTP
|
|
76
|
+
// Using a for loop in order to break the loop when 10 factories are found
|
|
77
|
+
var getFactories = function getFactories(area_id) {
|
|
78
|
+
if (!points) return [];
|
|
79
|
+
var pointsOfArea = [];
|
|
80
|
+
for (var i = 0; i < points.length; i++) {
|
|
81
|
+
if (pointsOfArea.length === 10) {
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
if (points[i].group.area_id === area_id && points[i].group.type === 'Groups::Factory') {
|
|
85
|
+
pointsOfArea.push(points[i]);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return pointsOfArea;
|
|
60
89
|
};
|
|
61
|
-
|
|
90
|
+
|
|
91
|
+
// Return the points that are in the same area as the WWTP and is_inlet is true
|
|
92
|
+
var setPointInletsAndButton = function setPointInletsAndButton() {
|
|
62
93
|
var inlets = [];
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
94
|
+
inlets = points.filter(function (inlet) {
|
|
95
|
+
return inlet.group.area_id === (point === null || point === void 0 ? void 0 : point.group.area_id) && inlet.is_inlet === true;
|
|
96
|
+
});
|
|
97
|
+
if (inlets.length === 0) {
|
|
98
|
+
inlets = getFactories(point === null || point === void 0 ? void 0 : point.group.area_id);
|
|
99
|
+
setButtonName('view_factories');
|
|
100
|
+
} else {
|
|
101
|
+
setButtonName('view_inlets');
|
|
102
|
+
}
|
|
103
|
+
setInlets(inlets);
|
|
104
|
+
};
|
|
105
|
+
var setAreaInlets = function setAreaInlets() {
|
|
106
|
+
if (area !== undefined && area !== null) {
|
|
107
|
+
var _inlets = [];
|
|
108
|
+
_inlets = area === null || area === void 0 ? void 0 : area.sub_areas.filter(function (inlet) {
|
|
109
|
+
return inlet.is_inlet === true;
|
|
110
|
+
});
|
|
111
|
+
setInlets(_inlets);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
var getAreaData = function getAreaData() {
|
|
115
|
+
var areaData = [];
|
|
116
|
+
if ((area === null || area === void 0 ? void 0 : area.is_wwtp) === true && (inlets === null || inlets === void 0 ? void 0 : inlets.length) > 0) {
|
|
117
|
+
areaData = inlets.map(function (area) {
|
|
118
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, area), {}, {
|
|
119
|
+
name: area.area_name
|
|
120
|
+
});
|
|
70
121
|
});
|
|
122
|
+
} else {
|
|
123
|
+
if ((area === null || area === void 0 ? void 0 : area.sub_areas) && area.sub_areas.length > 0) {
|
|
124
|
+
areaData = area.sub_areas.map(function (sub_area) {
|
|
125
|
+
return sub_area.isInlet === false, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, sub_area), {}, {
|
|
126
|
+
name: sub_area.area_name
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
} else {
|
|
130
|
+
if (points && points.length > 0) {
|
|
131
|
+
areaData = getFactories(area === null || area === void 0 ? void 0 : area.area_id);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
71
134
|
}
|
|
72
|
-
return
|
|
135
|
+
return areaData;
|
|
73
136
|
};
|
|
74
137
|
var dataForPie = function dataForPie() {
|
|
75
138
|
var data = [];
|
|
76
139
|
if (area) {
|
|
77
|
-
if (
|
|
78
|
-
|
|
140
|
+
if (areaData && areaData.length > 0) {
|
|
141
|
+
areaData.forEach(function (item) {
|
|
79
142
|
data.push({
|
|
80
|
-
name:
|
|
143
|
+
name: item.name,
|
|
81
144
|
organic_load: 5,
|
|
82
145
|
tooltipValue: 15
|
|
83
146
|
});
|
|
84
147
|
});
|
|
85
|
-
} else {
|
|
86
|
-
if (getPoints(area)) {
|
|
87
|
-
getPoints(area).forEach(function (point) {
|
|
88
|
-
data.push({
|
|
89
|
-
name: point.name,
|
|
90
|
-
organic_load: 5,
|
|
91
|
-
tooltipValue: 15
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
148
|
}
|
|
96
149
|
} else {
|
|
97
150
|
if (point) {
|
|
98
|
-
|
|
99
|
-
inlets.forEach(function (inlet) {
|
|
151
|
+
inlets === null || inlets === void 0 ? void 0 : inlets.forEach(function (inlet) {
|
|
100
152
|
data.push({
|
|
101
153
|
name: inlet.name,
|
|
102
154
|
organic_load: 5,
|
|
@@ -108,70 +160,74 @@ var Widget = function Widget(props) {
|
|
|
108
160
|
return data;
|
|
109
161
|
};
|
|
110
162
|
var title = function title() {
|
|
163
|
+
var payload = '';
|
|
111
164
|
if (point) {
|
|
112
|
-
|
|
165
|
+
payload = point.name;
|
|
113
166
|
} else {
|
|
114
167
|
if (area) {
|
|
115
|
-
|
|
168
|
+
payload = area.area_name;
|
|
116
169
|
}
|
|
117
170
|
}
|
|
118
|
-
return
|
|
171
|
+
return payload;
|
|
119
172
|
};
|
|
120
|
-
var
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
173
|
+
var calcAreaButtonName = function calcAreaButtonName() {
|
|
174
|
+
var name = 'view_factories';
|
|
175
|
+
if (area !== undefined && area !== null) {
|
|
176
|
+
if (area.is_wwtp === true && (inlets === null || inlets === void 0 ? void 0 : inlets.length) > 0) {
|
|
177
|
+
console.warn(area.area_name, 'view_inlets');
|
|
178
|
+
name = 'view_inlets';
|
|
126
179
|
} else {
|
|
127
|
-
|
|
180
|
+
if ((area === null || area === void 0 ? void 0 : area.sub_areas) && area.sub_areas.length > 0) {
|
|
181
|
+
name = 'view_sub_areas';
|
|
182
|
+
}
|
|
128
183
|
}
|
|
129
184
|
}
|
|
185
|
+
return name;
|
|
186
|
+
};
|
|
187
|
+
var buttonTitle = function buttonTitle() {
|
|
188
|
+
return _i18n.default.t("wwtpPage.".concat(buttonName));
|
|
130
189
|
};
|
|
131
190
|
(0, _react.useEffect)(function () {
|
|
132
|
-
// console.log('object', object);
|
|
133
|
-
// console.log('area', area)
|
|
134
191
|
var isAPoint = object.forWWTPMap !== undefined;
|
|
135
|
-
// let area;
|
|
136
|
-
|
|
137
192
|
if (isAPoint) {
|
|
138
|
-
// console.log('!object.group.area_id || !areas', !object.group.area_id || !areas);
|
|
139
|
-
// if (!object.group.area_id || !areas) {
|
|
140
|
-
// console.log('object', object);
|
|
141
|
-
// console.log('object.group.area_id', object.group.area_id);
|
|
142
|
-
// console.log('areas', areas);
|
|
143
|
-
// //return;
|
|
144
|
-
// }
|
|
145
|
-
// area = areas?.find((area) => area.area_id === object.group.area_id);
|
|
146
|
-
// console.log('area', area);
|
|
147
|
-
// if (area) {
|
|
148
|
-
// console.log('area1', area);
|
|
149
|
-
// setArea(area);
|
|
150
|
-
// } else {
|
|
151
|
-
//console.log('point', object);
|
|
152
193
|
setPoint(object);
|
|
153
|
-
// }
|
|
154
194
|
} else {
|
|
155
|
-
// console.log('area2', object);
|
|
156
195
|
setArea(object);
|
|
157
196
|
}
|
|
158
197
|
}, [object]);
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
198
|
+
(0, _react.useEffect)(function () {
|
|
199
|
+
if (point) {
|
|
200
|
+
setPointInletsAndButton();
|
|
201
|
+
} else {
|
|
202
|
+
setAreaInlets();
|
|
203
|
+
setAreaData(getAreaData());
|
|
204
|
+
setButtonName(calcAreaButtonName());
|
|
166
205
|
}
|
|
167
|
-
},
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
206
|
+
}, [point, area]);
|
|
207
|
+
var widgetContent = function widgetContent() {
|
|
208
|
+
var data = dataForPie();
|
|
209
|
+
if (data.length > 0) {
|
|
210
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
|
|
211
|
+
onClick: function onClick() {
|
|
212
|
+
return handleClick();
|
|
213
|
+
},
|
|
214
|
+
className: 'childrenButton rounded-pill btn-light'
|
|
215
|
+
}, buttonTitle()), /*#__PURE__*/_react.default.createElement(_InletsPie.default, {
|
|
216
|
+
inlets: dataForPie()
|
|
217
|
+
}));
|
|
218
|
+
} else {
|
|
219
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
220
|
+
className: "no-result-icon"
|
|
221
|
+
}, /*#__PURE__*/_react.default.createElement(_icons.NoResultSvg, null)), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("div", {
|
|
222
|
+
className: "no-result-msg1"
|
|
223
|
+
}, _i18n.default.t("wwtpPage.no_result_1")), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("h3", {
|
|
224
|
+
className: "no-result-msg2"
|
|
225
|
+
}, _i18n.default.t("wwtpPage.no_result_2")));
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h3", null, title()), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Card, {
|
|
229
|
+
className: "bg-white widget-container"
|
|
230
|
+
}, widgetContent()));
|
|
175
231
|
};
|
|
176
232
|
exports.Widget = Widget;
|
|
177
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2lkZ2V0IiwicHJvcHMiLCJvYmplY3QiLCJkaXNwYXRjaCIsInBvaW50cyIsImVkZ2VzIiwiX1JlYWN0JHVzZVN0YXRlIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIl9SZWFjdCR1c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJhcmVhIiwic2V0QXJlYSIsIl9SZWFjdCR1c2VTdGF0ZTMiLCJfUmVhY3QkdXNlU3RhdGU0IiwicG9pbnQiLCJzZXRQb2ludCIsImdldFBvaW50cyIsInVuZGVmaW5lZCIsInBvaW50c09mQXJlYSIsImZpbHRlciIsImdyb3VwIiwiYXJlYV9pZCIsInR5cGUiLCJoYW5kbGVDbGljayIsImFyZWFUb0ZvY3VzIiwiY29weSIsIl9vYmplY3RTcHJlYWQyIiwiZmFjdG9yaWVzIiwic2V0Rm9jdXNlZEFyZWEiLCJpbmxldHMiLCJnZXRJbmxldHMiLCJwIiwic3ViX2FyZWFzIiwic2hhcGVfZGF0YSIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwid3d0cCIsImxlbmd0aCIsImZvckVhY2giLCJlZGdlIiwidGFyZ2V0X3BvaW50X2lkIiwiaWQiLCJwdXNoIiwiZmluZCIsImlubGV0Iiwic291cmNlX3BvaW50X2lkIiwiZGF0YUZvclBpZSIsImRhdGEiLCJzdWJfYXJlYSIsIm5hbWUiLCJhcmVhX25hbWUiLCJvcmdhbmljX2xvYWQiLCJ0b29sdGlwVmFsdWUiLCJ0aXRsZSIsImJ1dHRvbiIsImkxOG4iLCJ0IiwidXNlRWZmZWN0IiwiaXNBUG9pbnQiLCJmb3JXV1RQTWFwIiwiY3JlYXRlRWxlbWVudCIsIkNhcmQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImJvcmRlciIsImJvcmRlclJhZGl1cyIsIkJ1dHRvbiIsIm9uQ2xpY2siLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XaWRnZXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIENhcmQgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgSW5sZXRzUGllIGZyb20gJy4uLy4uL3VpLWtpdC9JbmxldHNQaWUnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICcuLi8uLi9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgb2JqZWN0OiBhbnk7XG4gIGRpc3BhdGNoOiBhbnk7XG4gIHBvaW50czogSVBvaW50W107XG4gIGFyZWFzPzogSUFyZWFbXTtcbiAgZWRnZXM/OiBJRWRnZVtdO1xufTtcblxuZXhwb3J0IGNvbnN0IFdpZGdldDogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG9iamVjdCwgZGlzcGF0Y2gsIHBvaW50cywgZWRnZXMgfSA9IHByb3BzO1xuICBjb25zdCBbYXJlYSwgc2V0QXJlYV0gPSBSZWFjdC51c2VTdGF0ZTxJQXJlYSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbcG9pbnQsIHNldFBvaW50XSA9IFJlYWN0LnVzZVN0YXRlPElQb2ludCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBnZXRQb2ludHMgPSAoYXJlYSkgPT4ge1xuICAgIGlmICghcG9pbnRzKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGxldCBwb2ludHNPZkFyZWEgPSBwb2ludHMuZmlsdGVyKChwb2ludCkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgcG9pbnQuZ3JvdXAuYXJlYV9pZCA9PT0gYXJlYS5hcmVhX2lkICYmXG4gICAgICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBvaW50c09mQXJlYTtcbiAgfTtcbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgaWYgKGFyZWEpIHtcbiAgICAgIGxldCBhcmVhVG9Gb2N1cyA9IGFyZWE7XG4gICAgICBjb25zdCBwb2ludHMgPSBnZXRQb2ludHMoYXJlYVRvRm9jdXMpO1xuICAgICAgaWYgKHBvaW50cykge1xuICAgICAgICBsZXQgY29weSA9IHsgLi4uYXJlYVRvRm9jdXMgfTtcbiAgICAgICAgY29weS5mYWN0b3JpZXMgPSBwb2ludHM7XG4gICAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGNvcHkpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRBcmVhKGFyZWFUb0ZvY3VzKSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwb2ludCkge1xuICAgICAgICBjb25zdCBpbmxldHMgPSBnZXRJbmxldHMocG9pbnQpO1xuICAgICAgICBsZXQgcCA9IHtcbiAgICAgICAgICAuLi5wb2ludCxcbiAgICAgICAgICBmYWN0b3JpZXM6IGlubGV0cyxcbiAgICAgICAgICBzdWJfYXJlYXM6IFtdLFxuICAgICAgICAgIHNoYXBlX2RhdGE6IFtbcG9pbnQubGF0aXR1ZGUsIHBvaW50LmxvbmdpdHVkZV1dLFxuICAgICAgICB9O1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShwKSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldElubGV0cyA9ICh3d3RwKSA9PiB7XG4gICAgbGV0IGlubGV0cyA9IFtdO1xuICAgIGlmIChlZGdlcyAhPT0gdW5kZWZpbmVkICYmIGVkZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgICAgaWYgKGVkZ2UudGFyZ2V0X3BvaW50X2lkID09PSB3d3RwLmlkKSB7XG4gICAgICAgICAgaW5sZXRzLnB1c2goXG4gICAgICAgICAgICBwb2ludHMuZmluZCgoaW5sZXQpID0+IGlubGV0LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBpbmxldHM7XG4gIH07XG5cbiAgY29uc3QgZGF0YUZvclBpZSA9ICgpID0+IHtcbiAgICBsZXQgZGF0YSA9IFtdO1xuICAgIGlmIChhcmVhKSB7XG4gICAgICBpZiAoYXJlYS5zdWJfYXJlYXMgIT09IHVuZGVmaW5lZCAmJiBhcmVhLnN1Yl9hcmVhcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGFyZWEuc3ViX2FyZWFzLmZvckVhY2goKHN1Yl9hcmVhKSA9PiB7XG4gICAgICAgICAgZGF0YS5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IHN1Yl9hcmVhLmFyZWFfbmFtZSxcbiAgICAgICAgICAgIG9yZ2FuaWNfbG9hZDogNSxcbiAgICAgICAgICAgIHRvb2x0aXBWYWx1ZTogMTUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGdldFBvaW50cyhhcmVhKSkge1xuICAgICAgICAgIGdldFBvaW50cyhhcmVhKS5mb3JFYWNoKChwb2ludCkgPT4ge1xuICAgICAgICAgICAgZGF0YS5wdXNoKHsgbmFtZTogcG9pbnQubmFtZSwgb3JnYW5pY19sb2FkOiA1LCB0b29sdGlwVmFsdWU6IDE1IH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwb2ludCkge1xuICAgICAgICBjb25zdCBpbmxldHMgPSBnZXRJbmxldHMocG9pbnQpO1xuICAgICAgICBpbmxldHMuZm9yRWFjaCgoaW5sZXQpID0+IHtcbiAgICAgICAgICBkYXRhLnB1c2goeyBuYW1lOiBpbmxldC5uYW1lLCBvcmdhbmljX2xvYWQ6IDUsIHRvb2x0aXBWYWx1ZTogMTUgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfTtcblxuICBjb25zdCB0aXRsZSA9ICgpID0+IHtcbiAgICBpZiAocG9pbnQpIHtcbiAgICAgIHJldHVybiBwb2ludC5uYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoYXJlYSkge1xuICAgICAgICByZXR1cm4gYXJlYS5hcmVhX25hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAnTk8gTkFNRSc7XG4gIH07XG5cbiAgY29uc3QgYnV0dG9uID0gKCkgPT4ge1xuICAgIGlmIChwb2ludCkge1xuICAgICAgcmV0dXJuIGkxOG4udCgnd3d0cFBhZ2Uudmlld19pbmxldHMnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFyZWE/LnN1Yl9hcmVhcyAhPT0gdW5kZWZpbmVkICYmIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIGkxOG4udCgnd3d0cFBhZ2Uudmlld19zdWJfYXJlYXMnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpMThuLnQoJ3d3dHBQYWdlLnZpZXdfZmFjdG9yaWVzJyk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gY29uc29sZS5sb2coJ29iamVjdCcsIG9iamVjdCk7XG4gICAgLy8gY29uc29sZS5sb2coJ2FyZWEnLCBhcmVhKVxuICAgIGxldCBpc0FQb2ludCA9IG9iamVjdC5mb3JXV1RQTWFwICE9PSB1bmRlZmluZWQ7XG4gICAgLy8gbGV0IGFyZWE7XG5cbiAgICBpZiAoaXNBUG9pbnQpIHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCchb2JqZWN0Lmdyb3VwLmFyZWFfaWQgfHwgIWFyZWFzJywgIW9iamVjdC5ncm91cC5hcmVhX2lkIHx8ICFhcmVhcyk7XG4gICAgICAvLyBpZiAoIW9iamVjdC5ncm91cC5hcmVhX2lkIHx8ICFhcmVhcykge1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnb2JqZWN0Jywgb2JqZWN0KTtcbiAgICAgIC8vICAgY29uc29sZS5sb2coJ29iamVjdC5ncm91cC5hcmVhX2lkJywgb2JqZWN0Lmdyb3VwLmFyZWFfaWQpO1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnYXJlYXMnLCBhcmVhcyk7XG4gICAgICAvLyAgIC8vcmV0dXJuO1xuICAgICAgLy8gfVxuICAgICAgLy8gYXJlYSA9IGFyZWFzPy5maW5kKChhcmVhKSA9PiBhcmVhLmFyZWFfaWQgPT09IG9iamVjdC5ncm91cC5hcmVhX2lkKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdhcmVhJywgYXJlYSk7XG4gICAgICAvLyBpZiAoYXJlYSkge1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnYXJlYTEnLCBhcmVhKTtcbiAgICAgIC8vICAgc2V0QXJlYShhcmVhKTtcbiAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAvL2NvbnNvbGUubG9nKCdwb2ludCcsIG9iamVjdCk7XG4gICAgICBzZXRQb2ludChvYmplY3QpO1xuICAgICAgLy8gfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBjb25zb2xlLmxvZygnYXJlYTInLCBvYmplY3QpO1xuICAgICAgc2V0QXJlYShvYmplY3QpO1xuICAgIH1cbiAgfSwgW29iamVjdF0pO1xuXG4gIC8vIGlmICghYXJlYSkgcmV0dXJuIDxkaXY+e29iamVjdC5uYW1lfTwvZGl2PjtcbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPENhcmRcbiAgICAgICAgY2xhc3NOYW1lPVwiYmctd2hpdGUgbS0zIHAtMyB3aWRnZXQtY29udGFpbmVyXCJcbiAgICAgICAgc3R5bGU9e3sgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMCwwLDAsMCknLCBib3JkZXJSYWRpdXM6ICcxZW0nIH19XG4gICAgICA+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgezxoMz57dGl0bGUoKX08L2gzPn1cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDbGljaygpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXsnY2hpbGRyZW5CdXR0b24gcm91bmRlZC1waWxsIGJ0bi1saWdodCd9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2J1dHRvbigpfVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxJbmxldHNQaWUgaW5sZXRzPXtkYXRhRm9yUGllKCl9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9DYXJkPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLG1CQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxLQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFF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
|
|
233
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RCb290c3RyYXAiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0lubGV0c1BpZSIsIl91dGlscyIsIl9pY29ucyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiV2lkZ2V0IiwicHJvcHMiLCJvYmplY3QiLCJkaXNwYXRjaCIsInBvaW50cyIsIm1hcCIsImdsb2JhbF9kYXRhIiwiX1JlYWN0JHVzZVN0YXRlIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsIl9SZWFjdCR1c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJhcmVhIiwic2V0QXJlYSIsIl9SZWFjdCR1c2VTdGF0ZTMiLCJfUmVhY3QkdXNlU3RhdGU0IiwicG9pbnQiLCJzZXRQb2ludCIsIl9SZWFjdCR1c2VTdGF0ZTUiLCJfUmVhY3QkdXNlU3RhdGU2IiwiYnV0dG9uTmFtZSIsInNldEJ1dHRvbk5hbWUiLCJfUmVhY3QkdXNlU3RhdGU3IiwiX1JlYWN0JHVzZVN0YXRlOCIsImlubGV0cyIsInNldElubGV0cyIsIl9SZWFjdCR1c2VTdGF0ZTkiLCJfUmVhY3QkdXNlU3RhdGUxMCIsImFyZWFEYXRhIiwic2V0QXJlYURhdGEiLCJoYW5kbGVDbGljayIsImNsb3NlUG9wdXAiLCJhcmVhVG9Gb2N1cyIsImxlbmd0aCIsImNvcHkiLCJfb2JqZWN0U3ByZWFkMiIsImZhY3RvcmllcyIsInNldEZvY3VzZWRBcmVhIiwicCIsInN1Yl9hcmVhcyIsInNoYXBlX2RhdGEiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzIiwic2VuZEFuYWx5dGljc0V2ZW50IiwidXRpbGl0eV9uYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZ2V0RmFjdG9yaWVzIiwiYXJlYV9pZCIsInBvaW50c09mQXJlYSIsImkiLCJncm91cCIsInR5cGUiLCJwdXNoIiwic2V0UG9pbnRJbmxldHNBbmRCdXR0b24iLCJmaWx0ZXIiLCJpbmxldCIsImlzX2lubGV0Iiwic2V0QXJlYUlubGV0cyIsInVuZGVmaW5lZCIsImdldEFyZWFEYXRhIiwiaXNfd3d0cCIsIm5hbWUiLCJhcmVhX25hbWUiLCJzdWJfYXJlYSIsImlzSW5sZXQiLCJkYXRhRm9yUGllIiwiZGF0YSIsImZvckVhY2giLCJpdGVtIiwib3JnYW5pY19sb2FkIiwidG9vbHRpcFZhbHVlIiwidGl0bGUiLCJwYXlsb2FkIiwiY2FsY0FyZWFCdXR0b25OYW1lIiwiY29uc29sZSIsIndhcm4iLCJidXR0b25UaXRsZSIsImkxOG4iLCJ0IiwiY29uY2F0IiwidXNlRWZmZWN0IiwiaXNBUG9pbnQiLCJmb3JXV1RQTWFwIiwid2lkZ2V0Q29udGVudCIsImNyZWF0ZUVsZW1lbnQiLCJCdXR0b24iLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwiRnJhZ21lbnQiLCJOb1Jlc3VsdFN2ZyIsIkNhcmQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9XaWRnZXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24sIENhcmQgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJy4uLy4uL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgSW5sZXRzUGllIGZyb20gJy4uLy4uL3VpLWtpdC9JbmxldHNQaWUnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBOb1Jlc3VsdFN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMnO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgb2JqZWN0OiBhbnk7XG4gIGRpc3BhdGNoOiBhbnk7XG4gIHBvaW50czogSVBvaW50W107XG4gIG1hcDtcbiAgZ2xvYmFsX2RhdGE7XG59O1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgb2JqZWN0LCBkaXNwYXRjaCwgcG9pbnRzLCBtYXAsIGdsb2JhbF9kYXRhIH0gPSBwcm9wcztcbiAgY29uc3QgW2FyZWEsIHNldEFyZWFdID0gUmVhY3QudXNlU3RhdGU8SUFyZWEgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3BvaW50LCBzZXRQb2ludF0gPSBSZWFjdC51c2VTdGF0ZTxJUG9pbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2J1dHRvbk5hbWUsIHNldEJ1dHRvbk5hbWVdID0gUmVhY3QudXNlU3RhdGU8c3RyaW5nPignJyk7XG4gIGNvbnN0IFtpbmxldHMsIHNldElubGV0c10gPSBSZWFjdC51c2VTdGF0ZTxhbnlbXT4oW10pO1xuICBjb25zdCBbYXJlYURhdGEsIHNldEFyZWFEYXRhXSA9IFJlYWN0LnVzZVN0YXRlPGFueVtdPihbXSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgICBpZiAoYXJlYSkge1xuICAgICAgbGV0IGFyZWFUb0ZvY3VzID0gYXJlYTtcbiAgICAgIGlmIChhcmVhRGF0YSAmJiBhcmVhRGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBjb3B5ID0geyAuLi5hcmVhVG9Gb2N1cyB9O1xuICAgICAgICBjb3B5LmZhY3RvcmllcyA9IGFyZWFEYXRhO1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShjb3B5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkaXNwYXRjaChzZXRGb2N1c2VkQXJlYShhcmVhVG9Gb2N1cykpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocG9pbnQpIHtcbiAgICAgICAgbGV0IHAgPSB7XG4gICAgICAgICAgLi4ucG9pbnQsXG4gICAgICAgICAgZmFjdG9yaWVzOiBpbmxldHMsXG4gICAgICAgICAgc3ViX2FyZWFzOiBbXSxcbiAgICAgICAgICBzaGFwZV9kYXRhOiBbW3BvaW50LmxhdGl0dWRlLCBwb2ludC5sb25naXR1ZGVdXSxcbiAgICAgICAgfTtcbiAgICAgICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEFyZWEocCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBzZW5kQnV0dG9uQ2xpY2tlZEFuYWx5dGljcygpO1xuICB9O1xuXG4gIGNvbnN0IHNlbmRCdXR0b25DbGlja2VkQW5hbHl0aWNzID0gKCkgPT4ge1xuICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIHZpZXcgLSBQb3B1cCBkcmlsbGRvd24gY2xpY2tlZCcsIGJ1dHRvbk5hbWUsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICB9O1xuXG4gIC8vIFJldHVybiB0aGUgZmlyc3QgMTAgZmFjdG9yaWVzIGluIHRoZSBzYW1lIGFyZWEgYXMgdGhlIFdXVFBcbiAgLy8gVXNpbmcgYSBmb3IgbG9vcCBpbiBvcmRlciB0byBicmVhayB0aGUgbG9vcCB3aGVuIDEwIGZhY3RvcmllcyBhcmUgZm91bmRcbiAgY29uc3QgZ2V0RmFjdG9yaWVzID0gKGFyZWFfaWQpID0+IHtcbiAgICBpZiAoIXBvaW50cykgcmV0dXJuIFtdO1xuICAgIGxldCBwb2ludHNPZkFyZWE6IElQb2ludFtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHBvaW50c09mQXJlYS5sZW5ndGggPT09IDEwKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBwb2ludHNbaV0uZ3JvdXAuYXJlYV9pZCA9PT0gYXJlYV9pZCAmJlxuICAgICAgICBwb2ludHNbaV0uZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeSdcbiAgICAgICkge1xuICAgICAgICBwb2ludHNPZkFyZWEucHVzaChwb2ludHNbaV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcG9pbnRzT2ZBcmVhO1xuICB9O1xuXG4gIC8vIFJldHVybiB0aGUgcG9pbnRzIHRoYXQgYXJlIGluIHRoZSBzYW1lIGFyZWEgYXMgdGhlIFdXVFAgYW5kIGlzX2lubGV0IGlzIHRydWVcbiAgY29uc3Qgc2V0UG9pbnRJbmxldHNBbmRCdXR0b24gPSAoKSA9PiB7XG4gICAgbGV0IGlubGV0czogSVBvaW50W10gPSBbXTtcblxuICAgIGlubGV0cyA9IHBvaW50cy5maWx0ZXIoXG4gICAgICAoaW5sZXQ6IElQb2ludCkgPT5cbiAgICAgICAgaW5sZXQuZ3JvdXAuYXJlYV9pZCA9PT0gcG9pbnQ/Lmdyb3VwLmFyZWFfaWQgJiYgaW5sZXQuaXNfaW5sZXQgPT09IHRydWUsXG4gICAgKTtcbiAgICBpZiAoaW5sZXRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaW5sZXRzID0gZ2V0RmFjdG9yaWVzKHBvaW50Py5ncm91cC5hcmVhX2lkKTtcbiAgICAgIHNldEJ1dHRvbk5hbWUoJ3ZpZXdfZmFjdG9yaWVzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEJ1dHRvbk5hbWUoJ3ZpZXdfaW5sZXRzJyk7XG4gICAgfVxuICAgIHNldElubGV0cyhpbmxldHMpO1xuICB9O1xuXG4gIGNvbnN0IHNldEFyZWFJbmxldHMgPSAoKSA9PiB7XG4gICAgaWYgKGFyZWEgIT09IHVuZGVmaW5lZCAmJiBhcmVhICE9PSBudWxsKSB7XG4gICAgICBsZXQgaW5sZXRzOiBhbnkgPSBbXTtcbiAgICAgIGlubGV0cyA9IGFyZWE/LnN1Yl9hcmVhcy5maWx0ZXIoKGlubGV0KSA9PiBpbmxldC5pc19pbmxldCA9PT0gdHJ1ZSk7XG4gICAgICBzZXRJbmxldHMoaW5sZXRzKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZ2V0QXJlYURhdGEgPSAoKSA9PiB7XG4gICAgbGV0IGFyZWFEYXRhOiBhbnkgPSBbXTtcblxuICAgIGlmIChhcmVhPy5pc193d3RwID09PSB0cnVlICYmIGlubGV0cz8ubGVuZ3RoID4gMCkge1xuICAgICAgYXJlYURhdGEgPSBpbmxldHMubWFwKChhcmVhKSA9PiAoeyAuLi5hcmVhLCBuYW1lOiBhcmVhLmFyZWFfbmFtZSB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChhcmVhPy5zdWJfYXJlYXMgJiYgYXJlYS5zdWJfYXJlYXMubGVuZ3RoID4gMCkge1xuICAgICAgICBhcmVhRGF0YSA9IGFyZWEuc3ViX2FyZWFzLm1hcChcbiAgICAgICAgICAoc3ViX2FyZWEpID0+IChcbiAgICAgICAgICAgIHN1Yl9hcmVhLmlzSW5sZXQgPT09IGZhbHNlLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5zdWJfYXJlYSxcbiAgICAgICAgICAgICAgbmFtZTogc3ViX2FyZWEuYXJlYV9uYW1lLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocG9pbnRzICYmIHBvaW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgYXJlYURhdGEgPSBnZXRGYWN0b3JpZXMoYXJlYT8uYXJlYV9pZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFyZWFEYXRhO1xuICB9O1xuXG4gIGNvbnN0IGRhdGFGb3JQaWUgPSAoKSA9PiB7XG4gICAgbGV0IGRhdGE6IGFueSA9IFtdO1xuICAgIGlmIChhcmVhKSB7XG4gICAgICBpZiAoYXJlYURhdGEgJiYgYXJlYURhdGEubGVuZ3RoID4gMCkge1xuICAgICAgICBhcmVhRGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgZGF0YS5wdXNoKHsgbmFtZTogaXRlbS5uYW1lLCBvcmdhbmljX2xvYWQ6IDUsIHRvb2x0aXBWYWx1ZTogMTUgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocG9pbnQpIHtcbiAgICAgICAgaW5sZXRzPy5mb3JFYWNoKChpbmxldCkgPT4ge1xuICAgICAgICAgIGRhdGEucHVzaCh7IG5hbWU6IGlubGV0Lm5hbWUsIG9yZ2FuaWNfbG9hZDogNSwgdG9vbHRpcFZhbHVlOiAxNSB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9O1xuXG4gIGNvbnN0IHRpdGxlID0gKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gJyc7XG4gICAgaWYgKHBvaW50KSB7XG4gICAgICBwYXlsb2FkID0gcG9pbnQubmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGFyZWEpIHtcbiAgICAgICAgcGF5bG9hZCA9IGFyZWEuYXJlYV9uYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCBjYWxjQXJlYUJ1dHRvbk5hbWUgPSAoKSA9PiB7XG4gICAgbGV0IG5hbWUgPSAndmlld19mYWN0b3JpZXMnO1xuICAgIGlmIChhcmVhICE9PSB1bmRlZmluZWQgJiYgYXJlYSAhPT0gbnVsbCkge1xuICAgICAgaWYgKGFyZWEuaXNfd3d0cCA9PT0gdHJ1ZSAmJiBpbmxldHM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc29sZS53YXJuKGFyZWEuYXJlYV9uYW1lLCAndmlld19pbmxldHMnKTtcbiAgICAgICAgbmFtZSA9ICd2aWV3X2lubGV0cyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoYXJlYT8uc3ViX2FyZWFzICYmIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBuYW1lID0gJ3ZpZXdfc3ViX2FyZWFzJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmFtZTtcbiAgfTtcblxuICBjb25zdCBidXR0b25UaXRsZSA9ICgpID0+IHtcbiAgICByZXR1cm4gaTE4bi50KGB3d3RwUGFnZS4ke2J1dHRvbk5hbWV9YCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBUG9pbnQgPSBvYmplY3QuZm9yV1dUUE1hcCAhPT0gdW5kZWZpbmVkO1xuXG4gICAgaWYgKGlzQVBvaW50KSB7XG4gICAgICBzZXRQb2ludChvYmplY3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRBcmVhKG9iamVjdCk7XG4gICAgfVxuICB9LCBbb2JqZWN0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocG9pbnQpIHtcbiAgICAgIHNldFBvaW50SW5sZXRzQW5kQnV0dG9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldEFyZWFJbmxldHMoKTtcbiAgICAgIHNldEFyZWFEYXRhKGdldEFyZWFEYXRhKCkpO1xuICAgICAgc2V0QnV0dG9uTmFtZShjYWxjQXJlYUJ1dHRvbk5hbWUoKSk7XG4gICAgfVxuICB9LCBbcG9pbnQsIGFyZWFdKTtcblxuICBjb25zdCB3aWRnZXRDb250ZW50ID0gKCkgPT4ge1xuICAgIGNvbnN0IGRhdGEgPSBkYXRhRm9yUGllKCk7XG4gICAgaWYgKGRhdGEubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDbGljaygpfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXsnY2hpbGRyZW5CdXR0b24gcm91bmRlZC1waWxsIGJ0bi1saWdodCd9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2J1dHRvblRpdGxlKCl9XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPElubGV0c1BpZSBpbmxldHM9e2RhdGFGb3JQaWUoKX0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibm8tcmVzdWx0LWljb25cIj5cbiAgICAgICAgICAgIDxOb1Jlc3VsdFN2ZyAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibm8tcmVzdWx0LW1zZzFcIj57aTE4bi50KGB3d3RwUGFnZS5ub19yZXN1bHRfMWApfTwvZGl2PlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJuby1yZXN1bHQtbXNnMlwiPntpMThuLnQoYHd3dHBQYWdlLm5vX3Jlc3VsdF8yYCl9PC9oMz5cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8aDM+e3RpdGxlKCl9PC9oMz5cbiAgICAgIDxDYXJkIGNsYXNzTmFtZT1cImJnLXdoaXRlIHdpZGdldC1jb250YWluZXJcIj57d2lkZ2V0Q29udGVudCgpfTwvQ2FyZD5cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFB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
|
|
@@ -4,9 +4,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.simpleTruncate = exports.initializeWWTPData = exports.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
|
|
7
|
+
exports.simpleTruncate = exports.sendAnalyticsEvent = exports.initializeWWTPData = exports.createPopupForObject = exports.areaFocusLogic = exports.CardContainer = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
8
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
10
|
var _jquery = _interopRequireDefault(require("jquery"));
|
|
11
|
+
var _Analytics = require("utilities/Analytics");
|
|
10
12
|
var initializeWWTPData = function initializeWWTPData(payload) {
|
|
11
13
|
if (payload.dataExists()) {
|
|
12
14
|
var WWTP = payload.points_data.items.find(function (point) {
|
|
@@ -33,10 +35,11 @@ var createPopupForObject = function createPopupForObject(args) {
|
|
|
33
35
|
maxHeight: 400,
|
|
34
36
|
minHeight: 400
|
|
35
37
|
});
|
|
36
|
-
args.marker.
|
|
37
|
-
args.marker.on('click', function () {
|
|
38
|
+
args.marker.on('popupopen', function () {
|
|
38
39
|
setTimeout(function () {
|
|
39
|
-
(0, _jquery.default)('.widget-container').
|
|
40
|
+
if ((0, _jquery.default)('.widget-container').contents().length <= 0) {
|
|
41
|
+
(0, _jquery.default)('.widget-container').append(args.renderedElement);
|
|
42
|
+
}
|
|
40
43
|
}, 200);
|
|
41
44
|
});
|
|
42
45
|
};
|
|
@@ -58,7 +61,6 @@ var areaFocusLogic = function areaFocusLogic(args) {
|
|
|
58
61
|
args.setAreas(args.focusedArea.sub_areas);
|
|
59
62
|
}
|
|
60
63
|
|
|
61
|
-
// TBD - return this when clicking from the list on the left
|
|
62
64
|
// args.map.fitBounds(latlngs);
|
|
63
65
|
};
|
|
64
66
|
exports.areaFocusLogic = areaFocusLogic;
|
|
@@ -77,5 +79,18 @@ var CardContainer = _styledComponents.default.div.withConfig({
|
|
|
77
79
|
displayName: "utils__CardContainer",
|
|
78
80
|
componentId: "sc-zfjea1-0"
|
|
79
81
|
})([".card{transition:0.1s ease-in-out;box-shadow:0px 1px 3px rgba(0,0,0,0.2);&:hover{transition:0.2s ease-in-out;box-shadow:0px 3px 10px rgba(0,0,0,0.2);cursor:pointer;}}"]);
|
|
82
|
+
|
|
83
|
+
// Send analytics events from several places in wwtpmap.
|
|
84
|
+
// subject is the name of the event
|
|
85
|
+
// selection is the object that was selected
|
|
86
|
+
// specificFields is an object with event fields to send which are combined with the rest of the fields
|
|
80
87
|
exports.CardContainer = CardContainer;
|
|
81
|
-
|
|
88
|
+
var sendAnalyticsEvent = function sendAnalyticsEvent(subject, selection, eventFields) {
|
|
89
|
+
var data = (0, _objectSpread2.default)({
|
|
90
|
+
selection: selection,
|
|
91
|
+
page_name: window.location.pathname
|
|
92
|
+
}, eventFields);
|
|
93
|
+
(0, _Analytics.analyticsTrack)(subject, data);
|
|
94
|
+
};
|
|
95
|
+
exports.sendAnalyticsEvent = sendAnalyticsEvent;
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfanF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQW5hbHl0aWNzIiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwicGF5bG9hZCIsImRhdGFFeGlzdHMiLCJXV1RQIiwicG9pbnRzX2RhdGEiLCJpdGVtcyIsImZpbmQiLCJwb2ludCIsImlkIiwicGFyc2VJbnQiLCJ1bmRlZmluZWQiLCJXV1RQQXJlYSIsImFyZWFzX2RhdGEiLCJuZXdBcmVhcyIsImFyZWEiLCJhcmVhX2lkIiwicGFydF9vZl9hcmVhX2lkIiwiZm9yV1dUUE1hcCIsInNldFdXVFBJbmZvIiwic2V0UG9pbnRzIiwic2V0QXJlYXMiLCJleHBvcnRzIiwiY3JlYXRlUG9wdXBGb3JPYmplY3QiLCJhcmdzIiwibWFya2VyIiwiYmluZFBvcHVwIiwibWF4V2lkdGgiLCJtaW5XaWR0aCIsIm1heEhlaWdodCIsIm1pbkhlaWdodCIsIm9uIiwic2V0VGltZW91dCIsIiQiLCJjb250ZW50cyIsImxlbmd0aCIsImFwcGVuZCIsInJlbmRlcmVkRWxlbWVudCIsImFyZWFGb2N1c0xvZ2ljIiwibGF0bG5ncyIsImZvY3VzZWRBcmVhIiwic3ViX2FyZWFzIiwiZmFjdG9yaWVzIiwic2hhcGVfZGF0YSIsImZvckVhY2giLCJsYXRsbmciLCJwdXNoIiwic3ViX2FyZWEiLCJzaW1wbGVUcnVuY2F0ZSIsInN0ciIsIkVycm9yIiwic3Vic3RyaW5nIiwiQ2FyZENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwic2VuZEFuYWx5dGljc0V2ZW50Iiwic3ViamVjdCIsInNlbGVjdGlvbiIsImV2ZW50RmllbGRzIiwiZGF0YSIsIl9vYmplY3RTcHJlYWQyIiwiZGVmYXVsdCIsInBhZ2VfbmFtZSIsIndpbmRvdyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJhbmFseXRpY3NUcmFjayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICdzcmMvdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplV1dUUERhdGEgPSAocGF5bG9hZCkgPT4ge1xuICBpZiAocGF5bG9hZC5kYXRhRXhpc3RzKCkpIHtcbiAgICBsZXQgV1dUUDogSVBvaW50ID0gcGF5bG9hZC5wb2ludHNfZGF0YS5pdGVtcy5maW5kKFxuICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBwYXJzZUludChwYXlsb2FkLmlkKSxcbiAgICApO1xuICAgIGlmIChXV1RQID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgICBsZXQgV1dUUEFyZWE6IElBcmVhID0gcGF5bG9hZC5hcmVhc19kYXRhLm5ld0FyZWFzLmZpbmQoXG4gICAgICAoYXJlYTogSUFyZWEpID0+IGFyZWEuYXJlYV9pZCA9PT0gV1dUUC5wYXJ0X29mX2FyZWFfaWQsXG4gICAgKTtcblxuICAgIFdXVFAuZm9yV1dUUE1hcCA9IHRydWU7XG4gICAgcGF5bG9hZC5zZXRXV1RQSW5mbyh7IHBvaW50OiBXV1RQLCBhcmVhOiBXV1RQQXJlYSB9KTtcbiAgICBwYXlsb2FkLnNldFBvaW50cyhwYXlsb2FkLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgICBwYXlsb2FkLnNldEFyZWFzKHBheWxvYWQuYXJlYXNfZGF0YS5uZXdBcmVhcyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb3B1cEZvck9iamVjdCA9IChhcmdzKSA9PiB7XG4gIGFyZ3MubWFya2VyLmJpbmRQb3B1cChgPGRpdiBjbGFzcz1cIndpZGdldC1jb250YWluZXJcIj48L2Rpdj5gLCB7XG4gICAgbWF4V2lkdGg6IDQwMCxcbiAgICBtaW5XaWR0aDogNDAwLFxuICAgIG1heEhlaWdodDogNDAwLFxuICAgIG1pbkhlaWdodDogNDAwLFxuICB9KTtcblxuICBhcmdzLm1hcmtlci5vbigncG9wdXBvcGVuJywgZnVuY3Rpb24gKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCQoJy53aWRnZXQtY29udGFpbmVyJykuY29udGVudHMoKS5sZW5ndGggPD0gMCkge1xuICAgICAgICAkKCcud2lkZ2V0LWNvbnRhaW5lcicpLmFwcGVuZChhcmdzLnJlbmRlcmVkRWxlbWVudCk7XG4gICAgICB9XG4gICAgfSwgMjAwKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAoYXJncykgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGlmIChcbiAgICBhcmdzLmZvY3VzZWRBcmVhLnN1Yl9hcmVhcy5sZW5ndGggPT09IDAgJiZcbiAgICBhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcy5sZW5ndGggPT09IDBcbiAgKVxuICAgIHJldHVybjtcblxuICBpZiAoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoID09PSAwKSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKGxhdGxuZyk7XG4gICAgfSk7XG4gICAgYXJncy5zZXRBcmVhcyhhcmdzLmZvY3VzZWRBcmVhLmZhY3Rvcmllcyk7XG4gIH0gZWxzZSB7XG4gICAgYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMuZm9yRWFjaCgoc3ViX2FyZWE6IElBcmVhKSA9PiB7XG4gICAgICBzdWJfYXJlYS5zaGFwZV9kYXRhLmZvckVhY2goKGxhdGxuZykgPT4ge1xuICAgICAgICBsYXRsbmdzLnB1c2gobGF0bG5nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGFyZ3Muc2V0QXJlYXMoYXJncy5mb2N1c2VkQXJlYS5zdWJfYXJlYXMpO1xuICB9XG5cbiAgLy8gYXJncy5tYXAuZml0Qm91bmRzKGxhdGxuZ3MpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNpbXBsZVRydW5jYXRlID0gKHN0ciwgbGVuZ3RoKSA9PiB7XG4gIGlmICh0eXBlb2Ygc3RyICE9PSAnc3RyaW5nJyB8fCB0eXBlb2YgbGVuZ3RoICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhcmd1bWVudHMuIFBsZWFzZSBwcm92aWRlIGEgc3RyaW5nIGFuZCBhIG51bWJlci4nKTtcbiAgfVxuXG4gIGlmIChzdHIubGVuZ3RoIDw9IGxlbmd0aCkge1xuICAgIHJldHVybiBzdHI7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHN0ci5zdWJzdHJpbmcoMCwgbGVuZ3RoKSArICcuLi4nO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ2FyZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIC5jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5gO1xuXG4vLyBTZW5kIGFuYWx5dGljcyBldmVudHMgZnJvbSBzZXZlcmFsIHBsYWNlcyBpbiB3d3RwbWFwLlxuLy8gc3ViamVjdCBpcyB0aGUgbmFtZSBvZiB0aGUgZXZlbnRcbi8vIHNlbGVjdGlvbiBpcyB0aGUgb2JqZWN0IHRoYXQgd2FzIHNlbGVjdGVkXG4vLyBzcGVjaWZpY0ZpZWxkcyBpcyBhbiBvYmplY3Qgd2l0aCBldmVudCBmaWVsZHMgdG8gc2VuZCB3aGljaCBhcmUgY29tYmluZWQgd2l0aCB0aGUgcmVzdCBvZiB0aGUgZmllbGRzXG5leHBvcnQgY29uc3Qgc2VuZEFuYWx5dGljc0V2ZW50ID0gKFxuICBzdWJqZWN0OiBzdHJpbmcsXG4gIHNlbGVjdGlvbjogc3RyaW5nLFxuICBldmVudEZpZWxkczogT2JqZWN0LFxuKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgc2VsZWN0aW9uOiBzZWxlY3Rpb24sXG4gICAgcGFnZV9uYW1lOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgLi4uZXZlbnRGaWVsZHMsXG4gIH07XG4gIGFuYWx5dGljc1RyYWNrKHN1YmplY3QsIGRhdGEpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBRUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBRU8sSUFBTUUsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSUMsT0FBTyxFQUFLO0VBQzdDLElBQUlBLE9BQU8sQ0FBQ0MsVUFBVSxDQUFDLENBQUMsRUFBRTtJQUN4QixJQUFJQyxJQUFZLEdBQUdGLE9BQU8sQ0FBQ0csV0FBVyxDQUFDQyxLQUFLLENBQUNDLElBQUksQ0FDL0MsVUFBQ0MsS0FBYTtNQUFBLE9BQUtBLEtBQUssQ0FBQ0MsRUFBRSxLQUFLQyxRQUFRLENBQUNSLE9BQU8sQ0FBQ08sRUFBRSxDQUFDO0lBQUEsQ0FDdEQsQ0FBQztJQUNELElBQUlMLElBQUksS0FBS08sU0FBUyxFQUFFO0lBQ3hCLElBQUlDLFFBQWUsR0FBR1YsT0FBTyxDQUFDVyxVQUFVLENBQUNDLFFBQVEsQ0FBQ1AsSUFBSSxDQUNwRCxVQUFDUSxJQUFXO01BQUEsT0FBS0EsSUFBSSxDQUFDQyxPQUFPLEtBQUtaLElBQUksQ0FBQ2EsZUFBZTtJQUFBLENBQ3hELENBQUM7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
|
|
@@ -112,7 +112,7 @@ var EventInfo = function EventInfo(props) {
|
|
|
112
112
|
firstObservation: event.first_observation_from_hierarchy,
|
|
113
113
|
lastObservation: event.last_observation_from_hierarchy
|
|
114
114
|
}), /*#__PURE__*/_react.default.createElement(_SeverityScore.default, {
|
|
115
|
-
eventScore: event.score,
|
|
115
|
+
eventScore: event.first_observation_from_hierarchy.score,
|
|
116
116
|
explanations: event.algo_explanations
|
|
117
117
|
}), /*#__PURE__*/_react.default.createElement(_SourceDetails.default, {
|
|
118
118
|
sources: event.sources.length === 0 ? event.no_sources : event.sources
|
|
@@ -136,4 +136,4 @@ var EventInfoContainer = _styledComponents.default.div.withConfig({
|
|
|
136
136
|
var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
137
137
|
var _default = connector(EventInfo);
|
|
138
138
|
exports.default = _default;
|
|
139
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2ZyZWVTb2xpZFN2Z0ljb25zIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfRXJyb3JCb3VuZGFyeSIsIl9hY3Rpb25zMiIsIl9yZWFjdFJvdXRlckRvbSIsIl9IZWFkZXIiLCJfVGltZWxpbmVzIiwiX1NldmVyaXR5U2NvcmUiLCJfU291cmNlRGV0YWlscyIsIl9TYW1wbGluZ0xpc3QiLCJfcmVhY3REZXZpY2VEZXRlY3QiLCJfaWNvbnMiLCJfcmVhY3RCb290c3RyYXAiLCJfQW5hbHl0aWNzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsIm5hdl9jb250ZXh0X2RhdGEiLCJFdmVudEluZm8iLCJwcm9wcyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJldmVudCIsInJlT3BlbkZpbHRlciIsImZvY3VzZWRFdmVudFBhdGhzIiwibWFwIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2VsZWN0ZWRTb3VyY2UiLCJzZXRTZWxlY3RlZFNvdXJjZSIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwibG9jYXRpb24iLCJ1c2VMb2NhdGlvbiIsInJlbW92ZU9iamVjdHNGcm9tTWFwIiwiZm9yRWFjaCIsInBhdGgiLCJyZW1vdmVMYXllciIsImxheWVycyIsIl9sYXllcnMiLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdCIsInVuZGVmaW5lZCIsImluY2x1ZGVzIiwiaGFuZGxlR29CYWNrQ2xpY2siLCJzZXRGb2N1c2VkRXZlbnQiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsInNldEV2ZW50SW5kaWNhdG9yIiwic2V0Q3VycmVudFRpbWUiLCJEYXRlIiwibm93IiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwicHVzaCIsImNvbmNhdCIsIm5hdkNvbnRleHQiLCJuYW1lIiwid2F0ZXJBdXRob3JpdHlJZCIsImxvY2FsZSIsImV2ZW50RmlsdGVyUGFyYW0iLCJ0b2dnbGVTb3VyY2VTZWxlY3Rpb24iLCJwb2ludF9pZCIsInNlbGVjdFNvdXJjZSIsInNob3dNYXAiLCJhbmFseXRpY3NUcmFjayIsInBhZ2VfbmFtZSIsInBhdGhuYW1lIiwidXRpbGl0eV9uYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwic2lkZU5hdkV4cGFuZGVkIiwidXNlRWZmZWN0Iiwic291cmNlcyIsImxlbmd0aCIsImZsb2F0aW5nR3JhcGgiLCJvcGVuIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY2xhc3NOYW1lIiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUFycm93TGVmdCIsImkxOG4iLCJ0IiwiRXZlbnRJbmZvQ29udGFpbmVyIiwibGFzdF9zZWVuX3RpbWUiLCJpc0xpdmUiLCJlbmRfdGltZSIsImZpcnN0T2JzZXJ2YXRpb24iLCJmaXJzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeSIsImxhc3RPYnNlcnZhdGlvbiIsImxhc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHkiLCJldmVudFNjb3JlIiwic2NvcmUiLCJleHBsYW5hdGlvbnMiLCJhbGdvX2V4cGxhbmF0aW9ucyIsIm5vX3NvdXJjZXMiLCJzYW1wbGluZ3MiLCJ0aW1lX3pvbmUiLCJpc01vYmlsZSIsIlJvdyIsInNpZGVuYXZFeHBhbmRlZCIsIk1hcFN2ZyIsInN0eWxlIiwiem9vbSIsIm9wYWNpdHkiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRfaW5mby9FdmVudEluZm8udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRFdmVudCxcbiAgc2V0Rm9jdXNlZEV2ZW50UGF0aHMsXG4gIHNldEV2ZW50SW5kaWNhdG9yLFxuICBzZWxlY3RTb3VyY2UsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBmYUFycm93TGVmdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgJy4vRXZlbnRJbmZvU3R5bGUuc2Nzcyc7XG5pbXBvcnQge1xuICBzZXRDdXJyZW50VGltZSxcbiAgY2xvc2VGbG9hdGluZ0dyYXBoLFxuICBzaWRlTmF2RXhwYW5kZWQsXG59IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IEhlYWRlciBmcm9tICcuL0hlYWRlcic7XG5pbXBvcnQgVGltZWxpbmVzIGZyb20gJy4vVGltZWxpbmVzJztcbmltcG9ydCBTZXZlcml0eVNjb3JlIGZyb20gJy4vU2V2ZXJpdHlTY29yZSc7XG5pbXBvcnQgU291cmNlRGV0YWlscyBmcm9tICcuL1NvdXJjZURldGFpbHMvU291cmNlRGV0YWlscyc7XG5pbXBvcnQgU2FtcGxpbmdzIGZyb20gJy4vU2FtcGxpbmdMaXN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IE1hcFN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMnO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIG5hdl9jb250ZXh0X2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgcmVPcGVuRmlsdGVyOiAoKSA9PiB2b2lkO1xufTtcblxuY29uc3QgRXZlbnRJbmZvOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSwgZXZlbnQsIG5hdl9jb250ZXh0X2RhdGEsIHJlT3BlbkZpbHRlciB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgZm9jdXNlZEV2ZW50UGF0aHMgfSA9IHByb3BzLmV2ZW50c19kYXRhO1xuICBjb25zdCB7IG1hcCB9ID0gcHJvcHMuZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IFtzZWxlY3RlZFNvdXJjZSwgc2V0U2VsZWN0ZWRTb3VyY2VdID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICBjb25zdCByZW1vdmVPYmplY3RzRnJvbU1hcCA9ICgpID0+IHtcbiAgICBmb2N1c2VkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgfSk7XG5cbiAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgKGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdC5pbmNsdWRlcygnRXZlbnRCb2R5JykpIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRXZlbnRUYWlsJyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1NhbXBsaW5nUG9pbnQnIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRGVjb3JhdG9yJyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0hvdmVyZWRFZGdlRnJvbnQnIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnSG92ZXJlZEVkZ2UnIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRm9jdXNlZEVkZ2VGcm9udCcgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdGb2N1c2VkRWRnZScgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdVcHN0cmVhbVBvaW50J1xuICAgICAgKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlR29CYWNrQ2xpY2sgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRDdXJyZW50VGltZSgoRGF0ZS5ub3coKSAvIDEwMDApIHwgMCkpO1xuICAgIGRpc3BhdGNoKGNsb3NlRmxvYXRpbmdHcmFwaCgpKTtcbiAgICByZW1vdmVPYmplY3RzRnJvbU1hcCgpO1xuICAgIHJlT3BlbkZpbHRlcigpO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD1udWxsJnZhbHVlc0Zyb21LUUw9JHtnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB0b2dnbGVTb3VyY2VTZWxlY3Rpb24gPSAocG9pbnRfaWQ6IG51bWJlcikgPT4ge1xuICAgIHNldFNlbGVjdGVkU291cmNlKHBvaW50X2lkKTtcbiAgICBkaXNwYXRjaChzZWxlY3RTb3VyY2UocG9pbnRfaWQpKTtcbiAgfTtcblxuICBjb25zdCBzaG93TWFwID0gKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdFdmVudCBpbmZvIHNob3cgbWFwIGNsaWNrZWQnLCB7XG4gICAgICBwYWdlX25hbWU6IGxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgdXRpbGl0eV9uYW1lOiBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKGZhbHNlKSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRTb3VyY2UgPT09IG51bGwgJiYgZXZlbnQuc291cmNlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIHRvZ2dsZVNvdXJjZVNlbGVjdGlvbihldmVudC5zb3VyY2VzWzBdLnBvaW50X2lkKTtcbiAgICB9XG4gIH0sIFtcbiAgICBwcm9wcy5wb2ludHNfZGF0YSxcbiAgICBwcm9wcy5ldmVudHNfZGF0YSxcbiAgICBldmVudCxcbiAgICBnbG9iYWxfZGF0YS5mbG9hdGluZ0dyYXBoLm9wZW4sXG4gIF0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXsnYmFja19idXR0b25fY29udGFpbmVyJ30+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzc05hbWU9eydiYWNrX2J1dHRvbl9jb250YWluZXJfX2J1dHRvbid9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlR29CYWNrQ2xpY2soKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5iYWNrX3RvX2V2ZW50cycpfTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICA8RXZlbnRJbmZvQ29udGFpbmVyIGNsYXNzTmFtZT17J2NvbnRhaW5lcid9PlxuICAgICAgICAgIDxIZWFkZXIgbGFzdF9zZWVuX3RpbWU9e2V2ZW50Lmxhc3Rfc2Vlbl90aW1lfSAvPlxuICAgICAgICAgIDxUaW1lbGluZXNcbiAgICAgICAgICAgIGlzTGl2ZT17IWV2ZW50LmVuZF90aW1lfVxuICAgICAgICAgICAgZmlyc3RPYnNlcnZhdGlvbj17ZXZlbnQuZmlyc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHl9XG4gICAgICAgICAgICBsYXN0T2JzZXJ2YXRpb249e2V2ZW50Lmxhc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U2V2ZXJpdHlTY29yZVxuICAgICAgICAgICAgZXZlbnRTY29yZT17ZXZlbnQuc2NvcmV9XG4gICAgICAgICAgICBleHBsYW5hdGlvbnM9e2V2ZW50LmFsZ29fZXhwbGFuYXRpb25zfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFNvdXJjZURldGFpbHNcbiAgICAgICAgICAgIHNvdXJjZXM9e1xuICAgICAgICAgICAgICBldmVudC5zb3VyY2VzLmxlbmd0aCA9PT0gMCA/IGV2ZW50Lm5vX3NvdXJjZXMgOiBldmVudC5zb3VyY2VzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgLz57JyAnfVxuICAgICAgICAgIHtldmVudC5zYW1wbGluZ3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdzXG4gICAgICAgICAgICAgIHNhbXBsaW5ncz17ZXZlbnQuc2FtcGxpbmdzfVxuICAgICAgICAgICAgICB0aW1lX3pvbmU9e2V2ZW50LmZpcnN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5LnRpbWVfem9uZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7aXNNb2JpbGUgJiYgKFxuICAgICAgICAgICAgPFJvd1xuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1xuICAgICAgICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZFxuICAgICAgICAgICAgICAgICAgPyAnZml4ZWQtYm90dG9tIGp1c3RpZnktY29udGVudC1lbmQgbXgtMSdcbiAgICAgICAgICAgICAgICAgIDogJ2Qtbm9uZSdcbiAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNYXBTdmcgb25DbGljaz17c2hvd01hcH0gc3R5bGU9e3sgem9vbTogMC44LCBvcGFjaXR5OiAwLjYgfX0gLz5cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXZlbnRJbmZvQ29udGFpbmVyPlxuICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgIDwvPlxuICApO1xufTtcblxuY29uc3QgRXZlbnRJbmZvQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbmA7XG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRXZlbnRJbmZvKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtB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
|
|
139
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2ZyZWVTb2xpZFN2Z0ljb25zIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfRXJyb3JCb3VuZGFyeSIsIl9hY3Rpb25zMiIsIl9yZWFjdFJvdXRlckRvbSIsIl9IZWFkZXIiLCJfVGltZWxpbmVzIiwiX1NldmVyaXR5U2NvcmUiLCJfU291cmNlRGV0YWlscyIsIl9TYW1wbGluZ0xpc3QiLCJfcmVhY3REZXZpY2VEZXRlY3QiLCJfaWNvbnMiLCJfcmVhY3RCb290c3RyYXAiLCJfQW5hbHl0aWNzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsIm5hdl9jb250ZXh0X2RhdGEiLCJFdmVudEluZm8iLCJwcm9wcyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJldmVudCIsInJlT3BlbkZpbHRlciIsImZvY3VzZWRFdmVudFBhdGhzIiwibWFwIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2VsZWN0ZWRTb3VyY2UiLCJzZXRTZWxlY3RlZFNvdXJjZSIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwibG9jYXRpb24iLCJ1c2VMb2NhdGlvbiIsInJlbW92ZU9iamVjdHNGcm9tTWFwIiwiZm9yRWFjaCIsInBhdGgiLCJyZW1vdmVMYXllciIsImxheWVycyIsIl9sYXllcnMiLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdCIsInVuZGVmaW5lZCIsImluY2x1ZGVzIiwiaGFuZGxlR29CYWNrQ2xpY2siLCJzZXRGb2N1c2VkRXZlbnQiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsInNldEV2ZW50SW5kaWNhdG9yIiwic2V0Q3VycmVudFRpbWUiLCJEYXRlIiwibm93IiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwicHVzaCIsImNvbmNhdCIsIm5hdkNvbnRleHQiLCJuYW1lIiwid2F0ZXJBdXRob3JpdHlJZCIsImxvY2FsZSIsImV2ZW50RmlsdGVyUGFyYW0iLCJ0b2dnbGVTb3VyY2VTZWxlY3Rpb24iLCJwb2ludF9pZCIsInNlbGVjdFNvdXJjZSIsInNob3dNYXAiLCJhbmFseXRpY3NUcmFjayIsInBhZ2VfbmFtZSIsInBhdGhuYW1lIiwidXRpbGl0eV9uYW1lIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwic2lkZU5hdkV4cGFuZGVkIiwidXNlRWZmZWN0Iiwic291cmNlcyIsImxlbmd0aCIsImZsb2F0aW5nR3JhcGgiLCJvcGVuIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY2xhc3NOYW1lIiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUFycm93TGVmdCIsImkxOG4iLCJ0IiwiRXZlbnRJbmZvQ29udGFpbmVyIiwibGFzdF9zZWVuX3RpbWUiLCJpc0xpdmUiLCJlbmRfdGltZSIsImZpcnN0T2JzZXJ2YXRpb24iLCJmaXJzdF9vYnNlcnZhdGlvbl9mcm9tX2hpZXJhcmNoeSIsImxhc3RPYnNlcnZhdGlvbiIsImxhc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHkiLCJldmVudFNjb3JlIiwic2NvcmUiLCJleHBsYW5hdGlvbnMiLCJhbGdvX2V4cGxhbmF0aW9ucyIsIm5vX3NvdXJjZXMiLCJzYW1wbGluZ3MiLCJ0aW1lX3pvbmUiLCJpc01vYmlsZSIsIlJvdyIsInNpZGVuYXZFeHBhbmRlZCIsIk1hcFN2ZyIsInN0eWxlIiwiem9vbSIsIm9wYWNpdHkiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsImNvbm5lY3RvciIsImNvbm5lY3QiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRfaW5mby9FdmVudEluZm8udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7XG4gIHNldEZvY3VzZWRFdmVudCxcbiAgc2V0Rm9jdXNlZEV2ZW50UGF0aHMsXG4gIHNldEV2ZW50SW5kaWNhdG9yLFxuICBzZWxlY3RTb3VyY2UsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgeyBmYUFycm93TGVmdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgJy4vRXZlbnRJbmZvU3R5bGUuc2Nzcyc7XG5pbXBvcnQge1xuICBzZXRDdXJyZW50VGltZSxcbiAgY2xvc2VGbG9hdGluZ0dyYXBoLFxuICBzaWRlTmF2RXhwYW5kZWQsXG59IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IEhlYWRlciBmcm9tICcuL0hlYWRlcic7XG5pbXBvcnQgVGltZWxpbmVzIGZyb20gJy4vVGltZWxpbmVzJztcbmltcG9ydCBTZXZlcml0eVNjb3JlIGZyb20gJy4vU2V2ZXJpdHlTY29yZSc7XG5pbXBvcnQgU291cmNlRGV0YWlscyBmcm9tICcuL1NvdXJjZURldGFpbHMvU291cmNlRGV0YWlscyc7XG5pbXBvcnQgU2FtcGxpbmdzIGZyb20gJy4vU2FtcGxpbmdMaXN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IE1hcFN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMnO1xuaW1wb3J0IHsgUm93IH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGV2ZW50c19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIG5hdl9jb250ZXh0X2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgZXZlbnQ6IElFdmVudDtcbiAgcmVPcGVuRmlsdGVyOiAoKSA9PiB2b2lkO1xufTtcblxuY29uc3QgRXZlbnRJbmZvOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSwgZXZlbnQsIG5hdl9jb250ZXh0X2RhdGEsIHJlT3BlbkZpbHRlciB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgZm9jdXNlZEV2ZW50UGF0aHMgfSA9IHByb3BzLmV2ZW50c19kYXRhO1xuICBjb25zdCB7IG1hcCB9ID0gcHJvcHMuZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IFtzZWxlY3RlZFNvdXJjZSwgc2V0U2VsZWN0ZWRTb3VyY2VdID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICBjb25zdCByZW1vdmVPYmplY3RzRnJvbU1hcCA9ICgpID0+IHtcbiAgICBmb2N1c2VkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgfSk7XG5cbiAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgKGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdC5pbmNsdWRlcygnRXZlbnRCb2R5JykpIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRXZlbnRUYWlsJyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1NhbXBsaW5nUG9pbnQnIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRGVjb3JhdG9yJyB8fFxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0hvdmVyZWRFZGdlRnJvbnQnIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnSG92ZXJlZEVkZ2UnIHx8XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnRm9jdXNlZEVkZ2VGcm9udCcgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdGb2N1c2VkRWRnZScgfHxcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdVcHN0cmVhbVBvaW50J1xuICAgICAgKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlR29CYWNrQ2xpY2sgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2V0Rm9jdXNlZEV2ZW50KG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnRQYXRocyhbXSkpO1xuICAgIGRpc3BhdGNoKHNldEV2ZW50SW5kaWNhdG9yKG51bGwpKTtcbiAgICBkaXNwYXRjaChzZXRDdXJyZW50VGltZSgoRGF0ZS5ub3coKSAvIDEwMDApIHwgMCkpO1xuICAgIGRpc3BhdGNoKGNsb3NlRmxvYXRpbmdHcmFwaCgpKTtcbiAgICByZW1vdmVPYmplY3RzRnJvbU1hcCgpO1xuICAgIHJlT3BlbkZpbHRlcigpO1xuICAgIGhpc3RvcnkucHVzaChcbiAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD1udWxsJnZhbHVlc0Zyb21LUUw9JHtnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB0b2dnbGVTb3VyY2VTZWxlY3Rpb24gPSAocG9pbnRfaWQ6IG51bWJlcikgPT4ge1xuICAgIHNldFNlbGVjdGVkU291cmNlKHBvaW50X2lkKTtcbiAgICBkaXNwYXRjaChzZWxlY3RTb3VyY2UocG9pbnRfaWQpKTtcbiAgfTtcblxuICBjb25zdCBzaG93TWFwID0gKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdFdmVudCBpbmZvIHNob3cgbWFwIGNsaWNrZWQnLCB7XG4gICAgICBwYWdlX25hbWU6IGxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgdXRpbGl0eV9uYW1lOiBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKGZhbHNlKSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRTb3VyY2UgPT09IG51bGwgJiYgZXZlbnQuc291cmNlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIHRvZ2dsZVNvdXJjZVNlbGVjdGlvbihldmVudC5zb3VyY2VzWzBdLnBvaW50X2lkKTtcbiAgICB9XG4gIH0sIFtcbiAgICBwcm9wcy5wb2ludHNfZGF0YSxcbiAgICBwcm9wcy5ldmVudHNfZGF0YSxcbiAgICBldmVudCxcbiAgICBnbG9iYWxfZGF0YS5mbG9hdGluZ0dyYXBoLm9wZW4sXG4gIF0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXsnYmFja19idXR0b25fY29udGFpbmVyJ30+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzc05hbWU9eydiYWNrX2J1dHRvbl9jb250YWluZXJfX2J1dHRvbid9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlR29CYWNrQ2xpY2soKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5iYWNrX3RvX2V2ZW50cycpfTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICA8RXZlbnRJbmZvQ29udGFpbmVyIGNsYXNzTmFtZT17J2NvbnRhaW5lcid9PlxuICAgICAgICAgIDxIZWFkZXIgbGFzdF9zZWVuX3RpbWU9e2V2ZW50Lmxhc3Rfc2Vlbl90aW1lfSAvPlxuICAgICAgICAgIDxUaW1lbGluZXNcbiAgICAgICAgICAgIGlzTGl2ZT17IWV2ZW50LmVuZF90aW1lfVxuICAgICAgICAgICAgZmlyc3RPYnNlcnZhdGlvbj17ZXZlbnQuZmlyc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHl9XG4gICAgICAgICAgICBsYXN0T2JzZXJ2YXRpb249e2V2ZW50Lmxhc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U2V2ZXJpdHlTY29yZVxuICAgICAgICAgICAgZXZlbnRTY29yZT17ZXZlbnQuZmlyc3Rfb2JzZXJ2YXRpb25fZnJvbV9oaWVyYXJjaHkuc2NvcmV9XG4gICAgICAgICAgICBleHBsYW5hdGlvbnM9e2V2ZW50LmFsZ29fZXhwbGFuYXRpb25zfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFNvdXJjZURldGFpbHNcbiAgICAgICAgICAgIHNvdXJjZXM9e1xuICAgICAgICAgICAgICBldmVudC5zb3VyY2VzLmxlbmd0aCA9PT0gMCA/IGV2ZW50Lm5vX3NvdXJjZXMgOiBldmVudC5zb3VyY2VzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgLz57JyAnfVxuICAgICAgICAgIHtldmVudC5zYW1wbGluZ3MubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdzXG4gICAgICAgICAgICAgIHNhbXBsaW5ncz17ZXZlbnQuc2FtcGxpbmdzfVxuICAgICAgICAgICAgICB0aW1lX3pvbmU9e2V2ZW50LmZpcnN0X29ic2VydmF0aW9uX2Zyb21faGllcmFyY2h5LnRpbWVfem9uZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7aXNNb2JpbGUgJiYgKFxuICAgICAgICAgICAgPFJvd1xuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1xuICAgICAgICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZFxuICAgICAgICAgICAgICAgICAgPyAnZml4ZWQtYm90dG9tIGp1c3RpZnktY29udGVudC1lbmQgbXgtMSdcbiAgICAgICAgICAgICAgICAgIDogJ2Qtbm9uZSdcbiAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxNYXBTdmcgb25DbGljaz17c2hvd01hcH0gc3R5bGU9e3sgem9vbTogMC44LCBvcGFjaXR5OiAwLjYgfX0gLz5cbiAgICAgICAgICAgIDwvUm93PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXZlbnRJbmZvQ29udGFpbmVyPlxuICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgIDwvPlxuICApO1xufTtcblxuY29uc3QgRXZlbnRJbmZvQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbmA7XG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoRXZlbnRJbmZvKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQs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
|