@kando-env/kando-ui 1.2.254 → 1.2.255

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 (507) hide show
  1. package/lib/Router.js +43 -36
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +8 -5
  3. package/lib/Widgets/EventsRow/EventsRow.js +8 -5
  4. package/lib/Widgets/Map/GraphUtils.js +6 -4
  5. package/lib/Widgets/Map/Map.js +7 -4
  6. package/lib/Widgets/Map/MapUtils.js +30 -16
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +7 -4
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +7 -4
  9. package/lib/Widgets/Map/edges/Edge.js +6 -3
  10. package/lib/Widgets/Map/edges/Edges.js +7 -4
  11. package/lib/Widgets/Map/edges/arrows/Arrows.js +5 -4
  12. package/lib/Widgets/Map/events/Event.js +7 -4
  13. package/lib/Widgets/Map/events/EventIndicator.js +7 -4
  14. package/lib/Widgets/Map/events/EventPath.js +7 -4
  15. package/lib/Widgets/Map/events/EventUtils.js +29 -15
  16. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +7 -4
  17. package/lib/Widgets/Map/events/PointOfEvent.js +7 -4
  18. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +6 -3
  19. package/lib/Widgets/Map/events/Snail.js +7 -4
  20. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +9 -5
  21. package/lib/Widgets/Map/map/FloatingGraph.js +4 -3
  22. package/lib/Widgets/Map/map/GraphDateButton.js +4 -3
  23. package/lib/Widgets/Map/matchGraph/MatchGraph.js +3 -2
  24. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +4 -3
  25. package/lib/Widgets/Map/points/PointIcon.js +6 -4
  26. package/lib/Widgets/Map/points/PointMarker.js +6 -4
  27. package/lib/Widgets/Map/points/PointMarkers.js +7 -4
  28. package/lib/Widgets/Map/points/PointUtils.js +44 -23
  29. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +7 -4
  30. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +7 -4
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +7 -4
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -4
  33. package/lib/Widgets/MostPolluting/Areas/Areas.js +7 -4
  34. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -2
  35. package/lib/Widgets/MostPolluting/Areas/styles.js +6 -4
  36. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +4 -3
  37. package/lib/Widgets/MostPolluting/Factories/Factories.js +7 -4
  38. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +4 -3
  39. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +4 -3
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +6 -4
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +6 -4
  42. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +3 -2
  43. package/lib/Widgets/MostPolluting/Factories/styles.js +6 -4
  44. package/lib/Widgets/MostPolluting/MostPolluting.js +7 -4
  45. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +12 -7
  46. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +4 -3
  47. package/lib/Widgets/MostPolluting/ShowMore/styles.js +4 -3
  48. package/lib/Widgets/MostPolluting/assets/index.js +1 -1
  49. package/lib/Widgets/MostPolluting/components/ChangePercent.js +4 -3
  50. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +1 -1
  51. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +4 -3
  52. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +1 -1
  53. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +4 -3
  54. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +1 -1
  55. package/lib/Widgets/MostPolluting/styles.js +6 -4
  56. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +4 -3
  57. package/lib/Widgets/PotentialImpactSummary/Icon.js +4 -3
  58. package/lib/Widgets/PotentialImpactSummary/index.js +5 -4
  59. package/lib/Widgets/PotentialImpactSummary/index.test.js +1 -1
  60. package/lib/Widgets/PotentialImpactSummary/styles.js +12 -7
  61. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +4 -3
  62. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +4 -3
  63. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +1 -1
  64. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +4 -3
  65. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +5 -3
  66. package/lib/Widgets/QualitySummary/QualitySummary.js +4 -3
  67. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +7 -4
  68. package/lib/Widgets/QualitySummary/styles.js +12 -7
  69. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +7 -4
  70. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +7 -4
  71. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +4 -3
  72. package/lib/Widgets/UtilityInformation/UtilityInformation.js +9 -6
  73. package/lib/Widgets/UtilityInformation/styles.js +17 -9
  74. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +5 -3
  75. package/lib/components/ApplyButton/ApplyButton.js +4 -3
  76. package/lib/components/ApplyButton/index.js +4 -3
  77. package/lib/components/Backdrop/Backdrop.js +4 -3
  78. package/lib/components/ContentLoader/ContentLoader.js +4 -3
  79. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +6 -4
  80. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +6 -4
  81. package/lib/components/CustomInputs/DoubleTabs/styles.js +8 -5
  82. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +7 -4
  83. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +4 -3
  84. package/lib/components/CustomInputs/Search/Search.js +7 -4
  85. package/lib/components/CustomInputs/Search/index.js +4 -3
  86. package/lib/components/CustomInputs/Select/Select.js +7 -4
  87. package/lib/components/CustomInputs/Select/Select.stories.js +6 -4
  88. package/lib/components/DamageType/DamageType.js +7 -4
  89. package/lib/components/DamageType/index.js +4 -3
  90. package/lib/components/DataLoaderError/DataLoaderError.js +4 -3
  91. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +4 -3
  92. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +1 -1
  93. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +7 -4
  94. package/lib/components/DischargeHeatmap/HighchartsOptions.js +4 -3
  95. package/lib/components/DischargeHeatmap/index.js +4 -3
  96. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -2
  97. package/lib/components/DischargeHeatmap/popupText.js +4 -3
  98. package/lib/components/DischargeHeatmap/titles.js +6 -4
  99. package/lib/components/ErrorBoundary.js +4 -3
  100. package/lib/components/Events/Events.js +7 -4
  101. package/lib/components/Events/index.js +4 -3
  102. package/lib/components/Graph/Graph.js +9 -6
  103. package/lib/components/Graph/index.js +4 -3
  104. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +4 -3
  105. package/lib/components/Header/Breadcrumbs/index.js +4 -3
  106. package/lib/components/Header/DoubleTabs/DoubleTabs.js +9 -5
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +6 -4
  108. package/lib/components/Header/DoubleTabs/styles.js +8 -5
  109. package/lib/components/Header/Header.js +4 -3
  110. package/lib/components/Header/Header.stories.js +6 -4
  111. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +4 -3
  112. package/lib/components/Header/InfoBar/InfoBar.js +7 -4
  113. package/lib/components/Header/InfoBar/Search/Control.js +4 -3
  114. package/lib/components/Header/InfoBar/Search/GroupLabel.js +4 -3
  115. package/lib/components/Header/InfoBar/Search/Search.js +7 -4
  116. package/lib/components/Header/InfoBar/Search/SearchContainer.js +7 -4
  117. package/lib/components/Header/InfoBar/Search/index.js +4 -3
  118. package/lib/components/Header/InfoBar/Search/searchStyle.js +4 -3
  119. package/lib/components/Header/KandoNavbar/KandoNavbar.js +7 -4
  120. package/lib/components/Header/KandoNavbar/index.js +4 -3
  121. package/lib/components/Header/Slideshow/Slideshow.js +7 -4
  122. package/lib/components/Header/Slideshow/index.js +4 -3
  123. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +4 -3
  124. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +4 -3
  125. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +4 -3
  126. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +4 -3
  127. package/lib/components/Header/Toolbar/Toolbar.js +8 -5
  128. package/lib/components/InfoBar/InfoBar.js +7 -4
  129. package/lib/components/InfoBar/InfoBar.stories.js +6 -4
  130. package/lib/components/KandoModal/KandoModal.js +7 -4
  131. package/lib/components/KandoModal/index.js +4 -3
  132. package/lib/components/Link.js +4 -3
  133. package/lib/components/Links/CustomRedirect/CustomRedirect.js +4 -3
  134. package/lib/components/Links/StyledLink/StyledLink.js +6 -4
  135. package/lib/components/Links/StyledNavLink/StyledNavLink.js +4 -3
  136. package/lib/components/LiveEvents/CarouselSlide.js +4 -3
  137. package/lib/components/LiveEvents/LiveEvents.js +4 -3
  138. package/lib/components/LiveEvents/index.js +4 -3
  139. package/lib/components/LoaderByPercent/LoaderByPercent.js +6 -4
  140. package/lib/components/Map/Map.js +7 -4
  141. package/lib/components/Map/index.js +4 -3
  142. package/lib/components/Modal/Modal.js +4 -3
  143. package/lib/components/NarrowHeader.js +4 -3
  144. package/lib/components/PointInfo/PointInfo.js +4 -3
  145. package/lib/components/PointInfo/index.js +4 -3
  146. package/lib/components/PopupModal/PopupModal.js +4 -3
  147. package/lib/components/PopupModal/PopupModal.stories.js +8 -5
  148. package/lib/components/Sector/Sector.js +4 -3
  149. package/lib/components/Sector/Sector.test.js +1 -1
  150. package/lib/components/Sector/index.js +4 -3
  151. package/lib/components/Sector/sectorIcons.js +4 -3
  152. package/lib/components/SevereEvent/Eta/Eta.js +7 -4
  153. package/lib/components/SevereEvent/Eta/styles.js +4 -3
  154. package/lib/components/SevereEvent/SevereEvent.js +7 -4
  155. package/lib/components/Spinner/Spinner.js +4 -3
  156. package/lib/components/Spinner/Spinner.stories.js +8 -5
  157. package/lib/components/Spinner/index.js +4 -3
  158. package/lib/components/Spinner/styles.js +8 -5
  159. package/lib/components/Tabs/Tabs.js +10 -6
  160. package/lib/components/Tabs/Tabs.stories.js +6 -4
  161. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +7 -4
  162. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +7 -4
  163. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +7 -4
  164. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -3
  165. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +10 -6
  166. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +4 -3
  167. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -3
  168. package/lib/components/TimeRangeSelector/TimeRangeList.js +7 -4
  169. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +7 -4
  170. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +9 -5
  171. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +6 -4
  172. package/lib/components/TimeRangeSelector/constants.js +5 -3
  173. package/lib/components/TimeRangeSelector/index.js +4 -3
  174. package/lib/components/Toggle/Toggle.js +7 -4
  175. package/lib/components/Toggle/index.js +4 -3
  176. package/lib/components/TrendGraph/TrendGraph.js +8 -5
  177. package/lib/components/TrendGraph/index.js +4 -3
  178. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +7 -4
  179. package/lib/components/TrendGraphNVL/index.js +4 -3
  180. package/lib/development-environment/index.js +4 -3
  181. package/lib/development-environment/mock/browser.js +4 -3
  182. package/lib/development-environment/mock/get.js +3 -2
  183. package/lib/development-environment/mock/handlers.js +3 -2
  184. package/lib/development-environment/mock/mockBus.js +5 -3
  185. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +3 -2
  186. package/lib/development-environment/mock/mockObjects/areaInformation.js +3 -2
  187. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +3 -2
  188. package/lib/development-environment/mock/mockObjects/areaSitesData.js +3 -2
  189. package/lib/development-environment/mock/mockObjects/areasJson.js +3 -2
  190. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +3 -2
  191. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +3 -2
  192. package/lib/development-environment/mock/mockObjects/data-menuData.js +3 -2
  193. package/lib/development-environment/mock/mockObjects/data-search.js +3 -2
  194. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +3 -2
  195. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +3 -2
  196. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +3 -2
  197. package/lib/development-environment/mock/mockObjects/eventsJson.js +3 -2
  198. package/lib/development-environment/mock/mockObjects/metascore.js +3 -2
  199. package/lib/development-environment/mock/mockObjects/permissionsJson.js +3 -2
  200. package/lib/development-environment/mock/mockObjects/pointsJson.js +3 -2
  201. package/lib/development-environment/mock/mockObjects/site-info.js +3 -2
  202. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +3 -2
  203. package/lib/development-environment/togly/ToglyDashboard.js +7 -4
  204. package/lib/development-environment/togly/ToglyItem.js +7 -4
  205. package/lib/development-environment/togly/init.js +1 -1
  206. package/lib/development-environment/togly/useDoubleKeyDown.js +3 -2
  207. package/lib/development-environment/togly/useLocalStorage.js +4 -3
  208. package/lib/hooks/useApi.js +33 -30
  209. package/lib/hooks/useApiWithDashboardQuery.js +6 -4
  210. package/lib/hooks/useClickOutside.js +3 -2
  211. package/lib/hooks/useInitializeHeaders.js +4 -3
  212. package/lib/hooks/useKandoFetch.js +4 -3
  213. package/lib/hooks/useMap.js +6 -5
  214. package/lib/hooks/useNavContext.js +4 -3
  215. package/lib/hooks/useQueryURL.js +3 -2
  216. package/lib/hooks/useRemoveExistingLayers.js +3 -2
  217. package/lib/hooks/useUpdateEventBodyTail.js +3 -2
  218. package/lib/hooks/useUserTimeZone.js +5 -3
  219. package/lib/hooks/useUserTimeZone.test.js +5 -3
  220. package/lib/hooks/useWindowSize.js +1 -1
  221. package/lib/index.js +7 -4
  222. package/lib/macros/getVersion.js +1 -1
  223. package/lib/pages/AreaPage/AreaPage.js +33 -28
  224. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +6 -3
  225. package/lib/pages/AreaPage/Dashboard/Dashboard.js +7 -4
  226. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +7 -4
  227. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -3
  228. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +7 -4
  229. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +4 -3
  230. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +4 -3
  231. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +6 -4
  232. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +3 -2
  233. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +8 -5
  234. package/lib/pages/AssessmentPage/AssessmentPage.js +7 -4
  235. package/lib/pages/CannyWidget/Feedback.js +7 -4
  236. package/lib/pages/CovidPage/CovidPage.js +7 -4
  237. package/lib/pages/CovidPage/components/Body.js +7 -4
  238. package/lib/pages/CovidPage/components/Map.js +7 -4
  239. package/lib/pages/CovidPage/components/Sidebar.js +7 -4
  240. package/lib/pages/CovidPage/components/Summary.js +7 -4
  241. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +7 -4
  242. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -3
  243. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +7 -4
  244. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -3
  245. package/lib/pages/CovidPage/components/areas/Area.js +7 -4
  246. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +7 -4
  247. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +7 -4
  248. package/lib/pages/CovidPage/components/areas/AreasList.js +7 -4
  249. package/lib/pages/CovidPage/components/areas/Sort.js +7 -4
  250. package/lib/pages/CovidPage/components/nvlStatusHelper.js +9 -5
  251. package/lib/pages/EventsPage/Body/Body.js +7 -4
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +5 -3
  253. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +10 -6
  254. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +4 -3
  255. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +4 -3
  256. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +1 -1
  257. package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -3
  258. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +7 -4
  259. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +10 -6
  260. package/lib/pages/EventsPage/EventsPage.js +7 -4
  261. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +8 -5
  262. package/lib/pages/EventsPage/events/MoreInfo.js +7 -4
  263. package/lib/pages/EventsPage/events/Sidebar.js +7 -4
  264. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +7 -4
  265. package/lib/pages/EventsPage/events/event_info/EventDetails.js +4 -3
  266. package/lib/pages/EventsPage/events/event_info/EventInfo.js +7 -4
  267. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -3
  268. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +7 -4
  269. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +4 -3
  270. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +7 -4
  271. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -3
  272. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +7 -4
  273. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +4 -3
  274. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +7 -4
  275. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +7 -4
  276. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +7 -4
  277. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +7 -4
  278. package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +4 -3
  279. package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +4 -3
  280. package/lib/pages/EventsPage/events/event_info/sources/Source.js +4 -3
  281. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +7 -4
  282. package/lib/pages/EventsPage/events/events_list/EventItem.js +7 -4
  283. package/lib/pages/EventsPage/events/events_list/EventUtils.js +8 -5
  284. package/lib/pages/EventsPage/events/events_list/EventsList.js +8 -5
  285. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +7 -4
  286. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +7 -4
  287. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +7 -4
  288. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +7 -4
  289. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +7 -4
  290. package/lib/pages/EventsPage/events/events_list/Sort.js +7 -4
  291. package/lib/pages/ImportFileWizard/FileUploadRespones.js +4 -3
  292. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +5 -4
  293. package/lib/pages/ImportFileWizard/ImportFile.js +7 -4
  294. package/lib/pages/ImportFileWizard/ResponseBody.js +4 -3
  295. package/lib/pages/ImportFileWizard/ValidationForm.js +4 -3
  296. package/lib/pages/ImportFileWizard/ValidationResponse.js +8 -5
  297. package/lib/pages/ImportFileWizard/importFileUtils.js +5 -4
  298. package/lib/pages/ImportFileWizard/index.js +4 -3
  299. package/lib/pages/ImportGisPage/ImportGisContainer.js +9 -5
  300. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +4 -3
  301. package/lib/pages/ImportGisPage/importGisUtils.js +8 -6
  302. package/lib/pages/ImportGisProcess/index.js +4 -3
  303. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -4
  304. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +4 -3
  305. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -3
  306. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +7 -4
  307. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -4
  308. package/lib/pages/NotificationsPage/Notification/Notification.js +4 -3
  309. package/lib/pages/NotificationsPage/Notifications.mock.js +3 -2
  310. package/lib/pages/NotificationsPage/Notifications.stories.js +6 -4
  311. package/lib/pages/NotificationsPage/NotificationsPage.js +8 -5
  312. package/lib/pages/NotificationsPageV2/NotificationsPage.js +9 -5
  313. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +4 -3
  314. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +7 -4
  315. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +7 -4
  316. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +32 -17
  317. package/lib/pages/NotificationsPageV2/notificationUtils.js +16 -9
  318. package/lib/pages/OldSitePage/OldSitePage.js +58 -51
  319. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +10 -6
  320. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +6 -4
  321. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +4 -3
  322. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +4 -3
  323. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +10 -6
  324. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +7 -4
  325. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +6 -4
  326. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +6 -4
  327. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +10 -6
  328. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +7 -4
  329. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +4 -3
  330. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +7 -4
  331. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +7 -4
  332. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +12 -7
  333. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +7 -4
  334. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +7 -4
  335. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +6 -4
  336. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +5 -4
  337. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  338. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +6 -4
  339. package/lib/pages/ProfilePage/Container.js +4 -3
  340. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +7 -4
  341. package/lib/pages/ProfilePage/ProfilePage.js +7 -4
  342. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +7 -4
  343. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +8 -5
  344. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +5 -3
  345. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +76 -69
  346. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +7 -4
  347. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +4 -3
  348. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +8 -5
  349. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +4 -3
  350. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +4 -3
  351. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +4 -3
  352. package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -3
  353. package/lib/pages/SamplingsPage/NavigationDropdown.js +6 -4
  354. package/lib/pages/SamplingsPage/NewSamplingAction.js +26 -21
  355. package/lib/pages/SamplingsPage/SamplingMobileModal.js +4 -3
  356. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +4 -3
  357. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +4 -3
  358. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +7 -4
  359. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +7 -4
  360. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +4 -3
  361. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +90 -83
  362. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +7 -4
  363. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +7 -4
  364. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +7 -4
  365. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +23 -12
  366. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +6 -4
  367. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +4 -3
  368. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +7 -4
  369. package/lib/pages/SamplingsPage/SamplingsMobileList.js +7 -4
  370. package/lib/pages/SamplingsPage/SamplingsPage.js +9 -5
  371. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +7 -4
  372. package/lib/pages/SamplingsPage/index.js +3 -2
  373. package/lib/pages/SamplingsPage/samplingsPageUtils.js +40 -21
  374. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +4 -3
  375. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +6 -4
  376. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +10 -6
  377. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +4 -3
  378. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +1 -1
  379. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +4 -3
  380. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +1 -1
  381. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +10 -6
  382. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +7 -4
  383. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +6 -4
  384. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +6 -4
  385. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +10 -6
  386. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +7 -4
  387. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +4 -3
  388. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +7 -4
  389. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +9 -5
  390. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +12 -7
  391. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +7 -4
  392. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +7 -4
  393. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +6 -4
  394. package/lib/pages/SitePage/SamplingParameters/dataParser.js +5 -4
  395. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  396. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +6 -4
  397. package/lib/pages/SitePage/SiteInformation/ContributorItem.js +4 -3
  398. package/lib/pages/SitePage/SiteInformation/EmptyState.js +4 -3
  399. package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +4 -3
  400. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +7 -4
  401. package/lib/pages/SitePage/SiteInformation/style.js +6 -4
  402. package/lib/pages/SitePage/SitePage.js +33 -28
  403. package/lib/pages/UploadLabResult/index.js +4 -3
  404. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +8 -5
  405. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +8 -5
  406. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +12 -7
  407. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +6 -4
  408. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +7 -4
  409. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +4 -3
  410. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -3
  411. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -3
  412. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +4 -3
  413. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +4 -3
  414. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +4 -3
  415. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +9 -5
  416. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +12 -7
  417. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +6 -3
  418. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -4
  419. package/lib/pages/WbeDashboard/ExpandableComponent.js +7 -4
  420. package/lib/pages/WbeDashboard/GraphWrapper.js +7 -4
  421. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +7 -4
  422. package/lib/pages/WbeDashboard/SearchInput.js +7 -4
  423. package/lib/pages/WbeDashboard/SummaryGraph.js +28 -23
  424. package/lib/pages/WbeDashboard/SummaryGraphModal.js +4 -3
  425. package/lib/pages/WbeDashboard/Tabs.js +4 -3
  426. package/lib/pages/WbeDashboard/WbeDashboardPage.js +9 -5
  427. package/lib/pages/WbeDashboard/WbeSummaryBar.js +7 -4
  428. package/lib/providers/Slideshow/SlideshowContext.js +7 -4
  429. package/lib/providers/Slideshow/SlideshowProvider.js +7 -4
  430. package/lib/providers/Slideshow/SlideshowRunner.js +3 -2
  431. package/lib/providers/UrlHistory/UrlHistoryContext.js +8 -5
  432. package/lib/providers/UrlHistory/UrlHistoryProvider.js +6 -3
  433. package/lib/providers/UrlHistory/index.js +1 -1
  434. package/lib/providers/UrlHistory/useLastVisited.js +3 -2
  435. package/lib/store/ImportGis/actionTypes.js +5 -4
  436. package/lib/store/ImportGis/reducer.js +3 -3
  437. package/lib/store/WBE/actionTypes.js +3 -2
  438. package/lib/store/WBE/reducer.js +1 -1
  439. package/lib/store/areas/actionTypes.js +7 -4
  440. package/lib/store/areas/actions.js +1 -1
  441. package/lib/store/context/actionTypes.js +5 -3
  442. package/lib/store/context/contextMiddlewares.js +3 -2
  443. package/lib/store/context/reducer.js +1 -1
  444. package/lib/store/dashboard/dashboardSlice.js +5 -3
  445. package/lib/store/edges/actionTypes.js +9 -5
  446. package/lib/store/edges/reducer.js +1 -1
  447. package/lib/store/events/actionTypes.js +33 -17
  448. package/lib/store/events/reducer.js +1 -1
  449. package/lib/store/global/actionTypes.js +21 -11
  450. package/lib/store/global/reducer.js +1 -1
  451. package/lib/store/permissions/permissionsSlice.js +3 -2
  452. package/lib/store/points/actionTypes.js +5 -3
  453. package/lib/store/rootActionTypes.js +3 -2
  454. package/lib/store/rootReducer.js +4 -3
  455. package/lib/store/rootStore.js +1 -1
  456. package/lib/store/samplings/actionTypes.js +5 -4
  457. package/lib/store/samplings/reducer.js +1 -1
  458. package/lib/styles/StylesLayout.js +4 -3
  459. package/lib/styles/theme/theme.js +7 -4
  460. package/lib/test/mocks/browser.js +4 -3
  461. package/lib/test/test-utils.js +1 -1
  462. package/lib/ui-kit/Button/Button.js +8 -5
  463. package/lib/ui-kit/Button/Button.test.js +5 -3
  464. package/lib/ui-kit/Checkbox/Checkbox.js +6 -4
  465. package/lib/ui-kit/DropDown/DropDown.js +4 -3
  466. package/lib/ui-kit/DropDown/DropDown.test.js +1 -1
  467. package/lib/ui-kit/DropDown/DropDownItem.js +6 -4
  468. package/lib/ui-kit/DropDown/DropdownToggle.js +6 -4
  469. package/lib/ui-kit/IconAction/IconAction.js +4 -3
  470. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +8 -5
  471. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +4 -3
  472. package/lib/ui-kit/KandoList/KandoList.js +6 -3
  473. package/lib/ui-kit/KandoTable/KandoTable.js +7 -4
  474. package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -1
  475. package/lib/ui-kit/Layout/Layout.js +4 -3
  476. package/lib/ui-kit/MobileInput/MobileInput.js +4 -3
  477. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +4 -3
  478. package/lib/ui-kit/ModalConfirmation/index.js +3 -2
  479. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +4 -3
  480. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +4 -3
  481. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +5 -3
  482. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +6 -4
  483. package/lib/ui-kit/Tooltip/Tooltip.js +4 -3
  484. package/lib/ui-kit/kandoStepper/KandoStepper.js +4 -3
  485. package/lib/utilities/Alert.js +4 -3
  486. package/lib/utilities/Analytics.js +4 -3
  487. package/lib/utilities/Array.js +5 -3
  488. package/lib/utilities/Enum.js +26 -23
  489. package/lib/utilities/ErrorBoundary.js +4 -3
  490. package/lib/utilities/File.js +49 -42
  491. package/lib/utilities/GetDir.js +4 -3
  492. package/lib/utilities/KandoDate.js +4 -3
  493. package/lib/utilities/KandoModal.js +7 -4
  494. package/lib/utilities/LocalStorage.js +9 -5
  495. package/lib/utilities/ThousandsToK.js +3 -2
  496. package/lib/utilities/TimeFormat.js +7 -4
  497. package/lib/utilities/Truncate.js +7 -4
  498. package/lib/utilities/edgesMath.js +8 -7
  499. package/lib/utilities/i18n.js +4 -3
  500. package/lib/utilities/kql.js +5 -3
  501. package/lib/utilities/map/icons.js +4 -3
  502. package/lib/utilities/polylinedecorator.js +6 -4
  503. package/lib/utilities/scoreToColor.js +3 -2
  504. package/lib/utilities/time.js +8 -5
  505. package/lib/utilities/uploadToS3.js +4 -3
  506. package/lib/utilities/urls.js +8 -5
  507. package/package.json +5 -5
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -8,7 +8,7 @@ exports.validateValueIsNotAnObject = exports.parseSeverities = exports.parseNoti
8
8
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
10
10
  var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
- var handleNotificationType = exports.handleNotificationType = function handleNotificationType(option, notification, setNewNotification) {
11
+ var handleNotificationType = function handleNotificationType(option, notification, setNewNotification) {
12
12
  var value = notification.available_types.find(function (type) {
13
13
  return type === option.value;
14
14
  });
@@ -18,7 +18,8 @@ var handleNotificationType = exports.handleNotificationType = function handleNot
18
18
  });
19
19
  });
20
20
  };
21
- var handleSeverities = exports.handleSeverities = function handleSeverities(e, setNewNotification) {
21
+ exports.handleNotificationType = handleNotificationType;
22
+ var handleSeverities = function handleSeverities(e, setNewNotification) {
22
23
  var value = e.target.value;
23
24
  setNewNotification(function (prevState) {
24
25
  return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
@@ -26,35 +27,40 @@ var handleSeverities = exports.handleSeverities = function handleSeverities(e, s
26
27
  });
27
28
  });
28
29
  };
29
- var handleWaterAuthorities = exports.handleWaterAuthorities = function handleWaterAuthorities(e) {
30
+ exports.handleSeverities = handleSeverities;
31
+ var handleWaterAuthorities = function handleWaterAuthorities(e) {
30
32
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
31
33
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
32
34
  var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
33
35
  var value = (0, _objectSpread3.default)({}, newNotification.water_authorities);
34
36
  handleSelectionAndSet(value, 'water_authorities', e, option, setNewNotification);
35
37
  };
36
- var handleSources = exports.handleSources = function handleSources(e) {
38
+ exports.handleWaterAuthorities = handleWaterAuthorities;
39
+ var handleSources = function handleSources(e) {
37
40
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
38
41
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
39
42
  var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
40
43
  var value = (0, _objectSpread3.default)({}, newNotification.points);
41
44
  handleSelectionAndSet(value, 'points', e, option, setNewNotification);
42
45
  };
43
- var handleTags = exports.handleTags = function handleTags(e) {
46
+ exports.handleSources = handleSources;
47
+ var handleTags = function handleTags(e) {
44
48
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
45
49
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
46
50
  var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
47
51
  var value = (0, _objectSpread3.default)({}, newNotification.tags);
48
52
  handleSelectionAndSet(value, 'tags', e, option, setNewNotification);
49
53
  };
50
- var handleSensors = exports.handleSensors = function handleSensors(e) {
54
+ exports.handleTags = handleTags;
55
+ var handleSensors = function handleSensors(e) {
51
56
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
52
57
  var newNotification = arguments.length > 2 ? arguments[2] : undefined;
53
58
  var setNewNotification = arguments.length > 3 ? arguments[3] : undefined;
54
59
  var value = (0, _objectSpread3.default)({}, newNotification.sensors);
55
60
  handleSelectionAndSet(value, 'sensors', e, option, setNewNotification);
56
61
  };
57
- var handleSelectionAndSet = exports.handleSelectionAndSet = function handleSelectionAndSet(value, field, e) {
62
+ exports.handleSensors = handleSensors;
63
+ var handleSelectionAndSet = function handleSelectionAndSet(value, field, e) {
58
64
  var option = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
59
65
  var setNewNotification = arguments.length > 4 ? arguments[4] : undefined;
60
66
  if (e !== undefined && e.target !== undefined) {
@@ -76,7 +82,8 @@ var handleSelectionAndSet = exports.handleSelectionAndSet = function handleSelec
76
82
  return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, (0, _defineProperty2.default)({}, field, value));
77
83
  });
78
84
  };
79
- var handleSendVia = exports.handleSendVia = function handleSendVia(e, newNotification, setNewNotification, setModalDetails) {
85
+ exports.handleSelectionAndSet = handleSelectionAndSet;
86
+ var handleSendVia = function handleSendVia(e, newNotification, setNewNotification, setModalDetails) {
80
87
  var value = (0, _objectSpread3.default)({}, newNotification.actions);
81
88
  var field = e.target.value;
82
89
  value[field] = !value[field];
@@ -92,7 +99,8 @@ var handleSendVia = exports.handleSendVia = function handleSendVia(e, newNotific
92
99
  });
93
100
  });
94
101
  };
95
- var handleNotificationSample = exports.handleNotificationSample = function handleNotificationSample(e, setNewNotification) {
102
+ exports.handleSendVia = handleSendVia;
103
+ var handleNotificationSample = function handleNotificationSample(e, setNewNotification) {
96
104
  var value = e.target.checked;
97
105
  var parsedValue = value ? '1' : '0';
98
106
  setNewNotification(function (prevState) {
@@ -101,10 +109,12 @@ var handleNotificationSample = exports.handleNotificationSample = function handl
101
109
  });
102
110
  });
103
111
  };
104
- var validateValueIsNotAnObject = exports.validateValueIsNotAnObject = function validateValueIsNotAnObject(value) {
112
+ exports.handleNotificationSample = handleNotificationSample;
113
+ var validateValueIsNotAnObject = function validateValueIsNotAnObject(value) {
105
114
  return (0, _typeof2.default)(value) === 'object' && !Array.isArray(value) && value !== null && value !== undefined;
106
115
  };
107
- var parseNotificationAdvancedSelection = exports.parseNotificationAdvancedSelection = function parseNotificationAdvancedSelection(notification) {
116
+ exports.validateValueIsNotAnObject = validateValueIsNotAnObject;
117
+ var parseNotificationAdvancedSelection = function parseNotificationAdvancedSelection(notification) {
108
118
  // If there'll be a future requirement to add another AdvancedSelection fields, please add them right below
109
119
 
110
120
  var points = notification.points;
@@ -126,7 +136,8 @@ var parseNotificationAdvancedSelection = exports.parseNotificationAdvancedSelect
126
136
  });
127
137
  return notification;
128
138
  };
129
- var deleteAttributes = exports.deleteAttributes = function deleteAttributes(notification, newNotification) {
139
+ exports.parseNotificationAdvancedSelection = parseNotificationAdvancedSelection;
140
+ var deleteAttributes = function deleteAttributes(notification, newNotification) {
130
141
  // Make sure to remove unnecessary attributes for some AlertConfigs
131
142
 
132
143
  delete notification.available_types;
@@ -139,7 +150,8 @@ var deleteAttributes = exports.deleteAttributes = function deleteAttributes(noti
139
150
  notification['_destroy'] = 0;
140
151
  return notification;
141
152
  };
142
- var formatSendVia = exports.formatSendVia = function formatSendVia(notification) {
153
+ exports.deleteAttributes = deleteAttributes;
154
+ var formatSendVia = function formatSendVia(notification) {
143
155
  var formattedValue = [];
144
156
  if (notification.actions['telegram']) formattedValue.push(['SendTelegramAction', '0']);
145
157
  if (notification.actions['email']) formattedValue.push(['SendEmailAction', '0']);
@@ -147,7 +159,8 @@ var formatSendVia = exports.formatSendVia = function formatSendVia(notification)
147
159
  notification.actions = formattedValue.flat();
148
160
  return notification;
149
161
  };
150
- var parseSeverities = exports.parseSeverities = function parseSeverities(notification) {
162
+ exports.formatSendVia = formatSendVia;
163
+ var parseSeverities = function parseSeverities(notification) {
151
164
  var value;
152
165
  switch (notification.severity) {
153
166
  case 'medium':
@@ -162,7 +175,8 @@ var parseSeverities = exports.parseSeverities = function parseSeverities(notific
162
175
  notification.severity = value;
163
176
  return notification;
164
177
  };
165
- var formatNotification = exports.formatNotification = function formatNotification(newNotification) {
178
+ exports.parseSeverities = parseSeverities;
179
+ var formatNotification = function formatNotification(newNotification) {
166
180
  var notificationCopy = JSON.parse(JSON.stringify(newNotification));
167
181
  notificationCopy = parseNotificationAdvancedSelection(notificationCopy);
168
182
  notificationCopy = formatSendVia(notificationCopy);
@@ -182,4 +196,5 @@ var formatNotification = exports.formatNotification = function formatNotificatio
182
196
  notificationWithTimeStamp.user.alert_configs_attributes["".concat(now.getTime())] = notificationToSave.user.alert_configs_attributes;
183
197
  return notificationWithTimeStamp;
184
198
  };
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJoYW5kbGVOb3RpZmljYXRpb25UeXBlIiwiZXhwb3J0cyIsIm9wdGlvbiIsIm5vdGlmaWNhdGlvbiIsInNldE5ld05vdGlmaWNhdGlvbiIsInZhbHVlIiwiYXZhaWxhYmxlX3R5cGVzIiwiZmluZCIsInR5cGUiLCJwcmV2U3RhdGUiLCJfb2JqZWN0U3ByZWFkMyIsImRlZmF1bHQiLCJoYW5kbGVTZXZlcml0aWVzIiwiZSIsInRhcmdldCIsInNldmVyaXR5IiwiaGFuZGxlV2F0ZXJBdXRob3JpdGllcyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm5ld05vdGlmaWNhdGlvbiIsIndhdGVyX2F1dGhvcml0aWVzIiwiaGFuZGxlU2VsZWN0aW9uQW5kU2V0IiwiaGFuZGxlU291cmNlcyIsInBvaW50cyIsImhhbmRsZVRhZ3MiLCJ0YWdzIiwiaGFuZGxlU2Vuc29ycyIsInNlbnNvcnMiLCJmaWVsZCIsInNlbGVjdGlvbl90eXBlIiwic2V0IiwiQXJyYXkiLCJfb3B0aW9uJHNldCIsImZvckVhY2giLCJwdXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJoYW5kbGVTZW5kVmlhIiwic2V0TW9kYWxEZXRhaWxzIiwiYWN0aW9ucyIsIm9wZW4iLCJpbnN0YW5jZSIsImhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSIsImNoZWNrZWQiLCJwYXJzZWRWYWx1ZSIsInB1bXBfb25seSIsInZhbGlkYXRlVmFsdWVJc05vdEFuT2JqZWN0IiwiX3R5cGVvZjIiLCJpc0FycmF5IiwicGFyc2VOb3RpZmljYXRpb25BZHZhbmNlZFNlbGVjdGlvbiIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxfYWR2YW5jZWRfc2VsZWN0aW9ucyIsInNlbGVjdGlvbiIsInBvaW50IiwiaWQiLCJkZWxldGVBdHRyaWJ1dGVzIiwiZm9ybWF0U2VuZFZpYSIsImZvcm1hdHRlZFZhbHVlIiwiZmxhdCIsInBhcnNlU2V2ZXJpdGllcyIsImZvcm1hdE5vdGlmaWNhdGlvbiIsIm5vdGlmaWNhdGlvbkNvcHkiLCJwYXJzZSIsIm5vdGlmaWNhdGlvblRvU2F2ZSIsInVzZXIiLCJhbGVydF9jb25maWdzX2F0dHJpYnV0ZXMiLCJub3RpZmljYXRpb25XaXRoVGltZVN0YW1wIiwibm93IiwiRGF0ZSIsImNvbmNhdCIsImdldFRpbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9jb21wb25lbnRzL05vdGlmaWNhdGlvbnNVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSA9IChcbiAgb3B0aW9uLFxuICBub3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IG5vdGlmaWNhdGlvbi5hdmFpbGFibGVfdHlwZXMhLmZpbmQoXG4gICAgKHR5cGUpID0+IHR5cGUgPT09IG9wdGlvbi52YWx1ZSxcbiAgKTtcbiAgaWYgKHZhbHVlKVxuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgdHlwZTogdmFsdWUsXG4gICAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNldmVyaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgc2V2ZXJpdHk6IHZhbHVlLFxuICB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldChcbiAgICB2YWx1ZSxcbiAgICAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIGUsXG4gICAgb3B0aW9uLFxuICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTb3VyY2VzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5wb2ludHMgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAncG9pbnRzJywgZSwgb3B0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVRhZ3MgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLnRhZ3MgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAndGFncycsIGUsIG9wdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW5zb3JzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5zZW5zb3JzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3NlbnNvcnMnLCBlLCBvcHRpb24sIHNldE5ld05vdGlmaWNhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2VsZWN0aW9uQW5kU2V0ID0gKFxuICB2YWx1ZSxcbiAgZmllbGQ6IHN0cmluZyxcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBpZiAoZSAhPT0gdW5kZWZpbmVkICYmIGUudGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IGUudGFyZ2V0LnZhbHVlO1xuICB9IGVsc2Uge1xuICAgIHZhbHVlLnNlbGVjdGlvbl90eXBlID0gb3B0aW9uLnNlbGVjdGlvbl90eXBlO1xuICB9XG5cbiAgaWYgKHZhbHVlLnNlbGVjdGlvbl90eXBlID09PSAnYWxsJykge1xuICAgIHZhbHVlLnNldCA9IG5ldyBBcnJheSgpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNldDogc3RyaW5nW10gPSBbXTtcbiAgICBvcHRpb24uc2V0Py5mb3JFYWNoKChvcHRpb24pID0+IHtcbiAgICAgIHNldC5wdXNoKEpTT04uc3RyaW5naWZ5KG9wdGlvbi52YWx1ZSkpO1xuICAgIH0pO1xuICAgIHZhbHVlLnNldCA9IHNldDtcbiAgfVxuXG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBbZmllbGRdOiB2YWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNlbmRWaWEgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbiAgc2V0TW9kYWxEZXRhaWxzLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24uYWN0aW9ucyB9O1xuICBjb25zdCBmaWVsZCA9IGUudGFyZ2V0LnZhbHVlO1xuICB2YWx1ZVtmaWVsZF0gPSAhdmFsdWVbZmllbGRdO1xuXG4gIGlmIChmaWVsZCA9PT0gJ3NtcycgfHwgZmllbGQgPT09ICd0ZWxlZ3JhbScpIHtcbiAgICBzZXRNb2RhbERldGFpbHMoeyBvcGVuOiB0cnVlLCBpbnN0YW5jZTogZmllbGQgfSk7XG4gIH1cblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgYWN0aW9uczogdmFsdWUsXG4gIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC5jaGVja2VkO1xuICBsZXQgcGFyc2VkVmFsdWUgPSB2YWx1ZSA/ICcxJyA6ICcwJztcbiAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgLi4ucHJldlN0YXRlLFxuICAgIHB1bXBfb25seTogcGFyc2VkVmFsdWUsXG4gIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVZhbHVlSXNOb3RBbk9iamVjdCA9ICh2YWx1ZSkgPT4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiZcbiAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgIHZhbHVlICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICAvLyBJZiB0aGVyZSdsbCBiZSBhIGZ1dHVyZSByZXF1aXJlbWVudCB0byBhZGQgYW5vdGhlciBBZHZhbmNlZFNlbGVjdGlvbiBmaWVsZHMsIHBsZWFzZSBhZGQgdGhlbSByaWdodCBiZWxvd1xuXG4gIGxldCBwb2ludHMgPSBub3RpZmljYXRpb24ucG9pbnRzO1xuICBsZXQgd2F0ZXJBdXRob3JpdGllcyA9IG5vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcztcbiAgbGV0IHRhZ3MgPSBub3RpZmljYXRpb24udGFncztcbiAgbGV0IHNlbnNvcnMgPSBub3RpZmljYXRpb24uc2Vuc29ycztcblxuICBjb25zdCBhbGxfYWR2YW5jZWRfc2VsZWN0aW9ucyA9IFtwb2ludHMsIHdhdGVyQXV0aG9yaXRpZXMsIHRhZ3MsIHNlbnNvcnNdO1xuXG4gIGFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zLmZvckVhY2goKHNlbGVjdGlvbikgPT4ge1xuICAgIGlmIChcbiAgICAgIHZhbGlkYXRlVmFsdWVJc05vdEFuT2JqZWN0KFxuICAgICAgICBzZWxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiBzZWxlY3Rpb24uc2V0ICE9PSBudWxsICYmIHNlbGVjdGlvbi5zZXRbMF0sXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zdCBzZXQ6IHN0cmluZ1tdID0gW107XG4gICAgICBzZWxlY3Rpb24uc2V0LmZvckVhY2goKHBvaW50KSA9PiB7XG4gICAgICAgIHNldC5wdXNoKEpTT04uc3RyaW5naWZ5KHBvaW50LmlkKSk7XG4gICAgICB9KTtcblxuICAgICAgc2VsZWN0aW9uLnNldCA9IHNldDtcbiAgICB9XG5cbiAgICBpZiAoc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5zZXQgIT09IHVuZGVmaW5lZCAmJiBzZWxlY3Rpb24uc2V0ID09PSBudWxsKSB7XG4gICAgICBzZWxlY3Rpb24uc2V0ID0gW107XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZUF0dHJpYnV0ZXMgPSAobm90aWZpY2F0aW9uLCBuZXdOb3RpZmljYXRpb24pID0+IHtcbiAgLy8gTWFrZSBzdXJlIHRvIHJlbW92ZSB1bm5lY2Vzc2FyeSBhdHRyaWJ1dGVzIGZvciBzb21lIEFsZXJ0Q29uZmlnc1xuXG4gIGRlbGV0ZSBub3RpZmljYXRpb24uYXZhaWxhYmxlX3R5cGVzO1xuICBpZiAoXG4gICAgbmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdQb2xsdXRpb25BbGVydENvbmZpZycgJiZcbiAgICBub3RpZmljYXRpb24udHlwZSAhPT0gJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJ1xuICApXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5zZXZlcml0eTtcbiAgaWYgKFxuICAgIG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnICYmXG4gICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZydcbiAgKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24ucHVtcF9vbmx5O1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgPT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5wb2ludHM7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnRhZ3M7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuXG4gIG5vdGlmaWNhdGlvblsnYWxlcnRfdHlwZSddID0gbm90aWZpY2F0aW9uLnR5cGU7XG4gIG5vdGlmaWNhdGlvblsnX2Rlc3Ryb3knXSA9IDA7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRTZW5kVmlhID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgZm9ybWF0dGVkVmFsdWU6IGFueSA9IFtdO1xuICBpZiAobm90aWZpY2F0aW9uLmFjdGlvbnNbJ3RlbGVncmFtJ10pXG4gICAgZm9ybWF0dGVkVmFsdWUucHVzaChbJ1NlbmRUZWxlZ3JhbUFjdGlvbicsICcwJ10pO1xuICBpZiAobm90aWZpY2F0aW9uLmFjdGlvbnNbJ2VtYWlsJ10pXG4gICAgZm9ybWF0dGVkVmFsdWUucHVzaChbJ1NlbmRFbWFpbEFjdGlvbicsICcwJ10pO1xuICBpZiAobm90aWZpY2F0aW9uLmFjdGlvbnNbJ3NtcyddKSBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZFNtc0FjdGlvbicsICcwJ10pO1xuICBub3RpZmljYXRpb24uYWN0aW9ucyA9IGZvcm1hdHRlZFZhbHVlLmZsYXQoKTtcblxuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlU2V2ZXJpdGllcyA9IChub3RpZmljYXRpb24pID0+IHtcbiAgbGV0IHZhbHVlO1xuICBzd2l0Y2ggKG5vdGlmaWNhdGlvbi5zZXZlcml0eSkge1xuICAgIGNhc2UgJ21lZGl1bSc6XG4gICAgICB2YWx1ZSA9ICcwJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2hpZ2gnOlxuICAgICAgdmFsdWUgPSAnMSc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdleHRyZW1lJzpcbiAgICAgIHZhbHVlID0gJzInO1xuICB9XG4gIG5vdGlmaWNhdGlvbi5zZXZlcml0eSA9IHZhbHVlO1xuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdE5vdGlmaWNhdGlvbiA9IChuZXdOb3RpZmljYXRpb24pID0+IHtcbiAgbGV0IG5vdGlmaWNhdGlvbkNvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG5ld05vdGlmaWNhdGlvbikpO1xuICBub3RpZmljYXRpb25Db3B5ID0gcGFyc2VOb3RpZmljYXRpb25BZHZhbmNlZFNlbGVjdGlvbihub3RpZmljYXRpb25Db3B5KTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IGZvcm1hdFNlbmRWaWEobm90aWZpY2F0aW9uQ29weSk7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBkZWxldGVBdHRyaWJ1dGVzKG5vdGlmaWNhdGlvbkNvcHksIG5ld05vdGlmaWNhdGlvbik7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBwYXJzZVNldmVyaXRpZXMobm90aWZpY2F0aW9uQ29weSk7XG5cbiAgbGV0IG5vdGlmaWNhdGlvblRvU2F2ZSA9IHtcbiAgICB1c2VyOiB7XG4gICAgICBhbGVydF9jb25maWdzX2F0dHJpYnV0ZXM6IHtcbiAgICAgICAgLi4ubm90aWZpY2F0aW9uQ29weSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBub3RpZmljYXRpb25XaXRoVGltZVN0YW1wID0ge1xuICAgIHVzZXI6IHtcbiAgICAgIGFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlczoge30sXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICBub3RpZmljYXRpb25XaXRoVGltZVN0YW1wLnVzZXIuYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzW2Ake25vdy5nZXRUaW1lKCl9YF0gPVxuICAgIG5vdGlmaWNhdGlvblRvU2F2ZS51c2VyLmFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlcztcblxuICByZXR1cm4gbm90aWZpY2F0aW9uV2l0aFRpbWVTdGFtcDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxzQkFBc0IsR0FBQUMsT0FBQSxDQUFBRCxzQkFBQSxHQUFHLFNBQXpCQSxzQkFBc0JBLENBQ2pDRSxN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
199
+ exports.formatNotification = formatNotification;
200
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJoYW5kbGVOb3RpZmljYXRpb25UeXBlIiwib3B0aW9uIiwibm90aWZpY2F0aW9uIiwic2V0TmV3Tm90aWZpY2F0aW9uIiwidmFsdWUiLCJhdmFpbGFibGVfdHlwZXMiLCJmaW5kIiwidHlwZSIsInByZXZTdGF0ZSIsIl9vYmplY3RTcHJlYWQzIiwiZGVmYXVsdCIsImV4cG9ydHMiLCJoYW5kbGVTZXZlcml0aWVzIiwiZSIsInRhcmdldCIsInNldmVyaXR5IiwiaGFuZGxlV2F0ZXJBdXRob3JpdGllcyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIm5ld05vdGlmaWNhdGlvbiIsIndhdGVyX2F1dGhvcml0aWVzIiwiaGFuZGxlU2VsZWN0aW9uQW5kU2V0IiwiaGFuZGxlU291cmNlcyIsInBvaW50cyIsImhhbmRsZVRhZ3MiLCJ0YWdzIiwiaGFuZGxlU2Vuc29ycyIsInNlbnNvcnMiLCJmaWVsZCIsInNlbGVjdGlvbl90eXBlIiwic2V0IiwiQXJyYXkiLCJfb3B0aW9uJHNldCIsImZvckVhY2giLCJwdXNoIiwiSlNPTiIsInN0cmluZ2lmeSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJoYW5kbGVTZW5kVmlhIiwic2V0TW9kYWxEZXRhaWxzIiwiYWN0aW9ucyIsIm9wZW4iLCJpbnN0YW5jZSIsImhhbmRsZU5vdGlmaWNhdGlvblNhbXBsZSIsImNoZWNrZWQiLCJwYXJzZWRWYWx1ZSIsInB1bXBfb25seSIsInZhbGlkYXRlVmFsdWVJc05vdEFuT2JqZWN0IiwiX3R5cGVvZjIiLCJpc0FycmF5IiwicGFyc2VOb3RpZmljYXRpb25BZHZhbmNlZFNlbGVjdGlvbiIsIndhdGVyQXV0aG9yaXRpZXMiLCJhbGxfYWR2YW5jZWRfc2VsZWN0aW9ucyIsInNlbGVjdGlvbiIsInBvaW50IiwiaWQiLCJkZWxldGVBdHRyaWJ1dGVzIiwiZm9ybWF0U2VuZFZpYSIsImZvcm1hdHRlZFZhbHVlIiwiZmxhdCIsInBhcnNlU2V2ZXJpdGllcyIsImZvcm1hdE5vdGlmaWNhdGlvbiIsIm5vdGlmaWNhdGlvbkNvcHkiLCJwYXJzZSIsIm5vdGlmaWNhdGlvblRvU2F2ZSIsInVzZXIiLCJhbGVydF9jb25maWdzX2F0dHJpYnV0ZXMiLCJub3RpZmljYXRpb25XaXRoVGltZVN0YW1wIiwibm93IiwiRGF0ZSIsImNvbmNhdCIsImdldFRpbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9jb21wb25lbnRzL05vdGlmaWNhdGlvbnNVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTm90aWZpY2F0aW9uVHlwZSA9IChcbiAgb3B0aW9uLFxuICBub3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IG5vdGlmaWNhdGlvbi5hdmFpbGFibGVfdHlwZXMhLmZpbmQoXG4gICAgKHR5cGUpID0+IHR5cGUgPT09IG9wdGlvbi52YWx1ZSxcbiAgKTtcbiAgaWYgKHZhbHVlKVxuICAgIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgdHlwZTogdmFsdWUsXG4gICAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNldmVyaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgc2V2ZXJpdHk6IHZhbHVlLFxuICB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IGhhbmRsZVdhdGVyQXV0aG9yaXRpZXMgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLndhdGVyX2F1dGhvcml0aWVzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldChcbiAgICB2YWx1ZSxcbiAgICAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIGUsXG4gICAgb3B0aW9uLFxuICAgIHNldE5ld05vdGlmaWNhdGlvbixcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTb3VyY2VzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5wb2ludHMgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAncG9pbnRzJywgZSwgb3B0aW9uLCBzZXROZXdOb3RpZmljYXRpb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVRhZ3MgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+IHwgdW5kZWZpbmVkLFxuICBvcHRpb246IGFueSA9ICcnLFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBjb25zdCB2YWx1ZSA9IHsgLi4ubmV3Tm90aWZpY2F0aW9uLnRhZ3MgfTtcbiAgaGFuZGxlU2VsZWN0aW9uQW5kU2V0KHZhbHVlLCAndGFncycsIGUsIG9wdGlvbiwgc2V0TmV3Tm90aWZpY2F0aW9uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTZW5zb3JzID0gKFxuICBlOiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PiB8IHVuZGVmaW5lZCxcbiAgb3B0aW9uOiBhbnkgPSAnJyxcbiAgbmV3Tm90aWZpY2F0aW9uLFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSB7IC4uLm5ld05vdGlmaWNhdGlvbi5zZW5zb3JzIH07XG4gIGhhbmRsZVNlbGVjdGlvbkFuZFNldCh2YWx1ZSwgJ3NlbnNvcnMnLCBlLCBvcHRpb24sIHNldE5ld05vdGlmaWNhdGlvbik7XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU2VsZWN0aW9uQW5kU2V0ID0gKFxuICB2YWx1ZSxcbiAgZmllbGQ6IHN0cmluZyxcbiAgZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQsXG4gIG9wdGlvbjogYW55ID0gJycsXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbikgPT4ge1xuICBpZiAoZSAhPT0gdW5kZWZpbmVkICYmIGUudGFyZ2V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YWx1ZS5zZWxlY3Rpb25fdHlwZSA9IGUudGFyZ2V0LnZhbHVlO1xuICB9IGVsc2Uge1xuICAgIHZhbHVlLnNlbGVjdGlvbl90eXBlID0gb3B0aW9uLnNlbGVjdGlvbl90eXBlO1xuICB9XG5cbiAgaWYgKHZhbHVlLnNlbGVjdGlvbl90eXBlID09PSAnYWxsJykge1xuICAgIHZhbHVlLnNldCA9IG5ldyBBcnJheSgpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNldDogc3RyaW5nW10gPSBbXTtcbiAgICBvcHRpb24uc2V0Py5mb3JFYWNoKChvcHRpb24pID0+IHtcbiAgICAgIHNldC5wdXNoKEpTT04uc3RyaW5naWZ5KG9wdGlvbi52YWx1ZSkpO1xuICAgIH0pO1xuICAgIHZhbHVlLnNldCA9IHNldDtcbiAgfVxuXG4gIHNldE5ld05vdGlmaWNhdGlvbigocHJldlN0YXRlKSA9PiAoe1xuICAgIC4uLnByZXZTdGF0ZSxcbiAgICBbZmllbGRdOiB2YWx1ZSxcbiAgfSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVNlbmRWaWEgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBuZXdOb3RpZmljYXRpb24sXG4gIHNldE5ld05vdGlmaWNhdGlvbixcbiAgc2V0TW9kYWxEZXRhaWxzLFxuKSA9PiB7XG4gIGNvbnN0IHZhbHVlID0geyAuLi5uZXdOb3RpZmljYXRpb24uYWN0aW9ucyB9O1xuICBjb25zdCBmaWVsZCA9IGUudGFyZ2V0LnZhbHVlO1xuICB2YWx1ZVtmaWVsZF0gPSAhdmFsdWVbZmllbGRdO1xuXG4gIGlmIChmaWVsZCA9PT0gJ3NtcycgfHwgZmllbGQgPT09ICd0ZWxlZ3JhbScpIHtcbiAgICBzZXRNb2RhbERldGFpbHMoeyBvcGVuOiB0cnVlLCBpbnN0YW5jZTogZmllbGQgfSk7XG4gIH1cblxuICBzZXROZXdOb3RpZmljYXRpb24oKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAuLi5wcmV2U3RhdGUsXG4gICAgYWN0aW9uczogdmFsdWUsXG4gIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVOb3RpZmljYXRpb25TYW1wbGUgPSAoXG4gIGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+LFxuICBzZXROZXdOb3RpZmljYXRpb24sXG4pID0+IHtcbiAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC5jaGVja2VkO1xuICBsZXQgcGFyc2VkVmFsdWUgPSB2YWx1ZSA/ICcxJyA6ICcwJztcbiAgc2V0TmV3Tm90aWZpY2F0aW9uKChwcmV2U3RhdGUpID0+ICh7XG4gICAgLi4ucHJldlN0YXRlLFxuICAgIHB1bXBfb25seTogcGFyc2VkVmFsdWUsXG4gIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVZhbHVlSXNOb3RBbk9iamVjdCA9ICh2YWx1ZSkgPT4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiZcbiAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgIHZhbHVlICE9PSB1bmRlZmluZWRcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZU5vdGlmaWNhdGlvbkFkdmFuY2VkU2VsZWN0aW9uID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICAvLyBJZiB0aGVyZSdsbCBiZSBhIGZ1dHVyZSByZXF1aXJlbWVudCB0byBhZGQgYW5vdGhlciBBZHZhbmNlZFNlbGVjdGlvbiBmaWVsZHMsIHBsZWFzZSBhZGQgdGhlbSByaWdodCBiZWxvd1xuXG4gIGxldCBwb2ludHMgPSBub3RpZmljYXRpb24ucG9pbnRzO1xuICBsZXQgd2F0ZXJBdXRob3JpdGllcyA9IG5vdGlmaWNhdGlvbi53YXRlcl9hdXRob3JpdGllcztcbiAgbGV0IHRhZ3MgPSBub3RpZmljYXRpb24udGFncztcbiAgbGV0IHNlbnNvcnMgPSBub3RpZmljYXRpb24uc2Vuc29ycztcblxuICBjb25zdCBhbGxfYWR2YW5jZWRfc2VsZWN0aW9ucyA9IFtwb2ludHMsIHdhdGVyQXV0aG9yaXRpZXMsIHRhZ3MsIHNlbnNvcnNdO1xuXG4gIGFsbF9hZHZhbmNlZF9zZWxlY3Rpb25zLmZvckVhY2goKHNlbGVjdGlvbikgPT4ge1xuICAgIGlmIChcbiAgICAgIHZhbGlkYXRlVmFsdWVJc05vdEFuT2JqZWN0KFxuICAgICAgICBzZWxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiBzZWxlY3Rpb24uc2V0ICE9PSBudWxsICYmIHNlbGVjdGlvbi5zZXRbMF0sXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zdCBzZXQ6IHN0cmluZ1tdID0gW107XG4gICAgICBzZWxlY3Rpb24uc2V0LmZvckVhY2goKHBvaW50KSA9PiB7XG4gICAgICAgIHNldC5wdXNoKEpTT04uc3RyaW5naWZ5KHBvaW50LmlkKSk7XG4gICAgICB9KTtcblxuICAgICAgc2VsZWN0aW9uLnNldCA9IHNldDtcbiAgICB9XG5cbiAgICBpZiAoc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5zZXQgIT09IHVuZGVmaW5lZCAmJiBzZWxlY3Rpb24uc2V0ID09PSBudWxsKSB7XG4gICAgICBzZWxlY3Rpb24uc2V0ID0gW107XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZUF0dHJpYnV0ZXMgPSAobm90aWZpY2F0aW9uLCBuZXdOb3RpZmljYXRpb24pID0+IHtcbiAgLy8gTWFrZSBzdXJlIHRvIHJlbW92ZSB1bm5lY2Vzc2FyeSBhdHRyaWJ1dGVzIGZvciBzb21lIEFsZXJ0Q29uZmlnc1xuXG4gIGRlbGV0ZSBub3RpZmljYXRpb24uYXZhaWxhYmxlX3R5cGVzO1xuICBpZiAoXG4gICAgbmV3Tm90aWZpY2F0aW9uLnR5cGUgIT09ICdQb2xsdXRpb25BbGVydENvbmZpZycgJiZcbiAgICBub3RpZmljYXRpb24udHlwZSAhPT0gJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJ1xuICApXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5zZXZlcml0eTtcbiAgaWYgKFxuICAgIG5ld05vdGlmaWNhdGlvbi50eXBlICE9PSAnUG9sbHV0aW9uQWxlcnRDb25maWcnICYmXG4gICAgbm90aWZpY2F0aW9uLnR5cGUgIT09ICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZydcbiAgKVxuICAgIGRlbGV0ZSBub3RpZmljYXRpb24ucHVtcF9vbmx5O1xuICBpZiAobmV3Tm90aWZpY2F0aW9uLnR5cGUgPT09ICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5wb2ludHM7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJylcbiAgICBkZWxldGUgbm90aWZpY2F0aW9uLnRhZ3M7XG4gIGlmIChuZXdOb3RpZmljYXRpb24udHlwZSAhPT0gJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycpXG4gICAgZGVsZXRlIG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuXG4gIG5vdGlmaWNhdGlvblsnYWxlcnRfdHlwZSddID0gbm90aWZpY2F0aW9uLnR5cGU7XG4gIG5vdGlmaWNhdGlvblsnX2Rlc3Ryb3knXSA9IDA7XG5cbiAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRTZW5kVmlhID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICBsZXQgZm9ybWF0dGVkVmFsdWU6IGFueSA9IFtdO1xuICBpZiAobm90aWZpY2F0aW9uLmFjdGlvbnNbJ3RlbGVncmFtJ10pXG4gICAgZm9ybWF0dGVkVmFsdWUucHVzaChbJ1NlbmRUZWxlZ3JhbUFjdGlvbicsICcwJ10pO1xuICBpZiAobm90aWZpY2F0aW9uLmFjdGlvbnNbJ2VtYWlsJ10pXG4gICAgZm9ybWF0dGVkVmFsdWUucHVzaChbJ1NlbmRFbWFpbEFjdGlvbicsICcwJ10pO1xuICBpZiAobm90aWZpY2F0aW9uLmFjdGlvbnNbJ3NtcyddKSBmb3JtYXR0ZWRWYWx1ZS5wdXNoKFsnU2VuZFNtc0FjdGlvbicsICcwJ10pO1xuICBub3RpZmljYXRpb24uYWN0aW9ucyA9IGZvcm1hdHRlZFZhbHVlLmZsYXQoKTtcblxuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlU2V2ZXJpdGllcyA9IChub3RpZmljYXRpb24pID0+IHtcbiAgbGV0IHZhbHVlO1xuICBzd2l0Y2ggKG5vdGlmaWNhdGlvbi5zZXZlcml0eSkge1xuICAgIGNhc2UgJ21lZGl1bSc6XG4gICAgICB2YWx1ZSA9ICcwJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2hpZ2gnOlxuICAgICAgdmFsdWUgPSAnMSc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdleHRyZW1lJzpcbiAgICAgIHZhbHVlID0gJzInO1xuICB9XG4gIG5vdGlmaWNhdGlvbi5zZXZlcml0eSA9IHZhbHVlO1xuICByZXR1cm4gbm90aWZpY2F0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdE5vdGlmaWNhdGlvbiA9IChuZXdOb3RpZmljYXRpb24pID0+IHtcbiAgbGV0IG5vdGlmaWNhdGlvbkNvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG5ld05vdGlmaWNhdGlvbikpO1xuICBub3RpZmljYXRpb25Db3B5ID0gcGFyc2VOb3RpZmljYXRpb25BZHZhbmNlZFNlbGVjdGlvbihub3RpZmljYXRpb25Db3B5KTtcbiAgbm90aWZpY2F0aW9uQ29weSA9IGZvcm1hdFNlbmRWaWEobm90aWZpY2F0aW9uQ29weSk7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBkZWxldGVBdHRyaWJ1dGVzKG5vdGlmaWNhdGlvbkNvcHksIG5ld05vdGlmaWNhdGlvbik7XG4gIG5vdGlmaWNhdGlvbkNvcHkgPSBwYXJzZVNldmVyaXRpZXMobm90aWZpY2F0aW9uQ29weSk7XG5cbiAgbGV0IG5vdGlmaWNhdGlvblRvU2F2ZSA9IHtcbiAgICB1c2VyOiB7XG4gICAgICBhbGVydF9jb25maWdzX2F0dHJpYnV0ZXM6IHtcbiAgICAgICAgLi4ubm90aWZpY2F0aW9uQ29weSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBub3RpZmljYXRpb25XaXRoVGltZVN0YW1wID0ge1xuICAgIHVzZXI6IHtcbiAgICAgIGFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlczoge30sXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICBub3RpZmljYXRpb25XaXRoVGltZVN0YW1wLnVzZXIuYWxlcnRfY29uZmlnc19hdHRyaWJ1dGVzW2Ake25vdy5nZXRUaW1lKCl9YF0gPVxuICAgIG5vdGlmaWNhdGlvblRvU2F2ZS51c2VyLmFsZXJ0X2NvbmZpZ3NfYXR0cmlidXRlcztcblxuICByZXR1cm4gbm90aWZpY2F0aW9uV2l0aFRpbWVTdGFtcDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUNqQ0MsTUFBTSxFQUNOQyxZQUFZLEVBQ1pDLGtC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
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.waterAuthoritiesRadioButtons = exports.sourcesRadioButtons = exports.severitiesRadioButtons = exports.sendViaCheckBoxes = exports.mockTypes = exports.getNotificationString = exports.getEmptyNotification = void 0;
8
8
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
9
- var mockTypes = exports.mockTypes = ['PollutionAlertConfig', 'DataloggerThresholdAlertConfig', 'DataloggerOverflowAlertConfig', 'DeviceHealthAlertConfig', 'WbeAlertConfig', 'WbeWeeklyDigestAlertConfig', 'RollingEventAlertConfig', 'DataloggerPumpAlertConfig'];
10
- var getEmptyNotification = exports.getEmptyNotification = function getEmptyNotification() {
9
+ var mockTypes = ['PollutionAlertConfig', 'DataloggerThresholdAlertConfig', 'DataloggerOverflowAlertConfig', 'DeviceHealthAlertConfig', 'WbeAlertConfig', 'WbeWeeklyDigestAlertConfig', 'RollingEventAlertConfig', 'DataloggerPumpAlertConfig'];
10
+ exports.mockTypes = mockTypes;
11
+ var getEmptyNotification = function getEmptyNotification() {
11
12
  return {
12
13
  available_types: ['PollutionAlertConfig', 'DataloggerThresholdAlertConfig', 'DataloggerOverflowAlertConfig', 'DeviceHealthAlertConfig', 'WbeAlertConfig', 'WbeWeeklyDigestAlertConfig', 'RollingEventAlertConfig', 'DataloggerPumpAlertConfig'],
13
14
  id: '',
@@ -37,7 +38,8 @@ var getEmptyNotification = exports.getEmptyNotification = function getEmptyNotif
37
38
  pump_only: '0'
38
39
  };
39
40
  };
40
- var severitiesRadioButtons = exports.severitiesRadioButtons = [{
41
+ exports.getEmptyNotification = getEmptyNotification;
42
+ var severitiesRadioButtons = [{
41
43
  label: 'notifications_page.edit_extreme',
42
44
  name: 'severity',
43
45
  value: 'extreme'
@@ -50,7 +52,8 @@ var severitiesRadioButtons = exports.severitiesRadioButtons = [{
50
52
  name: 'severity',
51
53
  value: 'medium'
52
54
  }];
53
- var waterAuthoritiesRadioButtons = exports.waterAuthoritiesRadioButtons = [{
55
+ exports.severitiesRadioButtons = severitiesRadioButtons;
56
+ var waterAuthoritiesRadioButtons = [{
54
57
  label: 'notifications_page.edit_all',
55
58
  name: 'water_authorities',
56
59
  value: 'all'
@@ -63,7 +66,8 @@ var waterAuthoritiesRadioButtons = exports.waterAuthoritiesRadioButtons = [{
63
66
  name: 'water_authorities',
64
67
  value: 'exclude'
65
68
  }];
66
- var sourcesRadioButtons = exports.sourcesRadioButtons = [{
69
+ exports.waterAuthoritiesRadioButtons = waterAuthoritiesRadioButtons;
70
+ var sourcesRadioButtons = [{
67
71
  label: 'notifications_page.edit_all',
68
72
  name: 'sources',
69
73
  value: 'all'
@@ -76,7 +80,8 @@ var sourcesRadioButtons = exports.sourcesRadioButtons = [{
76
80
  name: 'sources',
77
81
  value: 'exclude'
78
82
  }];
79
- var sendViaCheckBoxes = exports.sendViaCheckBoxes = [{
83
+ exports.sourcesRadioButtons = sourcesRadioButtons;
84
+ var sendViaCheckBoxes = [{
80
85
  label: 'notifications_page.edit_telegram',
81
86
  name: 'actions',
82
87
  value: 'telegram'
@@ -89,7 +94,8 @@ var sendViaCheckBoxes = exports.sendViaCheckBoxes = [{
89
94
  name: 'actions',
90
95
  value: 'sms'
91
96
  }];
92
- var getNotificationString = exports.getNotificationString = function getNotificationString(notification) {
97
+ exports.sendViaCheckBoxes = sendViaCheckBoxes;
98
+ var getNotificationString = function getNotificationString(notification) {
93
99
  var transIdx = 'notifications_page.notifications_text.';
94
100
  var title = _i18n.default.t("".concat(transIdx, "title"));
95
101
  var typeString = '';
@@ -125,6 +131,7 @@ var getNotificationString = exports.getNotificationString = function getNotifica
125
131
  }
126
132
  return typeString;
127
133
  };
134
+ exports.getNotificationString = getNotificationString;
128
135
  function getNotificationAlertsString(notification) {
129
136
  var sendVia = notification.actions;
130
137
  var tempArray = [];
@@ -174,4 +181,4 @@ function getNotificationSensorsString(notification) {
174
181
  }
175
182
  return sensorsString;
176
183
  }
177
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwibW9ja1R5cGVzIiwiZXhwb3J0cyIsImdldEVtcHR5Tm90aWZpY2F0aW9uIiwiYXZhaWxhYmxlX3R5cGVzIiwiaWQiLCJ0eXBlIiwic2V2ZXJpdHkiLCJ3YXRlcl9hdXRob3JpdGllcyIsInNlbGVjdGlvbl90eXBlIiwic2V0IiwicG9pbnRzIiwidGFncyIsInNlbnNvcnMiLCJhY3Rpb25zIiwidGVsZWdyYW0iLCJlbWFpbCIsInNtcyIsInB1bXBfb25seSIsInNldmVyaXRpZXNSYWRpb0J1dHRvbnMiLCJsYWJlbCIsIm5hbWUiLCJ2YWx1ZSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJzb3VyY2VzUmFkaW9CdXR0b25zIiwic2VuZFZpYUNoZWNrQm94ZXMiLCJnZXROb3RpZmljYXRpb25TdHJpbmciLCJub3RpZmljYXRpb24iLCJ0cmFuc0lkeCIsInRpdGxlIiwiaTE4biIsInQiLCJjb25jYXQiLCJ0eXBlU3RyaW5nIiwic2FtcGxlU3RyaW5nIiwiZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nIiwiZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmciLCJqb2luIiwiZ2V0Tm90aWZpY2F0aW9uU2Vuc29yc1N0cmluZyIsInNlbmRWaWEiLCJ0ZW1wQXJyYXkiLCJzZW5kVmlhU3RyaW5nIiwia2V5IiwicHVzaCIsImFuZCIsInJlcGxhY2UiLCJzZXZlcml0eVN0cmluZyIsIlN0cmluZ3MiLCJzb3VyY2VzU3RyaW5nIiwibWFwIiwic291cmNlIiwidGV4dCIsImxlbmd0aCIsInNlbnNvcnNTdHJpbmciLCJzZW5zb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICBhdmFpbGFibGVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzZXZlcml0eTogc3RyaW5nO1xuICB3YXRlcl9hdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgYWN0aW9uczogYW55O1xuICBwdW1wX29ubHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlZFNlbGVjdGlvbiB7XG4gIHNlbGVjdGlvbl90eXBlOiBzdHJpbmc7XG4gIHNldDogYW55O1xuICB3YXRlcl9hdXRob3JpdHk/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrVHlwZXM6IGFueSA9IFtcbiAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICdXYmVBbGVydENvbmZpZycsXG4gICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG4gICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyUHVtcEFsZXJ0Q29uZmlnJyxcbl07XG5cbmV4cG9ydCBjb25zdCBnZXRFbXB0eU5vdGlmaWNhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBhdmFpbGFibGVfdHlwZXM6IFtcbiAgICAgICdQb2xsdXRpb25BbGVydENvbmZpZycsXG4gICAgICAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJyxcbiAgICAgICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICAgICAnRGV2aWNlSGVhbHRoQWxlcnRDb25maWcnLFxuICAgICAgJ1diZUFsZXJ0Q29uZmlnJyxcbiAgICAgICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG4gICAgICAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJQdW1wQWxlcnRDb25maWcnLFxuICAgIF0sXG4gICAgaWQ6ICcnLFxuICAgIHR5cGU6ICcnLFxuICAgIHNldmVyaXR5OiAnbWVkaXVtJyxcbiAgICB3YXRlcl9hdXRob3JpdGllczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHBvaW50czoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHRhZ3M6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBzZW5zb3JzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgYWN0aW9uczogeyB0ZWxlZ3JhbTogZmFsc2UsIGVtYWlsOiB0cnVlLCBzbXM6IHRydWUgfSxcbiAgICBwdW1wX29ubHk6ICcwJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXZlcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leHRyZW1lJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnZXh0cmVtZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2hpZ2gnLFxuICAgIG5hbWU6ICdzZXZlcml0eScsXG4gICAgdmFsdWU6ICdoaWdoJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbWVkaXVtJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnbWVkaXVtJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCB3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnaW5jbHVkZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2V4Y2x1ZGUnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzb3VyY2VzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2FsbCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2luY2x1ZGUnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2luY2x1ZGUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leGNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZW5kVmlhQ2hlY2tCb3hlcyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdGVsZWdyYW0nLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ3RlbGVncmFtJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZW1haWwnLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ2VtYWlsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc21zJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICdzbXMnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldE5vdGlmaWNhdGlvblN0cmluZyA9IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICBjb25zdCB0cmFuc0lkeCA9ICdub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lic7XG4gIGNvbnN0IHRpdGxlID0gaTE4bi50KGAke3RyYW5zSWR4fXRpdGxlYCk7XG4gIGxldCB0eXBlU3RyaW5nID0gJyc7XG4gIGxldCBzYW1wbGVTdHJpbmcgPSAnJztcbiAgc2FtcGxlU3RyaW5nID1cbiAgICBub3RpZmljYXRpb24ucHVtcF9vbmx5ID09PSAnMSdcbiAgICAgID8gYCAke2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNhbXBsZXJfYWN0aXZhdGVkJyl9YFxuICAgICAgOiAnLic7XG5cbiAgc3dpdGNoIChub3RpZmljYXRpb24udHlwZSkge1xuICAgIGNhc2UgJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBbXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgaTE4bi50KGAke3RyYW5zSWR4fWFib3V0X3BvbGx1dGlvbl9ldmVudHNgKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pLFxuICAgICAgICBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICB0eXBlU3RyaW5nICs9IHNhbXBsZVN0cmluZztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBbXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgaTE4bi50KGAke3RyYW5zSWR4fWFib3V0X3BvbGx1dGlvbl9ldmVudHNgKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pLFxuICAgICAgICBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICB0eXBlU3RyaW5nICs9IHNhbXBsZVN0cmluZztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udChcbiAgICAgICAgdHJhbnNJZHggKyAnc2Vuc29yc190aHJlc2hvbGRzJyxcbiAgICAgICl9JHtnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbil9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICdvdmVyZmxvd19ldmVudCcpfSwgJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHRyYW5zSWR4LFxuICAgICAgKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkZXZpY2VfbWFsZnVuY3Rpb25pbmcnLFxuICAgICAgKX0gJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX3dlZWtseScpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX2FsZXJ0Jyl9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyUHVtcEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkYXRhbG9nZ2VyX3B1bXAnLFxuICAgICAgKX0sICR7Z2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KX0uYDtcbiAgICAgIGJyZWFrO1xuICB9XG4gIHJldHVybiB0eXBlU3RyaW5nO1xufTtcblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCBzZW5kVmlhID0gbm90aWZpY2F0aW9uLmFjdGlvbnM7XG4gIGxldCB0ZW1wQXJyYXk6IHN0cmluZ1tdID0gW107XG5cbiAgbGV0IHNlbmRWaWFTdHJpbmcgPSAnJztcbiAgZm9yIChjb25zdCBrZXkgaW4gc2VuZFZpYSkge1xuICAgIGlmIChzZW5kVmlhW2tleV0pIHtcbiAgICAgIHRlbXBBcnJheS5wdXNoKGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfJHtrZXl9YCkpO1xuICAgIH1cbiAgfVxuICBzZW5kVmlhU3RyaW5nID0gdGVtcEFycmF5LmpvaW4oJywgJyk7XG4gIGxldCBhbmQgPSBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5ub3RpZmljYXRpb25zX3RleHQuYW5kYCk7XG4gIGFuZCArPSBhbmQgPT09ICcmJyA/ICcgJyA6ICcnO1xuICBzZW5kVmlhU3RyaW5nID0gc2VuZFZpYVN0cmluZy5yZXBsYWNlKC8sXFxzKFteLF0rKSQvLCBgICR7YW5kfSQxYCk7XG4gIHJldHVybiBzZW5kVmlhU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25TZXZlcml0aWVzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCB7IHNldmVyaXR5IH0gPSBub3RpZmljYXRpb247XG4gIGxldCBzZXZlcml0eVN0cmluZyA9ICcnO1xuICBzZXZlcml0eSA9PT0gJ2V4dHJlbWUnXG4gICAgPyAoc2V2ZXJpdHlTdHJpbmcgPSBpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5leHRyZW1lJykpXG4gICAgOiAoc2V2ZXJpdHlTdHJpbmcgPVxuICAgICAgICBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS4ke3NldmVyaXR5fWApICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lm9yX2hpZ2hlcmApKTtcbiAgcmV0dXJuIHNldmVyaXR5U3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpIHtcbiAgY29uc3QgeyBzZXQgfSA9IG5vdGlmaWNhdGlvbi5wb2ludHM7XG4gIGNvbnN0IHsgc2VsZWN0aW9uX3R5cGUgfSA9IG5vdGlmaWNhdGlvbi5wb2ludHM7XG5cbiAgbGV0IFN0cmluZ3M6IHN0cmluZ1tdID0gW107XG4gIGxldCBzb3VyY2VzU3RyaW5nID0gJyc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSA9PT0gJ2FsbCcpXG4gICAgU3RyaW5ncy5wdXNoKGkxOG4udChgJHt0cmFuc0lkeH1pbl9hbGxfc291cmNlc2ApKTtcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnZXhjbHVkZScpXG4gICAgU3RyaW5ncy5wdXNoKGkxOG4udChgJHt0cmFuc0lkeH1leGNsdWRpbmdgKSk7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSA9PT0gJ2luY2x1ZGUnKVxuICAgIHNvdXJjZXNTdHJpbmcgPSBpMThuLnQoYCR7dHJhbnNJZHh9aW5gKSArICcgJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlICE9PSAnYWxsJykgc2V0Lm1hcCgoc291cmNlKSA9PiBTdHJpbmdzLnB1c2goc291cmNlLnRleHQpKTtcbiAgc291cmNlc1N0cmluZyArPSBTdHJpbmdzLmpvaW4oU3RyaW5ncy5sZW5ndGggPiAxID8gJywgJyA6ICcgJyk7XG4gIHJldHVybiBzb3VyY2VzU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCB7IHNldCB9ID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG4gIGNvbnN0IHsgc2VsZWN0aW9uX3R5cGUgfSA9IG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuXG4gIGxldCBTdHJpbmdzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgc2Vuc29yc1N0cmluZyA9ICcnO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnKSB7XG4gICAgc2V0Lm1hcCgoc2Vuc29yKSA9PiBTdHJpbmdzLnB1c2goc2Vuc29yLnRleHQpKTtcbiAgICBzZW5zb3JzU3RyaW5nID0gJzogJztcbiAgICBzZW5zb3JzU3RyaW5nICs9IFN0cmluZ3Muam9pbignLCAnKTtcbiAgfVxuICByZXR1cm4gc2Vuc29yc1N0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQXFCTyxJQUFNQyxTQUFjLEdBQUFDLE9BQUEsQ0FBQUQsU0FBQSxHQUFHLENBQzVCLHNCQUFzQixFQUN0QixnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6QiwyQkFBMkIsQ0FDNUI7QUFFTSxJQUFNRSxvQkFBb0IsR0FBQUQsT0FBQSxDQUFBQyxvQkFBQSxHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUEsRUFBUztFQUN4QyxPQUFPO0lBQ0xDLGVBQWUsRUFBRSxDQUNmLHNCQUFzQixFQUN0QixnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6QiwyQkFBMkIsQ0FDNUI7SUFDREMsRUFBRSxFQUFFLEVBQUU7SUFDTkMsSUFBSSxFQUFFLEVBQUU7SUFDUkMsUUFBUSxFQUFFLFFBQVE7SUFDbEJDLGlCQUFpQixFQUFFO01BQ2pCQyxjQUFjLEVBQUUsS0FBSztNQUNyQkMsR0FBRyxFQUFFO0lBQ1AsQ0FBQztJQUNEQyxNQUFNLEVBQUU7TUFDTkYsY0FBYyxFQUFFLEtBQUs7TUFDckJDLEdBQUcsRUFBRTtJQUNQLENBQUM7SUFDREUsSUFBSSxFQUFFO01BQ0pILGNBQWMsRUFBRSxLQUFLO01BQ3JCQyxHQUFHLEVBQUU7SUFDUCxDQUFDO0lBQ0RHLE9BQU8sRUFBRTtNQUNQSixjQUFjLEVBQUUsS0FBSztNQUNyQkMsR0FBRyxFQUFFO0lBQ1AsQ0FBQztJQUNESSxPQUFPLEVBQUU7TUFBRUMsUUFBUSxFQUFFLEtBQUs7TUFBRUMsS0FBSyxFQUFFLElBQUk7TUFBRUMsR0FBRyxFQUFFO0lBQUssQ0FBQztJQUNwREMsU0FBUyxFQUFFO0VBQ2IsQ0FBQztBQUNILENBQUM7QUFFTSxJQUFNQyxzQkFBc0IsR0FBQWpCLE9BQUEsQ0FBQWlCLHNCQUFBLEdBQUcsQ0FDcEM7RUFDRUMsS0FBSyxFQUFFLGlDQUFpQztFQUN4Q0MsSUFBSSxFQUFFLFVBQVU7RUFDaEJDLEtBQUssRUFBRTtBQUNULENBQUMsRUFDRDtFQUNFRixLQUFLLEVBQUUsOEJBQThCO0VBQ3JDQyxJQUFJLEVBQUUsVUFBVTtFQUNoQkMsS0FBSyxFQUFFO0FBQ1QsQ0FBQyxFQUNEO0VBQ0VGLEtBQUssRUFBRSxnQ0FBZ0M7RUFDdkNDLElBQUksRUFBRSxVQUFVO0VBQ2hCQyxLQUFLLEVBQUU7QUFDVCxDQUFDLENBQ0Y7QUFFTSxJQUFNQyw0QkFBNEIsR0FBQXJCLE9BQUEsQ0FBQXFCLDRCQUFBLEdBQUcsQ0FDMUM7RUFDRUgsS0FBSyxFQUFFLDZCQUE2QjtFQUNwQ0MsSUFBSSxFQUFFLG1CQUFtQjtFQUN6QkMsS0FBSyxFQUFFO0FBQ1QsQ0FBQyxFQUNEO0VBQ0VGLEtBQUssRUFBRSxpQ0FBaUM7RUFDeENDLElBQUksRUFBRSxtQkFBbUI7RUFDekJDLEtBQUssRUFBRTtBQUNULENBQUMsRUFDRDtFQUNFRixLQUFLLEVBQUUsaUNBQWlDO0VBQ3hDQyxJQUFJLEVBQUUsbUJBQW1CO0VBQ3pCQyxLQUFLLEVBQUU7QUFDVCxDQUFDLENBQ0Y7QUFFTSxJQUFNRSxtQkFBbUIsR0FBQXRCLE9BQUEsQ0FBQXNCLG1CQUFBLEdBQUcsQ0FDakM7RUFDRUosS0FBSyxFQUFFLDZCQUE2QjtFQUNwQ0MsSUFBSSxFQUFFLFNBQVM7RUFDZkMsS0FBSyxFQUFFO0FBQ1QsQ0FBQyxFQUNEO0VBQ0VGLEtBQUssRUFBRSxpQ0FBaUM7RUFDeENDLElBQUksRUFBRSxTQUFTO0VBQ2ZDLEtBQUssRUFBRTtBQUNULENBQUMsRUFDRDtFQUNFRixLQUFLLEVBQUUsaUNBQWlDO0VBQ3hDQyxJQUFJLEVBQUUsU0FBUztFQUNmQyxLQUFLLEVBQUU7QUFDVCxDQUFDLENBQ0Y7QUFFTSxJQUFNRyxpQkFBaUIsR0FBQXZCLE9BQUEsQ0FBQXVCLGlCQUFBLEdBQUcsQ0FDL0I7RUFDRUwsS0FBSyxFQUFFLGtDQUFrQztFQUN6Q0MsSUFBSSxFQUFFLFNBQVM7RUFDZkMsS0FBSyxFQUFFO0FBQ1QsQ0FBQyxFQUNEO0VBQ0VGLEtBQUssRUFBRSwrQkFBK0I7RUFDdENDLElBQUksRUFBRSxTQUFTO0VBQ2ZDLEtBQUssRUFBRTtBQUNULENBQUMsRUFDRDtFQUNFRixLQUFLLEVBQUUsNkJBQTZCO0VBQ3BDQyxJQUFJLEVBQUUsU0FBUztFQUNmQyxLQUFLLEVBQUU7QUFDVCxDQUFDLENBQ0Y7QUFFTSxJQUFNSSxxQkFBcUIsR0FBQXhCLE9BQUEsQ0FBQXdCLHFCQUFBLEdBQUcsU0FBeEJBLHFCQUFxQkEsQ0FBSUMsWUFBMEIsRUFBSztFQUNuRSxJQUFNQyxRQUFRLEdBQUcsd0NBQXdDO0VBQ3pELElBQU1DLEtBQUssR0FBR0MsYUFBSSxDQUFDQyxDQUFDLElBQUFDLE1BQUEsQ0FBSUosUUFBUSxVQUFPLENBQUM7RUFDeEMsSUFBSUssVUFBVSxHQUFHLEVBQUU7RUFDbkIsSUFBSUMsWUFBWSxHQUFHLEVBQUU7RUFDckJBLFlBQVksR0FDVlAsWUFBWSxDQUFDVCxTQUFTLEtBQUssR0FBRyxPQUFBYyxNQUFBLENBQ3RCRixhQUFJLENBQUNDLENBQUMsQ0FBQyxzQ0FBc0MsQ0FBQyxJQUNsRCxHQUFHO0VBRVQsUUFBUUosWUFBWSxDQUFDckIsSUFBSTtJQUN2QixLQUFLLHlCQUF5QjtNQUM1QjJCLFVBQVUsR0FBRyxDQUNYSixLQUFLLEVBQ0xNLDJCQUEyQixDQUFDUixZQUFZLENBQUMsRUFDekNHLGFBQUksQ0FBQ0MsQ0FBQyxJQUFBQyxNQUFBLENBQUlKLFFBQVEsMkJBQXdCLENBQUMsRUFDM0NRLCtCQUErQixDQUFDVCxZQUFZLENBQUMsRUFDN0NVLDRCQUE0QixDQUFDVixZQUFZLEVBQUVDLFFBQVEsQ0FBQyxDQUNyRCxDQUFDVSxJQUFJLENBQUMsR0FBRyxDQUFDO01BQ1hMLFVBQVUsSUFBSUMsWUFBWTtNQUMxQjtJQUNGLEtBQUssc0JBQXNCO01BQ3pCRCxVQUFVLEdBQUcsQ0FDWEosS0FBSyxFQUNMTSwyQkFBMkIsQ0FBQ1IsWUFBWSxDQUFDLEVBQ3pDRyxhQUFJLENBQUNDLENBQUMsSUFBQUMsTUFBQSxDQUFJSixRQUFRLDJCQUF3QixDQUFDLEVBQzNDUSwrQkFBK0IsQ0FBQ1QsWUFBWSxDQUFDLEVBQzdDVSw0QkFBNEIsQ0FBQ1YsWUFBWSxFQUFFQyxRQUFRLENBQUMsQ0FDckQsQ0FBQ1UsSUFBSSxDQUFDLEdBQUcsQ0FBQztNQUNYTCxVQUFVLElBQUlDLFlBQVk7TUFDMUI7SUFDRixLQUFLLGdDQUFnQztNQUNuQ0QsVUFBVSxNQUFBRCxNQUFBLENBQU1ILEtBQUssT0FBQUcsTUFBQSxDQUFJRywyQkFBMkIsQ0FDbERSLFlBQ0YsQ0FBQyxPQUFBSyxNQUFBLENBQUlGLGFBQUksQ0FBQ0MsQ0FBQyxDQUNUSCxRQUFRLEdBQUcsb0JBQ2IsQ0FBQyxFQUFBSSxNQUFBLENBQUdPLDRCQUE0QixDQUFDWixZQUFZLENBQUMsTUFBRztNQUNqRDtJQUNGLEtBQUssK0JBQStCO01BQ2xDTSxVQUFVLE1BQUFELE1BQUEsQ0FBTUgsS0FBSyxPQUFBRyxNQUFBLENBQUlHLDJCQUEyQixDQUNsRFIsWUFDRixDQUFDLE9BQUFLLE1BQUEsQ0FBSUYsYUFBSSxDQUFDQyxDQUFDLENBQUNILFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFBSSxNQUFBLENBQUtLLDRCQUE0QixDQUN2RVYsWUFBWSxFQUNaQyxRQUNGLENBQUMsTUFBRztNQUNKO0lBQ0YsS0FBSyx5QkFBeUI7TUFDNUJLLFVBQVUsTUFBQUQsTUFBQSxDQUFNSCxLQUFLLE9BQUFHLE1BQUEsQ0FBSUcsMkJBQTJCLENBQ2xEUixZQUNGLENBQUMsT0FBQUssTUFBQSxDQUFJRixhQUFJLENBQUNDLENBQUMsQ0FDVEgsUUFBUSxHQUFHLHVCQUNiLENBQUMsT0FBQUksTUFBQSxDQUFJSyw0QkFBNEIsQ0FBQ1YsWUFBWSxFQUFFQyxRQUFRLENBQUMsTUFBRztNQUM1RDtJQUNGLEtBQUssNEJBQTRCO01BQy9CSyxVQUFVLE1BQUFELE1BQUEsQ0FBTUgsS0FBSyxPQUFBRyxNQUFBLENBQUlHLDJCQUEyQixDQUNsRFIsWUFDRixDQUFDLE9BQUFLLE1BQUEsQ0FBSUYsYUFBSSxDQUFDQyxDQUFDLENBQUNILFFBQVEsR0FBRyxZQUFZLENBQUMsTUFBRztNQUN2QztJQUNGLEtBQUssZ0JBQWdCO01BQ25CSyxVQUFVLE1BQUFELE1BQUEsQ0FBTUgsS0FBSyxPQUFBRyxNQUFBLENBQUlHLDJCQUEyQixDQUNsRFIsWUFDRixDQUFDLE9BQUFLLE1BQUEsQ0FBSUYsYUFBSSxDQUFDQyxDQUFDLENBQUNILFFBQVEsR0FBRyxXQUFXLENBQUMsTUFBRztNQUN0QztJQUNGLEtBQUssMkJBQTJCO01BQzlCSyxVQUFVLE1BQUFELE1BQUEsQ0FBTUgsS0FBSyxPQUFBRyxNQUFBLENBQUlHLDJCQUEyQixDQUNsRFIsWUFDRixDQUFDLE9BQUFLLE1BQUEsQ0FBSUYsYUFBSSxDQUFDQyxDQUFDLENBQ1RILFFBQVEsR0FBRyxpQkFDYixDQUFDLFFBQUFJLE1BQUEsQ0FBS0ssNEJBQTRCLENBQUNWLFlBQVksRUFBRUMsUUFBUSxDQUFDLE1BQUc7TUFDN0Q7RUFDSjtFQUNBLE9BQU9LLFVBQVU7QUFDbkIsQ0FBQztBQUVELFNBQVNFLDJCQUEyQkEsQ0FBQ1IsWUFBWSxFQUFFO0VBQ2pELElBQU1hLE9BQU8sR0FBR2IsWUFBWSxDQUFDYixPQUFPO0VBQ3BDLElBQUkyQixTQUFtQixHQUFHLEVBQUU7RUFFNUIsSUFBSUMsYUFBYSxHQUFHLEVBQUU7RUFDdEIsS0FBSyxJQUFNQyxHQUFHLElBQUlILE9BQU8sRUFBRTtJQUN6QixJQUFJQSxPQUFPLENBQUNHLEdBQUcsQ0FBQyxFQUFFO01BQ2hCRixTQUFTLENBQUNHLElBQUksQ0FBQ2QsYUFBSSxDQUFDQyxDQUFDLDRCQUFBQyxNQUFBLENBQTRCVyxHQUFHLENBQUUsQ0FBQyxDQUFDO0lBQzFEO0VBQ0Y7RUFDQUQsYUFBYSxHQUFHRCxTQUFTLENBQUNILElBQUksQ0FBQyxJQUFJLENBQUM7RUFDcEMsSUFBSU8sR0FBRyxHQUFHZixhQUFJLENBQUNDLENBQUMsNENBQTRDLENBQUM7RUFDN0RjLEdBQUcsSUFBSUEsR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRTtFQUM3QkgsYUFBYSxHQUFHQSxhQUFhLENBQUNJLE9BQU8sQ0FBQyxhQUFhLE1BQUFkLE1BQUEsQ0FBTWEsR0FBRyxPQUFJLENBQUM7RUFDakUsT0FBT0gsYUFBYTtBQUN0QjtBQUVBLFNBQVNOLCtCQUErQkEsQ0FBQ1QsWUFBWSxFQUFFO0VBQ3JELElBQVFwQixRQUFRLEdBQUtvQixZQUFZLENBQXpCcEIsUUFBUTtFQUNoQixJQUFJd0MsY0FBYyxHQUFHLEVBQUU7RUFDdkJ4QyxRQUFRLEtBQUssU0FBUyxHQUNqQndDLGNBQWMsR0FBR2pCLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLEdBQ3JEZ0IsY0FBYyxHQUNiakIsYUFBSSxDQUFDQyxDQUFDLHVCQUFBQyxNQUFBLENBQXVCekIsUUFBUSxDQUFFLENBQUMsR0FDeEMsR0FBRyxHQUNIdUIsYUFBSSxDQUFDQyxDQUFDLGtEQUFrRCxDQUFFO0VBQ2hFLE9BQU9nQixjQUFjO0FBQ3ZCO0FBRUEsU0FBU1YsNEJBQTRCQSxDQUFDVixZQUFZLEVBQUVDLFFBQVEsRUFBRTtFQUM1RCxJQUFRbEIsR0FBRyxHQUFLaUIsWUFBWSxDQUFDaEIsTUFBTSxDQUEzQkQsR0FBRztFQUNYLElBQVFELGNBQWMsR0FBS2tCLFlBQVksQ0FBQ2hCLE1BQU0sQ0FBdENGLGNBQWM7RUFFdEIsSUFBSXVDLE9BQWlCLEdBQUcsRUFBRTtFQUMxQixJQUFJQyxhQUFhLEdBQUcsRUFBRTtFQUN0QixJQUFJeEMsY0FBYyxLQUFLLEtBQUssRUFDMUJ1QyxPQUFPLENBQUNKLElBQUksQ0FBQ2QsYUFBSSxDQUFDQyxDQUFDLElBQUFDLE1BQUEsQ0FBSUosUUFBUSxtQkFBZ0IsQ0FBQyxDQUFDO0VBQ25ELElBQUluQixjQUFjLEtBQUssU0FBUyxFQUM5QnVDLE9BQU8sQ0FBQ0osSUFBSSxDQUFDZCxhQUFJLENBQUNDLENBQUMsSUFBQUMsTUFBQSxDQUFJSixRQUFRLGNBQVcsQ0FBQyxDQUFDO0VBQzlDLElBQUluQixjQUFjLEtBQUssU0FBUyxFQUM5QndDLGFBQWEsR0FBR25CLGFBQUksQ0FBQ0MsQ0FBQyxJQUFBQyxNQUFBLENBQUlKLFFBQVEsT0FBSSxDQUFDLEdBQUcsR0FBRztFQUMvQyxJQUFJbkIsY0FBYyxLQUFLLEtBQUssRUFBRUMsR0FBRyxDQUFDd0MsR0FBRyxDQUFDLFVBQUNDLE1BQU07SUFBQSxPQUFLSCxPQUFPLENBQUNKLElBQUksQ0FBQ08sTUFBTSxDQUFDQyxJQUFJLENBQUM7RUFBQSxFQUFDO0VBQzVFSCxhQUFhLElBQUlELE9BQU8sQ0FBQ1YsSUFBSSxDQUFDVSxPQUFPLENBQUNLLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQztFQUM5RCxPQUFPSixhQUFhO0FBQ3RCO0FBRUEsU0FBU1YsNEJBQTRCQSxDQUFDWixZQUFZLEVBQUU7RUFDbEQsSUFBUWpCLEdBQUcsR0FBS2lCLFlBQVksQ0FBQ2QsT0FBTyxDQUE1QkgsR0FBRztFQUNYLElBQVFELGNBQWMsR0FBS2tCLFlBQVksQ0FBQ2QsT0FBTyxDQUF2Q0osY0FBYztFQUV0QixJQUFJdUMsT0FBaUIsR0FBRyxFQUFFO0VBQzFCLElBQUlNLGFBQWEsR0FBRyxFQUFFO0VBQ3RCLElBQUk3QyxjQUFjLEtBQUssS0FBSyxFQUFFO0lBQzVCQyxHQUFHLENBQUN3QyxHQUFHLENBQUMsVUFBQ0ssTUFBTTtNQUFBLE9BQUtQLE9BQU8sQ0FBQ0osSUFBSSxDQUFDVyxNQUFNLENBQUNILElBQUksQ0FBQztJQUFBLEVBQUM7SUFDOUNFLGFBQWEsR0FBRyxJQUFJO0lBQ3BCQSxhQUFhLElBQUlOLE9BQU8sQ0FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQztFQUNyQztFQUNBLE9BQU9nQixhQUFhO0FBQ3RCIn0=
184
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwibW9ja1R5cGVzIiwiZXhwb3J0cyIsImdldEVtcHR5Tm90aWZpY2F0aW9uIiwiYXZhaWxhYmxlX3R5cGVzIiwiaWQiLCJ0eXBlIiwic2V2ZXJpdHkiLCJ3YXRlcl9hdXRob3JpdGllcyIsInNlbGVjdGlvbl90eXBlIiwic2V0IiwicG9pbnRzIiwidGFncyIsInNlbnNvcnMiLCJhY3Rpb25zIiwidGVsZWdyYW0iLCJlbWFpbCIsInNtcyIsInB1bXBfb25seSIsInNldmVyaXRpZXNSYWRpb0J1dHRvbnMiLCJsYWJlbCIsIm5hbWUiLCJ2YWx1ZSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJzb3VyY2VzUmFkaW9CdXR0b25zIiwic2VuZFZpYUNoZWNrQm94ZXMiLCJnZXROb3RpZmljYXRpb25TdHJpbmciLCJub3RpZmljYXRpb24iLCJ0cmFuc0lkeCIsInRpdGxlIiwiaTE4biIsInQiLCJjb25jYXQiLCJ0eXBlU3RyaW5nIiwic2FtcGxlU3RyaW5nIiwiZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nIiwiZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmciLCJqb2luIiwiZ2V0Tm90aWZpY2F0aW9uU2Vuc29yc1N0cmluZyIsInNlbmRWaWEiLCJ0ZW1wQXJyYXkiLCJzZW5kVmlhU3RyaW5nIiwia2V5IiwicHVzaCIsImFuZCIsInJlcGxhY2UiLCJzZXZlcml0eVN0cmluZyIsIlN0cmluZ3MiLCJzb3VyY2VzU3RyaW5nIiwibWFwIiwic291cmNlIiwidGV4dCIsImxlbmd0aCIsInNlbnNvcnNTdHJpbmciLCJzZW5zb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICBhdmFpbGFibGVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzZXZlcml0eTogc3RyaW5nO1xuICB3YXRlcl9hdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgYWN0aW9uczogYW55O1xuICBwdW1wX29ubHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlZFNlbGVjdGlvbiB7XG4gIHNlbGVjdGlvbl90eXBlOiBzdHJpbmc7XG4gIHNldDogYW55O1xuICB3YXRlcl9hdXRob3JpdHk/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrVHlwZXM6IGFueSA9IFtcbiAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICdXYmVBbGVydENvbmZpZycsXG4gICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG4gICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyUHVtcEFsZXJ0Q29uZmlnJyxcbl07XG5cbmV4cG9ydCBjb25zdCBnZXRFbXB0eU5vdGlmaWNhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBhdmFpbGFibGVfdHlwZXM6IFtcbiAgICAgICdQb2xsdXRpb25BbGVydENvbmZpZycsXG4gICAgICAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJyxcbiAgICAgICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICAgICAnRGV2aWNlSGVhbHRoQWxlcnRDb25maWcnLFxuICAgICAgJ1diZUFsZXJ0Q29uZmlnJyxcbiAgICAgICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG4gICAgICAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJQdW1wQWxlcnRDb25maWcnLFxuICAgIF0sXG4gICAgaWQ6ICcnLFxuICAgIHR5cGU6ICcnLFxuICAgIHNldmVyaXR5OiAnbWVkaXVtJyxcbiAgICB3YXRlcl9hdXRob3JpdGllczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHBvaW50czoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHRhZ3M6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBzZW5zb3JzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgYWN0aW9uczogeyB0ZWxlZ3JhbTogZmFsc2UsIGVtYWlsOiB0cnVlLCBzbXM6IHRydWUgfSxcbiAgICBwdW1wX29ubHk6ICcwJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXZlcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leHRyZW1lJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnZXh0cmVtZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2hpZ2gnLFxuICAgIG5hbWU6ICdzZXZlcml0eScsXG4gICAgdmFsdWU6ICdoaWdoJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbWVkaXVtJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnbWVkaXVtJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCB3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnaW5jbHVkZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2V4Y2x1ZGUnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzb3VyY2VzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2FsbCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2luY2x1ZGUnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2luY2x1ZGUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leGNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZW5kVmlhQ2hlY2tCb3hlcyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdGVsZWdyYW0nLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ3RlbGVncmFtJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZW1haWwnLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ2VtYWlsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc21zJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICdzbXMnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldE5vdGlmaWNhdGlvblN0cmluZyA9IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICBjb25zdCB0cmFuc0lkeCA9ICdub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lic7XG4gIGNvbnN0IHRpdGxlID0gaTE4bi50KGAke3RyYW5zSWR4fXRpdGxlYCk7XG4gIGxldCB0eXBlU3RyaW5nID0gJyc7XG4gIGxldCBzYW1wbGVTdHJpbmcgPSAnJztcbiAgc2FtcGxlU3RyaW5nID1cbiAgICBub3RpZmljYXRpb24ucHVtcF9vbmx5ID09PSAnMSdcbiAgICAgID8gYCAke2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNhbXBsZXJfYWN0aXZhdGVkJyl9YFxuICAgICAgOiAnLic7XG5cbiAgc3dpdGNoIChub3RpZmljYXRpb24udHlwZSkge1xuICAgIGNhc2UgJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBbXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgaTE4bi50KGAke3RyYW5zSWR4fWFib3V0X3BvbGx1dGlvbl9ldmVudHNgKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pLFxuICAgICAgICBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICB0eXBlU3RyaW5nICs9IHNhbXBsZVN0cmluZztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBbXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgaTE4bi50KGAke3RyYW5zSWR4fWFib3V0X3BvbGx1dGlvbl9ldmVudHNgKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pLFxuICAgICAgICBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICB0eXBlU3RyaW5nICs9IHNhbXBsZVN0cmluZztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udChcbiAgICAgICAgdHJhbnNJZHggKyAnc2Vuc29yc190aHJlc2hvbGRzJyxcbiAgICAgICl9JHtnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbil9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICdvdmVyZmxvd19ldmVudCcpfSwgJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHRyYW5zSWR4LFxuICAgICAgKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkZXZpY2VfbWFsZnVuY3Rpb25pbmcnLFxuICAgICAgKX0gJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX3dlZWtseScpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX2FsZXJ0Jyl9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyUHVtcEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkYXRhbG9nZ2VyX3B1bXAnLFxuICAgICAgKX0sICR7Z2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KX0uYDtcbiAgICAgIGJyZWFrO1xuICB9XG4gIHJldHVybiB0eXBlU3RyaW5nO1xufTtcblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCBzZW5kVmlhID0gbm90aWZpY2F0aW9uLmFjdGlvbnM7XG4gIGxldCB0ZW1wQXJyYXk6IHN0cmluZ1tdID0gW107XG5cbiAgbGV0IHNlbmRWaWFTdHJpbmcgPSAnJztcbiAgZm9yIChjb25zdCBrZXkgaW4gc2VuZFZpYSkge1xuICAgIGlmIChzZW5kVmlhW2tleV0pIHtcbiAgICAgIHRlbXBBcnJheS5wdXNoKGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfJHtrZXl9YCkpO1xuICAgIH1cbiAgfVxuICBzZW5kVmlhU3RyaW5nID0gdGVtcEFycmF5LmpvaW4oJywgJyk7XG4gIGxldCBhbmQgPSBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5ub3RpZmljYXRpb25zX3RleHQuYW5kYCk7XG4gIGFuZCArPSBhbmQgPT09ICcmJyA/ICcgJyA6ICcnO1xuICBzZW5kVmlhU3RyaW5nID0gc2VuZFZpYVN0cmluZy5yZXBsYWNlKC8sXFxzKFteLF0rKSQvLCBgICR7YW5kfSQxYCk7XG4gIHJldHVybiBzZW5kVmlhU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25TZXZlcml0aWVzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCB7IHNldmVyaXR5IH0gPSBub3RpZmljYXRpb247XG4gIGxldCBzZXZlcml0eVN0cmluZyA9ICcnO1xuICBzZXZlcml0eSA9PT0gJ2V4dHJlbWUnXG4gICAgPyAoc2V2ZXJpdHlTdHJpbmcgPSBpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5leHRyZW1lJykpXG4gICAgOiAoc2V2ZXJpdHlTdHJpbmcgPVxuICAgICAgICBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS4ke3NldmVyaXR5fWApICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lm9yX2hpZ2hlcmApKTtcbiAgcmV0dXJuIHNldmVyaXR5U3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpIHtcbiAgY29uc3QgeyBzZXQgfSA9IG5vdGlmaWNhdGlvbi5wb2ludHM7XG4gIGNvbnN0IHsgc2VsZWN0aW9uX3R5cGUgfSA9IG5vdGlmaWNhdGlvbi5wb2ludHM7XG5cbiAgbGV0IFN0cmluZ3M6IHN0cmluZ1tdID0gW107XG4gIGxldCBzb3VyY2VzU3RyaW5nID0gJyc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSA9PT0gJ2FsbCcpXG4gICAgU3RyaW5ncy5wdXNoKGkxOG4udChgJHt0cmFuc0lkeH1pbl9hbGxfc291cmNlc2ApKTtcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnZXhjbHVkZScpXG4gICAgU3RyaW5ncy5wdXNoKGkxOG4udChgJHt0cmFuc0lkeH1leGNsdWRpbmdgKSk7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSA9PT0gJ2luY2x1ZGUnKVxuICAgIHNvdXJjZXNTdHJpbmcgPSBpMThuLnQoYCR7dHJhbnNJZHh9aW5gKSArICcgJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlICE9PSAnYWxsJykgc2V0Lm1hcCgoc291cmNlKSA9PiBTdHJpbmdzLnB1c2goc291cmNlLnRleHQpKTtcbiAgc291cmNlc1N0cmluZyArPSBTdHJpbmdzLmpvaW4oU3RyaW5ncy5sZW5ndGggPiAxID8gJywgJyA6ICcgJyk7XG4gIHJldHVybiBzb3VyY2VzU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCB7IHNldCB9ID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG4gIGNvbnN0IHsgc2VsZWN0aW9uX3R5cGUgfSA9IG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuXG4gIGxldCBTdHJpbmdzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgc2Vuc29yc1N0cmluZyA9ICcnO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnKSB7XG4gICAgc2V0Lm1hcCgoc2Vuc29yKSA9PiBTdHJpbmdzLnB1c2goc2Vuc29yLnRleHQpKTtcbiAgICBzZW5zb3JzU3RyaW5nID0gJzogJztcbiAgICBzZW5zb3JzU3RyaW5nICs9IFN0cmluZ3Muam9pbignLCAnKTtcbiAgfVxuICByZXR1cm4gc2Vuc29yc1N0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQXFCTyxJQUFNQyxTQUFjLEdBQUcsQ0FDNUIsc0JBQXNCLEVBQ3RCLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0IseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDJCQUEyQixDQUM1QjtBQUFDQyxPQUFBLENBQUFELFNBQUEsR0FBQUEsU0FBQTtBQUVLLElBQU1FLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUEsRUFBUztFQUN4QyxPQUFPO0lBQ0xDLGVBQWUsRUFBRSxDQUNmLHNCQUFzQixFQUN0QixnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6QiwyQkFBMkIsQ0FDNUI7SUFDREMsRUFBRSxFQUFFLEVBQUU7SUFDTkMsSUFBSSxFQUFFLEVBQUU7SUFDUkMsUUFBUSxFQUFFLFFBQVE7SUFDbEJDLGlCQUFpQixFQUFFO01BQ2pCQyxjQUFjLEVBQUUsS0FBSztNQUNyQkMsR0FBRyxFQUFFO0lBQ1AsQ0FBQztJQUNEQyxNQUFNLEVBQUU7TUFDTkYsY0FBYyxFQUFFLEtB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