@c8y/ngx-components 1021.52.0 → 1021.54.2

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 (246) hide show
  1. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts +10 -2
  2. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts.map +1 -1
  3. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.model.d.ts +11 -0
  4. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.model.d.ts.map +1 -0
  5. package/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.d.ts +10 -4
  6. package/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.d.ts.map +1 -1
  7. package/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.d.ts +3 -1
  8. package/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.d.ts.map +1 -1
  9. package/alarm-event-selector/alarm-event-selector.model.d.ts +7 -0
  10. package/alarm-event-selector/alarm-event-selector.model.d.ts.map +1 -1
  11. package/core/dashboard/dashboard-child-action.component.d.ts +1 -1
  12. package/core/dashboard/dashboard-child-action.component.d.ts.map +1 -1
  13. package/core/dashboard/dashboard.module.d.ts +29 -29
  14. package/core/dashboard/index.d.ts +3 -0
  15. package/core/dashboard/index.d.ts.map +1 -1
  16. package/core/dashboard/widgets-dashboard.component.d.ts +1 -1
  17. package/core/dashboard/widgets-dashboard.component.d.ts.map +1 -1
  18. package/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.d.ts +1 -1
  19. package/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.d.ts.map +1 -1
  20. package/core/dashboard/wiget-time-context/realtime-control/realtime-control.component.d.ts +1 -1
  21. package/core/dashboard/wiget-time-context/realtime-control/realtime-control.component.d.ts.map +1 -1
  22. package/core/dashboard/wiget-time-context/widget-time-context-date-range.service.d.ts +10 -0
  23. package/core/dashboard/wiget-time-context/widget-time-context-date-range.service.d.ts.map +1 -0
  24. package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts +7 -4
  25. package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts.map +1 -1
  26. package/core/dashboard/wiget-time-context/widget-time-context.model.d.ts +0 -1
  27. package/core/dashboard/wiget-time-context/widget-time-context.model.d.ts.map +1 -1
  28. package/core/date-picker/date-picker.component.d.ts +1 -1
  29. package/core/date-picker/date-picker.component.d.ts.map +1 -1
  30. package/core/date-picker/date-picker.module.d.ts +9 -9
  31. package/core/date-time-picker/close-date-picker.directive.d.ts +1 -1
  32. package/core/date-time-picker/close-date-picker.directive.d.ts.map +1 -1
  33. package/core/date-time-picker/date-time-picker.component.d.ts +6 -3
  34. package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
  35. package/core/date-time-picker/date-time-picker.module.d.ts +11 -11
  36. package/core/date-time-picker/date-time-picker.module.d.ts.map +1 -1
  37. package/core/forms/forms.module.d.ts +18 -18
  38. package/core/forms/required-input-placeholder.directive.d.ts +1 -1
  39. package/core/forms/required-input-placeholder.directive.d.ts.map +1 -1
  40. package/core/router/router.service.d.ts.map +1 -1
  41. package/core/user/user-menu.service.d.ts +36 -11
  42. package/core/user/user-menu.service.d.ts.map +1 -1
  43. package/datapoint-explorer/c8y-ngx-components-datapoint-explorer.d.ts.map +1 -0
  44. package/datapoint-explorer/datapoint-explorer.module.d.ts +7 -0
  45. package/datapoint-explorer/datapoint-explorer.module.d.ts.map +1 -0
  46. package/datapoint-explorer/index.d.ts +2 -0
  47. package/datapoint-explorer/index.d.ts.map +1 -0
  48. package/datapoint-explorer/view/c8y-ngx-components-datapoint-explorer-view.d.ts.map +1 -0
  49. package/datapoint-explorer/view/configuration/naming-dictionary.d.ts +3 -0
  50. package/datapoint-explorer/view/configuration/naming-dictionary.d.ts.map +1 -0
  51. package/datapoint-explorer/view/configuration/workspace-configuration.component.d.ts +38 -0
  52. package/datapoint-explorer/view/configuration/workspace-configuration.component.d.ts.map +1 -0
  53. package/datapoint-explorer/view/configuration/workspace-configuration.model.d.ts +7 -0
  54. package/datapoint-explorer/view/configuration/workspace-configuration.model.d.ts.map +1 -0
  55. package/datapoint-explorer/view/configuration/workspace-configuration.service.d.ts +15 -0
  56. package/datapoint-explorer/view/configuration/workspace-configuration.service.d.ts.map +1 -0
  57. package/datapoint-explorer/view/create-new-report-modal/create-new-report-modal.component.d.ts +25 -0
  58. package/datapoint-explorer/view/create-new-report-modal/create-new-report-modal.component.d.ts.map +1 -0
  59. package/datapoint-explorer/view/datapoint-explorer.component.d.ts +67 -0
  60. package/datapoint-explorer/view/datapoint-explorer.component.d.ts.map +1 -0
  61. package/datapoint-explorer/view/datapoint-explorer.service.d.ts +9 -0
  62. package/datapoint-explorer/view/datapoint-explorer.service.d.ts.map +1 -0
  63. package/datapoint-explorer/view/index.d.ts +2 -0
  64. package/datapoint-explorer/view/index.d.ts.map +1 -0
  65. package/datapoint-explorer/view/send-as-widget-to-report-modal/send-as-widget-to-report-modal.component.d.ts +23 -0
  66. package/datapoint-explorer/view/send-as-widget-to-report-modal/send-as-widget-to-report-modal.component.d.ts.map +1 -0
  67. package/echart/c8y-ngx-components-echart.d.ts.map +1 -0
  68. package/echart/chart-alerts/chart-alerts.component.d.ts +8 -0
  69. package/echart/chart-alerts/chart-alerts.component.d.ts.map +1 -0
  70. package/echart/charts.component.d.ts +63 -0
  71. package/echart/charts.component.d.ts.map +1 -0
  72. package/echart/index.d.ts +5 -0
  73. package/echart/index.d.ts.map +1 -0
  74. package/echart/models/c8y-ngx-components-echart-models.d.ts.map +1 -0
  75. package/echart/models/chart.model.d.ts +37 -0
  76. package/echart/models/chart.model.d.ts.map +1 -0
  77. package/echart/models/datapoints-graph-widget.model.d.ts +126 -0
  78. package/echart/models/datapoints-graph-widget.model.d.ts.map +1 -0
  79. package/echart/models/index.d.ts +4 -0
  80. package/echart/models/index.d.ts.map +1 -0
  81. package/echart/models/svg-icons.model.d.ts +22 -0
  82. package/echart/models/svg-icons.model.d.ts.map +1 -0
  83. package/echart/services/chart-alarms.service.d.ts +17 -0
  84. package/echart/services/chart-alarms.service.d.ts.map +1 -0
  85. package/echart/services/chart-events.service.d.ts +17 -0
  86. package/echart/services/chart-events.service.d.ts.map +1 -0
  87. package/echart/services/chart-realtime.service.d.ts +35 -0
  88. package/echart/services/chart-realtime.service.d.ts.map +1 -0
  89. package/echart/services/chart-types.service.d.ts +15 -0
  90. package/echart/services/chart-types.service.d.ts.map +1 -0
  91. package/echart/services/custom-measurements.service.d.ts +12 -0
  92. package/echart/services/custom-measurements.service.d.ts.map +1 -0
  93. package/echart/services/echarts-options.service.d.ts +143 -0
  94. package/echart/services/echarts-options.service.d.ts.map +1 -0
  95. package/echart/services/y-axis.service.d.ts +17 -0
  96. package/echart/services/y-axis.service.d.ts.map +1 -0
  97. package/esm2022/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.mjs +37 -12
  98. package/esm2022/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.model.mjs +2 -0
  99. package/esm2022/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.mjs +39 -12
  100. package/esm2022/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.mjs +6 -4
  101. package/esm2022/alarm-event-selector/alarm-event-selector.component.mjs +1 -1
  102. package/esm2022/alarm-event-selector/alarm-event-selector.model.mjs +1 -1
  103. package/esm2022/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.mjs +1 -1
  104. package/esm2022/alarms/alarms-filter.component.mjs +3 -3
  105. package/esm2022/core/dashboard/dashboard-child-action.component.mjs +3 -3
  106. package/esm2022/core/dashboard/dashboard.module.mjs +17 -14
  107. package/esm2022/core/dashboard/index.mjs +4 -1
  108. package/esm2022/core/dashboard/widgets-dashboard.component.mjs +9 -9
  109. package/esm2022/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.mjs +11 -9
  110. package/esm2022/core/dashboard/wiget-time-context/realtime-control/realtime-control.component.mjs +8 -7
  111. package/esm2022/core/dashboard/wiget-time-context/widget-time-context-date-range.service.mjs +23 -0
  112. package/esm2022/core/dashboard/wiget-time-context/widget-time-context.component.mjs +70 -26
  113. package/esm2022/core/dashboard/wiget-time-context/widget-time-context.model.mjs +1 -1
  114. package/esm2022/core/date-picker/date-picker.component.mjs +29 -14
  115. package/esm2022/core/date-picker/date-picker.module.mjs +9 -7
  116. package/esm2022/core/date-time-picker/close-date-picker.directive.mjs +4 -3
  117. package/esm2022/core/date-time-picker/date-time-picker.component.mjs +57 -29
  118. package/esm2022/core/date-time-picker/date-time-picker.module.mjs +11 -7
  119. package/esm2022/core/forms/forms.module.mjs +3 -3
  120. package/esm2022/core/forms/ip-range-input-list.component.mjs +5 -5
  121. package/esm2022/core/forms/required-input-placeholder.directive.mjs +4 -3
  122. package/esm2022/core/router/router.service.mjs +1 -1
  123. package/esm2022/core/user/user-menu.service.mjs +57 -17
  124. package/esm2022/datapoint-explorer/c8y-ngx-components-datapoint-explorer.mjs +5 -0
  125. package/esm2022/datapoint-explorer/datapoint-explorer.module.mjs +65 -0
  126. package/esm2022/datapoint-explorer/index.mjs +2 -0
  127. package/esm2022/datapoint-explorer/view/c8y-ngx-components-datapoint-explorer-view.mjs +5 -0
  128. package/esm2022/datapoint-explorer/view/configuration/naming-dictionary.mjs +65 -0
  129. package/esm2022/datapoint-explorer/view/configuration/workspace-configuration.component.mjs +169 -0
  130. package/esm2022/datapoint-explorer/view/configuration/workspace-configuration.model.mjs +2 -0
  131. package/esm2022/datapoint-explorer/view/configuration/workspace-configuration.service.mjs +40 -0
  132. package/esm2022/datapoint-explorer/view/create-new-report-modal/create-new-report-modal.component.mjs +64 -0
  133. package/esm2022/datapoint-explorer/view/datapoint-explorer.component.mjs +279 -0
  134. package/esm2022/datapoint-explorer/view/datapoint-explorer.service.mjs +23 -0
  135. package/esm2022/datapoint-explorer/view/index.mjs +2 -0
  136. package/esm2022/datapoint-explorer/view/send-as-widget-to-report-modal/send-as-widget-to-report-modal.component.mjs +48 -0
  137. package/esm2022/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.mjs +3 -3
  138. package/esm2022/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.mjs +3 -3
  139. package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-file-types/datapoints-exports-selector-file-types.component.mjs +3 -3
  140. package/esm2022/datapoints-export-selector/datapoints-export-selector.component.mjs +3 -3
  141. package/esm2022/device-list/add-smart-group.component.mjs +3 -3
  142. package/esm2022/echart/c8y-ngx-components-echart.mjs +5 -0
  143. package/esm2022/echart/chart-alerts/chart-alerts.component.mjs +16 -0
  144. package/esm2022/echart/charts.component.mjs +560 -0
  145. package/esm2022/echart/index.mjs +5 -0
  146. package/esm2022/echart/models/c8y-ngx-components-echart-models.mjs +5 -0
  147. package/esm2022/echart/models/chart.model.mjs +2 -0
  148. package/esm2022/echart/models/datapoints-graph-widget.model.mjs +17 -0
  149. package/esm2022/echart/models/index.mjs +4 -0
  150. package/esm2022/echart/models/svg-icons.model.mjs +22 -0
  151. package/esm2022/echart/services/chart-alarms.service.mjs +58 -0
  152. package/esm2022/echart/services/chart-events.service.mjs +44 -0
  153. package/esm2022/echart/services/chart-realtime.service.mjs +193 -0
  154. package/esm2022/echart/services/chart-types.service.mjs +102 -0
  155. package/esm2022/echart/services/custom-measurements.service.mjs +52 -0
  156. package/esm2022/echart/services/echarts-options.service.mjs +857 -0
  157. package/esm2022/echart/services/y-axis.service.mjs +150 -0
  158. package/esm2022/interval-picker/interval-picker.component.mjs +3 -3
  159. package/esm2022/interval-picker/interval-picker.model.mjs +1 -1
  160. package/esm2022/report-dashboard/index.mjs +2 -1
  161. package/esm2022/time-context/c8y-ngx-components-time-context.mjs +5 -0
  162. package/esm2022/time-context/index.mjs +2 -0
  163. package/esm2022/time-context/time-context.component.mjs +217 -0
  164. package/esm2022/time-context/time-context.service.mjs +83 -0
  165. package/esm2022/translation-editor/lazy/translation-editor/translation-editor.component.mjs +6 -5
  166. package/esm2022/widgets/cockpit-exports/index.mjs +8 -1
  167. package/esm2022/widgets/definitions/datapoints-graph/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +5 -0
  168. package/esm2022/widgets/definitions/datapoints-graph/index.mjs +31 -0
  169. package/esm2022/widgets/definitions/index.mjs +3 -2
  170. package/esm2022/widgets/implementations/datapoints-graph/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +5 -0
  171. package/esm2022/widgets/implementations/datapoints-graph/datapoints-graph-config/datapoints-graph-widget-config.component.mjs +239 -0
  172. package/esm2022/widgets/implementations/datapoints-graph/datapoints-graph-view/datapoints-graph-widget-view.component.mjs +241 -0
  173. package/esm2022/widgets/implementations/datapoints-graph/index.mjs +3 -0
  174. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +80 -28
  175. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  176. package/fesm2022/c8y-ngx-components-alarms.mjs +2 -2
  177. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  178. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +658 -0
  179. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -0
  180. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +72 -0
  181. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs.map +1 -0
  182. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +4 -4
  183. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  184. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +4 -4
  185. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  186. package/fesm2022/c8y-ngx-components-device-list.mjs +2 -2
  187. package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
  188. package/fesm2022/c8y-ngx-components-echart-models.mjs +46 -0
  189. package/fesm2022/c8y-ngx-components-echart-models.mjs.map +1 -0
  190. package/fesm2022/c8y-ngx-components-echart.mjs +2023 -0
  191. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -0
  192. package/fesm2022/c8y-ngx-components-interval-picker.mjs +2 -2
  193. package/fesm2022/c8y-ngx-components-interval-picker.mjs.map +1 -1
  194. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +1 -1
  195. package/fesm2022/c8y-ngx-components-time-context.mjs +300 -0
  196. package/fesm2022/c8y-ngx-components-time-context.mjs.map +1 -0
  197. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +5 -4
  198. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
  199. package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs +7 -0
  200. package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs.map +1 -1
  201. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +38 -0
  202. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs.map +1 -0
  203. package/fesm2022/c8y-ngx-components-widgets-definitions.mjs +2 -1
  204. package/fesm2022/c8y-ngx-components-widgets-definitions.mjs.map +1 -1
  205. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +467 -0
  206. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -0
  207. package/fesm2022/c8y-ngx-components.mjs +429 -277
  208. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  209. package/interval-picker/interval-picker.component.d.ts.map +1 -1
  210. package/interval-picker/interval-picker.model.d.ts.map +1 -1
  211. package/locales/de.po +206 -279
  212. package/locales/es.po +206 -279
  213. package/locales/fr.po +206 -279
  214. package/locales/ja_JP.po +196 -279
  215. package/locales/ko.po +455 -444
  216. package/locales/locales.pot +200 -0
  217. package/locales/nl.po +206 -279
  218. package/locales/pl.po +206 -279
  219. package/locales/pt_BR.po +206 -279
  220. package/locales/zh_CN.po +450 -443
  221. package/locales/zh_TW.po +452 -445
  222. package/package.json +1 -1
  223. package/report-dashboard/index.d.ts +1 -0
  224. package/report-dashboard/index.d.ts.map +1 -1
  225. package/time-context/c8y-ngx-components-time-context.d.ts.map +1 -0
  226. package/time-context/index.d.ts +2 -0
  227. package/time-context/index.d.ts.map +1 -0
  228. package/time-context/time-context.component.d.ts +61 -0
  229. package/time-context/time-context.component.d.ts.map +1 -0
  230. package/time-context/time-context.service.d.ts +25 -0
  231. package/time-context/time-context.service.d.ts.map +1 -0
  232. package/translation-editor/lazy/translation-editor/translation-editor.component.d.ts.map +1 -1
  233. package/widgets/cockpit-exports/index.d.ts +6 -0
  234. package/widgets/cockpit-exports/index.d.ts.map +1 -1
  235. package/widgets/definitions/datapoints-graph/c8y-ngx-components-widgets-definitions-datapoints-graph.d.ts.map +1 -0
  236. package/widgets/definitions/datapoints-graph/index.d.ts +16 -0
  237. package/widgets/definitions/datapoints-graph/index.d.ts.map +1 -0
  238. package/widgets/definitions/index.d.ts +1 -0
  239. package/widgets/definitions/index.d.ts.map +1 -1
  240. package/widgets/implementations/datapoints-graph/c8y-ngx-components-widgets-implementations-datapoints-graph.d.ts.map +1 -0
  241. package/widgets/implementations/datapoints-graph/datapoints-graph-config/datapoints-graph-widget-config.component.d.ts +43 -0
  242. package/widgets/implementations/datapoints-graph/datapoints-graph-config/datapoints-graph-widget-config.component.d.ts.map +1 -0
  243. package/widgets/implementations/datapoints-graph/datapoints-graph-view/datapoints-graph-widget-view.component.d.ts +54 -0
  244. package/widgets/implementations/datapoints-graph/datapoints-graph-view/datapoints-graph-widget-view.component.d.ts.map +1 -0
  245. package/widgets/implementations/datapoints-graph/index.d.ts +3 -0
  246. package/widgets/implementations/datapoints-graph/index.d.ts.map +1 -0
@@ -0,0 +1,5 @@
1
+ export * from './charts.component';
2
+ export * from './services/chart-alarms.service';
3
+ export * from './services/chart-events.service';
4
+ export * from './models';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9lY2hhcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NoYXJ0cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jaGFydC1hbGFybXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NoYXJ0LWV2ZW50cy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzh5LW5neC1jb21wb25lbnRzLWVjaGFydC1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lY2hhcnQvbW9kZWxzL2M4eS1uZ3gtY29tcG9uZW50cy1lY2hhcnQtbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lY2hhcnQvbW9kZWxzL2NoYXJ0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFQ0Jhc2ljT3B0aW9uLCBUb29sdGlwRm9ybWF0dGVyQ2FsbGJhY2sgfSBmcm9tICdlY2hhcnRzL3R5cGVzL3NyYy91dGlsL3R5cGVzJztcbmltcG9ydCB7IE1hcmtMaW5lRGF0YSwgTWFya1BvaW50RGF0YSwgU2VyaWVzVmFsdWUgfSBmcm9tICcuL2RhdGFwb2ludHMtZ3JhcGgtd2lkZ2V0Lm1vZGVsJztcbmltcG9ydCB7IFRvcExldmVsRm9ybWF0dGVyUGFyYW1zIH0gZnJvbSAnZWNoYXJ0cy90eXBlcy9zcmMvY29tcG9uZW50L3Rvb2x0aXAvVG9vbHRpcE1vZGVsJztcblxuLyoqXG4gKiBAcGFyYW0gdHlwZU9mU2VyaWVzIGlzIHVzZWQgZm9yIGZvcm1hdHRlciB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGV2ZW50cy9hbGFybXMgc2VyaWVzXG4gKiBAcGFyYW0gaXNEcFRlbXBsYXRlU2VsZWN0ZWQgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBpZiB0aGUgc2VyaWVzIGhhdmUgYSBzcGVjaWZpYyBkcCB0ZW1wbGF0ZSBzZWxlY3RlZC4gRS5nLiBmb3IgY2FzZSB3aGVuIGEgZGV2aWNlIGhhcyAyIG1lYXN1cmVtZW50cyBhbmQgMiBzZXJpZXMgYXJlIGNyZWF0ZWQgZm9yIGVhY2ggbWVhc3VyZW1lbnRcbiAqIEBwYXJhbSBpZCBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gc2VyaWVzXG4gKiBAcGFyYW0gZGF0YSBpcyB1c2VkIHRvIHN0b3JlIHRoZSBkYXRhIGZvciB0aGUgc2VyaWVzXG4gKiBAcGFyYW0gaXRlbVN0eWxlIGlzIHVzZWQgdG8gc2V0IHRoZSBjb2xvciBvZiB0aGUgc2VyaWVzXG4gKi9cbmludGVyZmFjZSBNb2RpZmllZEN1c3RvbVNlcmllc09wdGlvbnMgZXh0ZW5kcyBlY2hhcnRzLkVDaGFydHNPcHRpb24ge1xuICB0eXBlT2ZTZXJpZXM/OiAnYWxhcm0nIHwgJ2V2ZW50JyB8IG51bGw7XG4gIGlzRHBUZW1wbGF0ZVNlbGVjdGVkPzogYm9vbGVhbjtcbiAgaWQ6IHN0cmluZztcbiAgZGF0YTogU2VyaWVzVmFsdWVbXTtcbiAgaXRlbVN0eWxlOiB7IGNvbG9yOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBjdXN0b21TZXJpZXNNYXJrTGluZURhdGEge1xuICBkYXRhOiBNYXJrTGluZURhdGFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBjdXN0b21TZXJpZXNNYXJrUG9pbnREYXRhIHtcbiAgZGF0YTogTWFya1BvaW50RGF0YVtdO1xufVxuXG5leHBvcnQgdHlwZSBDdXN0b21TZXJpZXNPcHRpb25zID0gT21pdDxNb2RpZmllZEN1c3RvbVNlcmllc09wdGlvbnMsICd0b29sdGlwJz47XG5leHBvcnQgaW50ZXJmYWNlIEVjaGFydHNDdXN0b21PcHRpb25zIGV4dGVuZHMgRUNCYXNpY09wdGlvbiB7XG4gIHRvb2x0aXA6IHtcbiAgICBmb3JtYXR0ZXI6IFRvb2x0aXBGb3JtYXR0ZXJDYWxsYmFjazxUb3BMZXZlbEZvcm1hdHRlclBhcmFtcz4gfCBzdHJpbmc7XG4gIH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZWFzdXJlbWVudFNlcmllcyB7XG4gIG1pbjogbnVtYmVyIHwgbnVsbDtcbiAgbWF4OiBudW1iZXIgfCBudWxsO1xufVxuIl19
@@ -0,0 +1,17 @@
1
+ import { gettext } from '@c8y/ngx-components';
2
+ export var DATE_SELECTION_EXTENDED;
3
+ (function (DATE_SELECTION_EXTENDED) {
4
+ DATE_SELECTION_EXTENDED["CONFIG"] = "config";
5
+ DATE_SELECTION_EXTENDED["DASHBOARD_CONTEXT"] = "dashboard_context";
6
+ })(DATE_SELECTION_EXTENDED || (DATE_SELECTION_EXTENDED = {}));
7
+ export const REALTIME_TEXTS = {
8
+ ACTIVE: gettext('Realtime active'),
9
+ INACTIVE: gettext('Realtime inactive')
10
+ };
11
+ export const SEVERITY_LABELS = {
12
+ CRITICAL: gettext('Critical`alarm`'),
13
+ MAJOR: gettext('Major`alarm`'),
14
+ MINOR: gettext('Minor`alarm`'),
15
+ WARNING: gettext('Warning`alarm`')
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXBvaW50cy1ncmFwaC13aWRnZXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lY2hhcnQvbW9kZWxzL2RhdGFwb2ludHMtZ3JhcGgtd2lkZ2V0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBbUIsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUF1RC9ELE1BQU0sQ0FBTixJQUFZLHVCQUdYO0FBSEQsV0FBWSx1QkFBdUI7SUFDakMsNENBQWlCLENBQUE7SUFDakIsa0VBQXVDLENBQUE7QUFDekMsQ0FBQyxFQUhXLHVCQUF1QixLQUF2Qix1QkFBdUIsUUFHbEM7QUFvREQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUM7SUFDbEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztDQUM5QixDQUFDO0FBc0JYLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixRQUFRLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFlO0lBQ2xELEtBQUssRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFZO0lBQ3pDLEtBQUssRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFZO0lBQ3pDLE9BQU8sRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQWM7Q0FDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYSVNfVFlQRVMsXG4gIENIQVJUX0xJTkVfVFlQRVMsXG4gIENIQVJUX1JFTkRFUl9UWVBFUyxcbiAgS1BJRGV0YWlsc1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBEYXRlVGltZUNvbnRleHQsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IGFnZ3JlZ2F0aW9uVHlwZSwgQWxhcm1TdGF0dXNUeXBlLCBJTWVhc3VyZW1lbnQsIElTZXJpZXMsIFNldmVyaXR5IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHR5cGUgeyBCYXJTZXJpZXNPcHRpb24sIExpbmVTZXJpZXNPcHRpb24sIFNjYXR0ZXJTZXJpZXNPcHRpb24gfSBmcm9tICdlY2hhcnRzJztcbmltcG9ydCB7IEFsYXJtRGV0YWlscywgRXZlbnREZXRhaWxzIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9hbGFybS1ldmVudC1zZWxlY3Rvcic7XG5pbXBvcnQgeyBUb29sdGlwRm9ybWF0dGVyQ2FsbGJhY2sgfSBmcm9tICdlY2hhcnRzL3R5cGVzL3NyYy91dGlsL3R5cGVzJztcbmltcG9ydCB7IFRvcExldmVsRm9ybWF0dGVyUGFyYW1zIH0gZnJvbSAnZWNoYXJ0cy90eXBlcy9zcmMvY29tcG9uZW50L3Rvb2x0aXAvVG9vbHRpcE1vZGVsJztcbmltcG9ydCB7IEludGVydmFsIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9pbnRlcnZhbC1waWNrZXInO1xuXG5leHBvcnQgdHlwZSBEYXRhcG9pbnRzR3JhcGhLUElEZXRhaWxzID0gS1BJRGV0YWlscyAmIHtcbiAgbGluZVR5cGU/OiBEYXRhcG9pbnRMaW5lVHlwZTtcbiAgcmVuZGVyVHlwZT86IERhdGFwb2ludENoYXJ0UmVuZGVyVHlwZTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFwb2ludHNHcmFwaFdpZGdldENvbmZpZyA9IHtcbiAgYWN0aXZlQWxhcm1UeXBlc091dE9mUmFuZ2U/OiBzdHJpbmdbXTtcbiAgYWdncmVnYXRpb24/OiBhZ2dyZWdhdGlvblR5cGUgfCBudWxsO1xuICBhbGFybXNFdmVudHNDb25maWdzPzogQWxhcm1PckV2ZW50RXh0ZW5kZWRbXTtcbiAgZGF0YXBvaW50cz86IERhdGFwb2ludHNHcmFwaEtQSURldGFpbHNbXSB8IG51bGw7XG4gIGRhdGU/OiBEYXRlVGltZUNvbnRleHQ7XG4gIGRhdGVGcm9tPzogRGF0ZSB8IG51bGw7XG4gIGRhdGVUbz86IERhdGUgfCBudWxsO1xuICBkaXNwbGF5QWdncmVnYXRpb25TZWxlY3Rpb24/OiBib29sZWFuIHwgbnVsbDtcbiAgZGlzcGxheURhdGVTZWxlY3Rpb24/OiBib29sZWFuIHwgbnVsbDtcbiAgZGlzcGxheU1hcmtlZExpbmU/OiBib29sZWFuO1xuICBkaXNwbGF5TWFya2VkUG9pbnQ/OiBib29sZWFuO1xuICBpbnRlcnZhbD86IEludGVydmFsWydpZCddIHwgbnVsbDtcbiAgbWVyZ2VNYXRjaGluZ0RhdGFwb2ludHM/OiBib29sZWFuO1xuICByZWFsdGltZT86IGJvb2xlYW4gfCBudWxsO1xuICBzaG93TGFiZWxBbmRVbml0PzogYm9vbGVhbjtcbiAgc2hvd1NsaWRlcj86IGJvb2xlYW4gfCBudWxsO1xuICBzbGlkZXJDaGFuZ2U/OiBib29sZWFuIHwgbnVsbDtcbiAgd2lkZ2V0SW5zdGFuY2VHbG9iYWxUaW1lQ29udGV4dD86IGJvb2xlYW4gfCBudWxsO1xuICB4QXhpc1NwbGl0TGluZXM/OiBib29sZWFuIHwgbnVsbDtcbiAgeUF4aXNTcGxpdExpbmVzPzogYm9vbGVhbiB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBBbGFybURldGFpbHNFeHRlbmRlZCA9IEFsYXJtRGV0YWlscyAmIHtcbiAgX19oaWRkZW4/OiBib29sZWFuO1xuICBfX3NldmVyaXR5PzogU2V2ZXJpdHlUeXBlW107XG4gIF9fc3RhdHVzPzogQWxhcm1TdGF0dXNUeXBlW107XG59O1xuXG5leHBvcnQgdHlwZSBFdmVudERldGFpbHNFeHRlbmRlZCA9IEV2ZW50RGV0YWlscyAmIHtcbiAgX19oaWRkZW4/OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb246IEV4dGVuZGVkIEFsYXJtT3JFdmVudCB0eXBlIHdoaWNoIGluY2x1ZGVzIHByb3BlcnRpZXMgZnJvbSB0aGUgaW5jb21pbmcgYWxhcm1zL2V2ZW50cy4gVGhpcyBpbnRlcmZhY2UgY2FuIGJlIHVzZWQgd2hlbiB0aGUgZXhwZWN0ZWQgZGF0YSBjYW4gYmUgZWl0aGVyIGV2ZW50cyBvciBhbGFybXMuXG4gKi9cbmV4cG9ydCB0eXBlIEFsYXJtT3JFdmVudEV4dGVuZGVkID0gQWxhcm1EZXRhaWxzRXh0ZW5kZWQgfCBFdmVudERldGFpbHNFeHRlbmRlZDtcblxuZXhwb3J0IHR5cGUgRGF0YXBvaW50c0dyYXBoV2lkZ2V0VGltZVByb3BzID0gUGFydGlhbDxcbiAgUGljazxEYXRhcG9pbnRzR3JhcGhXaWRnZXRDb25maWcsICdpbnRlcnZhbCcgfCAnZGF0ZUZyb20nIHwgJ2RhdGVUbycgfCAnYWdncmVnYXRpb24nIHwgJ3JlYWx0aW1lJz5cbj47XG5cbmV4cG9ydCBlbnVtIERBVEVfU0VMRUNUSU9OX0VYVEVOREVEIHtcbiAgQ09ORklHID0gJ2NvbmZpZycsXG4gIERBU0hCT0FSRF9DT05URVhUID0gJ2Rhc2hib2FyZF9jb250ZXh0J1xufVxuXG50eXBlIERhdGFwb2ludEFwaVZhbHVlcyA9IElTZXJpZXNbJ3ZhbHVlcyddO1xuZXhwb3J0IGludGVyZmFjZSBEcFdpdGhWYWx1ZXMgZXh0ZW5kcyBEYXRhcG9pbnRzR3JhcGhLUElEZXRhaWxzIHtcbiAgdmFsdWVzOiBEYXRhcG9pbnRBcGlWYWx1ZXM7XG59XG5cbnR5cGUgRGF0YVBvaW50VmFsdWVzID0ge1xuICBtaW46IG51bWJlcjtcbiAgbWF4OiBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgRHBWYWx1ZXNJdGVtID0ge1xuICB0aW1lOiBudW1iZXI7XG4gIHZhbHVlczogRGF0YVBvaW50VmFsdWVzW107XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hcmtQb2ludERhdGEge1xuICBjb29yZDogW3N0cmluZywgbnVtYmVyIHwgRGF0YVBvaW50VmFsdWVzIHwgbnVsbF07XG4gIG5hbWU6IHN0cmluZztcbiAgaXRlbVR5cGU6IHN0cmluZztcbiAgaXRlbVN0eWxlOiB7IGNvbG9yOiBzdHJpbmcgfTtcbiAgc3ltYm9sPzogc3RyaW5nOyAvLyBTeW1ib2wgdG8gZGlzcGxheSBmb3IgdGhlIG1hcmsgcG9pbnQgKHJlZmVyZW5jZSB0byBJQ09OU19NQVApXG4gIHN5bWJvbFNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFya0xpbmVEYXRhIHtcbiAgeEF4aXM6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgaXRlbVR5cGU6IHN0cmluZztcbiAgbGFiZWw6IHtcbiAgICBzaG93OiBib29sZWFuO1xuICAgIGZvcm1hdHRlcjogVG9vbHRpcEZvcm1hdHRlckNhbGxiYWNrPFRvcExldmVsRm9ybWF0dGVyUGFyYW1zPiB8IHN0cmluZztcbiAgfTtcbiAgaXRlbVN0eWxlOiB7IGNvbG9yOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lQ29udGV4dFByb3BzIHtcbiAgdGVtcG9yYXJ5VXNlclNlbGVjdGVkRnJvbURhdGU/OiBzdHJpbmc7XG4gIHRlbXBvcmFyeVVzZXJTZWxlY3RlZFRvRGF0ZT86IHN0cmluZztcbiAgY3VycmVudERhdGVDb250ZXh0RnJvbURhdGU/OiBzdHJpbmc7XG4gIGN1cnJlbnREYXRlQ29udGV4dFRvRGF0ZT86IHN0cmluZztcbiAgcmVhbHRpbWU/OiBib29sZWFuO1xuICBjdXJyZW50RGF0ZUNvbnRleHRJbnRlcnZhbD86ICdtaW51dGVzJyB8ICdob3VycycgfCAnZGF5cycgfCAnd2Vla3MnIHwgJ21vbnRocycgfCAnY3VzdG9tJztcbiAgYWdncmVnYXRpb24/OiBhZ2dyZWdhdGlvblR5cGUgfCBudWxsO1xufVxuXG5leHBvcnQgdHlwZSBEYXRhcG9pbnRMaW5lVHlwZSA9ICh0eXBlb2YgQ0hBUlRfTElORV9UWVBFUylbbnVtYmVyXVsndmFsJ107XG5leHBvcnQgdHlwZSBFY2hhcnRzU2VyaWVzT3B0aW9ucyA9IExpbmVTZXJpZXNPcHRpb24gfCBTY2F0dGVyU2VyaWVzT3B0aW9uIHwgQmFyU2VyaWVzT3B0aW9uO1xuXG5leHBvcnQgdHlwZSBEYXRhcG9pbnRBeGlzVHlwZSA9ICh0eXBlb2YgQVhJU19UWVBFUylbbnVtYmVyXVsndmFsJ107XG5cbmV4cG9ydCB0eXBlIERhdGFwb2ludENoYXJ0UmVuZGVyVHlwZSA9ICh0eXBlb2YgQ0hBUlRfUkVOREVSX1RZUEVTKVtudW1iZXJdWyd2YWwnXTtcblxuZXhwb3J0IGNvbnN0IFJFQUxUSU1FX1RFWFRTID0ge1xuICBBQ1RJVkU6IGdldHRleHQoJ1JlYWx0aW1lIGFjdGl2ZScpLFxuICBJTkFDVElWRTogZ2V0dGV4dCgnUmVhbHRpbWUgaW5hY3RpdmUnKVxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgRGF0ZVN0cmluZyA9IHN0cmluZztcbmV4cG9ydCB0eXBlIFNlcmllc1ZhbHVlID0gW0RhdGVTdHJpbmcsIG51bWJlcl07XG5cbmV4cG9ydCB0eXBlIERhdGFwb2ludFJlYWx0aW1lTWVhc3VyZW1lbnRzID0ge1xuICBtZWFzdXJlbWVudDogSU1lYXN1cmVtZW50O1xuICBkYXRhcG9pbnQ6IERhdGFwb2ludHNHcmFwaEtQSURldGFpbHM7XG59O1xuXG5leHBvcnQgdHlwZSBZQXhpc09wdGlvbnMgPSB7XG4gIHNob3dTcGxpdExpbmVzOiBib29sZWFuO1xuICBtZXJnZU1hdGNoaW5nRGF0YXBvaW50czogYm9vbGVhbjtcbiAgc2hvd0xhYmVsQW5kVW5pdDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VyaWVzRGF0YXBvaW50SW5mbyB7XG4gIGRhdGFwb2ludElkPzogc3RyaW5nO1xuICBkYXRhcG9pbnRMYWJlbD86IHN0cmluZztcbiAgZGF0YXBvaW50VW5pdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFNFVkVSSVRZX0xBQkVMUyA9IHtcbiAgQ1JJVElDQUw6IGdldHRleHQoJ0NyaXRpY2FsYGFsYXJtYCcpIGFzICdDUklUSUNBTCcsXG4gIE1BSk9SOiBnZXR0ZXh0KCdNYWpvcmBhbGFybWAnKSBhcyAnTUFKT1InLFxuICBNSU5PUjogZ2V0dGV4dCgnTWlub3JgYWxhcm1gJykgYXMgJ01JTk9SJyxcbiAgV0FSTklORzogZ2V0dGV4dCgnV2FybmluZ2BhbGFybWAnKSBhcyAnV0FSTklORydcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFNldmVyaXR5VHlwZSA9IGtleW9mIHR5cGVvZiBTZXZlcml0eTtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './datapoints-graph-widget.model';
2
+ export * from './chart.model';
3
+ export * from './svg-icons.model';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lY2hhcnQvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0YXBvaW50cy1ncmFwaC13aWRnZXQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3N2Zy1pY29ucy5tb2RlbCc7XG4iXX0=
@@ -0,0 +1,22 @@
1
+ var ICONS;
2
+ (function (ICONS) {
3
+ ICONS["ALARM"] = "path://M18.375 15.8462L20.4423 17.9135V18.9231H4V17.9135L6.06731 15.8462V10.75C6.06731 9.14744 6.47596 7.75321 7.29327 6.56731C8.11058 5.38141 9.24038 4.61218 10.6827 4.25962V3.53846C10.6827 3.12179 10.8269 2.76122 11.1154 2.45673C11.4038 2.15224 11.7724 2 12.2212 2C12.6699 2 13.0385 2.15224 13.3269 2.45673C13.6154 2.76122 13.7596 3.12179 13.7596 3.53846V4.25962C15.2019 4.61218 16.3317 5.38141 17.149 6.56731C17.9663 7.75321 18.375 9.14744 18.375 10.75V15.8462ZM12.2212 22C11.6442 22 11.1554 21.8077 10.7548 21.4231C10.3542 21.0385 10.1538 20.5577 10.1538 19.9808H14.2885C14.2885 20.5256 14.0801 20.9984 13.6635 21.399C13.2468 21.7997 12.766 22 12.2212 22Z";
4
+ ICONS["EVENT"] = "path://M97.3013 63L128.939 95.1315C79.296 134.335 47.7653 191.526 47.7653 255.276C47.7653 319.027 79.296 376.218 128.917 415.421L97.28 447.574C37.76 400.552 0 331.93 0 255.276C0 178.622 37.76 110.001 97.3013 63ZM414.72 63C474.24 110.001 512 178.622 512 255.276C512 331.93 474.24 400.552 414.72 447.574L383.083 415.421C432.704 376.218 464.235 319.027 464.235 255.276C464.235 191.526 432.704 134.335 383.083 95.1315L414.72 63ZM160.405 127.092L192 159.181C162.24 182.681 143.317 217.013 143.317 255.276C143.317 293.539 162.219 327.871 192 351.372L160.405 383.461C120.725 352.119 95.552 306.379 95.552 255.276C95.552 204.174 120.725 158.433 160.405 127.092ZM351.595 127.092C391.296 158.433 416.448 204.174 416.448 255.276C416.448 306.379 391.275 352.119 351.595 383.461L320 351.372C349.781 327.871 368.683 293.539 368.683 255.276C368.683 217.013 349.781 182.703 320 159.181L351.595 127.092ZM256 192.722C291.505 192.722 320.287 221.504 320.287 257.009C320.287 292.514 291.505 321.296 256 321.296C220.495 321.296 191.713 292.514 191.713 257.009C191.713 221.504 220.495 192.722 256 192.722Z";
5
+ ICONS["ACKNOWLEDGED"] = "path://M10.4795 2H13.4807V4.18054C14.1215 4.35248 14.7155 4.61821 15.2626 4.97773C15.8097 5.35287 16.2864 5.79836 16.6928 6.31419C17.0993 6.81438 17.4119 7.3771 17.6307 8.00234C17.8652 8.62759 17.9824 9.29191 17.9824 9.99531V13.7702L16.9742 12.762V12.7855L9.72919 5.54045C9.74482 5.54045 9.75264 5.54045 9.75264 5.54045L9.00234 4.79015C9.22118 4.64947 9.45565 4.53224 9.70574 4.43845C9.95584 4.34467 10.2138 4.25869 10.4795 4.18054V2ZM4.4068 3.03165L21.4291 20.0305L19.9988 21.4373L17.5604 18.9988H13.6917C13.7855 19.1551 13.8558 19.3193 13.9027 19.4912C13.9496 19.6475 13.973 19.8195 13.973 20.007C13.973 20.5541 13.7776 21.0231 13.3869 21.4138C12.9961 21.8046 12.5272 22 11.9801 22C11.4174 22 10.9406 21.8046 10.5498 21.4138C10.159 21.0231 9.96366 20.5541 9.96366 20.007C9.96366 19.8195 9.9871 19.6475 10.034 19.4912C10.0809 19.3193 10.1512 19.1551 10.245 18.9988H3.96131V17.9906L5.97773 15.9977V9.99531C5.97773 9.60453 6.00899 9.22939 6.07151 8.86987C6.14967 8.51036 6.25127 8.15866 6.37632 7.81477L3 4.43845L4.4068 3.03165Z";
6
+ ICONS["CLEARED"] = "path://M9.09375 19.5977C9.09375 20.2617 9.32812 20.8281 9.79688 21.2969C10.2786 21.7656 10.8516 22 11.5156 22C12.1927 22 12.7656 21.7656 13.2344 21.2969C13.7161 20.8281 13.957 20.2617 13.957 19.5977H9.09375ZM16.8672 10.418C16.3203 10.5091 15.7995 10.6784 15.3047 10.9258C14.8229 11.1732 14.3867 11.4922 13.9961 11.8828C13.5013 12.3776 13.1172 12.944 12.8438 13.582C12.5833 14.2201 12.4531 14.8841 12.4531 15.5742C12.4531 16.0299 12.5052 16.4727 12.6094 16.9023C12.7266 17.332 12.8958 17.7422 13.1172 18.1328H3V16.375C4.04167 16.0495 4.74479 15.3919 5.10938 14.4023C5.47396 13.4128 5.76693 12.3385 5.98828 11.1797C6.20964 10.0208 6.48958 8.88802 6.82812 7.78125C7.16667 6.6875 7.83724 5.85417 8.83984 5.28125C9.11328 5.125 9.32812 4.91667 9.48438 4.65625C9.64062 4.38281 9.71875 4.08984 9.71875 3.77734C9.71875 3.28255 9.88802 2.86589 10.2266 2.52734C10.5781 2.17578 11.0013 2 11.4961 2C11.9909 2 12.4076 2.17578 12.7461 2.52734C13.0977 2.86589 13.2734 3.28255 13.2734 3.77734C13.2734 4.08984 13.3516 4.38281 13.5078 4.65625C13.6771 4.91667 13.8984 5.125 14.1719 5.28125C15.0443 5.78906 15.6562 6.51172 16.0078 7.44922C16.3724 8.38672 16.6589 9.3763 16.8672 10.418ZM11.4961 4.48047C11.6914 4.48047 11.8607 4.41536 12.0039 4.28516C12.1471 4.14193 12.2188 3.97266 12.2188 3.77734C12.2188 3.56901 12.1471 3.39974 12.0039 3.26953C11.8607 3.1263 11.6914 3.05469 11.4961 3.05469C11.3008 3.05469 11.1315 3.1263 10.9883 3.26953C10.8451 3.39974 10.7734 3.56901 10.7734 3.77734C10.7734 3.97266 10.8451 4.14193 10.9883 4.28516C11.1315 4.41536 11.3008 4.48047 11.4961 4.48047ZM16.9062 17.6055L19.9922 14.5195L19.2305 13.7773L16.9062 16.1016L15.8906 15.0859L15.1289 15.8477L16.9062 17.6055ZM17.5312 11.8633C18.5599 11.8633 19.4388 12.2279 20.168 12.957C20.8971 13.6862 21.2617 14.5651 21.2617 15.5938C21.2617 16.6224 20.8971 17.5013 20.168 18.2305C19.4388 18.9596 18.5599 19.3242 17.5312 19.3242C16.5026 19.3242 15.6237 18.9596 14.8945 18.2305C14.1654 17.5013 13.8008 16.6224 13.8008 15.5938C13.8008 14.5651 14.1654 13.6862 14.8945 12.957C15.6237 12.2279 16.5026 11.8633 17.5312 11.8633Z";
7
+ ICONS["MINOR"] = "path://M21.9787 11.9894L11.9894 22L2 11.9894L11.9894 2L21.9787 11.9894ZM12.9052 16.5474V14.7157H11.0735V16.5474H12.9052ZM12.9052 12.9052V7.45261H11.0735V12.9052H12.9052Z";
8
+ ICONS["MAJOR"] = "path://M12.8936 13.8936V10.234H11.1064V13.8936H12.8936ZM12.8936 17.5106V15.6809H11.1064V17.5106H12.8936ZM2 20.234L12 3L22 20.234H2Z";
9
+ ICONS["CRITICAL"] = "path://M12.0117 22C10.6362 22 9.3388 21.7343 8.11958 21.2028C6.90035 20.687 5.83744 19.9758 4.93083 19.0692C4.02423 18.1626 3.31301 17.0996 2.79719 15.8804C2.26573 14.6768 2 13.3794 2 11.9883C2 10.6127 2.26573 9.31536 2.79719 8.09613C3.31301 6.89254 4.02423 5.83744 4.93083 4.93083C5.83744 4.02423 6.90035 3.3052 8.11958 2.77374C9.3388 2.25791 10.6362 2 12.0117 2C13.3873 2 14.6846 2.25791 15.9039 2.77374C17.1231 3.3052 18.186 4.02423 19.0926 4.93083C19.9992 5.83744 20.7104 6.89254 21.2263 8.09613C21.7577 9.31536 22.0234 10.6127 22.0234 11.9883C22.0234 13.3794 21.7577 14.6768 21.2263 15.8804C20.7104 17.0996 19.9992 18.1626 19.0926 19.0692C18.186 19.9758 17.1231 20.687 15.9039 21.2028C14.6846 21.7343 13.3873 22 12.0117 22ZM13.0199 6.99414H11.0035V12.9965H13.0199V6.99414ZM13.0199 14.9894H11.0035V17.0059H13.0199V14.9894Z";
10
+ ICONS["WARNING"] = "path://M12 2C13.3772 2 14.6761 2.25822 15.8967 2.77465C17.1174 3.29108 18.1815 4.00313 19.0892 4.9108C19.9969 5.81847 20.7089 6.88263 21.2254 8.10329C21.7418 9.32394 22 10.6228 22 12C22 13.3772 21.7418 14.6761 21.2254 15.8967C20.7089 17.1174 19.9969 18.1815 19.0892 19.0892C18.1815 19.9969 17.1174 20.7089 15.8967 21.2254C14.6761 21.7418 13.3772 22 12 22C10.6228 22 9.32394 21.7418 8.10329 21.2254C6.88263 20.7089 5.81847 19.9969 4.9108 19.0892C4.00313 18.1815 3.29108 17.1174 2.77465 15.8967C2.25822 14.6761 2 13.3772 2 12C2 10.6228 2.25822 9.32394 2.77465 8.10329C3.29108 6.88263 4.00313 5.81847 4.9108 4.9108C5.81847 4.00313 6.88263 3.29108 8.10329 2.77465C9.32394 2.25822 10.6228 2 12 2Z";
11
+ })(ICONS || (ICONS = {}));
12
+ export const ICONS_MAP = {
13
+ ALARM: ICONS.ALARM,
14
+ EVENT: ICONS.EVENT,
15
+ ACKNOWLEDGED: ICONS.ACKNOWLEDGED,
16
+ CLEARED: ICONS.CLEARED,
17
+ MINOR: ICONS.MINOR,
18
+ MAJOR: ICONS.MAJOR,
19
+ CRITICAL: ICONS.CRITICAL,
20
+ WARNING: ICONS.WARNING
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLWljb25zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZWNoYXJ0L21vZGVscy9zdmctaWNvbnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSyxLQVNKO0FBVEQsV0FBSyxLQUFLO0lBQ1Isc3FCQUE2cEIsQ0FBQTtJQUM3cEIsOGtDQUFxa0MsQ0FBQTtJQUNya0MsNmhDQUFvaEMsQ0FBQTtJQUNwaEMsOGlFQUFxaUUsQ0FBQTtJQUNyaUUsNExBQW1MLENBQUE7SUFDbkwsc0pBQTZJLENBQUE7SUFDN0ksZzFCQUF1MEIsQ0FBQTtJQUN2MEIsd3NCQUErckIsQ0FBQTtBQUNqc0IsQ0FBQyxFQVRJLEtBQUssS0FBTCxLQUFLLFFBU1Q7QUFFRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDdkIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO0lBQ2xCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztJQUNsQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7SUFDaEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO0lBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztJQUNsQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7SUFDbEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO0lBQ3hCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZW51bSBJQ09OUyB7XG4gIEFMQVJNID0gJ3BhdGg6Ly9NMTguMzc1IDE1Ljg0NjJMMjAuNDQyMyAxNy45MTM1VjE4LjkyMzFINFYxNy45MTM1TDYuMDY3MzEgMTUuODQ2MlYxMC43NUM2LjA2NzMxIDkuMTQ3NDQgNi40NzU5NiA3Ljc1MzIxIDcuMjkzMjcgNi41NjczMUM4LjExMDU4IDUuMzgxNDEgOS4yNDAzOCA0LjYxMjE4IDEwLjY4MjcgNC4yNTk2MlYzLjUzODQ2QzEwLjY4MjcgMy4xMjE3OSAxMC44MjY5IDIuNzYxMjIgMTEuMTE1NCAyLjQ1NjczQzExLjQwMzggMi4xNTIyNCAxMS43NzI0IDIgMTIuMjIxMiAyQzEyLjY2OTkgMiAxMy4wMzg1IDIuMTUyMjQgMTMuMzI2OSAyLjQ1NjczQzEzLjYxNTQgMi43NjEyMiAxMy43NTk2IDMuMTIxNzkgMTMuNzU5NiAzLjUzODQ2VjQuMjU5NjJDMTUuMjAxOSA0LjYxMjE4IDE2LjMzMTcgNS4zODE0MSAxNy4xNDkgNi41NjczMUMxNy45NjYzIDcuNzUzMjEgMTguMzc1IDkuMTQ3NDQgMTguMzc1IDEwLjc1VjE1Ljg0NjJaTTEyLjIyMTIgMjJDMTEuNjQ0MiAyMiAxMS4xNTU0IDIxLjgwNzcgMTAuNzU0OCAyMS40MjMxQzEwLjM1NDIgMjEuMDM4NSAxMC4xNTM4IDIwLjU1NzcgMTAuMTUzOCAxOS45ODA4SDE0LjI4ODVDMTQuMjg4NSAyMC41MjU2IDE0LjA4MDEgMjAuOTk4NCAxMy42NjM1IDIxLjM5OUMxMy4yNDY4IDIxLjc5OTcgMTIuNzY2IDIyIDEyLjIyMTIgMjJaJyxcbiAgRVZFTlQgPSAncGF0aDovL005Ny4zMDEzIDYzTDEyOC45MzkgOTUuMTMxNUM3OS4yOTYgMTM0LjMzNSA0Ny43NjUzIDE5MS41MjYgNDcuNzY1MyAyNTUuMjc2QzQ3Ljc2NTMgMzE5LjAyNyA3OS4yOTYgMzc2LjIxOCAxMjguOTE3IDQxNS40MjFMOTcuMjggNDQ3LjU3NEMzNy43NiA0MDAuNTUyIDAgMzMxLjkzIDAgMjU1LjI3NkMwIDE3OC42MjIgMzcuNzYgMTEwLjAwMSA5Ny4zMDEzIDYzWk00MTQuNzIgNjNDNDc0LjI0IDExMC4wMDEgNTEyIDE3OC42MjIgNTEyIDI1NS4yNzZDNTEyIDMzMS45MyA0NzQuMjQgNDAwLjU1MiA0MTQuNzIgNDQ3LjU3NEwzODMuMDgzIDQxNS40MjFDNDMyLjcwNCAzNzYuMjE4IDQ2NC4yMzUgMzE5LjAyNyA0NjQuMjM1IDI1NS4yNzZDNDY0LjIzNSAxOTEuNTI2IDQzMi43MDQgMTM0LjMzNSAzODMuMDgzIDk1LjEzMTVMNDE0LjcyIDYzWk0xNjAuNDA1IDEyNy4wOTJMMTkyIDE1OS4xODFDMTYyLjI0IDE4Mi42ODEgMTQzLjMxNyAyMTcuMDEzIDE0My4zMTcgMjU1LjI3NkMxNDMuMzE3IDI5My41MzkgMTYyLjIxOSAzMjcuODcxIDE5MiAzNTEuMzcyTDE2MC40MDUgMzgzLjQ2MUMxMjAuNzI1IDM1Mi4xMTkgOTUuNTUyIDMwNi4zNzkgOTUuNTUyIDI1NS4yNzZDOTUuNTUyIDIwNC4xNzQgMTIwLjcyNSAxNTguNDMzIDE2MC40MDUgMTI3LjA5MlpNMzUxLjU5NSAxMjcuMDkyQzM5MS4yOTYgMTU4LjQzMyA0MTYuNDQ4IDIwNC4xNzQgNDE2LjQ0OCAyNTUuMjc2QzQxNi40NDggMzA2LjM3OSAzOTEuMjc1IDM1Mi4xMTkgMzUxLjU5NSAzODMuNDYxTDMyMCAzNTEuMzcyQzM0OS43ODEgMzI3Ljg3MSAzNjguNjgzIDI5My41MzkgMzY4LjY4MyAyNTUuMjc2QzM2OC42ODMgMjE3LjAxMyAzNDkuNzgxIDE4Mi43MDMgMzIwIDE1OS4xODFMMzUxLjU5NSAxMjcuMDkyWk0yNTYgMTkyLjcyMkMyOTEuNTA1IDE5Mi43MjIgMzIwLjI4NyAyMjEuNTA0IDMyMC4yODcgMjU3LjAwOUMzMjAuMjg3IDI5Mi41MTQgMjkxLjUwNSAzMjEuMjk2IDI1NiAzMjEuMjk2QzIyMC40OTUgMzIxLjI5NiAxOTEuNzEzIDI5Mi41MTQgMTkxLjcxMyAyNTcuMDA5QzE5MS43MTMgMjIxLjUwNCAyMjAuNDk1IDE5Mi43MjIgMjU2IDE5Mi43MjJaJyxcbiAgQUNLTk9XTEVER0VEID0gJ3BhdGg6Ly9NMTAuNDc5NSAySDEzLjQ4MDdWNC4xODA1NEMxNC4xMjE1IDQuMzUyNDggMTQuNzE1NSA0LjYxODIxIDE1LjI2MjYgNC45Nzc3M0MxNS44MDk3IDUuMzUyODcgMTYuMjg2NCA1Ljc5ODM2IDE2LjY5MjggNi4zMTQxOUMxNy4wOTkzIDYuODE0MzggMTcuNDExOSA3LjM3NzEgMTcuNjMwNyA4LjAwMjM0QzE3Ljg2NTIgOC42Mjc1OSAxNy45ODI0IDkuMjkxOTEgMTcuOTgyNCA5Ljk5NTMxVjEzLjc3MDJMMTYuOTc0MiAxMi43NjJWMTIuNzg1NUw5LjcyOTE5IDUuNTQwNDVDOS43NDQ4MiA1LjU0MDQ1IDkuNzUyNjQgNS41NDA0NSA5Ljc1MjY0IDUuNTQwNDVMOS4wMDIzNCA0Ljc5MDE1QzkuMjIxMTggNC42NDk0NyA5LjQ1NTY1IDQuNTMyMjQgOS43MDU3NCA0LjQzODQ1QzkuOTU1ODQgNC4zNDQ2NyAxMC4yMTM4IDQuMjU4NjkgMTAuNDc5NSA0LjE4MDU0VjJaTTQuNDA2OCAzLjAzMTY1TDIxLjQyOTEgMjAuMDMwNUwxOS45OTg4IDIxLjQzNzNMMTcuNTYwNCAxOC45OTg4SDEzLjY5MTdDMTMuNzg1NSAxOS4xNTUxIDEzLjg1NTggMTkuMzE5MyAxMy45MDI3IDE5LjQ5MTJDMTMuOTQ5NiAxOS42NDc1IDEzLjk3MyAxOS44MTk1IDEzLjk3MyAyMC4wMDdDMTMuOTczIDIwLjU1NDEgMTMuNzc3NiAyMS4wMjMxIDEzLjM4NjkgMjEuNDEzOEMxMi45OTYxIDIxLjgwNDYgMTIuNTI3MiAyMiAxMS45ODAxIDIyQzExLjQxNzQgMjIgMTAuOTQwNiAyMS44MDQ2IDEwLjU0OTggMjEuNDEzOEMxMC4xNTkgMjEuMDIzMSA5Ljk2MzY2IDIwLjU1NDEgOS45NjM2NiAyMC4wMDdDOS45NjM2NiAxOS44MTk1IDkuOTg3MSAxOS42NDc1IDEwLjAzNCAxOS40OTEyQzEwLjA4MDkgMTkuMzE5MyAxMC4xNTEyIDE5LjE1NTEgMTAuMjQ1IDE4Ljk5ODhIMy45NjEzMVYxNy45OTA2TDUuOTc3NzMgMTUuOTk3N1Y5Ljk5NTMxQzUuOTc3NzMgOS42MDQ1MyA2LjAwODk5IDkuMjI5MzkgNi4wNzE1MSA4Ljg2OTg3QzYuMTQ5NjcgOC41MTAzNiA2LjI1MTI3IDguMTU4NjYgNi4zNzYzMiA3LjgxNDc3TDMgNC40Mzg0NUw0LjQwNjggMy4wMzE2NVonLFxuICBDTEVBUkVEID0gJ3BhdGg6Ly9NOS4wOTM3NSAxOS41OTc3QzkuMDkzNzUgMjAuMjYxNyA5LjMyODEyIDIwLjgyODEgOS43OTY4OCAyMS4yOTY5QzEwLjI3ODYgMjEuNzY1NiAxMC44NTE2IDIyIDExLjUxNTYgMjJDMTIuMTkyNyAyMiAxMi43NjU2IDIxLjc2NTYgMTMuMjM0NCAyMS4yOTY5QzEzLjcxNjEgMjAuODI4MSAxMy45NTcgMjAuMjYxNyAxMy45NTcgMTkuNTk3N0g5LjA5Mzc1Wk0xNi44NjcyIDEwLjQxOEMxNi4zMjAzIDEwLjUwOTEgMTUuNzk5NSAxMC42Nzg0IDE1LjMwNDcgMTAuOTI1OEMxNC44MjI5IDExLjE3MzIgMTQuMzg2NyAxMS40OTIyIDEzLjk5NjEgMTEuODgyOEMxMy41MDEzIDEyLjM3NzYgMTMuMTE3MiAxMi45NDQgMTIuODQzOCAxMy41ODJDMTIuNTgzMyAxNC4yMjAxIDEyLjQ1MzEgMTQuODg0MSAxMi40NTMxIDE1LjU3NDJDMTIuNDUzMSAxNi4wMjk5IDEyLjUwNTIgMTYuNDcyNyAxMi42MDk0IDE2LjkwMjNDMTIuNzI2NiAxNy4zMzIgMTIuODk1OCAxNy43NDIyIDEzLjExNzIgMTguMTMyOEgzVjE2LjM3NUM0LjA0MTY3IDE2LjA0OTUgNC43NDQ3OSAxNS4zOTE5IDUuMTA5MzggMTQuNDAyM0M1LjQ3Mzk2IDEzLjQxMjggNS43NjY5MyAxMi4zMzg1IDUuOTg4MjggMTEuMTc5N0M2LjIwOTY0IDEwLjAyMDggNi40ODk1OCA4Ljg4ODAyIDYuODI4MTIgNy43ODEyNUM3LjE2NjY3IDYuNjg3NSA3LjgzNzI0IDUuODU0MTcgOC44Mzk4NCA1LjI4MTI1QzkuMTEzMjggNS4xMjUgOS4zMjgxMiA0LjkxNjY3IDkuNDg0MzggNC42NTYyNUM5LjY0MDYyIDQuMzgyODEgOS43MTg3NSA0LjA4OTg0IDkuNzE4NzUgMy43NzczNEM5LjcxODc1IDMuMjgyNTUgOS44ODgwMiAyLjg2NTg5IDEwLjIyNjYgMi41MjczNEMxMC41NzgxIDIuMTc1NzggMTEuMDAxMyAyIDExLjQ5NjEgMkMxMS45OTA5IDIgMTIuNDA3NiAyLjE3NTc4IDEyLjc0NjEgMi41MjczNEMxMy4wOTc3IDIuODY1ODkgMTMuMjczNCAzLjI4MjU1IDEzLjI3MzQgMy43NzczNEMxMy4yNzM0IDQuMDg5ODQgMTMuMzUxNiA0LjM4MjgxIDEzLjUwNzggNC42NTYyNUMxMy42NzcxIDQuOTE2NjcgMTMuODk4NCA1LjEyNSAxNC4xNzE5IDUuMjgxMjVDMTUuMDQ0MyA1Ljc4OTA2IDE1LjY1NjIgNi41MTE3MiAxNi4wMDc4IDcuNDQ5MjJDMTYuMzcyNCA4LjM4NjcyIDE2LjY1ODkgOS4zNzYzIDE2Ljg2NzIgMTAuNDE4Wk0xMS40OTYxIDQuNDgwNDdDMTEuNjkxNCA0LjQ4MDQ3IDExLjg2MDcgNC40MTUzNiAxMi4wMDM5IDQuMjg1MTZDMTIuMTQ3MSA0LjE0MTkzIDEyLjIxODggMy45NzI2NiAxMi4yMTg4IDMuNzc3MzRDMTIuMjE4OCAzLjU2OTAxIDEyLjE0NzEgMy4zOTk3NCAxMi4wMDM5IDMuMjY5NTNDMTEuODYwNyAzLjEyNjMgMTEuNjkxNCAzLjA1NDY5IDExLjQ5NjEgMy4wNTQ2OUMxMS4zMDA4IDMuMDU0NjkgMTEuMTMxNSAzLjEyNjMgMTAuOTg4MyAzLjI2OTUzQzEwLjg0NTEgMy4zOTk3NCAxMC43NzM0IDMuNTY5MDEgMTAuNzczNCAzLjc3NzM0QzEwLjc3MzQgMy45NzI2NiAxMC44NDUxIDQuMTQxOTMgMTAuOTg4MyA0LjI4NTE2QzExLjEzMTUgNC40MTUzNiAxMS4zMDA4IDQuNDgwNDcgMTEuNDk2MSA0LjQ4MDQ3Wk0xNi45MDYyIDE3LjYwNTVMMTkuOTkyMiAxNC41MTk1TDE5LjIzMDUgMTMuNzc3M0wxNi45MDYyIDE2LjEwMTZMMTUuODkwNiAxNS4wODU5TDE1LjEyODkgMTUuODQ3N0wxNi45MDYyIDE3LjYwNTVaTTE3LjUzMTIgMTEuODYzM0MxOC41NTk5IDExLjg2MzMgMTkuNDM4OCAxMi4yMjc5IDIwLjE2OCAxMi45NTdDMjAuODk3MSAxMy42ODYyIDIxLjI2MTcgMTQuNTY1MSAyMS4yNjE3IDE1LjU5MzhDMjEuMjYxNyAxNi42MjI0IDIwLjg5NzEgMTcuNTAxMyAyMC4xNjggMTguMjMwNUMxOS40Mzg4IDE4Ljk1OTYgMTguNTU5OSAxOS4zMjQyIDE3LjUzMTIgMTkuMzI0MkMxNi41MDI2IDE5LjMyNDIgMTUuNjIzNyAxOC45NTk2IDE0Ljg5NDUgMTguMjMwNUMxNC4xNjU0IDE3LjUwMTMgMTMuODAwOCAxNi42MjI0IDEzLjgwMDggMTUuNTkzOEMxMy44MDA4IDE0LjU2NTEgMTQuMTY1NCAxMy42ODYyIDE0Ljg5NDUgMTIuOTU3QzE1LjYyMzcgMTIuMjI3OSAxNi41MDI2IDExLjg2MzMgMTcuNTMxMiAxMS44NjMzWicsXG4gIE1JTk9SID0gJ3BhdGg6Ly9NMjEuOTc4NyAxMS45ODk0TDExLjk4OTQgMjJMMiAxMS45ODk0TDExLjk4OTQgMkwyMS45Nzg3IDExLjk4OTRaTTEyLjkwNTIgMTYuNTQ3NFYxNC43MTU3SDExLjA3MzVWMTYuNTQ3NEgxMi45MDUyWk0xMi45MDUyIDEyLjkwNTJWNy40NTI2MUgxMS4wNzM1VjEyLjkwNTJIMTIuOTA1MlonLFxuICBNQUpPUiA9ICdwYXRoOi8vTTEyLjg5MzYgMTMuODkzNlYxMC4yMzRIMTEuMTA2NFYxMy44OTM2SDEyLjg5MzZaTTEyLjg5MzYgMTcuNTEwNlYxNS42ODA5SDExLjEwNjRWMTcuNTEwNkgxMi44OTM2Wk0yIDIwLjIzNEwxMiAzTDIyIDIwLjIzNEgyWicsXG4gIENSSVRJQ0FMID0gJ3BhdGg6Ly9NMTIuMDExNyAyMkMxMC42MzYyIDIyIDkuMzM4OCAyMS43MzQzIDguMTE5NTggMjEuMjAyOEM2LjkwMDM1IDIwLjY4NyA1LjgzNzQ0IDE5Ljk3NTggNC45MzA4MyAxOS4wNjkyQzQuMDI0MjMgMTguMTYyNiAzLjMxMzAxIDE3LjA5OTYgMi43OTcxOSAxNS44ODA0QzIuMjY1NzMgMTQuNjc2OCAyIDEzLjM3OTQgMiAxMS45ODgzQzIgMTAuNjEyNyAyLjI2NTczIDkuMzE1MzYgMi43OTcxOSA4LjA5NjEzQzMuMzEzMDEgNi44OTI1NCA0LjAyNDIzIDUuODM3NDQgNC45MzA4MyA0LjkzMDgzQzUuODM3NDQgNC4wMjQyMyA2LjkwMDM1IDMuMzA1MiA4LjExOTU4IDIuNzczNzRDOS4zMzg4IDIuMjU3OTEgMTAuNjM2MiAyIDEyLjAxMTcgMkMxMy4zODczIDIgMTQuNjg0NiAyLjI1NzkxIDE1LjkwMzkgMi43NzM3NEMxNy4xMjMxIDMuMzA1MiAxOC4xODYgNC4wMjQyMyAxOS4wOTI2IDQuOTMwODNDMTkuOTk5MiA1LjgzNzQ0IDIwLjcxMDQgNi44OTI1NCAyMS4yMjYzIDguMDk2MTNDMjEuNzU3NyA5LjMxNTM2IDIyLjAyMzQgMTAuNjEyNyAyMi4wMjM0IDExLjk4ODNDMjIuMDIzNCAxMy4zNzk0IDIxLjc1NzcgMTQuNjc2OCAyMS4yMjYzIDE1Ljg4MDRDMjAuNzEwNCAxNy4wOTk2IDE5Ljk5OTIgMTguMTYyNiAxOS4wOTI2IDE5LjA2OTJDMTguMTg2IDE5Ljk3NTggMTcuMTIzMSAyMC42ODcgMTUuOTAzOSAyMS4yMDI4QzE0LjY4NDYgMjEuNzM0MyAxMy4zODczIDIyIDEyLjAxMTcgMjJaTTEzLjAxOTkgNi45OTQxNEgxMS4wMDM1VjEyLjk5NjVIMTMuMDE5OVY2Ljk5NDE0Wk0xMy4wMTk5IDE0Ljk4OTRIMTEuMDAzNVYxNy4wMDU5SDEzLjAxOTlWMTQuOTg5NFonLFxuICBXQVJOSU5HID0gJ3BhdGg6Ly9NMTIgMkMxMy4zNzcyIDIgMTQuNjc2MSAyLjI1ODIyIDE1Ljg5NjcgMi43NzQ2NUMxNy4xMTc0IDMuMjkxMDggMTguMTgxNSA0LjAwMzEzIDE5LjA4OTIgNC45MTA4QzE5Ljk5NjkgNS44MTg0NyAyMC43MDg5IDYuODgyNjMgMjEuMjI1NCA4LjEwMzI5QzIxLjc0MTggOS4zMjM5NCAyMiAxMC42MjI4IDIyIDEyQzIyIDEzLjM3NzIgMjEuNzQxOCAxNC42NzYxIDIxLjIyNTQgMTUuODk2N0MyMC43MDg5IDE3LjExNzQgMTkuOTk2OSAxOC4xODE1IDE5LjA4OTIgMTkuMDg5MkMxOC4xODE1IDE5Ljk5NjkgMTcuMTE3NCAyMC43MDg5IDE1Ljg5NjcgMjEuMjI1NEMxNC42NzYxIDIxLjc0MTggMTMuMzc3MiAyMiAxMiAyMkMxMC42MjI4IDIyIDkuMzIzOTQgMjEuNzQxOCA4LjEwMzI5IDIxLjIyNTRDNi44ODI2MyAyMC43MDg5IDUuODE4NDcgMTkuOTk2OSA0LjkxMDggMTkuMDg5MkM0LjAwMzEzIDE4LjE4MTUgMy4yOTEwOCAxNy4xMTc0IDIuNzc0NjUgMTUuODk2N0MyLjI1ODIyIDE0LjY3NjEgMiAxMy4zNzcyIDIgMTJDMiAxMC42MjI4IDIuMjU4MjIgOS4zMjM5NCAyLjc3NDY1IDguMTAzMjlDMy4yOTEwOCA2Ljg4MjYzIDQuMDAzMTMgNS44MTg0NyA0LjkxMDggNC45MTA4QzUuODE4NDcgNC4wMDMxMyA2Ljg4MjYzIDMuMjkxMDggOC4xMDMyOSAyLjc3NDY1QzkuMzIzOTQgMi4yNTgyMiAxMC42MjI4IDIgMTIgMlonXG59XG5cbmV4cG9ydCBjb25zdCBJQ09OU19NQVAgPSB7XG4gIEFMQVJNOiBJQ09OUy5BTEFSTSxcbiAgRVZFTlQ6IElDT05TLkVWRU5ULFxuICBBQ0tOT1dMRURHRUQ6IElDT05TLkFDS05PV0xFREdFRCxcbiAgQ0xFQVJFRDogSUNPTlMuQ0xFQVJFRCxcbiAgTUlOT1I6IElDT05TLk1JTk9SLFxuICBNQUpPUjogSUNPTlMuTUFKT1IsXG4gIENSSVRJQ0FMOiBJQ09OUy5DUklUSUNBTCxcbiAgV0FSTklORzogSUNPTlMuV0FSTklOR1xufTtcbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { AlarmService } from '@c8y/client';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@c8y/client";
5
+ export class ChartAlarmsService {
6
+ constructor(alarmService) {
7
+ this.alarmService = alarmService;
8
+ }
9
+ /**
10
+ * List alarms for the given alarm details.
11
+ * @param params Additonal fetchOptions
12
+ * @param alarms List of alarm types with details like color, target, etc.
13
+ * @returns List of alarms for the given alarm details
14
+ */
15
+ async listAlarms(params, alarms) {
16
+ if (!alarms) {
17
+ return [];
18
+ }
19
+ const promises = alarms.map(alarm => {
20
+ if (alarm.__severity && alarm.__severity?.length > 0) {
21
+ const severities = alarm.__severity.join(',');
22
+ params = {
23
+ ...params,
24
+ severity: severities
25
+ };
26
+ }
27
+ if (alarm.__status && alarm.__status?.length > 0) {
28
+ const statuses = alarm.__status.join(',');
29
+ params = {
30
+ ...params,
31
+ status: statuses
32
+ };
33
+ }
34
+ const fetchOptions = {
35
+ source: alarm.__target.id,
36
+ type: alarm.filters.type,
37
+ withTotalPages: true,
38
+ pageSize: 1000,
39
+ ...params
40
+ };
41
+ return this.alarmService.list(fetchOptions).then(result => {
42
+ result.data.forEach(iAlarm => {
43
+ iAlarm['color'] = alarm.color;
44
+ iAlarm['selectedDatapoint'] = alarm.selectedDatapoint;
45
+ });
46
+ return result.data;
47
+ });
48
+ });
49
+ const result = await Promise.all(promises);
50
+ return result.flat();
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartAlarmsService, deps: [{ token: i1.AlarmService }], target: i0.ɵɵFactoryTarget.Injectable }); }
53
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartAlarmsService }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartAlarmsService, decorators: [{
56
+ type: Injectable
57
+ }], ctorParameters: () => [{ type: i1.AlarmService }] });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWxhcm1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lY2hhcnQvc2VydmljZXMvY2hhcnQtYWxhcm1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUF5QixNQUFNLGFBQWEsQ0FBQzs7O0FBSWxFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFBRyxDQUFDO0lBRWxEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFZLEVBQUUsTUFBK0I7UUFDNUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLEdBQUc7b0JBQ1AsR0FBRyxNQUFNO29CQUNULFFBQVEsRUFBRSxVQUFVO2lCQUNyQixDQUFDO1lBQ0osQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLE1BQU0sR0FBRztvQkFDUCxHQUFHLE1BQU07b0JBQ1QsTUFBTSxFQUFFLFFBQVE7aUJBQ2pCLENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQWtCO2dCQUNsQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN6QixJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJO2dCQUN4QixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsR0FBRyxNQUFNO2FBQ1YsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN4RCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7b0JBQzlCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs4R0E3Q1Usa0JBQWtCO2tIQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbGFybVNlcnZpY2UsIElBbGFybSwgSUZldGNoT3B0aW9ucyB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsYXJtRGV0YWlsc0V4dGVuZGVkIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENoYXJ0QWxhcm1zU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxhcm1TZXJ2aWNlOiBBbGFybVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIExpc3QgYWxhcm1zIGZvciB0aGUgZ2l2ZW4gYWxhcm0gZGV0YWlscy5cbiAgICogQHBhcmFtIHBhcmFtcyBBZGRpdG9uYWwgZmV0Y2hPcHRpb25zXG4gICAqIEBwYXJhbSBhbGFybXMgTGlzdCBvZiBhbGFybSB0eXBlcyB3aXRoIGRldGFpbHMgbGlrZSBjb2xvciwgdGFyZ2V0LCBldGMuXG4gICAqIEByZXR1cm5zIExpc3Qgb2YgYWxhcm1zIGZvciB0aGUgZ2l2ZW4gYWxhcm0gZGV0YWlsc1xuICAgKi9cbiAgYXN5bmMgbGlzdEFsYXJtcyhwYXJhbXM/OiBhbnksIGFsYXJtcz86IEFsYXJtRGV0YWlsc0V4dGVuZGVkW10pOiBQcm9taXNlPElBbGFybVtdPiB7XG4gICAgaWYgKCFhbGFybXMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgcHJvbWlzZXMgPSBhbGFybXMubWFwKGFsYXJtID0+IHtcbiAgICAgIGlmIChhbGFybS5fX3NldmVyaXR5ICYmIGFsYXJtLl9fc2V2ZXJpdHk/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3Qgc2V2ZXJpdGllcyA9IGFsYXJtLl9fc2V2ZXJpdHkuam9pbignLCcpO1xuICAgICAgICBwYXJhbXMgPSB7XG4gICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICAgIHNldmVyaXR5OiBzZXZlcml0aWVzXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAoYWxhcm0uX19zdGF0dXMgJiYgYWxhcm0uX19zdGF0dXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3Qgc3RhdHVzZXMgPSBhbGFybS5fX3N0YXR1cy5qb2luKCcsJyk7XG4gICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgc3RhdHVzOiBzdGF0dXNlc1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3QgZmV0Y2hPcHRpb25zOiBJRmV0Y2hPcHRpb25zID0ge1xuICAgICAgICBzb3VyY2U6IGFsYXJtLl9fdGFyZ2V0LmlkLFxuICAgICAgICB0eXBlOiBhbGFybS5maWx0ZXJzLnR5cGUsXG4gICAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlLFxuICAgICAgICBwYWdlU2l6ZTogMTAwMCxcbiAgICAgICAgLi4ucGFyYW1zXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMuYWxhcm1TZXJ2aWNlLmxpc3QoZmV0Y2hPcHRpb25zKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgIHJlc3VsdC5kYXRhLmZvckVhY2goaUFsYXJtID0+IHtcbiAgICAgICAgICBpQWxhcm1bJ2NvbG9yJ10gPSBhbGFybS5jb2xvcjtcbiAgICAgICAgICBpQWxhcm1bJ3NlbGVjdGVkRGF0YXBvaW50J10gPSBhbGFybS5zZWxlY3RlZERhdGFwb2ludDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICByZXR1cm4gcmVzdWx0LmZsYXQoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,44 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { EventService } from '@c8y/client';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@c8y/client";
5
+ export class ChartEventsService {
6
+ constructor(eventService) {
7
+ this.eventService = eventService;
8
+ }
9
+ /**
10
+ * List events for the given event details.
11
+ * @param params Additonal fetchOptions
12
+ * @param events List of event types with details like color, target, etc.
13
+ * @returns List of events for the given event details
14
+ */
15
+ async listEvents(params, events) {
16
+ if (!events) {
17
+ return [];
18
+ }
19
+ const promises = events.map(event => {
20
+ const fetchOptions = {
21
+ source: event.__target.id,
22
+ type: event.filters.type,
23
+ withTotalPages: true,
24
+ pageSize: 1000,
25
+ ...params
26
+ };
27
+ return this.eventService.list(fetchOptions).then(result => {
28
+ result.data.forEach(iEvent => {
29
+ iEvent['color'] = event.color;
30
+ iEvent['selectedDatapoint'] = event.selectedDatapoint;
31
+ });
32
+ return result.data;
33
+ });
34
+ });
35
+ const result = await Promise.all(promises);
36
+ return result.flat();
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartEventsService, deps: [{ token: i1.EventService }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartEventsService }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartEventsService, decorators: [{
42
+ type: Injectable
43
+ }], ctorParameters: () => [{ type: i1.EventService }] });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lY2hhcnQvc2VydmljZXMvY2hhcnQtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUF5QixNQUFNLGFBQWEsQ0FBQzs7O0FBSWxFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFBRyxDQUFDO0lBRWxEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFZLEVBQUUsTUFBdUI7UUFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxNQUFNLFlBQVksR0FBa0I7Z0JBQ2xDLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUk7Z0JBQ3hCLGNBQWMsRUFBRSxJQUFJO2dCQUNwQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxHQUFHLE1BQU07YUFDVixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUMzQixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztvQkFDOUIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDO2dCQUN4RCxDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzhHQS9CVSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50U2VydmljZSwgSUV2ZW50LCBJRmV0Y2hPcHRpb25zIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgRXZlbnREZXRhaWxzIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9hbGFybS1ldmVudC1zZWxlY3Rvcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDaGFydEV2ZW50c1NlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBMaXN0IGV2ZW50cyBmb3IgdGhlIGdpdmVuIGV2ZW50IGRldGFpbHMuXG4gICAqIEBwYXJhbSBwYXJhbXMgQWRkaXRvbmFsIGZldGNoT3B0aW9uc1xuICAgKiBAcGFyYW0gZXZlbnRzIExpc3Qgb2YgZXZlbnQgdHlwZXMgd2l0aCBkZXRhaWxzIGxpa2UgY29sb3IsIHRhcmdldCwgZXRjLlxuICAgKiBAcmV0dXJucyBMaXN0IG9mIGV2ZW50cyBmb3IgdGhlIGdpdmVuIGV2ZW50IGRldGFpbHNcbiAgICovXG4gIGFzeW5jIGxpc3RFdmVudHMocGFyYW1zPzogYW55LCBldmVudHM/OiBFdmVudERldGFpbHNbXSk6IFByb21pc2U8SUV2ZW50W10+IHtcbiAgICBpZiAoIWV2ZW50cykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBwcm9taXNlcyA9IGV2ZW50cy5tYXAoZXZlbnQgPT4ge1xuICAgICAgY29uc3QgZmV0Y2hPcHRpb25zOiBJRmV0Y2hPcHRpb25zID0ge1xuICAgICAgICBzb3VyY2U6IGV2ZW50Ll9fdGFyZ2V0LmlkLFxuICAgICAgICB0eXBlOiBldmVudC5maWx0ZXJzLnR5cGUsXG4gICAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlLFxuICAgICAgICBwYWdlU2l6ZTogMTAwMCxcbiAgICAgICAgLi4ucGFyYW1zXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMuZXZlbnRTZXJ2aWNlLmxpc3QoZmV0Y2hPcHRpb25zKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgIHJlc3VsdC5kYXRhLmZvckVhY2goaUV2ZW50ID0+IHtcbiAgICAgICAgICBpRXZlbnRbJ2NvbG9yJ10gPSBldmVudC5jb2xvcjtcbiAgICAgICAgICBpRXZlbnRbJ3NlbGVjdGVkRGF0YXBvaW50J10gPSBldmVudC5zZWxlY3RlZERhdGFwb2ludDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICByZXR1cm4gcmVzdWx0LmZsYXQoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,193 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { from, interval, merge } from 'rxjs';
3
+ import { buffer, map, mergeMap, tap, throttleTime } from 'rxjs/operators';
4
+ import { AlarmRealtimeService, EventRealtimeService, MeasurementRealtimeService } from '@c8y/ngx-components';
5
+ import { EchartsOptionsService } from './echarts-options.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@c8y/ngx-components";
8
+ import * as i2 from "./echarts-options.service";
9
+ export class ChartRealtimeService {
10
+ constructor(measurementRealtime, alarmRealtimeService, eventRealtimeService, echartsOptionsService) {
11
+ this.measurementRealtime = measurementRealtime;
12
+ this.alarmRealtimeService = alarmRealtimeService;
13
+ this.eventRealtimeService = eventRealtimeService;
14
+ this.echartsOptionsService = echartsOptionsService;
15
+ this.INTERVAL = 1000;
16
+ this.MIN_REALTIME_TIMEOUT = 250;
17
+ this.MAX_REALTIME_TIMEOUT = 5_000;
18
+ this.lastMeasurements = new Map();
19
+ }
20
+ startRealtime(echartsInstance, datapoints, timeRange, datapointOutOfSyncCallback, timeRangeChangedCallback, alarmOrEventConfig = [], displayOptions) {
21
+ this.echartsInstance = echartsInstance;
22
+ this.currentTimeRange = {
23
+ dateFrom: new Date(timeRange.dateFrom),
24
+ dateTo: new Date(timeRange.dateTo)
25
+ };
26
+ const activeAlarmsOrEvents = alarmOrEventConfig.filter(alarmOrEvent => alarmOrEvent.__active && !alarmOrEvent.__hidden);
27
+ const uniqueAlarmOrEventTargets = Array.from(new Set(activeAlarmsOrEvents.map(aOrE => aOrE.__target.id)));
28
+ const allAlarmsAndEvents$ = from(uniqueAlarmOrEventTargets).pipe(mergeMap(targetId => {
29
+ const alarmsRealtime$ = this.alarmRealtimeService.onAll$(targetId);
30
+ const eventsRealtime$ = this.eventRealtimeService.onAll$(targetId);
31
+ return merge(alarmsRealtime$, eventsRealtime$).pipe(map(realtimeMessage => realtimeMessage.data));
32
+ }));
33
+ const measurementsForDatapoints = datapoints.map(dp => {
34
+ const source$ = this.measurementRealtime.onCreateOfSpecificMeasurement$(dp.fragment, dp.series, dp.__target?.id);
35
+ return source$.pipe(map((measurement) => ({ datapoint: dp, measurement })));
36
+ });
37
+ const updateThrottleTime = this.getRealtimeUpdateThrottleTime(timeRange);
38
+ const measurement$ = merge(...measurementsForDatapoints);
39
+ const bufferReset$ = merge(measurement$.pipe(throttleTime(updateThrottleTime)), interval(this.INTERVAL).pipe(tap(() => {
40
+ this.currentTimeRange = {
41
+ dateFrom: new Date((this.currentTimeRange?.dateFrom?.valueOf() || 0) + this.INTERVAL),
42
+ dateTo: new Date((this.currentTimeRange?.dateTo?.valueOf() || 0) + this.INTERVAL)
43
+ };
44
+ timeRangeChangedCallback(this.currentTimeRange);
45
+ }), throttleTime(updateThrottleTime))).pipe(throttleTime(this.MIN_REALTIME_TIMEOUT));
46
+ this.realtimeSubscriptionMeasurements = measurement$
47
+ .pipe(buffer(bufferReset$))
48
+ .subscribe(measurements => {
49
+ this.updateChartInstance(measurements, null, displayOptions, datapointOutOfSyncCallback);
50
+ // Store the last measurements
51
+ measurements.forEach(measurement => {
52
+ this.lastMeasurements.set(measurement.datapoint.fragment, measurement);
53
+ });
54
+ });
55
+ this.realtimeSubscriptionAlarmsEvents = allAlarmsAndEvents$
56
+ .pipe(map(alarmOrEvent => {
57
+ const foundAlarmOrEvent = activeAlarmsOrEvents.find(aOrE => {
58
+ return aOrE.filters.type === alarmOrEvent.type;
59
+ });
60
+ if (foundAlarmOrEvent) {
61
+ alarmOrEvent['color'] = foundAlarmOrEvent.color;
62
+ alarmOrEvent['selectedDatapoint'] = foundAlarmOrEvent.selectedDatapoint;
63
+ }
64
+ if (foundAlarmOrEvent) {
65
+ const fragment = alarmOrEvent['selectedDatapoint'].fragment;
66
+ if (this.lastMeasurements.has(fragment)) {
67
+ const lastMeasurement = this.lastMeasurements.get(fragment);
68
+ this.updateChartInstance([lastMeasurement], alarmOrEvent, displayOptions, datapointOutOfSyncCallback);
69
+ }
70
+ }
71
+ return foundAlarmOrEvent ? alarmOrEvent : null;
72
+ }))
73
+ .subscribe();
74
+ }
75
+ stopRealtime() {
76
+ this.realtimeSubscriptionMeasurements?.unsubscribe();
77
+ this.realtimeSubscriptionAlarmsEvents?.unsubscribe();
78
+ }
79
+ removeValuesBeforeTimeRange(series) {
80
+ const firstValidValueByDateIndex = series.data.findIndex(([dateString, _]) => {
81
+ return new Date(dateString) >= (this.currentTimeRange?.dateFrom || new Date());
82
+ });
83
+ if (firstValidValueByDateIndex > 1) {
84
+ // we need one value before dateFrom for chart lines to be extended to the left edge of the graph
85
+ series.data = series.data.slice(firstValidValueByDateIndex - 1);
86
+ }
87
+ return series.data;
88
+ }
89
+ getRealtimeUpdateThrottleTime(timeRange) {
90
+ const timeRangeInMs = new Date(timeRange.dateTo).valueOf() - new Date(timeRange.dateFrom).valueOf();
91
+ const calculatedThrottleTime = Math.round(timeRangeInMs / 1000);
92
+ if (calculatedThrottleTime < this.MIN_REALTIME_TIMEOUT) {
93
+ return this.MIN_REALTIME_TIMEOUT;
94
+ }
95
+ else if (calculatedThrottleTime > this.MAX_REALTIME_TIMEOUT) {
96
+ return this.MAX_REALTIME_TIMEOUT;
97
+ }
98
+ return calculatedThrottleTime;
99
+ }
100
+ updateChartInstance(receivedMeasurements, alarmOrEvent, displayOptions, datapointOutOfSyncCallback) {
101
+ const isEvent = (item) => !('severity' in item);
102
+ const isAlarm = (item) => 'severity' in item;
103
+ const seriesDataToUpdate = new Map();
104
+ receivedMeasurements.forEach(({ datapoint, measurement }) => {
105
+ if (!seriesDataToUpdate.has(datapoint)) {
106
+ seriesDataToUpdate.set(datapoint, []);
107
+ }
108
+ seriesDataToUpdate.get(datapoint)?.push(measurement);
109
+ });
110
+ let allDataSeries = this.echartsInstance?.getOption()['series'];
111
+ seriesDataToUpdate.forEach((measurements, datapoint) => {
112
+ const newValues = measurements.map(m => [
113
+ m.time,
114
+ m[datapoint.fragment][datapoint.series].value
115
+ ]);
116
+ const datapointId = datapoint.__target?.id + datapoint.fragment + datapoint.series;
117
+ const seriesMatchingDatapoint = allDataSeries.find(s => s['datapointId'] === datapointId);
118
+ if (!seriesMatchingDatapoint) {
119
+ return;
120
+ }
121
+ const seriesDataToUpdate = seriesMatchingDatapoint['data'];
122
+ seriesDataToUpdate.push(...newValues);
123
+ seriesMatchingDatapoint['data'] = this.removeValuesBeforeTimeRange(seriesMatchingDatapoint);
124
+ if (alarmOrEvent) {
125
+ const renderType = datapoint.renderType || 'min';
126
+ const dp = {
127
+ ...datapoint,
128
+ values: seriesMatchingDatapoint['data']
129
+ };
130
+ if (isEvent(alarmOrEvent)) {
131
+ // if event series with the same id already exists, return
132
+ const eventExists = allDataSeries.some(series => series['data'].some(data => data[0] === alarmOrEvent.creationTime));
133
+ if (eventExists) {
134
+ return;
135
+ }
136
+ const newEventSeries = this.echartsOptionsService.getAlarmOrEventSeries(dp, renderType, false, [alarmOrEvent], 'event', displayOptions, alarmOrEvent.creationTime, null, true);
137
+ allDataSeries.push(...newEventSeries);
138
+ }
139
+ else if (isAlarm(alarmOrEvent)) {
140
+ const alarmExists = allDataSeries.some((series) => {
141
+ const seriesData = series['data'];
142
+ return seriesData.some((data) => data[0] === alarmOrEvent.creationTime);
143
+ });
144
+ if (alarmExists) {
145
+ const alarmSeries = allDataSeries.filter((series) => {
146
+ const seriesData = series['data'];
147
+ return seriesData.some((data) => data[0] === alarmOrEvent.creationTime);
148
+ });
149
+ // remove all matching alarm series which are in the array
150
+ alarmSeries.forEach(series => {
151
+ allDataSeries = allDataSeries.filter(s => s['id'] !== series['id']);
152
+ });
153
+ const newAlarmSeries = this.echartsOptionsService.getAlarmOrEventSeries(dp, renderType, false, [alarmOrEvent], 'alarm', displayOptions, alarmOrEvent.creationTime, null, true);
154
+ allDataSeries.push(...newAlarmSeries);
155
+ }
156
+ else {
157
+ const newAlarmSeries = this.echartsOptionsService.getAlarmOrEventSeries(dp, renderType, false, [alarmOrEvent], 'alarm', displayOptions, alarmOrEvent.id, null, true);
158
+ allDataSeries.push(...newAlarmSeries);
159
+ }
160
+ }
161
+ }
162
+ this.checkForValuesAfterTimeRange(seriesMatchingDatapoint['data'], datapoint, datapointOutOfSyncCallback);
163
+ });
164
+ this.echartsInstance?.setOption({
165
+ dataZoom: [
166
+ {
167
+ type: 'inside',
168
+ startValue: this.currentTimeRange?.dateFrom.valueOf(),
169
+ endValue: this.currentTimeRange?.dateTo.valueOf()
170
+ }
171
+ ],
172
+ xAxis: {
173
+ max: this.currentTimeRange?.dateTo
174
+ },
175
+ series: allDataSeries
176
+ });
177
+ }
178
+ checkForValuesAfterTimeRange(data, datapoint, datapointOutOfSyncCallback) {
179
+ const now = new Date();
180
+ const valueAfterNowExists = data.some(([dateString, _]) => {
181
+ return new Date(dateString).valueOf() > now.valueOf();
182
+ });
183
+ if (valueAfterNowExists) {
184
+ datapointOutOfSyncCallback(datapoint);
185
+ }
186
+ }
187
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartRealtimeService, deps: [{ token: i1.MeasurementRealtimeService }, { token: i1.AlarmRealtimeService }, { token: i1.EventRealtimeService }, { token: i2.EchartsOptionsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
188
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartRealtimeService }); }
189
+ }
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartRealtimeService, decorators: [{
191
+ type: Injectable
192
+ }], ctorParameters: () => [{ type: i1.MeasurementRealtimeService }, { type: i1.AlarmRealtimeService }, { type: i1.EventRealtimeService }, { type: i2.EchartsOptionsService }] });
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtcmVhbHRpbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2VjaGFydC9zZXJ2aWNlcy9jaGFydC1yZWFsdGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUE0QixNQUFNLE1BQU0sQ0FBQztBQUV2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBVTFFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLDBCQUEwQixFQUUzQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBTWxFLE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDVSxtQkFBK0MsRUFDL0Msb0JBQTBDLEVBQzFDLG9CQUEwQyxFQUMxQyxxQkFBNEM7UUFINUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE0QjtRQUMvQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQWI5QyxhQUFRLEdBQWlCLElBQUksQ0FBQztRQUM5Qix5QkFBb0IsR0FBaUIsR0FBRyxDQUFDO1FBQ3pDLHlCQUFvQixHQUFpQixLQUFLLENBQUM7UUFLM0MscUJBQWdCLEdBQStDLElBQUksR0FBRyxFQUFFLENBQUM7SUFPOUUsQ0FBQztJQUVKLGFBQWEsQ0FDWCxlQUF3QixFQUN4QixVQUF1QyxFQUN2QyxTQUErQyxFQUMvQywwQkFBbUUsRUFDbkUsd0JBRVMsRUFDVCxxQkFBNkMsRUFBRSxFQUMvQyxjQUEy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QUFNLENBQWtCLEVBQ2hELFNBQVMsRUFDVCwwQkFBMEIsQ0FDM0IsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUM7WUFDOUIsUUFBUSxFQUFFO2dCQUNSO29CQUNFLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRTtvQkFDckQsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFO2lCQUNsRDthQUNGO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEdBQUcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTTthQUNuQztZQUNELE1BQU0sRUFBRSxhQUFhO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyw0QkFBNEIsQ0FDbEMsSUFBbUIsRUFDbkIsU0FBb0MsRUFDcEMsMEJBQW1FO1FBRW5FLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFjLEVBQUUsRUFBRTtZQUNyRSxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksbUJBQW1CLEVBQUUsQ0FBQztZQUN4QiwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQzs4R0EvU1Usb0JBQW9CO2tIQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBpbnRlcnZhbCwgbWVyZ2UsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSUFsYXJtLCBJRXZlbnQsIElNZWFzdXJlbWVudCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGJ1ZmZlciwgbWFwLCBtZXJnZU1hcCwgdGFwLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBBbGFybU9yRXZlbnRFeHRlbmRlZCxcbiAgRGF0YXBvaW50Q2hhcnRSZW5kZXJUeXBlLFxuICBEYXRhcG9pbnRSZWFsdGltZU1lYXN1cmVtZW50cyxcbiAgRGF0YXBvaW50c0dyYXBoS1BJRGV0YWlscyxcbiAgRGF0YXBvaW50c0dyYXBoV2lkZ2V0Q29uZmlnLFxuICBEcFdpdGhWYWx1ZXMsXG4gIFNlcmllc1ZhbHVlXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBBbGFybVJlYWx0aW1lU2VydmljZSxcbiAgRXZlbnRSZWFsdGltZVNlcnZpY2UsXG4gIE1lYXN1cmVtZW50UmVhbHRpbWVTZXJ2aWNlLFxuICBSZWFsdGltZU1lc3NhZ2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgdHlwZSB7IEVDaGFydHMsIFNlcmllc09wdGlvbiB9IGZyb20gJ2VjaGFydHMnO1xuaW1wb3J0IHsgRWNoYXJ0c09wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9lY2hhcnRzLW9wdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b21TZXJpZXNPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWxzL2NoYXJ0Lm1vZGVsJztcblxudHlwZSBNaWxsaXNlY29uZHMgPSBudW1iZXI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDaGFydFJlYWx0aW1lU2VydmljZSB7XG4gIHByaXZhdGUgSU5URVJWQUw6IE1pbGxpc2Vjb25kcyA9IDEwMDA7XG4gIHByaXZhdGUgTUlOX1JFQUxUSU1FX1RJTUVPVVQ6IE1pbGxpc2Vjb25kcyA9IDI1MDtcbiAgcHJpdmF0ZSBNQVhfUkVBTFRJTUVfVElNRU9VVDogTWlsbGlzZWNvbmRzID0gNV8wMDA7XG4gIHByaXZhdGUgcmVhbHRpbWVTdWJzY3JpcHRpb25NZWFzdXJlbWVudHMhOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhbHRpbWVTdWJzY3JpcHRpb25BbGFybXNFdmVudHMhOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZWNoYXJ0c0luc3RhbmNlOiBFQ2hhcnRzIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGN1cnJlbnRUaW1lUmFuZ2U6IHsgZGF0ZUZyb206IERhdGU7IGRhdGVUbzogRGF0ZSB9IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGxhc3RNZWFzdXJlbWVudHM6IE1hcDxzdHJpbmcsIERhdGFwb2ludFJlYWx0aW1lTWVhc3VyZW1lbnRzPiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1lYXN1cmVtZW50UmVhbHRpbWU6IE1lYXN1cmVtZW50UmVhbHRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxhcm1SZWFsdGltZVNlcnZpY2U6IEFsYXJtUmVhbHRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZXZlbnRSZWFsdGltZVNlcnZpY2U6IEV2ZW50UmVhbHRpbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWNoYXJ0c09wdGlvbnNTZXJ2aWNlOiBFY2hhcnRzT3B0aW9uc1NlcnZpY2VcbiAgKSB7fVxuXG4gIHN0YXJ0UmVhbHRpbWUoXG4gICAgZWNoYXJ0c0luc3RhbmNlOiBFQ2hhcnRzLFxuICAgIGRhdGFwb2ludHM6IERhdGFwb2ludHNHcmFwaEtQSURldGFpbHNbXSxcbiAgICB0aW1lUmFuZ2U6IHsgZGF0ZUZyb206IHN0cmluZzsgZGF0ZVRvOiBzdHJpbmcgfSxcbiAgICBkYXRhcG9pbnRPdXRPZlN5bmNDYWxsYmFjazogKGRwOiBEYXRhcG9pbnRzR3JhcGhLUElEZXRhaWxzKSA9PiB2b2lkLFxuICAgIHRpbWVSYW5nZUNoYW5nZWRDYWxsYmFjazogKFxuICAgICAgdGltZVJhbmdlOiBQaWNrPERhdGFwb2ludHNHcmFwaFdpZGdldENvbmZpZywgJ2RhdGVGcm9tJyB8ICdkYXRlVG8nPlxuICAgICkgPT4gdm9pZCxcbiAgICBhbGFybU9yRXZlbnRDb25maWc6IEFsYXJtT3JFdmVudEV4dGVuZGVkW10gPSBbXSxcbiAgICBkaXNwbGF5T3B0aW9uczogeyBkaXNwbGF5TWFya2VkTGluZTogYm9vbGVhbjsgZGlzcGxheU1hcmtlZFBvaW50OiBib29sZWFuIH1cbiAgKSB7XG4gICAgdGhpcy5lY2hhcnRzSW5zdGFuY2UgPSBlY2hhcnRzSW5zdGFuY2U7XG4gICAgdGhpcy5jdXJyZW50VGltZVJhbmdlID0ge1xuICAgICAgZGF0ZUZyb206IG5ldyBEYXRlKHRpbWVSYW5nZS5kYXRlRnJvbSksXG4gICAgICBkYXRlVG86IG5ldyBEYXRlKHRpbWVSYW5nZS5kYXRlVG8pXG4gICAgfTtcblxuICAgIGNvbnN0IGFjdGl2ZUFsYXJtc09yRXZlbnRzID0gYWxhcm1PckV2ZW50Q29uZmlnLmZpbHRlcihcbiAgICAgIGFsYXJtT3JFdmVudCA9PiBhbGFybU9yRXZlbnQuX19hY3RpdmUgJiYgIWFsYXJtT3JFdmVudC5fX2hpZGRlblxuICAgICk7XG4gICAgY29uc3QgdW5pcXVlQWxhcm1PckV2ZW50VGFyZ2V0cyA9IEFycmF5LmZyb20oXG4gICAgICBuZXcgU2V0KGFjdGl2ZUFsYXJtc09yRXZlbnRzLm1hcChhT3JFID0+IGFPckUuX190YXJnZXQuaWQpKVxuICAgICk7XG5cbiAgICBjb25zdCBhbGxBbGFybXNBbmRFdmVudHMkOiBPYnNlcnZhYmxlPElBbGFybSB8IElFdmVudD4gPSBmcm9tKHVuaXF1ZUFsYXJtT3JFdmVudFRhcmdldHMpLnBpcGUoXG4gICAgICBtZXJnZU1hcCh0YXJnZXRJZCA9PiB7XG4gICAgICAgIGNvbnN0IGFsYXJtc1JlYWx0aW1lJDogT2JzZXJ2YWJsZTxSZWFsdGltZU1lc3NhZ2U8SUFsYXJtPj4gPVxuICAgICAgICAgIHRoaXMuYWxhcm1SZWFsdGltZVNlcnZpY2Uub25BbGwkKHRhcmdldElkKTtcbiAgICAgICAgY29uc3QgZXZlbnRzUmVhbHRpbWUkOiBPYnNlcnZhYmxlPFJlYWx0aW1lTWVzc2FnZTxJRXZlbnQ+PiA9XG4gICAgICAgICAgdGhpcy5ldmVudFJlYWx0aW1lU2VydmljZS5vbkFsbCQodGFyZ2V0SWQpO1xuICAgICAgICByZXR1cm4gbWVyZ2UoYWxhcm1zUmVhbHRpbWUkLCBldmVudHNSZWFsdGltZSQpLnBpcGUoXG4gICAgICAgICAgbWFwKHJlYWx0aW1lTWVzc2FnZSA9PiByZWFsdGltZU1lc3NhZ2UuZGF0YSBhcyBJQWxhcm0gfCBJRXZlbnQpXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBtZWFzdXJlbWVudHNGb3JEYXRhcG9pbnRzOiBPYnNlcnZhYmxlPERhdGFwb2ludFJlYWx0aW1lTWVhc3VyZW1lbnRzPltdID0gZGF0YXBvaW50cy5tYXAoXG4gICAgICBkcCA9PiB7XG4gICAgICAgIGNvbnN0IHNvdXJjZSQ6IE9ic2VydmFibGU8SU1lYXN1cmVtZW50PiA9XG4gICAgICAgICAgdGhpcy5tZWFzdXJlbWVudFJlYWx0aW1lLm9uQ3JlYXRlT2ZTcGVjaWZpY01lYXN1cmVtZW50JChcbiAgICAgICAgICAgIGRwLmZyYWdtZW50LFxuICAgICAgICAgICAgZHAuc2VyaWVzLFxuICAgICAgICAgICAgZHAuX190YXJnZXQ/LmlkXG4gICAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHNvdXJjZSQucGlwZShtYXAoKG1lYXN1cmVtZW50OiBJTWVhc3VyZW1lbnQpID0+ICh7IGRhdGFwb2ludDogZHAsIG1lYXN1cmVtZW50IH0pKSk7XG4gICAgICB9XG4gICAgKTtcbiAgICBjb25zdCB1cGRhdGVUaHJvdHRsZVRpbWU6IE1pbGxpc2Vjb25kcyA9IHRoaXMuZ2V0UmVhbHRpbWVVcGRhdGVUaHJvdHRsZVRpbWUodGltZVJhbmdlKTtcbiAgICBjb25zdCBtZWFzdXJlbWVudCQgPSBtZXJnZSguLi5tZWFzdXJlbWVudHNGb3JEYXRhcG9pbnRzKTtcbiAgICBjb25zdCBidWZmZXJSZXNldCQgPSBtZXJnZShcbiAgICAgIG1lYXN1cmVtZW50JC5waXBlKHRocm90dGxlVGltZSh1cGRhdGVUaHJvdHRsZVRpbWUpKSxcbiAgICAgIGludGVydmFsKHRoaXMuSU5URVJWQUwpLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50VGltZVJhbmdlID0ge1xuICAgICAgICAgICAgZGF0ZUZyb206IG5ldyBEYXRlKCh0aGlzLmN1cnJlbnRUaW1lUmFuZ2U/LmRhdGVGcm9tPy52YWx1ZU9mKCkgfHwgMCkgKyB0aGlzLklOVEVSVkFMKSxcbiAgICAgICAgICAgIGRhdGVUbzogbmV3IERhdGUoKHRoaXMuY3VycmVudFRpbWVSYW5nZT8uZGF0ZVRvPy52YWx1ZU9mKCkgfHwgMCkgKyB0aGlzLklOVEVSVkFMKVxuICAgICAgICAgIH07XG4gICAgICAgICAgdGltZVJhbmdlQ2hhbmdlZENhbGxiYWNrKHRoaXMuY3VycmVudFRpbWVSYW5nZSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0aHJvdHRsZVRpbWUodXBkYXRlVGhyb3R0bGVUaW1lKVxuICAgICAgKVxuICAgICkucGlwZSh0aHJvdHRsZVRpbWUodGhpcy5NSU5fUkVBTFRJTUVfVElNRU9VVCkpO1xuXG4gICAgdGhpcy5yZWFsdGltZVN1YnNjcmlwdGlvbk1lYXN1cmVtZW50cyA9IG1lYXN1cmVtZW50JFxuICAgICAgLnBpcGUoYnVmZmVyKGJ1ZmZlclJlc2V0JCkpXG4gICAgICAuc3Vic2NyaWJlKG1lYXN1cmVtZW50cyA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2hhcnRJbnN0YW5jZShtZWFzdXJlbWVudHMsIG51bGwsIGRpc3BsYXlPcHRpb25zLCBkYXRhcG9pbnRPdXRPZlN5bmNDYWxsYmFjayk7XG5cbiAgICAgICAgLy8gU3RvcmUgdGhlIGxhc3QgbWVhc3VyZW1lbnRzXG4gICAgICAgIG1lYXN1cmVtZW50cy5mb3JFYWNoKG1lYXN1cmVtZW50ID0+IHtcbiAgICAgICAgICB0aGlzLmxhc3RNZWFzdXJlbWVudHMuc2V0KG1lYXN1cmVtZW50LmRhdGFwb2ludC5mcmFnbWVudCwgbWVhc3VyZW1lbnQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5yZWFsdGltZVN1YnNjcmlwdGlvbkFsYXJtc0V2ZW50cyA9IGFsbEFsYXJtc0FuZEV2ZW50cyRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoYWxhcm1PckV2ZW50ID0+IHtcbiAgICAgICAgICBjb25zdCBmb3VuZEFsYXJtT3JFdmVudCA9IGFjdGl2ZUFsYXJtc09yRXZlbnRzLmZpbmQoYU9yRSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYU9yRS5maWx0ZXJzLnR5cGUgPT09IGFsYXJtT3JFdmVudC50eXBlO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChmb3VuZEFsYXJtT3JFdmVudCkge1xuICAgICAgICAgICAgYWxhcm1PckV2ZW50Wydjb2xvciddID0gZm91bmRBbGFybU9yRXZlbnQuY29sb3I7XG4gICAgICAgICAgICBhbGFybU9yRXZlbnRbJ3NlbGVjdGVkRGF0YXBvaW50J10gPSBmb3VuZEFsYXJtT3JFdmVudC5zZWxlY3RlZERhdGFwb2ludDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZm91bmRBbGFybU9yRXZlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWdtZW50ID0gYWxhcm1PckV2ZW50WydzZWxlY3RlZERhdGFwb2ludCddLmZyYWdtZW50O1xuICAgICAgICAgICAgaWYgKHRoaXMubGFzdE1lYXN1cmVtZW50cy5oYXMoZnJhZ21lbnQpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGxhc3RNZWFzdXJlbWVudCA9IHRoaXMubGFzdE1lYXN1cmVtZW50cy5nZXQoZnJhZ21lbnQpO1xuXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQ2hhcnRJbnN0YW5jZShcbiAgICAgICAgICAgICAgICBbbGFzdE1lYXN1cmVtZW50XSxcbiAgICAgICAgICAgICAgICBhbGFybU9yRXZlbnQsXG4gICAgICAgICAgICAgICAgZGlzcGxheU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgZGF0YXBvaW50T3V0T2ZTeW5jQ2FsbGJhY2tcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZm91bmRBbGFybU9yRXZlbnQgPyBhbGFybU9yRXZlbnQgOiBudWxsO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc3RvcFJlYWx0aW1lKCkge1xuICAgIHRoaXMucmVhbHRpbWVTdWJzY3JpcHRpb25NZWFzdXJlbWVudHM/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5yZWFsdGltZVN1YnNjcmlwdGlvbkFsYXJtc0V2ZW50cz8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlVmFsdWVzQmVmb3JlVGltZVJhbmdlKHNlcmllczogU2VyaWVzT3B0aW9uKTogU2VyaWVzVmFsdWVbXSB7XG4gICAgY29uc3QgZmlyc3RWYWxpZFZhbHVlQnlEYXRlSW5kZXggPSAoc2VyaWVzLmRhdGEgYXMgU2VyaWVzVmFsdWVbXSkuZmluZEluZGV4KFxuICAgICAgKFtkYXRlU3RyaW5nLCBfXSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZVN0cmluZykgPj0gKHRoaXMuY3VycmVudFRpbWVSYW5nZT8uZGF0ZUZyb20gfHwgbmV3IERhdGUoKSk7XG4gICAgICB9XG4gICAgKTtcbiAgICBpZiAoZmlyc3RWYWxpZFZhbHVlQnlEYXRlSW5kZXggPiAxKSB7XG4gICAgICAvLyB3ZSBuZWVkIG9uZSB2YWx1ZSBiZWZvcmUgZGF0ZUZyb20gZm9yIGNoYXJ0IGxpbmVzIHRvIGJlIGV4dGVuZGVkIHRvIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGdyYXBoXG4gICAgICBzZXJpZXMuZGF0YSA9IChzZXJpZXMuZGF0YSBhcyBTZXJpZXNWYWx1ZVtdKS5zbGljZShmaXJzdFZhbGlkVmFsdWVCeURhdGVJbmRleCAtIDEpO1xuICAgIH1cbiAgICByZXR1cm4gc2VyaWVzLmRhdGEgYXMgU2VyaWVzVmFsdWVbXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVhbHRpbWVVcGRhdGVUaHJvdHRsZVRpbWUodGltZVJhbmdlOiB7XG4gICAgZGF0ZUZyb206IHN0cmluZztcbiAgICBkYXRlVG86IHN0cmluZztcbiAgfSk6IE1pbGxpc2Vjb25kcyB7XG4gICAgY29uc3QgdGltZVJhbmdlSW5NcyA9XG4gICAgICBuZXcgRGF0ZSh0aW1lUmFuZ2UuZGF0ZVRvKS52YWx1ZU9mKCkgLSBuZXcgRGF0ZSh0aW1lUmFuZ2UuZGF0ZUZyb20pLnZhbHVlT2YoKTtcbiAgICBjb25zdCBjYWxjdWxhdGVkVGhyb3R0bGVUaW1lID0gTWF0aC5yb3VuZCh0aW1lUmFuZ2VJbk1zIC8gMTAwMCk7XG4gICAgaWYgKGNhbGN1bGF0ZWRUaHJvdHRsZVRpbWUgPCB0aGlzLk1JTl9SRUFMVElNRV9USU1FT1VUKSB7XG4gICAgICByZXR1cm4gdGhpcy5NSU5fUkVBTFRJTUVfVElNRU9VVDtcbiAgICB9IGVsc2UgaWYgKGNhbGN1bGF0ZWRUaHJvdHRsZVRpbWUgPiB0aGlzLk1BWF9SRUFMVElNRV9USU1FT1VUKSB7XG4gICAgICByZXR1cm4gdGhpcy5NQVhfUkVBTFRJTUVfVElNRU9VVDtcbiAgICB9XG4gICAgcmV0dXJuIGNhbGN1bGF0ZWRUaHJvdHRsZVRpbWU7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUNoYXJ0SW5zdGFuY2UoXG4gICAgcmVjZWl2ZWRNZWFzdXJlbWVudHM6IERhdGFwb2ludFJlYWx0aW1lTWVhc3VyZW1lbnRzW10sXG4gICAgYWxhcm1PckV2ZW50OiBJQWxhcm0gfCBJRXZlbnQgfCBudWxsLFxuICAgIGRpc3BsYXlPcHRpb25zOiB7IGRpc3BsYXlNYXJrZWRMaW5lOiBib29sZWFuOyBkaXNwbGF5TWFya2VkUG9pbnQ6IGJvb2xlYW4gfSxcbiAgICBkYXRhcG9pbnRPdXRPZlN5bmNDYWxsYmFjazogKGRwOiBEYXRhcG9pbnRzR3JhcGhLUElEZXRhaWxzKSA9PiB2b2lkXG4gICkge1xuICAgIGNvbnN0IGlzRXZlbnQgPSAoaXRlbTogSUFsYXJtIHwgSUV2ZW50KTogaXRlbSBpcyBJRXZlbnQgPT4gISgnc2V2ZXJpdHknIGluIGl0ZW0pO1xuICAgIGNvbnN0IGlzQWxhcm0gPSAoaXRlbTogSUFsYXJtIHwgSUV2ZW50KTogaXRlbSBpcyBJQWxhcm0gPT4gJ3NldmVyaXR5JyBpbiBpdGVtO1xuXG4gICAgY29uc3Qgc2VyaWVzRGF0YVRvVXBkYXRlID0gbmV3IE1hcDxEYXRhcG9pbnRzR3JhcGhLUElEZXRhaWxzLCBJTWVhc3VyZW1lbnRbXT4oKTtcblxuICAgIHJlY2VpdmVkTWVhc3VyZW1lbnRzLmZvckVhY2goKHsgZGF0YXBvaW50LCBtZWFzdXJlbWVudCB9KSA9PiB7XG4gICAgICBpZiAoIXNlcmllc0RhdGFUb1VwZGF0ZS5oYXMoZGF0YXBvaW50KSkge1xuICAgICAgICBzZXJpZXNEYXRhVG9VcGRhdGUuc2V0KGRhdGFwb2ludCwgW10pO1xuICAgICAgfVxuICAgICAgc2VyaWVzRGF0YVRvVXBkYXRlLmdldChkYXRhcG9pbnQpPy5wdXNoKG1lYXN1cmVtZW50KTtcbiAgICB9KTtcblxuICAgIGxldCBhbGxEYXRhU2VyaWVzID0gdGhpcy5lY2hhcnRzSW5zdGFuY2U/LmdldE9wdGlvbigpWydzZXJpZXMnXSBhcyBDdXN0b21TZXJpZXNPcHRpb25zW107XG5cbiAgICBzZXJpZXNEYXRhVG9VcGRhdGUuZm9yRWFjaCgobWVhc3VyZW1lbnRzLCBkYXRhcG9pbnQpID0+IHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlczogU2VyaWVzVmFsdWVbXSA9IG1lYXN1cmVtZW50cy5tYXAobSA9PiBbXG4gICAgICAgIG0udGltZSBhcyBzdHJpbmcsXG4gICAgICAgIG1bZGF0YXBvaW50LmZyYWdtZW50XVtkYXRhcG9pbnQuc2VyaWVzXS52YWx1ZVxuICAgICAgXSk7XG4gICAgICBjb25zdCBkYXRhcG9pbnRJZCA9IGRhdGFwb2ludC5fX3RhcmdldD8uaWQgKyBkYXRhcG9pbnQuZnJhZ21lbnQgKyBkYXRhcG9pbnQuc2VyaWVzO1xuICAgICAgY29uc3Qgc2VyaWVzTWF0Y2hpbmdEYXRhcG9pbnQgPSBhbGxEYXRhU2VyaWVzLmZpbmQocyA9PiBzWydkYXRhcG9pbnRJZCddID09PSBkYXRhcG9pbnRJZCk7XG4gICAgICBpZiAoIXNlcmllc01hdGNoaW5nRGF0YXBvaW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNlcmllc0RhdGFUb1VwZGF0ZSA9IHNlcmllc01hdGNoaW5nRGF0YXBvaW50WydkYXRhJ10gYXMgU2VyaWVzVmFsdWVbXTtcbiAgICAgIHNlcmllc0RhdGFUb1VwZGF0ZS5wdXNoKC4uLm5ld1ZhbHVlcyk7XG5cbiAgICAgIHNlcmllc01hdGNoaW5nRGF0YXBvaW50WydkYXRhJ10gPSB0aGlzLnJlbW92ZVZhbHVlc0JlZm9yZVRpbWVSYW5nZShzZXJpZXNNYXRjaGluZ0RhdGFwb2ludCk7XG5cbiAgICAgIGlmIChhbGFybU9yRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcmVuZGVyVHlwZTogRGF0YXBvaW50Q2hhcnRSZW5kZXJUeXBlID0gZGF0YXBvaW50LnJlbmRlclR5cGUgfHwgJ21pbic7XG4gICAgICAgIGNvbnN0IGRwOiBEcFdpdGhWYWx1ZXMgPSB7XG4gICAgICAgICAgLi4uZGF0YXBvaW50LFxuICAgICAgICAgIHZhbHVlczogc2VyaWVzTWF0Y2hpbmdEYXRhcG9pbnRbJ2RhdGEnXSBhcyB7XG4gICAgICAgICAgICBbZGF0ZTogc3RyaW5nXTogeyBtaW46IG51bWJlcjsgbWF4OiBudW1iZXIgfVtdO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXNFdmVudChhbGFybU9yRXZlbnQpKSB7XG4gICAgICAgICAgLy8gaWYgZXZlbnQgc2VyaWVzIHdpdGggdGhlIHNhbWUgaWQgYWxyZWFkeSBleGlzdHMsIHJldHVyblxuICAgICAgICAgIGNvbnN0IGV2ZW50RXhpc3RzID0gYWxsRGF0YVNlcmllcy5zb21lKHNlcmllcyA9PlxuICAgICAgICAgICAgKHNlcmllc1snZGF0YSddIGFzIHN0cmluZ1tdW10pLnNvbWUoXG4gICAgICAgICAgICAgIGRhdGEgPT4gZGF0YVswXSA9PT0gKGFsYXJtT3JFdmVudCBhcyBJRXZlbnQpLmNyZWF0aW9uVGltZVxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGV2ZW50RXhpc3RzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG5ld0V2ZW50U2VyaWVzID0gdGhpcy5lY2hhcnRzT3B0aW9uc1NlcnZpY2UuZ2V0QWxhcm1PckV2ZW50U2VyaWVzKFxuICAgICAgICAgICAgZHAsXG4gICAgICAgICAgICByZW5kZXJUeXBlLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBbYWxhcm1PckV2ZW50XSxcbiAgICAgICAgICAgICdldmVudCcsXG4gICAgICAgICAgICBkaXNwbGF5T3B0aW9ucyxcbiAgICAgICAgICAgIGFsYXJtT3JFdmVudC5jcmVhdGlvblRpbWUsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICk7XG4gICAgICAgICAgYWxsRGF0YVNlcmllcy5wdXNoKC4uLm5ld0V2ZW50U2VyaWVzKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0FsYXJtKGFsYXJtT3JFdmVudCkpIHtcbiAgICAgICAgICBjb25zdCBhbGFybUV4aXN0cyA9IGFsbERhdGFTZXJpZXMuc29tZSgoc2VyaWVzOiBDdXN0b21TZXJpZXNPcHRpb25zKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZXJpZXNEYXRhID0gc2VyaWVzWydkYXRhJ10gYXMgU2VyaWVzVmFsdWVbXTtcbiAgICAgICAgICAgIHJldHVybiBzZXJpZXNEYXRhLnNvbWUoXG4gICAgICAgICAgICAgIChkYXRhOiBTZXJpZXNWYWx1ZSkgPT4gZGF0YVswXSA9PT0gKGFsYXJtT3JFdmVudCBhcyBJRXZlbnQpLmNyZWF0aW9uVGltZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoYWxhcm1FeGlzdHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGFsYXJtU2VyaWVzID0gYWxsRGF0YVNlcmllcy5maWx0ZXIoKHNlcmllczogQ3VzdG9tU2VyaWVzT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzZXJpZXNEYXRhID0gc2VyaWVzWydkYXRhJ10gYXMgU2VyaWVzVmFsdWVbXTtcbiAgICAgICAgICAgICAgcmV0dXJuIHNlcmllc0RhdGEuc29tZShcbiAgICAgICAgICAgICAgICAoZGF0YTogU2VyaWVzVmFsdWUpID0+IGRhdGFbMF0gPT09IChhbGFybU9yRXZlbnQgYXMgSUFsYXJtKS5jcmVhdGlvblRpbWVcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gcmVtb3ZlIGFsbCBtYXRjaGluZyBhbGFybSBzZXJpZXMgd2hpY2ggYXJlIGluIHRoZSBhcnJheVxuICAgICAgICAgICAgYWxhcm1TZXJpZXMuZm9yRWFjaChzZXJpZXMgPT4ge1xuICAgICAgICAgICAgICBhbGxEYXRhU2VyaWVzID0gYWxsRGF0YVNlcmllcy5maWx0ZXIocyA9PiBzWydpZCddICE9PSBzZXJpZXNbJ2lkJ10pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld0FsYXJtU2VyaWVzID0gdGhpcy5lY2hhcnRzT3B0aW9uc1NlcnZpY2UuZ2V0QWxhcm1PckV2ZW50U2VyaWVzKFxuICAgICAgICAgICAgICBkcCxcbiAgICAgICAgICAgICAgcmVuZGVyVHlwZSxcbiAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgIFthbGFybU9yRXZlbnRdLFxuICAgICAgICAgICAgICAnYWxhcm0nLFxuICAgICAgICAgICAgICBkaXNwbGF5T3B0aW9ucyxcbiAgICAgICAgICAgICAgKGFsYXJtT3JFdmVudCBhcyBJQWxhcm0pLmNyZWF0aW9uVGltZSxcbiAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGFsbERhdGFTZXJpZXMucHVzaCguLi5uZXdBbGFybVNlcmllcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0FsYXJtU2VyaWVzID0gdGhpcy5lY2hhcnRzT3B0aW9uc1NlcnZpY2UuZ2V0QWxhcm1PckV2ZW50U2VyaWVzKFxuICAgICAgICAgICAgICBkcCxcbiAgICAgICAgICAgICAgcmVuZGVyVHlwZSxcbiAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgIFthbGFybU9yRXZlbnRdLFxuICAgICAgICAgICAgICAnYWxhcm0nLFxuICAgICAgICAgICAgICBkaXNwbGF5T3B0aW9ucyxcbiAgICAgICAgICAgICAgKGFsYXJtT3JFdmVudCBhcyBJRXZlbnQpLmlkLFxuICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYWxsRGF0YVNlcmllcy5wdXNoKC4uLm5ld0FsYXJtU2VyaWVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5jaGVja0ZvclZhbHVlc0FmdGVyVGltZVJhbmdlKFxuICAgICAgICBzZXJpZXNNYXRjaGluZ0RhdGFwb2ludFsnZGF0YSddIGFzIFNlcmllc1ZhbHVlW10sXG4gICAgICAgIGRhdGFwb2ludCxcbiAgICAgICAgZGF0YXBvaW50T3V0T2ZTeW5jQ2FsbGJhY2tcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmVjaGFydHNJbnN0YW5jZT8uc2V0T3B0aW9uKHtcbiAgICAgIGRhdGFab29tOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnaW5zaWRlJyxcbiAgICAgICAgICBzdGFydFZhbHVlOiB0aGlzLmN1cnJlbnRUaW1lUmFuZ2U/LmRhdGVGcm9tLnZhbHVlT2YoKSxcbiAgICAgICAgICBlbmRWYWx1ZTogdGhpcy5jdXJyZW50VGltZVJhbmdlPy5kYXRlVG8udmFsdWVPZigpXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICB4QXhpczoge1xuICAgICAgICBtYXg6IHRoaXMuY3VycmVudFRpbWVSYW5nZT8uZGF0ZVRvXG4gICAgICB9LFxuICAgICAgc2VyaWVzOiBhbGxEYXRhU2VyaWVzXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRm9yVmFsdWVzQWZ0ZXJUaW1lUmFuZ2UoXG4gICAgZGF0YTogU2VyaWVzVmFsdWVbXSxcbiAgICBkYXRhcG9pbnQ6IERhdGFwb2ludHNHcmFwaEtQSURldGFpbHMsXG4gICAgZGF0YXBvaW50T3V0T2ZTeW5jQ2FsbGJhY2s6IChkcDogRGF0YXBvaW50c0dyYXBoS1BJRGV0YWlscykgPT4gdm9pZFxuICApIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IHZhbHVlQWZ0ZXJOb3dFeGlzdHMgPSBkYXRhLnNvbWUoKFtkYXRlU3RyaW5nLCBfXTogU2VyaWVzVmFsdWUpID0+IHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlU3RyaW5nKS52YWx1ZU9mKCkgPiBub3cudmFsdWVPZigpO1xuICAgIH0pO1xuICAgIGlmICh2YWx1ZUFmdGVyTm93RXhpc3RzKSB7XG4gICAgICBkYXRhcG9pbnRPdXRPZlN5bmNDYWxsYmFjayhkYXRhcG9pbnQpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,102 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ function assertUnreachable(_) {
4
+ throw new Error('Case unreachable.');
5
+ }
6
+ export class ChartTypesService {
7
+ constructor() {
8
+ this.RENDER_TYPE_SYMBOL = {
9
+ min: { symbol: 'triangle', symbolRotate: 0 },
10
+ max: { symbol: 'triangle', symbolRotate: 180 }
11
+ };
12
+ }
13
+ getSeriesOptions({ lineType, color }, isMinMaxChart = false, renderType) {
14
+ switch (lineType) {
15
+ case 'points':
16
+ return this.pointsSeriesOption(color, isMinMaxChart, renderType);
17
+ case 'linePoints':
18
+ return this.linePointsSeriesOption(color, isMinMaxChart, renderType);
19
+ case 'bars':
20
+ return this.barsSeriesOption(color, isMinMaxChart, renderType);
21
+ case 'step-before':
22
+ return this.stepBeforeSeriesOption(color, isMinMaxChart, renderType);
23
+ case 'step-after':
24
+ return this.stepAfterSeriesOption(color, isMinMaxChart, renderType);
25
+ case 'line':
26
+ case undefined:
27
+ return this.lineSeriesOption(color, isMinMaxChart, renderType);
28
+ }
29
+ return assertUnreachable(lineType);
30
+ }
31
+ pointsSeriesOption(color, isMinMaxChart, renderType) {
32
+ const baseOption = this.linePointsSeriesOption(color, isMinMaxChart, renderType);
33
+ return {
34
+ ...baseOption,
35
+ lineStyle: { opacity: 0 }
36
+ };
37
+ }
38
+ lineSeriesOption(color, isMinMaxChart, renderType) {
39
+ let baseOption = {
40
+ type: 'line',
41
+ lineStyle: {
42
+ color: color,
43
+ width: 1,
44
+ type: 'solid'
45
+ },
46
+ itemStyle: {
47
+ color: color
48
+ },
49
+ emphasis: {
50
+ scale: 1.2,
51
+ itemStyle: {
52
+ color: color
53
+ }
54
+ },
55
+ showSymbol: false,
56
+ symbolSize: 4 // symbol is visible on hover
57
+ };
58
+ if (isMinMaxChart) {
59
+ baseOption = {
60
+ ...baseOption,
61
+ ...this.RENDER_TYPE_SYMBOL[renderType],
62
+ symbolSize: 8
63
+ };
64
+ }
65
+ return baseOption;
66
+ }
67
+ linePointsSeriesOption(color, isMinMaxChart, renderType) {
68
+ const baseOption = this.lineSeriesOption(color, isMinMaxChart, renderType);
69
+ return {
70
+ ...baseOption,
71
+ showSymbol: true
72
+ };
73
+ }
74
+ barsSeriesOption(color, isMinMaxChart, renderType) {
75
+ const baseOption = {
76
+ type: 'bar',
77
+ barMinWidth: 1,
78
+ barMaxWidth: 20,
79
+ itemStyle: {
80
+ color
81
+ }
82
+ };
83
+ if (isMinMaxChart) {
84
+ baseOption.itemStyle.opacity = renderType === 'max' ? 0.6 : 1.0;
85
+ }
86
+ return baseOption;
87
+ }
88
+ stepBeforeSeriesOption(color, isMinMaxChart, renderType) {
89
+ const baseOption = this.lineSeriesOption(color, isMinMaxChart, renderType);
90
+ return { ...baseOption, step: 'start' };
91
+ }
92
+ stepAfterSeriesOption(color, isMinMaxChart, renderType) {
93
+ const baseOption = this.lineSeriesOption(color, isMinMaxChart, renderType);
94
+ return { ...baseOption, step: 'end' };
95
+ }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartTypesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
97
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartTypesService }); }
98
+ }
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ChartTypesService, decorators: [{
100
+ type: Injectable
101
+ }] });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtdHlwZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2VjaGFydC9zZXJ2aWNlcy9jaGFydC10eXBlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLFNBQVMsaUJBQWlCLENBQUMsQ0FBUTtJQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUdELE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFVSx1QkFBa0IsR0FHdEI7WUFDRixHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUU7WUFDNUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFO1NBQy9DLENBQUM7S0FzSEg7SUFySEMsZ0JBQWdCLENBQ2QsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFnQixFQUNqQyxhQUFhLEdBQUcsS0FBSyxFQUNyQixVQUFvQztRQUVwQyxRQUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ25FLEtBQUssWUFBWTtnQkFDZixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZFLEtBQUssTUFBTTtnQkFDVCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2pFLEtBQUssYUFBYTtnQkFDaEIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN2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RSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDM0UsT0FBTyxFQUFFLEdBQUcsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzhHQTVIVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFwb2ludENoYXJ0UmVuZGVyVHlwZSwgRHBXaXRoVmFsdWVzLCBFY2hhcnRzU2VyaWVzT3B0aW9ucyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgdHlwZSB7IEJhclNlcmllc09wdGlvbiwgTGluZVNlcmllc09wdGlvbiB9IGZyb20gJ2VjaGFydHMnO1xuXG5mdW5jdGlvbiBhc3NlcnRVbnJlYWNoYWJsZShfOiBuZXZlcik6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdDYXNlIHVucmVhY2hhYmxlLicpO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2hhcnRUeXBlc1NlcnZpY2Uge1xuICBwcml2YXRlIFJFTkRFUl9UWVBFX1NZTUJPTDogUmVjb3JkPFxuICAgIEV4Y2x1ZGU8RGF0YXBvaW50Q2hhcnRSZW5kZXJUeXBlLCAnYXJlYSc+LFxuICAgIFBhcnRpYWw8TGluZVNlcmllc09wdGlvbj5cbiAgPiA9IHtcbiAgICBtaW46IHsgc3ltYm9sOiAndHJpYW5nbGUnLCBzeW1ib2xSb3RhdGU6IDAgfSxcbiAgICBtYXg6IHsgc3ltYm9sOiAndHJpYW5nbGUnLCBzeW1ib2xSb3RhdGU6IDE4MCB9XG4gIH07XG4gIGdldFNlcmllc09wdGlvbnMoXG4gICAgeyBsaW5lVHlwZSwgY29sb3IgfTogRHBXaXRoVmFsdWVzLFxuICAgIGlzTWluTWF4Q2hhcnQgPSBmYWxzZSxcbiAgICByZW5kZXJUeXBlOiBEYXRhcG9pbnRDaGFydFJlbmRlclR5cGVcbiAgKTogRWNoYXJ0c1Nlcmllc09wdGlvbnMge1xuICAgIHN3aXRjaCAobGluZVR5cGUpIHtcbiAgICAgIGNhc2UgJ3BvaW50cyc6XG4gICAgICAgIHJldHVybiB0aGlzLnBvaW50c1Nlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgICBjYXNlICdsaW5lUG9pbnRzJzpcbiAgICAgICAgcmV0dXJuIHRoaXMubGluZVBvaW50c1Nlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgICBjYXNlICdiYXJzJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFyc1Nlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgICBjYXNlICdzdGVwLWJlZm9yZSc6XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBCZWZvcmVTZXJpZXNPcHRpb24oY29sb3IsIGlzTWluTWF4Q2hhcnQsIHJlbmRlclR5cGUpO1xuICAgICAgY2FzZSAnc3RlcC1hZnRlcic6XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBBZnRlclNlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgICBjYXNlICdsaW5lJzpcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICByZXR1cm4gdGhpcy5saW5lU2VyaWVzT3B0aW9uKGNvbG9yLCBpc01pbk1heENoYXJ0LCByZW5kZXJUeXBlKTtcbiAgICB9XG4gICAgcmV0dXJuIGFzc2VydFVucmVhY2hhYmxlKGxpbmVUeXBlKTtcbiAgfVxuXG4gIHByaXZhdGUgcG9pbnRzU2VyaWVzT3B0aW9uKFxuICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgaXNNaW5NYXhDaGFydDogYm9vbGVhbixcbiAgICByZW5kZXJUeXBlOiBEYXRhcG9pbnRDaGFydFJlbmRlclR5cGVcbiAgKTogTGluZVNlcmllc09wdGlvbiB7XG4gICAgY29uc3QgYmFzZU9wdGlvbiA9IHRoaXMubGluZVBvaW50c1Nlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJhc2VPcHRpb24sXG4gICAgICBsaW5lU3R5bGU6IHsgb3BhY2l0eTogMCB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgbGluZVNlcmllc09wdGlvbihcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGlzTWluTWF4Q2hhcnQ6IGJvb2xlYW4sXG4gICAgcmVuZGVyVHlwZTogRGF0YXBvaW50Q2hhcnRSZW5kZXJUeXBlXG4gICk6IExpbmVTZXJpZXNPcHRpb24ge1xuICAgIGxldCBiYXNlT3B0aW9uOiBMaW5lU2VyaWVzT3B0aW9uID0ge1xuICAgICAgdHlwZTogJ2xpbmUnLFxuICAgICAgbGluZVN0eWxlOiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgICAgd2lkdGg6IDEsXG4gICAgICAgIHR5cGU6ICdzb2xpZCdcbiAgICAgIH0sXG4gICAgICBpdGVtU3R5bGU6IHtcbiAgICAgICAgY29sb3I6IGNvbG9yXG4gICAgICB9LFxuICAgICAgZW1waGFzaXM6IHtcbiAgICAgICAgc2NhbGU6IDEuMixcbiAgICAgICAgaXRlbVN0eWxlOiB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBzaG93U3ltYm9sOiBmYWxzZSxcbiAgICAgIHN5bWJvbFNpemU6IDQgLy8gc3ltYm9sIGlzIHZpc2libGUgb24gaG92ZXJcbiAgICB9O1xuICAgIGlmIChpc01pbk1heENoYXJ0KSB7XG4gICAgICBiYXNlT3B0aW9uID0ge1xuICAgICAgICAuLi5iYXNlT3B0aW9uLFxuICAgICAgICAuLi50aGlzLlJFTkRFUl9UWVBFX1NZTUJPTFtyZW5kZXJUeXBlXSxcbiAgICAgICAgc3ltYm9sU2l6ZTogOFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIGJhc2VPcHRpb247XG4gIH1cblxuICBwcml2YXRlIGxpbmVQb2ludHNTZXJpZXNPcHRpb24oXG4gICAgY29sb3I6IHN0cmluZyxcbiAgICBpc01pbk1heENoYXJ0OiBib29sZWFuLFxuICAgIHJlbmRlclR5cGU6IERhdGFwb2ludENoYXJ0UmVuZGVyVHlwZVxuICApOiBMaW5lU2VyaWVzT3B0aW9uIHtcbiAgICBjb25zdCBiYXNlT3B0aW9uID0gdGhpcy5saW5lU2VyaWVzT3B0aW9uKGNvbG9yLCBpc01pbk1heENoYXJ0LCByZW5kZXJUeXBlKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmFzZU9wdGlvbixcbiAgICAgIHNob3dTeW1ib2w6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBiYXJzU2VyaWVzT3B0aW9uKFxuICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgaXNNaW5NYXhDaGFydDogYm9vbGVhbixcbiAgICByZW5kZXJUeXBlOiBEYXRhcG9pbnRDaGFydFJlbmRlclR5cGVcbiAgKTogQmFyU2VyaWVzT3B0aW9uIHtcbiAgICBjb25zdCBiYXNlT3B0aW9uOiBCYXJTZXJpZXNPcHRpb24gPSB7XG4gICAgICB0eXBlOiAnYmFyJyxcbiAgICAgIGJhck1pbldpZHRoOiAxLFxuICAgICAgYmFyTWF4V2lkdGg6IDIwLFxuICAgICAgaXRlbVN0eWxlOiB7XG4gICAgICAgIGNvbG9yXG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAoaXNNaW5NYXhDaGFydCkge1xuICAgICAgYmFzZU9wdGlvbi5pdGVtU3R5bGUub3BhY2l0eSA9IHJlbmRlclR5cGUgPT09ICdtYXgnID8gMC42IDogMS4wO1xuICAgIH1cbiAgICByZXR1cm4gYmFzZU9wdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgc3RlcEJlZm9yZVNlcmllc09wdGlvbihcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGlzTWluTWF4Q2hhcnQ6IGJvb2xlYW4sXG4gICAgcmVuZGVyVHlwZTogRGF0YXBvaW50Q2hhcnRSZW5kZXJUeXBlXG4gICk6IExpbmVTZXJpZXNPcHRpb24ge1xuICAgIGNvbnN0IGJhc2VPcHRpb24gPSB0aGlzLmxpbmVTZXJpZXNPcHRpb24oY29sb3IsIGlzTWluTWF4Q2hhcnQsIHJlbmRlclR5cGUpO1xuICAgIHJldHVybiB7IC4uLmJhc2VPcHRpb24sIHN0ZXA6ICdzdGFydCcgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RlcEFmdGVyU2VyaWVzT3B0aW9uKFxuICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgaXNNaW5NYXhDaGFydDogYm9vbGVhbixcbiAgICByZW5kZXJUeXBlOiBEYXRhcG9pbnRDaGFydFJlbmRlclR5cGVcbiAgKTogTGluZVNlcmllc09wdGlvbiB7XG4gICAgY29uc3QgYmFzZU9wdGlvbiA9IHRoaXMubGluZVNlcmllc09wdGlvbihjb2xvciwgaXNNaW5NYXhDaGFydCwgcmVuZGVyVHlwZSk7XG4gICAgcmV0dXJuIHsgLi4uYmFzZU9wdGlvbiwgc3RlcDogJ2VuZCcgfTtcbiAgfVxufVxuIl19