@kando-env/kando-ui 1.2.75-alpha.49 → 1.2.75-alpha.5
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/EventsCarousel/EventsCarousel.js +3 -3
- package/lib/Widgets/EventsRow/EventsRow.js +3 -3
- package/lib/Widgets/Map/Map.js +5 -19
- package/lib/Widgets/Map/areas/AreaPolygons.js +6 -1
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +5 -2
- package/lib/Widgets/Map/points/PointMarker.js +6 -21
- package/lib/Widgets/Map/points/PointMarkers.js +2 -2
- package/lib/assets/icons/index.js +0 -8
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +2 -2
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +1 -3
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +1 -3
- package/lib/components/Sector/Sector.test.js +11 -4
- package/lib/components/SevereEvent/SevereEvent.js +7 -5
- package/lib/hooks/useApiWithDashboardQuery.js +4 -2
- package/lib/hooks/useUserTimeZone.js +2 -2
- package/lib/i18n/en.json +26 -43
- package/lib/i18n/fr.json +2 -4
- package/lib/i18n/he.json +6 -23
- package/lib/i18n/it.json +2 -4
- package/lib/index.js +1 -8
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +3 -3
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +3 -3
- package/lib/pages/EventsPage/events/EventsStyle.scss +0 -5
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +19 -9
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +2 -2
- package/lib/pages/EventsPage/events/events_list/EventItem.js +19 -9
- package/lib/pages/EventsPage/events/events_list/EventsList.js +11 -22
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +1 -4
- package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +1 -1
- package/lib/pages/ImportFileWizard/ValidationForm.js +12 -7
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +1 -5
- package/lib/pages/SamplingsPage/NewSamplingAction.js +3 -4
- package/lib/pages/SamplingsPage/SamplingActionDropdown.js +189 -0
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +17 -1
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +3 -10
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +12 -9
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +19 -26
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +10 -15
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +4 -14
- package/lib/pages/SamplingsPage/SamplingProperties/style.module.scss +1 -2
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +2 -4
- package/lib/pages/SamplingsPage/SamplingsPage.js +2 -4
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +5 -2
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +34 -77
- package/lib/pages/SamplingsPage/style.module.scss +1 -1
- package/lib/pages/SamplingsPage/table.styles.scss +6 -8
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +4 -5
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +3 -5
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +5 -21
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +5 -16
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +3 -3
- package/lib/pages/WbeDashboard/SummaryGraph.js +6 -15
- package/lib/store/areas/actions.js +2 -19
- package/lib/store/events/reducer.js +2 -4
- package/lib/store/permissions/permissionsSlice.js +1 -5
- package/lib/styles.scss +0 -7
- package/lib/ui-kit/Button/Button.test.js +11 -26
- package/lib/ui-kit/DropDown/DropDown.js +6 -12
- package/lib/ui-kit/DropDown/DropDown.test.js +41 -50
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +2 -9
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +3 -4
- package/lib/ui-kit/KandoTable/KandoTable.test.js +43 -46
- package/lib/utilities/i18n.js +1 -6
- package/lib/utilities/urls.js +5 -8
- package/package.json +2 -5
- package/lib/assets/icons/close-modal.svg +0 -8
- package/lib/components/DischargeHeatmap/mocks/handlers.js +0 -19
- package/lib/hooks/useUserTimeZone.test.js +0 -45
- package/lib/i18n/en_uk.json +0 -3760
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +0 -23
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +0 -43
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +0 -39
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +0 -172
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +0 -74
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +0 -48
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +0 -114
- package/lib/test/mocks/browser.js +0 -23
- package/lib/test/test-utils.js +0 -61
|
@@ -461,25 +461,12 @@ var PointMarker = function PointMarker(props) {
|
|
|
461
461
|
}
|
|
462
462
|
};
|
|
463
463
|
|
|
464
|
-
|
|
465
|
-
if (focusedEvent !== null) {
|
|
466
|
-
var sampledPointIds = focusedEvent.samplings.map(function (s) {
|
|
467
|
-
return s.point_id;
|
|
468
|
-
});
|
|
469
|
-
|
|
470
|
-
if (focusedEvent !== null && focusedEvent.samplings.length !== 0 && sampledPointIds.includes(point.id)) {
|
|
471
|
-
createSamplingIconPoint(markerLocation, matchIconToPoint(point) !== null);
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
};
|
|
475
|
-
|
|
476
|
-
var renderLogic = function renderLogic() {
|
|
464
|
+
(0, _react.useEffect)(function () {
|
|
477
465
|
var markerLocation = [point['latitude'], point['longitude']];
|
|
478
466
|
customIconForPointsIfPartOfPathAndMonitored(markerLocation);
|
|
479
467
|
if (!point.eventsViewHovered) createManholePoint(markerLocation);
|
|
480
468
|
|
|
481
469
|
if (markerLocation[0] !== null) {
|
|
482
|
-
createSamplingIcons(markerLocation);
|
|
483
470
|
if (point.part_of_monitored_path && !point.has_device) return;
|
|
484
471
|
|
|
485
472
|
if (matchIconToPoint(point) !== null && (centeredEvent === null || centeredEvent !== null && pointIsObservation() || point.group.type === 'Groups::WastewaterTreatmentPlant')) {
|
|
@@ -487,11 +474,12 @@ var PointMarker = function PointMarker(props) {
|
|
|
487
474
|
createCustomIconPoint(markerLocation);
|
|
488
475
|
}
|
|
489
476
|
|
|
490
|
-
if (focusedEvent !== null) {
|
|
477
|
+
if (focusedEvent !== null && pointIsObservation()) {
|
|
491
478
|
var hasPrimaryIcon = matchIconToPoint(point) !== null;
|
|
479
|
+
createObservationIconPoint(markerLocation, hasPrimaryIcon); // @ts-ignore
|
|
492
480
|
|
|
493
|
-
if (
|
|
494
|
-
|
|
481
|
+
if (focusedEvent !== null && focusedEvent.samplings.length !== 0 && focusedEvent.samplings[0].point_id === point.id) {
|
|
482
|
+
createSamplingIconPoint(markerLocation, hasPrimaryIcon);
|
|
495
483
|
}
|
|
496
484
|
}
|
|
497
485
|
|
|
@@ -502,10 +490,7 @@ var PointMarker = function PointMarker(props) {
|
|
|
502
490
|
bindPopupToPoint(obs);
|
|
503
491
|
}
|
|
504
492
|
}
|
|
505
|
-
};
|
|
506
493
|
|
|
507
|
-
(0, _react.useEffect)(function () {
|
|
508
|
-
renderLogic();
|
|
509
494
|
return function cleanup() {
|
|
510
495
|
// UNBIND POPUP
|
|
511
496
|
(0, _useRemoveExistingLayers.removeFromMap)(map, point, 'Observation');
|
|
@@ -528,4 +513,4 @@ var _default = connector( /*#__PURE__*/_react.default.memo(PointMarker, function
|
|
|
528
513
|
}));
|
|
529
514
|
|
|
530
515
|
exports.default = _default;
|
|
531
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXIudHN4Il0sIm5hbWVzIjpbIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiUG9pbnRNYXJrZXIiLCJwcm9wcyIsIkwiLCJtYXAiLCJwb2ludCIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImRpc3BhdGNoIiwiY2VudGVyZWRFdmVudCIsInNlbGVjdGVkQmFja2dyb3VuZCIsImljb24iLCJpY29uVXJsIiwicmVkUGluUmVkU2hhZG93IiwiaWNvblNpemUiLCJpY29uQW5jaG9yIiwicG9wdXBBbmNob3IiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzdGFuZGFyZEJhY2tncm91bmQiLCJzZWNvbmRhcnkiLCJ0aGlyZCIsIndoaXRlUGluQmxhY2tTaGFkb3ciLCJjb21iaW5lZEZhY3RvcnlJY29uIiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJncmVlbkNpcmNsZVVSTCIsInB1bXBTdGF0aW9uSWNvblVSTCIsImNvbWJpbmVkQ29sbGVjdG9yc0ljb24iLCJjb2xsZWN0b3JJY29uIiwiY29tYmluZWRXV1RQSWNvbiIsImJyaWdodEJsdWVDaXJjbGVVUkwiLCJXV1RQSWNvblVSTCIsIm1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlIiwic291cmNlIiwic291cmNlcyIsImZpbHRlciIsInBvaW50X2lkIiwiaWQiLCJzZWxlY3RlZF9zb3VyY2UiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJpc0NvbGxlY3RvckZvY3VzZWQiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJtYXRjaEljb25Ub1BvaW50IiwiZ3JvdXAiLCJ0eXBlIiwidW5zaGlmdCIsIndhdGVySWNvbk5vQmFja2dyb3VuZCIsImNyZWF0ZU1hbmhvbGVQb2ludCIsIm1hcmtlckxvY2F0aW9uIiwicG9pbnRJY29uIiwid2hpdGVQb2ludCIsIm1hbmhvbGVJY29uIiwibWFya2VyIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwibmFtZSIsImNyZWF0ZUN1c3RvbUljb25Qb2ludCIsImZvckVhY2giLCJwb2ludEN1c3RvbUljb24iLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCIsInNlY29uZGFyeUljb24iLCJzYW1wbGluZ0ljb24iLCJibHVlQ2lyY2xlVVJMIiwic2FtcGxpbmdJY29uVVJMIiwiY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQiLCJvYnNlcnZhdGlvbkljb24iLCJwaW5rQ2lyY2xlVVJMIiwib2JzZXJ2YXRpb25JY29uVVJMIiwicG9wdXBDb250ZW50Iiwib2JzIiwiR3JhcGhJY29uIiwiaTE4biIsInQiLCJzZXZlcml0eSIsInBvaW50SXNPYnNlcnZhdGlvbiIsInBvaW50QmVsb25nc1RvRXZlbnQiLCJiaW5kUG9wdXBUb1BvaW50IiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5IiwiaW5jbHVkZXMiLCJrYW5kb19vYmplY3QiLCJrYW5kb19vYmplY3RfaWQiLCJiaW5kUG9wdXAiLCJtaW5XaWR0aCIsIm9uIiwiZSIsImZpcnN0U2VlbiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImxhc3RTZWVuIiwic2VjdG9yIiwiUmVhY3RET00iLCJyZW5kZXIiLCJzdGFydF90aW1lIiwidGltZV96b25lIiwibGFzdF9zZWVuX3RpbWUiLCJzZWN0b3JfbmFtZSIsInNlY3Rvcl9pY29uX25hbWUiLCJzZXRUaW1lb3V0IiwiYXBwZW5kIiwiYXR0YWNoQ2xpY2tFdmVudCIsInNlbGVjdG9yIiwib2JzZXJ2YXRpb24iLCJib2R5Iiwib3BlblBvcHVwIiwiY3VzdG9tSWNvbkZvclBvaW50c0lmUGFydE9mUGF0aEFuZE1vbml0b3JlZCIsImVkZ2VzSWRzIiwicGF0aCIsInBhcnQiLCJwdXNoIiwiZWRnZV9pZCIsInJlbGV2YW50RWRnZXMiLCJpdGVtcyIsImVkZ2UiLCJyZWxldmFudFBvaW50cyIsInNvdXJjZV9wb2ludF9pZCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwicmVuZGVyTG9naWMiLCJldmVudHNWaWV3SG92ZXJlZCIsInBhcnRfb2ZfbW9uaXRvcmVkX3BhdGgiLCJoYXNfZGV2aWNlIiwiaGFzUHJpbWFyeUljb24iLCJjbGVhbnVwIiwiY29ubmVjdG9yIiwiUmVhY3QiLCJtZW1vIiwicHJldlByb3BzIiwibmV4dFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV0E7Ozs7QUFFQTs7QUFDQTs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBS0E7O0FBQ0E7Ozs7OztBQUVBLFNBQVNBLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQTJDO0FBQ3pDLE1BQVFDLFdBQVIsR0FBb0NELEtBQXBDLENBQVFDLFdBQVI7QUFBQSxNQUFxQkMsVUFBckIsR0FBb0NGLEtBQXBDLENBQXFCRSxVQUFyQjtBQUVBLFNBQU87QUFDTEQsSUFBQUEsV0FBVyxFQUFYQSxXQURLO0FBRUxDLElBQUFBLFVBQVUsRUFBVkE7QUFGSyxHQUFQO0FBSUQ7O0FBUUQsSUFBTUMsV0FBNEIsR0FBRyxTQUEvQkEsV0FBK0IsQ0FBQ0MsS0FBRCxFQUFXO0FBQzlDLE1BQVFDLENBQVIsR0FBbURELEtBQW5ELENBQVFDLENBQVI7QUFBQSxNQUFXQyxHQUFYLEdBQW1ERixLQUFuRCxDQUFXRSxHQUFYO0FBQUEsTUFBZ0JDLEtBQWhCLEdBQW1ESCxLQUFuRCxDQUFnQkcsS0FBaEI7QUFBQSxNQUF1Qk4sV0FBdkIsR0FBbURHLEtBQW5ELENBQXVCSCxXQUF2QjtBQUFBLE1BQW9DQyxVQUFwQyxHQUFtREUsS0FBbkQsQ0FB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QSxXQUFXO0FBRVgsV0FBTyxTQUFTSyxPQUFULEdBQW1CO0FBQ3hCO0FBQ0Esa0RBQWNsSSxHQUFkLEVBQW1CQyxLQUFuQixFQUEwQixhQUExQjtBQUNBLGtEQUFjRCxHQUFkLEVBQW1CQyxLQUFuQixFQUEwQixPQUExQjtBQUNBLGtEQUFjRCxHQUFkLEVBQW1CQyxLQUFuQixFQUEwQixVQUExQjtBQUNBLGtEQUFjRCxHQUFkLEVBQW1CQyxLQUFuQixFQUEwQixZQUExQjtBQUNELEtBTkQ7QUFPRCxHQVZELEVBVUcsQ0FBQ0ksYUFBRCxDQVZIO0FBWUEsc0JBQU8seUNBQVA7QUFDRCxDQTVpQkQ7O0FBOGlCQSxJQUFNOEgsU0FBUyxHQUFHLHlCQUFRMUksZUFBUixDQUFsQjs7ZUFDZTBJLFNBQVMsZUFDdEJDLGVBQU1DLElBQU4sQ0FBV3hJLFdBQVgsRUFBd0IsVUFBQ3lJLFNBQUQsRUFBWUMsU0FBWixFQUEwQjtBQUNoRCxNQUNFRCxTQUFTLENBQUMzSSxXQUFWLENBQXNCTyxZQUF0QixLQUF1Q3FJLFNBQVMsQ0FBQzVJLFdBQVYsQ0FBc0JPLFlBRC9ELEVBRUU7QUFDQSxXQUFPLEtBQVA7QUFDRDs7QUFFRCxTQUFPLElBQVA7QUFDRCxDQVJELENBRHNCLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IEdyYXBoSWNvbiBmcm9tICdzcmMvYXNzZXRzL2xpbmUtY2hhcnQuc3ZnJztcbmltcG9ydCBjb2xsZWN0b3JJY29uIGZyb20gJ3NyYy9hc3NldHMvbWFwL3Bpbi13YXRlci5zdmcnO1xuaW1wb3J0IHdhdGVySWNvbk5vQmFja2dyb3VuZCBmcm9tICdzcmMvYXNzZXRzL3BvaW50X2ljb25zL3dhdGVyLW5vLWJhY2tncm91bmQuc3ZnJztcbmltcG9ydCBibHVlQ2lyY2xlVVJMIGZyb20gJ3NyYy9hc3NldHMvcG9pbnRfaWNvbnMvYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBicmlnaHRCbHVlQ2lyY2xlVVJMIGZyb20gJ3NyYy9hc3NldHMvcG9pbnRfaWNvbnMvYnJpZ2h0LWJsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgcGxhbnRJY29uVVJMIGZyb20gJ3NyYy9hc3NldHMvcG9pbnRfaWNvbnMvZmFjdG9yeS1pY29uLnN2Zyc7XG5pbXBvcnQgZ3JlZW5DaXJjbGVVUkwgZnJvbSAnc3JjL2Fzc2V0cy9wb2ludF9pY29ucy9ncmVlbi1jaXJjbGUuc3ZnJztcbmltcG9ydCBvYnNlcnZhdGlvbkljb25VUkwgZnJvbSAnc3JjL2Fzc2V0cy9wb2ludF9pY29ucy9vYnNlcnZhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgcGlua0NpcmNsZVVSTCBmcm9tICdzcmMvYXNzZXRzL3BvaW50X2ljb25zL3BpbmstY2lyY2xlLnN2Zyc7XG5pbXBvcnQgcHVtcFN0YXRpb25JY29uVVJMIGZyb20gJ3NyYy9hc3NldHMvcG9pbnRfaWNvbnMvcHVtcC1zdGF0aW9uLWljb24uc3ZnJztcbmltcG9ydCByZWRQaW5SZWRTaGFkb3cgZnJvbSAnc3JjL2Fzc2V0cy9wb2ludF9pY29ucy9yZWQtcGluLXJlZC1zaGFkb3cucG5nJztcbmltcG9ydCBzYW1wbGluZ0ljb25VUkwgZnJvbSAnc3JjL2Fzc2V0cy9wb2ludF9pY29ucy9zYW1wbGluZy1pY29uLnN2Zyc7XG5pbXBvcnQgd2hpdGVQaW5CbGFja1NoYWRvdyBmcm9tICdzcmMvYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1ibGFjay1zaGFkb3cucG5nJztcbmltcG9ydCB3aGl0ZVBpblJlZFNoYWRvdyBmcm9tICdzcmMvYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgV1dUUEljb25VUkwgZnJvbSAnc3JjL2Fzc2V0cy9wb2ludF9pY29ucy9XV1RQLWljb24uc3ZnJztcbmltcG9ydCB5ZWxsb3dDaXJjbGVVUkwgZnJvbSAnc3JjL2Fzc2V0cy9wb2ludF9pY29ucy95ZWxsb3ctY2lyY2xlLnN2Zyc7XG5pbXBvcnQgd2hpdGVQb2ludCBmcm9tICdzcmMvYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgU2VjdG9yIGZyb20gJ3NyYy9jb21wb25lbnRzL1NlY3Rvcic7XG5pbXBvcnQgdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMsIHtcbiAgcmVtb3ZlRnJvbU1hcCxcbn0gZnJvbSAnc3JjL2hvb2tzL3VzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzJztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7XG4gIGNsb3NlRmxvYXRpbmdHcmFwaCxcbiAgb3BlbkZsb2F0aW5nR3JhcGgsXG59IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJ3NyYy91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBwb2ludDogSVBvaW50O1xufTtcblxuY29uc3QgUG9pbnRNYXJrZXI6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IEwsIG1hcCwgcG9pbnQsIGV2ZW50c19kYXRhLCBlZGdlc19kYXRhIH0gPSBwcm9wcztcbiAgY29uc3QgeyBmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCB9ID0gZXZlbnRzX2RhdGE7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcblxuICBjb25zdCBjZW50ZXJlZEV2ZW50ID0gdXNlTWVtbyhcbiAgICAoKSA9PiBmb2N1c2VkRXZlbnQgfHwgaG92ZXJlZEV2ZW50LFxuICAgIFtmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudF0sXG4gICk7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGNvbnN0IHNlbGVjdGVkQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgICByZXR1cm4gTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgIGljb25TaXplOiBbNjcsIDcwXSxcbiAgICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiB3aGl0ZVBpblJlZFNoYWRvdyxcbiAgICAgIGljb25TaXplOiBbNjcsIDcwXSxcbiAgICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHN0YW5kYXJkQmFja2dyb3VuZCA9IChcbiAgICBzZWNvbmRhcnk6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuICApID0+IHtcbiAgICByZXR1cm4gTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5ID8gWzIwLCAyMF0gOiBbNDMsIDQ2XSxcbiAgICAgIGljb25BbmNob3I6XG4gICAgICAgIHNlY29uZGFyeSAmJiB0aGlyZCA/IFstMiwgMTldIDogc2Vjb25kYXJ5ID8gWy0yLCA0NF0gOiBbMjAsIDQyXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiB5ZWxsb3dDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogWzI1LCAyNF0sXG4gICAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICAgIGljb25TaXplOiBbMTUsIDE1XSxcbiAgICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgY29uc3QgY29tYmluZWRQdW1wU3RhdGlvbkljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IGdyZWVuQ2lyY2xlVVJMLFxuICAgICAgaWNvblNpemU6IFsyNSwgMjRdLFxuICAgICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBwdW1wU3RhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogWzIwLCAyMF0sXG4gICAgICBpY29uQW5jaG9yOiBbNywgMzJdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGNvbnN0IGNvbWJpbmVkQ29sbGVjdG9yc0ljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgICBpY29uU2l6ZTogWzQ1LCA0NV0sXG5cbiAgICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGNvbnN0IGNvbWJpbmVkV1dUUEljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IGJyaWdodEJsdWVDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogWzI1LCAyNV0sXG4gICAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IFdXVFBJY29uVVJMLFxuICAgICAgaWNvblNpemU6IFsyMCwgMjBdLFxuICAgICAgaWNvbkFuY2hvcjogWzgsIDMxXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9ICgpID0+IHtcbiAgICBsZXQgc291cmNlO1xuXG4gICAgaWYgKGNlbnRlcmVkRXZlbnQgIT09IG51bGwpIHtcbiAgICAgIHNvdXJjZSA9IGNlbnRlcmVkRXZlbnQuc291cmNlcy5maWx0ZXIoXG4gICAgICAgIChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQsXG4gICAgICApWzBdO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICBjZW50ZXJlZEV2ZW50ICE9PSBudWxsICYmXG4gICAgICBzb3VyY2UgJiZcbiAgICAgIGNlbnRlcmVkRXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWRcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NvdXJjZSA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgY2VudGVyZWRFdmVudCAhPT0gbnVsbCAmJlxuICAgICAgY2VudGVyZWRFdmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXVxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgaXNDb2xsZWN0b3JGb2N1c2VkID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgY2VudGVyZWRFdmVudD8ub2JzZXJ2YXRpb25zPy5sZW5ndGggPT09IDEgJiZcbiAgICAgIHBvaW50LmlkID09PSBjZW50ZXJlZEV2ZW50Lm9ic2VydmF0aW9uc1swXS5wb2ludF9pZFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gICAgc3dpdGNoIChwb2ludC5ncm91cC50eXBlKSB7XG4gICAgICBjYXNlICdHcm91cHM6OkZhY3RvcnknOlxuICAgICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoKSkge1xuICAgICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZSgpKSB7XG4gICAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICAgIGNhc2UgJ0dyb3Vwczo6UHVtcFN0YXRpb24nOlxuICAgICAgICBpZiAoY29tYmluZWRQdW1wU3RhdGlvbkljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKCkpIHtcbiAgICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKCkpIHtcbiAgICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uO1xuICAgICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgICBpZiAoY29tYmluZWRXV1RQSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoKSkge1xuICAgICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZSgpKSB7XG4gICAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tYmluZWRXV1RQSWNvbjtcblxuICAgICAgY2FzZSAnR3JvdXBzOjpDb2xsZWN0b3JzJzpcbiAgICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgICAgICAgICAgICBpY29uU2l6ZTogWzYyLCA2Ml0sXG4gICAgICAgICAgICAgIGljb25BbmNob3I6IFszMCwgNTJdLFxuICAgICAgICAgICAgfSksXG5cbiAgICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICAgIGljb25Vcmw6IHdhdGVySWNvbk5vQmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgaWNvblNpemU6IFs0NiwgNDZdLFxuXG4gICAgICAgICAgICAgIGljb25BbmNob3I6IFsyMiwgNDRdLFxuICAgICAgICAgICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjcmVhdGVNYW5ob2xlUG9pbnQgPSAobWFya2VyTG9jYXRpb246IG9iamVjdCkgPT4ge1xuICAgIGxldCBwb2ludEljb24gPSBMLmljb24oe1xuICAgICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICAgIGljb25TaXplOiBbOSwgOV0sXG4gICAgICBpY29uQW5jaG9yOiBbNC41LCA0LjVdLFxuICAgIH0pO1xuICAgIGxldCBtYW5ob2xlSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IHBvaW50SWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgbWFuaG9sZUljb24uYmluZFRvb2x0aXAoYCR7cG9pbnQuZ3JvdXAubmFtZX0gKCR7cG9pbnQuaWR9KWApO1xuICAgIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIH07XG5cbiAgY29uc3QgY3JlYXRlQ3VzdG9tSWNvblBvaW50ID0gKG1hcmtlckxvY2F0aW9uOiBvYmplY3QpID0+IHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbWF0Y2hJY29uVG9Qb2ludChwb2ludCkgIT09IG51bGwgJiZcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQpLmZvckVhY2goKGljb246IGFueSkgPT4ge1xuICAgICAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgICAgIGljb246IGljb24sXG4gICAgICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYCR7cG9pbnQuZ3JvdXAubmFtZX0gKCR7cG9pbnQuaWR9KWApO1xuICAgICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICAgICAgfSk7XG5cbiAgICBpZiAocG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCkge1xuICAgICAgbGV0IHBvaW50Q3VzdG9tSWNvbiA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgICAgY2xhc3NOYW1lOiBgXG4gICAgICAgICAgJHtcbiAgICAgICAgICAgIHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPj0gMTAwXG4gICAgICAgICAgICAgID8gJ2NpcmNsZS1ldmVudHMtYW1vdW50IGNpcmNsZS1ldmVudHMtYW1vdW50LS10cmlkaWdpdCdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlLWV2ZW50cy1hbW91bnQnXG4gICAgICAgICAgfSBcbiAgICAgICAgICAke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPiAyID8gJ2FsZXJ0LWNvbG9yJyA6ICcnfVxuICAgICAgICAgICAgYCxcbiAgICAgICAgICBodG1sOiBgPHA+JHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50fTwvcD5gLFxuICAgICAgICAgIGljb25BbmNob3I6IFstNSwgNDJdLFxuICAgICAgICB9KSxcbiAgICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgfSkuYWRkVG8obWFwKTtcblxuICAgICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdJY29uTnVtYmVyJztcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gICAgbWFya2VyTG9jYXRpb246IG9iamVjdCxcbiAgICBzZWNvbmRhcnlJY29uOiBib29sZWFuLFxuICApID0+IHtcbiAgICAvLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuICAgIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gICAgbGV0IHNhbXBsaW5nSWNvbiA9IFtcbiAgICAgIEwuaWNvbih7XG4gICAgICAgIGljb25Vcmw6IGJsdWVDaXJjbGVVUkwsXG4gICAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzEwLCAxMF0gOiBbMjUsIDI0XSxcbiAgICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgMTVdIDogWzEwLjcsIDMzLjddLFxuICAgICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgICB9KSxcbiAgICAgIEwuaWNvbih7XG4gICAgICAgIGljb25Vcmw6IHNhbXBsaW5nSWNvblVSTCxcbiAgICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbNywgN10gOiBbMTMsIDE1XSxcbiAgICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstOCwgMTNdIDogWzUsIDMwXSxcbiAgICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgICAgfSksXG4gICAgXTtcblxuICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSgpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoKSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKHNlY29uZGFyeUljb24sIHRydWUpKTtcbiAgICB9XG5cbiAgICBzYW1wbGluZ0ljb24uZm9yRWFjaCgoaWNvbikgPT4ge1xuICAgICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgICAgaWNvbjogaWNvbixcbiAgICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgfSkuYWRkVG8obWFwKTtcbiAgICAgIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChgJHtwb2ludC5ncm91cC5uYW1lfSAoJHtwb2ludC5pZH0pYCk7XG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCA9IChcbiAgICBtYXJrZXJMb2NhdGlvbjogb2JqZWN0LFxuICAgIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gICkgPT4ge1xuICAgIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gICAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgICBsZXQgb2JzZXJ2YXRpb25JY29uID0gW1xuICAgICAgTC5pY29uKHtcbiAgICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMTAsIDEwXSA6IFsyNSwgMjRdLFxuICAgICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCA0MF0gOiBbMTAuNywgMzMuN10sXG4gICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgIH0pLFxuICAgICAgTC5pY29uKHtcbiAgICAgICAgaWNvblVybDogb2JzZXJ2YXRpb25JY29uVVJMLFxuICAgICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFs3LCA3XSA6IFsxMywgMTVdLFxuICAgICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAzOF0gOiBbNSwgMzBdLFxuICAgICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgICB9KSxcbiAgICBdO1xuXG4gICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZSgpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbikpO1xuICAgIH1cblxuICAgIG9ic2VydmF0aW9uSWNvbi5mb3JFYWNoKChpY29uKSA9PiB7XG4gICAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgICBpY29uOiBpY29uLFxuICAgICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGAke3BvaW50Lmdyb3VwLm5hbWV9ICgke3BvaW50LmlkfSlgKTtcbiAgICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb24nO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHBvcHVwQ29udGVudCA9IChvYnM6IGFueSkgPT4ge1xuICAgIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7cG9pbnQuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7cG9pbnQuZ3JvdXAubmFtZX08L2I+PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzZWN0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICAgIH1cbiAgfTtcblxuICB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIHBvaW50LCAnUG9pbnQnKTtcbiAgdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMobWFwLCBwb2ludCwgJ09ic2VydmF0aW9uJyk7XG4gIHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzKG1hcCwgcG9pbnQsICdTYW1wbGluZycpO1xuICB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIHBvaW50LCAnSWNvbk51bWJlcicpO1xuXG4gIGNvbnN0IHBvaW50SXNPYnNlcnZhdGlvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgY2VudGVyZWRFdmVudCAhPT0gbnVsbCAmJlxuICAgICAgY2VudGVyZWRFdmVudC5vYnNlcnZhdGlvbnMuZmlsdGVyKChvYnMpID0+IG9icy5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBwb2ludEJlbG9uZ3NUb0V2ZW50ID0gKCkgPT4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIGNvbnN0IGJpbmRQb3B1cFRvUG9pbnQgPSAob2JzOiBhbnkgPSBudWxsKSA9PiB7XG4gICAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIFsnUG9pbnQnLCAnT2JzZXJ2YXRpb24nXS5pbmNsdWRlcyhsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCkgJiZcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3RfaWQgPT09IHBvaW50LmlkXG4gICAgICApIHtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5iaW5kUG9wdXAocG9wdXBDb250ZW50KG9icyksIHtcbiAgICAgICAgICBtaW5XaWR0aDogMjAwLFxuICAgICAgICB9KTtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vbigncG9wdXBvcGVuJywgZnVuY3Rpb24gKGU6IGFueSkge1xuICAgICAgICAgIGlmIChmb2N1c2VkRXZlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGxldCBmaXJzdFNlZW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIGxldCBsYXN0U2VlbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgbGV0IHNlY3RvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gICAgICAgICAgICBpZiAob2JzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtvYnMuc3RhcnRfdGltZX1cbiAgICAgICAgICAgICAgICAgIHRpbWVfem9uZT17b2JzLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgICBmaXJzdFNlZW4sXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtvYnMubGFzdF9zZWVuX3RpbWV9XG4gICAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e29icy50aW1lX3pvbmV9XG4gICAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICAgICAgbGFzdFNlZW4sXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBSZWFjdERPTS5yZW5kZXIoXG4gICAgICAgICAgICAgICAgPFNlY3RvclxuICAgICAgICAgICAgICAgICAgc2VjdG9yTmFtZT17cG9pbnQuZ3JvdXAuc2VjdG9yX25hbWV9XG4gICAgICAgICAgICAgICAgICBzZWN0b3JJY29uTmFtZT17cG9pbnQuZ3JvdXAuc2VjdG9yX2ljb25fbmFtZX1cbiAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMzdcIlxuICAgICAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgICAgIHNlY3RvcixcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICQoJyNmaXJzdC1zZWVuLXBvcHVwJykuYXBwZW5kKGZpcnN0U2Vlbik7XG4gICAgICAgICAgICAgICQoJyNsYXN0LXNlZW4tcG9wdXAnKS5hcHBlbmQobGFzdFNlZW4pO1xuICAgICAgICAgICAgICAkKCcjc2VjdG9yJykuYXBwZW5kKHNlY3Rvcik7XG4gICAgICAgICAgICB9LCAyMDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxldCBhdHRhY2hDbGlja0V2ZW50ID0gKHNlbGVjdG9yOiBzdHJpbmcsIG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICQoZG9jdW1lbnQuYm9keSkub24oJ2NsaWNrJywgc2VsZWN0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgZGlzcGF0Y2goY2xvc2VGbG9hdGluZ0dyYXBoKCkpO1xuICAgICAgICAgICAgICBkaXNwYXRjaChvcGVuRmxvYXRpbmdHcmFwaCh0cnVlLCBvYnNlcnZhdGlvbiwgcG9pbnQpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAob2JzICE9PSBudWxsKSB7XG4gICAgICAgICAgICBhdHRhY2hDbGlja0V2ZW50KCcucG9wdXAtZ3JhcGgtaWNvbi0nICsgb2JzLmlkLCBvYnMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhdHRhY2hDbGlja0V2ZW50KCcucG9wdXAtZ3JhcGgtaWNvbi0nICsgcG9pbnQuaWQsIG51bGwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgICAgIGxheWVyc1twcm9wZXJ0eV0ub3BlblBvcHVwKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBjdXN0b21JY29uRm9yUG9pbnRzSWZQYXJ0T2ZQYXRoQW5kTW9uaXRvcmVkID0gKG1hcmtlckxvY2F0aW9uKSA9PiB7XG4gICAgaWYgKGNlbnRlcmVkRXZlbnQpIHtcbiAgICAgIGxldCBlZGdlc0lkczogbnVtYmVyW10gPSBbXTtcbiAgICAgIGNlbnRlcmVkRXZlbnQucGF0aC5mb3JFYWNoKChwYXJ0KSA9PiB7XG4gICAgICAgIGVkZ2VzSWRzLnB1c2gocGFydC5lZGdlX2lkKTtcbiAgICAgIH0pO1xuXG4gICAgICBsZXQgcmVsZXZhbnRFZGdlcyA9IGVkZ2VzX2RhdGEuaXRlbXMuZmlsdGVyKChlZGdlKSA9PlxuICAgICAgICBlZGdlc0lkcy5pbmNsdWRlcyhlZGdlLmlkKSxcbiAgICAgICk7XG5cbiAgICAgIGxldCByZWxldmFudFBvaW50czogbnVtYmVyW10gPSBbXTtcbiAgICAgIHJlbGV2YW50RWRnZXMuZm9yRWFjaCgoZWRnZSkgPT4ge1xuICAgICAgICByZWxldmFudFBvaW50cy5wdXNoKGVkZ2Uuc291cmNlX3BvaW50X2lkKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAocmVsZXZhbnRQb2ludHMuaW5jbHVkZXMocG9pbnQuaWQpKSB7XG4gICAgICAgIGNyZWF0ZU1hbmhvbGVQb2ludChtYXJrZXJMb2NhdGlvbik7XG4gICAgICAgIGNyZWF0ZUN1c3RvbUljb25Qb2ludChtYXJrZXJMb2NhdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvbnMgPSAobWFya2VyTG9jYXRpb246IG51bWJlcltdKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudCAhPT0gbnVsbCkge1xuICAgICAgbGV0IHNhbXBsZWRQb2ludElkcyA9IGZvY3VzZWRFdmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgICAgIGlmIChcbiAgICAgICAgZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmXG4gICAgICAgIGZvY3VzZWRFdmVudC5zYW1wbGluZ3MubGVuZ3RoICE9PSAwICYmXG4gICAgICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgICAgICkge1xuICAgICAgICBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludChcbiAgICAgICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgICAgICBtYXRjaEljb25Ub1BvaW50KHBvaW50KSAhPT0gbnVsbCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyTG9naWMgPSAoKSA9PiB7XG4gICAgbGV0IG1hcmtlckxvY2F0aW9uID0gW3BvaW50WydsYXRpdHVkZSddLCBwb2ludFsnbG9uZ2l0dWRlJ11dO1xuICAgIGN1c3RvbUljb25Gb3JQb2ludHNJZlBhcnRPZlBhdGhBbmRNb25pdG9yZWQobWFya2VyTG9jYXRpb24pO1xuICAgIGlmICghcG9pbnQuZXZlbnRzVmlld0hvdmVyZWQpIGNyZWF0ZU1hbmhvbGVQb2ludChtYXJrZXJMb2NhdGlvbik7XG4gICAgaWYgKG1hcmtlckxvY2F0aW9uWzBdICE9PSBudWxsKSB7XG4gICAgICBjcmVhdGVTYW1wbGluZ0ljb25zKG1hcmtlckxvY2F0aW9uKTtcbiAgICAgIGlmIChwb2ludC5wYXJ0X29mX21vbml0b3JlZF9wYXRoICYmICFwb2ludC5oYXNfZGV2aWNlKSByZXR1cm47XG4gICAgICBpZiAoXG4gICAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQpICE9PSBudWxsICYmXG4gICAgICAgIChjZW50ZXJlZEV2ZW50ID09PSBudWxsIHx8XG4gICAgICAgICAgKGNlbnRlcmVkRXZlbnQgIT09IG51bGwgJiYgcG9pbnRJc09ic2VydmF0aW9uKCkpIHx8XG4gICAgICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JylcbiAgICAgICkge1xuICAgICAgICBpZiAocG9pbnQuZXZlbnRzVmlld0hvdmVyZWQpIGNyZWF0ZU1hbmhvbGVQb2ludChtYXJrZXJMb2NhdGlvbik7XG4gICAgICAgIGNyZWF0ZUN1c3RvbUljb25Qb2ludChtYXJrZXJMb2NhdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGlmIChmb2N1c2VkRXZlbnQgIT09IG51bGwpIHtcbiAgICAgICAgbGV0IGhhc1ByaW1hcnlJY29uID0gbWF0Y2hJY29uVG9Qb2ludChwb2ludCkgIT09IG51bGw7XG5cbiAgICAgICAgaWYgKHBvaW50SXNPYnNlcnZhdGlvbigpKSB7XG4gICAgICAgICAgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQobWFya2VyTG9jYXRpb24sIGhhc1ByaW1hcnlJY29uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY2VudGVyZWRFdmVudCAhPT0gbnVsbCAmJiBwb2ludEJlbG9uZ3NUb0V2ZW50KCkpIHtcbiAgICAgICAgbGV0IG9icyA9IGNlbnRlcmVkRXZlbnQub2JzZXJ2YXRpb25zLmZpbHRlcihcbiAgICAgICAgICAob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHBvaW50LmlkLFxuICAgICAgICApWzBdO1xuICAgICAgICBiaW5kUG9wdXBUb1BvaW50KG9icyk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmVuZGVyTG9naWMoKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgLy8gVU5CSU5EIFBPUFVQXG4gICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdPYnNlcnZhdGlvbicpO1xuICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnUG9pbnQnKTtcbiAgICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ1NhbXBsaW5nJyk7XG4gICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdJY29uTnVtYmVyJyk7XG4gICAgfTtcbiAgfSwgW2NlbnRlcmVkRXZlbnRdKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG1hcFN0YXRlVG9Qcm9wcyk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoXG4gIFJlYWN0Lm1lbW8oUG9pbnRNYXJrZXIsIChwcmV2UHJvcHMsIG5leHRQcm9wcykgPT4ge1xuICAgIGlmIChcbiAgICAgIHByZXZQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQgIT09IG5leHRQcm9wcy5ldmVudHNfZGF0YS5mb2N1c2VkRXZlbnRcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSksXG4pO1xuIl19
|
|
516
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXIudHN4Il0sIm5hbWVzIjpbIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiUG9pbnRNYXJrZXIiLCJwcm9wcyIsIkwiLCJtYXAiLCJwb2ludCIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImRpc3BhdGNoIiwiY2VudGVyZWRFdmVudCIsInNlbGVjdGVkQmFja2dyb3VuZCIsImljb24iLCJpY29uVXJsIiwicmVkUGluUmVkU2hhZG93IiwiaWNvblNpemUiLCJpY29uQW5jaG9yIiwicG9wdXBBbmNob3IiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzdGFuZGFyZEJhY2tncm91bmQiLCJzZWNvbmRhcnkiLCJ0aGlyZCIsIndoaXRlUGluQmxhY2tTaGFkb3ciLCJjb21iaW5lZEZhY3RvcnlJY29uIiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJncmVlbkNpcmNsZVVSTCIsInB1bXBTdGF0aW9uSWNvblVSTCIsImNvbWJpbmVkQ29sbGVjdG9yc0ljb24iLCJjb2xsZWN0b3JJY29uIiwiY29tYmluZWRXV1RQSWNvbiIsImJyaWdodEJsdWVDaXJjbGVVUkwiLCJXV1RQSWNvblVSTCIsIm1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlIiwic291cmNlIiwic291cmNlcyIsImZpbHRlciIsInBvaW50X2lkIiwiaWQiLCJzZWxlY3RlZF9zb3VyY2UiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJpc0NvbGxlY3RvckZvY3VzZWQiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJtYXRjaEljb25Ub1BvaW50IiwiZ3JvdXAiLCJ0eXBlIiwidW5zaGlmdCIsIndhdGVySWNvbk5vQmFja2dyb3VuZCIsImNyZWF0ZU1hbmhvbGVQb2ludCIsIm1hcmtlckxvY2F0aW9uIiwicG9pbnRJY29uIiwid2hpdGVQb2ludCIsIm1hbmhvbGVJY29uIiwibWFya2VyIiwicmlzZU9uSG92ZXIiLCJhZGRUbyIsImJpbmRUb29sdGlwIiwibmFtZSIsImNyZWF0ZUN1c3RvbUljb25Qb2ludCIsImZvckVhY2giLCJwb2ludEN1c3RvbUljb24iLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCIsInNlY29uZGFyeUljb24iLCJzYW1wbGluZ0ljb24iLCJibHVlQ2lyY2xlVVJMIiwic2FtcGxpbmdJY29uVVJMIiwiY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQiLCJvYnNlcnZhdGlvbkljb24iLCJwaW5rQ2lyY2xlVVJMIiwib2JzZXJ2YXRpb25JY29uVVJMIiwicG9wdXBDb250ZW50Iiwib2JzIiwiR3JhcGhJY29uIiwiaTE4biIsInQiLCJzZXZlcml0eSIsInBvaW50SXNPYnNlcnZhdGlvbiIsInBvaW50QmVsb25nc1RvRXZlbnQiLCJiaW5kUG9wdXBUb1BvaW50IiwibGF5ZXJzIiwiX2xheWVycyIsInByb3BlcnR5IiwiaW5jbHVkZXMiLCJrYW5kb19vYmplY3QiLCJrYW5kb19vYmplY3RfaWQiLCJiaW5kUG9wdXAiLCJtaW5XaWR0aCIsIm9uIiwiZSIsImZpcnN0U2VlbiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImxhc3RTZWVuIiwic2VjdG9yIiwiUmVhY3RET00iLCJyZW5kZXIiLCJzdGFydF90aW1lIiwidGltZV96b25lIiwibGFzdF9zZWVuX3RpbWUiLCJzZWN0b3JfbmFtZSIsInNlY3Rvcl9pY29uX25hbWUiLCJzZXRUaW1lb3V0IiwiYXBwZW5kIiwiYXR0YWNoQ2xpY2tFdmVudCIsInNlbGVjdG9yIiwib2JzZXJ2YXRpb24iLCJib2R5Iiwib3BlblBvcHVwIiwiY3VzdG9tSWNvbkZvclBvaW50c0lmUGFydE9mUGF0aEFuZE1vbml0b3JlZCIsImVkZ2VzSWRzIiwicGF0aCIsInBhcnQiLCJwdXNoIiwiZWRnZV9pZCIsInJlbGV2YW50RWRnZXMiLCJpdGVtcyIsImVkZ2UiLCJyZWxldmFudFBvaW50cyIsInNvdXJjZV9wb2ludF9pZCIsImV2ZW50c1ZpZXdIb3ZlcmVkIiwicGFydF9vZl9tb25pdG9yZWRfcGF0aCIsImhhc19kZXZpY2UiLCJoYXNQcmltYXJ5SWNvbiIsInNhbXBsaW5ncyIsImNsZWFudXAiLCJjb25uZWN0b3IiLCJSZWFjdCIsIm1lbW8iLCJwcmV2UHJvcHMiLCJuZXh0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQTs7OztBQUVBOztBQUNBOzs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFLQTs7QUFDQTs7Ozs7O0FBRUEsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFBUUMsV0FBUixHQUFvQ0QsS0FBcEMsQ0FBUUMsV0FBUjtBQUFBLE1BQXFCQyxVQUFyQixHQUFvQ0YsS0FBcEMsQ0FBcUJFLFVBQXJCO0FBRUEsU0FBTztBQUNMRCxJQUFBQSxXQUFXLEVBQVhBLFdBREs7QUFFTEMsSUFBQUEsVUFBVSxFQUFWQTtBQUZLLEdBQVA7QUFJRDs7QUFRRCxJQUFNQyxXQUE0QixHQUFHLFNBQS9CQSxXQUErQixDQUFDQyxLQUFELEVBQVc7QUFDOUMsTUFBUUMsQ0FBUixHQUFtREQsS0FBbkQsQ0FBUUMsQ0FBUjtBQUFBLE1BQVdDLEdBQVgsR0FBbURGLEtBQW5ELENBQVdFLEdBQVg7QUFBQSxNQUFnQkMsS0FBaEIsR0FBbURILEtBQW5ELENBQWdCRyxLQUFoQjtBQUFBLE1BQXVCTixXQUF2QixHQUFtREcsS0FBbkQsQ0FBdUJILFdBQXZCO0FBQUEsTUFBb0NDLFVBQXBDLEdBQW1ERSxLQUFuRCxDQUFvQ0YsVUFBcEM7QUFDQSxNQUFRTSxZQUFSLEdBQXVDUCxXQUF2QyxDQUFRTyxZQUFSO0FBQUEsTUFB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Q2hELE1BQ0VELFNBQVMsQ0FBQ3ZJLFdBQVYsQ0FBc0JPLFlBQXRCLEtBQXVDaUksU0FBUyxDQUFDeEksV0FBVixDQUFzQk8sWUFEL0QsRUFFRTtBQUNBLFdBQU8sS0FBUDtBQUNEOztBQUVELFNBQU8sSUFBUDtBQUNELENBUkQsQ0FEc0IsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgR3JhcGhJY29uIGZyb20gJ3NyYy9hc3NldHMvbGluZS1jaGFydC5zdmcnO1xuaW1wb3J0IGNvbGxlY3Rvckljb24gZnJvbSAnc3JjL2Fzc2V0cy9tYXAvcGluLXdhdGVyLnN2Zyc7XG5pbXBvcnQgd2F0ZXJJY29uTm9CYWNrZ3JvdW5kIGZyb20gJ3NyYy9hc3NldHMvcG9pbnRfaWNvbnMvd2F0ZXItbm8tYmFja2dyb3VuZC5zdmcnO1xuaW1wb3J0IGJsdWVDaXJjbGVVUkwgZnJvbSAnc3JjL2Fzc2V0cy9wb2ludF9pY29ucy9ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IGJyaWdodEJsdWVDaXJjbGVVUkwgZnJvbSAnc3JjL2Fzc2V0cy9wb2ludF9pY29ucy9icmlnaHQtYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBwbGFudEljb25VUkwgZnJvbSAnc3JjL2Fzc2V0cy9wb2ludF9pY29ucy9mYWN0b3J5LWljb24uc3ZnJztcbmltcG9ydCBncmVlbkNpcmNsZVVSTCBmcm9tICdzcmMvYXNzZXRzL3BvaW50X2ljb25zL2dyZWVuLWNpcmNsZS5zdmcnO1xuaW1wb3J0IG9ic2VydmF0aW9uSWNvblVSTCBmcm9tICdzcmMvYXNzZXRzL3BvaW50X2ljb25zL29ic2VydmF0aW9uLWljb24uc3ZnJztcbmltcG9ydCBwaW5rQ2lyY2xlVVJMIGZyb20gJ3NyYy9hc3NldHMvcG9pbnRfaWNvbnMvcGluay1jaXJjbGUuc3ZnJztcbmltcG9ydCBwdW1wU3RhdGlvbkljb25VUkwgZnJvbSAnc3JjL2Fzc2V0cy9wb2ludF9pY29ucy9wdW1wLXN0YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IHJlZFBpblJlZFNoYWRvdyBmcm9tICdzcmMvYXNzZXRzL3BvaW50X2ljb25zL3JlZC1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHNhbXBsaW5nSWNvblVSTCBmcm9tICdzcmMvYXNzZXRzL3BvaW50X2ljb25zL3NhbXBsaW5nLWljb24uc3ZnJztcbmltcG9ydCB3aGl0ZVBpbkJsYWNrU2hhZG93IGZyb20gJ3NyYy9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLWJsYWNrLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluUmVkU2hhZG93IGZyb20gJ3NyYy9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLXJlZC1zaGFkb3cucG5nJztcbmltcG9ydCBXV1RQSWNvblVSTCBmcm9tICdzcmMvYXNzZXRzL3BvaW50X2ljb25zL1dXVFAtaWNvbi5zdmcnO1xuaW1wb3J0IHllbGxvd0NpcmNsZVVSTCBmcm9tICdzcmMvYXNzZXRzL3BvaW50X2ljb25zL3llbGxvdy1jaXJjbGUuc3ZnJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJ3NyYy9hc3NldHMvd2hpdGUtcG9pbnQucG5nJztcbmltcG9ydCBTZWN0b3IgZnJvbSAnc3JjL2NvbXBvbmVudHMvU2VjdG9yJztcbmltcG9ydCB1c2VSZW1vdmVFeGlzdGluZ0xheWVycywge1xuICByZW1vdmVGcm9tTWFwLFxufSBmcm9tICdzcmMvaG9va3MvdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHtcbiAgY2xvc2VGbG9hdGluZ0dyYXBoLFxuICBvcGVuRmxvYXRpbmdHcmFwaCxcbn0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IFRpbWVGb3JtYXQgZnJvbSAnc3JjL3V0aWxpdGllcy9UaW1lRm9ybWF0JztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBldmVudHNfZGF0YSwgZWRnZXNfZGF0YSB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICB9O1xufVxuXG50eXBlIFByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG59O1xuXG5jb25zdCBQb2ludE1hcmtlcjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgTCwgbWFwLCBwb2ludCwgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEgfSA9IHByb3BzO1xuICBjb25zdCB7IGZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50IH0gPSBldmVudHNfZGF0YTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IGNlbnRlcmVkRXZlbnQgPSB1c2VNZW1vKFxuICAgICgpID0+IGZvY3VzZWRFdmVudCB8fCBob3ZlcmVkRXZlbnQsXG4gICAgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50XSxcbiAgKTtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICAgIHJldHVybiBMLmljb24oe1xuICAgICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgICAgaWNvblNpemU6IFs2NywgNzBdLFxuICAgICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgICByZXR1cm4gTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgICAgaWNvblNpemU6IFs2NywgNzBdLFxuICAgICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgc3RhbmRhcmRCYWNrZ3JvdW5kID0gKFxuICAgIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHRoaXJkOiBib29sZWFuID0gZmFsc2UsXG4gICkgPT4ge1xuICAgIHJldHVybiBMLmljb24oe1xuICAgICAgaWNvblVybDogd2hpdGVQaW5CbGFja1NoYWRvdyxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnkgPyBbMjAsIDIwXSA6IFs0MywgNDZdLFxuICAgICAgaWNvbkFuY2hvcjpcbiAgICAgICAgc2Vjb25kYXJ5ICYmIHRoaXJkID8gWy0yLCAxOV0gOiBzZWNvbmRhcnkgPyBbLTIsIDQ0XSA6IFsyMCwgNDJdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGNvbWJpbmVkRmFjdG9yeUljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBbMjUsIDI0XSxcbiAgICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGxhbnRJY29uVVJMLFxuICAgICAgaWNvblNpemU6IFsxNSwgMTVdLFxuICAgICAgaWNvbkFuY2hvcjogWzUsIDMwXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogZ3JlZW5DaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogWzI1LCAyNF0sXG4gICAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICAgIGljb25TaXplOiBbMjAsIDIwXSxcbiAgICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgY29uc3QgY29tYmluZWRDb2xsZWN0b3JzSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogY29sbGVjdG9ySWNvbixcbiAgICAgIGljb25TaXplOiBbNDUsIDQ1XSxcblxuICAgICAgaWNvbkFuY2hvcjogWzI1LCA1MF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogYnJpZ2h0Qmx1ZUNpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBbMjUsIDI1XSxcbiAgICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgICBpY29uU2l6ZTogWzIwLCAyMF0sXG4gICAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlID0gKCkgPT4ge1xuICAgIGxldCBzb3VyY2U7XG5cbiAgICBpZiAoY2VudGVyZWRFdmVudCAhPT0gbnVsbCkge1xuICAgICAgc291cmNlID0gY2VudGVyZWRFdmVudC5zb3VyY2VzLmZpbHRlcihcbiAgICAgICAgKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZCxcbiAgICAgIClbMF07XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIGNlbnRlcmVkRXZlbnQgIT09IG51bGwgJiZcbiAgICAgIHNvdXJjZSAmJlxuICAgICAgY2VudGVyZWRFdmVudC5zZWxlY3RlZF9zb3VyY2UgPT09IHNvdXJjZS5wb2ludF9pZFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBjZW50ZXJlZEV2ZW50ICE9PSBudWxsICYmXG4gICAgICBjZW50ZXJlZEV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBjZW50ZXJlZEV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgICAgcG9pbnQuaWQgPT09IGNlbnRlcmVkRXZlbnQub2JzZXJ2YXRpb25zWzBdLnBvaW50X2lkXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBtYXRjaEljb25Ub1BvaW50ID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgICBzd2l0Y2ggKHBvaW50Lmdyb3VwLnR5cGUpIHtcbiAgICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICAgIGlmIChjb21iaW5lZEZhY3RvcnlJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSgpKSB7XG4gICAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKCkpIHtcbiAgICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21iaW5lZEZhY3RvcnlJY29uO1xuICAgICAgY2FzZSAnR3JvdXBzOjpQdW1wU3RhdGlvbic6XG4gICAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoKSkge1xuICAgICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoKSkge1xuICAgICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgICBjYXNlICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc6XG4gICAgICAgIGlmIChjb21iaW5lZFdXVFBJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSgpKSB7XG4gICAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKCkpIHtcbiAgICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21iaW5lZFdXVFBJY29uO1xuXG4gICAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgICBpZiAoaXNDb2xsZWN0b3JGb2N1c2VkKHBvaW50KSkge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgICAgICAgICAgIGljb25TaXplOiBbNjIsIDYyXSxcbiAgICAgICAgICAgICAgaWNvbkFuY2hvcjogWzMwLCA1Ml0sXG4gICAgICAgICAgICB9KSxcblxuICAgICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgICAgaWNvblVybDogd2F0ZXJJY29uTm9CYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICBpY29uU2l6ZTogWzQ2LCA0Nl0sXG5cbiAgICAgICAgICAgICAgaWNvbkFuY2hvcjogWzIyLCA0NF0sXG4gICAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tYmluZWRDb2xsZWN0b3JzSWNvbjtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChtYXJrZXJMb2NhdGlvbjogb2JqZWN0KSA9PiB7XG4gICAgbGV0IHBvaW50SWNvbiA9IEwuaWNvbih7XG4gICAgICBpY29uVXJsOiB3aGl0ZVBvaW50LFxuICAgICAgaWNvblNpemU6IFs5LCA5XSxcbiAgICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gICAgfSk7XG4gICAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogcG9pbnRJY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gICAgfSkuYWRkVG8obWFwKTtcbiAgICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChgJHtwb2ludC5ncm91cC5uYW1lfSAoJHtwb2ludC5pZH0pYCk7XG4gICAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgfTtcblxuICBjb25zdCBjcmVhdGVDdXN0b21JY29uUG9pbnQgPSAobWFya2VyTG9jYXRpb246IG9iamVjdCkgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBtYXRjaEljb25Ub1BvaW50KHBvaW50KSAhPT0gbnVsbCAmJlxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbWF0Y2hJY29uVG9Qb2ludChwb2ludCkuZm9yRWFjaCgoaWNvbjogYW55KSA9PiB7XG4gICAgICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICAgICAgaWNvbjogaWNvbixcbiAgICAgICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICAgIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChgJHtwb2ludC5ncm91cC5uYW1lfSAoJHtwb2ludC5pZH0pYCk7XG4gICAgICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICAgICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gICAgICB9KTtcblxuICAgIGlmIChwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50KSB7XG4gICAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgICAgaWNvbjogTC5kaXZJY29uKHtcbiAgICAgICAgICBjbGFzc05hbWU6IGBcbiAgICAgICAgICAke1xuICAgICAgICAgICAgcG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA+PSAxMDBcbiAgICAgICAgICAgICAgPyAnY2lyY2xlLWV2ZW50cy1hbW91bnQgY2lyY2xlLWV2ZW50cy1hbW91bnQtLXRyaWRpZ2l0J1xuICAgICAgICAgICAgICA6ICdjaXJjbGUtZXZlbnRzLWFtb3VudCdcbiAgICAgICAgICB9IFxuICAgICAgICAgICR7cG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA+IDIgPyAnYWxlcnQtY29sb3InIDogJyd9XG4gICAgICAgICAgICBgLFxuICAgICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgICAgaWNvbkFuY2hvcjogWy01LCA0Ml0sXG4gICAgICAgIH0pLFxuICAgICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCA9IChcbiAgICBtYXJrZXJMb2NhdGlvbjogb2JqZWN0LFxuICAgIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gICkgPT4ge1xuICAgIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gICAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgICBsZXQgc2FtcGxpbmdJY29uID0gW1xuICAgICAgTC5pY29uKHtcbiAgICAgICAgaWNvblVybDogYmx1ZUNpcmNsZVVSTCxcbiAgICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMTAsIDEwXSA6IFsyNSwgMjRdLFxuICAgICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCAxNV0gOiBbMTAuNywgMzMuN10sXG4gICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgIH0pLFxuICAgICAgTC5pY29uKHtcbiAgICAgICAgaWNvblVybDogc2FtcGxpbmdJY29uVVJMLFxuICAgICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFs3LCA3XSA6IFsxMywgMTVdLFxuICAgICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAxM10gOiBbNSwgMzBdLFxuICAgICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgICB9KSxcbiAgICBdO1xuXG4gICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZSgpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgICBzYW1wbGluZ0ljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbiwgdHJ1ZSkpO1xuICAgIH1cblxuICAgIHNhbXBsaW5nSWNvbi5mb3JFYWNoKChpY29uKSA9PiB7XG4gICAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgICBpY29uOiBpY29uLFxuICAgICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuICAgICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGAke3BvaW50Lmdyb3VwLm5hbWV9ICgke3BvaW50LmlkfSlgKTtcbiAgICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmcnO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50ID0gKFxuICAgIG1hcmtlckxvY2F0aW9uOiBvYmplY3QsXG4gICAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgKSA9PiB7XG4gICAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgICAvLyBJY29uIEFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuICAgIGxldCBvYnNlcnZhdGlvbkljb24gPSBbXG4gICAgICBMLmljb24oe1xuICAgICAgICBpY29uVXJsOiBwaW5rQ2lyY2xlVVJMLFxuICAgICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFsxMCwgMTBdIDogWzI1LCAyNF0sXG4gICAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDQwXSA6IFsxMC43LCAzMy43XSxcbiAgICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgICAgfSksXG4gICAgICBMLmljb24oe1xuICAgICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzcsIDddIDogWzEzLCAxNV0sXG4gICAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgIH0pLFxuICAgIF07XG5cbiAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoKSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gICAgfVxuXG4gICAgb2JzZXJ2YXRpb25JY29uLmZvckVhY2goKGljb24pID0+IHtcbiAgICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICAgIGljb246IGljb24sXG4gICAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG4gICAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYCR7cG9pbnQuZ3JvdXAubmFtZX0gKCR7cG9pbnQuaWR9KWApO1xuICAgICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbic7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55KSA9PiB7XG4gICAgaWYgKG9icyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtwb2ludC5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtwb2ludC5ncm91cC5uYW1lfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInNlY3RvclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke29icy5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtcbiAgICAgICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC5uYW1lXG4gICAgICAgICAgICAgICAgICAgIH08L2I+PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0eWAsXG4gICAgICAgICAgICAgICAgICAgICAgICApfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BvcHVwLWNvbnRlbnRfX3NldmVyaXR5LS0nICsgb2JzLnNldmVyaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGIgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1iXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4ke29icy5zZXZlcml0eX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8aHIgY2xhc3M9XCJwb3B1cC1jb250ZW50X19oclwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2Rpc2NoYXJnZS10aW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5maXJzdF9zZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGIgaWQ9XCJmaXJzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGIgaWQ9XCJsYXN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gICAgfVxuICB9O1xuXG4gIHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzKG1hcCwgcG9pbnQsICdQb2ludCcpO1xuICB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIHBvaW50LCAnT2JzZXJ2YXRpb24nKTtcbiAgdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMobWFwLCBwb2ludCwgJ1NhbXBsaW5nJyk7XG4gIHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzKG1hcCwgcG9pbnQsICdJY29uTnVtYmVyJyk7XG5cbiAgY29uc3QgcG9pbnRJc09ic2VydmF0aW9uID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBjZW50ZXJlZEV2ZW50ICE9PSBudWxsICYmXG4gICAgICBjZW50ZXJlZEV2ZW50Lm9ic2VydmF0aW9ucy5maWx0ZXIoKG9icykgPT4gb2JzLnBvaW50X2lkID09PSBwb2ludC5pZClbMF1cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHBvaW50QmVsb25nc1RvRXZlbnQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgYmluZFBvcHVwVG9Qb2ludCA9IChvYnM6IGFueSA9IG51bGwpID0+IHtcbiAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICAgIGlmIChcbiAgICAgICAgWydQb2ludCcsICdPYnNlcnZhdGlvbiddLmluY2x1ZGVzKGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0KSAmJlxuICAgICAgICBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdF9pZCA9PT0gcG9pbnQuaWRcbiAgICAgICkge1xuICAgICAgICBsYXllcnNbcHJvcGVydHldLmJpbmRQb3B1cChwb3B1cENvbnRlbnQob2JzKSwge1xuICAgICAgICAgIG1pbldpZHRoOiAyMDAsXG4gICAgICAgIH0pO1xuICAgICAgICBsYXllcnNbcHJvcGVydHldLm9uKCdwb3B1cG9wZW4nLCBmdW5jdGlvbiAoZTogYW55KSB7XG4gICAgICAgICAgaWYgKGZvY3VzZWRFdmVudCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgbGV0IGZpcnN0U2VlbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgbGV0IGxhc3RTZWVuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICBsZXQgc2VjdG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICAgICAgICAgIGlmIChvYnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgICAgIDxUaW1lRm9ybWF0XG4gICAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e29icy5zdGFydF90aW1lfVxuICAgICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnMudGltZV96b25lfVxuICAgICAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgICAgIGZpcnN0U2VlbixcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgICAgIDxUaW1lRm9ybWF0XG4gICAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e29icy5sYXN0X3NlZW5fdGltZX1cbiAgICAgICAgICAgICAgICAgIHRpbWVfem9uZT17b2JzLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICAgICBsYXN0U2VlbixcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgICAgICA8U2VjdG9yXG4gICAgICAgICAgICAgICAgICBzZWN0b3JOYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfbmFtZX1cbiAgICAgICAgICAgICAgICAgIHNlY3Rvckljb25OYW1lPXtwb2ludC5ncm91cC5zZWN0b3JfaWNvbl9uYW1lfVxuICAgICAgICAgICAgICAgICAgd2lkdGg9XCIzN1wiXG4gICAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICAgICAgc2VjdG9yLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgJCgnI2ZpcnN0LXNlZW4tcG9wdXAnKS5hcHBlbmQoZmlyc3RTZWVuKTtcbiAgICAgICAgICAgICAgJCgnI2xhc3Qtc2Vlbi1wb3B1cCcpLmFwcGVuZChsYXN0U2Vlbik7XG4gICAgICAgICAgICAgICQoJyNzZWN0b3InKS5hcHBlbmQoc2VjdG9yKTtcbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGV0IGF0dGFjaENsaWNrRXZlbnQgPSAoc2VsZWN0b3I6IHN0cmluZywgb2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgJChkb2N1bWVudC5ib2R5KS5vbignY2xpY2snLCBzZWxlY3RvciwgKCkgPT4ge1xuICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgIGRpc3BhdGNoKG9wZW5GbG9hdGluZ0dyYXBoKHRydWUsIG9ic2VydmF0aW9uLCBwb2ludCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmIChvYnMgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBvYnMuaWQsIG9icyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF0dGFjaENsaWNrRXZlbnQoJy5wb3B1cC1ncmFwaC1pY29uLScgKyBwb2ludC5pZCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgbGF5ZXJzW3Byb3BlcnR5XS5vcGVuUG9wdXAoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGN1c3RvbUljb25Gb3JQb2ludHNJZlBhcnRPZlBhdGhBbmRNb25pdG9yZWQgPSAobWFya2VyTG9jYXRpb24pID0+IHtcbiAgICBpZiAoY2VudGVyZWRFdmVudCkge1xuICAgICAgbGV0IGVkZ2VzSWRzOiBudW1iZXJbXSA9IFtdO1xuICAgICAgY2VudGVyZWRFdmVudC5wYXRoLmZvckVhY2goKHBhcnQpID0+IHtcbiAgICAgICAgZWRnZXNJZHMucHVzaChwYXJ0LmVkZ2VfaWQpO1xuICAgICAgfSk7XG5cbiAgICAgIGxldCByZWxldmFudEVkZ2VzID0gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoKGVkZ2UpID0+XG4gICAgICAgIGVkZ2VzSWRzLmluY2x1ZGVzKGVkZ2UuaWQpLFxuICAgICAgKTtcblxuICAgICAgbGV0IHJlbGV2YW50UG9pbnRzOiBudW1iZXJbXSA9IFtdO1xuICAgICAgcmVsZXZhbnRFZGdlcy5mb3JFYWNoKChlZGdlKSA9PiB7XG4gICAgICAgIHJlbGV2YW50UG9pbnRzLnB1c2goZWRnZS5zb3VyY2VfcG9pbnRfaWQpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZWxldmFudFBvaW50cy5pbmNsdWRlcyhwb2ludC5pZCkpIHtcbiAgICAgICAgY3JlYXRlTWFuaG9sZVBvaW50KG1hcmtlckxvY2F0aW9uKTtcbiAgICAgICAgY3JlYXRlQ3VzdG9tSWNvblBvaW50KG1hcmtlckxvY2F0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgbWFya2VyTG9jYXRpb24gPSBbcG9pbnRbJ2xhdGl0dWRlJ10sIHBvaW50Wydsb25naXR1ZGUnXV07XG4gICAgY3VzdG9tSWNvbkZvclBvaW50c0lmUGFydE9mUGF0aEFuZE1vbml0b3JlZChtYXJrZXJMb2NhdGlvbik7XG4gICAgaWYgKCFwb2ludC5ldmVudHNWaWV3SG92ZXJlZCkgY3JlYXRlTWFuaG9sZVBvaW50KG1hcmtlckxvY2F0aW9uKTtcbiAgICBpZiAobWFya2VyTG9jYXRpb25bMF0gIT09IG51bGwpIHtcbiAgICAgIGlmIChwb2ludC5wYXJ0X29mX21vbml0b3JlZF9wYXRoICYmICFwb2ludC5oYXNfZGV2aWNlKSByZXR1cm47XG4gICAgICBpZiAoXG4gICAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQpICE9PSBudWxsICYmXG4gICAgICAgIChjZW50ZXJlZEV2ZW50ID09PSBudWxsIHx8XG4gICAgICAgICAgKGNlbnRlcmVkRXZlbnQgIT09IG51bGwgJiYgcG9pbnRJc09ic2VydmF0aW9uKCkpIHx8XG4gICAgICAgICAgcG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JylcbiAgICAgICkge1xuICAgICAgICBpZiAocG9pbnQuZXZlbnRzVmlld0hvdmVyZWQpIGNyZWF0ZU1hbmhvbGVQb2ludChtYXJrZXJMb2NhdGlvbik7XG4gICAgICAgIGNyZWF0ZUN1c3RvbUljb25Qb2ludChtYXJrZXJMb2NhdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGlmIChmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgcG9pbnRJc09ic2VydmF0aW9uKCkpIHtcbiAgICAgICAgbGV0IGhhc1ByaW1hcnlJY29uID0gbWF0Y2hJY29uVG9Qb2ludChwb2ludCkgIT09IG51bGw7XG4gICAgICAgIGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50KG1hcmtlckxvY2F0aW9uLCBoYXNQcmltYXJ5SWNvbik7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJlxuICAgICAgICAgIGZvY3VzZWRFdmVudC5zYW1wbGluZ3MubGVuZ3RoICE9PSAwICYmXG4gICAgICAgICAgZm9jdXNlZEV2ZW50LnNhbXBsaW5nc1swXS5wb2ludF9pZCA9PT0gcG9pbnQuaWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQobWFya2VyTG9jYXRpb24sIGhhc1ByaW1hcnlJY29uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoY2VudGVyZWRFdmVudCAhPT0gbnVsbCAmJiBwb2ludEJlbG9uZ3NUb0V2ZW50KCkpIHtcbiAgICAgICAgbGV0IG9icyA9IGNlbnRlcmVkRXZlbnQub2JzZXJ2YXRpb25zLmZpbHRlcihcbiAgICAgICAgICAob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHBvaW50LmlkLFxuICAgICAgICApWzBdO1xuICAgICAgICBiaW5kUG9wdXBUb1BvaW50KG9icyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAvLyBVTkJJTkQgUE9QVVBcbiAgICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ09ic2VydmF0aW9uJyk7XG4gICAgICByZW1vdmVGcm9tTWFwKG1hcCwgcG9pbnQsICdQb2ludCcpO1xuICAgICAgcmVtb3ZlRnJvbU1hcChtYXAsIHBvaW50LCAnU2FtcGxpbmcnKTtcbiAgICAgIHJlbW92ZUZyb21NYXAobWFwLCBwb2ludCwgJ0ljb25OdW1iZXInKTtcbiAgICB9O1xuICB9LCBbY2VudGVyZWRFdmVudF0pO1xuXG4gIHJldHVybiA8ZGl2PjwvZGl2Pjtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihcbiAgUmVhY3QubWVtbyhQb2ludE1hcmtlciwgKHByZXZQcm9wcywgbmV4dFByb3BzKSA9PiB7XG4gICAgaWYgKFxuICAgICAgcHJldlByb3BzLmV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCAhPT0gbmV4dFByb3BzLmV2ZW50c19kYXRhLmZvY3VzZWRFdmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9KSxcbik7XG4iXX0=
|
|
@@ -26,7 +26,7 @@ var PointMarkers = function PointMarkers(props) {
|
|
|
26
26
|
return /*#__PURE__*/_react.default.createElement("div", null, points.length !== 0 && points.filter(function (point) {
|
|
27
27
|
return filterStatement(point);
|
|
28
28
|
}).map(function (point) {
|
|
29
|
-
return
|
|
29
|
+
return /*#__PURE__*/_react.default.createElement(_PointMarker.default, {
|
|
30
30
|
map: map,
|
|
31
31
|
L: L,
|
|
32
32
|
point: point,
|
|
@@ -36,4 +36,4 @@ var PointMarkers = function PointMarkers(props) {
|
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
exports.PointMarkers = PointMarkers;
|
|
39
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRNYXJrZXJzLnRzeCJdLCJuYW1lcyI6WyJQb2ludE1hcmtlcnMiLCJwcm9wcyIsIkwiLCJwb2ludHMiLCJtYXAiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJldmVudCIsImZpbHRlclN0YXRlbWVudCIsInBvaW50IiwicGFydF9vZl9tb25pdG9yZWRfcGF0aCIsImhhc19kZXZpY2UiLCJoaWRlIiwiZ3JvdXAiLCJ0eXBlIiwibGVuZ3RoIiwiZmlsdGVyIiwiaWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOztBQVVPLElBQU1BLFlBQTZCLEdBQUcsU0FBaENBLFlBQWdDLENBQUNDLEtBQUQsRUFBVztBQUN0RCxNQUFRQyxDQUFSLEdBQW9FRCxLQUFwRSxDQUFRQyxDQUFSO0FBQUEsTUFBV0MsTUFBWCxHQUFvRUYsS0FBcEUsQ0FBV0UsTUFBWDtBQUFBLE1BQW1CQyxHQUFuQixHQUFvRUgsS0FBcEUsQ0FBbUJHLEdBQW5CO0FBQUEsOEJBQW9FSCxLQUFwRSxDQUF3Qkksd0JBQXhCO0FBQUEsTUFBd0JBLHdCQUF4QixzQ0FBbUQsS0FBbkQ7QUFBQSxNQUEwREMsS0FBMUQsR0FBb0VMLEtBQXBFLENBQTBESyxLQUExRDs7QUFDQSxNQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLEtBQUQsRUFBVztBQUNqQyxXQUNHLENBQUNILHdCQUF3QixHQUN0QkcsS0FBSyxDQUFDQyxzQkFEZ0IsR0FFdEJELEtBQUssQ0FBQ0UsVUFGVCxLQUdDLENBQUNGLEtBQUssQ0FBQ0csSUFIVCxJQUlBSCxLQUFLLENBQUNJLEtBQU4sQ0FBWUMsSUFBWixLQUFxQixrQ0FKckIsSUFLQ0wsS0FBSyxDQUFDQyxzQkFBTixJQUFnQ0gsS0FBaEMsSUFBeUNFLEtBQUssQ0FBQ0UsVUFObEQ7QUFRRCxHQVREOztBQVdBLHNCQUNFLDBDQUNHUCxNQUFNLENBQUNXLE1BQVAsS0FBa0IsQ0FBbEIsSUFDQ1gsTUFBTSxDQUNIWSxNQURILENBQ1UsVUFBQ1AsS0FBRDtBQUFBLFdBQW1CRCxlQUFlLENBQUNDLEtBQUQsQ0FBbEM7QUFBQSxHQURWLEVBRUdKLEdBRkgsQ0FFTyxVQUFDSSxLQUFEO0FBQUEsd0JBQ0gsNkJBQUMsb0JBQUQ7QUFBYSxNQUFBLEdBQUcsRUFBRUosR0FBbEI7QUFBdUIsTUFBQSxDQUFDLEVBQUVGLENBQTFCO0FBQTZCLE1BQUEsS0FBSyxFQUFFTSxLQUFwQztBQUEyQyxNQUFBLEdBQUcsRUFBRUEsS0FBSyxDQUFDUTtBQUF0RCxNQURHO0FBQUEsR0FGUCxDQUZKLENBREY7QUFVRCxDQXZCTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IFBvaW50TWFya2VyIGZyb20gJy4vUG9pbnRNYXJrZXInO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBwb2ludHM6IGFueTtcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzOiBib29sZWFuO1xuICBldmVudD86IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBQb2ludE1hcmtlcnM6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IEwsIHBvaW50cywgbWFwLCBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSBmYWxzZSwgZXZlbnQgfSA9IHByb3BzO1xuICBjb25zdCBmaWx0ZXJTdGF0ZW1lbnQgPSAocG9pbnQpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgKChpbmNsdWRlVW5tb25pdG9yZWRQb2ludHNcbiAgICAgICAgPyBwb2ludC5wYXJ0X29mX21vbml0b3JlZF9wYXRoXG4gICAgICAgIDogcG9pbnQuaGFzX2RldmljZSkgJiZcbiAgICAgICAgIXBvaW50LmhpZGUpIHx8XG4gICAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnIHx8XG4gICAgICAocG9pbnQucGFydF9vZl9tb25pdG9yZWRfcGF0aCAmJiBldmVudCAmJiBwb2ludC5oYXNfZGV2aWNlKVxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAge3BvaW50cy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgcG9pbnRzXG4gICAgICAgICAgLmZpbHRlcigocG9pbnQ6IElQb2ludCkgPT4gZmlsdGVyU3RhdGVtZW50KHBvaW50KSlcbiAgICAgICAgICAubWFwKChwb2ludDogSVBvaW50KSA9PiAoXG4gICAgICAgICAgICA8UG9pbnRNYXJrZXIgbWFwPXttYXB9IEw9e0x9IHBvaW50PXtwb2ludH0ga2V5PXtwb2ludC5pZH0gLz5cbiAgICAgICAgICApKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0=
|
|
@@ -15,16 +15,8 @@ Object.defineProperty(exports, "DownloadSvg", {
|
|
|
15
15
|
return _download.ReactComponent;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
Object.defineProperty(exports, "CloseModalSvg", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function get() {
|
|
21
|
-
return _closeModal.ReactComponent;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
18
|
|
|
25
19
|
var _upload = require("@svgr/webpack?-svgo!assets/icons/upload.svg");
|
|
26
20
|
|
|
27
21
|
var _download = require("@svgr/webpack?-svgo!assets/icons/download.svg");
|
|
28
|
-
|
|
29
|
-
var _closeModal = require("@svgr/webpack?-svgo!assets/icons/close-modal.svg");
|
|
30
22
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
|
|
@@ -8,7 +8,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
|
|
9
9
|
require("@testing-library/jest-dom/extend-expect");
|
|
10
10
|
|
|
11
|
-
var _useApiWithDashboardQuery = require("hooks/useApiWithDashboardQuery");
|
|
11
|
+
var _useApiWithDashboardQuery = require("../../hooks/useApiWithDashboardQuery");
|
|
12
12
|
|
|
13
13
|
var _require = require('@testing-library/react'),
|
|
14
14
|
screen = _require.screen,
|
|
@@ -149,4 +149,4 @@ describe('DischargeHeatmap unit tests', function () {
|
|
|
149
149
|
});
|
|
150
150
|
});
|
|
151
151
|
});
|
|
152
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Rpc2NoYXJnZUhlYXRtYXAvRGlzY2hhcmdlSGVhdG1hcC50ZXN0LmpzIl0sIm5hbWVzIjpbInJlcXVpcmUiLCJzY3JlZW4iLCJyZW5kZXIiLCJNb2NrRGlzY2hhcmdlSGVhdG1hcCIsImlzU2hvd2luZ1RpdGxlcyIsImplc3QiLCJtb2NrIiwiUm93TG9hZGVyIiwidXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IiwiZm4iLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJtb2NrSW1wbGVtZW50YXRpb24iLCJ0ZXN0IiwiZXhwZWN0IiwiZ2V0QnlUZXh0IiwidG9CZVZpc2libGUiLCJjb250YWluZXIiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwibGVuZ3RoIiwidG9CZSIsInF1ZXJ5RGF0YSIsInlMYWJsZXMiLCJBcnJheSIsImZyb20iLCJxdWVyeVNlbGVjdG9yQWxsIiwibWFwIiwidGV4dCIsInRleHRDb250ZW50IiwiZGF0YSIsImZpbGwiLCJpc193ZWVrX3N0YXJ0X29uX3N1bmRheSJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBLGVBQTJCQSxPQUFPLENBQUMsd0JBQUQsQ0FBbEM7QUFBQSxJQUFRQyxNQUFSLFlBQVFBLE1BQVI7QUFBQSxJQUFnQkMsTUFBaEIsWUFBZ0JBLE1BQWhCOztBQUVBLElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBdUIsT0FBaUM7QUFBQSxrQ0FBOUJDLGVBQThCO0FBQUEsTUFBOUJBLGVBQThCLHFDQUFaLEtBQVk7QUFDNUQsc0JBQU8sNkJBQUMsa0NBQUQ7QUFBa0IsSUFBQSxlQUFlLEVBQUVBLGVBQW5DO0FBQW9ELElBQUEsT0FBTyxFQUFFO0FBQTdELElBQVA7QUFDRCxDQUZEOztBQUdBQyxJQUFJLENBQUNDLElBQUwsQ0FBVSxrQkFBVixFQUE4QixZQUFNO0FBQ2xDLFNBQU87QUFDTEMsSUFBQUEsU0FBUyxFQUFFLHFCQUFNO0FBQ2Y7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QUFHQyxLQUFLLENBQUNDLElBQU4sQ0FDZFAsU0FBUyxDQUFDUSxnQkFBVixDQUEyQiwrQkFBM0IsQ0FEYyxFQUVkQyxHQUZjLENBRVYsVUFBQ0MsSUFBRDtBQUFBLGVBQVVBLElBQUksQ0FBQ0MsV0FBZjtBQUFBLE9BRlUsQ0FBaEI7QUFHQWQsTUFBQUEsTUFBTSxDQUFDUSxPQUFPLENBQUMsQ0FBRCxDQUFSLENBQU4sQ0FBbUJGLElBQW5CLENBQXdCLEtBQXhCO0FBQ0QsS0FmRyxDQUFKO0FBZ0JELEdBaERPLENBQVI7QUFpREQsQ0EzR08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEaXNjaGFyZ2VIZWF0bWFwIGZyb20gJy4vRGlzY2hhcmdlSGVhdG1hcENvbnRhaW5lcic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICdAdGVzdGluZy1saWJyYXJ5L2plc3QtZG9tL2V4dGVuZC1leHBlY3QnO1xuaW1wb3J0IHsgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IH0gZnJvbSAnc3JjL2hvb2tzL3VzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeSc7XG5jb25zdCB7IHNjcmVlbiwgcmVuZGVyIH0gPSByZXF1aXJlKCdAdGVzdGluZy1saWJyYXJ5L3JlYWN0Jyk7XG5cbmNvbnN0IE1vY2tEaXNjaGFyZ2VIZWF0bWFwID0gKHsgaXNTaG93aW5nVGl0bGVzID0gZmFsc2UgfSkgPT4ge1xuICByZXR1cm4gPERpc2NoYXJnZUhlYXRtYXAgaXNTaG93aW5nVGl0bGVzPXtpc1Nob3dpbmdUaXRsZXN9IHBvaW50SWQ9ezV9IC8+O1xufTtcbmplc3QubW9jaygnLi4vQ29udGVudExvYWRlcicsICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBSb3dMb2FkZXI6ICgpID0+IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBsb2NhbC1ydWxlcy9uby1oYXJkLWNvZGVkLWpzeC1saXRlcmFsc1xuICAgICAgcmV0dXJuIDxkaXY+Um93TG9hZGVyPC9kaXY+O1xuICAgIH0sXG4gIH07XG59KTtcbmplc3QubW9jaygnLi4vLi4vaG9va3MvdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5JywgKCkgPT4gKHtcbiAgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5OiBqZXN0LmZuKCksXG59KSk7XG5kZXNjcmliZSgnRGlzY2hhcmdlSGVhdG1hcCB1bml0IHRlc3RzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnbG9hZGluZy4uLicsICgpID0+IHtcbiAgICBiZWZvcmVFYWNoKCgpID0+XG4gICAgICB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIFtudWxsLCB0cnVlLCBmYWxzZV07XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGVzdCgndGVzdCBsb2FkaW5nJywgKCkgPT4ge1xuICAgICAgcmVuZGVyKDxNb2NrRGlzY2hhcmdlSGVhdG1hcCAvPik7XG4gICAgICBleHBlY3Qoc2NyZWVuLmdldEJ5VGV4dCgnUm93TG9hZGVyJykpLnRvQmVWaXNpYmxlKCk7XG4gICAgfSk7XG4gICAgdGVzdCgndGVzdCBubyB0aXRsZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxNb2NrRGlzY2hhcmdlSGVhdG1hcCAvPik7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hlYXRtYXBfX3RpdGxlJykubGVuZ3RoKS50b0JlKDApO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWF0bWFwX19zdWJ0aXRsZScpLmxlbmd0aCkudG9CZShcbiAgICAgICAgMCxcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCd0ZXN0IHdpdGggdGl0bGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgICAgPE1vY2tEaXNjaGFyZ2VIZWF0bWFwIGlzU2hvd2luZ1RpdGxlcz17dHJ1ZX0gLz4sXG4gICAgICApO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWF0bWFwX190aXRsZScpLmxlbmd0aCkudG9CZSgxKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGVhdG1hcF9fc3VidGl0bGUnKS5sZW5ndGgpLnRvQmUoXG4gICAgICAgIDAsXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2hhcyBtaXNzaW5nIGRhdGEuLi4nLCAoKSA9PiB7XG4gICAgY29uc3QgcXVlcnlEYXRhID0gW3t9LCBmYWxzZSwgZmFsc2VdO1xuXG4gICAgdGVzdCgndGVzdCB0aXRsZScsICgpID0+IHtcbiAgICAgIHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuICAgICAgICByZXR1cm4gcXVlcnlEYXRhO1xuICAgICAgfSk7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKFxuICAgICAgICA8TW9ja0Rpc2NoYXJnZUhlYXRtYXAgaXNTaG93aW5nVGl0bGVzPXt0cnVlfSAvPixcbiAgICAgICk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hlYXRtYXBfX3RpdGxlJykubGVuZ3RoKS50b0JlKDEpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWF0bWFwX19zdWJ0aXRsZScpLmxlbmd0aCkudG9CZShcbiAgICAgICAgMSxcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdGVzdCgndGVzdCB3ZWVrRGF5IHN0YXJ0IG9uIFN1bmRheScsICgpID0+IHtcbiAgICAgIHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuICAgICAgICByZXR1cm4gcXVlcnlEYXRhO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPE1vY2tEaXNjaGFyZ2VIZWF0bWFwIC8+KTtcbiAgICAgIGNvbnN0IHlMYWJsZXMgPSBBcnJheS5mcm9tKFxuICAgICAgICBjb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnLmhpZ2hjaGFydHMteWF4aXMtbGFiZWxzIHRleHQnKSxcbiAgICAgICkubWFwKCh0ZXh0KSA9PiB0ZXh0LnRleHRDb250ZW50KTtcbiAgICAgIGV4cGVjdCh5TGFibGVzLmxlbmd0aCkudG9CZSgwKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2hhcyBjb3JyZWN0IGRhdGEuLi4nLCAoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IEFycmF5KDU2KS5maWxsKFswLCAwLCAyNl0pO1xuICAgIGNvbnN0IHF1ZXJ5RGF0YSA9IFtcbiAgICAgIHsgZGF0YTogeyBpc193ZWVrX3N0YXJ0X29uX3N1bmRheTogdHJ1ZSwgZGF0YSB9IH0sXG4gICAgICBmYWxzZSxcbiAgICAgIGZhbHNlLFxuICAgIF07XG5cbiAgICB0ZXN0KCd0ZXN0IHRpdGxlJywgKCkgPT4ge1xuICAgICAgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5Lm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG4gICAgICAgIHJldHVybiBxdWVyeURhdGE7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICAgIDxNb2NrRGlzY2hhcmdlSGVhdG1hcCBpc1Nob3dpbmdUaXRsZXM9e3RydWV9IC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGVhdG1hcF9fdGl0bGUnKS5sZW5ndGgpLnRvQmUoMSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hlYXRtYXBfX3N1YnRpdGxlJykubGVuZ3RoKS50b0JlKFxuICAgICAgICAxLFxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0ZXN0KCd0ZXN0IHdlZWtEYXkgc3RhcnQgb24gU3VuZGF5JywgKCkgPT4ge1xuICAgICAgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5Lm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG4gICAgICAgIHJldHVybiBxdWVyeURhdGE7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8TW9ja0Rpc2NoYXJnZUhlYXRtYXAgLz4pO1xuICAgICAgY29uc3QgeUxhYmxlcyA9IEFycmF5LmZyb20oXG4gICAgICAgIGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuaGlnaGNoYXJ0cy15YXhpcy1sYWJlbHMgdGV4dCcpLFxuICAgICAgKS5tYXAoKHRleHQpID0+IHRleHQudGV4dENvbnRlbnQpO1xuICAgICAgZXhwZWN0KHlMYWJsZXNbMF0pLnRvQmUoJ1N1bicpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgndGVzdCB3ZWVrRGF5IHN0YXJ0IG9uIE1vbmRheScsICgpID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5RGF0YSA9IFtcbiAgICAgICAgeyBkYXRhOiB7IGlzX3dlZWtfc3RhcnRfb25fc3VuZGF5OiBmYWxzZSwgZGF0YSB9IH0sXG4gICAgICAgIGZhbHNlLFxuICAgICAgICBmYWxzZSxcbiAgICAgIF07XG4gICAgICB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5RGF0YTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxNb2NrRGlzY2hhcmdlSGVhdG1hcCAvPik7XG4gICAgICBjb25zdCB5TGFibGVzID0gQXJyYXkuZnJvbShcbiAgICAgICAgY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5oaWdoY2hhcnRzLXlheGlzLWxhYmVscyB0ZXh0JyksXG4gICAgICApLm1hcCgodGV4dCkgPT4gdGV4dC50ZXh0Q29udGVudCk7XG4gICAgICBleHBlY3QoeUxhYmxlc1swXSkudG9CZSgnTW9uJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
152
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Rpc2NoYXJnZUhlYXRtYXAvRGlzY2hhcmdlSGVhdG1hcC50ZXN0LmpzIl0sIm5hbWVzIjpbInJlcXVpcmUiLCJzY3JlZW4iLCJyZW5kZXIiLCJNb2NrRGlzY2hhcmdlSGVhdG1hcCIsImlzU2hvd2luZ1RpdGxlcyIsImplc3QiLCJtb2NrIiwiUm93TG9hZGVyIiwidXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IiwiZm4iLCJkZXNjcmliZSIsImJlZm9yZUVhY2giLCJtb2NrSW1wbGVtZW50YXRpb24iLCJ0ZXN0IiwiZXhwZWN0IiwiZ2V0QnlUZXh0IiwidG9CZVZpc2libGUiLCJjb250YWluZXIiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwibGVuZ3RoIiwidG9CZSIsInF1ZXJ5RGF0YSIsInlMYWJsZXMiLCJBcnJheSIsImZyb20iLCJxdWVyeVNlbGVjdG9yQWxsIiwibWFwIiwidGV4dCIsInRleHRDb250ZW50IiwiZGF0YSIsImZpbGwiLCJpc193ZWVrX3N0YXJ0X29uX3N1bmRheSJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBLGVBQTJCQSxPQUFPLENBQUMsd0JBQUQsQ0FBbEM7QUFBQSxJQUFRQyxNQUFSLFlBQVFBLE1BQVI7QUFBQSxJQUFnQkMsTUFBaEIsWUFBZ0JBLE1BQWhCOztBQUVBLElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBdUIsT0FBaUM7QUFBQSxrQ0FBOUJDLGVBQThCO0FBQUEsTUFBOUJBLGVBQThCLHFDQUFaLEtBQVk7QUFDNUQsc0JBQU8sNkJBQUMsa0NBQUQ7QUFBa0IsSUFBQSxlQUFlLEVBQUVBLGVBQW5DO0FBQW9ELElBQUEsT0FBTyxFQUFFO0FBQTdELElBQVA7QUFDRCxDQUZEOztBQUdBQyxJQUFJLENBQUNDLElBQUwsQ0FBVSxrQkFBVixFQUE4QixZQUFNO0FBQ2xDLFNBQU87QUFDTEMsSUFBQUEsU0FBUyxFQUFFLHFCQUFNO0FBQ2Y7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QUFHQyxLQUFLLENBQUNDLElBQU4sQ0FDZFAsU0FBUyxDQUFDUSxnQkFBVixDQUEyQiwrQkFBM0IsQ0FEYyxFQUVkQyxHQUZjLENBRVYsVUFBQ0MsSUFBRDtBQUFBLGVBQVVBLElBQUksQ0FBQ0MsV0FBZjtBQUFBLE9BRlUsQ0FBaEI7QUFHQWQsTUFBQUEsTUFBTSxDQUFDUSxPQUFPLENBQUMsQ0FBRCxDQUFSLENBQU4sQ0FBbUJGLElBQW5CLENBQXdCLEtBQXhCO0FBQ0QsS0FmRyxDQUFKO0FBZ0JELEdBaERPLENBQVI7QUFpREQsQ0EzR08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEaXNjaGFyZ2VIZWF0bWFwIGZyb20gJy4vRGlzY2hhcmdlSGVhdG1hcENvbnRhaW5lcic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICdAdGVzdGluZy1saWJyYXJ5L2plc3QtZG9tL2V4dGVuZC1leHBlY3QnO1xuaW1wb3J0IHsgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5IH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5JztcbmNvbnN0IHsgc2NyZWVuLCByZW5kZXIgfSA9IHJlcXVpcmUoJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnKTtcblxuY29uc3QgTW9ja0Rpc2NoYXJnZUhlYXRtYXAgPSAoeyBpc1Nob3dpbmdUaXRsZXMgPSBmYWxzZSB9KSA9PiB7XG4gIHJldHVybiA8RGlzY2hhcmdlSGVhdG1hcCBpc1Nob3dpbmdUaXRsZXM9e2lzU2hvd2luZ1RpdGxlc30gcG9pbnRJZD17NX0gLz47XG59O1xuamVzdC5tb2NrKCcuLi9Db250ZW50TG9hZGVyJywgKCkgPT4ge1xuICByZXR1cm4ge1xuICAgIFJvd0xvYWRlcjogKCkgPT4ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGxvY2FsLXJ1bGVzL25vLWhhcmQtY29kZWQtanN4LWxpdGVyYWxzXG4gICAgICByZXR1cm4gPGRpdj5Sb3dMb2FkZXI8L2Rpdj47XG4gICAgfSxcbiAgfTtcbn0pO1xuamVzdC5tb2NrKCcuLi8uLi9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknLCAoKSA9PiAoe1xuICB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnk6IGplc3QuZm4oKSxcbn0pKTtcbmRlc2NyaWJlKCdEaXNjaGFyZ2VIZWF0bWFwIHVuaXQgdGVzdHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdsb2FkaW5nLi4uJywgKCkgPT4ge1xuICAgIGJlZm9yZUVhY2goKCkgPT5cbiAgICAgIHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuICAgICAgICByZXR1cm4gW251bGwsIHRydWUsIGZhbHNlXTtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0ZXN0KCd0ZXN0IGxvYWRpbmcnLCAoKSA9PiB7XG4gICAgICByZW5kZXIoPE1vY2tEaXNjaGFyZ2VIZWF0bWFwIC8+KTtcbiAgICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdSb3dMb2FkZXInKSkudG9CZVZpc2libGUoKTtcbiAgICB9KTtcbiAgICB0ZXN0KCd0ZXN0IG5vIHRpdGxlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPE1vY2tEaXNjaGFyZ2VIZWF0bWFwIC8+KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGVhdG1hcF9fdGl0bGUnKS5sZW5ndGgpLnRvQmUoMCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hlYXRtYXBfX3N1YnRpdGxlJykubGVuZ3RoKS50b0JlKFxuICAgICAgICAwLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ3Rlc3Qgd2l0aCB0aXRsZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKFxuICAgICAgICA8TW9ja0Rpc2NoYXJnZUhlYXRtYXAgaXNTaG93aW5nVGl0bGVzPXt0cnVlfSAvPixcbiAgICAgICk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hlYXRtYXBfX3RpdGxlJykubGVuZ3RoKS50b0JlKDEpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWF0bWFwX19zdWJ0aXRsZScpLmxlbmd0aCkudG9CZShcbiAgICAgICAgMCxcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xuICBkZXNjcmliZSgnaGFzIG1pc3NpbmcgZGF0YS4uLicsICgpID0+IHtcbiAgICBjb25zdCBxdWVyeURhdGEgPSBbe30sIGZhbHNlLCBmYWxzZV07XG5cbiAgICB0ZXN0KCd0ZXN0IHRpdGxlJywgKCkgPT4ge1xuICAgICAgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5Lm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG4gICAgICAgIHJldHVybiBxdWVyeURhdGE7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoXG4gICAgICAgIDxNb2NrRGlzY2hhcmdlSGVhdG1hcCBpc1Nob3dpbmdUaXRsZXM9e3RydWV9IC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGVhdG1hcF9fdGl0bGUnKS5sZW5ndGgpLnRvQmUoMSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2hlYXRtYXBfX3N1YnRpdGxlJykubGVuZ3RoKS50b0JlKFxuICAgICAgICAxLFxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0ZXN0KCd0ZXN0IHdlZWtEYXkgc3RhcnQgb24gU3VuZGF5JywgKCkgPT4ge1xuICAgICAgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5Lm1vY2tJbXBsZW1lbnRhdGlvbigoKSA9PiB7XG4gICAgICAgIHJldHVybiBxdWVyeURhdGE7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcig8TW9ja0Rpc2NoYXJnZUhlYXRtYXAgLz4pO1xuICAgICAgY29uc3QgeUxhYmxlcyA9IEFycmF5LmZyb20oXG4gICAgICAgIGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuaGlnaGNoYXJ0cy15YXhpcy1sYWJlbHMgdGV4dCcpLFxuICAgICAgKS5tYXAoKHRleHQpID0+IHRleHQudGV4dENvbnRlbnQpO1xuICAgICAgZXhwZWN0KHlMYWJsZXMubGVuZ3RoKS50b0JlKDApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaGFzIGNvcnJlY3QgZGF0YS4uLicsICgpID0+IHtcbiAgICBjb25zdCBkYXRhID0gQXJyYXkoNTYpLmZpbGwoWzAsIDAsIDI2XSk7XG4gICAgY29uc3QgcXVlcnlEYXRhID0gW1xuICAgICAgeyBkYXRhOiB7IGlzX3dlZWtfc3RhcnRfb25fc3VuZGF5OiB0cnVlLCBkYXRhIH0gfSxcbiAgICAgIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgXTtcblxuICAgIHRlc3QoJ3Rlc3QgdGl0bGUnLCAoKSA9PiB7XG4gICAgICB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5RGF0YTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcihcbiAgICAgICAgPE1vY2tEaXNjaGFyZ2VIZWF0bWFwIGlzU2hvd2luZ1RpdGxlcz17dHJ1ZX0gLz4sXG4gICAgICApO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWF0bWFwX190aXRsZScpLmxlbmd0aCkudG9CZSgxKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaGVhdG1hcF9fc3VidGl0bGUnKS5sZW5ndGgpLnRvQmUoXG4gICAgICAgIDEsXG4gICAgICApO1xuICAgIH0pO1xuICAgIHRlc3QoJ3Rlc3Qgd2Vla0RheSBzdGFydCBvbiBTdW5kYXknLCAoKSA9PiB7XG4gICAgICB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5RGF0YTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyKDxNb2NrRGlzY2hhcmdlSGVhdG1hcCAvPik7XG4gICAgICBjb25zdCB5TGFibGVzID0gQXJyYXkuZnJvbShcbiAgICAgICAgY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5oaWdoY2hhcnRzLXlheGlzLWxhYmVscyB0ZXh0JyksXG4gICAgICApLm1hcCgodGV4dCkgPT4gdGV4dC50ZXh0Q29udGVudCk7XG4gICAgICBleHBlY3QoeUxhYmxlc1swXSkudG9CZSgnU3VuJyk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCd0ZXN0IHdlZWtEYXkgc3RhcnQgb24gTW9uZGF5JywgKCkgPT4ge1xuICAgICAgY29uc3QgcXVlcnlEYXRhID0gW1xuICAgICAgICB7IGRhdGE6IHsgaXNfd2Vla19zdGFydF9vbl9zdW5kYXk6IGZhbHNlLCBkYXRhIH0gfSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIGZhbHNlLFxuICAgICAgXTtcbiAgICAgIHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge1xuICAgICAgICByZXR1cm4gcXVlcnlEYXRhO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXIoPE1vY2tEaXNjaGFyZ2VIZWF0bWFwIC8+KTtcbiAgICAgIGNvbnN0IHlMYWJsZXMgPSBBcnJheS5mcm9tKFxuICAgICAgICBjb250YWluZXIucXVlcnlTZWxlY3RvckFsbCgnLmhpZ2hjaGFydHMteWF4aXMtbGFiZWxzIHRleHQnKSxcbiAgICAgICkubWFwKCh0ZXh0KSA9PiB0ZXh0LnRleHRDb250ZW50KTtcbiAgICAgIGV4cGVjdCh5TGFibGVzWzBdKS50b0JlKCdNb24nKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -245,8 +245,6 @@ var KandoNavbar = function KandoNavbar(_ref) {
|
|
|
245
245
|
}, _i18n.default.t('main_screen.feedback')), /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Divider, null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Item, {
|
|
246
246
|
href: replaceURL('locale', 'en')
|
|
247
247
|
}, 'English'), /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Item, {
|
|
248
|
-
href: replaceURL('locale', 'en_uk')
|
|
249
|
-
}, 'English (UK)'), /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Item, {
|
|
250
248
|
href: replaceURL('locale', 'he')
|
|
251
249
|
}, 'עברית'), /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Item, {
|
|
252
250
|
href: replaceURL('locale', 'fr')
|
|
@@ -312,4 +310,4 @@ var KandoNavbar = function KandoNavbar(_ref) {
|
|
|
312
310
|
KandoNavbar.defaultProps = defaultProps;
|
|
313
311
|
var _default = KandoNavbar;
|
|
314
312
|
exports.default = _default;
|
|
315
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hlYWRlci9LYW5kb05hdmJhci9LYW5kb05hdmJhci50c3giXSwibmFtZXMiOlsidXBkYXRlUGFnZVRpdGxlIiwidGl0bGUiLCJkb2N1bWVudCIsImRlZmF1bHRQcm9wcyIsInNlbGVjdGVkTGFiZWwiLCJoYXNTZWFyY2giLCJyZXBsYWNlVVJMIiwia2V5IiwidmFsdWUiLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInNlYXJjaCIsInNldCIsInByb3RvY29sIiwiaG9zdCIsInBhdGhuYW1lIiwidG9TdHJpbmciLCJLYW5kb05hdmJhciIsIndhdGVyQXV0aG9yaXR5SWQiLCJ3YXRlckF1dGhvcml0aWVzIiwic2V0V2F0ZXJBdXRob3JpdGllcyIsInBob3RvX3VybCIsImxhYmVsIiwibG9jYWxXYXRlckF1dGhvcml0eSIsInNldExvY2FsV2F0ZXJBdXRob3JpdHkiLCJ3YUlkIiwic2V0V2FJZCIsIm1lbnUiLCJzZXRNZW51IiwiZGlzcGF0Y2giLCJ1c2VRdWVyeSIsInF1ZXJ5IiwiZWRpdCIsImxpbmsiLCJmZWVkYmFjayIsIm15X3Byb2ZpbGUiLCJuYW1lIiwidW5kZWZpbmVkIiwic2lnbl9vdXQiLCJtZXRob2QiLCJjdXN0b21lck1lbnUiLCJzZXRDdXN0b21lck1lbnUiLCJuYXZDb250ZXh0Iiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwiaGlzdG9yeSIsImhhbmRsZUNoYW5nZSIsInNlbGVjdGVkT3B0aW9uIiwiaWQiLCJwdXNoIiwibG9jYWxlIiwiaXRlcmF0ZSIsIm9iaiIsIml0ZW1zIiwicHJvcGVydHkiLCJleHBhbmRhYmxlIiwiaTE4biIsInQiLCJleHBhbnNpb24iLCJjbGFzcyIsInJlbmRlckNsaWVudHNQaG90byIsInVybCIsInN0YXJ0c1dpdGgiLCJXYXRlckF1dGhvcml0eU1pc3NpbmdJY29uIiwiaGVpZ2h0Iiwid2lkdGgiLCJidWlsZFN3aXRjaENsaWVudCIsImxlbmd0aCIsIm1hcCIsImUiLCJidWlsZEN1c3RvbWVyTWVudSIsImNvbnRleHROYW1lIiwiQXZhdGFyIiwiZ2V0IiwiZmV0Y2giLCJ0aGVuIiwicmVzcG9uc2UiLCJqc29uIiwid2F0ZXJfYXV0aG9yaXRpZXMiLCJ3YXRlcl9hdXRob3JpdHkiLCJjdXN0b21lcl9tZW51IiwiY2xlYW51cCIsIkthbmRvTG9nbyIsImNvbG9yIiwiaXRlbSIsImZhVGludCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsS0FBRDtBQUFBLFNBQ3JCQyxRQUFRLENBQUNELEtBQVQscUJBQTRCQSxLQUE1QixDQURxQjtBQUFBLENBQXhCOztBQVNBLElBQU1FLFlBQVksR0FBRztBQUNuQkMsRUFBQUEsYUFBYSxFQUFFLEVBREk7QUFFbkJDLEVBQUFBLFNBQVMsRUFBRTtBQUZRLENBQXJCOztBQUtBLFNBQVNDLFVBQVQsQ0FBb0JDLEdBQXBCLEVBQWlDQyxLQUFqQyxFQUFnRDtBQUM5QyxNQUFJQyxNQUFNLEdBQUcsSUFBSUMsZUFBSixDQUFvQkMsTUFBTSxDQUFDQyxRQUFQLENBQWdCQyxNQUFwQyxDQUFiO0FBQ0FKLEVBQUFBLE1BQU0sQ0FBQ0ssR0FBUCxDQUFXUCxHQUFYLEVBQWdCQyxLQUFoQjtBQUNBLFNBQ0VHLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkcsUUFBaEIsR0FDQSxJQURBLEdBRUFKLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkksSUFGaEIsR0FHQUwsTUFBTSxDQUFDQyxRQUFQLENBQWdCSyxRQUhoQixHQUlBLEdBSkEsR0FLQVIsTUFBTSxDQUFDUyxRQUFQLEVBTkY7QUFRRDs7QUFFRCxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBYyxPQUlOO0FBQUEsTUFIWkMs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WixHQUEyQkEsWUFBM0I7ZUFFZWdCLFciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYVRpbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTmF2LCBOYXZiYXIsIE5hdkRyb3Bkb3duIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZUhpc3RvcnksIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgU2VsZWN0IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5pbXBvcnQgS2FuZG9Mb2dvIGZyb20gJ3NyYy9hc3NldHMva2FuZG9fbG9nby5wbmcnO1xuaW1wb3J0IFdhdGVyQXV0aG9yaXR5TWlzc2luZ0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9taXNzaW5nL2F1dGhvcml0eS5wbmcnO1xuaW1wb3J0IEF2YXRhciBmcm9tICdzcmMvYXNzZXRzL3VzZXIuc3ZnJztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdzcmMvY29tcG9uZW50cy9MaW5rcy9TdHlsZWRMaW5rL1N0eWxlZExpbmsnO1xuaW1wb3J0IHsgc2V0V2F0ZXJBdXRob3JpdHkgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCAnLi9OYXZiYXJTdHlsZS5zY3NzJztcblxuY29uc3QgdXBkYXRlUGFnZVRpdGxlID0gKHRpdGxlOiBzdHJpbmcpID0+XG4gIChkb2N1bWVudC50aXRsZSA9IGBLYW5kbyAtICR7dGl0bGV9YCk7XG5cbnR5cGUgSVByb3BzID0ge1xuICB3YXRlckF1dGhvcml0eUlkOiBudW1iZXI7XG4gIHNlbGVjdGVkTGFiZWw/OiBzdHJpbmc7XG4gIGhhc1NlYXJjaD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIHNlbGVjdGVkTGFiZWw6ICcnLFxuICBoYXNTZWFyY2g6IGZhbHNlLFxufTtcblxuZnVuY3Rpb24gcmVwbGFjZVVSTChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICBsZXQgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbiAgcGFyYW1zLnNldChrZXksIHZhbHVlKTtcbiAgcmV0dXJuIChcbiAgICB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgK1xuICAgICcvLycgK1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ob3N0ICtcbiAgICB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgK1xuICAgICc/JyArXG4gICAgcGFyYW1zLnRvU3RyaW5nKClcbiAgKTtcbn1cblxuY29uc3QgS2FuZG9OYXZiYXIgPSAoe1xuICB3YXRlckF1dGhvcml0eUlkLFxuICBzZWxlY3RlZExhYmVsLFxuICBoYXNTZWFyY2gsXG59OiBJUHJvcHMpID0+IHtcbiAgY29uc3QgW3dhdGVyQXV0aG9yaXRpZXMsIHNldFdhdGVyQXV0aG9yaXRpZXNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbbG9jYWxXYXRlckF1dGhvcml0eSwgc2V0TG9jYWxXYXRlckF1dGhvcml0eV0gPSB1c2VTdGF0ZSh7XG4gICAgcGhvdG9fdXJsOiAnbWlzc2luZycsXG4gICAgbGFiZWw6ICcnLFxuICB9KTtcbiAgY29uc3QgW3dhSWQsIHNldFdhSWRdID0gdXNlU3RhdGUod2F0ZXJBdXRob3JpdHlJZCk7XG4gIGNvbnN0IFttZW51LCBzZXRNZW51XSA9IHVzZVN0YXRlKHt9KTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IHVzZVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbiAgfTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuXG4gIGNvbnN0IFtjdXN0b21lck1lbnUsIHNldEN1c3RvbWVyTWVudV0gPSB1c2VTdGF0ZSh7XG4gICAgZWRpdDoge1xuICAgICAgbGluazogJycsXG4gICAgICBsYWJlbDogJ21haW5fc2NyZWVuLmVkaXRfYWNjb3VudCcsXG4gICAgfSxcbiAgICBmZWVkYmFjazoge1xuICAgICAgbGluazogJycsXG4gICAgICBsYWJlbDogJ21haW5fc2NyZWVuLmZlZWRiYWNrJyxcbiAgICB9LFxuICAgIG15X3Byb2ZpbGU6IHtcbiAgICAgIGxpbms6ICcnLFxuICAgICAgbGFiZWw6ICdtYWluX3NjcmVlbi5teV9wcm9maWxlJyxcbiAgICB9LFxuICAgIG5hbWU6IHVuZGVmaW5lZCxcbiAgICBzaWduX291dDoge1xuICAgICAgbGluazogJycsXG4gICAgICBsYWJlbDogJ21haW5fc2NyZWVuLnNpZ25fb3V0JyxcbiAgICAgIG1ldGhvZDogJycsXG4gICAgfSxcbiAgfSk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG5cbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAoc2VsZWN0ZWRPcHRpb246IGFueSkgPT4ge1xuICAgIHNldFdhSWQoc2VsZWN0ZWRPcHRpb24udmFsdWUpO1xuICAgIGRpc3BhdGNoKHNldFdhdGVyQXV0aG9yaXR5KHsgaWQ6IHNlbGVjdGVkT3B0aW9uLnZhbHVlLCBuYW1lOiAnJyB9KSk7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdkNvbnRleHQubmFtZX0vaW5kZXg/bG9jYWxlPSR7bmF2Q29udGV4dC5sb2NhbGV9JndhdGVyX2F1dGhvcml0eV9pZD0ke3NlbGVjdGVkT3B0aW9uLnZhbHVlfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBpdGVyYXRlID0gKG9iajogYW55KSA9PiB7XG4gICAgbGV0IGl0ZW1zOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gb2JqKSB7XG4gICAgICBpZiAob2JqW3Byb3BlcnR5XS5leHBhbmRhYmxlKSB7XG4gICAgICAgIGl0ZW1zLnB1c2goXG4gICAgICAgICAgPE5hdkRyb3Bkb3duXG4gICAgICAgICAgICBrZXk9e29ialtwcm9wZXJ0eV0ubGFiZWx9XG4gICAgICAgICAgICB0aXRsZT17aTE4bi50KG9ialtwcm9wZXJ0eV0ubGFiZWwpfVxuICAgICAgICAgICAgaWQ9XCJiYXNpYy1uYXYtZHJvcGRvd25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpdGVyYXRlKG9ialtwcm9wZXJ0eV0uZXhwYW5zaW9uKX1cbiAgICAgICAgICA8L05hdkRyb3Bkb3duPixcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChvYmpbcHJvcGVydHldLmNsYXNzID09PSAnanMtaXMtcmVhY3QnKSB7XG4gICAgICAgICAgaXRlbXMucHVzaChcbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGtleT17b2JqW3Byb3BlcnR5XS5saW5rfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcm9wZG93bi1pdGVtXCJcbiAgICAgICAgICAgICAgdG89e29ialtwcm9wZXJ0eV0ubGlua31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udChvYmpbcHJvcGVydHldLmxhYmVsKX1cbiAgICAgICAgICAgIDwvTGluaz4sXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtcy5wdXNoKFxuICAgICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1cbiAgICAgICAgICAgICAga2V5PXtvYmpbcHJvcGVydHldLmxpbmt9XG4gICAgICAgICAgICAgIGhyZWY9e29ialtwcm9wZXJ0eV0ubGlua31cbiAgICAgICAgICAgICAgaWQ9XCJiYXNpYy1uYXZiYXItbmF2XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udChvYmpbcHJvcGVydHldLmxhYmVsKX1cbiAgICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT4sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpdGVtcztcbiAgfTtcblxuICBjb25zdCByZW5kZXJDbGllbnRzUGhvdG8gPSAoKSA9PiB7XG4gICAgaWYgKGxvY2FsV2F0ZXJBdXRob3JpdHkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHVybCA9IGxvY2FsV2F0ZXJBdXRob3JpdHkucGhvdG9fdXJsISBhcyBzdHJpbmc7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8aW1nXG4gICAgICAgICAgYWx0PVwibWlzc2luZ1wiXG4gICAgICAgICAgc3JjPXt1cmwuc3RhcnRzV2l0aCgnbWlzc2luZycpID8gV2F0ZXJBdXRob3JpdHlNaXNzaW5nSWNvbiA6IHVybH1cbiAgICAgICAgICBzdHlsZT17eyBoZWlnaHQ6ICc0MHB4Jywgd2lkdGg6ICdhdXRvJyB9fVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBidWlsZFN3aXRjaENsaWVudCA9ICgpID0+IHtcbiAgICBpZiAod2F0ZXJBdXRob3JpdGllcyAhPT0gdW5kZWZpbmVkICYmIHdhdGVyQXV0aG9yaXRpZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBpZiAod2F0ZXJBdXRob3JpdGllcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8cCBjbGFzc05hbWU9eyd3YXRlci1hdXRob3JpdHktc2luZ2xlLWxhYmVsJ30+XG4gICAgICAgICAgICB7bG9jYWxXYXRlckF1dGhvcml0eS5sYWJlbH1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxOYXZEcm9wZG93blxuICAgICAgICAgIHRpdGxlPXtsb2NhbFdhdGVyQXV0aG9yaXR5ICE9PSBudWxsID8gbG9jYWxXYXRlckF1dGhvcml0eS5sYWJlbCA6ICcnfVxuICAgICAgICAgIGlkPVwiYmFzaWMtbmF2LWRyb3Bkb3duXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtVGV4dCBzdHlsZT17eyB3aWR0aDogJzMwMHB4JyB9fT5cbiAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYmFzaWMtc2luZ2xlXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICBuYW1lPVwiY29sb3JcIlxuICAgICAgICAgICAgICBvcHRpb25zPXt3YXRlckF1dGhvcml0aWVzLm1hcCgobG9jYWxXYXRlckF1dGhvcml0eTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBsb2NhbFdhdGVyQXV0aG9yaXR5LmlkLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGxvY2FsV2F0ZXJBdXRob3JpdHkubmFtZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgZ2V0T3B0aW9uTGFiZWw9eyhsb2NhbFdhdGVyQXV0aG9yaXR5OiBhbnkpID0+XG4gICAgICAgICAgICAgICAgbG9jYWxXYXRlckF1dGhvcml0eS5sYWJlbFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlOiBPYmplY3QpID0+IGhhbmRsZUNoYW5nZShlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtVGV4dD5cbiAgICAgICAgPC9OYXZEcm9wZG93bj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQ3VzdG9tZXJNZW51ID0gKGNvbnRleHROYW1lOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoY3VzdG9tZXJNZW51ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxOYXZEcm9wZG93blxuICAgICAgICAgIGFsaWduUmlnaHRcbiAgICAgICAgICBjbGFzc05hbWU9eydjdXN0b21lci1tZW51IG9yZGVyLXNtLTMnfVxuICAgICAgICAgIGlkPVwiYmFzaWMtbmF2LWRyb3Bkb3duXCJcbiAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2N1c3RvbWVyLW1lbnVfX2NvbnRlbnQnfT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e0F2YXRhcn0gYWx0PVwiYXZhdGFyXCI+PC9pbWc+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J2dyZWV0aW5nJ30+XG4gICAgICAgICAgICAgICAge2Ake2kxOG4udCgnbWFpbl9zY3JlZW4uaGVsbG8nKX0gJHtcbiAgICAgICAgICAgICAgICAgIGN1c3RvbWVyTWVudS5uYW1lID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgPyBpMThuLnQoJ21haW5fc2NyZWVuLnRoZXJlJylcbiAgICAgICAgICAgICAgICAgICAgOiAnLCAnICsgY3VzdG9tZXJNZW51Lm5hbWVcbiAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW0gaHJlZj17Y3VzdG9tZXJNZW51Lm15X3Byb2ZpbGUubGlua30+XG4gICAgICAgICAgICB7aTE4bi50KCdtYWluX3NjcmVlbi5teV9wcm9maWxlJyl9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICBocmVmPXtjdXN0b21lck1lbnUuZWRpdC5saW5rfVxuICAgICAgICAgICAga2V5PXtjdXN0b21lck1lbnUuZWRpdC5saW5rfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLnQoJ21haW5fc2NyZWVuLmVkaXRfYWNjb3VudCcpfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgaHJlZj17Y3VzdG9tZXJNZW51LmZlZWRiYWNrLmxpbmt9XG4gICAgICAgICAgICBrZXk9e2N1c3RvbWVyTWVudS5mZWVkYmFjay5saW5rfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLnQoJ21haW5fc2NyZWVuLmZlZWRiYWNrJyl9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5EaXZpZGVyIC8+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW0gaHJlZj17cmVwbGFjZVVSTCgnbG9jYWxlJywgJ2VuJyl9PlxuICAgICAgICAgICAgeydFbmdsaXNoJ31cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW0gaHJlZj17cmVwbGFjZVVSTCgnbG9jYWxlJywgJ2VuX3VrJyl9PlxuICAgICAgICAgICAgeydFbmdsaXNoIChVSyknfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtyZXBsYWNlVVJMKCdsb2NhbGUnLCAnaGUnKX0+XG4gICAgICAgICAgICB7J9ei15HXqNeZ16onfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtyZXBsYWNlVVJMKCdsb2NhbGUnLCAnZnInKX0+XG4gICAgICAgICAgICB7J0ZyYW7Dp2Fpcyd9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtIGhyZWY9e3JlcGxhY2VVUkwoJ2xvY2FsZScsICdpdCcpfT5cbiAgICAgICAgICAgIHsnSXRhbGlhbm8nfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uRGl2aWRlciAvPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICBocmVmPXtjdXN0b21lck1lbnUuc2lnbl9vdXQubGlua31cbiAgICAgICAgICAgIGRhdGEtbWV0aG9kPXtjdXN0b21lck1lbnUuc2lnbl9vdXQubWV0aG9kfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLnQoY3VzdG9tZXJNZW51LnNpZ25fb3V0LmxhYmVsKX1cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgIDwvTmF2RHJvcGRvd24+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBsb2NhbGUgPSBxdWVyeS5nZXQoJ2xvY2FsZScpIHx8ICdlbic7XG4gICAgZmV0Y2goYC9kYXRhL21lbnVfZGF0YS5qc29uP3dhdGVyX2F1dGhvcml0eV9pZD0ke3dhSWR9JmxvY2FsZT0ke2xvY2FsZX1gKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICBzZXRXYXRlckF1dGhvcml0aWVzKGpzb24ud2F0ZXJfYXV0aG9yaXRpZXMpO1xuICAgICAgICBzZXRNZW51KGpzb24ubWVudSk7XG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgIHNldFdhdGVyQXV0aG9yaXR5KHtcbiAgICAgICAgICAgIGlkOiBqc29uLndhdGVyX2F1dGhvcml0eS52YWx1ZSxcbiAgICAgICAgICAgIG5hbWU6IGpzb24ud2F0ZXJfYXV0aG9yaXR5LmxhYmVsLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgICBzZXRMb2NhbFdhdGVyQXV0aG9yaXR5KGpzb24ud2F0ZXJfYXV0aG9yaXR5KTsgLy8gYWRkIHRvIFN0b3JlXG4gICAgICAgIHVwZGF0ZVBhZ2VUaXRsZShqc29uLndhdGVyX2F1dGhvcml0eS5sYWJlbCk7XG4gICAgICAgIHNldEN1c3RvbWVyTWVudShqc29uLmN1c3RvbWVyX21lbnUpO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIHNldFdhdGVyQXV0aG9yaXRpZXMoW10pO1xuICAgICAgc2V0TWVudSh7fSk7XG4gICAgfTtcbiAgfSwgW3dhSWRdKTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICA8TmF2YmFyIGV4cGFuZD1cInNtXCIgY2xhc3NOYW1lPXsnanVzdGlmeS1jb250ZW50LWJldHdlZW4nfT5cbiAgICAgICAgICA8TmF2YmFyLlRvZ2dsZSBhcmlhLWNvbnRyb2xzPVwiYmFzaWMtbmF2YmFyLW5hdlwiIC8+XG4gICAgICAgICAgPE5hdmJhci5CcmFuZCBjbGFzc05hbWU9eydsb2dvJ30+XG4gICAgICAgICAgICA8aW1nIHNyYz17S2FuZG9Mb2dvfSBhbHQ9XCJrYW5kby1sb2dvXCI+PC9pbWc+XG4gICAgICAgICAgPC9OYXZiYXIuQnJhbmQ+XG4gICAgICAgICAgPE5hdmJhci5CcmFuZCBjbGFzc05hbWU9eydjbGllbnQtbG9nbyd9PlxuICAgICAgICAgICAge3JlbmRlckNsaWVudHNQaG90bygpfVxuICAgICAgICAgIDwvTmF2YmFyLkJyYW5kPlxuICAgICAgICAgIHtidWlsZEN1c3RvbWVyTWVudShuYXZDb250ZXh0Lm5hbWUpfVxuICAgICAgICAgIDxOYXZiYXIuQ29sbGFwc2UgaWQ9XCJiYXNpYy1uYXZiYXItbmF2XCI+XG4gICAgICAgICAgICA8TmF2IHN0eWxlPXt7IGNvbG9yOiAnYmx1ZScgfX0+XG4gICAgICAgICAgICAgIHtpdGVyYXRlKG1lbnUpLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydzd2l0Y2gtY2xpZW50LWNvbnRhaW5lcid9PlxuICAgICAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFUaW50fSAvPlxuICAgICAgICAgICAgICAgIHtidWlsZFN3aXRjaENsaWVudCgpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvTmF2PlxuICAgICAgICAgIDwvTmF2YmFyLkNvbGxhcHNlPlxuICAgICAgICAgIHt9XG4gICAgICAgIDwvTmF2YmFyPlxuICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59O1xuS2FuZG9OYXZiYXIuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBLYW5kb05hdmJhcjtcbiJdfQ==
|
|
313
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hlYWRlci9LYW5kb05hdmJhci9LYW5kb05hdmJhci50c3giXSwibmFtZXMiOlsidXBkYXRlUGFnZVRpdGxlIiwidGl0bGUiLCJkb2N1bWVudCIsImRlZmF1bHRQcm9wcyIsInNlbGVjdGVkTGFiZWwiLCJoYXNTZWFyY2giLCJyZXBsYWNlVVJMIiwia2V5IiwidmFsdWUiLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInNlYXJjaCIsInNldCIsInByb3RvY29sIiwiaG9zdCIsInBhdGhuYW1lIiwidG9TdHJpbmciLCJLYW5kb05hdmJhciIsIndhdGVyQXV0aG9yaXR5SWQiLCJ3YXRlckF1dGhvcml0aWVzIiwic2V0V2F0ZXJBdXRob3JpdGllcyIsInBob3RvX3VybCIsImxhYmVsIiwibG9jYWxXYXRlckF1dGhvcml0eSIsInNldExvY2FsV2F0ZXJBdXRob3JpdHkiLCJ3YUlkIiwic2V0V2FJZCIsIm1lbnUiLCJzZXRNZW51IiwiZGlzcGF0Y2giLCJ1c2VRdWVyeSIsInF1ZXJ5IiwiZWRpdCIsImxpbmsiLCJmZWVkYmFjayIsIm15X3Byb2ZpbGUiLCJuYW1lIiwidW5kZWZpbmVkIiwic2lnbl9vdXQiLCJtZXRob2QiLCJjdXN0b21lck1lbnUiLCJzZXRDdXN0b21lck1lbnUiLCJuYXZDb250ZXh0Iiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwiaGlzdG9yeSIsImhhbmRsZUNoYW5nZSIsInNlbGVjdGVkT3B0aW9uIiwiaWQiLCJwdXNoIiwibG9jYWxlIiwiaXRlcmF0ZSIsIm9iaiIsIml0ZW1zIiwicHJvcGVydHkiLCJleHBhbmRhYmxlIiwiaTE4biIsInQiLCJleHBhbnNpb24iLCJjbGFzcyIsInJlbmRlckNsaWVudHNQaG90byIsInVybCIsInN0YXJ0c1dpdGgiLCJXYXRlckF1dGhvcml0eU1pc3NpbmdJY29uIiwiaGVpZ2h0Iiwid2lkdGgiLCJidWlsZFN3aXRjaENsaWVudCIsImxlbmd0aCIsIm1hcCIsImUiLCJidWlsZEN1c3RvbWVyTWVudSIsImNvbnRleHROYW1lIiwiQXZhdGFyIiwiZ2V0IiwiZmV0Y2giLCJ0aGVuIiwicmVzcG9uc2UiLCJqc29uIiwid2F0ZXJfYXV0aG9yaXRpZXMiLCJ3YXRlcl9hdXRob3JpdHkiLCJjdXN0b21lcl9tZW51IiwiY2xlYW51cCIsIkthbmRvTG9nbyIsImNvbG9yIiwiaXRlbSIsImZhVGludCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsS0FBRDtBQUFBLFNBQ3JCQyxRQUFRLENBQUNELEtBQVQscUJBQTRCQSxLQUE1QixDQURxQjtBQUFBLENBQXhCOztBQVNBLElBQU1FLFlBQVksR0FBRztBQUNuQkMsRUFBQUEsYUFBYSxFQUFFLEVBREk7QUFFbkJDLEVBQUFBLFNBQVMsRUFBRTtBQUZRLENBQXJCOztBQUtBLFNBQVNDLFVBQVQsQ0FBb0JDLEdBQXBCLEVBQWlDQyxLQUFqQyxFQUFnRDtBQUM5QyxNQUFJQyxNQUFNLEdBQUcsSUFBSUMsZUFBSixDQUFvQkMsTUFBTSxDQUFDQyxRQUFQLENBQWdCQyxNQUFwQyxDQUFiO0FBQ0FKLEVBQUFBLE1BQU0sQ0FBQ0ssR0FBUCxDQUFXUCxHQUFYLEVBQWdCQyxLQUFoQjtBQUNBLFNBQ0VHLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkcsUUFBaEIsR0FDQSxJQURBLEdBRUFKLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkksSUFGaEIsR0FHQUwsTUFBTSxDQUFDQyxRQUFQLENBQWdCSyxRQUhoQixHQUlBLEdBSkEsR0FLQVIsTUFBTSxDQUFDUyxRQUFQLEVBTkY7QUFRRDs7QUFFRCxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBYyxPQUlOO0FBQUEsTUFIWkMs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QXdCQSxzQkFDRSw2QkFBQyxjQUFELENBQU8sUUFBUCxxQkFDRSw2QkFBQyxzQkFBRCxxQkFDRSw2QkFBQyxzQkFBRDtBQUFRLElBQUEsTUFBTSxFQUFDLElBQWY7QUFBb0IsSUFBQSxTQUFTLEVBQUU7QUFBL0Isa0JBQ0UsNkJBQUMsc0JBQUQsQ0FBUSxNQUFSO0FBQWUscUJBQWM7QUFBN0IsSUFERixlQUVFLDZCQUFDLHNCQUFELENBQVEsS0FBUjtBQUFjLElBQUEsU0FBUyxFQUFFO0FBQXpCLGtCQUNFO0FBQUssSUFBQSxHQUFHLEVBQUV5RCxtQkFBVjtBQUFxQixJQUFBLEdBQUcsRUFBQztBQUF6QixJQURGLENBRkYsZUFLRSw2QkFBQyxzQkFBRCxDQUFRLEtBQVI7QUFBYyxJQUFBLFNBQVMsRUFBRTtBQUF6QixLQUNHdEIsa0JBQWtCLEVBRHJCLENBTEYsRUFRR1UsaUJBQWlCLENBQUM1QixVQUFVLENBQUNOLElBQVosQ0FScEIsZUFTRSw2QkFBQyxzQkFBRCxDQUFRLFFBQVI7QUFBaUIsSUFBQSxFQUFFLEVBQUM7QUFBcEIsa0JBQ0UsNkJBQUMsbUJBQUQ7QUFBSyxJQUFBLEtBQUssRUFBRTtBQUFFK0MsTUFBQUEsS0FBSyxFQUFFO0FBQVQ7QUFBWixLQUNHaEMsT0FBTyxDQUFDeEIsSUFBRCxDQUFQLENBQWN5QyxHQUFkLENBQWtCLFVBQUNnQixJQUFELEVBQVU7QUFDM0IsV0FBT0EsSUFBUDtBQUNELEdBRkEsQ0FESCxlQUlFO0FBQUssSUFBQSxTQUFTLEVBQUU7QUFBaEIsa0JBQ0UsNkJBQUMsaUNBQUQ7QUFBaUIsSUFBQSxJQUFJLEVBQUVDO0FBQXZCLElBREYsRUFFR25CLGlCQUFpQixFQUZwQixDQUpGLENBREYsQ0FURixDQURGLENBREYsQ0FERjtBQTRCRCxDQXpRRDs7QUEwUUFqRCxXQUFXLENBQUNoQixZQUFaLEdBQTJCQSxZQUEzQjtlQUVlZ0IsVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZhVGludCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBOYXYsIE5hdmJhciwgTmF2RHJvcGRvd24gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCBLYW5kb0xvZ28gZnJvbSAnc3JjL2Fzc2V0cy9rYW5kb19sb2dvLnBuZyc7XG5pbXBvcnQgV2F0ZXJBdXRob3JpdHlNaXNzaW5nSWNvbiBmcm9tICdzcmMvYXNzZXRzL21pc3NpbmcvYXV0aG9yaXR5LnBuZyc7XG5pbXBvcnQgQXZhdGFyIGZyb20gJ3NyYy9hc3NldHMvdXNlci5zdmcnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0xpbmtzL1N0eWxlZExpbmsvU3R5bGVkTGluayc7XG5pbXBvcnQgeyBzZXRXYXRlckF1dGhvcml0eSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0ICcuL05hdmJhclN0eWxlLnNjc3MnO1xuXG5jb25zdCB1cGRhdGVQYWdlVGl0bGUgPSAodGl0bGU6IHN0cmluZykgPT5cbiAgKGRvY3VtZW50LnRpdGxlID0gYEthbmRvIC0gJHt0aXRsZX1gKTtcblxudHlwZSBJUHJvcHMgPSB7XG4gIHdhdGVyQXV0aG9yaXR5SWQ6IG51bWJlcjtcbiAgc2VsZWN0ZWRMYWJlbD86IHN0cmluZztcbiAgaGFzU2VhcmNoPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgc2VsZWN0ZWRMYWJlbDogJycsXG4gIGhhc1NlYXJjaDogZmFsc2UsXG59O1xuXG5mdW5jdGlvbiByZXBsYWNlVVJMKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gIGxldCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICBwYXJhbXMuc2V0KGtleSwgdmFsdWUpO1xuICByZXR1cm4gKFxuICAgIHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArXG4gICAgJy8vJyArXG4gICAgd2luZG93LmxvY2F0aW9uLmhvc3QgK1xuICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArXG4gICAgJz8nICtcbiAgICBwYXJhbXMudG9TdHJpbmcoKVxuICApO1xufVxuXG5jb25zdCBLYW5kb05hdmJhciA9ICh7XG4gIHdhdGVyQXV0aG9yaXR5SWQsXG4gIHNlbGVjdGVkTGFiZWwsXG4gIGhhc1NlYXJjaCxcbn06IElQcm9wcykgPT4ge1xuICBjb25zdCBbd2F0ZXJBdXRob3JpdGllcywgc2V0V2F0ZXJBdXRob3JpdGllc10gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtsb2NhbFdhdGVyQXV0aG9yaXR5LCBzZXRMb2NhbFdhdGVyQXV0aG9yaXR5XSA9IHVzZVN0YXRlKHtcbiAgICBwaG90b191cmw6ICdtaXNzaW5nJyxcbiAgICBsYWJlbDogJycsXG4gIH0pO1xuICBjb25zdCBbd2FJZCwgc2V0V2FJZF0gPSB1c2VTdGF0ZSh3YXRlckF1dGhvcml0eUlkKTtcbiAgY29uc3QgW21lbnUsIHNldE1lbnVdID0gdXNlU3RhdGUoe30pO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgY29uc3QgdXNlUXVlcnkgPSAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXModXNlTG9jYXRpb24oKS5zZWFyY2gpO1xuICB9O1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG5cbiAgY29uc3QgW2N1c3RvbWVyTWVudSwgc2V0Q3VzdG9tZXJNZW51XSA9IHVzZVN0YXRlKHtcbiAgICBlZGl0OiB7XG4gICAgICBsaW5rOiAnJyxcbiAgICAgIGxhYmVsOiAnbWFpbl9zY3JlZW4uZWRpdF9hY2NvdW50JyxcbiAgICB9LFxuICAgIGZlZWRiYWNrOiB7XG4gICAgICBsaW5rOiAnJyxcbiAgICAgIGxhYmVsOiAnbWFpbl9zY3JlZW4uZmVlZGJhY2snLFxuICAgIH0sXG4gICAgbXlfcHJvZmlsZToge1xuICAgICAgbGluazogJycsXG4gICAgICBsYWJlbDogJ21haW5fc2NyZWVuLm15X3Byb2ZpbGUnLFxuICAgIH0sXG4gICAgbmFtZTogdW5kZWZpbmVkLFxuICAgIHNpZ25fb3V0OiB7XG4gICAgICBsaW5rOiAnJyxcbiAgICAgIGxhYmVsOiAnbWFpbl9zY3JlZW4uc2lnbl9vdXQnLFxuICAgICAgbWV0aG9kOiAnJyxcbiAgICB9LFxuICB9KTtcbiAgY29uc3QgbmF2Q29udGV4dCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLm5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dCxcbiAgKTtcblxuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChzZWxlY3RlZE9wdGlvbjogYW55KSA9PiB7XG4gICAgc2V0V2FJZChzZWxlY3RlZE9wdGlvbi52YWx1ZSk7XG4gICAgZGlzcGF0Y2goc2V0V2F0ZXJBdXRob3JpdHkoeyBpZDogc2VsZWN0ZWRPcHRpb24udmFsdWUsIG5hbWU6ICcnIH0pKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgLyR7bmF2Q29udGV4dC5uYW1lfS9pbmRleD9sb2NhbGU9JHtuYXZDb250ZXh0LmxvY2FsZX0md2F0ZXJfYXV0aG9yaXR5X2lkPSR7c2VsZWN0ZWRPcHRpb24udmFsdWV9YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGl0ZXJhdGUgPSAob2JqOiBhbnkpID0+IHtcbiAgICBsZXQgaXRlbXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBvYmopIHtcbiAgICAgIGlmIChvYmpbcHJvcGVydHldLmV4cGFuZGFibGUpIHtcbiAgICAgICAgaXRlbXMucHVzaChcbiAgICAgICAgICA8TmF2RHJvcGRvd25cbiAgICAgICAgICAgIGtleT17b2JqW3Byb3BlcnR5XS5sYWJlbH1cbiAgICAgICAgICAgIHRpdGxlPXtpMThuLnQob2JqW3Byb3BlcnR5XS5sYWJlbCl9XG4gICAgICAgICAgICBpZD1cImJhc2ljLW5hdi1kcm9wZG93blwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge2l0ZXJhdGUob2JqW3Byb3BlcnR5XS5leHBhbnNpb24pfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24+LFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKG9ialtwcm9wZXJ0eV0uY2xhc3MgPT09ICdqcy1pcy1yZWFjdCcpIHtcbiAgICAgICAgICBpdGVtcy5wdXNoKFxuICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAga2V5PXtvYmpbcHJvcGVydHldLmxpbmt9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgICB0bz17b2JqW3Byb3BlcnR5XS5saW5rfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KG9ialtwcm9wZXJ0eV0ubGFiZWwpfVxuICAgICAgICAgICAgPC9MaW5rPixcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1zLnB1c2goXG4gICAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgICBrZXk9e29ialtwcm9wZXJ0eV0ubGlua31cbiAgICAgICAgICAgICAgaHJlZj17b2JqW3Byb3BlcnR5XS5saW5rfVxuICAgICAgICAgICAgICBpZD1cImJhc2ljLW5hdmJhci1uYXZcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KG9ialtwcm9wZXJ0eV0ubGFiZWwpfVxuICAgICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPixcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckNsaWVudHNQaG90byA9ICgpID0+IHtcbiAgICBpZiAobG9jYWxXYXRlckF1dGhvcml0eSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgdXJsID0gbG9jYWxXYXRlckF1dGhvcml0eS5waG90b191cmwhIGFzIHN0cmluZztcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxpbWdcbiAgICAgICAgICBhbHQ9XCJtaXNzaW5nXCJcbiAgICAgICAgICBzcmM9e3VybC5zdGFydHNXaXRoKCdtaXNzaW5nJykgPyBXYXRlckF1dGhvcml0eU1pc3NpbmdJY29uIDogdXJsfVxuICAgICAgICAgIHN0eWxlPXt7IGhlaWdodDogJzQwcHgnLCB3aWR0aDogJ2F1dG8nIH19XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkU3dpdGNoQ2xpZW50ID0gKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0aWVzICE9PSB1bmRlZmluZWQgJiYgd2F0ZXJBdXRob3JpdGllcy5sZW5ndGggIT09IDApIHtcbiAgICAgIGlmICh3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxwIGNsYXNzTmFtZT17J3dhdGVyLWF1dGhvcml0eS1zaW5nbGUtbGFiZWwnfT5cbiAgICAgICAgICAgIHtsb2NhbFdhdGVyQXV0aG9yaXR5LmxhYmVsfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPE5hdkRyb3Bkb3duXG4gICAgICAgICAgdGl0bGU9e2xvY2FsV2F0ZXJBdXRob3JpdHkgIT09IG51bGwgPyBsb2NhbFdhdGVyQXV0aG9yaXR5LmxhYmVsIDogJyd9XG4gICAgICAgICAgaWQ9XCJiYXNpYy1uYXYtZHJvcGRvd25cIlxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1UZXh0IHN0eWxlPXt7IHdpZHRoOiAnMzAwcHgnIH19PlxuICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJiYXNpYy1zaW5nbGVcIlxuICAgICAgICAgICAgICBjbGFzc05hbWVQcmVmaXg9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICBpc1NlYXJjaGFibGU9e3RydWV9XG4gICAgICAgICAgICAgIG5hbWU9XCJjb2xvclwiXG4gICAgICAgICAgICAgIG9wdGlvbnM9e3dhdGVyQXV0aG9yaXRpZXMubWFwKChsb2NhbFdhdGVyQXV0aG9yaXR5OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsV2F0ZXJBdXRob3JpdHkuaWQsXG4gICAgICAgICAgICAgICAgICBsYWJlbDogbG9jYWxXYXRlckF1dGhvcml0eS5uYW1lLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICBnZXRPcHRpb25MYWJlbD17KGxvY2FsV2F0ZXJBdXRob3JpdHk6IGFueSkgPT5cbiAgICAgICAgICAgICAgICBsb2NhbFdhdGVyQXV0aG9yaXR5LmxhYmVsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGU6IE9iamVjdCkgPT4gaGFuZGxlQ2hhbmdlKGUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW1UZXh0PlxuICAgICAgICA8L05hdkRyb3Bkb3duPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH07XG5cbiAgY29uc3QgYnVpbGRDdXN0b21lck1lbnUgPSAoY29udGV4dE5hbWU6IHN0cmluZykgPT4ge1xuICAgIGlmIChjdXN0b21lck1lbnUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPE5hdkRyb3Bkb3duXG4gICAgICAgICAgYWxpZ25SaWdodFxuICAgICAgICAgIGNsYXNzTmFtZT17J2N1c3RvbWVyLW1lbnUgb3JkZXItc20tMyd9XG4gICAgICAgICAgaWQ9XCJiYXNpYy1uYXYtZHJvcGRvd25cIlxuICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnY3VzdG9tZXItbWVudV9fY29udGVudCd9PlxuICAgICAgICAgICAgICA8aW1nIHNyYz17QXZhdGFyfSBhbHQ9XCJhdmF0YXJcIj48L2ltZz5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZ3JlZXRpbmcnfT5cbiAgICAgICAgICAgICAgICB7YCR7aTE4bi50KCdtYWluX3NjcmVlbi5oZWxsbycpfSAke1xuICAgICAgICAgICAgICAgICAgY3VzdG9tZXJNZW51Lm5hbWUgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICA/IGkxOG4udCgnbWFpbl9zY3JlZW4udGhlcmUnKVxuICAgICAgICAgICAgICAgICAgICA6ICcsICcgKyBjdXN0b21lck1lbnUubmFtZVxuICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtjdXN0b21lck1lbnUubXlfcHJvZmlsZS5saW5rfT5cbiAgICAgICAgICAgIHtpMThuLnQoJ21haW5fc2NyZWVuLm15X3Byb2ZpbGUnKX1cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1cbiAgICAgICAgICAgIGhyZWY9e2N1c3RvbWVyTWVudS5lZGl0Lmxpbmt9XG4gICAgICAgICAgICBrZXk9e2N1c3RvbWVyTWVudS5lZGl0Lmxpbmt9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2kxOG4udCgnbWFpbl9zY3JlZW4uZWRpdF9hY2NvdW50Jyl9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICBocmVmPXtjdXN0b21lck1lbnUuZmVlZGJhY2subGlua31cbiAgICAgICAgICAgIGtleT17Y3VzdG9tZXJNZW51LmZlZWRiYWNrLmxpbmt9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2kxOG4udCgnbWFpbl9zY3JlZW4uZmVlZGJhY2snKX1cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkRpdmlkZXIgLz5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtyZXBsYWNlVVJMKCdsb2NhbGUnLCAnZW4nKX0+XG4gICAgICAgICAgICB7J0VuZ2xpc2gnfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtyZXBsYWNlVVJMKCdsb2NhbGUnLCAnaGUnKX0+XG4gICAgICAgICAgICB7J9ei15HXqNeZ16onfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtyZXBsYWNlVVJMKCdsb2NhbGUnLCAnZnInKX0+XG4gICAgICAgICAgICB7J0ZyYW7Dp2Fpcyd9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtIGhyZWY9e3JlcGxhY2VVUkwoJ2xvY2FsZScsICdpdCcpfT5cbiAgICAgICAgICAgIHsnSXRhbGlhbm8nfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uRGl2aWRlciAvPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICBocmVmPXtjdXN0b21lck1lbnUuc2lnbl9vdXQubGlua31cbiAgICAgICAgICAgIGRhdGEtbWV0aG9kPXtjdXN0b21lck1lbnUuc2lnbl9vdXQubWV0aG9kfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLnQoY3VzdG9tZXJNZW51LnNpZ25fb3V0LmxhYmVsKX1cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgIDwvTmF2RHJvcGRvd24+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBsb2NhbGUgPSBxdWVyeS5nZXQoJ2xvY2FsZScpIHx8ICdlbic7XG4gICAgZmV0Y2goYC9kYXRhL21lbnVfZGF0YS5qc29uP3dhdGVyX2F1dGhvcml0eV9pZD0ke3dhSWR9JmxvY2FsZT0ke2xvY2FsZX1gKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICBzZXRXYXRlckF1dGhvcml0aWVzKGpzb24ud2F0ZXJfYXV0aG9yaXRpZXMpO1xuICAgICAgICBzZXRNZW51KGpzb24ubWVudSk7XG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgIHNldFdhdGVyQXV0aG9yaXR5KHtcbiAgICAgICAgICAgIGlkOiBqc29uLndhdGVyX2F1dGhvcml0eS52YWx1ZSxcbiAgICAgICAgICAgIG5hbWU6IGpzb24ud2F0ZXJfYXV0aG9yaXR5LmxhYmVsLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgICBzZXRMb2NhbFdhdGVyQXV0aG9yaXR5KGpzb24ud2F0ZXJfYXV0aG9yaXR5KTsgLy8gYWRkIHRvIFN0b3JlXG4gICAgICAgIHVwZGF0ZVBhZ2VUaXRsZShqc29uLndhdGVyX2F1dGhvcml0eS5sYWJlbCk7XG4gICAgICAgIHNldEN1c3RvbWVyTWVudShqc29uLmN1c3RvbWVyX21lbnUpO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIHNldFdhdGVyQXV0aG9yaXRpZXMoW10pO1xuICAgICAgc2V0TWVudSh7fSk7XG4gICAgfTtcbiAgfSwgW3dhSWRdKTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICA8TmF2YmFyIGV4cGFuZD1cInNtXCIgY2xhc3NOYW1lPXsnanVzdGlmeS1jb250ZW50LWJldHdlZW4nfT5cbiAgICAgICAgICA8TmF2YmFyLlRvZ2dsZSBhcmlhLWNvbnRyb2xzPVwiYmFzaWMtbmF2YmFyLW5hdlwiIC8+XG4gICAgICAgICAgPE5hdmJhci5CcmFuZCBjbGFzc05hbWU9eydsb2dvJ30+XG4gICAgICAgICAgICA8aW1nIHNyYz17S2FuZG9Mb2dvfSBhbHQ9XCJrYW5kby1sb2dvXCI+PC9pbWc+XG4gICAgICAgICAgPC9OYXZiYXIuQnJhbmQ+XG4gICAgICAgICAgPE5hdmJhci5CcmFuZCBjbGFzc05hbWU9eydjbGllbnQtbG9nbyd9PlxuICAgICAgICAgICAge3JlbmRlckNsaWVudHNQaG90bygpfVxuICAgICAgICAgIDwvTmF2YmFyLkJyYW5kPlxuICAgICAgICAgIHtidWlsZEN1c3RvbWVyTWVudShuYXZDb250ZXh0Lm5hbWUpfVxuICAgICAgICAgIDxOYXZiYXIuQ29sbGFwc2UgaWQ9XCJiYXNpYy1uYXZiYXItbmF2XCI+XG4gICAgICAgICAgICA8TmF2IHN0eWxlPXt7IGNvbG9yOiAnYmx1ZScgfX0+XG4gICAgICAgICAgICAgIHtpdGVyYXRlKG1lbnUpLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydzd2l0Y2gtY2xpZW50LWNvbnRhaW5lcid9PlxuICAgICAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFUaW50fSAvPlxuICAgICAgICAgICAgICAgIHtidWlsZFN3aXRjaENsaWVudCgpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvTmF2PlxuICAgICAgICAgIDwvTmF2YmFyLkNvbGxhcHNlPlxuICAgICAgICAgIHt9XG4gICAgICAgIDwvTmF2YmFyPlxuICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59O1xuS2FuZG9OYXZiYXIuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG5leHBvcnQgZGVmYXVsdCBLYW5kb05hdmJhcjtcbiJdfQ==
|
|
@@ -69,8 +69,6 @@ var CustomerMenu = function CustomerMenu(_ref) {
|
|
|
69
69
|
}, _i18n.default.t('main_screen.feedback')), /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Divider, null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Item, {
|
|
70
70
|
href: replaceURL('locale', 'en')
|
|
71
71
|
}, 'English'), /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Item, {
|
|
72
|
-
href: replaceURL('locale', 'en_uk')
|
|
73
|
-
}, 'English (UK)'), /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Item, {
|
|
74
72
|
href: replaceURL('locale', 'he')
|
|
75
73
|
}, 'עברית'), /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Item, {
|
|
76
74
|
href: replaceURL('locale', 'fr')
|
|
@@ -89,4 +87,4 @@ function replaceURL(key, value) {
|
|
|
89
87
|
params.set(key, value);
|
|
90
88
|
return window.location.protocol + '//' + window.location.host + window.location.pathname + '?' + params.toString();
|
|
91
89
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hlYWRlci9Ub29sYmFyL0N1c3RvbWVyTWVudS9DdXN0b21lck1lbnUudHN4Il0sIm5hbWVzIjpbIkN1c3RvbWVyTWVudSIsImN1c3RvbWVyTWVudSIsImhhc1NlYXJjaCIsImZpcnN0bmFtZSIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJmaXJzdE5hbWUiLCJuYXZVc2VyVGl0bGUiLCJ0aXRsZSIsImkxOG4iLCJ0IiwibWF4V2lkdGgiLCJ6SW5kZXgiLCJMaW5rIiwibXlfcHJvZmlsZSIsImxpbmsiLCJlZGl0IiwiZmVlZGJhY2siLCJ1bmRlZmluZWQiLCJyZXBsYWNlVVJMIiwic2lnbl9vdXQiLCJtZXRob2QiLCJrZXkiLCJ2YWx1ZSIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwic2V0IiwicHJvdG9jb2wiLCJob3N0IiwicGF0aG5hbWUiLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUdBOztBQUVPLElBQU1BLFlBQVksR0FBRyxTQUFmQSxZQUFlLE9BQWlDO0FBQUEsTUFBOUJDLFlBQThCLFFBQTlCQSxZQUE4QjtBQUFBLE1BQWhCQyxTQUFnQixRQUFoQkEsU0FBZ0I7QUFDM0QsTUFBTUMsU0FBUyxHQUFHLDZCQUFZLFVBQUNDLEtBQUQ7QUFBQSxXQUFXQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JDLFNBQTdCO0FBQUEsR0FBWixDQUFsQjs7QUFFQSxNQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDQyxLQUFEO0FBQUEsd0JBQ25CO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixvQkFDRSw2QkFBQyxvQkFBRDtBQUFVLE1BQUEsU0FBUyxFQUFDLE1BQXBCO0FBQTJCLE1BQUEsS0FBSyxFQUFDLE1BQWpDO0FBQXdDLE1BQUEsTUFBTSxFQUFDO0FBQS9DLE1BREYsZUFFRTtB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QUFDOUMsTUFBSUMsTUFBTSxHQUFHLElBQUlDLGVBQUosQ0FBb0JDLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkMsTUFBcEMsQ0FBYjtBQUNBSixFQUFBQSxNQUFNLENBQUNLLEdBQVAsQ0FBV1AsR0FBWCxFQUFnQkMsS0FBaEI7QUFDQSxTQUNFRyxNQUFNLENBQUNDLFFBQVAsQ0FBZ0JHLFFBQWhCLEdBQ0EsSUFEQSxHQUVBSixNQUFNLENBQUNDLFFBQVAsQ0FBZ0JJLElBRmhCLEdBR0FMLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkssUUFIaEIsR0FJQSxHQUpBLEdBS0FSLE1BQU0sQ0FBQ1MsUUFBUCxFQU5GO0FBUUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTmF2LCBOYXZEcm9wZG93biB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEFycm93SWNvbiB9IGZyb20gJy4uL2Fycm93LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBVc2VySWNvbiB9IGZyb20gJy4uL3VzZXIuc3ZnJztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxuZXhwb3J0IGNvbnN0IEN1c3RvbWVyTWVudSA9ICh7IGN1c3RvbWVyTWVudSwgaGFzU2VhcmNoIH0pID0+IHtcbiAgY29uc3QgZmlyc3RuYW1lID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS5maXJzdE5hbWUpO1xuXG4gIGNvbnN0IG5hdlVzZXJUaXRsZSA9ICh0aXRsZTogc3RyaW5nKSA9PiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJuYXZVc2VyVGl0bGVcIj5cbiAgICAgIDxVc2VySWNvbiBjbGFzc05hbWU9XCJ1c2VyXCIgd2lkdGg9XCIxOHB4XCIgaGVpZ2h0PVwiMThweFwiIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgIHtmaXJzdG5hbWUgPyBgJHt0aXRsZX0sICR7Zmlyc3RuYW1lfSBgIDogaTE4bi50KCdtYWluX3NjcmVlbi5ncmVldGluZycpfVxuICAgICAgPC9kaXY+XG4gICAgICA8QXJyb3dJY29uIGNsYXNzTmFtZT1cImFycm93XCIgd2lkdGg9XCI4cHhcIiBoZWlnaHQ9XCI1cHhcIiAvPlxuICAgIDwvZGl2PlxuICApO1xuICByZXR1cm4gKFxuICAgIDxOYXZcbiAgICAgIGNsYXNzTmFtZT1cIm5hdi1jdXN0b21lciBqdXN0aWZ5LWNvbnRlbnQtZW5kXCJcbiAgICAgIHN0eWxlPXt7IG1heFdpZHRoOiBoYXNTZWFyY2ggJiYgJzE1MHB4JywgekluZGV4OiA5OTkgfX1cbiAgICA+XG4gICAgICA8TmF2RHJvcGRvd25cbiAgICAgICAgdGl0bGU9e25hdlVzZXJUaXRsZShpMThuLnQoJ2hlYWRlci5oZWxsbycpKX1cbiAgICAgICAgaWQ9XCJuYXZiYXJTY3JvbGxpbmdVc2VyXCJcbiAgICAgICAgY2xhc3NOYW1lPVwibmF2LWN1c3RvbWVyXCJcbiAgICAgICAgYWxpZ25SaWdodD17dHJ1ZX1cbiAgICAgID5cbiAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1cbiAgICAgICAgICBhcz17TGlua31cbiAgICAgICAgICBjbGFzc05hbWU9XCJkcm9wZG93bi1pdGVtXCJcbiAgICAgICAgICB0bz17Y3VzdG9tZXJNZW51Lm15X3Byb2ZpbGUubGlua31cbiAgICAgICAgICBrZXk9e2N1c3RvbWVyTWVudS5teV9wcm9maWxlLmxpbmt9XG4gICAgICAgID5cbiAgICAgICAgICB7aTE4bi50KCdtYWluX3NjcmVlbi5teV9wcm9maWxlJyl9XG4gICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1cbiAgICAgICAgICBocmVmPXtjdXN0b21lck1lbnUuZWRpdC5saW5rfVxuICAgICAgICAgIGtleT17Y3VzdG9tZXJNZW51LmVkaXQubGlua31cbiAgICAgICAgPlxuICAgICAgICAgIHtpMThuLnQoJ21haW5fc2NyZWVuLmVkaXRfYWNjb3VudCcpfVxuICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgIHtjdXN0b21lck1lbnUuZmVlZGJhY2sgIT09IHVuZGVmaW5lZCAmJiAoXG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1cbiAgICAgICAgICAgIGhyZWY9e2N1c3RvbWVyTWVudS5mZWVkYmFjay5saW5rfVxuICAgICAgICAgICAga2V5PXtjdXN0b21lck1lbnUuZmVlZGJhY2subGlua31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aTE4bi50KCdtYWluX3NjcmVlbi5mZWVkYmFjaycpfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgKX1cbiAgICAgICAgPE5hdkRyb3Bkb3duLkRpdmlkZXIgLz5cbiAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW0gaHJlZj17cmVwbGFjZVVSTCgnbG9jYWxlJywgJ2VuJyl9PlxuICAgICAgICAgIHsnRW5nbGlzaCd9XG4gICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW0gaHJlZj17cmVwbGFjZVVSTCgnbG9jYWxlJywgJ2hlJyl9PlxuICAgICAgICAgIHsn16LXkdeo15nXqid9XG4gICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW0gaHJlZj17cmVwbGFjZVVSTCgnbG9jYWxlJywgJ2ZyJyl9PlxuICAgICAgICAgIHsnRnJhbsOnYWlzJ31cbiAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtyZXBsYWNlVVJMKCdsb2NhbGUnLCAnaXQnKX0+XG4gICAgICAgICAgeydJdGFsaWFubyd9XG4gICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgPE5hdkRyb3Bkb3duLkRpdmlkZXIgLz5cbiAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1cbiAgICAgICAgICBocmVmPXtjdXN0b21lck1lbnUuc2lnbl9vdXQubGlua31cbiAgICAgICAgICBkYXRhLW1ldGhvZD17Y3VzdG9tZXJNZW51LnNpZ25fb3V0Lm1ldGhvZH1cbiAgICAgICAgPlxuICAgICAgICAgIHtpMThuLnQoJ21haW5fc2NyZWVuLnNpZ25fb3V0Jyl9XG4gICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgIDwvTmF2RHJvcGRvd24+XG4gICAgPC9OYXY+XG4gICk7XG59O1xuXG5mdW5jdGlvbiByZXBsYWNlVVJMKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gIGxldCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICBwYXJhbXMuc2V0KGtleSwgdmFsdWUpO1xuICByZXR1cm4gKFxuICAgIHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArXG4gICAgJy8vJyArXG4gICAgd2luZG93LmxvY2F0aW9uLmhvc3QgK1xuICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArXG4gICAgJz8nICtcbiAgICBwYXJhbXMudG9TdHJpbmcoKVxuICApO1xufVxuIl19
|