@kando-env/kando-ui 1.2.249 → 1.2.251-alpha.0
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/Router.js +5 -1
- package/lib/Widgets/Map/Map.js +100 -23
- package/lib/Widgets/Map/Map.scss +67 -0
- package/lib/Widgets/Map/MapUtils.js +27 -12
- package/lib/Widgets/Map/areas/AreaPolygons.js +3 -3
- package/lib/Widgets/Map/edges/Edge.js +2 -2
- package/lib/Widgets/Map/edges/Edge.scss +7 -2
- package/lib/Widgets/Map/edges/Edges.js +14 -2
- package/lib/Widgets/Map/events/EventIndicator.js +2 -2
- package/lib/Widgets/Map/events/EventPath.js +1 -1
- package/lib/Widgets/Map/events/EventUtils.js +23 -17
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +6 -2
- package/lib/Widgets/Map/events/PointOfEvent.js +10 -7
- package/lib/Widgets/Map/points/PointIcon.js +44 -0
- package/lib/Widgets/Map/points/PointIcon.scss +230 -0
- package/lib/Widgets/Map/points/PointMarker.js +22 -19
- package/lib/Widgets/Map/points/PointMarkers.js +62 -13
- package/lib/Widgets/Map/points/PointUtils.js +83 -33
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +5 -5
- package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/MostPolluting.js +17 -8
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +9 -15
- package/lib/assets/icons/pin/pin-matash-white.svg +8 -42
- package/lib/assets/icons/plus_v.svg +13 -0
- package/lib/assets/icons/water_reuse.svg +27 -0
- package/lib/assets/map/pin-matash-clicked.svg +12 -0
- package/lib/assets/map/pin-matash-white.svg +8 -28
- package/lib/assets/map/pin-plant-clicked.svg +10 -0
- package/lib/assets/map/pin-plant-white.svg +6 -28
- package/lib/assets/map/pin-suction-clicked.svg +10 -0
- package/lib/assets/map/pin-suction.svg +6 -23
- package/lib/assets/map/pin-water-clicked.svg +11 -0
- package/lib/assets/map/pin-water.svg +7 -17
- package/lib/assets/point_icons/WWTP-icon.svg +8 -21
- package/lib/assets/point_icons/factory-icon.svg +6 -21
- package/lib/assets/point_icons/pump-station-icon.svg +6 -16
- package/lib/components/CustomInputs/Select/Select.js +22 -4
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +8 -2
- package/lib/components/Header/InfoBar/InfoBar.js +7 -1
- package/lib/components/Header/Slideshow/Slideshow.js +5 -5
- package/lib/hooks/useInitializeHeaders.js +2 -3
- package/lib/hooks/useMap.js +4 -14
- package/lib/i18n/en.json +38 -2
- package/lib/i18n/en_uk.json +23 -0
- package/lib/i18n/fr.json +23 -0
- package/lib/i18n/he.json +33 -0
- package/lib/i18n/it.json +23 -0
- package/lib/index.js +9 -1
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/AreaPage.js +9 -5
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +4 -2
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +20 -4
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +4 -4
- package/lib/pages/EventsPage/events/EventsStyle.scss +1 -0
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +3 -2
- package/lib/pages/EventsPage/events/events_list/EventsList.js +18 -32
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +5 -1
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +11 -7
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/ProfilePage/Container.js +2 -2
- package/lib/pages/ProfilePage/ProfilePage.js +154 -48
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +3 -1
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +2 -2
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +4 -4
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +6 -6
- package/lib/pages/SitePage/SitePage.js +4 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +11 -23
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +23 -6
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +17 -0
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +15 -6
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +4 -2
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +67 -0
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +15 -10
- package/lib/store/WBE/models/IWBE.js +1 -1
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/global/actions.js +5 -3
- package/lib/store/global/models/IGlobalState.js +1 -1
- package/lib/store/permissions/permissionsSlice.js +1 -3
- package/lib/store/points/models/IGroup.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/ui-kit/KandoTable/KandoTable.js +4 -4
- package/lib/utilities/Analytics.js +2 -1
- package/lib/utilities/edgesMath.js +5 -3
- package/lib/utilities/map/icons.js +19 -7
- package/lib/utilities/polylinedecorator.js +383 -0
- package/lib/utilities/urls.js +27 -1
- package/package.json +9 -4
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.standardBackground = exports.selectedBackground = exports.popupContent = exports.matchIconToPoint = exports.markerBelongsToSource = exports.markerBelongsToSelectedSource = exports.isCollectorFocused = exports.createSamplingIcons = exports.createSamplingIconPoint = exports.createObservationIconPoint = exports.createManholePoint = exports.createBubblePoint = exports.combinedWWTPIcon = exports.combinedPumpStationIcon = exports.combinedFactoryIcon = exports.combinedCollectorsIcon = exports.belongsToSourceBackground = void 0;
|
|
7
|
+
exports.standardBackground = exports.selectedBackground = exports.removeLayerGroup = exports.popupContent = exports.matchIconToPoint = exports.markerBelongsToSource = exports.markerBelongsToSelectedSource = exports.isCollectorFocused = exports.handleMarkerClick = exports.createSamplingIcons = exports.createSamplingIconPoint = exports.createObservationIconPoint = exports.createManholePoint = exports.createBubblePoint = exports.combinedWWTPIcon = exports.combinedPumpStationIcon = exports.combinedFactoryIcon = exports.combinedCollectorsIcon = exports.bindPopupToMarker = exports.belongsToSourceBackground = exports.addLayerGroup = void 0;
|
|
8
8
|
var _lineChart = _interopRequireDefault(require("../../../assets/line-chart.svg"));
|
|
9
9
|
var _leaflet = _interopRequireDefault(require("leaflet"));
|
|
10
10
|
var _i18n = _interopRequireDefault(require("../../../utilities/i18n"));
|
|
@@ -25,6 +25,8 @@ var _WWTPIcon = _interopRequireDefault(require("../../../assets/point_icons/WWTP
|
|
|
25
25
|
var _waterNoBackground = _interopRequireDefault(require("../../../assets/point_icons/water-no-background.svg"));
|
|
26
26
|
var _whitePoint = _interopRequireDefault(require("../../../assets/white-point.png"));
|
|
27
27
|
var _MapUtils = require("../MapUtils");
|
|
28
|
+
var _PointIcon = require("./PointIcon");
|
|
29
|
+
var _water_reuse = _interopRequireDefault(require("../../../assets/icons/water_reuse.svg"));
|
|
28
30
|
var isCollectorFocused = function isCollectorFocused(point, event) {
|
|
29
31
|
var _event$observations;
|
|
30
32
|
return (event === null || event === void 0 ? void 0 : (_event$observations = event.observations) === null || _event$observations === void 0 ? void 0 : _event$observations.length) === 1 && point.id === event.observations[0].point_id;
|
|
@@ -33,33 +35,38 @@ exports.isCollectorFocused = isCollectorFocused;
|
|
|
33
35
|
var buildManholeTootipString = function buildManholeTootipString(point) {
|
|
34
36
|
var string = "".concat(point.group.name, " ");
|
|
35
37
|
if (point.group.type === 'Groups::Factory') {
|
|
36
|
-
string += "
|
|
38
|
+
string += "<br/>Sector-TBD: ".concat(point.group.sector_name);
|
|
39
|
+
string += "<br/>Water Consumption-TBD: ".concat(point.group.water_consumption_per_day);
|
|
37
40
|
} else {
|
|
38
41
|
string = "".concat(point.name);
|
|
39
42
|
}
|
|
40
43
|
return string;
|
|
41
44
|
};
|
|
42
45
|
|
|
46
|
+
// @ts-ignore
|
|
43
47
|
// iconSize: [width, height],
|
|
44
48
|
// IconAnchor: [(-right)(+left), (-down)(+up)]
|
|
45
|
-
var createBubblePoint = function createBubblePoint(markerLocation, point, map, hovered) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var pointCustomIcon = _leaflet.default.marker(markerLocation, {
|
|
51
|
-
icon: icon,
|
|
52
|
-
riseOnHover: false
|
|
53
|
-
}).addTo(map);
|
|
54
|
-
pointCustomIcon.bindTooltip(buildManholeTootipString(point));
|
|
55
|
-
pointCustomIcon['kando_few_layer_icon'] = matchIconToPoint(point).length > 1;
|
|
56
|
-
pointCustomIcon['kando_index_object'] = index;
|
|
57
|
-
pointCustomIcon['kando_object_id'] = point.id;
|
|
58
|
-
pointCustomIcon['kando_object'] = 'Point';
|
|
59
|
-
if (hovered) pointCustomIcon['kando_object'] = 'PointHovered';
|
|
49
|
+
var createBubblePoint = function createBubblePoint(markerLocation, point, map, hovered, layerGroup) {
|
|
50
|
+
var subtitle = point.group.type === 'Groups::Factory' ? point.group.sector_name : '';
|
|
51
|
+
var pointCustomIcon = _leaflet.default.marker(markerLocation, {
|
|
52
|
+
icon: (0, _PointIcon.getPointIconByType)(point.group.type, point.name, subtitle, false, false),
|
|
53
|
+
riseOnHover: false
|
|
60
54
|
});
|
|
55
|
+
// @ts-ignore
|
|
56
|
+
// pointCustomIcon.bindTooltip(buildManholeTootipString(point));
|
|
57
|
+
pointCustomIcon['kando_object_id'] = point.id;
|
|
58
|
+
pointCustomIcon['kando_object'] = 'Point';
|
|
59
|
+
if (hovered) pointCustomIcon['kando_object'] = 'PointHovered';
|
|
60
|
+
layerGroup.addLayer(pointCustomIcon);
|
|
61
|
+
if (point.group.type === 'Groups::Factory') {
|
|
62
|
+
bindPopupToMarker(point, pointCustomIcon);
|
|
63
|
+
|
|
64
|
+
//The following is being called for every point, we should do that on the layerGroup level which will happen once
|
|
65
|
+
//It is noticed when there are thousands of points
|
|
66
|
+
handleMarkerClick(map, point, pointCustomIcon);
|
|
67
|
+
}
|
|
61
68
|
if (point.relatedEventsAmount) {
|
|
62
|
-
var
|
|
69
|
+
var _pointCustomIcon = _leaflet.default.marker(markerLocation, {
|
|
63
70
|
icon: _leaflet.default.divIcon({
|
|
64
71
|
className: "\n ".concat(point.relatedEventsAmount >= 100 ? 'circle-events-amount circle-events-amount--tridigit' : 'circle-events-amount', " \n ").concat(point.relatedEventsAmount > 2 ? 'alert-color' : '', "\n "),
|
|
65
72
|
html: "<p>".concat(point.relatedEventsAmount, "</p>"),
|
|
@@ -67,28 +74,29 @@ var createBubblePoint = function createBubblePoint(markerLocation, point, map, h
|
|
|
67
74
|
}),
|
|
68
75
|
riseOnHover: false,
|
|
69
76
|
opacity: hovered ? 1 : 0
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if (hovered)
|
|
77
|
+
});
|
|
78
|
+
_pointCustomIcon['kando_object_id'] = point.id;
|
|
79
|
+
_pointCustomIcon['kando_object'] = 'IconNumber';
|
|
80
|
+
if (hovered) _pointCustomIcon['kando_object'] = 'IconNumberHovered';
|
|
74
81
|
}
|
|
75
82
|
};
|
|
76
83
|
exports.createBubblePoint = createBubblePoint;
|
|
77
|
-
var createManholePoint = function createManholePoint(markerLocation, point, map, hovered) {
|
|
78
|
-
var pointIcon = _leaflet.default.
|
|
84
|
+
var createManholePoint = function createManholePoint(markerLocation, point, map, hovered, layerGroup) {
|
|
85
|
+
var pointIcon = new _leaflet.default.Icon({
|
|
79
86
|
iconUrl: _whitePoint.default,
|
|
80
87
|
iconSize: [9, 9],
|
|
81
88
|
iconAnchor: [4.5, 4.5]
|
|
82
89
|
});
|
|
83
|
-
var manholeIcon = _leaflet.default.
|
|
90
|
+
var manholeIcon = new _leaflet.default.Marker(markerLocation, {
|
|
84
91
|
icon: pointIcon,
|
|
85
92
|
riseOnHover: true
|
|
86
|
-
})
|
|
93
|
+
});
|
|
87
94
|
manholeIcon.bindTooltip(buildManholeTootipString(point));
|
|
88
95
|
manholeIcon['kando_object_id'] = point.id;
|
|
89
96
|
manholeIcon['kando_object'] = 'Point';
|
|
90
97
|
manholeIcon['kando_point_type'] = 'Manhole';
|
|
91
98
|
if (hovered) manholeIcon['kando_object'] = 'PointHovered';
|
|
99
|
+
layerGroup.addLayer(manholeIcon);
|
|
92
100
|
};
|
|
93
101
|
exports.createManholePoint = createManholePoint;
|
|
94
102
|
var matchIconToPoint = function matchIconToPoint(point, event) {
|
|
@@ -234,7 +242,7 @@ var markerBelongsToSource = function markerBelongsToSource(event, point) {
|
|
|
234
242
|
})[0];
|
|
235
243
|
};
|
|
236
244
|
exports.markerBelongsToSource = markerBelongsToSource;
|
|
237
|
-
var createSamplingIconPoint = function createSamplingIconPoint(markerLocation, secondaryIcon, map, point, event, hovered) {
|
|
245
|
+
var createSamplingIconPoint = function createSamplingIconPoint(markerLocation, secondaryIcon, map, point, event, hovered, layerGroup) {
|
|
238
246
|
// iconSize: [width, height],
|
|
239
247
|
// Icon Anchor: [(-right)(+left), (-down)(+up)]
|
|
240
248
|
var samplingIcon = [_leaflet.default.icon({
|
|
@@ -261,7 +269,7 @@ var createSamplingIconPoint = function createSamplingIconPoint(markerLocation, s
|
|
|
261
269
|
var pointCustomIcon = _leaflet.default.marker(markerLocation, {
|
|
262
270
|
icon: icon,
|
|
263
271
|
riseOnHover: false
|
|
264
|
-
})
|
|
272
|
+
});
|
|
265
273
|
pointCustomIcon.bindTooltip(buildManholeTootipString(point));
|
|
266
274
|
pointCustomIcon['kando_index_object'] = index;
|
|
267
275
|
pointCustomIcon['kando_few_layer_icon'] = true;
|
|
@@ -270,10 +278,11 @@ var createSamplingIconPoint = function createSamplingIconPoint(markerLocation, s
|
|
|
270
278
|
pointCustomIcon['kando_object_id'] = point.id;
|
|
271
279
|
pointCustomIcon['kando_object'] = 'Sampling';
|
|
272
280
|
if (hovered) pointCustomIcon['kando_object'] = 'SamplingHovered';
|
|
281
|
+
layerGroup.addLayer(pointCustomIcon);
|
|
273
282
|
});
|
|
274
283
|
};
|
|
275
284
|
exports.createSamplingIconPoint = createSamplingIconPoint;
|
|
276
|
-
var createObservationIconPoint = function createObservationIconPoint(markerLocation, secondaryIcon, map, point, event, hovered) {
|
|
285
|
+
var createObservationIconPoint = function createObservationIconPoint(markerLocation, secondaryIcon, map, point, event, hovered, layerGroup) {
|
|
277
286
|
// iconSize: [width, height],
|
|
278
287
|
// Icon Anchor: [(-right)(+left), (-down)(+up)]
|
|
279
288
|
var observationIcon = [_leaflet.default.icon({
|
|
@@ -298,7 +307,7 @@ var createObservationIconPoint = function createObservationIconPoint(markerLocat
|
|
|
298
307
|
var pointCustomIcon = _leaflet.default.marker(markerLocation, {
|
|
299
308
|
icon: icon,
|
|
300
309
|
riseOnHover: false
|
|
301
|
-
})
|
|
310
|
+
});
|
|
302
311
|
pointCustomIcon.bindTooltip(buildManholeTootipString(point));
|
|
303
312
|
pointCustomIcon['kando_index_object'] = index;
|
|
304
313
|
pointCustomIcon['kando_few_layer_icon'] = true;
|
|
@@ -307,15 +316,16 @@ var createObservationIconPoint = function createObservationIconPoint(markerLocat
|
|
|
307
316
|
pointCustomIcon['kando_object_id'] = point.id;
|
|
308
317
|
pointCustomIcon['kando_object'] = 'Observation';
|
|
309
318
|
if (hovered) pointCustomIcon['kando_object'] = 'ObservationHovered';
|
|
319
|
+
layerGroup.addLayer(pointCustomIcon);
|
|
310
320
|
});
|
|
311
321
|
};
|
|
312
322
|
exports.createObservationIconPoint = createObservationIconPoint;
|
|
313
|
-
var createSamplingIcons = function createSamplingIcons(markerLocation, event, point, map, hovered) {
|
|
323
|
+
var createSamplingIcons = function createSamplingIcons(markerLocation, event, point, map, hovered, layerGroup) {
|
|
314
324
|
var sampledPointIds = event.samplings.map(function (s) {
|
|
315
325
|
return s.point_id;
|
|
316
326
|
});
|
|
317
327
|
if (event !== null && event.samplings.length !== 0 && sampledPointIds.includes(point.id)) {
|
|
318
|
-
createSamplingIconPoint(markerLocation, matchIconToPoint(point, event) !== null, map, point, event, hovered);
|
|
328
|
+
createSamplingIconPoint(markerLocation, matchIconToPoint(point, event) !== null, map, point, event, hovered, layerGroup);
|
|
319
329
|
}
|
|
320
330
|
};
|
|
321
331
|
exports.createSamplingIcons = createSamplingIcons;
|
|
@@ -327,4 +337,44 @@ var popupContent = function popupContent(obs, point) {
|
|
|
327
337
|
}
|
|
328
338
|
};
|
|
329
339
|
exports.popupContent = popupContent;
|
|
330
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJpc0NvbGxlY3RvckZvY3VzZWQiLCJwb2ludCIsImV2ZW50IiwiX2V2ZW50JG9ic2VydmF0aW9ucyIsIm9ic2VydmF0aW9ucyIsImxlbmd0aCIsImlkIiwicG9pbnRfaWQiLCJleHBvcnRzIiwiYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nIiwic3RyaW5nIiwiY29uY2F0IiwiZ3JvdXAiLCJuYW1lIiwidHlwZSIsInNlY3Rvcl9uYW1lIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXJrZXJMb2NhdGlvbiIsIm1hcCIsImhvdmVyZWQiLCJtYXRjaEljb25Ub1BvaW50IiwiZm9yRWFjaCIsImljb24iLCJpbmRleCIsInBvaW50Q3VzdG9tSWNvbiIsIkwiLCJtYXJrZXIiLCJyaXNlT25Ib3ZlciIsImFkZFRvIiwiYmluZFRvb2x0aXAiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJpY29uQW5jaG9yIiwiZXZlbnRzQ291bnRJY29uIiwiX3pvb20iLCJvcGFjaXR5IiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsIm1hbmhvbGVJY29uIiwiY29tYmluZWRGYWN0b3J5SWNvbiIsIm1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlIiwidW5zaGlmdCIsInNlbGVjdGVkQmFja2dyb3VuZCIsIm1hcmtlckJlbG9uZ3NUb1NvdXJjZSIsImJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQiLCJzdGFuZGFyZEJhY2tncm91bmQiLCJjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiIsImNvbWJpbmVkV1dUUEljb24iLCJyZWRQaW5SZWRTaGFkb3ciLCJ3YXRlckljb25Ob0JhY2tncm91bmQiLCJwb3B1cEFuY2hvciIsImNvbWJpbmVkQ29sbGVjdG9yc0ljb24iLCJzZWNvbmRhcnkiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJ0aGlyZCIsIndoaXRlUGluQmxhY2tTaGFkb3ciLCJ5ZWxsb3dDaXJjbGVVUkwiLCJwbGFudEljb25VUkwiLCJncmVlbkNpcmNsZVVSTCIsInB1bXBTdGF0aW9uSWNvblVSTCIsImNvbGxlY3Rvckljb24iLCJicmlnaHRCbHVlQ2lyY2xlVVJMIiwiV1dUUEljb25VUkwiLCJ3aGl0ZVBpblJlZFNoYWRvdyIsInNvdXJjZSIsInNvdXJjZXMiLCJmaWx0ZXIiLCJzZWxlY3RlZF9zb3VyY2UiLCJjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCIsInNlY29uZGFyeUljb24iLCJzYW1wbGluZ0ljb24iLCJibHVlQ2lyY2xlVVJMIiwic2FtcGxpbmdJY29uVVJMIiwidGhpcmRJY29uIiwiY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQiLCJvYnNlcnZhdGlvbkljb24iLCJwaW5rQ2lyY2xlVVJMIiwib2JzZXJ2YXRpb25JY29uVVJMIiwiY3JlYXRlU2FtcGxpbmdJY29ucyIsInNhbXBsZWRQb2ludElkcyIsInNhbXBsaW5ncyIsInMiLCJpbmNsdWRlcyIsInBvcHVwQ29udGVudCIsIm9icyIsIkdyYXBoSWNvbiIsImkxOG4iLCJ0Iiwic2V2ZXJpdHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50VXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEdyYXBoSWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbGluZS1jaGFydC5zdmcnO1xuaW1wb3J0IEwsIHsgTGF0TG5nVHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBibHVlQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHNhbXBsaW5nSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvc2FtcGxpbmctaWNvbi5zdmcnO1xuaW1wb3J0IHBpbmtDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3BpbmstY2lyY2xlLnN2Zyc7XG5pbXBvcnQgb2JzZXJ2YXRpb25JY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9vYnNlcnZhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgcmVkUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9yZWQtcGluLXJlZC1zaGFkb3cucG5nJztcbmltcG9ydCB3aGl0ZVBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLXJlZC1zaGFkb3cucG5nJztcbmltcG9ydCB3aGl0ZVBpbkJsYWNrU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tYmxhY2stc2hhZG93LnBuZyc7XG5pbXBvcnQgeWVsbG93Q2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy95ZWxsb3ctY2lyY2xlLnN2Zyc7XG5pbXBvcnQgcGxhbnRJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9mYWN0b3J5LWljb24uc3ZnJztcbmltcG9ydCBncmVlbkNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZ3JlZW4tY2lyY2xlLnN2Zyc7XG5pbXBvcnQgcHVtcFN0YXRpb25JY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9wdW1wLXN0YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IGNvbGxlY3Rvckljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL21hcC9waW4td2F0ZXIuc3ZnJztcbmltcG9ydCBicmlnaHRCbHVlQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9icmlnaHQtYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBXV1RQSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvV1dUUC1pY29uLnN2Zyc7XG5pbXBvcnQgd2F0ZXJJY29uTm9CYWNrZ3JvdW5kIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93YXRlci1uby1iYWNrZ3JvdW5kLnN2Zyc7XG5pbXBvcnQgd2hpdGVQb2ludCBmcm9tICcuLi8uLi8uLi9hc3NldHMvd2hpdGUtcG9pbnQucG5nJztcbmltcG9ydCB7IGV2ZW50c0NvdW50SWNvbiB9IGZyb20gJy4uL01hcFV0aWxzJztcblxuZXhwb3J0IGNvbnN0IGlzQ29sbGVjdG9yRm9jdXNlZCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHJldHVybiAoXG4gICAgZXZlbnQ/Lm9ic2VydmF0aW9ucz8ubGVuZ3RoID09PSAxICYmXG4gICAgcG9pbnQuaWQgPT09IGV2ZW50Lm9ic2VydmF0aW9uc1swXS5wb2ludF9pZFxuICApO1xufTtcblxuY29uc3QgYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgbGV0IHN0cmluZyA9IGAke3BvaW50Lmdyb3VwLm5hbWV9IGA7XG5cbiAgaWYgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknKSB7XG4gICAgc3RyaW5nICs9IGAoJHtwb2ludC5ncm91cC5zZWN0b3JfbmFtZX0pYDtcbiAgfSBlbHNlIHtcbiAgICBzdHJpbmcgPSBgJHtwb2ludC5uYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufTtcblxuLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbi8vIEljb25BbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbmV4cG9ydCBjb25zdCBjcmVhdGVCdWJibGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuKSA9PiB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbWF0Y2hJY29uVG9Qb2ludChwb2ludCkgIT09IG51bGwgJiZcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbWF0Y2hJY29uVG9Qb2ludChwb2ludCkuZm9yRWFjaCgoaWNvbjogYW55LCBpbmRleCkgPT4ge1xuICAgICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgICAgaWNvbjogaWNvbixcbiAgICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fZmV3X2xheWVyX2ljb24nXSA9XG4gICAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQpLmxlbmd0aCA+IDE7XG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG4gICAgfSk7XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnSWNvbk51bWJlcic7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnSWNvbk51bWJlckhvdmVyZWQnO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlTWFuaG9sZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4pID0+IHtcbiAgbGV0IHBvaW50SWNvbiA9IEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogcG9pbnRJY29uLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KS5hZGRUbyhtYXApO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19wb2ludF90eXBlJ10gPSAnTWFuaG9sZSc7XG4gIGlmIChob3ZlcmVkKSBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbn07XG5cbmV4cG9ydCBjb25zdCBtYXRjaEljb25Ub1BvaW50ID0gKHBvaW50OiBJUG9pbnQsIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgc3dpdGNoIChwb2ludC5ncm91cC50eXBlKSB7XG4gICAgY2FzZSAnR3JvdXBzOjpGYWN0b3J5JzpcbiAgICAgIGlmIChjb21iaW5lZEZhY3RvcnlJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZEZhY3RvcnlJY29uO1xuICAgIGNhc2UgJ0dyb3Vwczo6UHVtcFN0YXRpb24nOlxuICAgICAgaWYgKGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbjtcbiAgICBjYXNlICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc6XG4gICAgICBpZiAoY29tYmluZWRXV1RQSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRXV1RQSWNvbjtcblxuICAgIGNhc2UgJ0dyb3Vwczo6Q29sbGVjdG9ycyc6XG4gICAgICBpZiAoaXNDb2xsZWN0b3JGb2N1c2VkKHBvaW50LCBldmVudCkpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcbiAgICAgICAgICAgIGljb25BbmNob3I6IFszMCwgNTJdLFxuICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHdhdGVySWNvbk5vQmFja2dyb3VuZCxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG5cbiAgICAgICAgICAgIGljb25BbmNob3I6IFsyMiwgNDRdLFxuICAgICAgICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRDb2xsZWN0b3JzSWNvbjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHN0YW5kYXJkQmFja2dyb3VuZCA9IChcbiAgc2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UsXG4gIHRoaXJkOiBib29sZWFuID0gZmFsc2UsXG4pID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQaW5CbGFja1NoYWRvdyxcbiAgICBpY29uU2l6ZTogc2Vjb25kYXJ5ID8gWzAsIDBdIDogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IHNlY29uZGFyeSAmJiB0aGlyZCA/IFstMiwgMTldIDogc2Vjb25kYXJ5ID8gWy0yLCA0NF0gOiBbMjAsIDQyXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkRmFjdG9yeUljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogeWVsbG93Q2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogcGxhbnRJY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzUsIDMwXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkUHVtcFN0YXRpb25JY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGdyZWVuQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogcHVtcFN0YXRpb25JY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzcsIDMyXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkQ29sbGVjdG9yc0ljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogY29sbGVjdG9ySWNvbixcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgaWNvbkFuY2hvcjogWzI1LCA1MF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFdXVFBJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGJyaWdodEJsdWVDaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBXV1RQSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs4LCAzMV0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RlZEJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgbGV0IHNvdXJjZTtcblxuICBpZiAoZXZlbnQgIT09IG51bGwgJiYgZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHNvdXJjZSA9IGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdO1xuICB9XG5cbiAgcmV0dXJuIGV2ZW50ICE9PSBudWxsICYmIHNvdXJjZSAmJiBldmVudC5zZWxlY3RlZF9zb3VyY2UgPT09IHNvdXJjZS5wb2ludF9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9Tb3VyY2UgPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAoZXZlbnQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICByZXR1cm4gKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZClbMF1cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBzZWNvbmRhcnlJY29uOiBib29sZWFuLFxuICBtYXAsXG4gIHBvaW50OiBJUG9pbnQsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIGhvdmVyZWQ/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBzYW1wbGluZ0ljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IGJsdWVDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDE1XSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogc2FtcGxpbmdJY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAxM10gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGxldCB0aGlyZEljb24gPSBmYWxzZTtcbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIHRoaXJkSWNvbiA9IHRydWU7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKHNlY29uZGFyeUljb24sIHRoaXJkSWNvbikpO1xuICB9XG5cbiAgc2FtcGxpbmdJY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSkuYWRkVG8obWFwKTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nKHBvaW50KSk7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19pbmRleF9vYmplY3QnXSA9IGluZGV4O1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fZmV3X2xheWVyX2ljb24nXSA9IHRydWU7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19zZWNvbmRhcnknXSA9IHRoaXJkSWNvbiA/IGZhbHNlIDogc2Vjb25kYXJ5SWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3RoaXJkJ10gPSB0aGlyZEljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmcnO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nSG92ZXJlZCc7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IG9ic2VydmF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgNDBdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gIH1cblxuICBvYnNlcnZhdGlvbkljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KS5hZGRUbyhtYXApO1xuICAgIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gc2Vjb25kYXJ5SWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3RoaXJkJ10gPSBmYWxzZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbic7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb25Ib3ZlcmVkJztcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4pID0+IHtcbiAgbGV0IHNhbXBsZWRQb2ludElkcyA9IGV2ZW50LnNhbXBsaW5ncy5tYXAoKHMpID0+IHMucG9pbnRfaWQpO1xuICBpZiAoXG4gICAgZXZlbnQgIT09IG51bGwgJiZcbiAgICBldmVudC5zYW1wbGluZ3MubGVuZ3RoICE9PSAwICYmXG4gICAgc2FtcGxlZFBvaW50SWRzLmluY2x1ZGVzKHBvaW50LmlkKVxuICApIHtcbiAgICBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludChcbiAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgbWF0Y2hJY29uVG9Qb2ludChwb2ludCwgZXZlbnQpICE9PSBudWxsLFxuICAgICAgbWFwLFxuICAgICAgcG9pbnQsXG4gICAgICBldmVudCxcbiAgICAgIGhvdmVyZWQsXG4gICAgKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBvcHVwQ29udGVudCA9IChvYnM6IGFueSwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAob2JzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtwb2ludC5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtwb2ludC5ncm91cC5uYW1lfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInNlY3RvclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7b2JzLmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke1xuICAgICAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXR5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAncG9wdXAtY29udGVudF9fc2V2ZXJpdHktLScgKyBvYnMuc2V2ZXJpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLiR7b2JzLnNldmVyaXR5fWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2hyXCIgLz5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fZGlzY2hhcmdlLXRpbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmZpcnN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImZpcnN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5sYXN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImxhc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFBMkMsSUFBQUUsV0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUcsYUFBQSxHQUFBSixzQkFBQSxDQUFBQyxP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
|
|
340
|
+
var setIcon = function setIcon(element, clicked, point) {
|
|
341
|
+
element.setIcon((0, _PointIcon.getPointIconByType)(point.group.type, point.name, point.group.sector_name, clicked, false));
|
|
342
|
+
};
|
|
343
|
+
var handleMarkerClick = function handleMarkerClick(map, point, pointCustomIcon) {
|
|
344
|
+
map.on('zoomstart', function () {
|
|
345
|
+
map.closePopup();
|
|
346
|
+
});
|
|
347
|
+
pointCustomIcon.on('popupclose', function () {
|
|
348
|
+
setIcon(pointCustomIcon, false, point);
|
|
349
|
+
});
|
|
350
|
+
pointCustomIcon.on('popupopen', function () {
|
|
351
|
+
setIcon(pointCustomIcon, true, point);
|
|
352
|
+
});
|
|
353
|
+
};
|
|
354
|
+
exports.handleMarkerClick = handleMarkerClick;
|
|
355
|
+
var bindPopupToMarker = function bindPopupToMarker(point, layerGroup) {
|
|
356
|
+
var content = "\n <div class='main-content'>\n <div class='main-content__header'>\n <div class=\"main-content__header__titles\">\n <div class='main-content__header__titles__title'>".concat(point.name, "</div>\n <div class='main-content__header__titles__subtitle'>").concat(point.group.sector_name, "</div>\n </div>\n </div>\n \n <div class='main-content__body'>\n <div class='main-content__body__item'>\n <div class='main-content__body__item__icon'>\n <img src='").concat(_water_reuse.default, "' />\n </div>\n <div class='main-content__body__item__titles'>\n <div class='main-content__body__item__titles__title'>").concat(point.group.water_consumption_per_day, " ").concat(_i18n.default.t('million_gallons_day'), "</div>\n <div class='main-content__body__item__titles__subtitle'>").concat(_i18n.default.t('water_discharge'), "</div>\n </div>\n </div>\n </div>\n </div>\n ");
|
|
357
|
+
layerGroup.bindPopup(content, {
|
|
358
|
+
className: 'point-marker-popup',
|
|
359
|
+
minWidth: '214px',
|
|
360
|
+
maxWidth: '214px',
|
|
361
|
+
closeButton: false
|
|
362
|
+
});
|
|
363
|
+
};
|
|
364
|
+
exports.bindPopupToMarker = bindPopupToMarker;
|
|
365
|
+
var removeLayerGroup = function removeLayerGroup(map, layerGroup) {
|
|
366
|
+
if (map.hasLayer(layerGroup)) {
|
|
367
|
+
map.removeLayer(layerGroup);
|
|
368
|
+
}
|
|
369
|
+
};
|
|
370
|
+
exports.removeLayerGroup = removeLayerGroup;
|
|
371
|
+
var addLayerGroup = function addLayerGroup(map, layerGroup) {
|
|
372
|
+
if (!map.hasLayer(layerGroup)) {
|
|
373
|
+
map.addLayer(layerGroup);
|
|
374
|
+
} else {
|
|
375
|
+
removeLayerGroup(map, layerGroup);
|
|
376
|
+
addLayerGroup(map, layerGroup);
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
exports.addLayerGroup = addLayerGroup;
|
|
380
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyIsInN0cmluZyIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsInR5cGUiLCJzZWN0b3JfbmFtZSIsIndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXkiLCJjcmVhdGVCdWJibGVQb2ludCIsIm1hcmtlckxvY2F0aW9uIiwibWFwIiwiaG92ZXJlZCIsImxheWVyR3JvdXAiLCJzdWJ0aXRsZSIsInBvaW50Q3VzdG9tSWNvbiIsIkwiLCJtYXJrZXIiLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwicmlzZU9uSG92ZXIiLCJhZGRMYXllciIsImJpbmRQb3B1cFRvTWFya2VyIiwiaGFuZGxlTWFya2VyQ2xpY2siLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJpY29uQW5jaG9yIiwiZXZlbnRzQ291bnRJY29uIiwiX3pvb20iLCJvcGFjaXR5IiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiSWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJtYW5ob2xlSWNvbiIsIk1hcmtlciIsImJpbmRUb29sdGlwIiwibWF0Y2hJY29uVG9Qb2ludCIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImZvckVhY2giLCJpbmRleCIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5Iiwic2V0SWNvbiIsImVsZW1lbnQiLCJjbGlja2VkIiwib24iLCJjbG9zZVBvcHVwIiwiY29udGVudCIsIndhdGVyUmV1c2VJY29uIiwiYmluZFBvcHVwIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsImNsb3NlQnV0dG9uIiwicmVtb3ZlTGF5ZXJHcm91cCIsImhhc0xheWVyIiwicmVtb3ZlTGF5ZXIiLCJhZGRMYXllckdyb3VwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHcmFwaEljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xpbmUtY2hhcnQuc3ZnJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgYmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBzYW1wbGluZ0ljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3NhbXBsaW5nLWljb24uc3ZnJztcbmltcG9ydCBwaW5rQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9waW5rLWNpcmNsZS5zdmcnO1xuaW1wb3J0IG9ic2VydmF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvb2JzZXJ2YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHJlZFBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcmVkLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5CbGFja1NoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLWJsYWNrLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHllbGxvd0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMveWVsbG93LWNpcmNsZS5zdmcnO1xuaW1wb3J0IHBsYW50SWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZmFjdG9yeS1pY29uLnN2Zyc7XG5pbXBvcnQgZ3JlZW5DaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2dyZWVuLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHB1bXBTdGF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcHVtcC1zdGF0aW9uLWljb24uc3ZnJztcbmltcG9ydCBjb2xsZWN0b3JJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9tYXAvcGluLXdhdGVyLnN2Zyc7XG5pbXBvcnQgYnJpZ2h0Qmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYnJpZ2h0LWJsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgV1dUUEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL1dXVFAtaWNvbi5zdmcnO1xuaW1wb3J0IHdhdGVySWNvbk5vQmFja2dyb3VuZCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2F0ZXItbm8tYmFja2dyb3VuZC5zdmcnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBldmVudHNDb3VudEljb24gfSBmcm9tICcuLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBnZXRQb2ludEljb25CeVR5cGUgfSBmcm9tICcuL1BvaW50SWNvbic7XG5pbXBvcnQgd2F0ZXJSZXVzZUljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2ljb25zL3dhdGVyX3JldXNlLnN2Zyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzdHJpbmcgPSBgJHtwb2ludC5ncm91cC5uYW1lfSBgO1xuXG4gIGlmIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jykge1xuICAgIHN0cmluZyArPSBgPGJyLz5TZWN0b3ItVEJEOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uLVRCRDogJHtwb2ludC5ncm91cC53YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5fWA7XG4gIH0gZWxzZSB7XG4gICAgc3RyaW5nID0gYCR7cG9pbnQubmFtZX1gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn07XG5cbi8vIEB0cy1pZ25vcmVcbi8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4vLyBJY29uQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG5leHBvcnQgY29uc3QgY3JlYXRlQnViYmxlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgY29uc3Qgc3VidGl0bGUgPVxuICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknID8gcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWUgOiAnJztcbiAgbGV0IHBvaW50Q3VzdG9tSWNvbjogTC5NYXJrZXIgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICBwb2ludC5uYW1lLFxuICAgICAgc3VidGl0bGUsXG4gICAgICBmYWxzZSxcbiAgICAgIGZhbHNlLFxuICAgICksXG4gICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICB9KTtcbiAgLy8gQHRzLWlnbm9yZVxuICAvLyBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nKHBvaW50KSk7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG5cbiAgbGF5ZXJHcm91cC5hZGRMYXllcihwb2ludEN1c3RvbUljb24pO1xuICBpZiAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScpIHtcbiAgICBiaW5kUG9wdXBUb01hcmtlcihwb2ludCwgcG9pbnRDdXN0b21JY29uKTtcblxuICAgIC8vVGhlIGZvbGxvd2luZyBpcyBiZWluZyBjYWxsZWQgZm9yIGV2ZXJ5IHBvaW50LCB3ZSBzaG91bGQgZG8gdGhhdCBvbiB0aGUgbGF5ZXJHcm91cCBsZXZlbCB3aGljaCB3aWxsIGhhcHBlbiBvbmNlXG4gICAgLy9JdCBpcyBub3RpY2VkIHdoZW4gdGhlcmUgYXJlIHRob3VzYW5kcyBvZiBwb2ludHNcbiAgICBoYW5kbGVNYXJrZXJDbGljayhtYXAsIHBvaW50LCBwb2ludEN1c3RvbUljb24pO1xuICB9XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXJIb3ZlcmVkJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgbWFuaG9sZUljb25bJ2thbmRvX3BvaW50X3R5cGUnXSA9ICdNYW5ob2xlJztcbiAgaWYgKGhvdmVyZWQpIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuICBsYXllckdyb3VwLmFkZExheWVyKG1hbmhvbGVJY29uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXRjaEljb25Ub1BvaW50ID0gKHBvaW50OiBJUG9pbnQsIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgc3dpdGNoIChwb2ludC5ncm91cC50eXBlKSB7XG4gICAgY2FzZSAnR3JvdXBzOjpGYWN0b3J5JzpcbiAgICAgIGlmIChjb21iaW5lZEZhY3RvcnlJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZEZhY3RvcnlJY29uO1xuICAgIGNhc2UgJ0dyb3Vwczo6UHVtcFN0YXRpb24nOlxuICAgICAgaWYgKGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbjtcbiAgICBjYXNlICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc6XG4gICAgICBpZiAoY29tYmluZWRXV1RQSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRXV1RQSWNvbjtcblxuICAgIGNhc2UgJ0dyb3Vwczo6Q29sbGVjdG9ycyc6XG4gICAgICBpZiAoaXNDb2xsZWN0b3JGb2N1c2VkKHBvaW50LCBldmVudCkpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcbiAgICAgICAgICAgIGljb25BbmNob3I6IFszMCwgNTJdLFxuICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHdhdGVySWNvbk5vQmFja2dyb3VuZCxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG5cbiAgICAgICAgICAgIGljb25BbmNob3I6IFsyMiwgNDRdLFxuICAgICAgICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRDb2xsZWN0b3JzSWNvbjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHN0YW5kYXJkQmFja2dyb3VuZCA9IChcbiAgc2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UsXG4gIHRoaXJkOiBib29sZWFuID0gZmFsc2UsXG4pID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQaW5CbGFja1NoYWRvdyxcbiAgICBpY29uU2l6ZTogc2Vjb25kYXJ5ID8gWzAsIDBdIDogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IHNlY29uZGFyeSAmJiB0aGlyZCA/IFstMiwgMTldIDogc2Vjb25kYXJ5ID8gWy0yLCA0NF0gOiBbMjAsIDQyXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkRmFjdG9yeUljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogeWVsbG93Q2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogcGxhbnRJY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzUsIDMwXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkUHVtcFN0YXRpb25JY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGdyZWVuQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogcHVtcFN0YXRpb25JY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzcsIDMyXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkQ29sbGVjdG9yc0ljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogY29sbGVjdG9ySWNvbixcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgaWNvbkFuY2hvcjogWzI1LCA1MF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFdXVFBJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGJyaWdodEJsdWVDaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBXV1RQSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs4LCAzMV0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RlZEJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgbGV0IHNvdXJjZTtcblxuICBpZiAoZXZlbnQgIT09IG51bGwgJiYgZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHNvdXJjZSA9IGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdO1xuICB9XG5cbiAgcmV0dXJuIGV2ZW50ICE9PSBudWxsICYmIHNvdXJjZSAmJiBldmVudC5zZWxlY3RlZF9zb3VyY2UgPT09IHNvdXJjZS5wb2ludF9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9Tb3VyY2UgPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAoZXZlbnQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICByZXR1cm4gKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZClbMF1cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBzZWNvbmRhcnlJY29uOiBib29sZWFuLFxuICBtYXAsXG4gIHBvaW50OiBJUG9pbnQsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICAvLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuICAvLyBJY29uIEFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuICBsZXQgc2FtcGxpbmdJY29uID0gW1xuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBibHVlQ2lyY2xlVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCAxNV0gOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHNhbXBsaW5nSWNvblVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstOCwgMTNdIDogWzUsIDMwXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBsZXQgdGhpcmRJY29uID0gZmFsc2U7XG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlyZEljb24gPSB0cnVlO1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uLCB0aGlyZEljb24pKTtcbiAgfVxuXG4gIHNhbXBsaW5nSWNvbi5mb3JFYWNoKChpY29uLCBpbmRleCkgPT4ge1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBpY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgIH0pO1xuICAgIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gdGhpcmRJY29uID8gZmFsc2UgOiBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IHRoaXJkSWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZyc7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmdIb3ZlcmVkJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBvYnNlcnZhdGlvbkljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHBpbmtDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDQwXSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogb2JzZXJ2YXRpb25JY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAzOF0gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbikpO1xuICB9XG5cbiAgb2JzZXJ2YXRpb25JY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IGZhbHNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbkhvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICAgbGF5ZXJHcm91cCxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke3BvaW50LmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke3BvaW50Lmdyb3VwLm5hbWV9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2VjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5sZXQgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkLCBwb2ludCkgPT4ge1xuICBlbGVtZW50LnNldEljb24oXG4gICAgZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSxcbiAgICAgIGNsaWNrZWQsXG4gICAgICBmYWxzZSxcbiAgICApLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU1hcmtlckNsaWNrID0gKG1hcCwgcG9pbnQsIHBvaW50Q3VzdG9tSWNvbikgPT4ge1xuICBtYXAub24oJ3pvb21zdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwY2xvc2UnLCAoKSA9PiB7XG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBvcGVuJywgKCkgPT4ge1xuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwKSA9PiB7XG4gIGxldCBjb250ZW50ID0gYFxuICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudCc+XG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyJz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc19fdGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICBwb2ludC5uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3N1YnRpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWVcbiAgICAgICAgICAgICAgICB9PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgXG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keSc+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW0nPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9faWNvbic+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPScke3dhdGVyUmV1c2VJY29ufScgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlcyc+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fdGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXlcbiAgICAgICAgICAgICAgICAgIH0gJHtpMThuLnQoJ21pbGxpb25fZ2FsbG9uc19kYXknKX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX19zdWJ0aXRsZSc+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICd3YXRlcl9kaXNjaGFyZ2UnLFxuICAgICAgICAgICAgICAgICAgKX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBgO1xuXG4gIGxheWVyR3JvdXAuYmluZFBvcHVwKGNvbnRlbnQsIHtcbiAgICBjbGFzc05hbWU6ICdwb2ludC1tYXJrZXItcG9wdXAnLFxuICAgIG1pbldpZHRoOiAnMjE0cHgnLFxuICAgIG1heFdpZHRoOiAnMjE0cHgnLFxuICAgIGNsb3NlQnV0dG9uOiBmYWxzZSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKG1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5yZW1vdmVMYXllcihsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZExheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmICghbWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLmFkZExheWVyKGxheWVyR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgICBhZGRMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQTJDLElBQUFFLFdBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFHLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFJLFdBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFLLGdCQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFPM0MsSUFBQU0sZ0JBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLGtCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxvQkFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQXlGLElBQUFTLGFBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUFB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
|
|
@@ -72,10 +72,10 @@ var AreaBox = function AreaBox(_ref) {
|
|
|
72
72
|
} else if (areaScore >= 70) {
|
|
73
73
|
scoreText = _i18n.default.t('dashboard_v2.utility_dashboard.topbar.quality-summary.extreme');
|
|
74
74
|
}
|
|
75
|
-
} else if (areaScore === -1 || area.main_collectors.length === 0) {
|
|
75
|
+
} else if (areaScore === -1 || area.is_sub_area && area.main_collectors.length === 0) {
|
|
76
76
|
scoreText = _i18n.default.t('dashboard_v2.utility_dashboard.topbar.quality-summary.undefined');
|
|
77
77
|
}
|
|
78
|
-
if (area.main_collectors.length === 0) {
|
|
78
|
+
if (area.is_sub_area && area.main_collectors.length === 0) {
|
|
79
79
|
mapColor = '#7f7f7f';
|
|
80
80
|
}
|
|
81
81
|
(0, _react.useEffect)(function () {
|
|
@@ -86,7 +86,7 @@ var AreaBox = function AreaBox(_ref) {
|
|
|
86
86
|
}, [titleRef]);
|
|
87
87
|
return /*#__PURE__*/_react.default.createElement(_StyledLink.StyledLink, {
|
|
88
88
|
className: !permissions && 'disabled-link',
|
|
89
|
-
to:
|
|
89
|
+
to: area.dashboard_url,
|
|
90
90
|
onClick: function onClick() {
|
|
91
91
|
(0, _Analytics.analyticsTrack)('Area card clicked', {
|
|
92
92
|
area_name: area.area_name,
|
|
@@ -128,7 +128,7 @@ var AreaBox = function AreaBox(_ref) {
|
|
|
128
128
|
className: "pollution-holder"
|
|
129
129
|
}, /*#__PURE__*/_react.default.createElement(_PollutionScorePercent.PollutionScorePercent, {
|
|
130
130
|
change: area.pollution.polluted_percent_change,
|
|
131
|
-
areaLength: area.main_collectors.length,
|
|
131
|
+
areaLength: area.is_sub_area ? area.main_collectors.length : 1,
|
|
132
132
|
scoreText: scoreText,
|
|
133
133
|
areaScore: areaScore
|
|
134
134
|
}))), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, show_use_cases && /*#__PURE__*/_react.default.createElement(_PotentialImpact.PotentialImpact, {
|
|
@@ -161,4 +161,4 @@ var AlignCenter = _styledComponents.default.div.withConfig({
|
|
|
161
161
|
displayName: "AreaBox__AlignCenter",
|
|
162
162
|
componentId: "sc-teh2e3-0"
|
|
163
163
|
})(["display:flex;flex-direction:column;align-items:space-between;justify-content:space-between;font-size:14px;"]);
|
|
164
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9TdHlsZWRMaW5rIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3Njb3JlVG9Db2xvciIsIl9UcnVuY2F0ZSIsIl9BbmFseXRpY3MiLCJfUG9sbHV0aW9uU2NvcmVQZXJjZW50IiwiX1BvdGVudGlhbEltcGFjdCIsIl9NYXAiLCJfUGllQ2hhcnQiLCJfc3R5bGVzIiwiX0luZm9Ub29sdGlwIiwiX3JlYWN0Um91dGVyRG9tIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhQm94IiwiX3JlZiIsIl9hcmVhJHVzZV9jYXNlcyIsImFyZWEiLCJzaG93SW5mb1Rvb2x0aXAiLCJ0aXRsZVJlZiIsInVzZVJlZiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNob3dQaWVDaGFydCIsInNldFNob3dQaWVDaGFydCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZW5hYmxlVG9vbFRpcCIsInNldEVuYWJsZVRvb2x0aXAiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNob3dBbGwiLCJzZXRTaG93QWxsIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwicGVybWlzc2lvbnMiLCJ1dGlsaXRpZXNfZGFzaGJvYXJkIiwiZW5hYmxlX2FyZWFfbGlua3MiLCJ1cCIsInBvbGx1dGlvbiIsInBvbGx1dGVkX3BlcmNlbnRfY2hhbmdlIiwic2NvcmVUZXh0IiwiaTE4biIsInQiLCJhcmVhU2NvcmUiLCJwYXJzZUZsb2F0IiwiYXJlYV9zY29yZSIsIm1hcENvbG9yIiwic2NvcmVUb0NvbG9yIiwic2hvd191c2VfY2FzZXMiLCJ1c2VfY2FzZXMiLCJsZW5ndGgiLCJsb2NhdGlvbiIsInVzZUxvY2F0aW9uIiwidG9vbHRpcERhdGEiLCJ0b2dnbGVQb3RlbnRpYWxJbXBhY3RTdGF0ZXMiLCJldmVudCIsImFuYWx5dGljc1RyYWNrIiwic2VsZWN0aW9uIiwicGFnZV9uYW1lIiwicGF0aG5hbWUiLCJ1dGlsaXR5X25hbWUiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsIm1haW5fY29sbGVjdG9ycyIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJvZmZzZXRXaWR0aCIsInNjcm9sbFdpZHRoIiwiY3JlYXRlRWxlbWVudCIsIlN0eWxlZExpbmsiLCJjbGFzc05hbWUiLCJ0byIsImNvbmNhdCIsImFyZWFfaWQiLCJvbkNsaWNrIiwiYXJlYV9uYW1lIiwiQm94IiwicmVmIiwiY2hhcmFjdGVycyIsImluaGVyaXRUZXh0QWxpZ24iLCJ0b3RhbF9mYWN0b3JpZXMiLCJJbmZvVG9vbHRpcCIsInRpdGxlIiwiZGF0YSIsIkZyYWdtZW50IiwiUG9sbHV0aW9uU2NvcmVQZXJjZW50IiwiY2hhbmdlIiwiYXJlYUxlbmd0aCIsIlBvdGVudGlhbEltcGFjdCIsInNob3dfc3RhdGUiLCJ0b2dnbGVTaG93Iiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwiUGllQ2hhcnQiLCJxdWFsaXR5IiwidHlwZV9kaXN0cmlidXRpb24iLCJNYXAiLCJjb2xvciIsInBvaW50cyIsInNoYXBlX2RhdGEiLCJtYXJrZXJzIiwiZXhwb3J0cyIsIkFsaWduQ2VudGVyIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9Nb3N0UG9sbHV0aW5nL0FyZWFzL0FyZWFCb3gvQXJlYUJveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgU3R5bGVkTGluayB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0xpbmtzL1N0eWxlZExpbmsvU3R5bGVkTGluayc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9zY29yZVRvQ29sb3InO1xuaW1wb3J0IFRydW5jYXRlIGZyb20gJ3NyYy91dGlsaXRpZXMvVHJ1bmNhdGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IFBvbGx1dGlvblNjb3JlUGVyY2VudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvUG9sbHV0aW9uU2NvcmVQZXJjZW50JztcbmltcG9ydCB7IFBvdGVudGlhbEltcGFjdCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvUG90ZW50aWFsSW1wYWN0JztcbmltcG9ydCB7IEFyZWEgfSBmcm9tICcuLi9hcmVhc1Jlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICcuL01hcC9NYXAnO1xuaW1wb3J0IHsgUGllQ2hhcnQgfSBmcm9tICcuL1BpZUNoYXJ0L1BpZUNoYXJ0JztcbmltcG9ydCB7IEJveCB9IGZyb20gJy4vc3R5bGVzJztcbmltcG9ydCB7IEluZm9Ub29sdGlwIH0gZnJvbSAnc3JjL3VpLWtpdC9JbmZvVG9vbHRpcC9JbmZvVG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbnRlcmZhY2UgQXJlYUJveFByb3BzIHtcbiAgYXJlYTogQXJlYTtcbiAgc2hvd0luZm9Ub29sdGlwOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgQXJlYUJveDogUmVhY3QuRkM8QXJlYUJveFByb3BzPiA9ICh7IGFyZWEsIHNob3dJbmZvVG9vbHRpcCB9KSA9PiB7XG4gIGNvbnN0IHRpdGxlUmVmOiBhbnkgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtzaG93UGllQ2hhcnQsIHNldFNob3dQaWVDaGFydF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtlbmFibGVUb29sVGlwLCBzZXRFbmFibGVUb29sdGlwXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dBbGwsIHNldFNob3dBbGxdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcbiAgY29uc3QgcGVybWlzc2lvbnMgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLnBlcm1pc3Npb25zLnV0aWxpdGllc19kYXNoYm9hcmQuZW5hYmxlX2FyZWFfbGlua3MsXG4gICk7XG5cbiAgY29uc3QgdXAgPSBhcmVhLnBvbGx1dGlvbi5wb2xsdXRlZF9wZXJjZW50X2NoYW5nZSA+PSAwO1xuICBsZXQgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS5sb3cnLFxuICApO1xuICBjb25zdCBhcmVhU2NvcmUgPSBwYXJzZUZsb2F0KGFyZWEuYXJlYV9zY29yZSk7XG4gIGxldCBtYXBDb2xvciA9IHNjb3JlVG9Db2xvcihhcmVhU2NvcmUpO1xuICBjb25zdCBzaG93X3VzZV9jYXNlcyA9IGFyZWEudXNlX2Nhc2VzPy5sZW5ndGggPiAwO1xuXG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICBjb25zdCB0b29sdGlwRGF0YSA9XG4gICAgaTE4bi50KCdoZWxwZXJzLmluZm9fdG9vbHRpcC5wb2xsdXRpb25fc2NvcmUubWFpbicpICtcbiAgICBpMThuLnQoJ2hlbHBlcnMuaW5mb190b29sdGlwLnBvbGx1dGlvbl9zY29yZS5zdWInKSArXG4gICAgaTE4bi50KCdoZWxwZXJzLmluZm9fdG9vbHRpcC5wb2xsdXRpb25fc2NvcmUuc3ViMScpO1xuXG4gIGNvbnN0IHRvZ2dsZVBvdGVudGlhbEltcGFjdFN0YXRlcyA9IChldmVudCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdQb3RlbnRpYWwgSW1wYWN0IENsaWNrZWQnLCB7XG4gICAgICBzZWxlY3Rpb246IHNob3dBbGwgPyAnU2hvdyBMZXNzJyA6ICdTaG93IEFsbCcsXG4gICAgICBwYWdlX25hbWU6IGxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgc2V0U2hvd0FsbCghc2hvd0FsbCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfTtcblxuICBpZiAoYXJlYVNjb3JlICYmIGFyZWFTY29yZSA+PSAzMCkge1xuICAgIGlmIChhcmVhU2NvcmUgPCA1MCkge1xuICAgICAgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkubWVkaXVtJyxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChhcmVhU2NvcmUgPCA3MCkge1xuICAgICAgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkuaGlnaCcsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoYXJlYVNjb3JlID49IDcwKSB7XG4gICAgICBzY29yZVRleHQgPSBpMThuLnQoXG4gICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS5leHRyZW1lJyxcbiAgICAgICk7XG4gICAgfVxuICB9IGVsc2UgaWYgKGFyZWFTY29yZSA9PT0gLTEgfHwgYXJlYS5tYWluX2NvbGxlY3RvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC50b3BiYXIucXVhbGl0eS1zdW1tYXJ5LnVuZGVmaW5lZCcsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChhcmVhLm1haW5fY29sbGVjdG9ycy5sZW5ndGggPT09IDApIHtcbiAgICBtYXBDb2xvciA9ICcjN2Y3ZjdmJztcbiAgfVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aXRsZVJlZikge1xuICAgICAgLy9jaGVjayBpZiB3ZSB3YW50IHRvIGVuYWJsZSB0b29sdGlwXG4gICAgICBzZXRFbmFibGVUb29sdGlwKFxuICAgICAgICB0aXRsZVJlZi5jdXJyZW50Lm9mZnNldFdpZHRoIDwgdGl0bGVSZWYuY3VycmVudC5zY3JvbGxXaWR0aCxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbdGl0bGVSZWZdKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRMaW5rXG4gICAgICBjbGFzc05hbWU9eyFwZXJtaXNzaW9ucyAmJiAnZGlzYWJsZWQtbGluayd9XG4gICAgICB0bz17YC9kYXNoYm9hcmRfdjIvYXJlYS8ke2FyZWEuYXJlYV9pZH1gfVxuICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICBhbmFseXRpY3NUcmFjaygnQXJlYSBjYXJkIGNsaWNrZWQnLCB7XG4gICAgICAgICAgYXJlYV9uYW1lOiBhcmVhLmFyZWFfbmFtZSxcbiAgICAgICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9fVxuICAgID5cbiAgICAgIDxCb3ggdXA9e3VwfSBkYXRhLWFyZWEtaWQ9e2FyZWEuYXJlYV9pZH0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2BrZC10b3AgJHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICAgICAgICAgIGZhbHNlICYmIGVuYWJsZVRvb2xUaXAgPyAnIGtkLXRvb2x0aXAnIDogJydcbiAgICAgICAgICB9YH1cbiAgICAgICAgICBkYXRhLXRleHQ9e2FyZWEuYXJlYV9uYW1lfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC1ib3gtbWFpbi10aXRsZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC10aXRsZVwiIHJlZj17dGl0bGVSZWZ9PlxuICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17MH0gaW5oZXJpdFRleHRBbGlnbj17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2FyZWEuYXJlYV9uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9UcnVuY2F0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtZmFjdG9yaWVzXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1wb2xsdXRpbmcuZmFjdG9yaWVzJyl9XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmYWN0b3JpZXMtbnVtXCI+XG4gICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgIHthcmVhLnRvdGFsX2ZhY3Rvcmllc31cbiAgICAgICAgICAgICAgeycnfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC1jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC1wZXJjZW50XCI+XG4gICAgICAgICAgICB7IXNob3dBbGwgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNjb3JlLWhvbGRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS5wb2xsdXRpb24tc2NvcmUnLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIHtzaG93SW5mb1Rvb2x0aXAgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC50b3BiYXIucXVhbGl0eS1zdW1tYXJ5LnBvbGx1dGlvbi1zY29yZScsXG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICBkYXRhPXt0b29sdGlwRGF0YX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDw+PC8+XG4gICAgICAgICAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicG9sbHV0aW9uLWhvbGRlclwiPlxuICAgICAgICAgICAgICAgICAgPFBvbGx1dGlvblNjb3JlUGVyY2VudFxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2U9e2FyZWEucG9sbHV0aW9uLnBvbGx1dGVkX3BlcmNlbnRfY2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICBhcmVhTGVuZ3RoPXthcmVhLm1haW5fY29sbGVjdG9ycy5sZW5ndGh9XG4gICAgICAgICAgICAgICAgICAgIHNjb3JlVGV4dD17c2NvcmVUZXh0fVxuICAgICAgICAgICAgICAgICAgICBhcmVhU2NvcmU9e2FyZWFTY29yZX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHtzaG93X3VzZV9jYXNlcyAmJiAoXG4gICAgICAgICAgICAgICAgPFBvdGVudGlhbEltcGFjdFxuICAgICAgICAgICAgICAgICAgdXNlX2Nhc2VzPXthcmVhLnVzZV9jYXNlc31cbiAgICAgICAgICAgICAgICAgIHNob3dfc3RhdGU9e3Nob3dBbGx9XG4gICAgICAgICAgICAgICAgICB0b2dnbGVTaG93PXt0b2dnbGVQb3RlbnRpYWxJbXBhY3RTdGF0ZXN9XG4gICAgICAgICAgICAgICAgPjwvUG90ZW50aWFsSW1wYWN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibWFwLWhvbGRlclwiXG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldFNob3dQaWVDaGFydCh0cnVlKX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gc2V0U2hvd1BpZUNoYXJ0KGZhbHNlKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7c2hvd1BpZUNoYXJ0ID8gKFxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJiYWNrXCI+XG4gICAgICAgICAgICAgICAgPFBpZUNoYXJ0IHF1YWxpdHk9e2FyZWEucG9sbHV0aW9uLnR5cGVfZGlzdHJpYnV0aW9ufSAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImtkLWZyb250XCI+XG4gICAgICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICAgICAgY29sb3I9e21hcENvbG9yfVxuICAgICAgICAgICAgICAgICAgcG9pbnRzPXthcmVhLnNoYXBlX2RhdGF9XG4gICAgICAgICAgICAgICAgICBtYXJrZXJzPXthcmVhLm1haW5fY29sbGVjdG9yc31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Cb3g+XG4gICAgPC9TdHlsZWRMaW5rPlxuICApO1xufTtcbi8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG5jb25zdCBBbGlnbkNlbnRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzcGFjZS1iZXR3ZWVuO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFMLE9BQUE7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
|
|
164
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9TdHlsZWRMaW5rIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3Njb3JlVG9Db2xvciIsIl9UcnVuY2F0ZSIsIl9BbmFseXRpY3MiLCJfUG9sbHV0aW9uU2NvcmVQZXJjZW50IiwiX1BvdGVudGlhbEltcGFjdCIsIl9NYXAiLCJfUGllQ2hhcnQiLCJfc3R5bGVzIiwiX0luZm9Ub29sdGlwIiwiX3JlYWN0Um91dGVyRG9tIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhQm94IiwiX3JlZiIsIl9hcmVhJHVzZV9jYXNlcyIsImFyZWEiLCJzaG93SW5mb1Rvb2x0aXAiLCJ0aXRsZVJlZiIsInVzZVJlZiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNob3dQaWVDaGFydCIsInNldFNob3dQaWVDaGFydCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZW5hYmxlVG9vbFRpcCIsInNldEVuYWJsZVRvb2x0aXAiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInNob3dBbGwiLCJzZXRTaG93QWxsIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwicGVybWlzc2lvbnMiLCJ1dGlsaXRpZXNfZGFzaGJvYXJkIiwiZW5hYmxlX2FyZWFfbGlua3MiLCJ1cCIsInBvbGx1dGlvbiIsInBvbGx1dGVkX3BlcmNlbnRfY2hhbmdlIiwic2NvcmVUZXh0IiwiaTE4biIsInQiLCJhcmVhU2NvcmUiLCJwYXJzZUZsb2F0IiwiYXJlYV9zY29yZSIsIm1hcENvbG9yIiwic2NvcmVUb0NvbG9yIiwic2hvd191c2VfY2FzZXMiLCJ1c2VfY2FzZXMiLCJsZW5ndGgiLCJsb2NhdGlvbiIsInVzZUxvY2F0aW9uIiwidG9vbHRpcERhdGEiLCJ0b2dnbGVQb3RlbnRpYWxJbXBhY3RTdGF0ZXMiLCJldmVudCIsImFuYWx5dGljc1RyYWNrIiwic2VsZWN0aW9uIiwicGFnZV9uYW1lIiwicGF0aG5hbWUiLCJ1dGlsaXR5X25hbWUiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsImlzX3N1Yl9hcmVhIiwibWFpbl9jb2xsZWN0b3JzIiwidXNlRWZmZWN0IiwiY3VycmVudCIsIm9mZnNldFdpZHRoIiwic2Nyb2xsV2lkdGgiLCJjcmVhdGVFbGVtZW50IiwiU3R5bGVkTGluayIsImNsYXNzTmFtZSIsInRvIiwiZGFzaGJvYXJkX3VybCIsIm9uQ2xpY2siLCJhcmVhX25hbWUiLCJCb3giLCJhcmVhX2lkIiwiY29uY2F0IiwicmVmIiwiY2hhcmFjdGVycyIsImluaGVyaXRUZXh0QWxpZ24iLCJ0b3RhbF9mYWN0b3JpZXMiLCJJbmZvVG9vbHRpcCIsInRpdGxlIiwiZGF0YSIsIkZyYWdtZW50IiwiUG9sbHV0aW9uU2NvcmVQZXJjZW50IiwiY2hhbmdlIiwiYXJlYUxlbmd0aCIsIlBvdGVudGlhbEltcGFjdCIsInNob3dfc3RhdGUiLCJ0b2dnbGVTaG93Iiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUxlYXZlIiwiUGllQ2hhcnQiLCJxdWFsaXR5IiwidHlwZV9kaXN0cmlidXRpb24iLCJNYXAiLCJjb2xvciIsInBvaW50cyIsInNoYXBlX2RhdGEiLCJtYXJrZXJzIiwiZXhwb3J0cyIsIkFsaWduQ2VudGVyIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9Nb3N0UG9sbHV0aW5nL0FyZWFzL0FyZWFCb3gvQXJlYUJveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgU3R5bGVkTGluayB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0xpbmtzL1N0eWxlZExpbmsvU3R5bGVkTGluayc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9zY29yZVRvQ29sb3InO1xuaW1wb3J0IFRydW5jYXRlIGZyb20gJ3NyYy91dGlsaXRpZXMvVHJ1bmNhdGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IFBvbGx1dGlvblNjb3JlUGVyY2VudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvUG9sbHV0aW9uU2NvcmVQZXJjZW50JztcbmltcG9ydCB7IFBvdGVudGlhbEltcGFjdCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvUG90ZW50aWFsSW1wYWN0JztcbmltcG9ydCB7IEFyZWEgfSBmcm9tICcuLi9hcmVhc1Jlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICcuL01hcC9NYXAnO1xuaW1wb3J0IHsgUGllQ2hhcnQgfSBmcm9tICcuL1BpZUNoYXJ0L1BpZUNoYXJ0JztcbmltcG9ydCB7IEJveCB9IGZyb20gJy4vc3R5bGVzJztcbmltcG9ydCB7IEluZm9Ub29sdGlwIH0gZnJvbSAnc3JjL3VpLWtpdC9JbmZvVG9vbHRpcC9JbmZvVG9vbHRpcCc7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbnRlcmZhY2UgQXJlYUJveFByb3BzIHtcbiAgYXJlYTogQXJlYTtcbiAgc2hvd0luZm9Ub29sdGlwOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgQXJlYUJveDogUmVhY3QuRkM8QXJlYUJveFByb3BzPiA9ICh7IGFyZWEsIHNob3dJbmZvVG9vbHRpcCB9KSA9PiB7XG4gIGNvbnN0IHRpdGxlUmVmOiBhbnkgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtzaG93UGllQ2hhcnQsIHNldFNob3dQaWVDaGFydF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtlbmFibGVUb29sVGlwLCBzZXRFbmFibGVUb29sdGlwXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dBbGwsIHNldFNob3dBbGxdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcbiAgY29uc3QgcGVybWlzc2lvbnMgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLnBlcm1pc3Npb25zLnV0aWxpdGllc19kYXNoYm9hcmQuZW5hYmxlX2FyZWFfbGlua3MsXG4gICk7XG5cbiAgY29uc3QgdXAgPSBhcmVhLnBvbGx1dGlvbi5wb2xsdXRlZF9wZXJjZW50X2NoYW5nZSA+PSAwO1xuICBsZXQgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS5sb3cnLFxuICApO1xuICBjb25zdCBhcmVhU2NvcmUgPSBwYXJzZUZsb2F0KGFyZWEuYXJlYV9zY29yZSk7XG4gIGxldCBtYXBDb2xvciA9IHNjb3JlVG9Db2xvcihhcmVhU2NvcmUpO1xuICBjb25zdCBzaG93X3VzZV9jYXNlcyA9IGFyZWEudXNlX2Nhc2VzPy5sZW5ndGggPiAwO1xuXG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcblxuICBjb25zdCB0b29sdGlwRGF0YSA9XG4gICAgaTE4bi50KCdoZWxwZXJzLmluZm9fdG9vbHRpcC5wb2xsdXRpb25fc2NvcmUubWFpbicpICtcbiAgICBpMThuLnQoJ2hlbHBlcnMuaW5mb190b29sdGlwLnBvbGx1dGlvbl9zY29yZS5zdWInKSArXG4gICAgaTE4bi50KCdoZWxwZXJzLmluZm9fdG9vbHRpcC5wb2xsdXRpb25fc2NvcmUuc3ViMScpO1xuXG4gIGNvbnN0IHRvZ2dsZVBvdGVudGlhbEltcGFjdFN0YXRlcyA9IChldmVudCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdQb3RlbnRpYWwgSW1wYWN0IENsaWNrZWQnLCB7XG4gICAgICBzZWxlY3Rpb246IHNob3dBbGwgPyAnU2hvdyBMZXNzJyA6ICdTaG93IEFsbCcsXG4gICAgICBwYWdlX25hbWU6IGxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgc2V0U2hvd0FsbCghc2hvd0FsbCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfTtcblxuICBpZiAoYXJlYVNjb3JlICYmIGFyZWFTY29yZSA+PSAzMCkge1xuICAgIGlmIChhcmVhU2NvcmUgPCA1MCkge1xuICAgICAgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkubWVkaXVtJyxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChhcmVhU2NvcmUgPCA3MCkge1xuICAgICAgc2NvcmVUZXh0ID0gaTE4bi50KFxuICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLnRvcGJhci5xdWFsaXR5LXN1bW1hcnkuaGlnaCcsXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoYXJlYVNjb3JlID49IDcwKSB7XG4gICAgICBzY29yZVRleHQgPSBpMThuLnQoXG4gICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS5leHRyZW1lJyxcbiAgICAgICk7XG4gICAgfVxuICB9IGVsc2UgaWYgKFxuICAgIGFyZWFTY29yZSA9PT0gLTEgfHxcbiAgICAoYXJlYS5pc19zdWJfYXJlYSAmJiBhcmVhLm1haW5fY29sbGVjdG9ycy5sZW5ndGggPT09IDApXG4gICkge1xuICAgIHNjb3JlVGV4dCA9IGkxOG4udChcbiAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS51bmRlZmluZWQnLFxuICAgICk7XG4gIH1cblxuICBpZiAoYXJlYS5pc19zdWJfYXJlYSAmJiBhcmVhLm1haW5fY29sbGVjdG9ycy5sZW5ndGggPT09IDApIHtcbiAgICBtYXBDb2xvciA9ICcjN2Y3ZjdmJztcbiAgfVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aXRsZVJlZikge1xuICAgICAgLy9jaGVjayBpZiB3ZSB3YW50IHRvIGVuYWJsZSB0b29sdGlwXG4gICAgICBzZXRFbmFibGVUb29sdGlwKFxuICAgICAgICB0aXRsZVJlZi5jdXJyZW50Lm9mZnNldFdpZHRoIDwgdGl0bGVSZWYuY3VycmVudC5zY3JvbGxXaWR0aCxcbiAgICAgICk7XG4gICAgfVxuICB9LCBbdGl0bGVSZWZdKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRMaW5rXG4gICAgICBjbGFzc05hbWU9eyFwZXJtaXNzaW9ucyAmJiAnZGlzYWJsZWQtbGluayd9XG4gICAgICB0bz17YXJlYS5kYXNoYm9hcmRfdXJsfVxuICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICBhbmFseXRpY3NUcmFjaygnQXJlYSBjYXJkIGNsaWNrZWQnLCB7XG4gICAgICAgICAgYXJlYV9uYW1lOiBhcmVhLmFyZWFfbmFtZSxcbiAgICAgICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9fVxuICAgID5cbiAgICAgIDxCb3ggdXA9e3VwfSBkYXRhLWFyZWEtaWQ9e2FyZWEuYXJlYV9pZH0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9e2BrZC10b3AgJHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICAgICAgICAgIGZhbHNlICYmIGVuYWJsZVRvb2xUaXAgPyAnIGtkLXRvb2x0aXAnIDogJydcbiAgICAgICAgICB9YH1cbiAgICAgICAgICBkYXRhLXRleHQ9e2FyZWEuYXJlYV9uYW1lfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC1ib3gtbWFpbi10aXRsZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC10aXRsZVwiIHJlZj17dGl0bGVSZWZ9PlxuICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17MH0gaW5oZXJpdFRleHRBbGlnbj17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2FyZWEuYXJlYV9uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9UcnVuY2F0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtZmFjdG9yaWVzXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1wb2xsdXRpbmcuZmFjdG9yaWVzJyl9XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmYWN0b3JpZXMtbnVtXCI+XG4gICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgIHthcmVhLnRvdGFsX2ZhY3Rvcmllc31cbiAgICAgICAgICAgICAgeycnfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC1jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJrZC1wZXJjZW50XCI+XG4gICAgICAgICAgICB7IXNob3dBbGwgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNjb3JlLWhvbGRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQudG9wYmFyLnF1YWxpdHktc3VtbWFyeS5wb2xsdXRpb24tc2NvcmUnLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIHtzaG93SW5mb1Rvb2x0aXAgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC50b3BiYXIucXVhbGl0eS1zdW1tYXJ5LnBvbGx1dGlvbi1zY29yZScsXG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICBkYXRhPXt0b29sdGlwRGF0YX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDw+PC8+XG4gICAgICAgICAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicG9sbHV0aW9uLWhvbGRlclwiPlxuICAgICAgICAgICAgICAgICAgPFBvbGx1dGlvblNjb3JlUGVyY2VudFxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2U9e2FyZWEucG9sbHV0aW9uLnBvbGx1dGVkX3BlcmNlbnRfY2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICBhcmVhTGVuZ3RoPXtcbiAgICAgICAgICAgICAgICAgICAgICBhcmVhLmlzX3N1Yl9hcmVhID8gYXJlYS5tYWluX2NvbGxlY3RvcnMubGVuZ3RoIDogMVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNjb3JlVGV4dD17c2NvcmVUZXh0fVxuICAgICAgICAgICAgICAgICAgICBhcmVhU2NvcmU9e2FyZWFTY29yZX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHtzaG93X3VzZV9jYXNlcyAmJiAoXG4gICAgICAgICAgICAgICAgPFBvdGVudGlhbEltcGFjdFxuICAgICAgICAgICAgICAgICAgdXNlX2Nhc2VzPXthcmVhLnVzZV9jYXNlc31cbiAgICAgICAgICAgICAgICAgIHNob3dfc3RhdGU9e3Nob3dBbGx9XG4gICAgICAgICAgICAgICAgICB0b2dnbGVTaG93PXt0b2dnbGVQb3RlbnRpYWxJbXBhY3RTdGF0ZXN9XG4gICAgICAgICAgICAgICAgPjwvUG90ZW50aWFsSW1wYWN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibWFwLWhvbGRlclwiXG4gICAgICAgICAgICBvbk1vdXNlRW50ZXI9eygpID0+IHNldFNob3dQaWVDaGFydCh0cnVlKX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gc2V0U2hvd1BpZUNoYXJ0KGZhbHNlKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7c2hvd1BpZUNoYXJ0ID8gKFxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJiYWNrXCI+XG4gICAgICAgICAgICAgICAgPFBpZUNoYXJ0IHF1YWxpdHk9e2FyZWEucG9sbHV0aW9uLnR5cGVfZGlzdHJpYnV0aW9ufSAvPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImtkLWZyb250XCI+XG4gICAgICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICAgICAgY29sb3I9e21hcENvbG9yfVxuICAgICAgICAgICAgICAgICAgcG9pbnRzPXthcmVhLnNoYXBlX2RhdGF9XG4gICAgICAgICAgICAgICAgICBtYXJrZXJzPXthcmVhLm1haW5fY29sbGVjdG9yc31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Cb3g+XG4gICAgPC9TdHlsZWRMaW5rPlxuICApO1xufTtcbi8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG5jb25zdCBBbGlnbkNlbnRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzcGFjZS1iZXR3ZWVuO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFD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
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTW9zdFBvbGx1dGluZy9BcmVhcy9hcmVhc1Jlc3BvbnNlLmludGVyZmFjZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE1haW5Db2xsZWN0b3Ige1xuICBsYXQ6IG51bWJlcjtcbiAgbG5nOiBudW1iZXI7XG4gIHBvaW50X2lkOiBudW1iZXI7XG4gIHNlY3Rvcl9pY29uX25hbWU6IHN0cmluZztcbiAgc2VjdG9yX25hbWU6IHN0cmluZztcbiAgc2l0ZV9uYW1lOiBzdHJpbmc7XG4gIHNpdGVfdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFd3dHBMYXRMbmcge1xuICBsYXQ6IG51bWJlcjtcbiAgbG5nOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcGVEYXRhIHtcbiAgbGF0OiBudW1iZXI7XG4gIGxuZzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEaXN0cmlidXRpb24ge1xuICBjbGVhcjogbnVtYmVyO1xuICBtZWRpdW06IG51bWJlcjtcbiAgaGlnaDogbnVtYmVyO1xuICBleHRyZW1lOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9sbHV0aW9uIHtcbiAgcG9sbHV0ZWRfcGVyY2VudF9jaGFuZ2U6IG51bWJlcjtcbiAgdHlwZV9kaXN0cmlidXRpb246IFR5cGVEaXN0cmlidXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlQ2FzZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmFsdWU6IG51bWJlcjtcbiAgcGVyY2VudGFnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFyZWEge1xuICBhcmVhX2lkOiBudW1iZXI7XG4gIGlzX3N1Yl9hcmVhOiBib29sZWFuO1xuICBhcmVhX25hbWU6IHN0cmluZztcbiAgdG90YWxfZmFjdG9yaWVzOiBudW1iZXI7XG4gIGRhc2hib2FyZF91cmw6IHN0cmluZztcbiAgbWFpbl9jb2xsZWN0b3JzOiBNYWluQ29sbGVjdG9yW107XG4gIHd3dHBfbGF0X2xuZzogV3d0cExhdExuZztcbiAgc2hhcGVfZGF0YTogU2hhcGVEYXRhW107XG4gIGFyZWFfc2NvcmU/OiBhbnk7XG4gIHBvbGx1dGlvbjogUG9sbHV0aW9uO1xuICB1c2VfY2FzZXM6IFVzZUNhc2VbXTtcbn1cblxuZXhwb3J0IHR5cGUgQXJlYXNSZXNwb25zZSA9IEFyZWFbXTtcbiJdLCJtYXBwaW5ncyI6IiJ9
|