@kando-env/kando-ui 1.2.382 → 1.2.383

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/lib/Router.js +36 -73
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +25 -35
  3. package/lib/Widgets/EventsRow/EventsRow.js +27 -39
  4. package/lib/Widgets/Map/GraphUtils.js +3 -3
  5. package/lib/Widgets/Map/Map.js +86 -122
  6. package/lib/Widgets/Map/MapUtils.js +81 -95
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +53 -77
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +23 -24
  9. package/lib/Widgets/Map/areas/AreaUtils.js +47 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +4 -4
  11. package/lib/Widgets/Map/edges/Edge.js +33 -37
  12. package/lib/Widgets/Map/edges/Edges.js +21 -26
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +23 -44
  14. package/lib/Widgets/Map/events/Event.js +18 -21
  15. package/lib/Widgets/Map/events/EventIndicator.js +65 -60
  16. package/lib/Widgets/Map/events/EventPath.js +49 -24
  17. package/lib/Widgets/Map/events/EventUtils.js +60 -80
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +17 -18
  19. package/lib/Widgets/Map/events/PointOfEvent.js +29 -34
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +30 -37
  21. package/lib/Widgets/Map/events/Snail.js +21 -22
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +93 -86
  23. package/lib/Widgets/Map/map/FloatingGraph.js +22 -18
  24. package/lib/Widgets/Map/map/GraphDateButton.js +25 -17
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +13 -12
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -15
  27. package/lib/Widgets/Map/points/PointIcon.js +22 -15
  28. package/lib/Widgets/Map/points/PointMarker.js +71 -87
  29. package/lib/Widgets/Map/points/PointMarkers.js +45 -66
  30. package/lib/Widgets/Map/points/PointUtils.js +145 -83
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +30 -47
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -10
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -12
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +31 -60
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
  37. package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
  38. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -8
  39. package/lib/Widgets/MostPolluting/Factories/Factories.js +39 -70
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +15 -18
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +12 -10
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
  44. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +25 -35
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -22
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +6 -4
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -4
  50. package/lib/Widgets/MostPolluting/assets/index.js +10 -10
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +19 -13
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +35 -30
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +45 -35
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +39 -35
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -27
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +54 -50
  57. package/lib/Widgets/MostPolluting/styles.js +3 -3
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +7 -5
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +8 -6
  60. package/lib/Widgets/PotentialImpactSummary/index.js +19 -27
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +47 -52
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
  63. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +9 -7
  64. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -17
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +35 -32
  66. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -24
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -37
  68. package/lib/Widgets/QualitySummary/QualitySummary.js +9 -13
  69. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
  70. package/lib/Widgets/QualitySummary/styles.js +23 -15
  71. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -13
  72. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +27 -26
  73. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +29 -24
  74. package/lib/Widgets/UtilityInformation/UtilityInformation.js +23 -37
  75. package/lib/Widgets/UtilityInformation/styles.js +34 -25
  76. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
  77. package/lib/assets/icons/TopNavbar/index.js +6 -6
  78. package/lib/assets/icons/TrendSvg.js +6 -6
  79. package/lib/assets/icons/index.js +15 -15
  80. package/lib/assets/icons/kandoStepper/index.js +5 -5
  81. package/lib/assets/icons/siteTypes/index.js +1 -1
  82. package/lib/components/ApplyButton/ApplyButton.js +9 -9
  83. package/lib/components/Backdrop/Backdrop.js +6 -4
  84. package/lib/components/ContentLoader/ContentLoader.js +11 -9
  85. package/lib/components/ContentLoader/index.js +1 -1
  86. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +13 -12
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +3 -5
  88. package/lib/components/CustomInputs/DoubleTabs/styles.js +20 -12
  89. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +13 -20
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -4
  91. package/lib/components/CustomInputs/Search/Search.js +42 -63
  92. package/lib/components/CustomInputs/Select/Select.js +45 -58
  93. package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
  94. package/lib/components/DamageType/DamageType.js +35 -57
  95. package/lib/components/DataLoaderError/DataLoaderError.js +8 -6
  96. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +9 -10
  97. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +70 -71
  98. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +27 -37
  99. package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -12
  100. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  101. package/lib/components/DischargeHeatmap/popupText.js +10 -10
  102. package/lib/components/DischargeHeatmap/titles.js +3 -3
  103. package/lib/components/ErrorBoundary.js +27 -41
  104. package/lib/components/Events/Events.js +41 -58
  105. package/lib/components/Graph/Graph.js +77 -96
  106. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +17 -21
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.js +25 -33
  108. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +3 -5
  109. package/lib/components/Header/DoubleTabs/styles.js +4 -4
  110. package/lib/components/Header/Header.js +2 -2
  111. package/lib/components/Header/Header.stories.js +3 -5
  112. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +22 -34
  113. package/lib/components/Header/InfoBar/InfoBar.js +74 -103
  114. package/lib/components/Header/InfoBar/Search/Control.js +9 -9
  115. package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -5
  116. package/lib/components/Header/InfoBar/Search/Search.js +16 -21
  117. package/lib/components/Header/InfoBar/Search/SearchContainer.js +21 -33
  118. package/lib/components/Header/InfoBar/Search/searchStyle.js +41 -49
  119. package/lib/components/Header/InfoBar/TimeFilter.js +11 -14
  120. package/lib/components/Header/KandoNavbar/KandoNavbar.js +64 -89
  121. package/lib/components/Header/Slideshow/Slideshow.js +68 -90
  122. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +6 -4
  123. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +21 -23
  124. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +18 -18
  125. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +37 -43
  126. package/lib/components/Header/Toolbar/Toolbar.js +55 -74
  127. package/lib/components/InfoBar/InfoBar.js +10 -23
  128. package/lib/components/InfoBar/InfoBar.stories.js +3 -5
  129. package/lib/components/KandoModal/KandoModal.js +27 -41
  130. package/lib/components/Link.js +8 -7
  131. package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -8
  132. package/lib/components/Links/StyledLink/StyledLink.js +12 -12
  133. package/lib/components/Links/StyledNavLink/StyledNavLink.js +11 -10
  134. package/lib/components/LiveEvents/CarouselSlide.js +9 -7
  135. package/lib/components/LiveEvents/LiveEvents.js +5 -3
  136. package/lib/components/LoaderByPercent/LoaderByPercent.js +37 -29
  137. package/lib/components/Map/Map.js +20 -23
  138. package/lib/components/Modal/Modal.js +9 -9
  139. package/lib/components/NarrowHeader.js +17 -31
  140. package/lib/components/PointInfo/PointInfo.js +19 -17
  141. package/lib/components/PopupModal/PopupModal.js +12 -16
  142. package/lib/components/PopupModal/PopupModal.stories.js +15 -19
  143. package/lib/components/Sector/Sector.js +8 -6
  144. package/lib/components/Sector/Sector.test.js +19 -20
  145. package/lib/components/Sector/sectorIcons.js +2 -2
  146. package/lib/components/SevereEvent/Eta/Eta.js +49 -52
  147. package/lib/components/SevereEvent/Eta/styles.js +10 -6
  148. package/lib/components/SevereEvent/SevereEvent.js +30 -37
  149. package/lib/components/Spinner/Spinner.js +8 -8
  150. package/lib/components/Spinner/Spinner.stories.js +4 -6
  151. package/lib/components/Spinner/styles.js +22 -14
  152. package/lib/components/Tabs/Tabs.js +21 -29
  153. package/lib/components/Tabs/Tabs.stories.js +4 -6
  154. package/lib/components/Tabs/assets/index.js +5 -5
  155. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -15
  156. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +40 -51
  157. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +19 -31
  158. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +20 -25
  159. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -13
  160. package/lib/components/TimeRangeSelector/TimeRangeList.js +23 -24
  161. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +17 -25
  162. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -32
  163. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +4 -6
  164. package/lib/components/TimeRangeSelector/constants.js +3 -3
  165. package/lib/components/Toggle/Toggle.js +12 -17
  166. package/lib/components/TrendGraph/TrendGraph.js +23 -39
  167. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  168. package/lib/development-environment/index.js +8 -12
  169. package/lib/development-environment/mock/browser.js +2 -4
  170. package/lib/development-environment/mock/get.js +8 -10
  171. package/lib/development-environment/mock/handlers.js +2 -2
  172. package/lib/development-environment/mock/mockBus.js +4 -4
  173. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
  174. package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
  175. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
  176. package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
  177. package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
  178. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
  179. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
  180. package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
  181. package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
  182. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
  183. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
  184. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
  185. package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
  186. package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
  187. package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
  188. package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
  189. package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
  190. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
  191. package/lib/development-environment/togly/ToglyDashboard.js +13 -22
  192. package/lib/development-environment/togly/ToglyItem.js +36 -31
  193. package/lib/development-environment/togly/init.js +2 -2
  194. package/lib/development-environment/togly/macro.js +14 -10
  195. package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
  196. package/lib/development-environment/togly/useLocalStorage.js +13 -18
  197. package/lib/hooks/useApi.js +19 -55
  198. package/lib/hooks/useApiWithDashboardQuery.js +30 -49
  199. package/lib/hooks/useClickOutside.js +3 -3
  200. package/lib/hooks/useInitializeHeaders.js +5 -5
  201. package/lib/hooks/useKandoFetch.js +16 -29
  202. package/lib/hooks/useMap.js +22 -34
  203. package/lib/hooks/useNavContext.js +22 -26
  204. package/lib/hooks/useRemoveExistingLayers.js +6 -6
  205. package/lib/hooks/useUpdateEventBodyTail.js +13 -17
  206. package/lib/hooks/useUserTimeZone.js +33 -30
  207. package/lib/hooks/useUserTimeZone.test.js +19 -22
  208. package/lib/hooks/useWindowSize.js +7 -14
  209. package/lib/index.js +11 -12
  210. package/lib/macros/getVersion.js +3 -3
  211. package/lib/pages/AreaPage/AreaPage.js +34 -67
  212. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -17
  213. package/lib/pages/AreaPage/Dashboard/Dashboard.js +30 -31
  214. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
  215. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  216. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
  217. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +11 -11
  218. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
  219. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
  220. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
  221. package/lib/pages/AssessmentPage/AssessmentPage.js +40 -46
  222. package/lib/pages/CannyWidget/Feedback.js +13 -13
  223. package/lib/pages/CovidPage/CovidPage.js +8 -13
  224. package/lib/pages/CovidPage/components/Body.js +25 -27
  225. package/lib/pages/CovidPage/components/Map.js +29 -39
  226. package/lib/pages/CovidPage/components/Sidebar.js +16 -15
  227. package/lib/pages/CovidPage/components/Summary.js +20 -27
  228. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  229. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
  230. package/lib/pages/CovidPage/components/areas/Area.js +29 -40
  231. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +55 -46
  232. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
  233. package/lib/pages/CovidPage/components/areas/AreasList.js +34 -46
  234. package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
  235. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  236. package/lib/pages/DashboardMap/AreaCard.js +28 -28
  237. package/lib/pages/DashboardMap/AssessmentIcon.js +8 -7
  238. package/lib/pages/DashboardMap/Capacity.js +31 -80
  239. package/lib/pages/DashboardMap/FactoryCard.js +31 -26
  240. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
  241. package/lib/pages/DashboardMap/List.js +74 -105
  242. package/lib/pages/DashboardMap/ListContext.js +15 -19
  243. package/lib/pages/DashboardMap/Loader.js +2 -2
  244. package/lib/pages/DashboardMap/SeverityBadge.js +10 -18
  245. package/lib/pages/DashboardMap/WWTPMap.js +48 -60
  246. package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
  247. package/lib/pages/DashboardMap/Widget.js +54 -71
  248. package/lib/pages/DashboardMap/utils.js +48 -65
  249. package/lib/pages/EventsPage/Body/Body.js +20 -15
  250. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
  251. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
  253. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
  254. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
  255. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +53 -64
  256. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +19 -31
  257. package/lib/pages/EventsPage/EventsPage.js +7 -10
  258. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +26 -38
  259. package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
  260. package/lib/pages/EventsPage/events/Sidebar.js +21 -16
  261. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
  262. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
  263. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
  264. package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -37
  265. package/lib/pages/EventsPage/events/event_info/EventInfo.js +44 -43
  266. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  267. package/lib/pages/EventsPage/events/event_info/EventSection.js +17 -19
  268. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
  269. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -47
  270. package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
  271. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +30 -33
  272. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -6
  273. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
  274. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
  275. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +10 -10
  276. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +7 -9
  277. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
  278. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
  279. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
  280. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
  281. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +22 -26
  282. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +12 -8
  283. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +7 -7
  284. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +6 -4
  285. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +10 -8
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
  294. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  295. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  296. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
  297. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
  298. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  299. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
  300. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
  301. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
  302. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  303. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  304. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -38
  305. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
  306. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
  307. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
  308. package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -30
  309. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +23 -26
  310. package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
  311. package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -19
  312. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  313. package/lib/pages/EventsPage/events/events_list/EventsList.js +124 -145
  314. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +40 -55
  315. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +79 -115
  316. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +60 -77
  317. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
  318. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
  319. package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
  320. package/lib/pages/ImportFileWizard/FileUploadRespones.js +13 -20
  321. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
  322. package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
  323. package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
  324. package/lib/pages/ImportFileWizard/ValidationForm.js +23 -22
  325. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  326. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  327. package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
  328. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
  329. package/lib/pages/ImportGisPage/importGisUtils.js +13 -21
  330. package/lib/pages/ImportGisProcess/index.js +12 -15
  331. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
  332. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
  333. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  334. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +56 -65
  335. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
  336. package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
  337. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  338. package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
  339. package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
  340. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  341. package/lib/pages/NotificationsPageV2/NotificationsPage.js +71 -97
  342. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +94 -63
  343. package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +14 -16
  344. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +18 -16
  345. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +17 -21
  346. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +17 -21
  347. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +18 -22
  348. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +83 -69
  349. package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +18 -22
  350. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -74
  351. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +97 -95
  352. package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -48
  353. package/lib/pages/OldSitePage/OldSitePage.js +57 -132
  354. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  355. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  356. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
  357. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
  358. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  359. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
  360. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  361. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  362. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  363. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
  364. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  365. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
  366. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  367. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  368. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
  369. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  370. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +32 -28
  371. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +27 -29
  372. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  373. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +18 -12
  374. package/lib/pages/ProfilePage/Container.js +2 -2
  375. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +28 -44
  376. package/lib/pages/ProfilePage/ProfilePage.js +121 -214
  377. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
  378. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +19 -16
  379. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +28 -30
  380. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -117
  381. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
  382. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
  383. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +39 -41
  384. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
  385. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  386. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
  387. package/lib/pages/SamplingsPage/NavigationDropdown.js +45 -32
  388. package/lib/pages/SamplingsPage/NewSamplingAction.js +76 -100
  389. package/lib/pages/SamplingsPage/SamplingMobileModal.js +129 -101
  390. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
  391. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
  392. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +36 -59
  393. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
  394. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -7
  395. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +110 -194
  396. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +49 -55
  397. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -43
  398. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -45
  399. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
  400. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  401. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
  402. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +58 -54
  403. package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
  404. package/lib/pages/SamplingsPage/SamplingsPage.js +27 -33
  405. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +50 -58
  406. package/lib/pages/SamplingsPage/samplingsPageUtils.js +68 -76
  407. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
  408. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
  409. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
  410. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  411. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  412. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
  413. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
  414. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
  415. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
  416. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
  417. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  418. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
  419. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  420. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  421. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  422. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
  423. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  424. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
  425. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  426. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  427. package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -9
  428. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
  429. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  430. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  431. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -59
  432. package/lib/pages/SitePage/SamplingParameters/dataParser.js +30 -39
  433. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
  434. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  435. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +18 -12
  436. package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
  437. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -30
  438. package/lib/pages/SitePage/SitePage.js +42 -81
  439. package/lib/pages/UploadLabResult/index.js +13 -13
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
  441. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
  442. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
  443. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
  444. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -48
  445. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
  446. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -4
  447. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
  448. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -12
  449. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
  450. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  451. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  452. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +21 -29
  453. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
  454. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -17
  455. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
  456. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +27 -31
  457. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
  458. package/lib/pages/WbeDashboard/GraphWrapper.js +30 -36
  459. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
  460. package/lib/pages/WbeDashboard/SearchInput.js +15 -20
  461. package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
  462. package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
  463. package/lib/pages/WbeDashboard/Tabs.js +11 -11
  464. package/lib/pages/WbeDashboard/WbeDashboardPage.js +151 -213
  465. package/lib/pages/WbeDashboard/WbeSummaryBar.js +40 -48
  466. package/lib/pages/WwtpPage/DashboardCard.js +26 -23
  467. package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
  468. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +26 -22
  469. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
  470. package/lib/pages/WwtpPage/Map.js +5 -3
  471. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  472. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  473. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -6
  474. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
  475. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
  476. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  477. package/lib/pages/WwtpPage/TrendCard.js +18 -19
  478. package/lib/pages/WwtpPage/UpgradeBox.js +3 -3
  479. package/lib/pages/WwtpPage/WwtpPage.js +8 -8
  480. package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
  481. package/lib/providers/Slideshow/SlideshowContext.js +11 -9
  482. package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
  483. package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
  484. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
  485. package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
  486. package/lib/providers/UrlHistory/index.js +2 -2
  487. package/lib/providers/UrlHistory/useLastVisited.js +5 -5
  488. package/lib/store/ImportGis/actionTypes.js +1 -1
  489. package/lib/store/ImportGis/actionsCreator.js +7 -5
  490. package/lib/store/ImportGis/reducer.js +40 -29
  491. package/lib/store/WBE/actionTypes.js +2 -2
  492. package/lib/store/WBE/reducer.js +13 -9
  493. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
  494. package/lib/store/areas/actionTypes.js +4 -4
  495. package/lib/store/areas/actions.js +7 -13
  496. package/lib/store/areas/reducer.js +8 -6
  497. package/lib/store/context/actionTypes.js +3 -3
  498. package/lib/store/context/actions.js +3 -3
  499. package/lib/store/context/contextMiddlewares.js +14 -16
  500. package/lib/store/context/reducer.js +13 -9
  501. package/lib/store/dashboard/dashboardSlice.js +18 -10
  502. package/lib/store/edges/actionTypes.js +5 -5
  503. package/lib/store/edges/actions.js +4 -8
  504. package/lib/store/edges/reducer.js +13 -17
  505. package/lib/store/events/actionTypes.js +17 -17
  506. package/lib/store/events/actions.js +3 -7
  507. package/lib/store/events/models/IEvent.js +1 -1
  508. package/lib/store/events/reducer.js +42 -49
  509. package/lib/store/global/actionTypes.js +11 -11
  510. package/lib/store/global/actions.js +8 -6
  511. package/lib/store/global/reducer.js +11 -10
  512. package/lib/store/permissions/permissionsSlice.js +12 -8
  513. package/lib/store/points/actionTypes.js +3 -3
  514. package/lib/store/points/actions.js +4 -8
  515. package/lib/store/points/reducer.js +7 -5
  516. package/lib/store/rootActionTypes.js +2 -2
  517. package/lib/store/rootReducer.js +17 -12
  518. package/lib/store/rootStore.js +5 -5
  519. package/lib/store/samplings/actionTypes.js +1 -1
  520. package/lib/store/samplings/reducer.js +16 -14
  521. package/lib/styles/StylesLayout.js +5 -3
  522. package/lib/styles/theme/theme.js +26 -27
  523. package/lib/test/mocks/browser.js +2 -4
  524. package/lib/test/test-utils.js +17 -15
  525. package/lib/ui-kit/Button/Button.js +128 -80
  526. package/lib/ui-kit/Button/Button.test.js +24 -29
  527. package/lib/ui-kit/Checkbox/Checkbox.js +30 -20
  528. package/lib/ui-kit/ContentCard/ContentCard.js +15 -18
  529. package/lib/ui-kit/Dashboard/Dashboard.js +25 -22
  530. package/lib/ui-kit/DropDown/DropDown.js +23 -24
  531. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  532. package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
  533. package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
  534. package/lib/ui-kit/EmptyState/EmptyState.js +6 -4
  535. package/lib/ui-kit/IconAction/IconAction.js +7 -5
  536. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +48 -64
  537. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +69 -52
  538. package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
  539. package/lib/ui-kit/InletsPie/options.js +6 -6
  540. package/lib/ui-kit/KandoList/KandoList.js +14 -12
  541. package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
  542. package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
  543. package/lib/ui-kit/Layout/Layout.js +6 -4
  544. package/lib/ui-kit/MobileInput/MobileInput.js +60 -50
  545. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
  546. package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -6
  547. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  548. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
  549. package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
  550. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
  551. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
  552. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  553. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +20 -20
  554. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  555. package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
  556. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
  557. package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
  558. package/lib/ui-kit/index.js +8 -8
  559. package/lib/ui-kit/kandoStepper/KandoStepper.js +12 -12
  560. package/lib/ui-kit/siteName/SiteName.js +11 -8
  561. package/lib/utilities/ActionUtility.js +7 -7
  562. package/lib/utilities/Alert.js +21 -17
  563. package/lib/utilities/Analytics.js +11 -11
  564. package/lib/utilities/Array.js +4 -5
  565. package/lib/utilities/Enum.js +15 -51
  566. package/lib/utilities/ErrorBoundary.js +27 -41
  567. package/lib/utilities/File.js +40 -69
  568. package/lib/utilities/GetDir.js +8 -7
  569. package/lib/utilities/KandoDate.js +7 -15
  570. package/lib/utilities/KandoModal.js +16 -26
  571. package/lib/utilities/LocalStorage.js +8 -10
  572. package/lib/utilities/ThousandsToK.js +3 -3
  573. package/lib/utilities/TimeFormat.js +21 -20
  574. package/lib/utilities/Truncate.js +17 -25
  575. package/lib/utilities/edgesMath.js +14 -15
  576. package/lib/utilities/i18n.js +3 -3
  577. package/lib/utilities/kql.js +12 -14
  578. package/lib/utilities/map/icons.js +3 -3
  579. package/lib/utilities/polylinedecorator.js +87 -112
  580. package/lib/utilities/scoreToData.js +17 -17
  581. package/lib/utilities/scoreToData.test.js +5 -5
  582. package/lib/utilities/time.js +8 -8
  583. package/lib/utilities/uploadToS3.js +11 -11
  584. package/lib/utilities/urls.js +61 -59
  585. package/package.json +1 -1
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -13,17 +12,19 @@ var _i18n = _interopRequireDefault(require("utilities/i18n"));
13
12
  require("../../EventsStyle.scss");
14
13
  var _OptionsDropDown = _interopRequireDefault(require("./OptionsDropDown"));
15
14
  var _TimeRangeHelper = require("components/TimeRangeSelector/TimeRangeHelper");
16
- 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); }
17
- 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; }
18
- var FilterItem = function FilterItem(props) {
19
- var filter_item = props.filter_item,
20
- parseSelectedItems = props.parseSelectedItems,
21
- activeFilterCopy = props.activeFilterCopy,
22
- setActiveFilterCopy = props.setActiveFilterCopy,
23
- availableFilterItems = props.availableFilterItems,
24
- showFilterItemOptionsPopup = props.showFilterItemOptionsPopup,
25
- setShowFilterItemOptionsPopup = props.setShowFilterItemOptionsPopup;
26
- var handleFilterItemClick = function handleFilterItemClick(filterItem) {
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+ const FilterItem = props => {
18
+ const {
19
+ filter_item,
20
+ parseSelectedItems,
21
+ activeFilterCopy,
22
+ setActiveFilterCopy,
23
+ availableFilterItems,
24
+ showFilterItemOptionsPopup,
25
+ setShowFilterItemOptionsPopup
26
+ } = props;
27
+ const handleFilterItemClick = filterItem => {
27
28
  if (!showFilterItemOptionsPopup.show && showFilterItemOptionsPopup.filterItemId !== filterItem.id) {
28
29
  setShowFilterItemOptionsPopup({
29
30
  filterItemId: filterItem.id,
@@ -31,61 +32,53 @@ var FilterItem = function FilterItem(props) {
31
32
  });
32
33
  }
33
34
  };
34
- var removeFilterItem = function removeFilterItem(filterItem) {
35
+ const removeFilterItem = filterItem => {
35
36
  if (activeFilterCopy !== undefined) {
36
- var index = activeFilterCopy.filter_items.indexOf(activeFilterCopy.filter_items.find(function (item) {
37
- return item.id === filterItem.id;
38
- }));
37
+ let index = activeFilterCopy.filter_items.indexOf(activeFilterCopy.filter_items.find(item => item.id === filterItem.id));
39
38
  activeFilterCopy.filter_items.splice(index, 1);
40
- var activeFilterDuplicate = Object.assign({}, activeFilterCopy);
39
+ let activeFilterDuplicate = Object.assign({}, activeFilterCopy);
41
40
  setActiveFilterCopy(activeFilterDuplicate);
42
41
  }
43
42
  };
44
- var handleChange = function handleChange(selected, filterItem, activeFilter) {
45
- var selectedOptions = [];
43
+ const handleChange = (selected, filterItem, activeFilter) => {
44
+ let selectedOptions = [];
46
45
  if (selected.length !== 0) {
47
- selected.forEach(function (selection) {
46
+ selected.forEach(selection => {
48
47
  selectedOptions.push(selection.original);
49
48
  });
50
49
  }
51
50
  filterItem.selected_options = selectedOptions;
52
- var activeFilterCopy = Object.assign({}, activeFilter);
51
+ let activeFilterCopy = Object.assign({}, activeFilter);
53
52
  setActiveFilterCopy(activeFilterCopy);
54
53
  };
55
- var handleSingleSelection = function handleSingleSelection(_ref, filterItem, activeFilter) {
56
- var _ref$currentTarget = _ref.currentTarget,
57
- currentTarget = _ref$currentTarget === void 0 ? '' : _ref$currentTarget,
58
- _ref$customValue = _ref.customValue,
59
- customValue = _ref$customValue === void 0 ? '' : _ref$customValue;
60
- var selectedOptions = [];
61
- var selectedValue = customValue || currentTarget.children[0].value;
54
+ const handleSingleSelection = (_ref, filterItem, activeFilter) => {
55
+ let {
56
+ currentTarget = '',
57
+ customValue = ''
58
+ } = _ref;
59
+ let selectedOptions = [];
60
+ const selectedValue = customValue || currentTarget.children[0].value;
62
61
  selectedOptions.push(selectedValue);
63
62
  filterItem.selected_options = selectedOptions;
64
- var activeFilterCopy = Object.assign({}, activeFilter);
63
+ let activeFilterCopy = Object.assign({}, activeFilter);
65
64
  setActiveFilterCopy(activeFilterCopy);
66
65
  };
67
- var stripDamageType = function stripDamageType(string) {
66
+ const stripDamageType = string => {
68
67
  return string.toLowerCase().replace(/[' '/&]/g, '-');
69
68
  };
70
- var camelToSnakeCase = function camelToSnakeCase(str) {
71
- return str[0].toLowerCase() + str.slice(1, str.length).replace(/[A-Z]/g, function (letter) {
72
- return "_".concat(letter.toLowerCase());
73
- });
74
- };
75
- var displayNameForObjectTypedOptions = function displayNameForObjectTypedOptions(filterItem, option, forOuterDisplay) {
76
- var item;
69
+ const camelToSnakeCase = str => str[0].toLowerCase() + str.slice(1, str.length).replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`);
70
+ const displayNameForObjectTypedOptions = (filterItem, option, forOuterDisplay) => {
71
+ let item;
77
72
  if (forOuterDisplay && filterItem.available_options !== null) {
78
- item = filterItem.available_options.find(function (f) {
79
- return f.id === option;
80
- });
73
+ item = filterItem.available_options.find(f => f.id === option);
81
74
  item !== undefined && (item = item.name);
82
75
  } else {
83
76
  item = option;
84
77
  }
85
78
  return item;
86
79
  };
87
- var translateFilterItemOptionLabel = function translateFilterItemOptionLabel(filterItem, option) {
88
- var forOuterDisplay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
80
+ const translateFilterItemOptionLabel = function (filterItem, option) {
81
+ let forOuterDisplay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
89
82
  switch (filterItem.type) {
90
83
  case 'InterestPointFilterItem':
91
84
  return displayNameForObjectTypedOptions(filterItem, option, forOuterDisplay);
@@ -94,53 +87,49 @@ var FilterItem = function FilterItem(props) {
94
87
  case 'SectorFilterItem':
95
88
  return displayNameForObjectTypedOptions(filterItem, option, forOuterDisplay);
96
89
  case 'SeverityFilterItem':
97
- return _i18n.default.t("events_overview.severities.".concat(option));
90
+ return _i18n.default.t(`events_overview.severities.${option}`);
98
91
  case 'DamageTypeFilterItem':
99
- return _i18n.default.t("events_overview.damage_types.".concat(stripDamageType(option)));
92
+ return _i18n.default.t(`events_overview.damage_types.${stripDamageType(option)}`);
100
93
  case 'TimeFilterItem':
101
94
  return (0, _TimeRangeHelper.formatTimeSelection)(option);
102
95
  case 'StatusFilterItem':
103
- return _i18n.default.t("events_overview.filter.status.".concat(option));
96
+ return _i18n.default.t(`events_overview.filter.status.${option}`);
104
97
  case 'SamplingFilterItem':
105
- return _i18n.default.t("events_overview.filter.samplings_options.".concat(option));
98
+ return _i18n.default.t(`events_overview.filter.samplings_options.${option}`);
106
99
  case 'SamplingModeFilterItem':
107
- return _i18n.default.t("events_overview.filter.sampling_mode.".concat(option));
100
+ return _i18n.default.t(`events_overview.filter.sampling_mode.${option}`);
108
101
  case 'LabFilterItem':
109
102
  return displayNameForObjectTypedOptions(filterItem, option, forOuterDisplay);
110
103
  case 'SamplingStatusFilterItem':
111
- return _i18n.default.t("events_overview.filter.samplings_status.".concat(option));
104
+ return _i18n.default.t(`events_overview.filter.samplings_status.${option}`);
112
105
  case 'SamplingIdFilterItem':
113
106
  return displayNameForObjectTypedOptions(filterItem, option, forOuterDisplay);
114
107
  case 'SiteFilterItem':
115
108
  return displayNameForObjectTypedOptions(filterItem, option, forOuterDisplay);
116
109
  }
117
110
  };
118
- var translateFilterItemType = function translateFilterItemType(filterItemType) {
119
- return _i18n.default.t("events_overview.filter.filter_types.".concat(camelToSnakeCase(filterItemType)));
111
+ const translateFilterItemType = filterItemType => {
112
+ return _i18n.default.t(`events_overview.filter.filter_types.${camelToSnakeCase(filterItemType)}`);
120
113
  };
121
- var getSelections = function getSelections(selected_options) {
122
- var selections = [];
114
+ const getSelections = selected_options => {
115
+ let selections = [];
123
116
  if (selected_options.length > 1) {
124
- parseSelectedItems(filter_item).slice(0, 1).map(function (selection) {
125
- return selections.push( /*#__PURE__*/_react.default.createElement("li", {
126
- className: 'filter_item__content__selections__selection',
127
- key: selection
128
- }, translateFilterItemOptionLabel(filter_item, selection, true)));
129
- });
117
+ parseSelectedItems(filter_item).slice(0, 1).map(selection => selections.push( /*#__PURE__*/_react.default.createElement("li", {
118
+ className: 'filter_item__content__selections__selection',
119
+ key: selection
120
+ }, translateFilterItemOptionLabel(filter_item, selection, true))));
130
121
  selections.push( /*#__PURE__*/_react.default.createElement("span", {
131
122
  key: 'MORE'
132
- }, " (".concat(selected_options.length, ")")));
123
+ }, ` (${selected_options.length})`));
133
124
  } else {
134
- parseSelectedItems(filter_item).map(function (selection) {
135
- return selections.push( /*#__PURE__*/_react.default.createElement("li", {
136
- className: 'filter_item__content__selections__selection',
137
- key: selection
138
- }, translateFilterItemOptionLabel(filter_item, selection, true)));
139
- });
125
+ parseSelectedItems(filter_item).map(selection => selections.push( /*#__PURE__*/_react.default.createElement("li", {
126
+ className: 'filter_item__content__selections__selection',
127
+ key: selection
128
+ }, translateFilterItemOptionLabel(filter_item, selection, true))));
140
129
  }
141
130
  return selections;
142
131
  };
143
- (0, _react.useEffect)(function () {
132
+ (0, _react.useEffect)(() => {
144
133
  if (filter_item.selected_options.length === 0) {
145
134
  setShowFilterItemOptionsPopup({
146
135
  filterItemId: filter_item.id,
@@ -148,9 +137,7 @@ var FilterItem = function FilterItem(props) {
148
137
  });
149
138
  }
150
139
  if (filter_item.available_options === null) {
151
- var matchFilterItem = availableFilterItems.find(function (availableFilterItem) {
152
- return availableFilterItem.type === filter_item.type;
153
- });
140
+ let matchFilterItem = availableFilterItems.find(availableFilterItem => availableFilterItem.type === filter_item.type);
154
141
  if (matchFilterItem !== undefined) {
155
142
  filter_item.available_options = matchFilterItem.options;
156
143
  }
@@ -158,17 +145,13 @@ var FilterItem = function FilterItem(props) {
158
145
  }, [filter_item]);
159
146
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
160
147
  className: 'filter_item__content',
161
- onClick: function onClick() {
162
- return handleFilterItemClick(filter_item);
163
- }
148
+ onClick: () => handleFilterItemClick(filter_item)
164
149
  }, /*#__PURE__*/_react.default.createElement("span", null, translateFilterItemType(filter_item.type)), /*#__PURE__*/_react.default.createElement("ul", {
165
150
  className: 'filter_item__content__selections'
166
- }, getSelections(parseSelectedItems(filter_item)).map(function (selection) {
151
+ }, getSelections(parseSelectedItems(filter_item)).map(selection => {
167
152
  return selection;
168
153
  }))), /*#__PURE__*/_react.default.createElement("a", {
169
- onClick: function onClick() {
170
- return removeFilterItem(filter_item);
171
- }
154
+ onClick: () => removeFilterItem(filter_item)
172
155
  }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
173
156
  icon: _freeSolidSvgIcons.faTimes
174
157
  })), showFilterItemOptionsPopup.filterItemId === filter_item.id && showFilterItemOptionsPopup && /*#__PURE__*/_react.default.createElement(_OptionsDropDown.default, {
@@ -184,4 +167,4 @@ var FilterItem = function FilterItem(props) {
184
167
  };
185
168
  var _default = FilterItem;
186
169
  exports.default = _default;
187
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9pMThuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9PcHRpb25zRHJvcERvd24iLCJfVGltZVJhbmdlSGVscGVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJGaWx0ZXJJdGVtIiwicHJvcHMiLCJmaWx0ZXJfaXRlbSIsInBhcnNlU2VsZWN0ZWRJdGVtcyIsImFjdGl2ZUZpbHRlckNvcHkiLCJzZXRBY3RpdmVGaWx0ZXJDb3B5IiwiYXZhaWxhYmxlRmlsdGVySXRlbXMiLCJzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCIsInNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwIiwiaGFuZGxlRmlsdGVySXRlbUNsaWNrIiwiZmlsdGVySXRlbSIsInNob3ciLCJmaWx0ZXJJdGVtSWQiLCJpZCIsInJlbW92ZUZpbHRlckl0ZW0iLCJ1bmRlZmluZWQiLCJpbmRleCIsImZpbHRlcl9pdGVtcyIsImluZGV4T2YiLCJmaW5kIiwiaXRlbSIsInNwbGljZSIsImFjdGl2ZUZpbHRlckR1cGxpY2F0ZSIsImFzc2lnbiIsImhhbmRsZUNoYW5nZSIsInNlbGVjdGVkIiwiYWN0aXZlRmlsdGVyIiwic2VsZWN0ZWRPcHRpb25zIiwibGVuZ3RoIiwiZm9yRWFjaCIsInNlbGVjdGlvbiIsInB1c2giLCJvcmlnaW5hbCIsInNlbGVjdGVkX29wdGlvbnMiLCJoYW5kbGVTaW5nbGVTZWxlY3Rpb24iLCJfcmVmIiwiX3JlZiRjdXJyZW50VGFyZ2V0IiwiY3VycmVudFRhcmdldCIsIl9yZWYkY3VzdG9tVmFsdWUiLCJjdXN0b21WYWx1ZSIsInNlbGVjdGVkVmFsdWUiLCJjaGlsZHJlbiIsInZhbHVlIiwic3RyaXBEYW1hZ2VUeXBlIiwic3RyaW5nIiwidG9Mb3dlckNhc2UiLCJyZXBsYWNlIiwiY2FtZWxUb1NuYWtlQ2FzZSIsInN0ciIsInNsaWNlIiwibGV0dGVyIiwiY29uY2F0IiwiZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMiLCJvcHRpb24iLCJmb3JPdXRlckRpc3BsYXkiLCJhdmFpbGFibGVfb3B0aW9ucyIsImYiLCJuYW1lIiwidHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsIiwiYXJndW1lbnRzIiwidHlwZSIsImkxOG4iLCJ0IiwiZm9ybWF0VGltZVNlbGVjdGlvbiIsInRyYW5zbGF0ZUZpbHRlckl0ZW1UeXBlIiwiZmlsdGVySXRlbVR5cGUiLCJnZXRTZWxlY3Rpb25zIiwic2VsZWN0aW9ucyIsIm1hcCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ1c2VFZmZlY3QiLCJtYXRjaEZpbHRlckl0ZW0iLCJhdmFpbGFibGVGaWx0ZXJJdGVtIiwib3B0aW9ucyIsIkZyYWdtZW50Iiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYVRpbWVzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJJdGVtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgUmVhY3QsIHsgRm9ybUV2ZW50LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRmlsdGVyIH0gZnJvbSAnc3JjL3N0b3JlL2ZpbHRlcnMvSUZpbHRlcic7XG5pbXBvcnQgeyBJRmlsdGVySXRlbSB9IGZyb20gJ3NyYy9zdG9yZS9maWx0ZXJzL0lGaWx0ZXJJdGVtJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgJy4uLy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IE9wdGlvbnNEcm9wRG93biBmcm9tICcuL09wdGlvbnNEcm9wRG93bic7XG5pbXBvcnQgeyBmb3JtYXRUaW1lU2VsZWN0aW9uIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvVGltZVJhbmdlU2VsZWN0b3IvVGltZVJhbmdlSGVscGVyJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGZpbHRlcl9pdGVtOiBJRmlsdGVySXRlbTtcbiAgcGFyc2VTZWxlY3RlZEl0ZW1zOiBGdW5jdGlvbjtcbiAgYWN0aXZlRmlsdGVyQ29weTogYW55O1xuICBzZXRBY3RpdmVGaWx0ZXJDb3B5OiBSZWFjdC5EaXNwYXRjaDxhbnk+O1xuICBhdmFpbGFibGVGaWx0ZXJJdGVtczogYW55O1xuICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cDogYW55O1xuICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cDogYW55O1xufTtcblxudHlwZSBJQ3VzdG9tVmFsdWUgPSB7XG4gIGN1c3RvbVZhbHVlOiBzdHJpbmc7XG59O1xuXG50eXBlIElTZWxlY3Rpb25FdmVudCA9IElDdXN0b21WYWx1ZSB8IEZvcm1FdmVudDxIVE1MSW5wdXRFbGVtZW50PjtcblxuY29uc3QgRmlsdGVySXRlbTogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZmlsdGVyX2l0ZW0sXG4gICAgcGFyc2VTZWxlY3RlZEl0ZW1zLFxuICAgIGFjdGl2ZUZpbHRlckNvcHksXG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weSxcbiAgICBhdmFpbGFibGVGaWx0ZXJJdGVtcyxcbiAgICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCxcbiAgICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBoYW5kbGVGaWx0ZXJJdGVtQ2xpY2sgPSAoZmlsdGVySXRlbTogYW55KSA9PiB7XG4gICAgaWYgKFxuICAgICAgIXNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLnNob3cgJiZcbiAgICAgIHNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwLmZpbHRlckl0ZW1JZCAhPT0gZmlsdGVySXRlbS5pZFxuICAgICkge1xuICAgICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAoe1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IGZpbHRlckl0ZW0uaWQsXG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVtb3ZlRmlsdGVySXRlbSA9IChmaWx0ZXJJdGVtOiBJRmlsdGVySXRlbSkgPT4ge1xuICAgIGlmIChhY3RpdmVGaWx0ZXJDb3B5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBpbmRleCA9IGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmluZGV4T2YoXG4gICAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLmZpbmQoXG4gICAgICAgICAgKGl0ZW06IElGaWx0ZXJJdGVtKSA9PiBpdGVtLmlkID09PSBmaWx0ZXJJdGVtLmlkLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGFjdGl2ZUZpbHRlckNvcHkuZmlsdGVyX2l0ZW1zLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIGxldCBhY3RpdmVGaWx0ZXJEdXBsaWNhdGUgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyRHVwbGljYXRlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKFxuICAgIHNlbGVjdGVkOiBhbnksXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgYWN0aXZlRmlsdGVyOiBJRmlsdGVyLFxuICApID0+IHtcbiAgICBsZXQgc2VsZWN0ZWRPcHRpb25zOiBhbnlbXSA9IFtdO1xuXG4gICAgaWYgKHNlbGVjdGVkLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2VsZWN0ZWQuZm9yRWFjaCgoc2VsZWN0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgc2VsZWN0ZWRPcHRpb25zLnB1c2goc2VsZWN0aW9uLm9yaWdpbmFsKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZpbHRlckl0ZW0uc2VsZWN0ZWRfb3B0aW9ucyA9IHNlbGVjdGVkT3B0aW9ucztcbiAgICBsZXQgYWN0aXZlRmlsdGVyQ29weSA9IE9iamVjdC5hc3NpZ24oe30sIGFjdGl2ZUZpbHRlcik7XG4gICAgc2V0QWN0aXZlRmlsdGVyQ29weShhY3RpdmVGaWx0ZXJDb3B5KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTaW5nbGVTZWxlY3Rpb24gPSAoXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHsgY3VycmVudFRhcmdldCA9ICcnLCBjdXN0b21WYWx1ZSA9ICcnIH06IElTZWxlY3Rpb25FdmVudCxcbiAgICBmaWx0ZXJJdGVtOiBJRmlsdGVySXRlbSxcbiAgICBhY3RpdmVGaWx0ZXI6IElGaWx0ZXIsXG4gICkgPT4ge1xuICAgIGxldCBzZWxlY3RlZE9wdGlvbnM6IGFueVtdID0gW107XG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZSA9IGN1c3RvbVZhbHVlIHx8IGN1cnJlbnRUYXJnZXQuY2hpbGRyZW5bMF0udmFsdWU7XG4gICAgc2VsZWN0ZWRPcHRpb25zLnB1c2goc2VsZWN0ZWRWYWx1ZSk7XG4gICAgZmlsdGVySXRlbS5zZWxlY3RlZF9vcHRpb25zID0gc2VsZWN0ZWRPcHRpb25zO1xuXG4gICAgbGV0IGFjdGl2ZUZpbHRlckNvcHkgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXIpO1xuICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyQ29weSk7XG4gIH07XG5cbiAgY29uc3Qgc3RyaXBEYW1hZ2VUeXBlID0gKHN0cmluZzogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHN0cmluZy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1snICcvJl0vZywgJy0nKTtcbiAgfTtcblxuICBjb25zdCBjYW1lbFRvU25ha2VDYXNlID0gKHN0cjogc3RyaW5nKSA9PlxuICAgIHN0clswXS50b0xvd2VyQ2FzZSgpICtcbiAgICBzdHJcbiAgICAgIC5zbGljZSgxLCBzdHIubGVuZ3RoKVxuICAgICAgLnJlcGxhY2UoL1tBLVpdL2csIChsZXR0ZXIpID0+IGBfJHtsZXR0ZXIudG9Mb3dlckNhc2UoKX1gKTtcbiAgY29uc3QgZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMgPSAoXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgb3B0aW9uOiBhbnksXG4gICAgZm9yT3V0ZXJEaXNwbGF5OiBib29sZWFuLFxuICApID0+IHtcbiAgICBsZXQgaXRlbTtcbiAgICBpZiAoZm9yT3V0ZXJEaXNwbGF5ICYmIGZpbHRlckl0ZW0uYXZhaWxhYmxlX29wdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIGl0ZW0gPSBmaWx0ZXJJdGVtLmF2YWlsYWJsZV9vcHRpb25zLmZpbmQoKGYpID0+IGYuaWQgPT09IG9wdGlvbik7XG4gICAgICBpdGVtICE9PSB1bmRlZmluZWQgJiYgKGl0ZW0gPSBpdGVtLm5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtID0gb3B0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtO1xuICB9O1xuICBjb25zdCB0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWwgPSAoXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgb3B0aW9uOiBzdHJpbmcsXG4gICAgZm9yT3V0ZXJEaXNwbGF5ID0gZmFsc2UsXG4gICkgPT4ge1xuICAgIHN3aXRjaCAoZmlsdGVySXRlbS50eXBlKSB7XG4gICAgICBjYXNlICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdBcmVhRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdTZWN0b3JGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlOYW1lRm9yT2JqZWN0VHlwZWRPcHRpb25zKFxuICAgICAgICAgIGZpbHRlckl0ZW0sXG4gICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgIGZvck91dGVyRGlzcGxheSxcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ1NldmVyaXR5RmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBpMThuLnQoYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnRGFtYWdlVHlwZUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KFxuICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZGFtYWdlX3R5cGVzLiR7c3RyaXBEYW1hZ2VUeXBlKG9wdGlvbil9YCxcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ1RpbWVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGZvcm1hdFRpbWVTZWxlY3Rpb24ob3B0aW9uKTtcbiAgICAgIGNhc2UgJ1N0YXR1c0ZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnN0YXR1cy4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ1NhbXBsaW5nRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBpMThuLnQoYGV2ZW50c19vdmVydmlldy5maWx0ZXIuc2FtcGxpbmdzX29wdGlvbnMuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdTYW1wbGluZ01vZGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYW1wbGluZ19tb2RlLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnTGFiRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdTYW1wbGluZ1N0YXR1c0ZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhbXBsaW5nc19zdGF0dXMuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdTYW1wbGluZ0lkRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdTaXRlRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHRyYW5zbGF0ZUZpbHRlckl0ZW1UeXBlID0gKGZpbHRlckl0ZW1UeXBlOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gaTE4bi50KFxuICAgICAgYGV2ZW50c19vdmVydmlldy5maWx0ZXIuZmlsdGVyX3R5cGVzLiR7Y2FtZWxUb1NuYWtlQ2FzZShmaWx0ZXJJdGVtVHlwZSl9YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGdldFNlbGVjdGlvbnMgPSAoc2VsZWN0ZWRfb3B0aW9uczogYW55KSA9PiB7XG4gICAgbGV0IHNlbGVjdGlvbnM6IGFueVtdID0gW107XG4gICAgaWYgKHNlbGVjdGVkX29wdGlvbnMubGVuZ3RoID4gMSkge1xuICAgICAgcGFyc2VTZWxlY3RlZEl0ZW1zKGZpbHRlcl9pdGVtKVxuICAgICAgICAuc2xpY2UoMCwgMSlcbiAgICAgICAgLm1hcCgoc2VsZWN0aW9uOiBzdHJpbmcpID0+XG4gICAgICAgICAgc2VsZWN0aW9ucy5wdXNoKFxuICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17J2ZpbHRlcl9pdGVtX19jb250ZW50X19zZWxlY3Rpb25zX19zZWxlY3Rpb24nfVxuICAgICAgICAgICAgICBrZXk9e3NlbGVjdGlvbn1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3RyYW5zbGF0ZUZpbHRlckl0ZW1PcHRpb25MYWJlbChmaWx0ZXJfaXRlbSwgc2VsZWN0aW9uLCB0cnVlKX1cbiAgICAgICAgICAgIDwvbGk+LFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICBzZWxlY3Rpb25zLnB1c2goXG4gICAgICAgIDxzcGFuIGtleT17J01PUkUnfT57YCAoJHtzZWxlY3RlZF9vcHRpb25zLmxlbmd0aH0pYH08L3NwYW4+LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyc2VTZWxlY3RlZEl0ZW1zKGZpbHRlcl9pdGVtKS5tYXAoKHNlbGVjdGlvbjogc3RyaW5nKSA9PlxuICAgICAgICBzZWxlY3Rpb25zLnB1c2goXG4gICAgICAgICAgPGxpXG4gICAgICAgICAgICBjbGFzc05hbWU9eydmaWx0ZXJfaXRlbV9fY29udGVudF9fc2VsZWN0aW9uc19fc2VsZWN0aW9uJ31cbiAgICAgICAgICAgIGtleT17c2VsZWN0aW9ufVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWwoZmlsdGVyX2l0ZW0sIHNlbGVjdGlvbiwgdHJ1ZSl9XG4gICAgICAgICAgPC9saT4sXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBzZWxlY3Rpb25zO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZpbHRlcl9pdGVtLnNlbGVjdGVkX29wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCh7XG4gICAgICAgIGZpbHRlckl0ZW1JZDogZmlsdGVyX2l0ZW0uaWQsXG4gICAgICAgIHNob3c6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyX2l0ZW0uYXZhaWxhYmxlX29wdGlvbnMgPT09IG51bGwpIHtcbiAgICAgIGxldCBtYXRjaEZpbHRlckl0ZW0gPSBhdmFpbGFibGVGaWx0ZXJJdGVtcy5maW5kKFxuICAgICAgICAoYXZhaWxhYmxlRmlsdGVySXRlbTogYW55KSA9PlxuICAgICAgICAgIGF2YWlsYWJsZUZpbHRlckl0ZW0udHlwZSA9PT0gZmlsdGVyX2l0ZW0udHlwZSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChtYXRjaEZpbHRlckl0ZW0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmaWx0ZXJfaXRlbS5hdmFpbGFibGVfb3B0aW9ucyA9IG1hdGNoRmlsdGVySXRlbS5vcHRpb25zO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2ZpbHRlcl9pdGVtXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17J2ZpbHRlcl9pdGVtX19jb250ZW50J31cbiAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRmlsdGVySXRlbUNsaWNrKGZpbHRlcl9pdGVtKX1cbiAgICAgID5cbiAgICAgICAgPHNwYW4+e3RyYW5zbGF0ZUZpbHRlckl0ZW1UeXBlKGZpbHRlcl9pdGVtLnR5cGUpfTwvc3Bhbj5cbiAgICAgICAgPHVsIGNsYXNzTmFtZT17J2ZpbHRlcl9pdGVtX19jb250ZW50X19zZWxlY3Rpb25zJ30+XG4gICAgICAgICAge2dldFNlbGVjdGlvbnMocGFyc2VTZWxlY3RlZEl0ZW1zKGZpbHRlcl9pdGVtKSkubWFwKFxuICAgICAgICAgICAgKHNlbGVjdGlvbjogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGlvbjtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKX1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8YSBvbkNsaWNrPXsoKSA9PiByZW1vdmVGaWx0ZXJJdGVtKGZpbHRlcl9pdGVtKX0+XG4gICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFUaW1lc30gLz5cbiAgICAgIDwvYT5cbiAgICAgIHtzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cC5maWx0ZXJJdGVtSWQgPT09IGZpbHRlcl9pdGVtLmlkICYmXG4gICAgICAgIHNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwICYmIChcbiAgICAgICAgICA8T3B0aW9uc0Ryb3BEb3duXG4gICAgICAgICAgICBwYXJzZVNlbGVjdGVkSXRlbXM9e3BhcnNlU2VsZWN0ZWRJdGVtc31cbiAgICAgICAgICAgIGZpbHRlckl0ZW09e2ZpbHRlcl9pdGVtfVxuICAgICAgICAgICAgYWN0aXZlRmlsdGVyQ29weT17YWN0aXZlRmlsdGVyQ29weX1cbiAgICAgICAgICAgIHNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwPXtzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cH1cbiAgICAgICAgICAgIHNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwPXtzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cH1cbiAgICAgICAgICAgIGhhbmRsZVNpbmdsZVNlbGVjdGlvbj17aGFuZGxlU2luZ2xlU2VsZWN0aW9ufVxuICAgICAgICAgICAgdHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsPXt0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWx9XG4gICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWx0ZXJJdGVtO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLGtCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBR0EsSUFBQUksS0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBTSxnQkFBQSxHQUFBRCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQU8sZ0JBQUEsR0FBQVAsT0FBQTtBQUF1RixTQUFBUSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQU4sd0JBQUFVLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFB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
170
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9pMThuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9PcHRpb25zRHJvcERvd24iLCJfVGltZVJhbmdlSGVscGVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkZpbHRlckl0ZW0iLCJwcm9wcyIsImZpbHRlcl9pdGVtIiwicGFyc2VTZWxlY3RlZEl0ZW1zIiwiYWN0aXZlRmlsdGVyQ29weSIsInNldEFjdGl2ZUZpbHRlckNvcHkiLCJhdmFpbGFibGVGaWx0ZXJJdGVtcyIsInNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwIiwic2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAiLCJoYW5kbGVGaWx0ZXJJdGVtQ2xpY2siLCJmaWx0ZXJJdGVtIiwic2hvdyIsImZpbHRlckl0ZW1JZCIsImlkIiwicmVtb3ZlRmlsdGVySXRlbSIsInVuZGVmaW5lZCIsImluZGV4IiwiZmlsdGVyX2l0ZW1zIiwiaW5kZXhPZiIsImZpbmQiLCJpdGVtIiwic3BsaWNlIiwiYWN0aXZlRmlsdGVyRHVwbGljYXRlIiwiYXNzaWduIiwiaGFuZGxlQ2hhbmdlIiwic2VsZWN0ZWQiLCJhY3RpdmVGaWx0ZXIiLCJzZWxlY3RlZE9wdGlvbnMiLCJsZW5ndGgiLCJmb3JFYWNoIiwic2VsZWN0aW9uIiwicHVzaCIsIm9yaWdpbmFsIiwic2VsZWN0ZWRfb3B0aW9ucyIsImhhbmRsZVNpbmdsZVNlbGVjdGlvbiIsIl9yZWYiLCJjdXJyZW50VGFyZ2V0IiwiY3VzdG9tVmFsdWUiLCJzZWxlY3RlZFZhbHVlIiwiY2hpbGRyZW4iLCJ2YWx1ZSIsInN0cmlwRGFtYWdlVHlwZSIsInN0cmluZyIsInRvTG93ZXJDYXNlIiwicmVwbGFjZSIsImNhbWVsVG9TbmFrZUNhc2UiLCJzdHIiLCJzbGljZSIsImxldHRlciIsImRpc3BsYXlOYW1lRm9yT2JqZWN0VHlwZWRPcHRpb25zIiwib3B0aW9uIiwiZm9yT3V0ZXJEaXNwbGF5IiwiYXZhaWxhYmxlX29wdGlvbnMiLCJmIiwibmFtZSIsInRyYW5zbGF0ZUZpbHRlckl0ZW1PcHRpb25MYWJlbCIsImFyZ3VtZW50cyIsInR5cGUiLCJpMThuIiwidCIsImZvcm1hdFRpbWVTZWxlY3Rpb24iLCJ0cmFuc2xhdGVGaWx0ZXJJdGVtVHlwZSIsImZpbHRlckl0ZW1UeXBlIiwiZ2V0U2VsZWN0aW9ucyIsInNlbGVjdGlvbnMiLCJtYXAiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwidXNlRWZmZWN0IiwibWF0Y2hGaWx0ZXJJdGVtIiwiYXZhaWxhYmxlRmlsdGVySXRlbSIsIm9wdGlvbnMiLCJGcmFnbWVudCIsIm9uQ2xpY2siLCJGb250QXdlc29tZUljb24iLCJpY29uIiwiZmFUaW1lcyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9GaWx0ZXIvRmlsdGVySXRlbS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IFJlYWN0LCB7IEZvcm1FdmVudCwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUZpbHRlciB9IGZyb20gJ3NyYy9zdG9yZS9maWx0ZXJzL0lGaWx0ZXInO1xuaW1wb3J0IHsgSUZpbHRlckl0ZW0gfSBmcm9tICdzcmMvc3RvcmUvZmlsdGVycy9JRmlsdGVySXRlbSc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0ICcuLi8uLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBPcHRpb25zRHJvcERvd24gZnJvbSAnLi9PcHRpb25zRHJvcERvd24nO1xuaW1wb3J0IHsgZm9ybWF0VGltZVNlbGVjdGlvbiB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1RpbWVSYW5nZVNlbGVjdG9yL1RpbWVSYW5nZUhlbHBlcic7XG5cbnR5cGUgSVByb3BzID0ge1xuICBmaWx0ZXJfaXRlbTogSUZpbHRlckl0ZW07XG4gIHBhcnNlU2VsZWN0ZWRJdGVtczogRnVuY3Rpb247XG4gIGFjdGl2ZUZpbHRlckNvcHk6IGFueTtcbiAgc2V0QWN0aXZlRmlsdGVyQ29weTogUmVhY3QuRGlzcGF0Y2g8YW55PjtcbiAgYXZhaWxhYmxlRmlsdGVySXRlbXM6IGFueTtcbiAgc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXA6IGFueTtcbiAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXA6IGFueTtcbn07XG5cbnR5cGUgSUN1c3RvbVZhbHVlID0ge1xuICBjdXN0b21WYWx1ZTogc3RyaW5nO1xufTtcblxudHlwZSBJU2VsZWN0aW9uRXZlbnQgPSBJQ3VzdG9tVmFsdWUgfCBGb3JtRXZlbnQ8SFRNTElucHV0RWxlbWVudD47XG5cbmNvbnN0IEZpbHRlckl0ZW06IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIGZpbHRlcl9pdGVtLFxuICAgIHBhcnNlU2VsZWN0ZWRJdGVtcyxcbiAgICBhY3RpdmVGaWx0ZXJDb3B5LFxuICAgIHNldEFjdGl2ZUZpbHRlckNvcHksXG4gICAgYXZhaWxhYmxlRmlsdGVySXRlbXMsXG4gICAgc2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAsXG4gICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlRmlsdGVySXRlbUNsaWNrID0gKGZpbHRlckl0ZW06IGFueSkgPT4ge1xuICAgIGlmIChcbiAgICAgICFzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cC5zaG93ICYmXG4gICAgICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cC5maWx0ZXJJdGVtSWQgIT09IGZpbHRlckl0ZW0uaWRcbiAgICApIHtcbiAgICAgIHNldFNob3dGaWx0ZXJJdGVtT3B0aW9uc1BvcHVwKHtcbiAgICAgICAgZmlsdGVySXRlbUlkOiBmaWx0ZXJJdGVtLmlkLFxuICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlbW92ZUZpbHRlckl0ZW0gPSAoZmlsdGVySXRlbTogSUZpbHRlckl0ZW0pID0+IHtcbiAgICBpZiAoYWN0aXZlRmlsdGVyQ29weSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgaW5kZXggPSBhY3RpdmVGaWx0ZXJDb3B5LmZpbHRlcl9pdGVtcy5pbmRleE9mKFxuICAgICAgICBhY3RpdmVGaWx0ZXJDb3B5LmZpbHRlcl9pdGVtcy5maW5kKFxuICAgICAgICAgIChpdGVtOiBJRmlsdGVySXRlbSkgPT4gaXRlbS5pZCA9PT0gZmlsdGVySXRlbS5pZCxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICBhY3RpdmVGaWx0ZXJDb3B5LmZpbHRlcl9pdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgICBsZXQgYWN0aXZlRmlsdGVyRHVwbGljYXRlID0gT2JqZWN0LmFzc2lnbih7fSwgYWN0aXZlRmlsdGVyQ29weSk7XG4gICAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGFjdGl2ZUZpbHRlckR1cGxpY2F0ZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChcbiAgICBzZWxlY3RlZDogYW55LFxuICAgIGZpbHRlckl0ZW06IElGaWx0ZXJJdGVtLFxuICAgIGFjdGl2ZUZpbHRlcjogSUZpbHRlcixcbiAgKSA9PiB7XG4gICAgbGV0IHNlbGVjdGVkT3B0aW9uczogYW55W10gPSBbXTtcblxuICAgIGlmIChzZWxlY3RlZC5sZW5ndGggIT09IDApIHtcbiAgICAgIHNlbGVjdGVkLmZvckVhY2goKHNlbGVjdGlvbjogYW55KSA9PiB7XG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucy5wdXNoKHNlbGVjdGlvbi5vcmlnaW5hbCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBmaWx0ZXJJdGVtLnNlbGVjdGVkX29wdGlvbnMgPSBzZWxlY3RlZE9wdGlvbnM7XG4gICAgbGV0IGFjdGl2ZUZpbHRlckNvcHkgPSBPYmplY3QuYXNzaWduKHt9LCBhY3RpdmVGaWx0ZXIpO1xuICAgIHNldEFjdGl2ZUZpbHRlckNvcHkoYWN0aXZlRmlsdGVyQ29weSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2luZ2xlU2VsZWN0aW9uID0gKFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB7IGN1cnJlbnRUYXJnZXQgPSAnJywgY3VzdG9tVmFsdWUgPSAnJyB9OiBJU2VsZWN0aW9uRXZlbnQsXG4gICAgZmlsdGVySXRlbTogSUZpbHRlckl0ZW0sXG4gICAgYWN0aXZlRmlsdGVyOiBJRmlsdGVyLFxuICApID0+IHtcbiAgICBsZXQgc2VsZWN0ZWRPcHRpb25zOiBhbnlbXSA9IFtdO1xuICAgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSBjdXN0b21WYWx1ZSB8fCBjdXJyZW50VGFyZ2V0LmNoaWxkcmVuWzBdLnZhbHVlO1xuICAgIHNlbGVjdGVkT3B0aW9ucy5wdXNoKHNlbGVjdGVkVmFsdWUpO1xuICAgIGZpbHRlckl0ZW0uc2VsZWN0ZWRfb3B0aW9ucyA9IHNlbGVjdGVkT3B0aW9ucztcblxuICAgIGxldCBhY3RpdmVGaWx0ZXJDb3B5ID0gT2JqZWN0LmFzc2lnbih7fSwgYWN0aXZlRmlsdGVyKTtcbiAgICBzZXRBY3RpdmVGaWx0ZXJDb3B5KGFjdGl2ZUZpbHRlckNvcHkpO1xuICB9O1xuXG4gIGNvbnN0IHN0cmlwRGFtYWdlVHlwZSA9IChzdHJpbmc6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBzdHJpbmcudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bJyAnLyZdL2csICctJyk7XG4gIH07XG5cbiAgY29uc3QgY2FtZWxUb1NuYWtlQ2FzZSA9IChzdHI6IHN0cmluZykgPT5cbiAgICBzdHJbMF0udG9Mb3dlckNhc2UoKSArXG4gICAgc3RyXG4gICAgICAuc2xpY2UoMSwgc3RyLmxlbmd0aClcbiAgICAgIC5yZXBsYWNlKC9bQS1aXS9nLCAobGV0dGVyKSA9PiBgXyR7bGV0dGVyLnRvTG93ZXJDYXNlKCl9YCk7XG4gIGNvbnN0IGRpc3BsYXlOYW1lRm9yT2JqZWN0VHlwZWRPcHRpb25zID0gKFxuICAgIGZpbHRlckl0ZW06IElGaWx0ZXJJdGVtLFxuICAgIG9wdGlvbjogYW55LFxuICAgIGZvck91dGVyRGlzcGxheTogYm9vbGVhbixcbiAgKSA9PiB7XG4gICAgbGV0IGl0ZW07XG4gICAgaWYgKGZvck91dGVyRGlzcGxheSAmJiBmaWx0ZXJJdGVtLmF2YWlsYWJsZV9vcHRpb25zICE9PSBudWxsKSB7XG4gICAgICBpdGVtID0gZmlsdGVySXRlbS5hdmFpbGFibGVfb3B0aW9ucy5maW5kKChmKSA9PiBmLmlkID09PSBvcHRpb24pO1xuICAgICAgaXRlbSAhPT0gdW5kZWZpbmVkICYmIChpdGVtID0gaXRlbS5uYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaXRlbSA9IG9wdGlvbjtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbTtcbiAgfTtcbiAgY29uc3QgdHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsID0gKFxuICAgIGZpbHRlckl0ZW06IElGaWx0ZXJJdGVtLFxuICAgIG9wdGlvbjogc3RyaW5nLFxuICAgIGZvck91dGVyRGlzcGxheSA9IGZhbHNlLFxuICApID0+IHtcbiAgICBzd2l0Y2ggKGZpbHRlckl0ZW0udHlwZSkge1xuICAgICAgY2FzZSAnSW50ZXJlc3RQb2ludEZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnQXJlYUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2VjdG9yRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBkaXNwbGF5TmFtZUZvck9iamVjdFR5cGVkT3B0aW9ucyhcbiAgICAgICAgICBmaWx0ZXJJdGVtLFxuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBmb3JPdXRlckRpc3BsYXksXG4gICAgICAgICk7XG4gICAgICBjYXNlICdTZXZlcml0eUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ0RhbWFnZVR5cGVGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChcbiAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmRhbWFnZV90eXBlcy4ke3N0cmlwRGFtYWdlVHlwZShvcHRpb24pfWAsXG4gICAgICAgICk7XG4gICAgICBjYXNlICdUaW1lRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBmb3JtYXRUaW1lU2VsZWN0aW9uKG9wdGlvbik7XG4gICAgICBjYXNlICdTdGF0dXNGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zdGF0dXMuJHtvcHRpb259YCk7XG4gICAgICBjYXNlICdTYW1wbGluZ0ZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gaTE4bi50KGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNhbXBsaW5nc19vcHRpb25zLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdNb2RlRmlsdGVySXRlbSc6XG4gICAgICAgIHJldHVybiBpMThuLnQoYGV2ZW50c19vdmVydmlldy5maWx0ZXIuc2FtcGxpbmdfbW9kZS4ke29wdGlvbn1gKTtcbiAgICAgIGNhc2UgJ0xhYkZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdTdGF0dXNGaWx0ZXJJdGVtJzpcbiAgICAgICAgcmV0dXJuIGkxOG4udChgZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zYW1wbGluZ3Nfc3RhdHVzLiR7b3B0aW9ufWApO1xuICAgICAgY2FzZSAnU2FtcGxpbmdJZEZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgICAgY2FzZSAnU2l0ZUZpbHRlckl0ZW0nOlxuICAgICAgICByZXR1cm4gZGlzcGxheU5hbWVGb3JPYmplY3RUeXBlZE9wdGlvbnMoXG4gICAgICAgICAgZmlsdGVySXRlbSxcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgZm9yT3V0ZXJEaXNwbGF5LFxuICAgICAgICApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCB0cmFuc2xhdGVGaWx0ZXJJdGVtVHlwZSA9IChmaWx0ZXJJdGVtVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIGkxOG4udChcbiAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmZpbHRlcl90eXBlcy4ke2NhbWVsVG9TbmFrZUNhc2UoZmlsdGVySXRlbVR5cGUpfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBnZXRTZWxlY3Rpb25zID0gKHNlbGVjdGVkX29wdGlvbnM6IGFueSkgPT4ge1xuICAgIGxldCBzZWxlY3Rpb25zOiBhbnlbXSA9IFtdO1xuICAgIGlmIChzZWxlY3RlZF9vcHRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgIHBhcnNlU2VsZWN0ZWRJdGVtcyhmaWx0ZXJfaXRlbSlcbiAgICAgICAgLnNsaWNlKDAsIDEpXG4gICAgICAgIC5tYXAoKHNlbGVjdGlvbjogc3RyaW5nKSA9PlxuICAgICAgICAgIHNlbGVjdGlvbnMucHVzaChcbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICBjbGFzc05hbWU9eydmaWx0ZXJfaXRlbV9fY29udGVudF9fc2VsZWN0aW9uc19fc2VsZWN0aW9uJ31cbiAgICAgICAgICAgICAga2V5PXtzZWxlY3Rpb259XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt0cmFuc2xhdGVGaWx0ZXJJdGVtT3B0aW9uTGFiZWwoZmlsdGVyX2l0ZW0sIHNlbGVjdGlvbiwgdHJ1ZSl9XG4gICAgICAgICAgICA8L2xpPixcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgc2VsZWN0aW9ucy5wdXNoKFxuICAgICAgICA8c3BhbiBrZXk9eydNT1JFJ30+e2AgKCR7c2VsZWN0ZWRfb3B0aW9ucy5sZW5ndGh9KWB9PC9zcGFuPixcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlU2VsZWN0ZWRJdGVtcyhmaWx0ZXJfaXRlbSkubWFwKChzZWxlY3Rpb246IHN0cmluZykgPT5cbiAgICAgICAgc2VsZWN0aW9ucy5wdXNoKFxuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgY2xhc3NOYW1lPXsnZmlsdGVyX2l0ZW1fX2NvbnRlbnRfX3NlbGVjdGlvbnNfX3NlbGVjdGlvbid9XG4gICAgICAgICAgICBrZXk9e3NlbGVjdGlvbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7dHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsKGZpbHRlcl9pdGVtLCBzZWxlY3Rpb24sIHRydWUpfVxuICAgICAgICAgIDwvbGk+LFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VsZWN0aW9ucztcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChmaWx0ZXJfaXRlbS5zZWxlY3RlZF9vcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAoe1xuICAgICAgICBmaWx0ZXJJdGVtSWQ6IGZpbHRlcl9pdGVtLmlkLFxuICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlcl9pdGVtLmF2YWlsYWJsZV9vcHRpb25zID09PSBudWxsKSB7XG4gICAgICBsZXQgbWF0Y2hGaWx0ZXJJdGVtID0gYXZhaWxhYmxlRmlsdGVySXRlbXMuZmluZChcbiAgICAgICAgKGF2YWlsYWJsZUZpbHRlckl0ZW06IGFueSkgPT5cbiAgICAgICAgICBhdmFpbGFibGVGaWx0ZXJJdGVtLnR5cGUgPT09IGZpbHRlcl9pdGVtLnR5cGUsXG4gICAgICApO1xuXG4gICAgICBpZiAobWF0Y2hGaWx0ZXJJdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZmlsdGVyX2l0ZW0uYXZhaWxhYmxlX29wdGlvbnMgPSBtYXRjaEZpbHRlckl0ZW0ub3B0aW9ucztcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtmaWx0ZXJfaXRlbV0pO1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9eydmaWx0ZXJfaXRlbV9fY29udGVudCd9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUZpbHRlckl0ZW1DbGljayhmaWx0ZXJfaXRlbSl9XG4gICAgICA+XG4gICAgICAgIDxzcGFuPnt0cmFuc2xhdGVGaWx0ZXJJdGVtVHlwZShmaWx0ZXJfaXRlbS50eXBlKX08L3NwYW4+XG4gICAgICAgIDx1bCBjbGFzc05hbWU9eydmaWx0ZXJfaXRlbV9fY29udGVudF9fc2VsZWN0aW9ucyd9PlxuICAgICAgICAgIHtnZXRTZWxlY3Rpb25zKHBhcnNlU2VsZWN0ZWRJdGVtcyhmaWx0ZXJfaXRlbSkpLm1hcChcbiAgICAgICAgICAgIChzZWxlY3Rpb246IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBzZWxlY3Rpb247XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICl9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGEgb25DbGljaz17KCkgPT4gcmVtb3ZlRmlsdGVySXRlbShmaWx0ZXJfaXRlbSl9PlxuICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVGltZXN9IC8+XG4gICAgICA8L2E+XG4gICAgICB7c2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXAuZmlsdGVySXRlbUlkID09PSBmaWx0ZXJfaXRlbS5pZCAmJlxuICAgICAgICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cCAmJiAoXG4gICAgICAgICAgPE9wdGlvbnNEcm9wRG93blxuICAgICAgICAgICAgcGFyc2VTZWxlY3RlZEl0ZW1zPXtwYXJzZVNlbGVjdGVkSXRlbXN9XG4gICAgICAgICAgICBmaWx0ZXJJdGVtPXtmaWx0ZXJfaXRlbX1cbiAgICAgICAgICAgIGFjdGl2ZUZpbHRlckNvcHk9e2FjdGl2ZUZpbHRlckNvcHl9XG4gICAgICAgICAgICBzZXRTaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cD17c2V0U2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXB9XG4gICAgICAgICAgICBzaG93RmlsdGVySXRlbU9wdGlvbnNQb3B1cD17c2hvd0ZpbHRlckl0ZW1PcHRpb25zUG9wdXB9XG4gICAgICAgICAgICBoYW5kbGVTaW5nbGVTZWxlY3Rpb249e2hhbmRsZVNpbmdsZVNlbGVjdGlvbn1cbiAgICAgICAgICAgIHRyYW5zbGF0ZUZpbHRlckl0ZW1PcHRpb25MYWJlbD17dHJhbnNsYXRlRmlsdGVySXRlbU9wdGlvbkxhYmVsfVxuICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRmlsdGVySXRlbTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLGtCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBR0EsSUFBQUksS0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBTSxnQkFBQSxHQUFBRCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQU8sZ0JBQUEsR0FBQVAsT0FBQTtBQUF1RixTQUFBUSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTix3QkFBQVUsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxP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
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -12,46 +11,44 @@ require("../../EventsStyle.scss");
12
11
  var _Dropdown = _interopRequireDefault(require("react-bootstrap/Dropdown"));
13
12
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
14
13
  var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
15
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
- var FiltersDropDown = function FiltersDropDown(props) {
18
- var filters = props.filters,
19
- handleFilterChange = props.handleFilterChange,
20
- activeFilterCopy = props.activeFilterCopy,
21
- activateFilter = props.activateFilter,
22
- deleteFilter = props.deleteFilter;
23
- (0, _react.useEffect)(function () {}, [filters, activeFilterCopy]);
24
- return /*#__PURE__*/_react.default.createElement(_Dropdown.default.Menu, null, filters.sort(function (a, b) {
25
- return a.id - b.id;
26
- }).map(function (filter) {
27
- return /*#__PURE__*/_react.default.createElement("div", {
28
- className: 'filter-dropdown-item',
29
- key: filter.id
30
- }, /*#__PURE__*/_react.default.createElement("span", {
31
- onClick: function onClick() {
32
- handleFilterChange(filter);
33
- }
34
- }, filter.name), /*#__PURE__*/_react.default.createElement("div", {
35
- className: 'filter-actions'
36
- }, /*#__PURE__*/_react.default.createElement("a", {
37
- className: 'action',
38
- onClick: function onClick() {
39
- deleteFilter(filter);
40
- }
41
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
42
- icon: _freeSolidSvgIcons.faTrash
43
- })), activeFilterCopy.id !== -1 && /*#__PURE__*/_react.default.createElement("a", {
44
- className: 'action',
45
- onClick: function onClick() {
46
- activateFilter(filter);
47
- }
48
- }, filter.is_active ? /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
49
- icon: _freeSolidSvgIcons.faToggleOn
50
- }) : /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
51
- icon: _freeSolidSvgIcons.faToggleOff
52
- }), /*#__PURE__*/_react.default.createElement("span", null, _i18n.default.t('events_overview.filter.set_default')))));
53
- }));
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ 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; }
16
+ const FiltersDropDown = props => {
17
+ const {
18
+ filters,
19
+ handleFilterChange,
20
+ activeFilterCopy,
21
+ activateFilter,
22
+ deleteFilter
23
+ } = props;
24
+ (0, _react.useEffect)(() => {}, [filters, activeFilterCopy]);
25
+ return /*#__PURE__*/_react.default.createElement(_Dropdown.default.Menu, null, filters.sort((a, b) => a.id - b.id).map(filter => /*#__PURE__*/_react.default.createElement("div", {
26
+ className: 'filter-dropdown-item',
27
+ key: filter.id
28
+ }, /*#__PURE__*/_react.default.createElement("span", {
29
+ onClick: () => {
30
+ handleFilterChange(filter);
31
+ }
32
+ }, filter.name), /*#__PURE__*/_react.default.createElement("div", {
33
+ className: 'filter-actions'
34
+ }, /*#__PURE__*/_react.default.createElement("a", {
35
+ className: 'action',
36
+ onClick: () => {
37
+ deleteFilter(filter);
38
+ }
39
+ }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
40
+ icon: _freeSolidSvgIcons.faTrash
41
+ })), activeFilterCopy.id !== -1 && /*#__PURE__*/_react.default.createElement("a", {
42
+ className: 'action',
43
+ onClick: () => {
44
+ activateFilter(filter);
45
+ }
46
+ }, filter.is_active ? /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
47
+ icon: _freeSolidSvgIcons.faToggleOn
48
+ }) : /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
49
+ icon: _freeSolidSvgIcons.faToggleOff
50
+ }), /*#__PURE__*/_react.default.createElement("span", null, _i18n.default.t('events_overview.filter.set_default')))))));
54
51
  };
55
52
  var _default = FiltersDropDown;
56
53
  exports.default = _default;
57
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfRHJvcGRvd24iLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiRmlsdGVyc0Ryb3BEb3duIiwicHJvcHMiLCJmaWx0ZXJzIiwiaGFuZGxlRmlsdGVyQ2hhbmdlIiwiYWN0aXZlRmlsdGVyQ29weSIsImFjdGl2YXRlRmlsdGVyIiwiZGVsZXRlRmlsdGVyIiwidXNlRWZmZWN0IiwiY3JlYXRlRWxlbWVudCIsIk1lbnUiLCJzb3J0IiwiYSIsImIiLCJpZCIsIm1hcCIsImZpbHRlciIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJuYW1lIiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhVHJhc2giLCJpc19hY3RpdmUiLCJmYVRvZ2dsZU9uIiwiZmFUb2dnbGVPZmYiLCJpMThuIiwidCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9GaWx0ZXIvRmlsdGVyc0Ryb3BEb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCAnLi4vLi4vRXZlbnRzU3R5bGUuc2Nzcyc7XG5pbXBvcnQgRHJvcGRvd24gZnJvbSAncmVhY3QtYm9vdHN0cmFwL0Ryb3Bkb3duJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQge1xuICBmYVRvZ2dsZU9mZixcbiAgZmFUb2dnbGVPbixcbiAgZmFUcmFzaCxcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IElGaWx0ZXIgfSBmcm9tICdzcmMvc3RvcmUvZmlsdGVycy9JRmlsdGVyJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGZpbHRlcnM6IElGaWx0ZXJbXTtcbiAgaGFuZGxlRmlsdGVyQ2hhbmdlOiBhbnk7XG4gIGFjdGl2ZUZpbHRlckNvcHk6IGFueTtcbiAgYWN0aXZhdGVGaWx0ZXI6IGFueTtcbiAgZGVsZXRlRmlsdGVyOiBhbnk7XG59O1xuXG5jb25zdCBGaWx0ZXJzRHJvcERvd246IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIGZpbHRlcnMsXG4gICAgaGFuZGxlRmlsdGVyQ2hhbmdlLFxuICAgIGFjdGl2ZUZpbHRlckNvcHksXG4gICAgYWN0aXZhdGVGaWx0ZXIsXG4gICAgZGVsZXRlRmlsdGVyLFxuICB9ID0gcHJvcHM7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHt9LCBbZmlsdGVycywgYWN0aXZlRmlsdGVyQ29weV0pO1xuXG4gIHJldHVybiAoXG4gICAgPERyb3Bkb3duLk1lbnU+XG4gICAgICB7ZmlsdGVyc1xuICAgICAgICAuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IGEuaWQgLSBiLmlkKVxuICAgICAgICAubWFwKChmaWx0ZXI6IElGaWx0ZXIpID0+IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2ZpbHRlci1kcm9wZG93bi1pdGVtJ30ga2V5PXtmaWx0ZXIuaWR9PlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZUZpbHRlckNoYW5nZShmaWx0ZXIpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZmlsdGVyLm5hbWV9XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZmlsdGVyLWFjdGlvbnMnfT5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9eydhY3Rpb24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZUZpbHRlcihmaWx0ZXIpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVHJhc2h9IC8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAge2FjdGl2ZUZpbHRlckNvcHkuaWQgIT09IC0xICYmIChcbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYWN0aW9uJ31cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVGaWx0ZXIoZmlsdGVyKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpbHRlci5pc19hY3RpdmUgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFUb2dnbGVPbn0gLz5cbiAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFUb2dnbGVPZmZ9IC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPHNwYW4+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5zZXRfZGVmYXVsdCcpfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSl9XG4gICAgPC9Ecm9wZG93bi5NZW51PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRmlsdGVyc0Ryb3BEb3duO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksaUJBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGtCQUFBLEdBQUFMLE9BQUE7QUFJMkMsU0FBQU0seUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFSLHdCQUFBWSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUks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
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfRHJvcGRvd24iLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJGaWx0ZXJzRHJvcERvd24iLCJwcm9wcyIsImZpbHRlcnMiLCJoYW5kbGVGaWx0ZXJDaGFuZ2UiLCJhY3RpdmVGaWx0ZXJDb3B5IiwiYWN0aXZhdGVGaWx0ZXIiLCJkZWxldGVGaWx0ZXIiLCJ1c2VFZmZlY3QiLCJjcmVhdGVFbGVtZW50IiwiTWVudSIsInNvcnQiLCJhIiwiYiIsImlkIiwibWFwIiwiZmlsdGVyIiwiY2xhc3NOYW1lIiwib25DbGljayIsIm5hbWUiLCJGb250QXdlc29tZUljb24iLCJpY29uIiwiZmFUcmFzaCIsImlzX2FjdGl2ZSIsImZhVG9nZ2xlT24iLCJmYVRvZ2dsZU9mZiIsImkxOG4iLCJ0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0ZpbHRlci9GaWx0ZXJzRHJvcERvd24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0ICcuLi8uLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBEcm9wZG93biBmcm9tICdyZWFjdC1ib290c3RyYXAvRHJvcGRvd24nO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCB7XG4gIGZhVG9nZ2xlT2ZmLFxuICBmYVRvZ2dsZU9uLFxuICBmYVRyYXNoLFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgSUZpbHRlciB9IGZyb20gJ3NyYy9zdG9yZS9maWx0ZXJzL0lGaWx0ZXInO1xuXG50eXBlIElQcm9wcyA9IHtcbiAgZmlsdGVyczogSUZpbHRlcltdO1xuICBoYW5kbGVGaWx0ZXJDaGFuZ2U6IGFueTtcbiAgYWN0aXZlRmlsdGVyQ29weTogYW55O1xuICBhY3RpdmF0ZUZpbHRlcjogYW55O1xuICBkZWxldGVGaWx0ZXI6IGFueTtcbn07XG5cbmNvbnN0IEZpbHRlcnNEcm9wRG93bjogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZmlsdGVycyxcbiAgICBoYW5kbGVGaWx0ZXJDaGFuZ2UsXG4gICAgYWN0aXZlRmlsdGVyQ29weSxcbiAgICBhY3RpdmF0ZUZpbHRlcixcbiAgICBkZWxldGVGaWx0ZXIsXG4gIH0gPSBwcm9wcztcblxuICB1c2VFZmZlY3QoKCkgPT4ge30sIFtmaWx0ZXJzLCBhY3RpdmVGaWx0ZXJDb3B5XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RHJvcGRvd24uTWVudT5cbiAgICAgIHtmaWx0ZXJzXG4gICAgICAgIC5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4gYS5pZCAtIGIuaWQpXG4gICAgICAgIC5tYXAoKGZpbHRlcjogSUZpbHRlcikgPT4gKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZmlsdGVyLWRyb3Bkb3duLWl0ZW0nfSBrZXk9e2ZpbHRlci5pZH0+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlRmlsdGVyQ2hhbmdlKGZpbHRlcik7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtmaWx0ZXIubmFtZX1cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydmaWx0ZXItYWN0aW9ucyd9PlxuICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17J2FjdGlvbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgZGVsZXRlRmlsdGVyKGZpbHRlcik7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFUcmFzaH0gLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICB7YWN0aXZlRmlsdGVyQ29weS5pZCAhPT0gLTEgJiYgKFxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9eydhY3Rpb24nfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZUZpbHRlcihmaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmlsdGVyLmlzX2FjdGl2ZSA/IChcbiAgICAgICAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRvZ2dsZU9ufSAvPlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRvZ2dsZU9mZn0gLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLnNldF9kZWZhdWx0Jyl9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApKX1cbiAgICA8L0Ryb3Bkb3duLk1lbnU+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWx0ZXJzRHJvcERvd247XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBTCxPQUFBO0FBSTJDLFNBQUFNLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFSLHdCQUFBWSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsb0JBQUFBLEdBQUEsd0JBQUFBLEdBQUEsNEJBQUFFLE9BQUEsRUFBQUYsR0FBQSxVQUFBRyxLQUFBLEdBQUFSLHdCQUFBLENBQUFDLFdBQUEsT0FBQU8sS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUosR0FBQSxZQUFBRyxLQUFBLENBQUFFLEdBQUEsQ0FBQUws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