@kando-env/kando-ui 1.2.228-alpha.29 → 1.2.228-alpha.3

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.
Files changed (569) hide show
  1. package/lib/Router.js +106 -38
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +46 -14
  3. package/lib/Widgets/EventsRow/EventsRow.js +46 -17
  4. package/lib/Widgets/Map/GraphUtils.js +5 -2
  5. package/lib/Widgets/Map/Map.js +88 -59
  6. package/lib/Widgets/Map/MapUtils.js +57 -6
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +31 -9
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +25 -10
  9. package/lib/Widgets/Map/edges/Edge.js +34 -11
  10. package/lib/Widgets/Map/edges/Edges.js +24 -13
  11. package/lib/Widgets/Map/edges/arrows/Arrows.js +24 -9
  12. package/lib/Widgets/Map/events/Event.js +27 -9
  13. package/lib/Widgets/Map/events/EventIndicator.js +46 -21
  14. package/lib/Widgets/Map/events/EventPath.js +24 -7
  15. package/lib/Widgets/Map/events/EventUtils.js +55 -5
  16. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +23 -7
  17. package/lib/Widgets/Map/events/PointOfEvent.js +38 -7
  18. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +17 -5
  19. package/lib/Widgets/Map/events/Snail.js +23 -9
  20. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +58 -17
  21. package/lib/Widgets/Map/map/FloatingGraph.js +20 -4
  22. package/lib/Widgets/Map/map/GraphDateButton.js +10 -4
  23. package/lib/Widgets/Map/matchGraph/MatchGraph.js +11 -5
  24. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +11 -5
  25. package/lib/Widgets/Map/points/PointIcon.js +23 -7
  26. package/lib/Widgets/Map/points/PointMarker.js +25 -15
  27. package/lib/Widgets/Map/points/PointMarkers.js +26 -18
  28. package/lib/Widgets/Map/points/PointUtils.js +95 -12
  29. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +53 -17
  30. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +23 -6
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +17 -3
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -2
  33. package/lib/Widgets/MostPolluting/Areas/Areas.js +57 -21
  34. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +1 -1
  35. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  36. package/lib/Widgets/MostPolluting/Areas/styles.js +8 -2
  37. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +12 -4
  38. package/lib/Widgets/MostPolluting/Factories/Factories.js +68 -32
  39. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +22 -5
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +11 -2
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +18 -5
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +8 -4
  43. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +1 -1
  44. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +8 -2
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +21 -6
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -14
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +10 -3
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -2
  50. package/lib/Widgets/MostPolluting/assets/index.js +29 -18
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +17 -2
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +27 -16
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +27 -5
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +34 -26
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +21 -5
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +44 -30
  57. package/lib/Widgets/MostPolluting/models.js +1 -1
  58. package/lib/Widgets/MostPolluting/styles.js +8 -2
  59. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +10 -3
  60. package/lib/Widgets/PotentialImpactSummary/Icon.js +12 -2
  61. package/lib/Widgets/PotentialImpactSummary/index.js +31 -9
  62. package/lib/Widgets/PotentialImpactSummary/index.test.js +37 -18
  63. package/lib/Widgets/PotentialImpactSummary/styles.js +16 -3
  64. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  65. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +11 -5
  66. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -8
  67. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +30 -20
  68. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +25 -16
  69. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +25 -9
  70. package/lib/Widgets/QualitySummary/QualitySummary.js +25 -9
  71. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +2 -2
  72. package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
  73. package/lib/Widgets/QualitySummary/styles.js +16 -3
  74. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +24 -11
  75. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +38 -11
  76. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +19 -10
  77. package/lib/Widgets/UtilityInformation/UtilityInformation.js +51 -26
  78. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  79. package/lib/Widgets/UtilityInformation/styles.js +26 -4
  80. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +2 -2
  81. package/lib/assets/icons/index.js +8 -5
  82. package/lib/assets/icons/kandoStepper/index.js +14 -9
  83. package/lib/components/ApplyButton/ApplyButton.js +12 -6
  84. package/lib/components/ApplyButton/index.js +5 -2
  85. package/lib/components/Backdrop/Backdrop.js +9 -3
  86. package/lib/components/ContentLoader/ContentLoader.js +13 -8
  87. package/lib/components/ContentLoader/index.js +2 -1
  88. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +15 -8
  89. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +9 -3
  90. package/lib/components/CustomInputs/DoubleTabs/styles.js +11 -3
  91. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +22 -7
  92. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -2
  93. package/lib/components/CustomInputs/Search/Search.js +42 -15
  94. package/lib/components/CustomInputs/Search/index.js +5 -2
  95. package/lib/components/CustomInputs/Select/Select.js +35 -15
  96. package/lib/components/CustomInputs/Select/Select.stories.js +9 -3
  97. package/lib/components/DamageType/DamageType.js +80 -39
  98. package/lib/components/DamageType/index.js +5 -2
  99. package/lib/components/DataLoaderError/DataLoaderError.js +11 -5
  100. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +17 -7
  101. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +38 -18
  102. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +41 -14
  103. package/lib/components/DischargeHeatmap/HighchartsOptions.js +11 -7
  104. package/lib/components/DischargeHeatmap/index.js +5 -2
  105. package/lib/components/DischargeHeatmap/mocks/handlers.js +4 -3
  106. package/lib/components/DischargeHeatmap/popupText.js +17 -2
  107. package/lib/components/DischargeHeatmap/titles.js +9 -2
  108. package/lib/components/DischargeHeatmap/types.js +1 -1
  109. package/lib/components/ErrorBoundary.js +16 -4
  110. package/lib/components/Events/Events.js +34 -7
  111. package/lib/components/Events/index.js +5 -2
  112. package/lib/components/Graph/Graph.js +80 -35
  113. package/lib/components/Graph/index.js +5 -2
  114. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +8 -2
  115. package/lib/components/Header/Breadcrumbs/index.js +5 -2
  116. package/lib/components/Header/DoubleTabs/DoubleTabs.js +34 -16
  117. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -3
  118. package/lib/components/Header/DoubleTabs/styles.js +11 -3
  119. package/lib/components/Header/Header.js +8 -2
  120. package/lib/components/Header/Header.stories.js +9 -3
  121. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +12 -2
  122. package/lib/components/Header/InfoBar/InfoBar.js +34 -6
  123. package/lib/components/Header/InfoBar/Search/Control.js +14 -3
  124. package/lib/components/Header/InfoBar/Search/GroupLabel.js +13 -2
  125. package/lib/components/Header/InfoBar/Search/Search.js +30 -7
  126. package/lib/components/Header/InfoBar/Search/SearchContainer.js +25 -6
  127. package/lib/components/Header/InfoBar/Search/index.js +5 -2
  128. package/lib/components/Header/InfoBar/Search/searchStyle.js +5 -2
  129. package/lib/components/Header/KandoNavbar/KandoNavbar.js +95 -48
  130. package/lib/components/Header/KandoNavbar/index.js +5 -2
  131. package/lib/components/Header/Slideshow/Slideshow.js +71 -33
  132. package/lib/components/Header/Slideshow/index.js +5 -2
  133. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +8 -2
  134. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +16 -3
  135. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +16 -2
  136. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +25 -8
  137. package/lib/components/Header/Toolbar/Toolbar.js +89 -49
  138. package/lib/components/InfoBar/InfoBar.js +27 -10
  139. package/lib/components/InfoBar/InfoBar.stories.js +9 -3
  140. package/lib/components/KandoModal/KandoModal.js +46 -21
  141. package/lib/components/KandoModal/index.js +5 -2
  142. package/lib/components/Link.js +12 -3
  143. package/lib/components/Links/CustomRedirect/CustomRedirect.js +13 -4
  144. package/lib/components/Links/StyledLink/StyledLink.js +17 -7
  145. package/lib/components/Links/StyledNavLink/StyledNavLink.js +15 -5
  146. package/lib/components/LiveEvents/CarouselSlide.js +12 -6
  147. package/lib/components/LiveEvents/LiveEvents.js +11 -2
  148. package/lib/components/LiveEvents/index.js +5 -2
  149. package/lib/components/LoaderByPercent/LoaderByPercent.js +24 -14
  150. package/lib/components/Map/Map.js +30 -14
  151. package/lib/components/Map/index.js +5 -2
  152. package/lib/components/Modal/Modal.js +11 -4
  153. package/lib/components/NarrowHeader.js +13 -2
  154. package/lib/components/PointInfo/PointInfo.js +23 -11
  155. package/lib/components/PointInfo/index.js +5 -2
  156. package/lib/components/PopupModal/PopupModal.js +18 -7
  157. package/lib/components/PopupModal/PopupModal.stories.js +12 -3
  158. package/lib/components/Sector/Sector.js +14 -5
  159. package/lib/components/Sector/Sector.test.js +9 -4
  160. package/lib/components/Sector/index.js +5 -2
  161. package/lib/components/Sector/sectorIcons.js +28 -2
  162. package/lib/components/SevereEvent/Eta/Eta.js +43 -16
  163. package/lib/components/SevereEvent/Eta/styles.js +6 -2
  164. package/lib/components/SevereEvent/SevereEvent.js +40 -17
  165. package/lib/components/Spinner/Spinner.js +11 -6
  166. package/lib/components/Spinner/Spinner.stories.js +9 -3
  167. package/lib/components/Spinner/index.js +5 -2
  168. package/lib/components/Spinner/styles.js +10 -2
  169. package/lib/components/Tabs/Tabs.js +29 -7
  170. package/lib/components/Tabs/Tabs.stories.js +9 -3
  171. package/lib/components/Tabs/assets/index.js +6 -1
  172. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +16 -4
  173. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +47 -14
  174. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +40 -14
  175. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +5 -2
  176. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +30 -10
  177. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +10 -5
  178. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +5 -2
  179. package/lib/components/TimeRangeSelector/TimeRangeList.js +17 -6
  180. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +28 -13
  181. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +40 -13
  182. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +11 -3
  183. package/lib/components/TimeRangeSelector/constants.js +2 -2
  184. package/lib/components/TimeRangeSelector/index.js +5 -2
  185. package/lib/components/Toggle/Toggle.js +25 -9
  186. package/lib/components/Toggle/index.js +5 -2
  187. package/lib/components/TrendGraph/TrendGraph.js +54 -19
  188. package/lib/components/TrendGraph/index.js +5 -2
  189. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +39 -12
  190. package/lib/components/TrendGraphNVL/index.js +5 -2
  191. package/lib/development-environment/index.js +14 -2
  192. package/lib/development-environment/mock/browser.js +9 -2
  193. package/lib/development-environment/mock/get.js +5 -1
  194. package/lib/development-environment/mock/handlers.js +26 -1
  195. package/lib/development-environment/mock/mockBus.js +7 -2
  196. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +1 -1
  197. package/lib/development-environment/mock/mockObjects/areaInformation.js +1 -1
  198. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +1 -1
  199. package/lib/development-environment/mock/mockObjects/areaSitesData.js +1 -1
  200. package/lib/development-environment/mock/mockObjects/areasJson.js +1 -1
  201. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +1 -1
  202. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +1 -1
  203. package/lib/development-environment/mock/mockObjects/data-menuData.js +1 -1
  204. package/lib/development-environment/mock/mockObjects/data-search.js +1 -1
  205. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +1 -1
  206. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +1 -1
  207. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +1 -1
  208. package/lib/development-environment/mock/mockObjects/eventsJson.js +1 -1
  209. package/lib/development-environment/mock/mockObjects/metascore.js +1 -1
  210. package/lib/development-environment/mock/mockObjects/permissionsJson.js +1 -1
  211. package/lib/development-environment/mock/mockObjects/pointsJson.js +1 -1
  212. package/lib/development-environment/mock/mockObjects/site-info.js +1 -1
  213. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +1 -1
  214. package/lib/development-environment/togly/ToglyDashboard.js +26 -6
  215. package/lib/development-environment/togly/ToglyItem.js +29 -7
  216. package/lib/development-environment/togly/flags.js +1 -1
  217. package/lib/development-environment/togly/init.js +7 -2
  218. package/lib/development-environment/togly/macro.js +9 -7
  219. package/lib/development-environment/togly/useDoubleKeyDown.js +8 -1
  220. package/lib/development-environment/togly/useLocalStorage.js +20 -13
  221. package/lib/hooks/useApi.js +59 -38
  222. package/lib/hooks/useApiWithDashboardQuery.js +31 -11
  223. package/lib/hooks/useClickOutside.js +5 -1
  224. package/lib/hooks/useInitializeHeaders.js +8 -2
  225. package/lib/hooks/useKandoFetch.js +28 -14
  226. package/lib/hooks/useMap.js +38 -11
  227. package/lib/hooks/useNavContext.js +23 -14
  228. package/lib/hooks/useQueryURL.js +4 -1
  229. package/lib/hooks/useRemoveExistingLayers.js +7 -2
  230. package/lib/hooks/useUpdateEventBodyTail.js +10 -1
  231. package/lib/hooks/useUserTimeZone.js +9 -1
  232. package/lib/hooks/useUserTimeZone.test.js +13 -3
  233. package/lib/hooks/useWindowSize.js +20 -15
  234. package/lib/index.js +30 -14
  235. package/lib/macros/getVersion.js +3 -2
  236. package/lib/models/IAction.js +1 -1
  237. package/lib/models/IAppState.js +1 -1
  238. package/lib/pages/AreaPage/AreaPage.js +64 -31
  239. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +20 -7
  240. package/lib/pages/AreaPage/Dashboard/Dashboard.js +27 -4
  241. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +39 -13
  242. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +9 -7
  243. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +68 -30
  244. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +11 -2
  245. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +16 -4
  246. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +8 -4
  247. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  248. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +1 -1
  249. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +11 -3
  250. package/lib/pages/AssessmentPage/AssessmentPage.js +34 -7
  251. package/lib/pages/CannyWidget/Feedback.js +29 -12
  252. package/lib/pages/CovidPage/CovidPage.js +18 -3
  253. package/lib/pages/CovidPage/components/Body.js +37 -11
  254. package/lib/pages/CovidPage/components/Map.js +42 -22
  255. package/lib/pages/CovidPage/components/Sidebar.js +22 -6
  256. package/lib/pages/CovidPage/components/Summary.js +33 -10
  257. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +39 -12
  258. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +5 -2
  259. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +45 -15
  260. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +5 -2
  261. package/lib/pages/CovidPage/components/areas/Area.js +37 -8
  262. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +49 -6
  263. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +22 -7
  264. package/lib/pages/CovidPage/components/areas/AreasList.js +37 -16
  265. package/lib/pages/CovidPage/components/areas/Sort.js +23 -7
  266. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -2
  267. package/lib/pages/EventsPage/Body/Body.js +23 -4
  268. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +32 -13
  269. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +32 -12
  270. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +12 -5
  271. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +12 -4
  272. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +11 -6
  273. package/lib/pages/EventsPage/DragAndDropArea/index.js +5 -2
  274. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +37 -9
  275. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +22 -3
  276. package/lib/pages/EventsPage/EventsPage.js +17 -3
  277. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +37 -12
  278. package/lib/pages/EventsPage/events/MoreInfo.js +23 -3
  279. package/lib/pages/EventsPage/events/Sidebar.js +22 -7
  280. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +33 -7
  281. package/lib/pages/EventsPage/events/event_info/EventDetails.js +33 -9
  282. package/lib/pages/EventsPage/events/event_info/EventInfo.js +45 -14
  283. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +15 -3
  284. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +44 -12
  285. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +13 -2
  286. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +34 -10
  287. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -2
  288. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +31 -9
  289. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +11 -3
  290. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +25 -7
  291. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +27 -6
  292. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +26 -6
  293. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +37 -8
  294. package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +16 -4
  295. package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +11 -3
  296. package/lib/pages/EventsPage/events/event_info/sources/Source.js +32 -9
  297. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +24 -6
  298. package/lib/pages/EventsPage/events/events_list/EventItem.js +28 -5
  299. package/lib/pages/EventsPage/events/events_list/EventUtils.js +14 -3
  300. package/lib/pages/EventsPage/events/events_list/EventsList.js +107 -41
  301. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +36 -13
  302. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +100 -33
  303. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +59 -12
  304. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +21 -7
  305. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +42 -17
  306. package/lib/pages/EventsPage/events/events_list/Sort.js +27 -6
  307. package/lib/pages/ImportFileWizard/FileUploadRespones.js +20 -5
  308. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +10 -4
  309. package/lib/pages/ImportFileWizard/ImportFile.js +33 -12
  310. package/lib/pages/ImportFileWizard/ResponseBody.js +13 -4
  311. package/lib/pages/ImportFileWizard/ValidationForm.js +28 -8
  312. package/lib/pages/ImportFileWizard/ValidationResponse.js +35 -9
  313. package/lib/pages/ImportFileWizard/importFileUtils.js +6 -5
  314. package/lib/pages/ImportFileWizard/index.js +5 -2
  315. package/lib/pages/ImportGisPage/ImportGisContainer.js +31 -9
  316. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +28 -11
  317. package/lib/pages/ImportGisPage/importGisUtils.js +18 -6
  318. package/lib/pages/ImportGisProcess/index.js +19 -5
  319. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +23 -7
  320. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +11 -4
  321. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +9 -2
  322. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +62 -27
  323. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +9 -3
  324. package/lib/pages/NotificationsPage/Notification/Notification.js +17 -9
  325. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  326. package/lib/pages/NotificationsPage/Notifications.mock.js +1 -1
  327. package/lib/pages/NotificationsPage/Notifications.stories.js +11 -3
  328. package/lib/pages/NotificationsPage/NotificationsPage.js +40 -14
  329. package/lib/pages/NotificationsPage/assets/index.js +24 -15
  330. package/lib/pages/NotificationsPageV2/NotificationsPage.js +87 -37
  331. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +25 -5
  332. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +44 -17
  333. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +53 -20
  334. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +48 -5
  335. package/lib/pages/NotificationsPageV2/notificationUtils.js +30 -3
  336. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  337. package/lib/pages/OldSitePage/OldSitePage.js +132 -65
  338. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +17 -4
  339. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -3
  340. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +10 -5
  341. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +13 -6
  342. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +13 -3
  343. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +27 -9
  344. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +21 -7
  345. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +11 -5
  346. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +13 -3
  347. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +28 -11
  348. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +13 -5
  349. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +63 -30
  350. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  351. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +11 -13
  352. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +22 -5
  353. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +19 -4
  354. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +17 -9
  355. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +18 -3
  356. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  357. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +11 -3
  358. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +8 -3
  359. package/lib/pages/ProfilePage/Container.js +6 -2
  360. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +47 -18
  361. package/lib/pages/ProfilePage/ProfilePage.js +92 -41
  362. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +36 -11
  363. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +18 -8
  364. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +18 -5
  365. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +111 -69
  366. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +25 -6
  367. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +16 -8
  368. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +30 -9
  369. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +26 -7
  370. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +22 -10
  371. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +14 -2
  372. package/lib/pages/SamplingsPage/DesktopActions/index.js +5 -2
  373. package/lib/pages/SamplingsPage/NavigationDropdown.js +22 -4
  374. package/lib/pages/SamplingsPage/NewSamplingAction.js +79 -29
  375. package/lib/pages/SamplingsPage/SamplingMobileModal.js +66 -13
  376. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +20 -6
  377. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +14 -3
  378. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +60 -24
  379. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +24 -6
  380. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +15 -2
  381. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +192 -113
  382. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +46 -13
  383. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +51 -16
  384. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +53 -17
  385. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +25 -7
  386. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +9 -3
  387. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +12 -2
  388. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +40 -9
  389. package/lib/pages/SamplingsPage/SamplingsMobileList.js +38 -12
  390. package/lib/pages/SamplingsPage/SamplingsPage.js +43 -16
  391. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +52 -16
  392. package/lib/pages/SamplingsPage/index.js +3 -1
  393. package/lib/pages/SamplingsPage/samplingsPageUtils.js +31 -8
  394. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +11 -3
  395. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -3
  396. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +18 -4
  397. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +12 -7
  398. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -16
  399. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +17 -8
  400. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +28 -19
  401. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +13 -3
  402. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +30 -11
  403. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +21 -7
  404. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +11 -5
  405. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +13 -3
  406. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +28 -11
  407. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +13 -5
  408. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +72 -34
  409. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  410. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +11 -13
  411. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +23 -6
  412. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +19 -4
  413. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +39 -18
  414. package/lib/pages/SitePage/SamplingParameters/dataParser.js +31 -15
  415. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +7 -3
  416. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  417. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +11 -3
  418. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +9 -3
  419. package/lib/pages/SitePage/SiteInformation/ContributorItem.js +13 -6
  420. package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -2
  421. package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +16 -6
  422. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +52 -19
  423. package/lib/pages/SitePage/SiteInformation/style.js +9 -3
  424. package/lib/pages/SitePage/SitePage.js +79 -36
  425. package/lib/pages/UploadLabResult/index.js +9 -2
  426. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +42 -12
  427. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +10 -3
  428. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +17 -3
  429. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -3
  430. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +39 -11
  431. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +6 -2
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +8 -2
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +11 -2
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +17 -8
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  436. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +11 -2
  437. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +6 -2
  438. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +29 -5
  439. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +20 -14
  440. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +20 -7
  441. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +24 -7
  442. package/lib/pages/WbeDashboard/ExpandableComponent.js +15 -3
  443. package/lib/pages/WbeDashboard/GraphWrapper.js +30 -7
  444. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +23 -8
  445. package/lib/pages/WbeDashboard/SearchInput.js +26 -6
  446. package/lib/pages/WbeDashboard/SummaryGraph.js +69 -34
  447. package/lib/pages/WbeDashboard/SummaryGraphModal.js +14 -2
  448. package/lib/pages/WbeDashboard/Tabs.js +10 -4
  449. package/lib/pages/WbeDashboard/WbeDashboardPage.js +116 -27
  450. package/lib/pages/WbeDashboard/WbeSummaryBar.js +46 -10
  451. package/lib/providers/Slideshow/SlideshowContext.js +5 -3
  452. package/lib/providers/Slideshow/SlideshowProvider.js +35 -18
  453. package/lib/providers/Slideshow/SlideshowRunner.js +17 -7
  454. package/lib/providers/UrlHistory/UrlHistoryContext.js +8 -4
  455. package/lib/providers/UrlHistory/UrlHistoryProvider.js +16 -2
  456. package/lib/providers/UrlHistory/index.js +9 -6
  457. package/lib/providers/UrlHistory/useLastVisited.js +7 -1
  458. package/lib/react-app-env.d.js +1 -1
  459. package/lib/store/ImportGis/action.js +1 -1
  460. package/lib/store/ImportGis/actionTypes.js +6 -5
  461. package/lib/store/ImportGis/actionsCreator.js +17 -7
  462. package/lib/store/ImportGis/models/gisImports.js +1 -1
  463. package/lib/store/ImportGis/reducer.js +19 -3
  464. package/lib/store/WBE/actionTypes.js +1 -1
  465. package/lib/store/WBE/actions.js +3 -1
  466. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  467. package/lib/store/WBE/models/IWBE.js +1 -1
  468. package/lib/store/WBE/models/IWBEState.js +1 -1
  469. package/lib/store/WBE/reducer.js +10 -3
  470. package/lib/store/areas/actionTypes.js +2 -2
  471. package/lib/store/areas/actions.js +12 -3
  472. package/lib/store/areas/models/IArea.js +1 -1
  473. package/lib/store/areas/models/IAreasState.js +1 -1
  474. package/lib/store/areas/reducer.js +9 -1
  475. package/lib/store/context/actionTypes.js +2 -2
  476. package/lib/store/context/actions.js +6 -2
  477. package/lib/store/context/contextMiddlewares.js +9 -1
  478. package/lib/store/context/models/INavContext.js +1 -1
  479. package/lib/store/context/models/INavContextState.js +1 -1
  480. package/lib/store/context/reducer.js +10 -3
  481. package/lib/store/dashboard/dashboardSlice.js +3 -1
  482. package/lib/store/dashboard/periodType.js +1 -1
  483. package/lib/store/edges/actionTypes.js +2 -2
  484. package/lib/store/edges/actions.js +9 -3
  485. package/lib/store/edges/models/IEdge.js +1 -1
  486. package/lib/store/edges/models/IEdgesState.js +1 -1
  487. package/lib/store/edges/reducer.js +17 -3
  488. package/lib/store/events/actionTypes.js +2 -2
  489. package/lib/store/events/actions.js +28 -10
  490. package/lib/store/events/models/IEvent.js +1 -1
  491. package/lib/store/events/models/IEventsState.js +1 -1
  492. package/lib/store/events/models/ISource.js +1 -1
  493. package/lib/store/events/reducer.js +42 -4
  494. package/lib/store/filters/IFilter.js +1 -1
  495. package/lib/store/filters/IFilterItem.js +1 -1
  496. package/lib/store/global/actionTypes.js +2 -2
  497. package/lib/store/global/actions.js +20 -8
  498. package/lib/store/global/models/IGlobalState.js +1 -1
  499. package/lib/store/global/reducer.js +19 -3
  500. package/lib/store/permissions/permissionsSlice.js +6 -1
  501. package/lib/store/points/actionTypes.js +2 -2
  502. package/lib/store/points/actions.js +5 -1
  503. package/lib/store/points/models/IGroup.js +1 -1
  504. package/lib/store/points/models/IPoint.js +1 -1
  505. package/lib/store/points/models/IPointsState.js +1 -1
  506. package/lib/store/points/reducer.js +7 -1
  507. package/lib/store/rootActionTypes.js +1 -1
  508. package/lib/store/rootActions.js +3 -1
  509. package/lib/store/rootReducer.js +24 -5
  510. package/lib/store/rootStore.js +13 -5
  511. package/lib/store/samplings/action.js +1 -1
  512. package/lib/store/samplings/actionTypes.js +6 -5
  513. package/lib/store/samplings/actionsCreator.js +5 -2
  514. package/lib/store/samplings/models/Samplings.js +1 -1
  515. package/lib/store/samplings/reducer.js +10 -2
  516. package/lib/styles/StylesLayout.js +8 -2
  517. package/lib/styles/theme/theme.js +4 -2
  518. package/lib/test/mocks/browser.js +8 -4
  519. package/lib/test/test-utils.js +22 -12
  520. package/lib/ui-kit/Button/Button.js +24 -16
  521. package/lib/ui-kit/Button/Button.test.js +30 -8
  522. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  523. package/lib/ui-kit/Checkbox/Checkbox.js +22 -8
  524. package/lib/ui-kit/DropDown/DropDown.js +17 -6
  525. package/lib/ui-kit/DropDown/DropDown.test.js +13 -7
  526. package/lib/ui-kit/DropDown/DropDownItem.js +14 -6
  527. package/lib/ui-kit/DropDown/DropdownToggle.js +14 -3
  528. package/lib/ui-kit/IconAction/IconAction.js +10 -4
  529. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +54 -19
  530. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +28 -17
  531. package/lib/ui-kit/KandoList/KandoList.js +19 -6
  532. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  533. package/lib/ui-kit/KandoTable/KandoTable.js +39 -23
  534. package/lib/ui-kit/KandoTable/KandoTable.test.js +17 -2
  535. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  536. package/lib/ui-kit/Layout/Layout.js +9 -2
  537. package/lib/ui-kit/MobileInput/MobileInput.js +34 -19
  538. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +15 -9
  539. package/lib/ui-kit/ModalConfirmation/index.js +3 -1
  540. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -6
  541. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +12 -4
  542. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +11 -4
  543. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +15 -6
  544. package/lib/ui-kit/Tooltip/Tooltip.js +9 -4
  545. package/lib/ui-kit/index.js +15 -1
  546. package/lib/ui-kit/kandoStepper/KandoStepper.js +8 -3
  547. package/lib/utilities/ActionUtility.js +2 -1
  548. package/lib/utilities/Alert.js +11 -3
  549. package/lib/utilities/Analytics.js +13 -2
  550. package/lib/utilities/Array.js +6 -2
  551. package/lib/utilities/Enum.js +39 -22
  552. package/lib/utilities/ErrorBoundary.js +19 -4
  553. package/lib/utilities/File.js +66 -43
  554. package/lib/utilities/GetDir.js +9 -5
  555. package/lib/utilities/KandoDate.js +8 -2
  556. package/lib/utilities/KandoModal.js +26 -9
  557. package/lib/utilities/LocalStorage.js +13 -2
  558. package/lib/utilities/ThousandsToK.js +3 -1
  559. package/lib/utilities/TimeFormat.js +23 -8
  560. package/lib/utilities/Truncate.js +31 -9
  561. package/lib/utilities/edgesMath.js +28 -9
  562. package/lib/utilities/i18n.js +15 -2
  563. package/lib/utilities/kql.js +10 -3
  564. package/lib/utilities/map/icons.js +19 -2
  565. package/lib/utilities/scoreToColor.js +8 -1
  566. package/lib/utilities/time.js +10 -3
  567. package/lib/utilities/uploadToS3.js +10 -2
  568. package/lib/utilities/urls.js +13 -5
  569. package/package.json +2 -4
package/lib/Router.js CHANGED
@@ -1,94 +1,152 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.default = void 0;
9
- var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/regeneratorRuntime"));
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
10
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
15
+
11
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
17
+
12
18
  var _styledComponents = _interopRequireDefault(require("styled-components"));
19
+
13
20
  require("leaflet/dist/leaflet.css");
21
+
14
22
  require("react-toastify/dist/ReactToastify.css");
23
+
15
24
  var _react = _interopRequireWildcard(require("react"));
25
+
16
26
  var _axios = _interopRequireDefault(require("axios"));
27
+
17
28
  var _reactQuery = require("react-query");
29
+
18
30
  var _reactRouterDom = require("react-router-dom");
31
+
19
32
  var _reactToastify = require("react-toastify");
33
+
20
34
  var _reactRedux = require("react-redux");
35
+
21
36
  var _NotificationsPage = _interopRequireDefault(require("pages/NotificationsPageV2/NotificationsPage"));
37
+
22
38
  var _SamplingsPage = _interopRequireDefault(require("pages/SamplingsPage"));
39
+
23
40
  var _StylesLayout = _interopRequireDefault(require("styles/StylesLayout"));
41
+
24
42
  var _UrlHistoryProvider = _interopRequireDefault(require("providers/UrlHistory/UrlHistoryProvider"));
43
+
25
44
  var _useQueryURL = _interopRequireDefault(require("hooks/useQueryURL"));
45
+
26
46
  var _permissionsSlice = require("store/permissions/permissionsSlice");
47
+
27
48
  var _SamplingProperties = require("pages/SamplingsPage/SamplingProperties/SamplingProperties");
49
+
28
50
  var _ImportGisContainer = _interopRequireDefault(require("./pages/ImportGisPage/ImportGisContainer"));
51
+
29
52
  var _ImportGisProcess = _interopRequireDefault(require("./pages/ImportGisProcess"));
53
+
30
54
  var _EventsPage = _interopRequireDefault(require("./pages/EventsPage/EventsPage"));
55
+
31
56
  var _Feedback = _interopRequireDefault(require("./pages/CannyWidget/Feedback"));
57
+
32
58
  var _AreaPage = require("./pages/AreaPage/AreaPage");
59
+
33
60
  var _ProfilePage = require("./pages/ProfilePage/ProfilePage");
61
+
34
62
  var _SitePage = require("./pages/SitePage/SitePage");
63
+
35
64
  var _UtilityDashboardPage = require("./pages/UtilityDashboardPage/UtilityDashboardPage");
65
+
36
66
  var _WbeDashboardPage = require("./pages/WbeDashboard/WbeDashboardPage");
67
+
37
68
  var _actions = require("./store/global/actions");
69
+
38
70
  var _actions2 = require("./store/context/actions");
71
+
39
72
  var _GetDir = _interopRequireDefault(require("./utilities/GetDir"));
73
+
40
74
  var _i18n = _interopRequireDefault(require("./utilities/i18n"));
75
+
41
76
  require("./macros/getVersion");
77
+
42
78
  require("./styles.scss");
79
+
43
80
  var _Spinner = require("./components/Spinner/Spinner");
81
+
44
82
  var _Toolbar = require("./components/Header/Toolbar/Toolbar");
83
+
45
84
  var _UploadLabResult = _interopRequireDefault(require("./pages/UploadLabResult"));
85
+
46
86
  var _SlideshowRunner = _interopRequireDefault(require("./providers/Slideshow/SlideshowRunner"));
87
+
47
88
  var _SlideshowProvider = _interopRequireDefault(require("./providers/Slideshow/SlideshowProvider"));
89
+
48
90
  var _AssessmentPage = _interopRequireDefault(require("./pages/AssessmentPage/AssessmentPage"));
91
+
92
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
93
+
94
+ 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; }
95
+
49
96
  var queryClient = new _reactQuery.QueryClient();
97
+
50
98
  var Router = function Router() {
51
99
  var queryUrl = (0, _useQueryURL.default)();
52
100
  var dispatch = (0, _reactRedux.useDispatch)();
101
+
53
102
  var _useState = (0, _react.useState)(),
54
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
- localePrefix = _useState2[0],
56
- setLocalePrefix = _useState2[1];
103
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
104
+ localePrefix = _useState2[0],
105
+ setLocalePrefix = _useState2[1];
106
+
57
107
  var query = (0, _useQueryURL.default)();
58
108
  var waterAuthorityIdFromUrl = parseInt(query.get('water_authority_id') || '0');
59
109
  (0, _react.useEffect)(function () {
60
110
  var FetchPermissions = /*#__PURE__*/function () {
61
- var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
111
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
62
112
  var _res$data;
113
+
63
114
  var res;
64
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
65
- while (1) switch (_context.prev = _context.next) {
66
- case 0:
67
- _context.next = 2;
68
- return _axios.default.get('/permissions', {
69
- params: {
70
- water_authority_id: waterAuthorityIdFromUrl
115
+ return _regenerator.default.wrap(function _callee$(_context) {
116
+ while (1) {
117
+ switch (_context.prev = _context.next) {
118
+ case 0:
119
+ _context.next = 2;
120
+ return _axios.default.get('/permissions', {
121
+ params: {
122
+ water_authority_id: waterAuthorityIdFromUrl
123
+ }
124
+ });
125
+
126
+ case 2:
127
+ res = _context.sent;
128
+
129
+ if (res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.data) {
130
+ dispatch((0, _actions.setWaterAuthority)({
131
+ id: waterAuthorityIdFromUrl,
132
+ name: res.data.data.water_authority_name
133
+ }));
134
+ dispatch(_permissionsSlice.PermissionsSlice.actions.setDashboardPermission(res.data.data));
71
135
  }
72
- });
73
- case 2:
74
- res = _context.sent;
75
- if (res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.data) {
76
- dispatch((0, _actions.setWaterAuthority)({
77
- id: waterAuthorityIdFromUrl,
78
- name: res.data.data.water_authority_name
79
- }));
80
- dispatch(_permissionsSlice.PermissionsSlice.actions.setDashboardPermission(res.data.data));
81
- }
82
- case 4:
83
- case "end":
84
- return _context.stop();
136
+
137
+ case 4:
138
+ case "end":
139
+ return _context.stop();
140
+ }
85
141
  }
86
142
  }, _callee);
87
143
  }));
144
+
88
145
  return function FetchPermissions() {
89
146
  return _ref.apply(this, arguments);
90
147
  };
91
148
  }();
149
+
92
150
  if (waterAuthorityIdFromUrl) {
93
151
  FetchPermissions();
94
152
  }
@@ -99,26 +157,33 @@ var Router = function Router() {
99
157
  }));
100
158
  }, [dispatch, localePrefix]);
101
159
  (0, _react.useEffect)(function () {
102
- (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
160
+ (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
103
161
  var prefix;
104
- return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
105
- while (1) switch (_context2.prev = _context2.next) {
106
- case 0:
107
- prefix = queryUrl.has('locale') ? queryUrl.get('locale') : 'en';
108
- _i18n.default.changeLanguage(prefix);
109
- setLocalePrefix(prefix);
110
- case 3:
111
- case "end":
112
- return _context2.stop();
162
+ return _regenerator.default.wrap(function _callee2$(_context2) {
163
+ while (1) {
164
+ switch (_context2.prev = _context2.next) {
165
+ case 0:
166
+ prefix = queryUrl.has('locale') ? queryUrl.get('locale') : 'en';
167
+
168
+ _i18n.default.changeLanguage(prefix);
169
+
170
+ setLocalePrefix(prefix);
171
+
172
+ case 3:
173
+ case "end":
174
+ return _context2.stop();
175
+ }
113
176
  }
114
177
  }, _callee2);
115
178
  }))();
116
179
  }, [queryUrl]);
180
+
117
181
  if (!localePrefix) {
118
182
  return /*#__PURE__*/_react.default.createElement(AppLoader, null, /*#__PURE__*/_react.default.createElement(AppSpinner, {
119
183
  length: "80px"
120
184
  }));
121
185
  }
186
+
122
187
  return /*#__PURE__*/_react.default.createElement(_reactQuery.QueryClientProvider, {
123
188
  client: queryClient
124
189
  }, /*#__PURE__*/_react.default.createElement(_UrlHistoryProvider.default, null, /*#__PURE__*/_react.default.createElement(_SlideshowProvider.default, null, /*#__PURE__*/_react.default.createElement(_StylesLayout.default, null, /*#__PURE__*/_react.default.createElement(_GetDir.default, {
@@ -188,14 +253,17 @@ var Router = function Router() {
188
253
  exact: true
189
254
  })))))));
190
255
  };
256
+
191
257
  var _default = Router;
192
258
  exports.default = _default;
259
+
193
260
  var AppLoader = _styledComponents.default.div.withConfig({
194
261
  displayName: "Router__AppLoader",
195
262
  componentId: "sc-6ilswc-0"
196
263
  })(["height:100vh;width:100vw;"]);
264
+
197
265
  var AppSpinner = (0, _styledComponents.default)(_Spinner.Spinner).withConfig({
198
266
  displayName: "Router__AppSpinner",
199
267
  componentId: "sc-6ilswc-1"
200
268
  })(["height:100vh;"]);
201
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0UXVlcnkiLCJfcmVhY3RSb3V0ZXJEb20iLCJfcmVhY3RUb2FzdGlmeSIsIl9yZWFjdFJlZHV4IiwiX05vdGlmaWNhdGlvbnNQYWdlIiwiX1NhbXBsaW5nc1BhZ2UiLCJfU3R5bGVzTGF5b3V0IiwiX1VybEhpc3RvcnlQcm92aWRlciIsIl91c2VRdWVyeVVSTCIsIl9wZXJtaXNzaW9uc1NsaWNlIiwiX1NhbXBsaW5nUHJvcGVydGllcyIsIl9JbXBvcnRHaXNDb250YWluZXIiLCJfSW1wb3J0R2lzUHJvY2VzcyIsIl9FdmVudHNQYWdlIiwiX0ZlZWRiYWNrIiwiX0FyZWFQYWdlIiwiX1Byb2ZpbGVQYWdlIiwiX1NpdGVQYWdlIiwiX1V0aWxpdHlEYXNoYm9hcmRQYWdlIiwiX1diZURhc2hib2FyZFBhZ2UiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9HZXREaXIiLCJfaTE4biIsIl9TcGlubmVyIiwiX1Rvb2xiYXIiLCJfVXBsb2FkTGFiUmVzdWx0IiwiX1NsaWRlc2hvd1J1bm5lciIsIl9TbGlkZXNob3dQcm92aWRlciIsIl9Bc3Nlc3NtZW50UGFnZSIsInF1ZXJ5Q2xpZW50IiwiUXVlcnlDbGllbnQiLCJSb3V0ZXIiLCJxdWVyeVVybCIsInVzZVF1ZXJ5VVJMIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJsb2NhbGVQcmVmaXgiLCJzZXRMb2NhbGVQcmVmaXgiLCJxdWVyeSIsIndhdGVyQXV0aG9yaXR5SWRGcm9tVXJsIiwicGFyc2VJbnQiLCJnZXQiLCJ1c2VFZmZlY3QiLCJGZXRjaFBlcm1pc3Npb25zIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvclJ1bnRpbWUyIiwibWFyayIsIl9jYWxsZWUiLCJfcmVzJGRhdGEiLCJyZXMiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYXhpb3MiLCJwYXJhbXMiLCJ3YXRlcl9hdXRob3JpdHlfaWQiLCJzZW50IiwiZGF0YSIsInNldFdhdGVyQXV0aG9yaXR5IiwiaWQiLCJuYW1lIiwid2F0ZXJfYXV0aG9yaXR5X25hbWUiLCJQZXJtaXNzaW9uc1NsaWNlIiwiYWN0aW9ucyIsInNldERhc2hib2FyZFBlcm1pc3Npb24iLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJ1cGRhdGVMYW5ndWFnZSIsImxvY2FsZSIsIl9jYWxsZWUyIiwicHJlZml4IiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwiaGFzIiwiaTE4biIsImNoYW5nZUxhbmd1YWdlIiwiY3JlYXRlRWxlbWVudCIsIkFwcExvYWRlciIsIkFwcFNwaW5uZXIiLCJsZW5ndGgiLCJRdWVyeUNsaWVudFByb3ZpZGVyIiwiY2xpZW50IiwiY2xhc3NOYW1lIiwiVG9vbGJhciIsImhhc1NlYXJjaCIsIlRvYXN0Q29udGFpbmVyIiwiU3dpdGNoIiwiUm91dGUiLCJwYXRoIiwiY29tcG9uZW50IiwiVXRpbGl0eURhc2hib2FyZFBhZ2UiLCJBcmVhUGFnZSIsImV4YWN0IiwiU2l0ZVBhZ2UiLCJQcm9maWxlUGFnZSIsIkZlZWRiYWNrIiwiRXZlbnRzUGFnZSIsIkltcG9ydFBsYW5uaW5ncyIsIlVwbG9hZExhYlJlc3VsdCIsIkltcG9ydEdpc1Byb2Nlc3MiLCJXYmVEYXNoYm9hcmRQYWdlIiwiU2FtcGxpbmdzUGFnZSIsIlNhbXBsaW5nUHJvcGVydGllcyIsIk5vdGlmaWNhdGlvbnNQYWdlIiwiQXNzZXNzbWVudFBhZ2UiLCJTbGlkZXNob3dSdW5uZXIiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNwaW5uZXIiXSwic291cmNlcyI6WyIuLi9zcmMvUm91dGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ2xlYWZsZXQvZGlzdC9sZWFmbGV0LmNzcyc7XG5pbXBvcnQgJ3JlYWN0LXRvYXN0aWZ5L2Rpc3QvUmVhY3RUb2FzdGlmeS5jc3MnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBRdWVyeUNsaWVudCwgUXVlcnlDbGllbnRQcm92aWRlciB9IGZyb20gJ3JlYWN0LXF1ZXJ5JztcbmltcG9ydCB7IFJvdXRlLCBTd2l0Y2ggfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyIH0gZnJvbSAncmVhY3QtdG9hc3RpZnknO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCBOb3RpZmljYXRpb25zUGFnZSBmcm9tICdzcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9Ob3RpZmljYXRpb25zUGFnZSc7XG5pbXBvcnQgU2FtcGxpbmdzUGFnZSBmcm9tICdzcmMvcGFnZXMvU2FtcGxpbmdzUGFnZSc7XG5pbXBvcnQgU3R5bGVzTGF5b3V0IGZyb20gJ3NyYy9zdHlsZXMvU3R5bGVzTGF5b3V0JztcbmltcG9ydCBVcmxIaXN0b3J5UHJvdmlkZXIgZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5L1VybEhpc3RvcnlQcm92aWRlcic7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnc3JjL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IFBlcm1pc3Npb25zU2xpY2UgfSBmcm9tICdzcmMvc3RvcmUvcGVybWlzc2lvbnMvcGVybWlzc2lvbnNTbGljZSc7XG5pbXBvcnQgeyBTYW1wbGluZ1Byb3BlcnRpZXMgfSBmcm9tICdzcmMvcGFnZXMvU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvU2FtcGxpbmdQcm9wZXJ0aWVzJztcblxuaW1wb3J0IEltcG9ydFBsYW5uaW5ncyBmcm9tICcuL3BhZ2VzL0ltcG9ydEdpc1BhZ2UvSW1wb3J0R2lzQ29udGFpbmVyJztcbmltcG9ydCBJbXBvcnRHaXNQcm9jZXNzIGZyb20gJy4vcGFnZXMvSW1wb3J0R2lzUHJvY2Vzcyc7XG5pbXBvcnQgRXZlbnRzUGFnZSBmcm9tICcuL3BhZ2VzL0V2ZW50c1BhZ2UvRXZlbnRzUGFnZSc7XG5pbXBvcnQgRmVlZGJhY2sgZnJvbSAnLi9wYWdlcy9DYW5ueVdpZGdldC9GZWVkYmFjayc7XG5pbXBvcnQgeyBBcmVhUGFnZSB9IGZyb20gJy4vcGFnZXMvQXJlYVBhZ2UvQXJlYVBhZ2UnO1xuaW1wb3J0IHsgUHJvZmlsZVBhZ2UgfSBmcm9tICcuL3BhZ2VzL1Byb2ZpbGVQYWdlL1Byb2ZpbGVQYWdlJztcbmltcG9ydCB7IFNpdGVQYWdlIH0gZnJvbSAnLi9wYWdlcy9TaXRlUGFnZS9TaXRlUGFnZSc7XG5pbXBvcnQgeyBVdGlsaXR5RGFzaGJvYXJkUGFnZSB9IGZyb20gJy4vcGFnZXMvVXRpbGl0eURhc2hib2FyZFBhZ2UvVXRpbGl0eURhc2hib2FyZFBhZ2UnO1xuaW1wb3J0IHsgV2JlRGFzaGJvYXJkUGFnZSB9IGZyb20gJy4vcGFnZXMvV2JlRGFzaGJvYXJkL1diZURhc2hib2FyZFBhZ2UnO1xuXG5pbXBvcnQgeyBzZXRXYXRlckF1dGhvcml0eSB9IGZyb20gJy4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgdXBkYXRlTGFuZ3VhZ2UgfSBmcm9tICcuL3N0b3JlL2NvbnRleHQvYWN0aW9ucyc7XG5cbmltcG9ydCBHZXREaXIgZnJvbSAnLi91dGlsaXRpZXMvR2V0RGlyJztcbmltcG9ydCBpMThuIGZyb20gJy4vdXRpbGl0aWVzL2kxOG4nO1xuXG5pbXBvcnQgJy4vbWFjcm9zL2dldFZlcnNpb24nO1xuaW1wb3J0ICcuL3N0eWxlcy5zY3NzJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IFRvb2xiYXIgfSBmcm9tICcuL2NvbXBvbmVudHMvSGVhZGVyL1Rvb2xiYXIvVG9vbGJhcic7XG5pbXBvcnQgVXBsb2FkTGFiUmVzdWx0IGZyb20gJy4vcGFnZXMvVXBsb2FkTGFiUmVzdWx0JztcbmltcG9ydCBTbGlkZXNob3dSdW5uZXIgZnJvbSAnLi9wcm92aWRlcnMvU2xpZGVzaG93L1NsaWRlc2hvd1J1bm5lcic7XG5pbXBvcnQgU2xpZGVzaG93UHJvdmlkZXIgZnJvbSAnLi9wcm92aWRlcnMvU2xpZGVzaG93L1NsaWRlc2hvd1Byb3ZpZGVyJztcbmltcG9ydCBBc3Nlc3NtZW50UGFnZSBmcm9tICcuL3BhZ2VzL0Fzc2Vzc21lbnRQYWdlL0Fzc2Vzc21lbnRQYWdlJztcblxuY29uc3QgcXVlcnlDbGllbnQgPSBuZXcgUXVlcnlDbGllbnQoKTtcblxuY29uc3QgUm91dGVyID0gKCkgPT4ge1xuICBjb25zdCBxdWVyeVVybCA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW2xvY2FsZVByZWZpeCwgc2V0TG9jYWxlUHJlZml4XSA9IHVzZVN0YXRlPHN0cmluZz4oKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkRnJvbVVybCA9IHBhcnNlSW50KFxuICAgIHF1ZXJ5LmdldCgnd2F0ZXJfYXV0aG9yaXR5X2lkJykgfHwgJzAnLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgRmV0Y2hQZXJtaXNzaW9ucyA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGF4aW9zLmdldCgnL3Blcm1pc3Npb25zJywge1xuICAgICAgICBwYXJhbXM6IHsgd2F0ZXJfYXV0aG9yaXR5X2lkOiB3YXRlckF1dGhvcml0eUlkRnJvbVVybCB9LFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZXM/LmRhdGE/LmRhdGEpIHtcbiAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgc2V0V2F0ZXJBdXRob3JpdHkoe1xuICAgICAgICAgICAgaWQ6IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsLFxuICAgICAgICAgICAgbmFtZTogcmVzLmRhdGEuZGF0YS53YXRlcl9hdXRob3JpdHlfbmFtZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICBQZXJtaXNzaW9uc1NsaWNlLmFjdGlvbnMuc2V0RGFzaGJvYXJkUGVybWlzc2lvbihyZXMuZGF0YS5kYXRhKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsKSB7XG4gICAgICBGZXRjaFBlcm1pc3Npb25zKCk7XG4gICAgfVxuICB9LCBbd2F0ZXJBdXRob3JpdHlJZEZyb21VcmxdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHVwZGF0ZUxhbmd1YWdlKHsgbG9jYWxlOiBsb2NhbGVQcmVmaXggfSkpO1xuICB9LCBbZGlzcGF0Y2gsIGxvY2FsZVByZWZpeF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IHF1ZXJ5VXJsLmhhcygnbG9jYWxlJylcbiAgICAgICAgPyAocXVlcnlVcmwuZ2V0KCdsb2NhbGUnKSBhcyBzdHJpbmcpXG4gICAgICAgIDogJ2VuJztcblxuICAgICAgaTE4bi5jaGFuZ2VMYW5ndWFnZShwcmVmaXgpO1xuICAgICAgc2V0TG9jYWxlUHJlZml4KHByZWZpeCk7XG4gICAgfSkoKTtcbiAgfSwgW3F1ZXJ5VXJsXSk7XG5cbiAgaWYgKCFsb2NhbGVQcmVmaXgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEFwcExvYWRlcj5cbiAgICAgICAgPEFwcFNwaW5uZXIgbGVuZ3RoPVwiODBweFwiIC8+XG4gICAgICA8L0FwcExvYWRlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8UXVlcnlDbGllbnRQcm92aWRlciBjbGllbnQ9e3F1ZXJ5Q2xpZW50fT5cbiAgICAgIDxVcmxIaXN0b3J5UHJvdmlkZXI+XG4gICAgICAgIDxTbGlkZXNob3dQcm92aWRlcj5cbiAgICAgICAgICA8U3R5bGVzTGF5b3V0PlxuICAgICAgICAgICAgPEdldERpciBsb2NhbGU9e2xvY2FsZVByZWZpeH0gY2xhc3NOYW1lPXtsb2NhbGVQcmVmaXh9PlxuICAgICAgICAgICAgICA8VG9vbGJhciBoYXNTZWFyY2g9e3RydWV9IC8+XG4gICAgICAgICAgICAgIDxUb2FzdENvbnRhaW5lciAvPlxuICAgICAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9kYXNoYm9hcmRfdjIvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtVdGlsaXR5RGFzaGJvYXJkUGFnZX1cbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2Rhc2hib2FyZF92Mi9hcmVhLzphcmVhSURcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtBcmVhUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9kYXNoYm9hcmRfdjIvc2l0ZS86c2l0ZUlEXCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17U2l0ZVBhZ2V9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9wcm9maWxlcy9pbmRleFwiIGNvbXBvbmVudD17UHJvZmlsZVBhZ2V9IGV4YWN0IC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9mZWVkYmFja1wiPlxuICAgICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIqXCIgY29tcG9uZW50PXtGZWVkYmFja30gLz5cbiAgICAgICAgICAgICAgICA8L1JvdXRlPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlIHBhdGg9XCIvZXZlbnRzX3ZpZXcvaW5kZXhcIiBjb21wb25lbnQ9e0V2ZW50c1BhZ2V9IGV4YWN0IC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvaW1wb3J0X3BsYW5uaW5ncy9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ltcG9ydFBsYW5uaW5nc31cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9zYW1wbGluZ3MtbGlzdC91cGxvYWRfbGFiX3Jlc3VsdFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1VwbG9hZExhYlJlc3VsdH1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9pbXBvcnRfZ2lzX3Byb2Nlc3MvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtJbXBvcnRHaXNQcm9jZXNzfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3diZV9kYXNoYm9hcmQvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtXYmVEYXNoYm9hcmRQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3NhbXBsaW5ncy1saXN0L2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17U2FtcGxpbmdzUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9zYW1wbGluZy1wcm9wZXJ0aWVzLzpzYW1wbGVJZFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9ub3RpZmljYXRpb25zL2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17Tm90aWZpY2F0aW9uc1BhZ2V9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9tYXAvaW5kZXhcIiBjb21wb25lbnQ9e0Fzc2Vzc21lbnRQYWdlfSBleGFjdCAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3N0YXJ0L3NsaWRlc2hvd1wiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1NsaWRlc2hvd1J1bm5lcn1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAgICA8L0dldERpcj5cbiAgICAgICAgICA8L1N0eWxlc0xheW91dD5cbiAgICAgICAgPC9TbGlkZXNob3dQcm92aWRlcj5cbiAgICAgIDwvVXJsSGlzdG9yeVByb3ZpZGVyPlxuICAgIDwvUXVlcnlDbGllbnRQcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJvdXRlcjtcblxuY29uc3QgQXBwTG9hZGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuYDtcblxuY29uc3QgQXBwU3Bpbm5lciA9IHN0eWxlZChTcGlubmVyKWBcbiAgaGVpZ2h0OiAxMDB2aDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFFQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxlQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxjQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFFQSxJQUFBUyxrQkFBQSxHQUFBTCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVUsY0FBQSxHQUFBTixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVcsYUFBQSxHQUFBUCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVksbUJBQUEsR0FBQVIsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFhLFlBQUEsR0FBQVQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFjLGlCQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxtQkFBQSxHQUFBZixPQUFBO0FBRUEsSUFBQWdCLG1CQUFBLEdBQUFaLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBaUIsaUJBQUEsR0FBQWIsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFrQixXQUFBLEdBQUFkLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBbUIsU0FBQSxHQUFBZixzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQW9CLFNBQUEsR0FBQXBC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
269
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Sb3V0ZXIudHN4Il0sIm5hbWVzIjpbInF1ZXJ5Q2xpZW50IiwiUXVlcnlDbGllbnQiLCJSb3V0ZXIiLCJxdWVyeVVybCIsImRpc3BhdGNoIiwibG9jYWxlUHJlZml4Iiwic2V0TG9jYWxlUHJlZml4IiwicXVlcnkiLCJ3YXRlckF1dGhvcml0eUlkRnJvbVVybCIsInBhcnNlSW50IiwiZ2V0IiwiRmV0Y2hQZXJtaXNzaW9ucyIsImF4aW9zIiwicGFyYW1zIiwid2F0ZXJfYXV0aG9yaXR5X2lkIiwicmVzIiwiZGF0YSIsImlkIiwibmFtZSIsIndhdGVyX2F1dGhvcml0eV9uYW1lIiwiUGVybWlzc2lvbnNTbGljZSIsImFjdGlvbnMiLCJzZXREYXNoYm9hcmRQZXJtaXNzaW9uIiwibG9jYWxlIiwicHJlZml4IiwiaGFzIiwiaTE4biIsImNoYW5nZUxhbmd1YWdlIiwiVXRpbGl0eURhc2hib2FyZFBhZ2UiLCJBcmVhUGFnZSIsIlNpdGVQYWdlIiwiUHJvZmlsZVBhZ2UiLCJGZWVkYmFjayIsIkV2ZW50c1BhZ2UiLCJJbXBvcnRQbGFubmluZ3MiLCJVcGxvYWRMYWJSZXN1bHQiLCJJbXBvcnRHaXNQcm9jZXNzIiwiV2JlRGFzaGJvYXJkUGFnZSIsIlNhbXBsaW5nc1BhZ2UiLCJTYW1wbGluZ1Byb3BlcnRpZXMiLCJOb3RpZmljYXRpb25zUGFnZSIsIkFzc2Vzc21lbnRQYWdlIiwiU2xpZGVzaG93UnVubmVyIiwiQXBwTG9hZGVyIiwic3R5bGVkIiwiZGl2IiwiQXBwU3Bpbm5lciIsIlNwaW5uZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFD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O0FBRUUsSUFBQSxTQUFTLEVBQUVDLHlCQUZiO0FBR0UsSUFBQSxLQUFLO0FBSFAsSUF0Q0YsZUE0Q0UsNkJBQUMscUJBQUQ7QUFDRSxJQUFBLElBQUksRUFBQyxzQkFEUDtBQUVFLElBQUEsU0FBUyxFQUFFQyxrQ0FGYjtBQUdFLElBQUEsS0FBSztBQUhQLElBNUNGLGVBa0RFLDZCQUFDLHFCQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUMsdUJBRFA7QUFFRSxJQUFBLFNBQVMsRUFBRUMsc0JBRmI7QUFHRSxJQUFBLEtBQUs7QUFIUCxJQWxERixlQXdERSw2QkFBQyxxQkFBRDtBQUNFLElBQUEsSUFBSSxFQUFDLGdDQURQO0FBRUUsSUFBQSxTQUFTLEVBQUVDLHNDQUZiO0FBR0UsSUFBQSxLQUFLO0FBSFAsSUF4REYsZUE4REUsNkJBQUMscUJBQUQ7QUFDRSxJQUFBLElBQUksRUFBQyxzQkFEUDtBQUVFLElBQUEsU0FBUyxFQUFFQywwQkFGYjtBQUdFLElBQUEsS0FBSztBQUhQLElBOURGLGVBb0VFLDZCQUFDLHFCQUFEO0FBQU8sSUFBQSxJQUFJLEVBQUMsWUFBWjtBQUF5QixJQUFBLFNBQVMsRUFBRUMsdUJBQXBDO0FBQW9ELElBQUEsS0FBSztBQUF6RCxJQXBFRixlQXNFRSw2QkFBQyxxQkFBRDtBQUNFLElBQUEsSUFBSSxFQUFDLGtCQURQO0FBRUUsSUFBQSxTQUFTLEVBQUVDLHdCQUZiO0FBR0UsSUFBQSxLQUFLO0FBSFAsSUF0RUYsQ0FIRixDQURGLENBREYsQ0FERixDQURGLENBREY7QUEwRkQsQ0FuSkQ7O2VBcUpleEMsTTs7O0FBRWYsSUFBTXlDLFNBQVMsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsaUNBQWY7O0FBS0EsSUFBTUMsVUFBVSxHQUFHLCtCQUFPQyxnQkFBUCxDQUFIO0FBQUE7QUFBQTtBQUFBLHFCQUFoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnbGVhZmxldC9kaXN0L2xlYWZsZXQuY3NzJztcbmltcG9ydCAncmVhY3QtdG9hc3RpZnkvZGlzdC9SZWFjdFRvYXN0aWZ5LmNzcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50LCBRdWVyeUNsaWVudFByb3ZpZGVyIH0gZnJvbSAncmVhY3QtcXVlcnknO1xuaW1wb3J0IHsgUm91dGUsIFN3aXRjaCB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgVG9hc3RDb250YWluZXIgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IE5vdGlmaWNhdGlvbnNQYWdlIGZyb20gJ3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL05vdGlmaWNhdGlvbnNQYWdlJztcbmltcG9ydCBTYW1wbGluZ3NQYWdlIGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlJztcbmltcG9ydCBTdHlsZXNMYXlvdXQgZnJvbSAnc3JjL3N0eWxlcy9TdHlsZXNMYXlvdXQnO1xuaW1wb3J0IFVybEhpc3RvcnlQcm92aWRlciBmcm9tICdzcmMvcHJvdmlkZXJzL1VybEhpc3RvcnkvVXJsSGlzdG9yeVByb3ZpZGVyJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNTbGljZSB9IGZyb20gJ3NyYy9zdG9yZS9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uc1NsaWNlJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllcyB9IGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXMnO1xuXG5pbXBvcnQgSW1wb3J0UGxhbm5pbmdzIGZyb20gJy4vcGFnZXMvSW1wb3J0R2lzUGFnZS9JbXBvcnRHaXNDb250YWluZXInO1xuaW1wb3J0IEltcG9ydEdpc1Byb2Nlc3MgZnJvbSAnLi9wYWdlcy9JbXBvcnRHaXNQcm9jZXNzJztcbmltcG9ydCBFdmVudHNQYWdlIGZyb20gJy4vcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNQYWdlJztcbmltcG9ydCBGZWVkYmFjayBmcm9tICcuL3BhZ2VzL0Nhbm55V2lkZ2V0L0ZlZWRiYWNrJztcbmltcG9ydCB7IEFyZWFQYWdlIH0gZnJvbSAnLi9wYWdlcy9BcmVhUGFnZS9BcmVhUGFnZSc7XG5pbXBvcnQgeyBQcm9maWxlUGFnZSB9IGZyb20gJy4vcGFnZXMvUHJvZmlsZVBhZ2UvUHJvZmlsZVBhZ2UnO1xuaW1wb3J0IHsgU2l0ZVBhZ2UgfSBmcm9tICcuL3BhZ2VzL1NpdGVQYWdlL1NpdGVQYWdlJztcbmltcG9ydCB7IFV0aWxpdHlEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9VdGlsaXR5RGFzaGJvYXJkUGFnZSc7XG5pbXBvcnQgeyBXYmVEYXNoYm9hcmRQYWdlIH0gZnJvbSAnLi9wYWdlcy9XYmVEYXNoYm9hcmQvV2JlRGFzaGJvYXJkUGFnZSc7XG5cbmltcG9ydCB7IHNldFdhdGVyQXV0aG9yaXR5IH0gZnJvbSAnLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyB1cGRhdGVMYW5ndWFnZSB9IGZyb20gJy4vc3RvcmUvY29udGV4dC9hY3Rpb25zJztcblxuaW1wb3J0IEdldERpciBmcm9tICcuL3V0aWxpdGllcy9HZXREaXInO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi91dGlsaXRpZXMvaTE4bic7XG5cbmltcG9ydCAnLi9tYWNyb3MvZ2V0VmVyc2lvbic7XG5pbXBvcnQgJy4vc3R5bGVzLnNjc3MnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4vY29tcG9uZW50cy9TcGlubmVyL1NwaW5uZXInO1xuaW1wb3J0IHsgVG9vbGJhciB9IGZyb20gJy4vY29tcG9uZW50cy9IZWFkZXIvVG9vbGJhci9Ub29sYmFyJztcbmltcG9ydCBVcGxvYWRMYWJSZXN1bHQgZnJvbSAnLi9wYWdlcy9VcGxvYWRMYWJSZXN1bHQnO1xuaW1wb3J0IFNsaWRlc2hvd1J1bm5lciBmcm9tICcuL3Byb3ZpZGVycy9TbGlkZXNob3cvU2xpZGVzaG93UnVubmVyJztcbmltcG9ydCBTbGlkZXNob3dQcm92aWRlciBmcm9tICcuL3Byb3ZpZGVycy9TbGlkZXNob3cvU2xpZGVzaG93UHJvdmlkZXInO1xuaW1wb3J0IEFzc2Vzc21lbnRQYWdlIGZyb20gJy4vcGFnZXMvQXNzZXNzbWVudFBhZ2UvQXNzZXNzbWVudFBhZ2UnO1xuXG5jb25zdCBxdWVyeUNsaWVudCA9IG5ldyBRdWVyeUNsaWVudCgpO1xuXG5jb25zdCBSb3V0ZXIgPSAoKSA9PiB7XG4gIGNvbnN0IHF1ZXJ5VXJsID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbG9jYWxlUHJlZml4LCBzZXRMb2NhbGVQcmVmaXhdID0gdXNlU3RhdGU8c3RyaW5nPigpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsID0gcGFyc2VJbnQoXG4gICAgcXVlcnkuZ2V0KCd3YXRlcl9hdXRob3JpdHlfaWQnKSB8fCAnMCcsXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBGZXRjaFBlcm1pc3Npb25zID0gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgYXhpb3MuZ2V0KCcvcGVybWlzc2lvbnMnLCB7XG4gICAgICAgIHBhcmFtczogeyB3YXRlcl9hdXRob3JpdHlfaWQ6IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsIH0sXG4gICAgICB9KTtcblxuICAgICAgaWYgKHJlcz8uZGF0YT8uZGF0YSkge1xuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICBzZXRXYXRlckF1dGhvcml0eSh7XG4gICAgICAgICAgICBpZDogd2F0ZXJBdXRob3JpdHlJZEZyb21VcmwsXG4gICAgICAgICAgICBuYW1lOiByZXMuZGF0YS5kYXRhLndhdGVyX2F1dGhvcml0eV9uYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgIFBlcm1pc3Npb25zU2xpY2UuYWN0aW9ucy5zZXREYXNoYm9hcmRQZXJtaXNzaW9uKHJlcy5kYXRhLmRhdGEpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAod2F0ZXJBdXRob3JpdHlJZEZyb21VcmwpIHtcbiAgICAgIEZldGNoUGVybWlzc2lvbnMoKTtcbiAgICB9XG4gIH0sIFt3YXRlckF1dGhvcml0eUlkRnJvbVVybF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2godXBkYXRlTGFuZ3VhZ2UoeyBsb2NhbGU6IGxvY2FsZVByZWZpeCB9KSk7XG4gIH0sIFtkaXNwYXRjaCwgbG9jYWxlUHJlZml4XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcHJlZml4ID0gcXVlcnlVcmwuaGFzKCdsb2NhbGUnKVxuICAgICAgICA/IChxdWVyeVVybC5nZXQoJ2xvY2FsZScpIGFzIHN0cmluZylcbiAgICAgICAgOiAnZW4nO1xuXG4gICAgICBpMThuLmNoYW5nZUxhbmd1YWdlKHByZWZpeCk7XG4gICAgICBzZXRMb2NhbGVQcmVmaXgocHJlZml4KTtcbiAgICB9KSgpO1xuICB9LCBbcXVlcnlVcmxdKTtcblxuICBpZiAoIWxvY2FsZVByZWZpeCkge1xuICAgIHJldHVybiAoXG4gICAgICA8QXBwTG9hZGVyPlxuICAgICAgICA8QXBwU3Bpbm5lciBsZW5ndGg9XCI4MHB4XCIgLz5cbiAgICAgIDwvQXBwTG9hZGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxRdWVyeUNsaWVudFByb3ZpZGVyIGNsaWVudD17cXVlcnlDbGllbnR9PlxuICAgICAgPFVybEhpc3RvcnlQcm92aWRlcj5cbiAgICAgICAgPFNsaWRlc2hvd1Byb3ZpZGVyPlxuICAgICAgICAgIDxTdHlsZXNMYXlvdXQ+XG4gICAgICAgICAgICA8R2V0RGlyIGxvY2FsZT17bG9jYWxlUHJlZml4fSBjbGFzc05hbWU9e2xvY2FsZVByZWZpeH0+XG4gICAgICAgICAgICAgIDxUb29sYmFyIGhhc1NlYXJjaD17dHJ1ZX0gLz5cbiAgICAgICAgICAgICAgPFRvYXN0Q29udGFpbmVyIC8+XG4gICAgICAgICAgICAgIDxTd2l0Y2g+XG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2Rhc2hib2FyZF92Mi9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1V0aWxpdHlEYXNoYm9hcmRQYWdlfVxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvZGFzaGJvYXJkX3YyL2FyZWEvOmFyZWFJRFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0FyZWFQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2Rhc2hib2FyZF92Mi9zaXRlLzpzaXRlSURcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtTaXRlUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL3Byb2ZpbGVzL2luZGV4XCIgY29tcG9uZW50PXtQcm9maWxlUGFnZX0gZXhhY3QgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL2ZlZWRiYWNrXCI+XG4gICAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIipcIiBjb21wb25lbnQ9e0ZlZWRiYWNrfSAvPlxuICAgICAgICAgICAgICAgIDwvUm91dGU+XG5cbiAgICAgICAgICAgICAgICA8Um91dGUgcGF0aD1cIi9ldmVudHNfdmlldy9pbmRleFwiIGNvbXBvbmVudD17RXZlbnRzUGFnZX0gZXhhY3QgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZVxuICAgICAgICAgICAgICAgICAgcGF0aD1cIi9pbXBvcnRfcGxhbm5pbmdzL2luZGV4XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17SW1wb3J0UGxhbm5pbmdzfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3NhbXBsaW5ncy1saXN0L3VwbG9hZF9sYWJfcmVzdWx0XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17VXBsb2FkTGFiUmVzdWx0fVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL2ltcG9ydF9naXNfcHJvY2Vzcy9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e0ltcG9ydEdpc1Byb2Nlc3N9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvd2JlX2Rhc2hib2FyZC9pbmRleFwiXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ9e1diZURhc2hib2FyZFBhZ2V9XG4gICAgICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvc2FtcGxpbmdzLWxpc3QvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtTYW1wbGluZ3NQYWdlfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL3NhbXBsaW5nLXByb3BlcnRpZXMvOnNhbXBsZUlkXCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17U2FtcGxpbmdQcm9wZXJ0aWVzfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICBwYXRoPVwiL25vdGlmaWNhdGlvbnMvaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50PXtOb3RpZmljYXRpb25zUGFnZX1cbiAgICAgICAgICAgICAgICAgIGV4YWN0XG4gICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgIDxSb3V0ZSBwYXRoPVwiL21hcC9pbmRleFwiIGNvbXBvbmVudD17QXNzZXNzbWVudFBhZ2V9IGV4YWN0IC8+XG5cbiAgICAgICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgICAgIHBhdGg9XCIvc3RhcnQvc2xpZGVzaG93XCJcbiAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17U2xpZGVzaG93UnVubmVyfVxuICAgICAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICAgIDwvR2V0RGlyPlxuICAgICAgICAgIDwvU3R5bGVzTGF5b3V0PlxuICAgICAgICA8L1NsaWRlc2hvd1Byb3ZpZGVyPlxuICAgICAgPC9VcmxIaXN0b3J5UHJvdmlkZXI+XG4gICAgPC9RdWVyeUNsaWVudFByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUm91dGVyO1xuXG5jb25zdCBBcHBMb2FkZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG5gO1xuXG5jb25zdCBBcHBTcGlubmVyID0gc3R5bGVkKFNwaW5uZXIpYFxuICBoZWlnaHQ6IDEwMHZoO1xuYDtcbiJdfQ==
@@ -1,41 +1,65 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.EventsCarousel = void 0;
11
+
9
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
+
10
14
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
11
16
  var _dayjs = _interopRequireDefault(require("dayjs"));
17
+
12
18
  var _utc = _interopRequireDefault(require("dayjs/plugin/utc"));
19
+
13
20
  var _react = _interopRequireWildcard(require("react"));
21
+
14
22
  var _reactBootstrap = require("react-bootstrap");
23
+
15
24
  var _DataLoaderError = require("components/DataLoaderError/DataLoaderError");
25
+
16
26
  var _StyledLink = require("components/Links/StyledLink/StyledLink");
27
+
17
28
  var _Spinner = require("components/Spinner/Spinner");
29
+
18
30
  var _useApiWithDashboardQuery = require("hooks/useApiWithDashboardQuery");
31
+
19
32
  var _NoEvents = _interopRequireDefault(require("pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents"));
33
+
20
34
  var _OptionalLinkedSevereEvent = _interopRequireDefault(require("pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent"));
35
+
21
36
  var _UtilityDashboard = require("pages/UtilityDashboardPage/UtilityDashboard");
37
+
22
38
  var _EventUtils = require("../../pages/EventsPage/events/events_list/EventUtils");
39
+
40
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
+
42
+ 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; }
43
+
23
44
  var EventsCarousel = function EventsCarousel(_ref) {
24
45
  var endpoint = _ref.endpoint,
25
- _ref$eventParams = _ref.eventParams,
26
- eventParams = _ref$eventParams === void 0 ? {} : _ref$eventParams;
46
+ _ref$eventParams = _ref.eventParams,
47
+ eventParams = _ref$eventParams === void 0 ? {} : _ref$eventParams;
48
+
27
49
  var _useState = (0, _react.useState)([]),
28
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
29
- eventsArr = _useState2[0],
30
- setEventsArr = _useState2[1];
31
- // eslint-disable-next-line
50
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
+ eventsArr = _useState2[0],
52
+ setEventsArr = _useState2[1]; // eslint-disable-next-line
53
+
54
+
32
55
  var _useApiWithDashboardQ = (0, _useApiWithDashboardQuery.useApiWithDashboardQuery)(endpoint, eventParams),
33
- _useApiWithDashboardQ2 = (0, _slicedToArray2.default)(_useApiWithDashboardQ, 3),
34
- response = _useApiWithDashboardQ2[0],
35
- isLoading = _useApiWithDashboardQ2[1],
36
- error = _useApiWithDashboardQ2[2];
56
+ _useApiWithDashboardQ2 = (0, _slicedToArray2.default)(_useApiWithDashboardQ, 3),
57
+ response = _useApiWithDashboardQ2[0],
58
+ isLoading = _useApiWithDashboardQ2[1],
59
+ error = _useApiWithDashboardQ2[2];
60
+
37
61
  (0, _react.useEffect)(function () {
38
- if (response !== null && response !== void 0 && response.data && !error) {
62
+ if ((response === null || response === void 0 ? void 0 : response.data) && !error) {
39
63
  if (Array.isArray(response.data.events)) {
40
64
  var arr = response.data.events.sort(function (a, b) {
41
65
  return -Date.parse(a.first_seen_time) + Date.parse(b.first_seen_time);
@@ -44,11 +68,14 @@ var EventsCarousel = function EventsCarousel(_ref) {
44
68
  }
45
69
  }
46
70
  }, [response]);
71
+
47
72
  var parseEventData = function parseEventData(event) {
48
73
  var lastseen = (0, _EventUtils.lastSeenObservation)(event);
49
74
  var firstseen = (0, _EventUtils.firstSeenObservation)(event);
50
75
  var diff = lastseen.last_seen_time - firstseen.start_time;
76
+
51
77
  _dayjs.default.extend(_utc.default);
78
+
52
79
  var mappedEvent = {
53
80
  lastseen: lastseen,
54
81
  firstseen: firstseen,
@@ -57,6 +84,7 @@ var EventsCarousel = function EventsCarousel(_ref) {
57
84
  };
58
85
  return mappedEvent;
59
86
  };
87
+
60
88
  if (isLoading && !error) {
61
89
  return /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement(_DataLoaderError.DataLoaderError, {
62
90
  isLoading: isLoading,
@@ -64,6 +92,7 @@ var EventsCarousel = function EventsCarousel(_ref) {
64
92
  error: error
65
93
  }, /*#__PURE__*/_react.default.createElement(_UtilityDashboard.SpinnerHolder, null, /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null))));
66
94
  }
95
+
67
96
  return /*#__PURE__*/_react.default.createElement(Container, null, response && eventsArr.length === 0 ? /*#__PURE__*/_react.default.createElement(NoEventsComponent, null) : /*#__PURE__*/_react.default.createElement(_reactBootstrap.Carousel, {
68
97
  className: "events-carousel",
69
98
  indicators: true,
@@ -88,13 +117,16 @@ var EventsCarousel = function EventsCarousel(_ref) {
88
117
  })));
89
118
  })));
90
119
  };
120
+
91
121
  exports.EventsCarousel = EventsCarousel;
122
+
92
123
  var Container = _styledComponents.default.div.withConfig({
93
124
  displayName: "EventsCarousel__Container",
94
125
  componentId: "sc-1mw9de8-0"
95
126
  })(["height:calc(100% - 38px);width:100%;position:relative;.events-carousel{position:absolute;top:0;left:0;right:0;bottom:0;.carousel-control{&-next,&-prev{height:20px;}[dir='rtl'] &{&-next{left:0;right:unset;&-icon{transform:rotate(180deg);right:unset;left:5px;}}&-prev{right:0;left:unset;&-icon{transform:rotate(180deg);left:unset;right:5px;}}}}.carousel-control-next-icon,.carousel-control-prev-icon{position:absolute;right:5px;top:13px;width:15px;height:15px;}.carousel-control-prev-icon{right:unset;left:5px;}.carousel-indicators{position:absolute;bottom:0;li{width:7px;height:7px;background-color:#e4e4e4;border-radius:50%;&.active{background-color:#f6004f;}}}.severe-event .top{display:flex;justify-content:center;.source{display:none;}}}"]);
127
+
96
128
  var NoEventsComponent = (0, _styledComponents.default)(_NoEvents.default).withConfig({
97
129
  displayName: "EventsCarousel__NoEventsComponent",
98
130
  componentId: "sc-1mw9de8-1"
99
131
  })(["min-height:unset;height:100%;"]);
100
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGF5anMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl91dGMiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdEJvb3RzdHJhcCIsIl9EYXRhTG9hZGVyRXJyb3IiLCJfU3R5bGVkTGluayIsIl9TcGlubmVyIiwiX3VzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeSIsIl9Ob0V2ZW50cyIsIl9PcHRpb25hbExpbmtlZFNldmVyZUV2ZW50IiwiX1V0aWxpdHlEYXNoYm9hcmQiLCJfRXZlbnRVdGlscyIsIkV2ZW50c0Nhcm91c2VsIiwiX3JlZiIsImVuZHBvaW50IiwiX3JlZiRldmVudFBhcmFtcyIsImV2ZW50UGFyYW1zIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiZGVmYXVsdCIsImV2ZW50c0FyciIsInNldEV2ZW50c0FyciIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUSIsInVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeSIsIl91c2VBcGlXaXRoRGFzaGJvYXJkUTIiLCJyZXNwb25zZSIsImlzTG9hZGluZyIsImVycm9yIiwidXNlRWZmZWN0IiwiZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImV2ZW50cyIsImFyciIsInNvcnQiLCJhIiwiYiIsIkRhdGUiLCJwYXJzZSIsImZpcnN0X3NlZW5fdGltZSIsInNsaWNlIiwicGFyc2VFdmVudERhdGEiLCJldmVudCIsImxhc3RzZWVuIiwibGFzdFNlZW5PYnNlcnZhdGlvbiIsImZpcnN0c2VlbiIsImZpcnN0U2Vlbk9ic2VydmF0aW9uIiwiZGlmZiIsImxhc3Rfc2Vlbl90aW1lIiwic3RhcnRfdGltZSIsImRheWpzIiwiZXh0ZW5kIiwidXRjIiwibWFwcGVkRXZlbnQiLCJ0b3RhbCIsImZvcm1hdCIsImNyZWF0ZUVsZW1lbnQiLCJDb250YWluZXIiLCJEYXRhTG9hZGVyRXJyb3IiLCJTcGlubmVySG9sZGVyIiwiU3Bpbm5lciIsImxlbmd0aCIsIk5vRXZlbnRzQ29tcG9uZW50IiwiQ2Fyb3VzZWwiLCJjbGFzc05hbWUiLCJpbmRpY2F0b3JzIiwiaW50ZXJ2YWwiLCJjb250cm9scyIsIm1hcCIsImluZGV4IiwiSXRlbSIsImtleSIsImlkIiwiU3R5bGVkTGluayIsInRvIiwibmV3UGFyYW1zIiwiY29uY2F0IiwidmFsdWVzRnJvbUtRTCIsIm1zZyIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIk5vRXZlbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvRXZlbnRzQ2Fyb3VzZWwvRXZlbnRzQ2Fyb3VzZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDYXJvdXNlbCB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBEYXRhTG9hZGVyRXJyb3IgfSBmcm9tICdzcmMvY29tcG9uZW50cy9EYXRhTG9hZGVyRXJyb3IvRGF0YUxvYWRlckVycm9yJztcbmltcG9ydCB7IFN0eWxlZExpbmsgfSBmcm9tICdzcmMvY29tcG9uZW50cy9MaW5rcy9TdHlsZWRMaW5rL1N0eWxlZExpbmsnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lcic7XG5pbXBvcnQgeyB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnkgfSBmcm9tICdzcmMvaG9va3MvdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5JztcbmltcG9ydCBOb0V2ZW50cyBmcm9tICdzcmMvcGFnZXMvVXRpbGl0eURhc2hib2FyZFBhZ2UvTW9zdFNldmVyZUV2ZW50cy9Ob0V2ZW50cy9Ob0V2ZW50cyc7XG5pbXBvcnQgT3B0aW9uYWxMaW5rZWRTZXZlcmVFdmVudCBmcm9tICdzcmMvcGFnZXMvVXRpbGl0eURhc2hib2FyZFBhZ2UvTW9zdFNldmVyZUV2ZW50cy9TZXZlcmVFdmVudC9PcHRpb25hbExpbmtlZFNldmVyZUV2ZW50JztcbmltcG9ydCB7IFNwaW5uZXJIb2xkZXIgfSBmcm9tICdzcmMvcGFnZXMvVXRpbGl0eURhc2hib2FyZFBhZ2UvVXRpbGl0eURhc2hib2FyZCc7XG5pbXBvcnQgeyBJRXZlbnQsIElFdmVudHNSZXNwb25zZSB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7XG4gIGZpcnN0U2Vlbk9ic2VydmF0aW9uLFxuICBsYXN0U2Vlbk9ic2VydmF0aW9uLFxufSBmcm9tICcuLi8uLi9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudFV0aWxzJztcblxuaW50ZXJmYWNlIEV2ZW50c0Nhcm91c2VsUHJvcHMge1xuICBlbmRwb2ludDogc3RyaW5nO1xuICBldmVudFBhcmFtcz86IHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG4gIH07XG59XG5leHBvcnQgY29uc3QgRXZlbnRzQ2Fyb3VzZWw6IFJlYWN0LkZDPEV2ZW50c0Nhcm91c2VsUHJvcHM+ID0gKHtcbiAgZW5kcG9pbnQsXG4gIGV2ZW50UGFyYW1zID0ge30sXG59KSA9PiB7XG4gIGNvbnN0IFtldmVudHNBcnIsIHNldEV2ZW50c0Fycl0gPSB1c2VTdGF0ZTxJRXZlbnRbXT4oW10pO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgY29uc3QgW3Jlc3BvbnNlLCBpc0xvYWRpbmcsIGVycm9yXSA9XG4gICAgdXNlQXBpV2l0aERhc2hib2FyZFF1ZXJ5PElFdmVudHNSZXNwb25zZT4oZW5kcG9pbnQsIGV2ZW50UGFyYW1zKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChyZXNwb25zZT8uZGF0YSAmJiAhZXJyb3IpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3BvbnNlLmRhdGEuZXZlbnRzKSkge1xuICAgICAgICBjb25zdCBhcnIgPSByZXNwb25zZS5kYXRhLmV2ZW50c1xuXG4gICAgICAgICAgLnNvcnQoXG4gICAgICAgICAgICAoYSwgYikgPT5cbiAgICAgICAgICAgICAgLURhdGUucGFyc2UoYS5maXJzdF9zZWVuX3RpbWUpICsgRGF0ZS5wYXJzZShiLmZpcnN0X3NlZW5fdGltZSksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zbGljZSgwLCA0KTtcbiAgICAgICAgc2V0RXZlbnRzQXJyKGFycik7XG4gICAgICB9XG4gICAgfVxuICB9LCBbcmVzcG9uc2VdKTtcblxuICBjb25zdCBwYXJzZUV2ZW50RGF0YSA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgY29uc3QgbGFzdHNlZW4gPSBsYXN0U2Vlbk9ic2VydmF0aW9uKGV2ZW50KTtcblxuICAgIGNvbnN0IGZpcnN0c2VlbiA9IGZpcnN0U2Vlbk9ic2VydmF0aW9uKGV2ZW50KTtcblxuICAgIGNvbnN0IGRpZmYgPSBsYXN0c2Vlbi5sYXN0X3NlZW5fdGltZSAtIGZpcnN0c2Vlbi5zdGFydF90aW1lO1xuICAgIGRheWpzLmV4dGVuZCh1dGMpO1xuXG4gICAgY29uc3QgbWFwcGVkRXZlbnQ6IGFueSA9IHtcbiAgICAgIGxhc3RzZWVuLFxuICAgICAgZmlyc3RzZWVuLFxuICAgICAgLy9AdHMtaWdub3JlXG4gICAgICB0b3RhbDogZGF5anMudXRjKGRpZmYgKiAxMDAwKS5mb3JtYXQoJ0hIOm1tOnNzJyksXG4gICAgfTtcbiAgICByZXR1cm4gbWFwcGVkRXZlbnQ7XG4gIH07XG5cbiAgaWYgKGlzTG9hZGluZyAmJiAhZXJyb3IpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPERhdGFMb2FkZXJFcnJvciBpc0xvYWRpbmc9e2lzTG9hZGluZ30gZGF0YT17ZXZlbnRzQXJyfSBlcnJvcj17ZXJyb3J9PlxuICAgICAgICAgIDxTcGlubmVySG9sZGVyPlxuICAgICAgICAgICAgPFNwaW5uZXIgLz5cbiAgICAgICAgICA8L1NwaW5uZXJIb2xkZXI+XG4gICAgICAgIDwvRGF0YUxvYWRlckVycm9yPlxuICAgICAgPC9Db250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lcj5cbiAgICAgIHtyZXNwb25zZSAmJiBldmVudHNBcnIubGVuZ3RoID09PSAwID8gKFxuICAgICAgICA8Tm9FdmVudHNDb21wb25lbnQgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxDYXJvdXNlbFxuICAgICAgICAgIGNsYXNzTmFtZT1cImV2ZW50cy1jYXJvdXNlbFwiXG4gICAgICAgICAgaW5kaWNhdG9ycz17dHJ1ZX1cbiAgICAgICAgICBpbnRlcnZhbD17bnVsbH1cbiAgICAgICAgICBjb250cm9scz17ZXZlbnRzQXJyLmxlbmd0aCA+IDF9XG4gICAgICAgID5cbiAgICAgICAgICB7ZXZlbnRzQXJyLm1hcCgoZXZlbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gcGFyc2VFdmVudERhdGEoZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPENhcm91c2VsLkl0ZW0ga2V5PXtldmVudC5pZH0+XG4gICAgICAgICAgICAgICAgPFN0eWxlZExpbmtcbiAgICAgICAgICAgICAgICAgIHRvPXtgL2V2ZW50c192aWV3L2luZGV4YH1cbiAgICAgICAgICAgICAgICAgIG5ld1BhcmFtcz17YCZldmVudElkPSR7ZXZlbnQuaWR9JnZhbHVlc0Zyb21LUUw9JHtldmVudFBhcmFtcy52YWx1ZXNGcm9tS1FMfWB9XG4gICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxPcHRpb25hbExpbmtlZFNldmVyZUV2ZW50XG4gICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50PXtldmVudH1cbiAgICAgICAgICAgICAgICAgICAgdG90YWw9e2RhdGEudG90YWx9XG4gICAgICAgICAgICAgICAgICAgIGZpcnN0c2Vlbj17ZGF0YS5maXJzdHNlZW59XG4gICAgICAgICAgICAgICAgICAgIGxhc3RzZWVuPXtkYXRhLmxhc3RzZWVufVxuICAgICAgICAgICAgICAgICAgICBtc2c9XCJcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXNGcm9tS1FMPXtldmVudFBhcmFtcy52YWx1ZXNGcm9tS1FMfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZExpbms+XG4gICAgICAgICAgICAgIDwvQ2Fyb3VzZWwuSXRlbT5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvQ2Fyb3VzZWw+XG4gICAgICApfVxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzOHB4KTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmV2ZW50cy1jYXJvdXNlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcblxuICAgIC5jYXJvdXNlbC1jb250cm9sIHtcbiAgICAgICYtbmV4dCxcbiAgICAgICYtcHJldiB7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIH1cblxuICAgICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgICYtbmV4dCB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICByaWdodDogdW5zZXQ7XG4gICAgICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtcHJldiB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbGVmdDogdW5zZXQ7XG5cbiAgICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLFxuICAgIC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNXB4O1xuICAgICAgdG9wOiAxM3B4O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsaSB7XG4gICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjYwMDRmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNldmVyZS1ldmVudCAudG9wIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIC5zb3VyY2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgTm9FdmVudHNDb21wb25lbnQgPSBzdHlsZWQoTm9FdmVudHMpYFxuICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgaGVpZ2h0OiAxMDAlO1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLElBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGVBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGdCQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxRQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSx5QkFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsU0FBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVUsMEJBQUEsR0FBQVgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFXLGlCQUFBLEdBQUFYLE9BQUE7QUFHQSxJQUFBWSxXQUFBLEdBQUFaLE9BQUE7QUFXTyxJQUFNYSxjQUE2QyxHQUFHLFNBQWhEQSxjQUE2Q0EsQ0FBQUMsSUFBQSxFQUdwRDtFQUFBLElBRkpDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0lBQUFDLGdCQUFBLEdBQUFGLElBQUEsQ0FDUkcsV0FBVztJQUFYQSxXQUFXLEdBQUFELGdCQUFBLGNBQUcsQ0FBQyxDQUFDLEdBQUFBLGdCQUFBO0VBRWhCLElBQUFFLFNBQUEsR0FBa0MsSUFBQUMsZUFBUSxFQUFXLEVBQUUsQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsQ0FBQUMsT0FBQSxFQUFBSixTQUFBO0lBQWpESyxTQUFTLEdBQUFILFVBQUE7SUFBRUksWUFBWSxHQUFBSixV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
132
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL0V2ZW50c0Nhcm91c2VsL0V2ZW50c0Nhcm91c2VsLnRzeCJdLCJuYW1lcyI6WyJFdmVudHNDYXJvdXNlbCIsImVuZHBvaW50IiwiZXZlbnRQYXJhbXMiLCJldmVudHNBcnIiLCJzZXRFdmVudHNBcnIiLCJyZXNwb25zZSIsImlzTG9hZGluZyIsImVycm9yIiwiZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsImV2ZW50cyIsImFyciIsInNvcnQiLCJhIiwiYiIsIkRhdGUiLCJwYXJzZSIsImZpcnN0X3NlZW5fdGltZSIsInNsaWNlIiwicGFyc2VFdmVudERhdGEiLCJldmVudCIsImxhc3RzZWVuIiwiZmlyc3RzZWVuIiwiZGlmZiIsImxhc3Rfc2Vlbl90aW1lIiwic3RhcnRfdGltZSIsImRheWpzIiwiZXh0ZW5kIiwidXRjIiwibWFwcGVkRXZlbnQiLCJ0b3RhbCIsImZvcm1hdCIsImxlbmd0aCIsIm1hcCIsImluZGV4IiwiaWQiLCJ2YWx1ZXNGcm9tS1FMIiwiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiTm9FdmVudHNDb21wb25lbnQiLCJOb0V2ZW50cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7Ozs7OztBQVdPLElBQU1BLGNBQTZDLEdBQUcsU0FBaERBLGNBQWdELE9BR3ZEO0FBQUEsTUFGSkMsUUFFSSxRQUZKQSxRQUVJO0FBQUEsOEJBREpDLFdBQ0k7QUFBQSxNQURKQSxXQUNJLGlDQURVLEVBQ1Y7O0FBQ0osa0JBQWtDLHFCQUFtQixFQUFuQixDQUFsQztBQUFBO0FBQUEsTUFBT0MsU0FBUDtBQUFBLE1BQWtCQyxZQUFsQixpQkFESSxDQUVKOzs7QUFDQSw4QkFDRSx3REFBMENILFFBQTFDLEVBQW9EQyxXQUFwRCxDQURGO0FBQUE7QUFBQSxNQUFPRyxRQUFQO0FBQUEsTUFB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S0FGVDtBQUdFLE1BQUEsS0FBSyxFQUFFYixJQUFJLENBQUN1QixLQUhkO0FBSUUsTUFBQSxTQUFTLEVBQUV2QixJQUFJLENBQUNlLFNBSmxCO0FBS0UsTUFBQSxRQUFRLEVBQUVmLElBQUksQ0FBQ2MsUUFMakI7QUFNRSxNQUFBLEdBQUcsRUFBQyxFQU5OO0FBT0UsTUFBQSxhQUFhLEVBQUVwQixXQUFXLENBQUNtQztBQVA3QixNQUxGLENBREYsQ0FERjtBQW1CRCxHQXJCQSxDQU5ILENBSkosQ0FERjtBQXFDRCxDQTFGTTs7OztBQTRGUCxJQUFNQyxTQUFTLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLDR1QkFBZjs7QUE2RUEsSUFBTUMsaUJBQWlCLEdBQUcsK0JBQU9DLGlCQUFQLENBQUg7QUFBQTtBQUFBO0FBQUEscUNBQXZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENhcm91c2VsIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IERhdGFMb2FkZXJFcnJvciB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0RhdGFMb2FkZXJFcnJvci9EYXRhTG9hZGVyRXJyb3InO1xuaW1wb3J0IHsgU3R5bGVkTGluayB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0xpbmtzL1N0eWxlZExpbmsvU3R5bGVkTGluayc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IHVzZUFwaVdpdGhEYXNoYm9hcmRRdWVyeSB9IGZyb20gJ3NyYy9ob29rcy91c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnknO1xuaW1wb3J0IE5vRXZlbnRzIGZyb20gJ3NyYy9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9Nb3N0U2V2ZXJlRXZlbnRzL05vRXZlbnRzL05vRXZlbnRzJztcbmltcG9ydCBPcHRpb25hbExpbmtlZFNldmVyZUV2ZW50IGZyb20gJ3NyYy9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9Nb3N0U2V2ZXJlRXZlbnRzL1NldmVyZUV2ZW50L09wdGlvbmFsTGlua2VkU2V2ZXJlRXZlbnQnO1xuaW1wb3J0IHsgU3Bpbm5lckhvbGRlciB9IGZyb20gJ3NyYy9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9VdGlsaXR5RGFzaGJvYXJkJztcbmltcG9ydCB7IElFdmVudCwgSUV2ZW50c1Jlc3BvbnNlIH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHtcbiAgZmlyc3RTZWVuT2JzZXJ2YXRpb24sXG4gIGxhc3RTZWVuT2JzZXJ2YXRpb24sXG59IGZyb20gJy4uLy4uL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0V2ZW50VXRpbHMnO1xuXG5pbnRlcmZhY2UgRXZlbnRzQ2Fyb3VzZWxQcm9wcyB7XG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIGV2ZW50UGFyYW1zPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBFdmVudHNDYXJvdXNlbDogUmVhY3QuRkM8RXZlbnRzQ2Fyb3VzZWxQcm9wcz4gPSAoe1xuICBlbmRwb2ludCxcbiAgZXZlbnRQYXJhbXMgPSB7fSxcbn0pID0+IHtcbiAgY29uc3QgW2V2ZW50c0Fyciwgc2V0RXZlbnRzQXJyXSA9IHVzZVN0YXRlPElFdmVudFtdPihbXSk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBjb25zdCBbcmVzcG9uc2UsIGlzTG9hZGluZywgZXJyb3JdID1cbiAgICB1c2VBcGlXaXRoRGFzaGJvYXJkUXVlcnk8SUV2ZW50c1Jlc3BvbnNlPihlbmRwb2ludCwgZXZlbnRQYXJhbXMpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlc3BvbnNlPy5kYXRhICYmICFlcnJvcikge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzcG9uc2UuZGF0YS5ldmVudHMpKSB7XG4gICAgICAgIGNvbnN0IGFyciA9IHJlc3BvbnNlLmRhdGEuZXZlbnRzXG5cbiAgICAgICAgICAuc29ydChcbiAgICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgICAtRGF0ZS5wYXJzZShhLmZpcnN0X3NlZW5fdGltZSkgKyBEYXRlLnBhcnNlKGIuZmlyc3Rfc2Vlbl90aW1lKSxcbiAgICAgICAgICApXG4gICAgICAgICAgLnNsaWNlKDAsIDQpO1xuICAgICAgICBzZXRFdmVudHNBcnIoYXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtyZXNwb25zZV0pO1xuXG4gIGNvbnN0IHBhcnNlRXZlbnREYXRhID0gKGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgICBjb25zdCBsYXN0c2VlbiA9IGxhc3RTZWVuT2JzZXJ2YXRpb24oZXZlbnQpO1xuXG4gICAgY29uc3QgZmlyc3RzZWVuID0gZmlyc3RTZWVuT2JzZXJ2YXRpb24oZXZlbnQpO1xuXG4gICAgY29uc3QgZGlmZiA9IGxhc3RzZWVuLmxhc3Rfc2Vlbl90aW1lIC0gZmlyc3RzZWVuLnN0YXJ0X3RpbWU7XG4gICAgZGF5anMuZXh0ZW5kKHV0Yyk7XG5cbiAgICBjb25zdCBtYXBwZWRFdmVudDogYW55ID0ge1xuICAgICAgbGFzdHNlZW4sXG4gICAgICBmaXJzdHNlZW4sXG4gICAgICAvL0B0cy1pZ25vcmVcbiAgICAgIHRvdGFsOiBkYXlqcy51dGMoZGlmZiAqIDEwMDApLmZvcm1hdCgnSEg6bW06c3MnKSxcbiAgICB9O1xuICAgIHJldHVybiBtYXBwZWRFdmVudDtcbiAgfTtcblxuICBpZiAoaXNMb2FkaW5nICYmICFlcnJvcikge1xuICAgIHJldHVybiAoXG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8RGF0YUxvYWRlckVycm9yIGlzTG9hZGluZz17aXNMb2FkaW5nfSBkYXRhPXtldmVudHNBcnJ9IGVycm9yPXtlcnJvcn0+XG4gICAgICAgICAgPFNwaW5uZXJIb2xkZXI+XG4gICAgICAgICAgICA8U3Bpbm5lciAvPlxuICAgICAgICAgIDwvU3Bpbm5lckhvbGRlcj5cbiAgICAgICAgPC9EYXRhTG9hZGVyRXJyb3I+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAge3Jlc3BvbnNlICYmIGV2ZW50c0Fyci5sZW5ndGggPT09IDAgPyAoXG4gICAgICAgIDxOb0V2ZW50c0NvbXBvbmVudCAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPENhcm91c2VsXG4gICAgICAgICAgY2xhc3NOYW1lPVwiZXZlbnRzLWNhcm91c2VsXCJcbiAgICAgICAgICBpbmRpY2F0b3JzPXt0cnVlfVxuICAgICAgICAgIGludGVydmFsPXtudWxsfVxuICAgICAgICAgIGNvbnRyb2xzPXtldmVudHNBcnIubGVuZ3RoID4gMX1cbiAgICAgICAgPlxuICAgICAgICAgIHtldmVudHNBcnIubWFwKChldmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBwYXJzZUV2ZW50RGF0YShldmVudCk7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8Q2Fyb3VzZWwuSXRlbSBrZXk9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICA8U3R5bGVkTGlua1xuICAgICAgICAgICAgICAgICAgdG89e2AvZXZlbnRzX3ZpZXcvaW5kZXhgfVxuICAgICAgICAgICAgICAgICAgbmV3UGFyYW1zPXtgJmV2ZW50SWQ9JHtldmVudC5pZH0mdmFsdWVzRnJvbUtRTD0ke2V2ZW50UGFyYW1zLnZhbHVlc0Zyb21LUUx9YH1cbiAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPE9wdGlvbmFsTGlua2VkU2V2ZXJlRXZlbnRcbiAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgZXZlbnQ9e2V2ZW50fVxuICAgICAgICAgICAgICAgICAgICB0b3RhbD17ZGF0YS50b3RhbH1cbiAgICAgICAgICAgICAgICAgICAgZmlyc3RzZWVuPXtkYXRhLmZpcnN0c2Vlbn1cbiAgICAgICAgICAgICAgICAgICAgbGFzdHNlZW49e2RhdGEubGFzdHNlZW59XG4gICAgICAgICAgICAgICAgICAgIG1zZz1cIlwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlc0Zyb21LUUw9e2V2ZW50UGFyYW1zLnZhbHVlc0Zyb21LUUx9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvU3R5bGVkTGluaz5cbiAgICAgICAgICAgICAgPC9DYXJvdXNlbC5JdGVtPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9DYXJvdXNlbD5cbiAgICAgICl9XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDM4cHgpO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuZXZlbnRzLWNhcm91c2VsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgLmNhcm91c2VsLWNvbnRyb2wge1xuICAgICAgJi1uZXh0LFxuICAgICAgJi1wcmV2IHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgJi1uZXh0IHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi1wcmV2IHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBsZWZ0OiB1bnNldDtcblxuICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sXG4gICAgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICB0b3A6IDEzcHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24ge1xuICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgbGVmdDogNXB4O1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxpIHtcbiAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNjAwNGY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2V2ZXJlLWV2ZW50IC50b3Age1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLnNvdXJjZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBOb0V2ZW50c0NvbXBvbmVudCA9IHN0eWxlZChOb0V2ZW50cylgXG4gIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICBoZWlnaHQ6IDEwMCU7XG5gO1xuIl19