@kando-env/kando-ui 1.2.256-alpha.39 → 1.2.256-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Widgets/Map/Map.js +4 -4
- package/lib/Widgets/Map/Map.scss +2 -2
- package/lib/Widgets/Map/MapUtils.js +3 -3
- package/lib/Widgets/Map/areas/AreaPolygon.js +41 -10
- package/lib/Widgets/Map/edges/Edge.js +16 -15
- package/lib/Widgets/Map/edges/Edges.js +3 -28
- package/lib/Widgets/Map/edges/arrows/Arrows.js +2 -13
- package/lib/Widgets/Map/events/EventPath.js +2 -4
- package/lib/Widgets/Map/events/EventUtils.js +22 -36
- package/lib/Widgets/Map/points/PointIcon.scss +1 -1
- package/lib/Widgets/Map/points/PointMarker.js +19 -4
- package/lib/Widgets/Map/points/PointMarkers.js +2 -62
- package/lib/Widgets/Map/points/PointUtils.js +11 -17
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +2 -2
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/components/Header/Toolbar/Toolbar.js +2 -2
- package/lib/i18n/en.json +2 -9
- package/lib/i18n/en_uk.json +1 -1
- package/lib/i18n/fr.json +2 -1
- package/lib/i18n/he.json +1 -5
- package/lib/i18n/it.json +2 -1
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDrop.module.scss +1 -1
- package/lib/pages/EventsPage/FloatingGraph/floatingGraphStyle.scss +2 -6
- package/lib/pages/EventsPage/events/EventsStyle.scss +1 -2
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +2 -1
- package/lib/pages/EventsPage/events/events_list/EventsList.js +3 -3
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +2 -1
- package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +1 -1
- package/lib/pages/ProfilePage/ProfilePage.js +44 -76
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +2 -2
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +10 -15
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/permissions/permissionsSlice.js +4 -7
- package/lib/utilities/urls.js +1 -4
- package/package.json +1 -1
- package/lib/Widgets/Map/areas/AreaUtils.js +0 -155
|
@@ -9,12 +9,10 @@ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime
|
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
var _edgesMath = require("utilities/edgesMath");
|
|
12
|
-
var _EventUtils = require("../../events/EventUtils");
|
|
13
12
|
var Arrows = function Arrows(_ref) {
|
|
14
13
|
var map = _ref.map,
|
|
15
14
|
L = _ref.L,
|
|
16
|
-
edges = _ref.edges
|
|
17
|
-
points = _ref.points;
|
|
15
|
+
edges = _ref.edges;
|
|
18
16
|
var _useState = (0, _react.useState)(),
|
|
19
17
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
20
18
|
arrowsGroup = _useState2[0],
|
|
@@ -45,15 +43,6 @@ var Arrows = function Arrows(_ref) {
|
|
|
45
43
|
}
|
|
46
44
|
return true;
|
|
47
45
|
}).map(function (edge) {
|
|
48
|
-
var sourcePoint = points.filter(function (point) {
|
|
49
|
-
return point.id === edge.source_point_id;
|
|
50
|
-
});
|
|
51
|
-
var targetPoint = points.filter(function (point) {
|
|
52
|
-
return point.id === edge.target_point_id;
|
|
53
|
-
});
|
|
54
|
-
if (points.length === 0) return [];
|
|
55
|
-
if (sourcePoint[0] === undefined || targetPoint[0] === undefined) return [];
|
|
56
|
-
if ((0, _EventUtils.isCollectorUnmonitored)(sourcePoint[0]) || (0, _EventUtils.isCollectorUnmonitored)(targetPoint[0])) return [];
|
|
57
46
|
if (validateEdgeShapeData(edge)) {
|
|
58
47
|
return edge.shape_data.map(function (point) {
|
|
59
48
|
return [point.lat, point.lng];
|
|
@@ -78,4 +67,4 @@ var Arrows = function Arrows(_ref) {
|
|
|
78
67
|
return null;
|
|
79
68
|
};
|
|
80
69
|
exports.Arrows = Arrows;
|
|
81
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2VkZ2VzTWF0aCIsIkFycm93cyIsIl9yZWYiLCJtYXAiLCJMIiwiZWRnZXMiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkZWZhdWx0IiwiYXJyb3dzR3JvdXAiLCJzZXRBcnJvd3NHcm91cCIsInZhbGlkYXRlRWRnZVNoYXBlRGF0YSIsImVkZ2UiLCJPYmplY3QiLCJrZXlzIiwic2hhcGVfZGF0YSIsImxlbmd0aCIsInVzZUVmZmVjdCIsImZpbHRlcmVkUG9pbnRzIiwiZmlsdGVyIiwiZGVzY2VuZGFudHNfaGFzX2RldmljZSIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyMiIsIl9zdGVwIiwicyIsIm4iLCJkb25lIiwicG9pbnQiLCJ2YWx1ZSIsImlzTmFOIiwibG5nIiwibGF0IiwiZXJyIiwiZSIsImYiLCJhcnJvd3NBcnIiLCJnZXRBcnJvd3MiLCJyZWR1Y2UiLCJhY2MiLCJ2YWwiLCJjb25jYXQiLCJuZXdBcnJvd3NHcm91cCIsImZlYXR1cmVHcm91cCIsImFkZFRvIiwiYnJpbmdUb0Zyb250IiwiY2xlYXJMYXllcnMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2VkZ2VzL2Fycm93cy9BcnJvd3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmVHcm91cCwgTWFwIGFzIExlYWZsZXRNYXAsIE1hcmtlciB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgZ2V0QXJyb3dzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9lZGdlc01hdGgnO1xuXG5pbnRlcmZhY2UgQXJyb3dzUHJvcHMge1xuICBtYXA6IExlYWZsZXRNYXA7XG4gIEw6IGFueTtcbiAgZWRnZXM6IElFZGdlW107XG59XG5leHBvcnQgY29uc3QgQXJyb3dzOiBSZWFjdC5GQzxBcnJvd3NQcm9wcz4gPSAoeyBtYXAsIEwsIGVkZ2VzIH0pID0+IHtcbiAgY29uc3QgW2Fycm93c0dyb3VwLCBzZXRBcnJvd3NHcm91cF0gPSB1c2VTdGF0ZTxGZWF0dXJlR3JvdXA+KCk7XG4gIGNvbnN0IHZhbGlkYXRlRWRnZVNoYXBlRGF0YSA9IChlZGdlKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVkZ2Uuc2hhcGVfZGF0YSkubGVuZ3RoICE9PSAwO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZmlsdGVyZWRQb2ludHM6IEFycmF5PFtudW1iZXIsIG51bWJlcl0+ID0gZWRnZXNcbiAgICAgIC5maWx0ZXIoKGVkZ2UpID0+IHtcbiAgICAgICAgaWYgKCFlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsaWRhdGVFZGdlU2hhcGVEYXRhKGVkZ2UpKSB7XG4gICAgICAgICAgZm9yIChsZXQgcG9pbnQgb2YgZWRnZS5zaGFwZV9kYXRhKSB7XG4gICAgICAgICAgICBpZiAoaXNOYU4ocG9pbnQubG5nKSB8fCBpc05hTihwb2ludC5sYXQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAubWFwKChlZGdlKSA9PiB7XG4gICAgICAgIGlmICh2YWxpZGF0ZUVkZ2VTaGFwZURhdGEoZWRnZSkpIHtcbiAgICAgICAgICByZXR1cm4gZWRnZS5zaGFwZV9kYXRhLm1hcCgocG9pbnQpID0+IFtwb2ludC5sYXQsIHBvaW50LmxuZ10pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBhcnJvd3NBcnI6IE1hcmtlcltdID0gZmlsdGVyZWRQb2ludHNcbiAgICAgIC5tYXAoKGVkZ2UpID0+IHtcbiAgICAgICAgcmV0dXJuIGdldEFycm93cyhlZGdlLCAnIzFkMWQxZCcsIDIsIG1hcCk7XG4gICAgICB9KVxuICAgICAgLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYy5jb25jYXQodmFsKSwgW10pO1xuXG4gICAgY29uc3QgbmV3QXJyb3dzR3JvdXA6IEZlYXR1cmVHcm91cCA9IEwuZmVhdHVyZUdyb3VwKGFycm93c0FycikuYWRkVG8obWFwKTtcbiAgICBuZXdBcnJvd3NHcm91cC5icmluZ1RvRnJvbnQoKTtcblxuICAgIHNldEFycm93c0dyb3VwKGFycm93c0dyb3VwKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoYXJyb3dzR3JvdXA/LmNsZWFyTGF5ZXJzKSB7XG4gICAgICAgIGFycm93c0dyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2VkZ2VzXSk7XG4gIHJldHVybiBudWxsO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBT08sSUFBTUUsTUFBNkIsR0FBRyxTQUFoQ0EsTUFBNkJBLENBQUFDLElBQUEsRUFBMEI7RUFBQSxJQUFwQkMsR0FBRyxHQUFBRCxJQUFBLENBQUhDLEdBQUc7SUFBRUMsQ0FBQyxHQUFBRixJQUFBLENBQURFLENBQUM7SUFBRUMsS0FBSyxHQUFBSCxJQUFBLENBQUxHLEtBQUs7RUFDM0QsSUFBQUMsU0FBQSxHQUFzQyxJQUFBQyxlQUFRLEVBQWUsQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsQ0FBQUMsT0FBQSxFQUFBSixTQUFBO0lBQXZESyxXQUFXLEdBQUFILFVBQUE7SUFBRUksY0FBYyxHQUFBSixVQUFBO0VBQ2xD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
|
|
@@ -50,9 +50,7 @@ var EventPath = function EventPath(_ref) {
|
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
if (!isHover && eventPaths.length === 0 && eventPathsAsMapObjects.length > 0) {
|
|
53
|
-
|
|
54
|
-
map.fitBounds(_leaflet.default.featureGroup(eventPathsAsMapObjects).getBounds().pad(0.1));
|
|
55
|
-
}, 1000);
|
|
53
|
+
map.fitBounds(_leaflet.default.featureGroup(eventPathsAsMapObjects).getBounds().pad(0.1));
|
|
56
54
|
}
|
|
57
55
|
}
|
|
58
56
|
};
|
|
@@ -68,4 +66,4 @@ var EventPath = function EventPath(_ref) {
|
|
|
68
66
|
};
|
|
69
67
|
var _default = EventPath;
|
|
70
68
|
exports.default = _default;
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFdmVudFBhdGgiLCJfcmVmIiwiZXZlbnQiLCJnbG9iYWxfZGF0YSIsIl9yZWYkZXZlbnRQYXRocyIsImV2ZW50UGF0aHMiLCJtYXAiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiZHJhd1BvbHlsaW5lIiwibGF5ZXJMYXRsbmdzIiwiZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyIsImV2ZW50UGF0aCIsIkwiLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0IiwiY2xhc3NOYW1lIiwic3Ryb2tlIiwiYWRkVG8iLCJwdXNoIiwiaWQiLCJob3ZlcmVkIiwic2V0SG92ZXJlZEV2ZW50UGF0aHMiLCJzZXRGb2N1c2VkRXZlbnRQYXRocyIsInJlbmRlckV2ZW50UGF0aCIsImlzSG92ZXIiLCJ1bmRlZmluZWQiLCJsYXllcnMiLCJfbGF5ZXJzIiwicGF0aCIsImZvckVhY2giLCJwcm9wZXJ0eSIsImthbmRvX29iamVjdF9pZCIsImVkZ2VfaWQiLCJrYW5kb19vYmplY3QiLCJnZXRMYXRMbmdzIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZmVhdHVyZUdyb3VwIiwiZ2V0Qm91bmRzIiwicGFkIiwidXNlRWZmZWN0IiwicmVtb3ZlTGF5ZXIiLCJjcmVhdGVFbGVtZW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFBhdGgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgc2V0Rm9jdXNlZEV2ZW50UGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudFBhdGhzLFxufSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBldmVudDogSUV2ZW50O1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBldmVudFBhdGhzPzogYW55W107XG59O1xuXG5jb25zdCBFdmVudFBhdGg6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBldmVudCxcbiAgZ2xvYmFsX2RhdGEsXG4gIGV2ZW50UGF0aHMgPSBbXSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgY29uc3QgZHJhd1BvbHlsaW5lID0gKFxuICAgIGV2ZW50OiBJRXZlbnQsXG4gICAgbGF5ZXJMYXRsbmdzOiBhbnksXG4gICAgZXZlbnRQYXRoc0FzTWFwT2JqZWN0czogYW55LFxuICApID0+IHtcbiAgICBsZXQgZXZlbnRQYXRoID0gTC5wb2x5bGluZShsYXllckxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiYSgwLDAsMCwwKScsXG4gICAgICB3ZWlnaHQ6IDEwLFxuICAgICAgY2xhc3NOYW1lOiAnZXZlbnQtcGF0aCcsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgfSkuYWRkVG8obWFwKTtcblxuICAgIGV2ZW50UGF0aHNBc01hcE9iamVjdHMucHVzaChldmVudFBhdGgpO1xuICAgIGV2ZW50UGF0aFsna2FuZG9fb2JqZWN0X2lkJ10gPSBldmVudC5pZDtcbiAgICBldmVudFBhdGhbJ2thbmRvX29iamVjdCddID0gJ0V2ZW50UGF0aCc7XG5cbiAgICBpZiAoZXZlbnQuaG92ZXJlZCkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoZXZlbnRQYXRoc0FzTWFwT2JqZWN0cykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnRQYXRocyhldmVudFBhdGhzQXNNYXBPYmplY3RzKSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlbmRlckV2ZW50UGF0aCA9IChldmVudDogSUV2ZW50LCBpc0hvdmVyOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKG1hcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgZXZlbnRQYXRoc0FzTWFwT2JqZWN0czogYW55W10gPSBbXTtcbiAgICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcblxuICAgICAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXRoOiBhbnkpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdF9pZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdF9pZCA9PT0gcGF0aC5lZGdlX2lkICYmXG4gICAgICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ0VkZ2UnXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBsZXQgbGF5ZXJMYXRsbmdzID0gbGF5ZXJzW3Byb3BlcnR5XS5nZXRMYXRMbmdzKCk7XG4gICAgICAgICAgICBkcmF3UG9seWxpbmUoZXZlbnQsIGxheWVyTGF0bG5ncywgZXZlbnRQYXRoc0FzTWFwT2JqZWN0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKFxuICAgICAgICAhaXNIb3ZlciAmJlxuICAgICAgICBldmVudFBhdGhzLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBldmVudFBhdGhzQXNNYXBPYmplY3RzLmxlbmd0aCA+IDBcbiAgICAgICkge1xuICAgICAgICBtYXAuZml0Qm91bmRzKFxuICAgICAgICAgIEwuZmVhdHVyZUdyb3VwKGV2ZW50UGF0aHNBc01hcE9iamVjdHMpLmdldEJvdW5kcygpLnBhZCgwLjEpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChldmVudFBhdGhzKSB7XG4gICAgICBldmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlbmRlckV2ZW50UGF0aChldmVudCwgZXZlbnQuaG92ZXJlZCk7XG4gICAgfVxuICB9LCBbZXZlbnRdKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFdmVudFBhdGg7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQ0EsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBR2tDLFNB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
|
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.recursiveDownStreamSearch = exports.pointIsWWTP = exports.pointIsObservation = exports.
|
|
8
|
+
exports.recursiveDownStreamSearch = exports.pointIsWWTP = exports.pointIsObservation = exports.nextLevelDownStream = exports.getUpstreamEdges = exports.getFirstEdgeOfEventPath = exports.findUpstreamEdgesToDraw = exports.findEdgesFromEventPathToDraw = exports.findDownstreamEdgesToDraw = exports.findAndDrawEventNetworkEdges = exports.drawNetwork = exports.drawManholeIcon = void 0;
|
|
9
9
|
var L = _interopRequireWildcard(require("leaflet"));
|
|
10
10
|
require("utilities/polylinedecorator");
|
|
11
11
|
var _whitePoint = _interopRequireDefault(require("../../../assets/white-point.png"));
|
|
@@ -76,16 +76,12 @@ var findUpstreamEdgesToDraw = function findUpstreamEdgesToDraw(upstreamEdges, ed
|
|
|
76
76
|
return point.id === upstreamEdge.source_point_id;
|
|
77
77
|
});
|
|
78
78
|
if (sourcePoint) edgesToDraw.push(upstreamEdge);
|
|
79
|
-
var connectionEdges = edges.filter(function (edge) {
|
|
80
|
-
return edge.source_point_id === upstreamEdge.target_point_id;
|
|
81
|
-
});
|
|
82
|
-
if (connectionEdges.length !== 0) {
|
|
83
|
-
connectionEdges.forEach(function (edge) {
|
|
84
|
-
return edgesToDraw.push(edge);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
79
|
}
|
|
88
80
|
});
|
|
81
|
+
var connectionEdge = edges.find(function (edge) {
|
|
82
|
+
return edge.source_point_id === upstreamEdges[0].target_point_id;
|
|
83
|
+
});
|
|
84
|
+
if (connectionEdge !== undefined) edgesToDraw.push(connectionEdge);
|
|
89
85
|
return edgesToDraw;
|
|
90
86
|
};
|
|
91
87
|
exports.findUpstreamEdgesToDraw = findUpstreamEdgesToDraw;
|
|
@@ -153,6 +149,22 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, laye
|
|
|
153
149
|
});
|
|
154
150
|
tailDash['kando_object'] = 'Decorator';
|
|
155
151
|
layerGroup.addLayer(tailDash);
|
|
152
|
+
if (points.length !== 0) {
|
|
153
|
+
var sourcePoint = points.find(function (point) {
|
|
154
|
+
return point.id === edge.source_point_id;
|
|
155
|
+
});
|
|
156
|
+
var targetPoint = points.find(function (point) {
|
|
157
|
+
return point.id === edge.target_point_id;
|
|
158
|
+
});
|
|
159
|
+
if (sourcePoint !== undefined && targetPoint !== undefined) {
|
|
160
|
+
polylineBack.bindPopup("Edge ID: ".concat(edge.id, ",<br>\n Source point: ").concat(sourcePoint.group.name, ",<br>\n Target point: ").concat(targetPoint.group.name, ",\n Distance: ").concat(edge.distance));
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// if (sourcePoint) drawManholeIcon(sourcePoint, map);
|
|
164
|
+
// if (targetPoint) drawManholeIcon(targetPoint, map);
|
|
165
|
+
if (sourcePoint && (sourcePoint.has_device || pointIsWWTP(sourcePoint))) (0, _PointUtils.createBubblePoint)([sourcePoint.latitude, sourcePoint.longitude], sourcePoint, map, null, layerGroup);
|
|
166
|
+
if (targetPoint && (targetPoint.has_device || pointIsWWTP(targetPoint))) (0, _PointUtils.createBubblePoint)([targetPoint.latitude, targetPoint.longitude], targetPoint, map, null, layerGroup);
|
|
167
|
+
}
|
|
156
168
|
polylineBack['kando_object_id'] = edge.id;
|
|
157
169
|
if (event.hovered) polylineBack['kando_object'] = 'HoveredEdge';
|
|
158
170
|
if (event.focused) polylineBack['kando_object'] = 'FocusedEdge';
|
|
@@ -173,18 +185,6 @@ var drawNetwork = function drawNetwork(edges, points, dispatch, map, event, laye
|
|
|
173
185
|
polylineFront.bringToFront();
|
|
174
186
|
if (event.hovered) dispatch((0, _actions.setHoveredEdgePaths)([polylineBack, polylineFront]));
|
|
175
187
|
latlngs = [];
|
|
176
|
-
if (points.length !== 0) {
|
|
177
|
-
var sourcePoint = points.find(function (point) {
|
|
178
|
-
return point.id === edge.source_point_id;
|
|
179
|
-
});
|
|
180
|
-
var targetPoint = points.find(function (point) {
|
|
181
|
-
return point.id === edge.target_point_id;
|
|
182
|
-
});
|
|
183
|
-
if (sourcePoint !== undefined && targetPoint !== undefined) {
|
|
184
|
-
polylineBack.bindPopup("Edge ID: ".concat(edge.id, ",<br>\n Source point: ").concat(sourcePoint.group.name, ",<br>\n Target point: ").concat(targetPoint.group.name, ",\n Distance: ").concat(edge.distance));
|
|
185
|
-
}
|
|
186
|
-
createPointLogic(sourcePoint, targetPoint, map, layerGroup);
|
|
187
|
-
}
|
|
188
188
|
});
|
|
189
189
|
};
|
|
190
190
|
exports.drawNetwork = drawNetwork;
|
|
@@ -211,18 +211,4 @@ var pointIsWWTP = function pointIsWWTP(point) {
|
|
|
211
211
|
return point.group.type === 'Groups::WastewaterTreatmentPlant';
|
|
212
212
|
};
|
|
213
213
|
exports.pointIsWWTP = pointIsWWTP;
|
|
214
|
-
var pointIsCollector = function pointIsCollector(point) {
|
|
215
|
-
return point.group.type === 'Groups::Collectors';
|
|
216
|
-
};
|
|
217
|
-
exports.pointIsCollector = pointIsCollector;
|
|
218
|
-
var isCollectorUnmonitored = function isCollectorUnmonitored(point) {
|
|
219
|
-
return pointIsCollector(point) && !point.has_device;
|
|
220
|
-
};
|
|
221
|
-
exports.isCollectorUnmonitored = isCollectorUnmonitored;
|
|
222
|
-
var createPointLogic = function createPointLogic(sourcePoint, targetPoint, map, layerGroup) {
|
|
223
|
-
if (sourcePoint || targetPoint || pointIsWWTP(sourcePoint) || pointIsWWTP(targetPoint)) {
|
|
224
|
-
if (isCollectorUnmonitored(sourcePoint) || isCollectorUnmonitored(targetPoint)) return;
|
|
225
|
-
(0, _PointUtils.createBubblePoint)([sourcePoint.latitude, sourcePoint.longitude], sourcePoint || targetPoint, map, null, layerGroup);
|
|
226
|
-
}
|
|
227
|
-
};
|
|
228
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3doaXRlUG9pbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJfUG9pbnRVdGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiZHJhd01hbmhvbGVJY29uIiwic291cmNlUG9pbnQiLCJtYXAiLCJwb2ludEljb24iLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiY29uY2F0IiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImV4cG9ydHMiLCJnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCIsImVkZ2VzIiwiZXZlbnQiLCJwYXRoIiwidW5kZWZpbmVkIiwiZmluZCIsImVkZ2UiLCJlZGdlX2lkIiwiZmluZEVkZ2VzIiwibmV4dFVwc3RyZWFtTGV2ZWxJZHMiLCJmaWx0ZXIiLCJpbmNsdWRlcyIsInRhcmdldF9wb2ludF9pZCIsInJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoIiwibmV4dExldmVsIiwibWFwQWxsRWRnZXNOZXN0aW5nIiwiYWxsVXBzdHJlYW1FZGdlcyIsInNvdXJjZV9wb2ludF9pZCIsImxlbmd0aCIsInB1c2giLCJtYXBwZWQiLCJmb3JFYWNoIiwiZ2V0VXBzdHJlYW1FZGdlcyIsImZpcnN0RWRnZSIsImZpcnN0VXBzdHJlYW1MZXZlbCIsImZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3IiwidXBzdHJlYW1FZGdlcyIsImVkZ2VzVG9EcmF3IiwicG9pbnRzIiwidXBzdHJlYW1FZGdlIiwicG9pbnQiLCJjb25uZWN0aW9uRWRnZXMiLCJmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3IiwiZG93bnN0cmVhbU5ldHdvcmsiLCJyZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoIiwiZG93blN0cmVhbUVkZ2UiLCJsYXN0RG93blN0cmVhbUVkZ2UiLCJuZXh0TGV2ZWxEb3duU3RyZWFtIiwiZmluZEVkZ2VzRnJvbUV2ZW50UGF0aFRvRHJhdyIsInBhcnQiLCJtYXRjaGVkUGFydCIsImRyYXdOZXR3b3JrIiwiZGlzcGF0Y2giLCJsYXllckdyb3VwIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJkYXRhIiwibGF0IiwibG5nIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJ0YWlsRGFzaCIsInBvbHlsaW5lRGVjb3JhdG9yIiwiX2xhdGxuZ3MiLCJwYXR0ZXJucyIsIm9mZnNldCIsInJlcGVhdCIsInN5bWJvbCIsIlN5bWJvbCIsImFycm93SGVhZCIsInBpeGVsU2l6ZSIsInBvbHlnb24iLCJwYXRoT3B0aW9ucyIsInN0cm9rZSIsImFkZExheWVyIiwiaG92ZXJlZCIsImZvY3VzZWQiLCJicmluZ1RvRnJvbnQiLCJwb2x5bGluZUZyb250Iiwic2V0SG92ZXJlZEVkZ2VQYXRocyIsInRhcmdldFBvaW50IiwiYmluZFBvcHVwIiwiZGlzdGFuY2UiLCJjcmVhdGVQb2ludExvZ2ljIiwiZmluZEFuZERyYXdFdmVudE5ldHdvcmtFZGdlcyIsInBvaW50SXNPYnNlcnZhdGlvbiIsIm9ic2VydmF0aW9ucyIsIm9icyIsInBvaW50X2lkIiwicG9pbnRJc1dXVFAiLCJ0eXBlIiwicG9pbnRJc0NvbGxlY3RvciIsImlzQ29sbGVjdG9yVW5tb25pdG9yZWQiLCJoYXNfZGV2aWNlIiwiY3JlYXRlQnViYmxlUG9pbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvZXZlbnRzL0V2ZW50VXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgd2hpdGVQb2ludCBmcm9tICcuLi8uLi8uLi9hc3NldHMvd2hpdGUtcG9pbnQucG5nJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IHNldEhvdmVyZWRFZGdlUGF0aHMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBjcmVhdGVCdWJibGVQb2ludCB9IGZyb20gJy4uL3BvaW50cy9Qb2ludFV0aWxzJztcblxuZXhwb3J0IGNvbnN0IGRyYXdNYW5ob2xlSWNvbiA9IChzb3VyY2VQb2ludDogSVBvaW50LCBtYXA6IEwuTWFwKSA9PiB7XG4gIGxldCBwb2ludEljb24gPSBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUG9pbnQsXG4gICAgaWNvblNpemU6IFs5LCA5XSxcbiAgICBpY29uQW5jaG9yOiBbNC41LCA0LjVdLFxuICB9KTtcblxuICBsZXQgbWFuaG9sZUljb246IGFueSA9IEwubWFya2VyKFxuICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICB7XG4gICAgICBpY29uOiBwb2ludEljb24sXG4gICAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgICB9LFxuICApLmFkZFRvKG1hcCk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKFxuICAgIGAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9ICgke3NvdXJjZVBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfSlgLFxuICApO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBzb3VyY2VQb2ludC5pZDtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1Vwc3RyZWFtUG9pbnQnO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZpcnN0RWRnZU9mRXZlbnRQYXRoID0gKGVkZ2VzOiBJRWRnZVtdLCBldmVudDogSUV2ZW50KSA9PiB7XG4gIGlmIChldmVudC5wYXRoWzBdID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIGVkZ2VzLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IGV2ZW50LnBhdGhbMF0uZWRnZV9pZCk7XG59O1xuXG5jb25zdCBmaW5kRWRnZXMgPSAoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKSA9PiB7XG4gIHJldHVybiBlZGdlcy5maWx0ZXIoKGVkZ2U6IElFZGdlKSA9PlxuICAgIG5leHRVcHN0cmVhbUxldmVsSWRzLmluY2x1ZGVzKGVkZ2UudGFyZ2V0X3BvaW50X2lkKSxcbiAgKTtcbn07XG5cbmNvbnN0IHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoID0gKFxuICBuZXh0TGV2ZWwsXG4gIGVkZ2VzLFxuICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gIGFsbFVwc3RyZWFtRWRnZXMsXG4pID0+IHtcbiAgbGV0IG5leHRVcHN0cmVhbUxldmVsSWRzID0gbmV4dExldmVsLm1hcCgoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQpO1xuICBpZiAoZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIG1hcEFsbEVkZ2VzTmVzdGluZyhbbmV4dExldmVsXSk7XG4gIH0gZWxzZSB7XG4gICAgYWxsVXBzdHJlYW1FZGdlcy5wdXNoKGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpKTtcbiAgICByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaChcbiAgICAgIGZpbmRFZGdlcyhlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpLFxuICAgICAgZWRnZXMsXG4gICAgICBtYXBBbGxFZGdlc05lc3RpbmcsXG4gICAgICBhbGxVcHN0cmVhbUVkZ2VzLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gbWFwQWxsRWRnZXNOZXN0aW5nKGFsbFVwc3RyZWFtRWRnZXMpO1xufTtcblxuY29uc3QgbWFwQWxsRWRnZXNOZXN0aW5nID0gKGFsbFVwc3RyZWFtRWRnZXMpID0+IHtcbiAgbGV0IG1hcHBlZDogYW55W10gPSBbXTtcbiAgYWxsVXBzdHJlYW1FZGdlcy5mb3JFYWNoKChlZGdlcykgPT4ge1xuICAgIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIG1hcHBlZC5wdXNoKGVkZ2UpO1xuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gbWFwcGVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFVwc3RyZWFtRWRnZXMgPSAoZmlyc3RFZGdlOiBJRWRnZSwgZWRnZXM6IElFZGdlW10pID0+IHtcbiAgbGV0IGFsbFVwc3RyZWFtRWRnZXM6IGFueVtdID0gW107XG4gIGxldCBmaXJzdFVwc3RyZWFtTGV2ZWw6IElFZGdlW10gPSBlZGdlcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+IGVkZ2UudGFyZ2V0X3BvaW50X2lkID09PSBmaXJzdEVkZ2UhLnNvdXJjZV9wb2ludF9pZCxcbiAgKTtcblxuICByZXR1cm4gcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2goXG4gICAgZmlyc3RVcHN0cmVhbUxldmVsLFxuICAgIGVkZ2VzLFxuICAgIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgICBhbGxVcHN0cmVhbUVkZ2VzLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3ID0gKFxuICB1cHN0cmVhbUVkZ2VzOiBJRWRnZVtdLFxuICBlZGdlc1RvRHJhdzogSUVkZ2VbXSxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgdXBzdHJlYW1FZGdlcy5mb3JFYWNoKCh1cHN0cmVhbUVkZ2UpID0+IHtcbiAgICBpZiAodXBzdHJlYW1FZGdlKSB7XG4gICAgICBsZXQgc291cmNlUG9pbnQgPSBwb2ludHMuZmluZChcbiAgICAgICAgKHBvaW50KSA9PiBwb2ludC5pZCA9PT0gdXBzdHJlYW1FZGdlIS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAoc291cmNlUG9pbnQpIGVkZ2VzVG9EcmF3LnB1c2godXBzdHJlYW1FZGdlKTtcblxuICAgICAgbGV0IGNvbm5lY3Rpb25FZGdlcyA9IGVkZ2VzLmZpbHRlcihcbiAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSB1cHN0cmVhbUVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKGNvbm5lY3Rpb25FZGdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgY29ubmVjdGlvbkVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IGVkZ2VzVG9EcmF3LnB1c2goZWRnZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGVkZ2VzVG9EcmF3O1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIGZpcnN0RWRnZTogSUVkZ2UsXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBkb3duc3RyZWFtTmV0d29yayxcbiAgZWRnZXNUb0RyYXcsXG4pID0+IHtcbiAgcmVjdXJzaXZlRG93blN0cmVhbVNlYXJjaChkb3duc3RyZWFtTmV0d29yaywgZWRnZXMpLmZvckVhY2goXG4gICAgKGRvd25TdHJlYW1FZGdlKSA9PiB7XG4gICAgICBlZGdlc1RvRHJhdy5wdXNoKGRvd25TdHJlYW1FZGdlKTtcbiAgICB9LFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2ggPSAoXG4gIGRvd25zdHJlYW1OZXR3b3JrOiBJRWRnZVtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBsZXQgbGFzdERvd25TdHJlYW1FZGdlID0gZG93bnN0cmVhbU5ldHdvcmtbZG93bnN0cmVhbU5ldHdvcmsubGVuZ3RoIC0gMV07XG5cbiAgaWYgKG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGRvd25zdHJlYW1OZXR3b3JrO1xuICB9IGVsc2Uge1xuICAgIG5leHRMZXZlbERvd25TdHJlYW0obGFzdERvd25TdHJlYW1FZGdlLCBlZGdlcykuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgZG93bnN0cmVhbU5ldHdvcmsucHVzaChlZGdlKTtcbiAgICAgIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbn07XG5cbmV4cG9ydCBjb25zdCBuZXh0TGV2ZWxEb3duU3RyZWFtID0gKGZpcnN0RWRnZTogSUVkZ2UsIGVkZ2VzOiBJRWRnZVtdKSA9PiB7XG4gIHJldHVybiBlZGdlcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBmaXJzdEVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRFZGdlc0Zyb21FdmVudFBhdGhUb0RyYXcgPSAoXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICBldmVudC5wYXRoLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICBsZXQgbWF0Y2hlZFBhcnQgPSBlZGdlcy5maW5kKChlZGdlKSA9PiBlZGdlLmlkID09PSBwYXJ0LmVkZ2VfaWQpO1xuICAgIGlmIChtYXRjaGVkUGFydCAhPT0gdW5kZWZpbmVkKSBlZGdlc1RvRHJhdy5wdXNoKG1hdGNoZWRQYXJ0KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd05ldHdvcmsgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBldmVudCxcbiAgbGF5ZXJHcm91cCxcbikgPT4ge1xuICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gIGVkZ2VzLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBsYXRsbmdzLnB1c2goW2RhdGEubGF0LCBkYXRhLmxuZ10pO1xuICAgIH0pO1xuXG4gICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICBjb2xvcjogJ3JnYigyMjcsMjI3LDIyNyknLFxuICAgICAgd2VpZ2h0OiA2LFxuICAgICAgb3BhY2l0eTogMSxcbiAgICB9KTtcblxuICAgIGxldCB0YWlsRGFzaCA9IEwucG9seWxpbmVEZWNvcmF0b3IocG9seWxpbmVCYWNrLl9sYXRsbmdzLCB7XG4gICAgICBwYXR0ZXJuczogW1xuICAgICAgICAvLyBkZWZpbmVzIGEgcGF0dGVybiBvZiAxMHB4LXdpZGUgZGFzaGVzLCByZXBlYXRlZCBldmVyeSAyMHB4IG9uIHRoZSBsaW5lXG4gICAgICAgIHtcbiAgICAgICAgICBvZmZzZXQ6IDE1LFxuICAgICAgICAgIHJlcGVhdDogMjUsXG4gICAgICAgICAgc3ltYm9sOiBMLlN5bWJvbC5hcnJvd0hlYWQoe1xuICAgICAgICAgICAgcGl4ZWxTaXplOiAzLFxuICAgICAgICAgICAgcG9seWdvbjogZmFsc2UsXG4gICAgICAgICAgICBwYXRoT3B0aW9uczoge1xuICAgICAgICAgICAgICBzdHJva2U6IHRydWUsXG4gICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgwLDAsMCknLFxuICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgICB0YWlsRGFzaFsna2FuZG9fb2JqZWN0J10gPSAnRGVjb3JhdG9yJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHRhaWxEYXNoKTtcblxuICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlJztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdGb2N1c2VkRWRnZSc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUJhY2spO1xuICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcblxuICAgIGxldCBwb2x5bGluZUZyb250OiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDI5LDI5LDI5KScsXG4gICAgICB3ZWlnaHQ6IDEsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pO1xuXG4gICAgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3QnXSA9ICdIb3ZlcmVkRWRnZUZyb250JztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnRm9jdXNlZEVkZ2VGcm9udCc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUZyb250KTtcbiAgICBwb2x5bGluZUJhY2suYWRkVG8obWFwKTtcbiAgICBwb2x5bGluZUZyb250LmFkZFRvKG1hcCk7XG5cbiAgICBwb2x5bGluZUZyb250LmJyaW5nVG9Gcm9udCgpO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKVxuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEVkZ2VQYXRocyhbcG9seWxpbmVCYWNrLCBwb2x5bGluZUZyb250XSkpO1xuICAgIGxhdGxuZ3MgPSBbXTtcblxuICAgIGlmIChwb2ludHMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBsZXQgc291cmNlUG9pbnQ6IElQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2Uuc291cmNlX3BvaW50X2lkLFxuICAgICAgKTtcbiAgICAgIGxldCB0YXJnZXRQb2ludDogSVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50Lmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuICAgICAgfVxuXG4gICAgICBjcmVhdGVQb2ludExvZ2ljKHNvdXJjZVBvaW50LCB0YXJnZXRQb2ludCwgbWFwLCBsYXllckdyb3VwKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbmRBbmREcmF3RXZlbnROZXR3b3JrRWRnZXMgPSAoXG4gIGVkZ2VzOiBJRWRnZVtdLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludHM6IElQb2ludFtdLFxuICBkaXNwYXRjaCxcbiAgbWFwLFxuICBsYXllckdyb3VwLFxuKSA9PiB7XG4gIGxldCBlZGdlc1RvRHJhdzogSUVkZ2VbXSA9IFtdO1xuICBsZXQgZmlyc3RFZGdlID0gZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGgoZWRnZXMsIGV2ZW50KTtcblxuICBpZiAoZmlyc3RFZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgZG93bnN0cmVhbU5ldHdvcms6IElFZGdlW10gPSBbZmlyc3RFZGdlXTtcbiAgICBsZXQgdXBzdHJlYW1FZGdlcyA9IGdldFVwc3RyZWFtRWRnZXMoZmlyc3RFZGdlLCBlZGdlcyk7XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAgIGlmICh1cHN0cmVhbUVkZ2VzLmxlbmd0aCAhPT0gMClcbiAgICAgIGZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3KHVwc3RyZWFtRWRnZXMsIGVkZ2VzVG9EcmF3LCBwb2ludHMsIGVkZ2VzKTtcbiAgICBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3KGZpcnN0RWRnZSwgZWRnZXMsIGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlc1RvRHJhdyk7XG4gIH1cblxuICBkcmF3TmV0d29yayhlZGdlc1RvRHJhdywgcG9pbnRzLCBkaXNwYXRjaCwgbWFwLCBldmVudCwgbGF5ZXJHcm91cCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc09ic2VydmF0aW9uID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIGV2ZW50Lm9ic2VydmF0aW9ucy5maW5kKChvYnMpID0+IG9icy5wb2ludF9pZCA9PT0gcG9pbnQuaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNXV1RQID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc0NvbGxlY3RvciA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpDb2xsZWN0b3JzJztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvclVubW9uaXRvcmVkID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50SXNDb2xsZWN0b3IocG9pbnQpICYmICFwb2ludC5oYXNfZGV2aWNlO1xufTtcblxuY29uc3QgY3JlYXRlUG9pbnRMb2dpYyA9IChcbiAgc291cmNlUG9pbnQ6IElQb2ludCxcbiAgdGFyZ2V0UG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBsYXllckdyb3VwLFxuKSA9PiB7XG4gIGlmIChcbiAgICBzb3VyY2VQb2ludCB8fFxuICAgIHRhcmdldFBvaW50IHx8XG4gICAgcG9pbnRJc1dXVFAoc291cmNlUG9pbnQpIHx8XG4gICAgcG9pbnRJc1dXVFAodGFyZ2V0UG9pbnQpXG4gICkge1xuICAgIGlmIChcbiAgICAgIGlzQ29sbGVjdG9yVW5tb25pdG9yZWQoc291cmNlUG9pbnQpIHx8XG4gICAgICBpc0NvbGxlY3RvclVubW9uaXRvcmVkKHRhcmdldFBvaW50KVxuICAgIClcbiAgICAgIHJldHVybjtcbiAgICBjcmVhdGVCdWJibGVQb2ludChcbiAgICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgIHNvdXJjZVBvaW50IHx8IHRhcmdldFBvaW50LFxuICAg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
|
|
214
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3doaXRlUG9pbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJfUG9pbnRVdGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiZHJhd01hbmhvbGVJY29uIiwic291cmNlUG9pbnQiLCJtYXAiLCJwb2ludEljb24iLCJpY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJtYW5ob2xlSWNvbiIsIm1hcmtlciIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwiY29uY2F0IiwiZ3JvdXAiLCJuYW1lIiwic2VjdG9yX25hbWUiLCJpZCIsImV4cG9ydHMiLCJnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aCIsImVkZ2VzIiwiZXZlbnQiLCJwYXRoIiwidW5kZWZpbmVkIiwiZmluZCIsImVkZ2UiLCJlZGdlX2lkIiwiZmluZEVkZ2VzIiwibmV4dFVwc3RyZWFtTGV2ZWxJZHMiLCJmaWx0ZXIiLCJpbmNsdWRlcyIsInRhcmdldF9wb2ludF9pZCIsInJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoIiwibmV4dExldmVsIiwibWFwQWxsRWRnZXNOZXN0aW5nIiwiYWxsVXBzdHJlYW1FZGdlcyIsInNvdXJjZV9wb2ludF9pZCIsImxlbmd0aCIsInB1c2giLCJtYXBwZWQiLCJmb3JFYWNoIiwiZ2V0VXBzdHJlYW1FZGdlcyIsImZpcnN0RWRnZSIsImZpcnN0VXBzdHJlYW1MZXZlbCIsImZpbmRVcHN0cmVhbUVkZ2VzVG9EcmF3IiwidXBzdHJlYW1FZGdlcyIsImVkZ2VzVG9EcmF3IiwicG9pbnRzIiwidXBzdHJlYW1FZGdlIiwicG9pbnQiLCJjb25uZWN0aW9uRWRnZSIsImZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXciLCJkb3duc3RyZWFtTmV0d29yayIsInJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2giLCJkb3duU3RyZWFtRWRnZSIsImxhc3REb3duU3RyZWFtRWRnZSIsIm5leHRMZXZlbERvd25TdHJlYW0iLCJmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3IiwicGFydCIsIm1hdGNoZWRQYXJ0IiwiZHJhd05ldHdvcmsiLCJkaXNwYXRjaCIsImxheWVyR3JvdXAiLCJsYXRsbmdzIiwic2hhcGVfZGF0YSIsImRhdGEiLCJsYXQiLCJsbmciLCJwb2x5bGluZUJhY2siLCJwb2x5bGluZSIsImNvbG9yIiwid2VpZ2h0Iiwib3BhY2l0eSIsInRhaWxEYXNoIiwicG9seWxpbmVEZWNvcmF0b3IiLCJfbGF0bG5ncyIsInBhdHRlcm5zIiwib2Zmc2V0IiwicmVwZWF0Iiwic3ltYm9sIiwiU3ltYm9sIiwiYXJyb3dIZWFkIiwicGl4ZWxTaXplIiwicG9seWdvbiIsInBhdGhPcHRpb25zIiwic3Ryb2tlIiwiYWRkTGF5ZXIiLCJ0YXJnZXRQb2ludCIsImJpbmRQb3B1cCIsImRpc3RhbmNlIiwiaGFzX2RldmljZSIsInBvaW50SXNXV1RQIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJob3ZlcmVkIiwiZm9jdXNlZCIsImJyaW5nVG9Gcm9udCIsInBvbHlsaW5lRnJvbnQiLCJzZXRIb3ZlcmVkRWRnZVBhdGhzIiwiZmluZEFuZERyYXdFdmVudE5ldHdvcmtFZGdlcyIsInBvaW50SXNPYnNlcnZhdGlvbiIsIm9ic2VydmF0aW9ucyIsIm9icyIsInBvaW50X2lkIiwidHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdzcmMvdXRpbGl0aWVzL3BvbHlsaW5lZGVjb3JhdG9yJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0SG92ZXJlZEVkZ2VQYXRocyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IGNyZWF0ZUJ1YmJsZVBvaW50IH0gZnJvbSAnLi4vcG9pbnRzL1BvaW50VXRpbHMnO1xuXG5leHBvcnQgY29uc3QgZHJhd01hbmhvbGVJY29uID0gKHNvdXJjZVBvaW50OiBJUG9pbnQsIG1hcDogTC5NYXApID0+IHtcbiAgbGV0IHBvaW50SWNvbiA9IEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuXG4gIGxldCBtYW5ob2xlSWNvbjogYW55ID0gTC5tYXJrZXIoXG4gICAgW3NvdXJjZVBvaW50LmxhdGl0dWRlLCBzb3VyY2VQb2ludC5sb25naXR1ZGVdLFxuICAgIHtcbiAgICAgIGljb246IHBvaW50SWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICAgIH0sXG4gICkuYWRkVG8obWFwKTtcbiAgbWFuaG9sZUljb24uYmluZFRvb2x0aXAoXG4gICAgYCR7c291cmNlUG9pbnQuZ3JvdXAubmFtZX0gKCR7c291cmNlUG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9KWAsXG4gICk7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHNvdXJjZVBvaW50LmlkO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnVXBzdHJlYW1Qb2ludCc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmlyc3RFZGdlT2ZFdmVudFBhdGggPSAoZWRnZXM6IElFZGdlW10sIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgaWYgKGV2ZW50LnBhdGhbMF0gPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICByZXR1cm4gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gZXZlbnQucGF0aFswXS5lZGdlX2lkKTtcbn07XG5cbmNvbnN0IGZpbmRFZGdlcyA9IChlZGdlcywgbmV4dFVwc3RyZWFtTGV2ZWxJZHMpID0+IHtcbiAgcmV0dXJuIGVkZ2VzLmZpbHRlcigoZWRnZTogSUVkZ2UpID0+XG4gICAgbmV4dFVwc3RyZWFtTGV2ZWxJZHMuaW5jbHVkZXMoZWRnZS50YXJnZXRfcG9pbnRfaWQpLFxuICApO1xufTtcblxuY29uc3QgcmVjdXJzaXZlVXBzdHJlYW1TZWFyY2ggPSAoXG4gIG5leHRMZXZlbCxcbiAgZWRnZXMsXG4gIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgYWxsVXBzdHJlYW1FZGdlcyxcbikgPT4ge1xuICBsZXQgbmV4dFVwc3RyZWFtTGV2ZWxJZHMgPSBuZXh0TGV2ZWwubWFwKChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCk7XG4gIGlmIChmaW5kRWRnZXMoZWRnZXMsIG5leHRVcHN0cmVhbUxldmVsSWRzKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbWFwQWxsRWRnZXNOZXN0aW5nKFtuZXh0TGV2ZWxdKTtcbiAgfSBlbHNlIHtcbiAgICBhbGxVcHN0cmVhbUVkZ2VzLnB1c2goZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcykpO1xuICAgIHJlY3Vyc2l2ZVVwc3RyZWFtU2VhcmNoKFxuICAgICAgZmluZEVkZ2VzKGVkZ2VzLCBuZXh0VXBzdHJlYW1MZXZlbElkcyksXG4gICAgICBlZGdlcyxcbiAgICAgIG1hcEFsbEVkZ2VzTmVzdGluZyxcbiAgICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBtYXBBbGxFZGdlc05lc3RpbmcoYWxsVXBzdHJlYW1FZGdlcyk7XG59O1xuXG5jb25zdCBtYXBBbGxFZGdlc05lc3RpbmcgPSAoYWxsVXBzdHJlYW1FZGdlcykgPT4ge1xuICBsZXQgbWFwcGVkOiBhbnlbXSA9IFtdO1xuICBhbGxVcHN0cmVhbUVkZ2VzLmZvckVhY2goKGVkZ2VzKSA9PiB7XG4gICAgZWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgbWFwcGVkLnB1c2goZWRnZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJldHVybiBtYXBwZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXBzdHJlYW1FZGdlcyA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICBsZXQgYWxsVXBzdHJlYW1FZGdlczogYW55W10gPSBbXTtcbiAgbGV0IGZpcnN0VXBzdHJlYW1MZXZlbDogSUVkZ2VbXSA9IGVkZ2VzLmZpbHRlcihcbiAgICAoZWRnZSkgPT4gZWRnZS50YXJnZXRfcG9pbnRfaWQgPT09IGZpcnN0RWRnZSEuc291cmNlX3BvaW50X2lkLFxuICApO1xuXG4gIHJldHVybiByZWN1cnNpdmVVcHN0cmVhbVNlYXJjaChcbiAgICBmaXJzdFVwc3RyZWFtTGV2ZWwsXG4gICAgZWRnZXMsXG4gICAgbWFwQWxsRWRnZXNOZXN0aW5nLFxuICAgIGFsbFVwc3RyZWFtRWRnZXMsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFVwc3RyZWFtRWRnZXNUb0RyYXcgPSAoXG4gIHVwc3RyZWFtRWRnZXM6IElFZGdlW10sXG4gIGVkZ2VzVG9EcmF3OiBJRWRnZVtdLFxuICBwb2ludHM6IElQb2ludFtdLFxuICBlZGdlczogSUVkZ2VbXSxcbikgPT4ge1xuICB1cHN0cmVhbUVkZ2VzLmZvckVhY2goKHVwc3RyZWFtRWRnZSkgPT4ge1xuICAgIGlmICh1cHN0cmVhbUVkZ2UpIHtcbiAgICAgIGxldCBzb3VyY2VQb2ludCA9IHBvaW50cy5maW5kKFxuICAgICAgICAocG9pbnQpID0+IHBvaW50LmlkID09PSB1cHN0cmVhbUVkZ2UhLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChzb3VyY2VQb2ludCkgZWRnZXNUb0RyYXcucHVzaCh1cHN0cmVhbUVkZ2UpO1xuICAgIH1cbiAgfSk7XG5cbiAgbGV0IGNvbm5lY3Rpb25FZGdlID0gZWRnZXMuZmluZChcbiAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IHVwc3RyZWFtRWRnZXNbMF0udGFyZ2V0X3BvaW50X2lkLFxuICApO1xuICBpZiAoY29ubmVjdGlvbkVkZ2UgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChjb25uZWN0aW9uRWRnZSk7XG4gIHJldHVybiBlZGdlc1RvRHJhdztcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRG93bnN0cmVhbUVkZ2VzVG9EcmF3ID0gKFxuICBmaXJzdEVkZ2U6IElFZGdlLFxuICBlZGdlczogSUVkZ2VbXSxcbiAgZG93bnN0cmVhbU5ldHdvcmssXG4gIGVkZ2VzVG9EcmF3LFxuKSA9PiB7XG4gIHJlY3Vyc2l2ZURvd25TdHJlYW1TZWFyY2goZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzKS5mb3JFYWNoKFxuICAgIChkb3duU3RyZWFtRWRnZSkgPT4ge1xuICAgICAgZWRnZXNUb0RyYXcucHVzaChkb3duU3RyZWFtRWRnZSk7XG4gICAgfSxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoID0gKFxuICBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgbGV0IGxhc3REb3duU3RyZWFtRWRnZSA9IGRvd25zdHJlYW1OZXR3b3JrW2Rvd25zdHJlYW1OZXR3b3JrLmxlbmd0aCAtIDFdO1xuXG4gIGlmIChuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBkb3duc3RyZWFtTmV0d29yaztcbiAgfSBlbHNlIHtcbiAgICBuZXh0TGV2ZWxEb3duU3RyZWFtKGxhc3REb3duU3RyZWFtRWRnZSwgZWRnZXMpLmZvckVhY2goKGVkZ2UpID0+IHtcbiAgICAgIGRvd25zdHJlYW1OZXR3b3JrLnB1c2goZWRnZSk7XG4gICAgICByZWN1cnNpdmVEb3duU3RyZWFtU2VhcmNoKGRvd25zdHJlYW1OZXR3b3JrLCBlZGdlcyk7XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZG93bnN0cmVhbU5ldHdvcms7XG59O1xuXG5leHBvcnQgY29uc3QgbmV4dExldmVsRG93blN0cmVhbSA9IChmaXJzdEVkZ2U6IElFZGdlLCBlZGdlczogSUVkZ2VbXSkgPT4ge1xuICByZXR1cm4gZWRnZXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PiBlZGdlLnNvdXJjZV9wb2ludF9pZCA9PT0gZmlyc3RFZGdlLnRhcmdldF9wb2ludF9pZCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRWRnZXNGcm9tRXZlbnRQYXRoVG9EcmF3ID0gKFxuICBlZGdlc1RvRHJhdzogSUVkZ2VbXSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgZWRnZXM6IElFZGdlW10sXG4pID0+IHtcbiAgZXZlbnQucGF0aC5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgbGV0IG1hdGNoZWRQYXJ0ID0gZWRnZXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGFydC5lZGdlX2lkKTtcbiAgICBpZiAobWF0Y2hlZFBhcnQgIT09IHVuZGVmaW5lZCkgZWRnZXNUb0RyYXcucHVzaChtYXRjaGVkUGFydCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdOZXR3b3JrID0gKFxuICBlZGdlczogSUVkZ2VbXSxcbiAgcG9pbnRzOiBJUG9pbnRbXSxcbiAgZGlzcGF0Y2gsXG4gIG1hcCxcbiAgZXZlbnQsXG4gIGxheWVyR3JvdXAsXG4pID0+IHtcbiAgbGV0IGxhdGxuZ3M6IGFueSA9IFtdO1xuICBlZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgZWRnZS5zaGFwZV9kYXRhLmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgbGF0bG5ncy5wdXNoKFtkYXRhLmxhdCwgZGF0YS5sbmddKTtcbiAgICB9KTtcblxuICAgIGxldCBwb2x5bGluZUJhY2s6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgY29sb3I6ICdyZ2IoMjI3LDIyNywyMjcpJyxcbiAgICAgIHdlaWdodDogNixcbiAgICAgIG9wYWNpdHk6IDEsXG4gICAgfSk7XG5cbiAgICBsZXQgdGFpbERhc2ggPSBMLnBvbHlsaW5lRGVjb3JhdG9yKHBvbHlsaW5lQmFjay5fbGF0bG5ncywge1xuICAgICAgcGF0dGVybnM6IFtcbiAgICAgICAgLy8gZGVmaW5lcyBhIHBhdHRlcm4gb2YgMTBweC13aWRlIGRhc2hlcywgcmVwZWF0ZWQgZXZlcnkgMjBweCBvbiB0aGUgbGluZVxuICAgICAgICB7XG4gICAgICAgICAgb2Zmc2V0OiAxNSxcbiAgICAgICAgICByZXBlYXQ6IDI1LFxuICAgICAgICAgIHN5bWJvbDogTC5TeW1ib2wuYXJyb3dIZWFkKHtcbiAgICAgICAgICAgIHBpeGVsU2l6ZTogMyxcbiAgICAgICAgICAgIHBvbHlnb246IGZhbHNlLFxuICAgICAgICAgICAgcGF0aE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgc3Ryb2tlOiB0cnVlLFxuICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMCwwLDApJyxcbiAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgdGFpbERhc2hbJ2thbmRvX29iamVjdCddID0gJ0RlY29yYXRvcic7XG4gICAgbGF5ZXJHcm91cC5hZGRMYXllcih0YWlsRGFzaCk7XG5cbiAgICBpZiAocG9pbnRzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS5zb3VyY2VfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgbGV0IHRhcmdldFBvaW50ID0gcG9pbnRzLmZpbmQoXG4gICAgICAgIChwb2ludDogSVBvaW50KSA9PiBwb2ludC5pZCA9PT0gZWRnZS50YXJnZXRfcG9pbnRfaWQsXG4gICAgICApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICE9PSB1bmRlZmluZWQgJiYgdGFyZ2V0UG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIHBvaW50OiAke3NvdXJjZVBvaW50Lmdyb3VwLm5hbWV9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0IHBvaW50OiAke3RhcmdldFBvaW50Lmdyb3VwLm5hbWV9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuICAgICAgfVxuXG4gICAgICAvLyBpZiAoc291cmNlUG9pbnQpIGRyYXdNYW5ob2xlSWNvbihzb3VyY2VQb2ludCwgbWFwKTtcbiAgICAgIC8vIGlmICh0YXJnZXRQb2ludCkgZHJhd01hbmhvbGVJY29uKHRhcmdldFBvaW50LCBtYXApO1xuICAgICAgaWYgKHNvdXJjZVBvaW50ICYmIChzb3VyY2VQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHNvdXJjZVBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFtzb3VyY2VQb2ludC5sYXRpdHVkZSwgc291cmNlUG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICBzb3VyY2VQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICApO1xuICAgICAgaWYgKHRhcmdldFBvaW50ICYmICh0YXJnZXRQb2ludC5oYXNfZGV2aWNlIHx8IHBvaW50SXNXV1RQKHRhcmdldFBvaW50KSkpXG4gICAgICAgIGNyZWF0ZUJ1YmJsZVBvaW50KFxuICAgICAgICAgIFt0YXJnZXRQb2ludC5sYXRpdHVkZSwgdGFyZ2V0UG9pbnQubG9uZ2l0dWRlXSxcbiAgICAgICAgICB0YXJnZXRQb2ludCxcbiAgICAgICAgICBtYXAsXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBsYXllckdyb3VwLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdCddID0gJ0hvdmVyZWRFZGdlJztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVCYWNrWydrYW5kb19vYmplY3QnXSA9ICdGb2N1c2VkRWRnZSc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUJhY2spO1xuICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcbiAgICB0YWlsRGFzaC5icmluZ1RvRnJvbnQoKTtcblxuICAgIGxldCBwb2x5bGluZUZyb250OiBhbnkgPSBMLnBvbHlsaW5lKGxhdGxuZ3MsIHtcbiAgICAgIGNvbG9yOiAncmdiKDI5LDI5LDI5KScsXG4gICAgICB3ZWlnaHQ6IDEsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgIH0pO1xuXG4gICAgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0X2lkJ10gPSBlZGdlLmlkO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKSBwb2x5bGluZUZyb250WydrYW5kb19vYmplY3QnXSA9ICdIb3ZlcmVkRWRnZUZyb250JztcbiAgICBpZiAoZXZlbnQuZm9jdXNlZCkgcG9seWxpbmVGcm9udFsna2FuZG9fb2JqZWN0J10gPSAnRm9jdXNlZEVkZ2VGcm9udCc7XG4gICAgaWYgKG1hcCAhPT0gbnVsbCkgbGF5ZXJHcm91cC5hZGRMYXllcihwb2x5bGluZUZyb250KTtcbiAgICBwb2x5bGluZUJhY2suYWRkVG8obWFwKTtcbiAgICBwb2x5bGluZUZyb250LmFkZFRvKG1hcCk7XG5cbiAgICBwb2x5bGluZUZyb250LmJyaW5nVG9Gcm9udCgpO1xuICAgIGlmIChldmVudC5ob3ZlcmVkKVxuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEVkZ2VQYXRocyhbcG9seWxpbmVCYWNrLCBwb2x5bGluZUZyb250XSkpO1xuICAgIGxhdGxuZ3MgPSBbXTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZEFuZERyYXdFdmVudE5ldHdvcmtFZGdlcyA9IChcbiAgZWRnZXM6IElFZGdlW10sXG4gIGV2ZW50OiBJRXZlbnQsXG4gIHBvaW50czogSVBvaW50W10sXG4gIGRpc3BhdGNoLFxuICBtYXAsXG4gIGxheWVyR3JvdXAsXG4pID0+IHtcbiAgbGV0IGVkZ2VzVG9EcmF3OiBJRWRnZVtdID0gW107XG4gIGxldCBmaXJzdEVkZ2UgPSBnZXRGaXJzdEVkZ2VPZkV2ZW50UGF0aChlZGdlcywgZXZlbnQpO1xuXG4gIGlmIChmaXJzdEVkZ2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGxldCBkb3duc3RyZWFtTmV0d29yazogSUVkZ2VbXSA9IFtmaXJzdEVkZ2VdO1xuICAgIGxldCB1cHN0cmVhbUVkZ2VzID0gZ2V0VXBzdHJlYW1FZGdlcyhmaXJzdEVkZ2UsIGVkZ2VzKTtcbiAgICBpZiAodXBzdHJlYW1FZGdlcyA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgaWYgKHVwc3RyZWFtRWRnZXMubGVuZ3RoICE9PSAwKVxuICAgICAgZmluZFVwc3RyZWFtRWRnZXNUb0RyYXcodXBzdHJlYW1FZGdlcywgZWRnZXNUb0RyYXcsIHBvaW50cywgZWRnZXMpO1xuICAgIGZpbmREb3duc3RyZWFtRWRnZXNUb0RyYXcoZmlyc3RFZGdlLCBlZGdlcywgZG93bnN0cmVhbU5ldHdvcmssIGVkZ2VzVG9EcmF3KTtcbiAgfVxuXG4gIGRyYXdOZXR3b3JrKGVkZ2VzVG9EcmF3LCBwb2ludHMsIGRpc3BhdGNoLCBtYXAsIGV2ZW50LCBsYXllckdyb3VwKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzT2JzZXJ2YXRpb24gPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoKG9icykgPT4gb2JzLnBvaW50X2lkID09PSBwb2ludC5pZCk7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc1dXVFAgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50Jztcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsQ0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFJQSxJQUFBRyxRQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFBeUQsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFB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
|
|
@@ -10,6 +10,9 @@ var _reactRedux = require("react-redux");
|
|
|
10
10
|
var _PointUtils = require("./PointUtils");
|
|
11
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
+
// import useRemoveExistingLayers, {
|
|
14
|
+
// removeFromMap,
|
|
15
|
+
// } from 'src/hooks/useRemoveExistingLayers';
|
|
13
16
|
function mapStateToProps(state) {
|
|
14
17
|
var events_data = state.events_data;
|
|
15
18
|
return {
|
|
@@ -20,15 +23,27 @@ var PointMarker = function PointMarker(props) {
|
|
|
20
23
|
var map = props.map,
|
|
21
24
|
point = props.point,
|
|
22
25
|
rerender = props.rerender,
|
|
23
|
-
layerGroup = props.layerGroup
|
|
24
|
-
|
|
26
|
+
layerGroup = props.layerGroup;
|
|
27
|
+
|
|
28
|
+
// useRemoveExistingLayers(map, point, 'Point');
|
|
29
|
+
// useRemoveExistingLayers(map, point, 'Observation');
|
|
30
|
+
// useRemoveExistingLayers(map, point, 'Sampling');
|
|
31
|
+
// useRemoveExistingLayers(map, point, 'IconNumber');
|
|
32
|
+
|
|
25
33
|
var renderLogic = function renderLogic() {
|
|
26
34
|
var markerLocation = [point['latitude'], point['longitude']];
|
|
27
35
|
if (markerLocation[0] === null) return;
|
|
28
|
-
(0, _PointUtils.createBubblePoint)(markerLocation, point, map, null, layerGroup
|
|
36
|
+
(0, _PointUtils.createBubblePoint)(markerLocation, point, map, null, layerGroup);
|
|
29
37
|
};
|
|
30
38
|
(0, _react.useEffect)(function () {
|
|
31
39
|
renderLogic();
|
|
40
|
+
// return function cleanup() {
|
|
41
|
+
// // UNBIND POPUP
|
|
42
|
+
// removeFromMap(map, point, 'Observation');
|
|
43
|
+
// removeFromMap(map, point, 'Point');
|
|
44
|
+
// removeFromMap(map, point, 'Sampling');
|
|
45
|
+
// removeFromMap(map, point, 'IconNumber');
|
|
46
|
+
// };
|
|
32
47
|
}, [rerender]);
|
|
33
48
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
34
49
|
};
|
|
@@ -40,4 +55,4 @@ var _default = connector( /*#__PURE__*/_react.default.memo(PointMarker, function
|
|
|
40
55
|
return true;
|
|
41
56
|
}));
|
|
42
57
|
exports.default = _default;
|
|
43
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9Qb2ludFV0aWxzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiUG9pbnRNYXJrZXIiLCJwcm9wcyIsIm1hcCIsInBvaW50IiwicmVyZW5kZXIiLCJsYXllckdyb3VwIiwicmVuZGVyTG9naWMiLCJtYXJrZXJMb2NhdGlvbiIsImNyZWF0ZUJ1YmJsZVBvaW50IiwidXNlRWZmZWN0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiUmVhY3QiLCJtZW1vIiwicHJldlByb3BzIiwibmV4dFByb3BzIiwiZm9jdXNlZEV2ZW50IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcyB9IGZyb20gJ3JlYWN0LXJlZHV4Jztcbi8vIGltcG9ydCB1c2VSZW1vdmVFeGlzdGluZ0xheWVycywge1xuLy8gICByZW1vdmVGcm9tTWFwLFxuLy8gfSBmcm9tICdzcmMvaG9va3MvdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IGNyZWF0ZUJ1YmJsZVBvaW50IH0gZnJvbSAnLi9Qb2ludFV0aWxzJztcbmltcG9ydCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZXZlbnRzX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgbWFwOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG4gIHJlcmVuZGVyOiBzdHJpbmc7XG4gIGxheWVyR3JvdXA6IGFueTtcbn07XG5cbmNvbnN0IFBvaW50TWFya2VyOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBtYXAsIHBvaW50LCByZXJlbmRlciwgbGF5ZXJHcm91cCB9ID0gcHJvcHM7XG5cbiAgLy8gdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMobWFwLCBwb2ludCwgJ1BvaW50Jyk7XG4gIC8vIHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzKG1hcCwgcG9pbnQsICdPYnNlcnZhdGlvbicpO1xuICAvLyB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIHBvaW50LCAnU2FtcGxpbmcnKTtcbiAgLy8gdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMobWFwLCBwb2ludCwgJ0ljb25OdW1iZXInKTtcblxuICBjb25zdCByZW5kZXJMb2dpYyA9ICgpID0+IHtcbiAgICBsZXQgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlID0gW3BvaW50WydsYXRpdHVkZSddLCBwb2ludFsnbG9uZ2l0dWRlJ11dO1xuICAgIGlmIChtYXJrZXJMb2NhdGlvblswXSA9PT0gbnVsbCkgcmV0dXJuO1xuICAgIGNyZWF0ZUJ1YmJsZVBvaW50KG1hcmtlckxvY2F0aW9uLCBwb2ludCwgbWFwLCBudWxsLCBsYXllckdyb3VwKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbmRlckxvZ2ljKCk7XG4gICAgLy8gcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgLy8gICAvLyBVTkJJTkQgUE9QVVBcbiAgICAvLyAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ09ic2VydmF0aW9uJyk7XG4gICAgLy8gICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdQb2ludCcpO1xuICAgIC8vICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnU2FtcGxpbmcnKTtcbiAgICAvLyAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ0ljb25OdW1iZXInKTtcbiAgICAvLyB9O1xuICB9LCBbcmVyZW5kZXJdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoXG4gIFJlYWN0Lm1lbW8oUG9pbnRNYXJrZXIsIChwcmV2UHJvcHMsIG5leHRQcm9wcykgPT4ge1xuICAgIGlmIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgIT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSksXG4pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FB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
|
|
@@ -6,12 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.PointMarkers = void 0;
|
|
9
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
11
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
10
|
var _PointMarker = _interopRequireDefault(require("./PointMarker"));
|
|
13
11
|
var _PointUtils = require("./PointUtils");
|
|
14
|
-
var _reactRedux = require("react-redux");
|
|
15
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
14
|
var PointMarkers = function PointMarkers(props) {
|
|
@@ -44,59 +41,6 @@ var PointMarkers = function PointMarkers(props) {
|
|
|
44
41
|
return filterStatement(point);
|
|
45
42
|
});
|
|
46
43
|
};
|
|
47
|
-
var eventsData = (0, _reactRedux.useSelector)(function (state) {
|
|
48
|
-
return state.events_data;
|
|
49
|
-
});
|
|
50
|
-
var userInfo = (0, _reactRedux.useSelector)(function (state) {
|
|
51
|
-
return state.permissions.user_info;
|
|
52
|
-
});
|
|
53
|
-
var _useState = (0, _react.useState)([]),
|
|
54
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
55
|
-
layersToRemove = _useState2[0],
|
|
56
|
-
setLayersToRemove = _useState2[1];
|
|
57
|
-
var removeEventPointsFromCluster = function removeEventPointsFromCluster(uniqeIds, localLayersToRemove) {
|
|
58
|
-
factoriesGroup.refreshClusters();
|
|
59
|
-
uniqeIds.forEach(function (id) {
|
|
60
|
-
for (var property in map._layers) {
|
|
61
|
-
if (map._layers[property].kando_object === 'Point' && map._layers[property].kando_object_id === id) {
|
|
62
|
-
localLayersToRemove.push(map._layers[property]);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
setLayersToRemove(localLayersToRemove);
|
|
67
|
-
factoriesGroup.removeLayers(localLayersToRemove);
|
|
68
|
-
};
|
|
69
|
-
var addEventPointsToCluster = function addEventPointsToCluster() {
|
|
70
|
-
var layersToDraw = [];
|
|
71
|
-
var layersIds = layersToRemove.map(function (layer) {
|
|
72
|
-
return layer.kando_object_id;
|
|
73
|
-
});
|
|
74
|
-
var uniqeIds = (0, _toConsumableArray2.default)(new Set(layersIds));
|
|
75
|
-
uniqeIds.forEach(function (id) {
|
|
76
|
-
layersToDraw.push(layersToRemove.find(function (layer) {
|
|
77
|
-
return layer.kando_object_id === id;
|
|
78
|
-
}));
|
|
79
|
-
});
|
|
80
|
-
layersToDraw.forEach(function (layer) {
|
|
81
|
-
var point = points.find(function (point) {
|
|
82
|
-
return point.id === layer.kando_object_id;
|
|
83
|
-
});
|
|
84
|
-
point && (0, _PointUtils.bindPopupToMarker)(point, layer, userInfo.flow_rate_unit);
|
|
85
|
-
});
|
|
86
|
-
factoriesGroup.addLayers(layersToDraw);
|
|
87
|
-
};
|
|
88
|
-
var makeSureThereAreNoDuplicates = function makeSureThereAreNoDuplicates() {
|
|
89
|
-
var localLayersToRemove = [];
|
|
90
|
-
if (eventsData.focusedEvent) {
|
|
91
|
-
var obsIds = eventsData.focusedEvent.observations.map(function (obs) {
|
|
92
|
-
return obs.point_id;
|
|
93
|
-
});
|
|
94
|
-
var uniqeIds = (0, _toConsumableArray2.default)(new Set(obsIds));
|
|
95
|
-
removeEventPointsFromCluster(uniqeIds, localLayersToRemove);
|
|
96
|
-
} else {
|
|
97
|
-
addEventPointsToCluster();
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
44
|
(0, _react.useEffect)(function () {
|
|
101
45
|
if (map) {
|
|
102
46
|
if (forEventsView) {
|
|
@@ -136,19 +80,15 @@ var PointMarkers = function PointMarkers(props) {
|
|
|
136
80
|
}
|
|
137
81
|
}
|
|
138
82
|
}, [rerender]);
|
|
139
|
-
(0, _react.useEffect)(function () {
|
|
140
|
-
makeSureThereAreNoDuplicates();
|
|
141
|
-
}, [eventsData.focusedEvent, eventsData.isFetching, rerender]);
|
|
142
83
|
return /*#__PURE__*/_react.default.createElement("div", null, !map.hasLayer(factoriesGroup) && !map.hasLayer(wwtpsGroup) && !map.hasLayer(collectorsGroup) && points.length !== 0 && filteredPoints().map(function (point) {
|
|
143
84
|
return point.latitude && point.longitude && /*#__PURE__*/_react.default.createElement(_PointMarker.default, {
|
|
144
85
|
map: map,
|
|
145
86
|
point: point,
|
|
146
87
|
key: point.id,
|
|
147
88
|
rerender: rerender,
|
|
148
|
-
layerGroup: point.group.type === 'Groups::Factory' ? factoriesGroup : point.group.type === 'Groups::WastewaterTreatmentPlant' ? wwtpsGroup : collectorsGroup
|
|
149
|
-
flowRateUnit: userInfo.flow_rate_unit
|
|
89
|
+
layerGroup: point.group.type === 'Groups::Factory' ? factoriesGroup : point.group.type === 'Groups::WastewaterTreatmentPlant' ? wwtpsGroup : collectorsGroup
|
|
150
90
|
});
|
|
151
91
|
}));
|
|
152
92
|
};
|
|
153
93
|
exports.PointMarkers = PointMarkers;
|
|
154
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRNYXJrZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BvaW50VXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiUG9pbnRNYXJrZXJzIiwicHJvcHMiLCJwb2ludHMiLCJtYXAiLCJmYWN0b3JpZXNHcm91cCIsInd3dHBzR3JvdXAiLCJjb2xsZWN0b3JzR3JvdXAiLCJyZXJlbmRlciIsIl9wcm9wcyRmb3JFdmVudHNWaWV3IiwiZm9yRXZlbnRzVmlldyIsImlzUG9pbnRCZWxvbmdUb0dyb3VwVHlwZXMiLCJwb2ludCIsImdyb3VwIiwidHlwZSIsImhhc19kZXZpY2UiLCJmaWx0ZXJTdGF0ZW1lbnQiLCJmaWx0ZXJlZFBvaW50cyIsImZpbHRlciIsImV2ZW50c0RhdGEiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJ1c2VySW5mbyIsInBlcm1pc3Npb25zIiwidXNlcl9pbmZvIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibGF5ZXJzVG9SZW1vdmUiLCJzZXRMYXllcnNUb1JlbW92ZSIsInJlbW92ZUV2ZW50UG9pbnRzRnJvbUNsdXN0ZXIiLCJ1bmlxZUlkcyIsImxvY2FsTGF5ZXJzVG9SZW1vdmUiLCJyZWZyZXNoQ2x1c3RlcnMiLCJmb3JFYWNoIiwiaWQiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJrYW5kb19vYmplY3RfaWQiLCJwdXNoIiwicmVtb3ZlTGF5ZXJzIiwiYWRkRXZlbnRQb2ludHNUb0NsdXN0ZXIiLCJsYXllcnNUb0RyYXciLCJsYXllcnNJZHMiLCJsYXllciIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJTZXQiLCJmaW5kIiwiYmluZFBvcHVwVG9NYXJrZXIiLCJmbG93X3JhdGVfdW5pdCIsImFkZExheWVycyIsIm1ha2VTdXJlVGhlcmVBcmVOb0R1cGxpY2F0ZXMiLCJmb2N1c2VkRXZlbnQiLCJvYnNJZHMiLCJvYnNlcnZhdGlvbnMiLCJvYnMiLCJwb2ludF9pZCIsInVzZUVmZmVjdCIsImFkZExheWVyR3JvdXAiLCJyZW1vdmVMYXllckdyb3VwIiwiaXNGZXRjaGluZyIsImNyZWF0ZUVsZW1lbnQiLCJoYXNMYXllciIsImxlbmd0aCIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwibGF5ZXJHcm91cCIsImZsb3dSYXRlVW5pdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50TWFya2Vycy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IFBvaW50TWFya2VyIGZyb20gJy4vUG9pbnRNYXJrZXInO1xuaW1wb3J0IHtcbiAgYWRkTGF5ZXJHcm91cCxcbiAgYmluZFBvcHVwVG9NYXJrZXIsXG4gIHJlbW92ZUxheWVyR3JvdXAsXG59IGZyb20gJy4vUG9pbnRVdGlscyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBwb2ludHM6IGFueTtcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzOiBib29sZWFuO1xuICByZXJlbmRlcjogc3RyaW5nO1xuICBmYWN0b3JpZXNHcm91cDogYW55O1xuICB3d3Rwc0dyb3VwOiBhbnk7XG4gIGNvbGxlY3RvcnNHcm91cDogYW55O1xuICBmb3JFdmVudHNWaWV3OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IFBvaW50TWFya2VyczogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBwb2ludHMsXG4gICAgbWFwLFxuICAgIGZhY3Rvcmllc0dyb3VwLFxuICAgIHd3dHBzR3JvdXAsXG4gICAgY29sbGVjdG9yc0dyb3VwLFxuICAgIHJlcmVuZGVyLFxuICAgIGZvckV2ZW50c1ZpZXcgPSBmYWxzZSxcbiAgfSA9IHByb3BzO1xuXG4gIC8vSGFuZGxlIHRoZSBtb3VzZSBjbGljayBoZXJlIG9uZSBmb3IgYWxsIGluc3RlYWQgb25lIGJ5IG9uZVxuICAvLyBmYWN0b3JpZXNDbHVzdGVyR3JvdXAub24oJ2NsaWNrJywgZnVuY3Rpb24gKGEpIHtcbiAgLy8gICBjb25zb2xlLmxvZygnY3VycmVudFNyYycsIGEub3JpZ2luYWxFdmVudC50YXJnZXQuY3VycmVudFNyYyk7XG4gIC8vICAgY29uc29sZS5sb2coJ3NyYycsIGEub3JpZ2luYWxFdmVudC50YXJnZXQuc3JjKTtcbiAgLy8gICAvL2Eub3JpZ2luYWxFdmVudC50YXJnZXQuc3JjID0gJyc7XG4gIC8vICAgLy9DaGFuZ2UgaWNvbiBoZXJlXG4gIC8vIH0pO1xuICAvLyBjb25zb2xlLmxvZygnTGF5ZXJHcm91cHMnLCBmYWN0b3JpZXNDbHVzdGVyR3JvdXApO1xuXG4gIGNvbnN0IGlzUG9pbnRCZWxvbmdUb0dyb3VwVHlwZXMgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnIHx8XG4gICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5JyB8fFxuICAgICAgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkNvbGxlY3RvcnMnICYmIHBvaW50Lmhhc19kZXZpY2UpIHx8XG4gICAgICAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6UHVtcFN0YXRpb24nICYmIHBvaW50Lmhhc19kZXZpY2UpXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBmaWx0ZXJTdGF0ZW1lbnQgPSAocG9pbnQpID0+IHtcbiAgICByZXR1cm4gaXNQb2ludEJlbG9uZ1RvR3JvdXBUeXBlcyhwb2ludCk7XG4gIH07XG5cbiAgY29uc3QgZmlsdGVyZWRQb2ludHMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHBvaW50cy5maWx0ZXIoKHBvaW50OiBJUG9pbnQpID0+IGZpbHRlclN0YXRlbWVudChwb2ludCkpO1xuICB9O1xuXG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcblxuICBjb25zdCB1c2VySW5mbyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvKTtcblxuICBjb25zdCBbbGF5ZXJzVG9SZW1vdmUsIHNldExheWVyc1RvUmVtb3ZlXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG5cbiAgY29uc3QgcmVtb3ZlRXZlbnRQb2ludHNGcm9tQ2x1c3RlciA9ICh1bmlxZUlkcywgbG9jYWxMYXllcnNUb1JlbW92ZSkgPT4ge1xuICAgIGZhY3Rvcmllc0dyb3VwLnJlZnJlc2hDbHVzdGVycygpO1xuXG4gICAgdW5pcWVJZHMuZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwLl9sYXllcnMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdQb2ludCcgJiZcbiAgICAgICAgICBtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0X2lkID09PSBpZFxuICAgICAgICApIHtcbiAgICAgICAgICBsb2NhbExheWVyc1RvUmVtb3ZlLnB1c2gobWFwLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc2V0TGF5ZXJzVG9SZW1vdmUobG9jYWxMYXllcnNUb1JlbW92ZSk7XG4gICAgZmFjdG9yaWVzR3JvdXAucmVtb3ZlTGF5ZXJzKGxvY2FsTGF5ZXJzVG9SZW1vdmUpO1xuICB9O1xuXG4gIGNvbnN0IGFkZEV2ZW50UG9pbnRzVG9DbHVzdGVyID0gKCkgPT4ge1xuICAgIGxldCBsYXllcnNUb0RyYXcgPSBbXTtcbiAgICBsZXQgbGF5ZXJzSWRzID0gbGF5ZXJzVG9SZW1vdmUubWFwKChsYXllcikgPT4gbGF5ZXIua2FuZG9fb2JqZWN0X2lkKTtcbiAgICBsZXQgdW5pcWVJZHMgPSBbLi4ubmV3IFNldChsYXllcnNJZHMpXTtcbiAgICB1bmlxZUlkcy5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgbGF5ZXJzVG9EcmF3LnB1c2goXG4gICAgICAgIGxheWVyc1RvUmVtb3ZlLmZpbmQoKGxheWVyKSA9PiBsYXllci5rYW5kb19vYmplY3RfaWQgPT09IGlkKSxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBsYXllcnNUb0RyYXcuZm9yRWFjaCgobGF5ZXIpID0+IHtcbiAgICAgIGxldCBwb2ludCA9IHBvaW50cy5maW5kKChwb2ludCkgPT4gcG9pbnQuaWQgPT09IGxheWVyLmthbmRvX29iamVjdF9pZCk7XG4gICAgICBwb2ludCAmJiBiaW5kUG9wdXBUb01hcmtlcihwb2ludCwgbGF5ZXIsIHVzZXJJbmZvLmZsb3dfcmF0ZV91bml0KTtcbiAgICB9KTtcblxuICAgIGZhY3Rvcmllc0dyb3VwLmFkZExheWVycyhsYXllcnNUb0RyYXcpO1xuICB9O1xuXG4gIGNvbnN0IG1ha2VTdXJlVGhlcmVBcmVOb0R1cGxpY2F0ZXMgPSAoKSA9PiB7XG4gICAgbGV0IGxvY2FsTGF5ZXJzVG9SZW1vdmUgPSBbXTtcblxuICAgIGlmIChldmVudHNEYXRhLmZvY3VzZWRFdmVudCkge1xuICAgICAgbGV0IG9ic0lkcyA9IGV2ZW50c0RhdGEuZm9jdXNlZEV2ZW50Lm9ic2VydmF0aW9ucy5tYXAoXG4gICAgICAgIChvYnMpID0+IG9icy5wb2ludF9pZCxcbiAgICAgICk7XG4gICAgICBsZXQgdW5pcWVJZHMgPSBbLi4ubmV3IFNldChvYnNJZHMpXTtcbiAgICAgIHJlbW92ZUV2ZW50UG9pbnRzRnJvbUNsdXN0ZXIodW5pcWVJZHMsIGxvY2FsTGF5ZXJzVG9SZW1vdmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhZGRFdmVudFBvaW50c1RvQ2x1c3RlcigpO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChtYXApIHtcbiAgICAgIGlmIChmb3JFdmVudHNWaWV3KSB7XG4gICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBmYWN0b3JpZXNHcm91cCk7XG4gICAgICAgIGFkZExheWVyR3JvdXAobWFwLCB3d3Rwc0dyb3VwKTtcbiAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIGNvbGxlY3RvcnNHcm91cCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKHJlcmVuZGVyKSB7XG4gICAgICAgICAgY2FzZSAnWExhcmdlJzpcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBmYWN0b3JpZXNHcm91cCk7XG4gICAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgd3d0cHNHcm91cCk7XG4gICAgICAgICAgICByZW1vdmVMYXllckdyb3VwKG1hcCwgY29sbGVjdG9yc0dyb3VwKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0xhcmdlJzpcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBmYWN0b3JpZXNHcm91cCk7XG4gICAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgd3d0cHNHcm91cCk7XG4gICAgICAgICAgICByZW1vdmVMYXllckdyb3VwKG1hcCwgY29sbGVjdG9yc0dyb3VwKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ01MYXJnZSc6XG4gICAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIHd3dHBzR3JvdXApO1xuICAgICAgICAgICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGNvbGxlY3RvcnNHcm91cCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdNZWRpdW0nOlxuICAgICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCB3d3Rwc0dyb3VwKTtcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBjb2xsZWN0b3JzR3JvdXApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCB3d3Rwc0dyb3VwKTtcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBjb2xsZWN0b3JzR3JvdXApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LCBbcmVyZW5kZXJdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG1ha2VTdXJlVGhlcmVBcmVOb0R1cGxpY2F0ZXMoKTtcbiAgfSwgW2V2ZW50c0RhdGEuZm9jdXNlZEV2ZW50LCBldmVudHNEYXRhLmlzRmV0Y2hpbmcsIHJlcmVuZGVyXSk7XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIHshbWFwLmhhc0xheWVyKGZhY3Rvcmllc0dyb3VwKSAmJlxuICAgICAgICAhbWFwLmhhc0xheWVyKHd3dHBzR3JvdXApICYmXG4gICAgICAgICFtYXAuaGFzTGF5ZXIoY29sbGVjdG9yc0dyb3VwKSAmJlxuICAgICAgICBwb2ludHMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgIGZpbHRlcmVkUG9pbnRzKCkubWFwKFxuICAgICAgICAgIChwb2ludDogSVBvaW50KSA9PlxuICAgICAgICAgICAgcG9pbnQubGF0aXR1ZGUgJiZcbiAgICAgICAgICAgIHBvaW50LmxvbmdpdHVkZSAmJiAoXG4gICAgICAgICAgICAgIDxQb2ludE1hcmtlclxuICAgICAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgICAgIHBvaW50PXtwb2ludH1cbiAgICAgICAgICAgICAgICBrZXk9e3BvaW50LmlkfVxuICAgICAgICAgICAgICAgIHJlcmVuZGVyPXtyZXJlbmRlcn1cbiAgICAgICAgICAgICAgICBsYXllckdyb3VwPXtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknXG4gICAgICAgICAgICAgICAgICAgID8gZmFjdG9yaWVzR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgOiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnXG4gICAgICAgICAgICAgICAgICAgID8gd3d0cHNHcm91cFxuICAgICAgICAgICAgICAgICAgICA6IGNvbGxlY3RvcnNHcm91cFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmbG93UmF0ZVVuaXQ9e3VzZXJJbmZvLmZsb3dfcmF0ZV91bml0fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFLQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFBMEMsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFQLHdCQUFBVyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FB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
|
|
94
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9pbnRNYXJrZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1BvaW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlBvaW50TWFya2VycyIsInByb3BzIiwicG9pbnRzIiwibWFwIiwiZmFjdG9yaWVzR3JvdXAiLCJ3d3Rwc0dyb3VwIiwiY29sbGVjdG9yc0dyb3VwIiwicmVyZW5kZXIiLCJfcHJvcHMkZm9yRXZlbnRzVmlldyIsImZvckV2ZW50c1ZpZXciLCJpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzIiwicG9pbnQiLCJncm91cCIsInR5cGUiLCJoYXNfZGV2aWNlIiwiZmlsdGVyU3RhdGVtZW50IiwiZmlsdGVyZWRQb2ludHMiLCJmaWx0ZXIiLCJ1c2VFZmZlY3QiLCJhZGRMYXllckdyb3VwIiwicmVtb3ZlTGF5ZXJHcm91cCIsImNyZWF0ZUVsZW1lbnQiLCJoYXNMYXllciIsImxlbmd0aCIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiaWQiLCJsYXllckdyb3VwIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXJzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBQb2ludE1hcmtlciBmcm9tICcuL1BvaW50TWFya2VyJztcbmltcG9ydCB7IGFkZExheWVyR3JvdXAsIHJlbW92ZUxheWVyR3JvdXAgfSBmcm9tICcuL1BvaW50VXRpbHMnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgcG9pbnRzOiBhbnk7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50czogYm9vbGVhbjtcbiAgcmVyZW5kZXI6IHN0cmluZztcbiAgZmFjdG9yaWVzR3JvdXA6IGFueTtcbiAgd3d0cHNHcm91cDogYW55O1xuICBjb2xsZWN0b3JzR3JvdXA6IGFueTtcbiAgZm9yRXZlbnRzVmlldzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjb25zdCBQb2ludE1hcmtlcnM6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgcG9pbnRzLFxuICAgIG1hcCxcbiAgICBmYWN0b3JpZXNHcm91cCxcbiAgICB3d3Rwc0dyb3VwLFxuICAgIGNvbGxlY3RvcnNHcm91cCxcbiAgICByZXJlbmRlcixcbiAgICBmb3JFdmVudHNWaWV3ID0gZmFsc2UsXG4gIH0gPSBwcm9wcztcblxuICAvL0hhbmRsZSB0aGUgbW91c2UgY2xpY2sgaGVyZSBvbmUgZm9yIGFsbCBpbnN0ZWFkIG9uZSBieSBvbmVcbiAgLy8gZmFjdG9yaWVzQ2x1c3Rlckdyb3VwLm9uKCdjbGljaycsIGZ1bmN0aW9uIChhKSB7XG4gIC8vICAgY29uc29sZS5sb2coJ2N1cnJlbnRTcmMnLCBhLm9yaWdpbmFsRXZlbnQudGFyZ2V0LmN1cnJlbnRTcmMpO1xuICAvLyAgIGNvbnNvbGUubG9nKCdzcmMnLCBhLm9yaWdpbmFsRXZlbnQudGFyZ2V0LnNyYyk7XG4gIC8vICAgLy9hLm9yaWdpbmFsRXZlbnQudGFyZ2V0LnNyYyA9ICcnO1xuICAvLyAgIC8vQ2hhbmdlIGljb24gaGVyZVxuICAvLyB9KTtcbiAgLy8gY29uc29sZS5sb2coJ0xheWVyR3JvdXBzJywgZmFjdG9yaWVzQ2x1c3Rlckdyb3VwKTtcblxuICBjb25zdCBpc1BvaW50QmVsb25nVG9Hcm91cFR5cGVzID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JyB8fFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScgfHxcbiAgICAgIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpDb2xsZWN0b3JzJyAmJiBwb2ludC5oYXNfZGV2aWNlKSB8fFxuICAgICAgKHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OlB1bXBTdGF0aW9uJyAmJiBwb2ludC5oYXNfZGV2aWNlKVxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZmlsdGVyU3RhdGVtZW50ID0gKHBvaW50KSA9PiB7XG4gICAgcmV0dXJuIGlzUG9pbnRCZWxvbmdUb0dyb3VwVHlwZXMocG9pbnQpO1xuICB9O1xuXG4gIGNvbnN0IGZpbHRlcmVkUG9pbnRzID0gKCkgPT4ge1xuICAgIHJldHVybiBwb2ludHMuZmlsdGVyKChwb2ludDogSVBvaW50KSA9PiBmaWx0ZXJTdGF0ZW1lbnQocG9pbnQpKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChtYXApIHtcbiAgICAgIGlmIChmb3JFdmVudHNWaWV3KSB7XG4gICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBmYWN0b3JpZXNHcm91cCk7XG4gICAgICAgIGFkZExheWVyR3JvdXAobWFwLCB3d3Rwc0dyb3VwKTtcbiAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIGNvbGxlY3RvcnNHcm91cCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKHJlcmVuZGVyKSB7XG4gICAgICAgICAgY2FzZSAnWExhcmdlJzpcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBmYWN0b3JpZXNHcm91cCk7XG4gICAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgd3d0cHNHcm91cCk7XG4gICAgICAgICAgICByZW1vdmVMYXllckdyb3VwKG1hcCwgY29sbGVjdG9yc0dyb3VwKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ0xhcmdlJzpcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBmYWN0b3JpZXNHcm91cCk7XG4gICAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgd3d0cHNHcm91cCk7XG4gICAgICAgICAgICByZW1vdmVMYXllckdyb3VwKG1hcCwgY29sbGVjdG9yc0dyb3VwKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ01MYXJnZSc6XG4gICAgICAgICAgICBhZGRMYXllckdyb3VwKG1hcCwgZmFjdG9yaWVzR3JvdXApO1xuICAgICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIHd3dHBzR3JvdXApO1xuICAgICAgICAgICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGNvbGxlY3RvcnNHcm91cCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdNZWRpdW0nOlxuICAgICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCB3d3Rwc0dyb3VwKTtcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBjb2xsZWN0b3JzR3JvdXApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgICAgICAgYWRkTGF5ZXJHcm91cChtYXAsIGZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCB3d3Rwc0dyb3VwKTtcbiAgICAgICAgICAgIGFkZExheWVyR3JvdXAobWFwLCBjb2xsZWN0b3JzR3JvdXApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LCBbcmVyZW5kZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICB7IW1hcC5oYXNMYXllcihmYWN0b3JpZXNHcm91cCkgJiZcbiAgICAgICAgIW1hcC5oYXNMYXllcih3d3Rwc0dyb3VwKSAmJlxuICAgICAgICAhbWFwLmhhc0xheWVyKGNvbGxlY3RvcnNHcm91cCkgJiZcbiAgICAgICAgcG9pbnRzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBmaWx0ZXJlZFBvaW50cygpLm1hcChcbiAgICAgICAgICAocG9pbnQ6IElQb2ludCkgPT5cbiAgICAgICAgICAgIHBvaW50LmxhdGl0dWRlICYmXG4gICAgICAgICAgICBwb2ludC5sb25naXR1ZGUgJiYgKFxuICAgICAgICAgICAgICA8UG9pbnRNYXJrZXJcbiAgICAgICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgICAgICBwb2ludD17cG9pbnR9XG4gICAgICAgICAgICAgICAga2V5PXtwb2ludC5pZH1cbiAgICAgICAgICAgICAgICByZXJlbmRlcj17cmVyZW5kZXJ9XG4gICAgICAgICAgICAgICAgbGF5ZXJHcm91cD17XG4gICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5J1xuICAgICAgICAgICAgICAgICAgICA/IGZhY3Rvcmllc0dyb3VwXG4gICAgICAgICAgICAgICAgICAgIDogcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50J1xuICAgICAgICAgICAgICAgICAgICA/IHd3dHBzR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgOiBjb2xsZWN0b3JzR3JvdXBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+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
|