@kando-env/kando-ui 1.2.382 → 1.2.383
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Router.js +36 -73
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +25 -35
- package/lib/Widgets/EventsRow/EventsRow.js +27 -39
- package/lib/Widgets/Map/GraphUtils.js +3 -3
- package/lib/Widgets/Map/Map.js +86 -122
- package/lib/Widgets/Map/MapUtils.js +81 -95
- package/lib/Widgets/Map/areas/AreaPolygon.js +53 -77
- package/lib/Widgets/Map/areas/AreaPolygons.js +23 -24
- package/lib/Widgets/Map/areas/AreaUtils.js +47 -46
- package/lib/Widgets/Map/areas/Patterns.js +4 -4
- package/lib/Widgets/Map/edges/Edge.js +33 -37
- package/lib/Widgets/Map/edges/Edges.js +21 -26
- package/lib/Widgets/Map/edges/arrows/Arrows.js +23 -44
- package/lib/Widgets/Map/events/Event.js +18 -21
- package/lib/Widgets/Map/events/EventIndicator.js +65 -60
- package/lib/Widgets/Map/events/EventPath.js +49 -24
- package/lib/Widgets/Map/events/EventUtils.js +60 -80
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +17 -18
- package/lib/Widgets/Map/events/PointOfEvent.js +29 -34
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +30 -37
- package/lib/Widgets/Map/events/Snail.js +21 -22
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +93 -86
- package/lib/Widgets/Map/map/FloatingGraph.js +22 -18
- package/lib/Widgets/Map/map/GraphDateButton.js +25 -17
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +13 -12
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -15
- package/lib/Widgets/Map/points/PointIcon.js +22 -15
- package/lib/Widgets/Map/points/PointMarker.js +71 -87
- package/lib/Widgets/Map/points/PointMarkers.js +45 -66
- package/lib/Widgets/Map/points/PointUtils.js +145 -83
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +30 -47
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -10
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -12
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
- package/lib/Widgets/MostPolluting/Areas/Areas.js +31 -60
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
- package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -8
- package/lib/Widgets/MostPolluting/Factories/Factories.js +39 -70
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +15 -18
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +12 -10
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
- package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
- package/lib/Widgets/MostPolluting/MostPolluting.js +25 -35
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -22
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +6 -4
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -4
- package/lib/Widgets/MostPolluting/assets/index.js +10 -10
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +19 -13
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +35 -30
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +45 -35
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +39 -35
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -27
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +54 -50
- package/lib/Widgets/MostPolluting/styles.js +3 -3
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +7 -5
- package/lib/Widgets/PotentialImpactSummary/Icon.js +8 -6
- package/lib/Widgets/PotentialImpactSummary/index.js +19 -27
- package/lib/Widgets/PotentialImpactSummary/index.test.js +47 -52
- package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +9 -7
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -17
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +35 -32
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -24
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -37
- package/lib/Widgets/QualitySummary/QualitySummary.js +9 -13
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
- package/lib/Widgets/QualitySummary/styles.js +23 -15
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -13
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +27 -26
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +29 -24
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +23 -37
- package/lib/Widgets/UtilityInformation/styles.js +34 -25
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
- package/lib/assets/icons/TopNavbar/index.js +6 -6
- package/lib/assets/icons/TrendSvg.js +6 -6
- package/lib/assets/icons/index.js +15 -15
- package/lib/assets/icons/kandoStepper/index.js +5 -5
- package/lib/assets/icons/siteTypes/index.js +1 -1
- package/lib/components/ApplyButton/ApplyButton.js +9 -9
- package/lib/components/Backdrop/Backdrop.js +6 -4
- package/lib/components/ContentLoader/ContentLoader.js +11 -9
- package/lib/components/ContentLoader/index.js +1 -1
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +13 -12
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +3 -5
- package/lib/components/CustomInputs/DoubleTabs/styles.js +20 -12
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +13 -20
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -4
- package/lib/components/CustomInputs/Search/Search.js +42 -63
- package/lib/components/CustomInputs/Select/Select.js +45 -58
- package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
- package/lib/components/DamageType/DamageType.js +35 -57
- package/lib/components/DataLoaderError/DataLoaderError.js +8 -6
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +9 -10
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +70 -71
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +27 -37
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -12
- package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
- package/lib/components/DischargeHeatmap/popupText.js +10 -10
- package/lib/components/DischargeHeatmap/titles.js +3 -3
- package/lib/components/ErrorBoundary.js +27 -41
- package/lib/components/Events/Events.js +41 -58
- package/lib/components/Graph/Graph.js +77 -96
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +17 -21
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +25 -33
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +3 -5
- package/lib/components/Header/DoubleTabs/styles.js +4 -4
- package/lib/components/Header/Header.js +2 -2
- package/lib/components/Header/Header.stories.js +3 -5
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +22 -34
- package/lib/components/Header/InfoBar/InfoBar.js +74 -103
- package/lib/components/Header/InfoBar/Search/Control.js +9 -9
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -5
- package/lib/components/Header/InfoBar/Search/Search.js +16 -21
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +21 -33
- package/lib/components/Header/InfoBar/Search/searchStyle.js +41 -49
- package/lib/components/Header/InfoBar/TimeFilter.js +11 -14
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +64 -89
- package/lib/components/Header/Slideshow/Slideshow.js +68 -90
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +6 -4
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +21 -23
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +18 -18
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +37 -43
- package/lib/components/Header/Toolbar/Toolbar.js +55 -74
- package/lib/components/InfoBar/InfoBar.js +10 -23
- package/lib/components/InfoBar/InfoBar.stories.js +3 -5
- package/lib/components/KandoModal/KandoModal.js +27 -41
- package/lib/components/Link.js +8 -7
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -8
- package/lib/components/Links/StyledLink/StyledLink.js +12 -12
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +11 -10
- package/lib/components/LiveEvents/CarouselSlide.js +9 -7
- package/lib/components/LiveEvents/LiveEvents.js +5 -3
- package/lib/components/LoaderByPercent/LoaderByPercent.js +37 -29
- package/lib/components/Map/Map.js +20 -23
- package/lib/components/Modal/Modal.js +9 -9
- package/lib/components/NarrowHeader.js +17 -31
- package/lib/components/PointInfo/PointInfo.js +19 -17
- package/lib/components/PopupModal/PopupModal.js +12 -16
- package/lib/components/PopupModal/PopupModal.stories.js +15 -19
- package/lib/components/Sector/Sector.js +8 -6
- package/lib/components/Sector/Sector.test.js +19 -20
- package/lib/components/Sector/sectorIcons.js +2 -2
- package/lib/components/SevereEvent/Eta/Eta.js +49 -52
- package/lib/components/SevereEvent/Eta/styles.js +10 -6
- package/lib/components/SevereEvent/SevereEvent.js +30 -37
- package/lib/components/Spinner/Spinner.js +8 -8
- package/lib/components/Spinner/Spinner.stories.js +4 -6
- package/lib/components/Spinner/styles.js +22 -14
- package/lib/components/Tabs/Tabs.js +21 -29
- package/lib/components/Tabs/Tabs.stories.js +4 -6
- package/lib/components/Tabs/assets/index.js +5 -5
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -15
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +40 -51
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +19 -31
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +20 -25
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -13
- package/lib/components/TimeRangeSelector/TimeRangeList.js +23 -24
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +17 -25
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -32
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +4 -6
- package/lib/components/TimeRangeSelector/constants.js +3 -3
- package/lib/components/Toggle/Toggle.js +12 -17
- package/lib/components/TrendGraph/TrendGraph.js +23 -39
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
- package/lib/development-environment/index.js +8 -12
- package/lib/development-environment/mock/browser.js +2 -4
- package/lib/development-environment/mock/get.js +8 -10
- package/lib/development-environment/mock/handlers.js +2 -2
- package/lib/development-environment/mock/mockBus.js +4 -4
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
- package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
- package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
- package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
- package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
- package/lib/development-environment/togly/ToglyDashboard.js +13 -22
- package/lib/development-environment/togly/ToglyItem.js +36 -31
- package/lib/development-environment/togly/init.js +2 -2
- package/lib/development-environment/togly/macro.js +14 -10
- package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
- package/lib/development-environment/togly/useLocalStorage.js +13 -18
- package/lib/hooks/useApi.js +19 -55
- package/lib/hooks/useApiWithDashboardQuery.js +30 -49
- package/lib/hooks/useClickOutside.js +3 -3
- package/lib/hooks/useInitializeHeaders.js +5 -5
- package/lib/hooks/useKandoFetch.js +16 -29
- package/lib/hooks/useMap.js +22 -34
- package/lib/hooks/useNavContext.js +22 -26
- package/lib/hooks/useRemoveExistingLayers.js +6 -6
- package/lib/hooks/useUpdateEventBodyTail.js +13 -17
- package/lib/hooks/useUserTimeZone.js +33 -30
- package/lib/hooks/useUserTimeZone.test.js +19 -22
- package/lib/hooks/useWindowSize.js +7 -14
- package/lib/index.js +11 -12
- package/lib/macros/getVersion.js +3 -3
- package/lib/pages/AreaPage/AreaPage.js +34 -67
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -17
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +30 -31
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +11 -11
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
- package/lib/pages/AssessmentPage/AssessmentPage.js +40 -46
- package/lib/pages/CannyWidget/Feedback.js +13 -13
- package/lib/pages/CovidPage/CovidPage.js +8 -13
- package/lib/pages/CovidPage/components/Body.js +25 -27
- package/lib/pages/CovidPage/components/Map.js +29 -39
- package/lib/pages/CovidPage/components/Sidebar.js +16 -15
- package/lib/pages/CovidPage/components/Summary.js +20 -27
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
- package/lib/pages/CovidPage/components/areas/Area.js +29 -40
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +55 -46
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
- package/lib/pages/CovidPage/components/areas/AreasList.js +34 -46
- package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
- package/lib/pages/DashboardMap/AreaCard.js +28 -28
- package/lib/pages/DashboardMap/AssessmentIcon.js +8 -7
- package/lib/pages/DashboardMap/Capacity.js +31 -80
- package/lib/pages/DashboardMap/FactoryCard.js +31 -26
- package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
- package/lib/pages/DashboardMap/List.js +74 -105
- package/lib/pages/DashboardMap/ListContext.js +15 -19
- package/lib/pages/DashboardMap/Loader.js +2 -2
- package/lib/pages/DashboardMap/SeverityBadge.js +10 -18
- package/lib/pages/DashboardMap/WWTPMap.js +48 -60
- package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
- package/lib/pages/DashboardMap/Widget.js +54 -71
- package/lib/pages/DashboardMap/utils.js +48 -65
- package/lib/pages/EventsPage/Body/Body.js +20 -15
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +53 -64
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +19 -31
- package/lib/pages/EventsPage/EventsPage.js +7 -10
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +26 -38
- package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
- package/lib/pages/EventsPage/events/Sidebar.js +21 -16
- package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
- package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -37
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +44 -43
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
- package/lib/pages/EventsPage/events/event_info/EventSection.js +17 -19
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -47
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +30 -33
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -6
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +10 -10
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +7 -9
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
- package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
- package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +22 -26
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +12 -8
- package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +7 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +6 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
- package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +10 -8
- package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
- package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
- package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
- package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
- package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
- package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
- package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
- package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
- package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -38
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -30
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +23 -26
- package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
- package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -19
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
- package/lib/pages/EventsPage/events/events_list/EventsList.js +124 -145
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +40 -55
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +79 -115
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +60 -77
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
- package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +13 -20
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
- package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
- package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
- package/lib/pages/ImportFileWizard/ValidationForm.js +23 -22
- package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
- package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
- package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
- package/lib/pages/ImportGisPage/importGisUtils.js +13 -21
- package/lib/pages/ImportGisProcess/index.js +12 -15
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +56 -65
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
- package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
- package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
- package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
- package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
- package/lib/pages/NotificationsPage/assets/index.js +9 -9
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +71 -97
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +94 -63
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +14 -16
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +18 -16
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +17 -21
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +17 -21
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +18 -22
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +83 -69
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +18 -22
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -74
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +97 -95
- package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -48
- package/lib/pages/OldSitePage/OldSitePage.js +57 -132
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +32 -28
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +27 -29
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +18 -12
- package/lib/pages/ProfilePage/Container.js +2 -2
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +28 -44
- package/lib/pages/ProfilePage/ProfilePage.js +121 -214
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +19 -16
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +28 -30
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -117
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +39 -41
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
- package/lib/pages/SamplingsPage/NavigationDropdown.js +45 -32
- package/lib/pages/SamplingsPage/NewSamplingAction.js +76 -100
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +129 -101
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +36 -59
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -7
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +110 -194
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +49 -55
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -43
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -45
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +58 -54
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
- package/lib/pages/SamplingsPage/SamplingsPage.js +27 -33
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +50 -58
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +68 -76
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
- package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
- package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
- package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
- package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -9
- package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -59
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +30 -39
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +18 -12
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -30
- package/lib/pages/SitePage/SitePage.js +42 -81
- package/lib/pages/UploadLabResult/index.js +13 -13
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -48
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -12
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +21 -29
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -17
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +27 -31
- package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
- package/lib/pages/WbeDashboard/GraphWrapper.js +30 -36
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
- package/lib/pages/WbeDashboard/SearchInput.js +15 -20
- package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
- package/lib/pages/WbeDashboard/Tabs.js +11 -11
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +151 -213
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +40 -48
- package/lib/pages/WwtpPage/DashboardCard.js +26 -23
- package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
- package/lib/pages/WwtpPage/InletsCard/InletsBar.js +26 -22
- package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
- package/lib/pages/WwtpPage/Map.js +5 -3
- package/lib/pages/WwtpPage/OrganicCard.js +2 -2
- package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
- package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -6
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
- package/lib/pages/WwtpPage/PredictionCard.js +2 -2
- package/lib/pages/WwtpPage/TrendCard.js +18 -19
- package/lib/pages/WwtpPage/UpgradeBox.js +3 -3
- package/lib/pages/WwtpPage/WwtpPage.js +8 -8
- package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
- package/lib/providers/Slideshow/SlideshowContext.js +11 -9
- package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
- package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
- package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
- package/lib/providers/UrlHistory/index.js +2 -2
- package/lib/providers/UrlHistory/useLastVisited.js +5 -5
- package/lib/store/ImportGis/actionTypes.js +1 -1
- package/lib/store/ImportGis/actionsCreator.js +7 -5
- package/lib/store/ImportGis/reducer.js +40 -29
- package/lib/store/WBE/actionTypes.js +2 -2
- package/lib/store/WBE/reducer.js +13 -9
- package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
- package/lib/store/areas/actionTypes.js +4 -4
- package/lib/store/areas/actions.js +7 -13
- package/lib/store/areas/reducer.js +8 -6
- package/lib/store/context/actionTypes.js +3 -3
- package/lib/store/context/actions.js +3 -3
- package/lib/store/context/contextMiddlewares.js +14 -16
- package/lib/store/context/reducer.js +13 -9
- package/lib/store/dashboard/dashboardSlice.js +18 -10
- package/lib/store/edges/actionTypes.js +5 -5
- package/lib/store/edges/actions.js +4 -8
- package/lib/store/edges/reducer.js +13 -17
- package/lib/store/events/actionTypes.js +17 -17
- package/lib/store/events/actions.js +3 -7
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/events/reducer.js +42 -49
- package/lib/store/global/actionTypes.js +11 -11
- package/lib/store/global/actions.js +8 -6
- package/lib/store/global/reducer.js +11 -10
- package/lib/store/permissions/permissionsSlice.js +12 -8
- package/lib/store/points/actionTypes.js +3 -3
- package/lib/store/points/actions.js +4 -8
- package/lib/store/points/reducer.js +7 -5
- package/lib/store/rootActionTypes.js +2 -2
- package/lib/store/rootReducer.js +17 -12
- package/lib/store/rootStore.js +5 -5
- package/lib/store/samplings/actionTypes.js +1 -1
- package/lib/store/samplings/reducer.js +16 -14
- package/lib/styles/StylesLayout.js +5 -3
- package/lib/styles/theme/theme.js +26 -27
- package/lib/test/mocks/browser.js +2 -4
- package/lib/test/test-utils.js +17 -15
- package/lib/ui-kit/Button/Button.js +128 -80
- package/lib/ui-kit/Button/Button.test.js +24 -29
- package/lib/ui-kit/Checkbox/Checkbox.js +30 -20
- package/lib/ui-kit/ContentCard/ContentCard.js +15 -18
- package/lib/ui-kit/Dashboard/Dashboard.js +25 -22
- package/lib/ui-kit/DropDown/DropDown.js +23 -24
- package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
- package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
- package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
- package/lib/ui-kit/EmptyState/EmptyState.js +6 -4
- package/lib/ui-kit/IconAction/IconAction.js +7 -5
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +48 -64
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +69 -52
- package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
- package/lib/ui-kit/InletsPie/options.js +6 -6
- package/lib/ui-kit/KandoList/KandoList.js +14 -12
- package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
- package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
- package/lib/ui-kit/Layout/Layout.js +6 -4
- package/lib/ui-kit/MobileInput/MobileInput.js +60 -50
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
- package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -6
- package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
- package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
- package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
- package/lib/ui-kit/ScoreGauge/ScoreGauge.js +20 -20
- package/lib/ui-kit/ScoreGauge/constant.js +3 -3
- package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
- package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
- package/lib/ui-kit/index.js +8 -8
- package/lib/ui-kit/kandoStepper/KandoStepper.js +12 -12
- package/lib/ui-kit/siteName/SiteName.js +11 -8
- package/lib/utilities/ActionUtility.js +7 -7
- package/lib/utilities/Alert.js +21 -17
- package/lib/utilities/Analytics.js +11 -11
- package/lib/utilities/Array.js +4 -5
- package/lib/utilities/Enum.js +15 -51
- package/lib/utilities/ErrorBoundary.js +27 -41
- package/lib/utilities/File.js +40 -69
- package/lib/utilities/GetDir.js +8 -7
- package/lib/utilities/KandoDate.js +7 -15
- package/lib/utilities/KandoModal.js +16 -26
- package/lib/utilities/LocalStorage.js +8 -10
- package/lib/utilities/ThousandsToK.js +3 -3
- package/lib/utilities/TimeFormat.js +21 -20
- package/lib/utilities/Truncate.js +17 -25
- package/lib/utilities/edgesMath.js +14 -15
- package/lib/utilities/i18n.js +3 -3
- package/lib/utilities/kql.js +12 -14
- package/lib/utilities/map/icons.js +3 -3
- package/lib/utilities/polylinedecorator.js +87 -112
- package/lib/utilities/scoreToData.js +17 -17
- package/lib/utilities/scoreToData.test.js +5 -5
- package/lib/utilities/time.js +8 -8
- package/lib/utilities/uploadToS3.js +11 -11
- package/lib/utilities/urls.js +61 -59
- package/package.json +1 -1
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
10
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
9
|
var _reactRouterDom = require("react-router-dom");
|
|
12
10
|
var _lodash = require("lodash");
|
|
@@ -16,70 +14,63 @@ var _kql = require("../../utilities/kql");
|
|
|
16
14
|
var _reactRedux = require("react-redux");
|
|
17
15
|
var _ContentLoader = require("../ContentLoader");
|
|
18
16
|
var _time = require("../../utilities/time");
|
|
19
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function
|
|
20
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
|
17
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
19
|
/*
|
|
22
20
|
If +isPollution+ is true, invert the colors: up == red, down == green.
|
|
23
21
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return
|
|
22
|
+
const formatPercentChg = num => {
|
|
23
|
+
const addText = num >= 0 ? (0, _lodash.capitalize)(_i18n.default.t('components.events.improvement')) : (0, _lodash.capitalize)(_i18n.default.t('components.events.decline'));
|
|
24
|
+
return `${(0, _lodash.round)(Math.abs(num), 1)}% ${addText}`;
|
|
27
25
|
};
|
|
28
|
-
|
|
26
|
+
const upDown = num => {
|
|
29
27
|
return num >= 0 ? 'green' : 'red';
|
|
30
28
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
});
|
|
42
|
-
var waterAuthorityId = (0, _reactRedux.useSelector)(function (state) {
|
|
43
|
-
return state.global_data.waterAuthorityId;
|
|
44
|
-
});
|
|
45
|
-
var isFetching = function isFetching() {
|
|
29
|
+
const Events = _ref => {
|
|
30
|
+
let {
|
|
31
|
+
pointId,
|
|
32
|
+
period
|
|
33
|
+
} = _ref;
|
|
34
|
+
const [data, setData] = (0, _react.useState)({});
|
|
35
|
+
const history = (0, _reactRouterDom.useHistory)();
|
|
36
|
+
const navContext = (0, _reactRedux.useSelector)(state => state.nav_context_data.navContext);
|
|
37
|
+
const waterAuthorityId = (0, _reactRedux.useSelector)(state => state.global_data.waterAuthorityId);
|
|
38
|
+
const isFetching = () => {
|
|
46
39
|
return (0, _lodash.isEmpty)(data);
|
|
47
40
|
};
|
|
48
|
-
|
|
41
|
+
const getData = () => {
|
|
49
42
|
setData({});
|
|
50
|
-
fetch(
|
|
51
|
-
return response.json();
|
|
52
|
-
}).then(function (json) {
|
|
43
|
+
fetch(`/data/events-component-data/${pointId}?period_days=${(0, _time.rangeToDays)(period)}`).then(response => response.json()).then(json => {
|
|
53
44
|
setData(json.data['events_component_data']);
|
|
54
45
|
});
|
|
55
46
|
};
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
const navigateToEvent = name => {
|
|
48
|
+
const severitiesMap = {
|
|
58
49
|
polluted: '0,1,2',
|
|
59
50
|
medium: 0,
|
|
60
51
|
high: 1,
|
|
61
52
|
extreme: 2
|
|
62
53
|
};
|
|
63
|
-
|
|
54
|
+
const filter = {
|
|
64
55
|
filter_items: [{
|
|
65
56
|
type: 'SeverityFilterItem',
|
|
66
57
|
selected_options: [severitiesMap[name]]
|
|
67
58
|
}, {
|
|
68
59
|
type: 'TimeFilterItem',
|
|
69
|
-
selected_options: [
|
|
60
|
+
selected_options: [`${period}`]
|
|
70
61
|
}, {
|
|
71
62
|
type: 'InterestPointFilterItem',
|
|
72
63
|
selected_options: [pointId]
|
|
73
64
|
}]
|
|
74
65
|
};
|
|
75
|
-
|
|
76
|
-
history.push(
|
|
66
|
+
const kql = (0, _kql.buildKQLQuery)(filter);
|
|
67
|
+
history.push(`/events_view/index?water_authority_id=${waterAuthorityId}&locale=${navContext.locale}&valuesFromKQL=${kql}`);
|
|
77
68
|
};
|
|
78
|
-
(0, _react.useEffect)(
|
|
69
|
+
(0, _react.useEffect)(() => {
|
|
79
70
|
if (pointId !== null) {
|
|
80
71
|
getData();
|
|
81
72
|
}
|
|
82
|
-
return
|
|
73
|
+
return () => {};
|
|
83
74
|
}, [pointId, period]);
|
|
84
75
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
85
76
|
className: "events"
|
|
@@ -101,18 +92,16 @@ var Events = function Events(_ref) {
|
|
|
101
92
|
margin: "8px 0 8px 0",
|
|
102
93
|
fgColor: "#03b915",
|
|
103
94
|
bgColor: "#e1e1e1"
|
|
104
|
-
}) :
|
|
95
|
+
}) : `${(0, _lodash.round)(data['clean_percents'])}%`), /*#__PURE__*/_react.default.createElement("div", {
|
|
105
96
|
className: "events__change-percents events__change-percents--up"
|
|
106
97
|
}, isFetching() ? /*#__PURE__*/_react.default.createElement(_ContentLoader.RowLoader, {
|
|
107
98
|
width: 60,
|
|
108
99
|
height: 17
|
|
109
100
|
}) : /*#__PURE__*/_react.default.createElement("span", {
|
|
110
|
-
className:
|
|
101
|
+
className: `events__change-percents--value events__change-percents--${upDown(data['clean_percent_change'])}`
|
|
111
102
|
}, formatPercentChg(data['clean_percent_change']))))), /*#__PURE__*/_react.default.createElement("div", {
|
|
112
103
|
className: "events__event events__event--polluted",
|
|
113
|
-
onClick:
|
|
114
|
-
return navigateToEvent('polluted');
|
|
115
|
-
}
|
|
104
|
+
onClick: () => navigateToEvent('polluted')
|
|
116
105
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
117
106
|
className: "events__data"
|
|
118
107
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -125,19 +114,17 @@ var Events = function Events(_ref) {
|
|
|
125
114
|
margin: "8px 0 8px 0",
|
|
126
115
|
fgColor: "#222",
|
|
127
116
|
bgColor: "#f2f2f2"
|
|
128
|
-
}) :
|
|
117
|
+
}) : `${(0, _lodash.round)(data['polluted_percents'])}%`), /*#__PURE__*/_react.default.createElement("div", {
|
|
129
118
|
className: "events__change-percents"
|
|
130
119
|
}, isFetching() ? /*#__PURE__*/_react.default.createElement(_ContentLoader.RowLoader, {
|
|
131
120
|
width: 60,
|
|
132
121
|
height: 17,
|
|
133
122
|
bgColor: "#e1e1e1"
|
|
134
123
|
}) : /*#__PURE__*/_react.default.createElement("span", {
|
|
135
|
-
className:
|
|
124
|
+
className: `events__change-percents--value events__change-percents--${upDown(data['polluted_percent_change'])}`
|
|
136
125
|
}, formatPercentChg(data['polluted_percent_change']))))), /*#__PURE__*/_react.default.createElement("div", {
|
|
137
126
|
className: "events__event events__event--extreme",
|
|
138
|
-
onClick:
|
|
139
|
-
return navigateToEvent('extreme');
|
|
140
|
-
}
|
|
127
|
+
onClick: () => navigateToEvent('extreme')
|
|
141
128
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
142
129
|
className: "events__data"
|
|
143
130
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -150,18 +137,16 @@ var Events = function Events(_ref) {
|
|
|
150
137
|
margin: "8px 0 8px 0",
|
|
151
138
|
fgColor: "#f94b60",
|
|
152
139
|
bgColor: "#f2f2f2"
|
|
153
|
-
}) :
|
|
140
|
+
}) : `${(0, _lodash.round)(data['extreme_percents'])}%`), /*#__PURE__*/_react.default.createElement("div", {
|
|
154
141
|
className: "events__change-percents"
|
|
155
142
|
}, isFetching() ? /*#__PURE__*/_react.default.createElement(_ContentLoader.RowLoader, {
|
|
156
143
|
width: 60,
|
|
157
144
|
height: 17
|
|
158
145
|
}) : /*#__PURE__*/_react.default.createElement("span", {
|
|
159
|
-
className:
|
|
146
|
+
className: `events__change-percents--value events__change-percents--${upDown(data['extreme_percent_change'])}`
|
|
160
147
|
}, formatPercentChg(data['extreme_percent_change']))))), /*#__PURE__*/_react.default.createElement("div", {
|
|
161
148
|
className: "events__event events__event--high",
|
|
162
|
-
onClick:
|
|
163
|
-
return navigateToEvent('high');
|
|
164
|
-
}
|
|
149
|
+
onClick: () => navigateToEvent('high')
|
|
165
150
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
166
151
|
className: "events__data"
|
|
167
152
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -174,18 +159,16 @@ var Events = function Events(_ref) {
|
|
|
174
159
|
margin: "8px 0 8px 0",
|
|
175
160
|
fgColor: "#ec870f",
|
|
176
161
|
bgColor: "#f2f2f2"
|
|
177
|
-
}) :
|
|
162
|
+
}) : `${(0, _lodash.round)(data['high_percents'])}%`), /*#__PURE__*/_react.default.createElement("div", {
|
|
178
163
|
className: "events__change-percents"
|
|
179
164
|
}, isFetching() ? /*#__PURE__*/_react.default.createElement(_ContentLoader.RowLoader, {
|
|
180
165
|
width: 60,
|
|
181
166
|
height: 17
|
|
182
167
|
}) : /*#__PURE__*/_react.default.createElement("span", {
|
|
183
|
-
className:
|
|
168
|
+
className: `events__change-percents--value events__change-percents--${upDown(data['high_percent_change'])}`
|
|
184
169
|
}, formatPercentChg(data['high_percent_change']))))), /*#__PURE__*/_react.default.createElement("div", {
|
|
185
170
|
className: "events__event events__event--medium",
|
|
186
|
-
onClick:
|
|
187
|
-
return navigateToEvent('medium');
|
|
188
|
-
}
|
|
171
|
+
onClick: () => navigateToEvent('medium')
|
|
189
172
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
190
173
|
className: "events__data"
|
|
191
174
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -198,15 +181,15 @@ var Events = function Events(_ref) {
|
|
|
198
181
|
margin: "8px 0 8px 0",
|
|
199
182
|
fgColor: "#f4b461",
|
|
200
183
|
bgColor: "#f2f2f2"
|
|
201
|
-
}) :
|
|
184
|
+
}) : `${(0, _lodash.round)(data['medium_percents'])}%`), /*#__PURE__*/_react.default.createElement("div", {
|
|
202
185
|
className: "events__change-percents"
|
|
203
186
|
}, isFetching() ? /*#__PURE__*/_react.default.createElement(_ContentLoader.RowLoader, {
|
|
204
187
|
width: 60,
|
|
205
188
|
height: 17
|
|
206
189
|
}) : /*#__PURE__*/_react.default.createElement("span", {
|
|
207
|
-
className:
|
|
190
|
+
className: `events__change-percents--value events__change-percents--${upDown(data['medium_percent_change'], true)}`
|
|
208
191
|
}, formatPercentChg(data['medium_percent_change'], true)))))));
|
|
209
192
|
};
|
|
210
193
|
var _default = Events;
|
|
211
194
|
exports.default = _default;
|
|
212
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSb3V0ZXJEb20iLCJfbG9kYXNoIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2txbCIsIl9yZWFjdFJlZHV4IiwiX0NvbnRlbnRMb2FkZXIiLCJfdGltZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiZm9ybWF0UGVyY2VudENoZyIsIm51bSIsImFkZFRleHQiLCJjYXBpdGFsaXplIiwiaTE4biIsInQiLCJjb25jYXQiLCJyb3VuZCIsIk1hdGgiLCJhYnMiLCJ1cERvd24iLCJFdmVudHMiLCJfcmVmIiwicG9pbnRJZCIsInBlcmlvZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRhdGEiLCJzZXREYXRhIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJuYXZDb250ZXh0IiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJ3YXRlckF1dGhvcml0eUlkIiwiZ2xvYmFsX2RhdGEiLCJpc0ZldGNoaW5nIiwiaXNFbXB0eSIsImdldERhdGEiLCJmZXRjaCIsInJhbmdlVG9EYXlzIiwidGhlbiIsInJlc3BvbnNlIiwianNvbiIsIm5hdmlnYXRlVG9FdmVudCIsIm5hbWUiLCJzZXZlcml0aWVzTWFwIiwicG9sbHV0ZWQiLCJtZWRpdW0iLCJoaWdoIiwiZXh0cmVtZSIsImZpbHRlciIsImZpbHRlcl9pdGVtcyIsInR5cGUiLCJzZWxlY3RlZF9vcHRpb25zIiwia3FsIiwiYnVpbGRLUUxRdWVyeSIsInB1c2giLCJsb2NhbGUiLCJ1c2VFZmZlY3QiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiUm93TG9hZGVyIiwid2lkdGgiLCJoZWlnaHQiLCJtYXJnaW4iLCJmZ0NvbG9yIiwiYmdDb2xvciIsIm9uQ2xpY2siLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9FdmVudHMvRXZlbnRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHJvdW5kLCBjYXBpdGFsaXplLCBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuXG5pbXBvcnQgJy4vc3R5bGVzLnNjc3MnO1xuaW1wb3J0IHsgYnVpbGRLUUxRdWVyeSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgUm93TG9hZGVyIH0gZnJvbSAnLi4vQ29udGVudExvYWRlcic7XG5pbXBvcnQgeyByYW5nZVRvRGF5cyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy90aW1lJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIHBvaW50SWQ6IG51bWJlciB8IG51bGw7XG4gIHBlcmlvZDogc3RyaW5nO1xufTtcblxuLypcbiAgSWYgK2lzUG9sbHV0aW9uKyBpcyB0cnVlLCBpbnZlcnQgdGhlIGNvbG9yczogdXAgPT0gcmVkLCBkb3duID09IGdyZWVuLlxuICovXG5jb25zdCBmb3JtYXRQZXJjZW50Q2hnID0gKG51bTogbnVtYmVyKSA9PiB7XG4gIGNvbnN0IGFkZFRleHQgPVxuICAgIG51bSA+PSAwXG4gICAgICA/IGNhcGl0YWxpemUoaTE4bi50KCdjb21wb25lbnRzLmV2ZW50cy5pbXByb3ZlbWVudCcpKVxuICAgICAgOiBjYXBpdGFsaXplKGkxOG4udCgnY29tcG9uZW50cy5ldmVudHMuZGVjbGluZScpKTtcbiAgcmV0dXJuIGAke3JvdW5kKE1hdGguYWJzKG51bSksIDEpfSUgJHthZGRUZXh0fWA7XG59O1xuXG5jb25zdCB1cERvd24gPSAobnVtOiBudW1iZXIpID0+IHtcbiAgcmV0dXJuIG51bSA+PSAwID8gJ2dyZWVuJyA6ICdyZWQnO1xufTtcblxuY29uc3QgRXZlbnRzID0gKHsgcG9pbnRJZCwgcGVyaW9kIH06IElQcm9wcykgPT4ge1xuICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSB1c2VTdGF0ZTxhbnk+KHt9KTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgbmF2Q29udGV4dCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLm5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dCxcbiAgKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuXG4gIGNvbnN0IGlzRmV0Y2hpbmcgPSAoKSA9PiB7XG4gICAgcmV0dXJuIGlzRW1wdHkoZGF0YSk7XG4gIH07XG5cbiAgY29uc3QgZ2V0RGF0YSA9ICgpID0+IHtcbiAgICBzZXREYXRhKHt9KTtcbiAgICBmZXRjaChcbiAgICAgIGAvZGF0YS9ldmVudHMtY29tcG9uZW50LWRhdGEvJHtwb2ludElkfT9wZXJpb2RfZGF5cz0ke3JhbmdlVG9EYXlzKFxuICAgICAgICBwZXJpb2QsXG4gICAgICApfWAsXG4gICAgKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICBzZXREYXRhKGpzb24uZGF0YVsnZXZlbnRzX2NvbXBvbmVudF9kYXRhJ10pO1xuICAgICAgfSk7XG4gIH07XG5cbiAgY29uc3QgbmF2aWdhdGVUb0V2ZW50ID0gKG5hbWU6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHNldmVyaXRpZXNNYXA6IGFueSA9IHtcbiAgICAgIHBvbGx1dGVkOiAnMCwxLDInLFxuICAgICAgbWVkaXVtOiAwLFxuICAgICAgaGlnaDogMSxcbiAgICAgIGV4dHJlbWU6IDIsXG4gICAgfTtcbiAgICBjb25zdCBmaWx0ZXIgPSB7XG4gICAgICBmaWx0ZXJfaXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdTZXZlcml0eUZpbHRlckl0ZW0nLFxuICAgICAgICAgIHNlbGVjdGVkX29wdGlvbnM6IFtzZXZlcml0aWVzTWFwW25hbWVdXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdUaW1lRmlsdGVySXRlbScsXG4gICAgICAgICAgc2VsZWN0ZWRfb3B0aW9uczogW2Ake3BlcmlvZH1gXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbScsXG4gICAgICAgICAgc2VsZWN0ZWRfb3B0aW9uczogW3BvaW50SWRdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICAgIGNvbnN0IGtxbCA9IGJ1aWxkS1FMUXVlcnkoZmlsdGVyKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgL2V2ZW50c192aWV3L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke3dhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPSR7a3FsfWAsXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwb2ludElkICE9PSBudWxsKSB7XG4gICAgICBnZXREYXRhKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHt9O1xuICB9LCBbcG9pbnRJZCwgcGVyaW9kXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c1wiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX3RpdGxlXCI+XG4gICAgICAgIHtjYXBpdGFsaXplKGkxOG4udCgnZGFzaGJvYXJkX3YyLmV2ZW50cycpKX1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fZXZlbnQgZXZlbnRzX19ldmVudC0tY2xlYXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fZGF0YVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX25hbWVcIj5cbiAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuY2xlYXInKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX3BlcmNlbnRzXCI+XG4gICAgICAgICAgICAgIHtpc0ZldGNoaW5nKCkgPyAoXG4gICAgICAgICAgICAgICAgPFJvd0xvYWRlclxuICAgICAgICAgICAgICAgICAgd2lkdGg9ezMwfVxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PXszMH1cbiAgICAgICAgICAgICAgICAgIG1hcmdpbj1cIjhweCAwIDhweCAwXCJcbiAgICAgICAgICAgICAgICAgIGZnQ29sb3I9XCIjMDNiOTE1XCJcbiAgICAgICAgICAgICAgICAgIGJnQ29sb3I9XCIjZTFlMWUxXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIGAke3JvdW5kKGRhdGFbJ2NsZWFuX3BlcmNlbnRzJ10pfSVgXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19jaGFuZ2UtcGVyY2VudHMgZXZlbnRzX19jaGFuZ2UtcGVyY2VudHMtLXVwXCI+XG4gICAgICAgICAgICAgIHtpc0ZldGNoaW5nKCkgPyAoXG4gICAgICAgICAgICAgICAgPFJvd0xvYWRlciB3aWR0aD17NjB9IGhlaWdodD17MTd9IC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGV2ZW50c19fY2hhbmdlLXBlcmNlbnRzLS12YWx1ZSBldmVudHNfX2NoYW5nZS1wZXJjZW50cy0tJHt1cERvd24oXG4gICAgICAgICAgICAgICAgICAgIGRhdGFbJ2NsZWFuX3BlcmNlbnRfY2hhbmdlJ10sXG4gICAgICAgICAgICAgICAgICApfWB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2Zvcm1hdFBlcmNlbnRDaGcoZGF0YVsnY2xlYW5fcGVyY2VudF9jaGFuZ2UnXSl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9XCJldmVudHNfX2V2ZW50IGV2ZW50c19fZXZlbnQtLXBvbGx1dGVkXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZVRvRXZlbnQoJ3BvbGx1dGVkJyl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fZGF0YVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX25hbWVcIj5cbiAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMucG9sbHV0ZWQnKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX3BlcmNlbnRzXCI+XG4gICAgICAgICAgICAgIHtpc0ZldGNoaW5nKCkgPyAoXG4gICAgICAgICAgICAgICAgPFJvd0xvYWRlclxuICAgICAgICAgICAgICAgICAgd2lkdGg9ezMwfVxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PXszMH1cbiAgICAgICAgICAgICAgICAgIG1hcmdpbj1cIjhweCAwIDhweCAwXCJcbiAgICAgICAgICAgICAgICAgIGZnQ29sb3I9XCIjMjIyXCJcbiAgICAgICAgICAgICAgICAgIGJnQ29sb3I9XCIjZjJmMmYyXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIGAke3JvdW5kKGRhdGFbJ3BvbGx1dGVkX3BlcmNlbnRzJ10pfSVgXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19jaGFuZ2UtcGVyY2VudHNcIj5cbiAgICAgICAgICAgICAge2lzRmV0Y2hpbmcoKSA/IChcbiAgICAgICAgICAgICAgICA8Um93TG9hZGVyIHdpZHRoPXs2MH0gaGVpZ2h0PXsxN30gYmdDb2xvcj1cIiNlMWUxZTFcIiAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BldmVudHNfX2NoYW5nZS1wZXJjZW50cy0tdmFsdWUgZXZlbnRzX19jaGFuZ2UtcGVyY2VudHMtLSR7dXBEb3duKFxuICAgICAgICAgICAgICAgICAgICBkYXRhWydwb2xsdXRlZF9wZXJjZW50X2NoYW5nZSddLFxuICAgICAgICAgICAgICAgICAgKX1gfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtmb3JtYXRQZXJjZW50Q2hnKGRhdGFbJ3BvbGx1dGVkX3BlcmNlbnRfY2hhbmdlJ10pfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPVwiZXZlbnRzX19ldmVudCBldmVudHNfX2V2ZW50LS1leHRyZW1lXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZVRvRXZlbnQoJ2V4dHJlbWUnKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19kYXRhXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fbmFtZVwiPlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4yJyl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19wZXJjZW50c1wiPlxuICAgICAgICAgICAgICB7aXNGZXRjaGluZygpID8gKFxuICAgICAgICAgICAgICAgIDxSb3dMb2FkZXJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPXszMH1cbiAgICAgICAgICAgICAgICAgIGhlaWdodD17MzB9XG4gICAgICAgICAgICAgICAgICBtYXJnaW49XCI4cHggMCA4cHggMFwiXG4gICAgICAgICAgICAgICAgICBmZ0NvbG9yPVwiI2Y5NGI2MFwiXG4gICAgICAgICAgICAgICAgICBiZ0NvbG9yPVwiI2YyZjJmMlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICBgJHtyb3VuZChkYXRhWydleHRyZW1lX3BlcmNlbnRzJ10pfSVgXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19jaGFuZ2UtcGVyY2VudHNcIj5cbiAgICAgICAgICAgICAge2lzRmV0Y2hpbmcoKSA/IChcbiAgICAgICAgICAgICAgICA8Um93TG9hZGVyIHdpZHRoPXs2MH0gaGVpZ2h0PXsxN30gLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZXZlbnRzX19jaGFuZ2UtcGVyY2VudHMtLXZhbHVlIGV2ZW50c19fY2hhbmdlLXBlcmNlbnRzLS0ke3VwRG93bihcbiAgICAgICAgICAgICAgICAgICAgZGF0YVsnZXh0cmVtZV9wZXJjZW50X2NoYW5nZSddLFxuICAgICAgICAgICAgICAgICAgKX1gfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtmb3JtYXRQZXJjZW50Q2hnKGRhdGFbJ2V4dHJlbWVfcGVyY2VudF9jaGFuZ2UnXSl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9XCJldmVudHNfX2V2ZW50IGV2ZW50c19fZXZlbnQtLWhpZ2hcIlxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRlVG9FdmVudCgnaGlnaCcpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX2RhdGFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19uYW1lXCI+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLjEnKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX3BlcmNlbnRzXCI+XG4gICAgICAgICAgICAgIHtpc0ZldGNoaW5nKCkgPyAoXG4gICAgICAgICAgICAgICAgPFJvd0xvYWRlclxuICAgICAgICAgICAgICAgICAgd2lkdGg9ezMwfVxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PXszMH1cbiAgICAgICAgICAgICAgICAgIG1hcmdpbj1cIjhweCAwIDhweCAwXCJcbiAgICAgICAgICAgICAgICAgIGZnQ29sb3I9XCIjZWM4NzBmXCJcbiAgICAgICAgICAgICAgICAgIGJnQ29sb3I9XCIjZjJmMmYyXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIGAke3JvdW5kKGRhdGFbJ2hpZ2hfcGVyY2VudHMnXSl9JWBcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX2NoYW5nZS1wZXJjZW50c1wiPlxuICAgICAgICAgICAgICB7aXNGZXRjaGluZygpID8gKFxuICAgICAgICAgICAgICAgIDxSb3dMb2FkZXIgd2lkdGg9ezYwfSBoZWlnaHQ9ezE3fSAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BldmVudHNfX2NoYW5nZS1wZXJjZW50cy0tdmFsdWUgZXZlbnRzX19jaGFuZ2UtcGVyY2VudHMtLSR7dXBEb3duKFxuICAgICAgICAgICAgICAgICAgICBkYXRhWydoaWdoX3BlcmNlbnRfY2hhbmdlJ10sXG4gICAgICAgICAgICAgICAgICApfWB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2Zvcm1hdFBlcmNlbnRDaGcoZGF0YVsnaGlnaF9wZXJjZW50X2NoYW5nZSddKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT1cImV2ZW50c19fZXZlbnQgZXZlbnRzX19ldmVudC0tbWVkaXVtXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZVRvRXZlbnQoJ21lZGl1bScpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX2RhdGFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19uYW1lXCI+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLjAnKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX3BlcmNlbnRzXCI+XG4gICAgICAgICAgICAgIHtpc0ZldGNoaW5nKCkgPyAoXG4gICAgICAgICAgICAgICAgPFJvd0xvYWRlclxuICAgICAgICAgICAgICAgICAgd2lkdGg9ezMwfVxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PXszMH1cbiAgICAgICAgICAgICAgICAgIG1hcmdpbj1cIjhweCAwIDhweCAwXCJcbiAgICAgICAgICAgICAgICAgIGZnQ29sb3I9XCIjZjRiNDYxXCJcbiAgICAgICAgICAgICAgICAgIGJnQ29sb3I9XCIjZjJmMmYyXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIGAke3JvdW5kKGRhdGFbJ21lZGl1bV9wZXJjZW50cyddKX0lYFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fY2hhbmdlLXBlcmNlbnRzXCI+XG4gICAgICAgICAgICAgIHtpc0ZldGNoaW5nKCkgPyAoXG4gICAgICAgICAgICAgICAgPFJvd0xvYWRlciB3aWR0aD17NjB9IGhlaWdodD17MTd9IC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGV2ZW50c19fY2hhbmdlLXBlcmNlbnRzLS12YWx1ZSBldmVudHNfX2NoYW5nZS1wZXJjZW50cy0tJHt1cERvd24oXG4gICAgICAgICAgICAgICAgICAgIGRhdGFbJ21lZGl1bV9wZXJjZW50X2NoYW5nZSddLFxuICAgICAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgICAgKX1gfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtmb3JtYXRQZXJjZW50Q2hnKGRhdGFbJ21lZGl1bV9wZXJjZW50X2NoYW5nZSddLCB0cnVlKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50cztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsS0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBRUFBLE9BQUE7QUFDQSxJQUFBSyxJQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyxjQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxLQUFBLEdBQUFSLE9BQUE7QUFBbUQsU0FBQVMseUJBQUFDLFdBQUEsZUFB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
|
|
195
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSb3V0ZXJEb20iLCJfbG9kYXNoIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2txbCIsIl9yZWFjdFJlZHV4IiwiX0NvbnRlbnRMb2FkZXIiLCJfdGltZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJmb3JtYXRQZXJjZW50Q2hnIiwibnVtIiwiYWRkVGV4dCIsImNhcGl0YWxpemUiLCJpMThuIiwidCIsInJvdW5kIiwiTWF0aCIsImFicyIsInVwRG93biIsIkV2ZW50cyIsIl9yZWYiLCJwb2ludElkIiwicGVyaW9kIiwiZGF0YSIsInNldERhdGEiLCJ1c2VTdGF0ZSIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwibmF2Q29udGV4dCIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsImdsb2JhbF9kYXRhIiwiaXNGZXRjaGluZyIsImlzRW1wdHkiLCJnZXREYXRhIiwiZmV0Y2giLCJyYW5nZVRvRGF5cyIsInRoZW4iLCJyZXNwb25zZSIsImpzb24iLCJuYXZpZ2F0ZVRvRXZlbnQiLCJuYW1lIiwic2V2ZXJpdGllc01hcCIsInBvbGx1dGVkIiwibWVkaXVtIiwiaGlnaCIsImV4dHJlbWUiLCJmaWx0ZXIiLCJmaWx0ZXJfaXRlbXMiLCJ0eXBlIiwic2VsZWN0ZWRfb3B0aW9ucyIsImtxbCIsImJ1aWxkS1FMUXVlcnkiLCJwdXNoIiwibG9jYWxlIiwidXNlRWZmZWN0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIlJvd0xvYWRlciIsIndpZHRoIiwiaGVpZ2h0IiwibWFyZ2luIiwiZmdDb2xvciIsImJnQ29sb3IiLCJvbkNsaWNrIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRXZlbnRzL0V2ZW50cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyByb3VuZCwgY2FwaXRhbGl6ZSwgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcblxuaW1wb3J0ICcuL3N0eWxlcy5zY3NzJztcbmltcG9ydCB7IGJ1aWxkS1FMUXVlcnkgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMva3FsJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IFJvd0xvYWRlciB9IGZyb20gJy4uL0NvbnRlbnRMb2FkZXInO1xuaW1wb3J0IHsgcmFuZ2VUb0RheXMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdGltZSc7XG5cbnR5cGUgSVByb3BzID0ge1xuICBwb2ludElkOiBudW1iZXIgfCBudWxsO1xuICBwZXJpb2Q6IHN0cmluZztcbn07XG5cbi8qXG4gIElmICtpc1BvbGx1dGlvbisgaXMgdHJ1ZSwgaW52ZXJ0IHRoZSBjb2xvcnM6IHVwID09IHJlZCwgZG93biA9PSBncmVlbi5cbiAqL1xuY29uc3QgZm9ybWF0UGVyY2VudENoZyA9IChudW06IG51bWJlcikgPT4ge1xuICBjb25zdCBhZGRUZXh0ID1cbiAgICBudW0gPj0gMFxuICAgICAgPyBjYXBpdGFsaXplKGkxOG4udCgnY29tcG9uZW50cy5ldmVudHMuaW1wcm92ZW1lbnQnKSlcbiAgICAgIDogY2FwaXRhbGl6ZShpMThuLnQoJ2NvbXBvbmVudHMuZXZlbnRzLmRlY2xpbmUnKSk7XG4gIHJldHVybiBgJHtyb3VuZChNYXRoLmFicyhudW0pLCAxKX0lICR7YWRkVGV4dH1gO1xufTtcblxuY29uc3QgdXBEb3duID0gKG51bTogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBudW0gPj0gMCA/ICdncmVlbicgOiAncmVkJztcbn07XG5cbmNvbnN0IEV2ZW50cyA9ICh7IHBvaW50SWQsIHBlcmlvZCB9OiBJUHJvcHMpID0+IHtcbiAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGU8YW55Pih7fSk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgKTtcblxuICBjb25zdCBpc0ZldGNoaW5nID0gKCkgPT4ge1xuICAgIHJldHVybiBpc0VtcHR5KGRhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGdldERhdGEgPSAoKSA9PiB7XG4gICAgc2V0RGF0YSh7fSk7XG4gICAgZmV0Y2goXG4gICAgICBgL2RhdGEvZXZlbnRzLWNvbXBvbmVudC1kYXRhLyR7cG9pbnRJZH0/cGVyaW9kX2RheXM9JHtyYW5nZVRvRGF5cyhcbiAgICAgICAgcGVyaW9kLFxuICAgICAgKX1gLFxuICAgIClcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgc2V0RGF0YShqc29uLmRhdGFbJ2V2ZW50c19jb21wb25lbnRfZGF0YSddKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG5hdmlnYXRlVG9FdmVudCA9IChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBzZXZlcml0aWVzTWFwOiBhbnkgPSB7XG4gICAgICBwb2xsdXRlZDogJzAsMSwyJyxcbiAgICAgIG1lZGl1bTogMCxcbiAgICAgIGhpZ2g6IDEsXG4gICAgICBleHRyZW1lOiAyLFxuICAgIH07XG4gICAgY29uc3QgZmlsdGVyID0ge1xuICAgICAgZmlsdGVyX2l0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnU2V2ZXJpdHlGaWx0ZXJJdGVtJyxcbiAgICAgICAgICBzZWxlY3RlZF9vcHRpb25zOiBbc2V2ZXJpdGllc01hcFtuYW1lXV0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnVGltZUZpbHRlckl0ZW0nLFxuICAgICAgICAgIHNlbGVjdGVkX29wdGlvbnM6IFtgJHtwZXJpb2R9YF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnSW50ZXJlc3RQb2ludEZpbHRlckl0ZW0nLFxuICAgICAgICAgIHNlbGVjdGVkX29wdGlvbnM6IFtwb2ludElkXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgICBjb25zdCBrcWwgPSBidWlsZEtRTFF1ZXJ5KGZpbHRlcik7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC9ldmVudHNfdmlldy9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHt3YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD0ke2txbH1gLFxuICAgICk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocG9pbnRJZCAhPT0gbnVsbCkge1xuICAgICAgZ2V0RGF0YSgpO1xuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7fTtcbiAgfSwgW3BvaW50SWQsIHBlcmlvZF0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX190aXRsZVwiPlxuICAgICAgICB7Y2FwaXRhbGl6ZShpMThuLnQoJ2Rhc2hib2FyZF92Mi5ldmVudHMnKSl9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX2NvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX2V2ZW50IGV2ZW50c19fZXZlbnQtLWNsZWFyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX2RhdGFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19uYW1lXCI+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLmNsZWFyJyl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19wZXJjZW50c1wiPlxuICAgICAgICAgICAgICB7aXNGZXRjaGluZygpID8gKFxuICAgICAgICAgICAgICAgIDxSb3dMb2FkZXJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPXszMH1cbiAgICAgICAgICAgICAgICAgIGhlaWdodD17MzB9XG4gICAgICAgICAgICAgICAgICBtYXJnaW49XCI4cHggMCA4cHggMFwiXG4gICAgICAgICAgICAgICAgICBmZ0NvbG9yPVwiIzAzYjkxNVwiXG4gICAgICAgICAgICAgICAgICBiZ0NvbG9yPVwiI2UxZTFlMVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICBgJHtyb3VuZChkYXRhWydjbGVhbl9wZXJjZW50cyddKX0lYFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fY2hhbmdlLXBlcmNlbnRzIGV2ZW50c19fY2hhbmdlLXBlcmNlbnRzLS11cFwiPlxuICAgICAgICAgICAgICB7aXNGZXRjaGluZygpID8gKFxuICAgICAgICAgICAgICAgIDxSb3dMb2FkZXIgd2lkdGg9ezYwfSBoZWlnaHQ9ezE3fSAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BldmVudHNfX2NoYW5nZS1wZXJjZW50cy0tdmFsdWUgZXZlbnRzX19jaGFuZ2UtcGVyY2VudHMtLSR7dXBEb3duKFxuICAgICAgICAgICAgICAgICAgICBkYXRhWydjbGVhbl9wZXJjZW50X2NoYW5nZSddLFxuICAgICAgICAgICAgICAgICAgKX1gfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtmb3JtYXRQZXJjZW50Q2hnKGRhdGFbJ2NsZWFuX3BlcmNlbnRfY2hhbmdlJ10pfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPVwiZXZlbnRzX19ldmVudCBldmVudHNfX2V2ZW50LS1wb2xsdXRlZFwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gbmF2aWdhdGVUb0V2ZW50KCdwb2xsdXRlZCcpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX2RhdGFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19uYW1lXCI+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLnBvbGx1dGVkJyl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19wZXJjZW50c1wiPlxuICAgICAgICAgICAgICB7aXNGZXRjaGluZygpID8gKFxuICAgICAgICAgICAgICAgIDxSb3dMb2FkZXJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPXszMH1cbiAgICAgICAgICAgICAgICAgIGhlaWdodD17MzB9XG4gICAgICAgICAgICAgICAgICBtYXJnaW49XCI4cHggMCA4cHggMFwiXG4gICAgICAgICAgICAgICAgICBmZ0NvbG9yPVwiIzIyMlwiXG4gICAgICAgICAgICAgICAgICBiZ0NvbG9yPVwiI2YyZjJmMlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICBgJHtyb3VuZChkYXRhWydwb2xsdXRlZF9wZXJjZW50cyddKX0lYFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fY2hhbmdlLXBlcmNlbnRzXCI+XG4gICAgICAgICAgICAgIHtpc0ZldGNoaW5nKCkgPyAoXG4gICAgICAgICAgICAgICAgPFJvd0xvYWRlciB3aWR0aD17NjB9IGhlaWdodD17MTd9IGJnQ29sb3I9XCIjZTFlMWUxXCIgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZXZlbnRzX19jaGFuZ2UtcGVyY2VudHMtLXZhbHVlIGV2ZW50c19fY2hhbmdlLXBlcmNlbnRzLS0ke3VwRG93bihcbiAgICAgICAgICAgICAgICAgICAgZGF0YVsncG9sbHV0ZWRfcGVyY2VudF9jaGFuZ2UnXSxcbiAgICAgICAgICAgICAgICAgICl9YH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7Zm9ybWF0UGVyY2VudENoZyhkYXRhWydwb2xsdXRlZF9wZXJjZW50X2NoYW5nZSddKX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT1cImV2ZW50c19fZXZlbnQgZXZlbnRzX19ldmVudC0tZXh0cmVtZVwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gbmF2aWdhdGVUb0V2ZW50KCdleHRyZW1lJyl9XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fZGF0YVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX25hbWVcIj5cbiAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuMicpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fcGVyY2VudHNcIj5cbiAgICAgICAgICAgICAge2lzRmV0Y2hpbmcoKSA/IChcbiAgICAgICAgICAgICAgICA8Um93TG9hZGVyXG4gICAgICAgICAgICAgICAgICB3aWR0aD17MzB9XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9ezMwfVxuICAgICAgICAgICAgICAgICAgbWFyZ2luPVwiOHB4IDAgOHB4IDBcIlxuICAgICAgICAgICAgICAgICAgZmdDb2xvcj1cIiNmOTRiNjBcIlxuICAgICAgICAgICAgICAgICAgYmdDb2xvcj1cIiNmMmYyZjJcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgYCR7cm91bmQoZGF0YVsnZXh0cmVtZV9wZXJjZW50cyddKX0lYFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fY2hhbmdlLXBlcmNlbnRzXCI+XG4gICAgICAgICAgICAgIHtpc0ZldGNoaW5nKCkgPyAoXG4gICAgICAgICAgICAgICAgPFJvd0xvYWRlciB3aWR0aD17NjB9IGhlaWdodD17MTd9IC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGV2ZW50c19fY2hhbmdlLXBlcmNlbnRzLS12YWx1ZSBldmVudHNfX2NoYW5nZS1wZXJjZW50cy0tJHt1cERvd24oXG4gICAgICAgICAgICAgICAgICAgIGRhdGFbJ2V4dHJlbWVfcGVyY2VudF9jaGFuZ2UnXSxcbiAgICAgICAgICAgICAgICAgICl9YH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7Zm9ybWF0UGVyY2VudENoZyhkYXRhWydleHRyZW1lX3BlcmNlbnRfY2hhbmdlJ10pfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPVwiZXZlbnRzX19ldmVudCBldmVudHNfX2V2ZW50LS1oaWdoXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBuYXZpZ2F0ZVRvRXZlbnQoJ2hpZ2gnKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19kYXRhXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fbmFtZVwiPlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4xJyl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19wZXJjZW50c1wiPlxuICAgICAgICAgICAgICB7aXNGZXRjaGluZygpID8gKFxuICAgICAgICAgICAgICAgIDxSb3dMb2FkZXJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPXszMH1cbiAgICAgICAgICAgICAgICAgIGhlaWdodD17MzB9XG4gICAgICAgICAgICAgICAgICBtYXJnaW49XCI4cHggMCA4cHggMFwiXG4gICAgICAgICAgICAgICAgICBmZ0NvbG9yPVwiI2VjODcwZlwiXG4gICAgICAgICAgICAgICAgICBiZ0NvbG9yPVwiI2YyZjJmMlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICBgJHtyb3VuZChkYXRhWydoaWdoX3BlcmNlbnRzJ10pfSVgXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19jaGFuZ2UtcGVyY2VudHNcIj5cbiAgICAgICAgICAgICAge2lzRmV0Y2hpbmcoKSA/IChcbiAgICAgICAgICAgICAgICA8Um93TG9hZGVyIHdpZHRoPXs2MH0gaGVpZ2h0PXsxN30gLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZXZlbnRzX19jaGFuZ2UtcGVyY2VudHMtLXZhbHVlIGV2ZW50c19fY2hhbmdlLXBlcmNlbnRzLS0ke3VwRG93bihcbiAgICAgICAgICAgICAgICAgICAgZGF0YVsnaGlnaF9wZXJjZW50X2NoYW5nZSddLFxuICAgICAgICAgICAgICAgICAgKX1gfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtmb3JtYXRQZXJjZW50Q2hnKGRhdGFbJ2hpZ2hfcGVyY2VudF9jaGFuZ2UnXSl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9XCJldmVudHNfX2V2ZW50IGV2ZW50c19fZXZlbnQtLW1lZGl1bVwiXG4gICAgICAgICAgb25DbGljaz17KCkgPT4gbmF2aWdhdGVUb0V2ZW50KCdtZWRpdW0nKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19kYXRhXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50c19fbmFtZVwiPlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4wJyl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXZlbnRzX19wZXJjZW50c1wiPlxuICAgICAgICAgICAgICB7aXNGZXRjaGluZygpID8gKFxuICAgICAgICAgICAgICAgIDxSb3dMb2FkZXJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPXszMH1cbiAgICAgICAgICAgICAgICAgIGhlaWdodD17MzB9XG4gICAgICAgICAgICAgICAgICBtYXJnaW49XCI4cHggMCA4cHggMFwiXG4gICAgICAgICAgICAgICAgICBmZ0NvbG9yPVwiI2Y0YjQ2MVwiXG4gICAgICAgICAgICAgICAgICBiZ0NvbG9yPVwiI2YyZjJmMlwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICBgJHtyb3VuZChkYXRhWydtZWRpdW1fcGVyY2VudHMnXSl9JWBcbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHNfX2NoYW5nZS1wZXJjZW50c1wiPlxuICAgICAgICAgICAgICB7aXNGZXRjaGluZygpID8gKFxuICAgICAgICAgICAgICAgIDxSb3dMb2FkZXIgd2lkdGg9ezYwfSBoZWlnaHQ9ezE3fSAvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BldmVudHNfX2NoYW5nZS1wZXJjZW50cy0tdmFsdWUgZXZlbnRzX19jaGFuZ2UtcGVyY2VudHMtLSR7dXBEb3duKFxuICAgICAgICAgICAgICAgICAgICBkYXRhWydtZWRpdW1fcGVyY2VudF9jaGFuZ2UnXSxcbiAgICAgICAgICAgICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICl9YH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7Zm9ybWF0UGVyY2VudENoZyhkYXRhWydtZWRpdW1fcGVyY2VudF9jaGFuZ2UnXSwgdHJ1ZSl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBFdmVudHM7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxLQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFFQUEsT0FBQTtBQUNBLElBQUFLLElBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLGNBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLEtBQUEsR0FBQVIsT0FBQTtBQUFtRCxTQUFBUyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JB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
|