@testgorilla/tgo-ui 3.14.11-beta.1 → 3.14.12

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 (758) hide show
  1. package/README.md +103 -103
  2. package/components/donut-chart/donut-chart.component.d.ts +2 -2
  3. package/components/icon/icon.config.d.ts +1 -1
  4. package/components/inline-field/inline-field.component.d.ts +2 -2
  5. package/components/multi-input/multi-input.component.d.ts +8 -1
  6. package/components/skeleton/skeleton.component.d.ts +1 -1
  7. package/esm2022/components/accordion/accordion.component.mjs +3 -3
  8. package/esm2022/components/accordion/accordion.component.module.mjs +1 -1
  9. package/esm2022/components/accordion/accordion.model.mjs +1 -1
  10. package/esm2022/components/ai-feedback/ai-feedback.component.mjs +3 -3
  11. package/esm2022/components/ai-feedback/ai-feedback.model.mjs +1 -1
  12. package/esm2022/components/ai-feedback/ai-feedback.module.mjs +1 -1
  13. package/esm2022/components/alert-banner/alert-banner.component.mjs +3 -3
  14. package/esm2022/components/alert-banner/alert-banner.component.module.mjs +1 -1
  15. package/esm2022/components/alert-banner/alert-banner.model.mjs +1 -1
  16. package/esm2022/components/autocomplete/autocomplete.component.mjs +3 -3
  17. package/esm2022/components/autocomplete/autocomplete.component.module.mjs +1 -1
  18. package/esm2022/components/autocomplete/autocomplete.model.mjs +1 -1
  19. package/esm2022/components/autocomplete/includes.pipe.mjs +1 -1
  20. package/esm2022/components/autocomplete/prevent-input.directive.mjs +1 -1
  21. package/esm2022/components/autocomplete/transform-Item.pipe.mjs +1 -1
  22. package/esm2022/components/avatar/avatar.component.mjs +3 -3
  23. package/esm2022/components/avatar/avatar.component.module.mjs +1 -1
  24. package/esm2022/components/avatar/avatar.model.mjs +1 -1
  25. package/esm2022/components/badge/badge.component.mjs +3 -3
  26. package/esm2022/components/badge/badge.component.module.mjs +1 -1
  27. package/esm2022/components/badge/badge.model.mjs +1 -1
  28. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +3 -3
  29. package/esm2022/components/breadcrumb/breadcrumb.component.module.mjs +1 -1
  30. package/esm2022/components/breadcrumb/breadcrumb.model.mjs +1 -1
  31. package/esm2022/components/button/button.component.mjs +3 -3
  32. package/esm2022/components/button/button.component.module.mjs +1 -1
  33. package/esm2022/components/button/button.model.mjs +1 -1
  34. package/esm2022/components/card/card.component.mjs +3 -3
  35. package/esm2022/components/card/card.component.module.mjs +1 -1
  36. package/esm2022/components/card/card.model.mjs +1 -1
  37. package/esm2022/components/checkbox/checkbox.component.mjs +3 -3
  38. package/esm2022/components/checkbox/checkbox.component.module.mjs +1 -1
  39. package/esm2022/components/checkbox/focus-visible.directive.mjs +1 -1
  40. package/esm2022/components/checklist/checklist.component.mjs +3 -3
  41. package/esm2022/components/checklist/checklist.model.mjs +1 -1
  42. package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +3 -3
  43. package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +1 -1
  44. package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +1 -1
  45. package/esm2022/components/datepicker/date-adapter.mjs +1 -1
  46. package/esm2022/components/datepicker/datepicker.component.mjs +3 -3
  47. package/esm2022/components/datepicker/datepicker.component.module.mjs +1 -1
  48. package/esm2022/components/datepicker/datepicker.service.mjs +1 -1
  49. package/esm2022/components/datepicker/no-date-format.directive.mjs +1 -1
  50. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +3 -3
  51. package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +1 -1
  52. package/esm2022/components/dialog/dialog.component.mjs +3 -3
  53. package/esm2022/components/dialog/dialog.component.module.mjs +1 -1
  54. package/esm2022/components/dialog/dialog.model.mjs +1 -1
  55. package/esm2022/components/dialog/dialog.service.mjs +1 -1
  56. package/esm2022/components/divider/divider.component.mjs +3 -3
  57. package/esm2022/components/divider/divider.component.module.mjs +1 -1
  58. package/esm2022/components/divider/divider.model.mjs +1 -1
  59. package/esm2022/components/donut-chart/donut-chart.component.mjs +3 -3
  60. package/esm2022/components/donut-chart/donut-chart.component.model.mjs +1 -1
  61. package/esm2022/components/donut-chart/donut-chart.component.module.mjs +1 -1
  62. package/esm2022/components/dropdown/dropdown.component.mjs +3 -3
  63. package/esm2022/components/dropdown/dropdown.component.module.mjs +1 -1
  64. package/esm2022/components/dropdown/dropdown.model.mjs +1 -1
  65. package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +3 -3
  66. package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +1 -1
  67. package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +1 -1
  68. package/esm2022/components/empty-state/empty-state.component.mjs +3 -3
  69. package/esm2022/components/empty-state/empty-state.component.module.mjs +1 -1
  70. package/esm2022/components/empty-state/empty-state.model.mjs +1 -1
  71. package/esm2022/components/field/field.component.mjs +3 -3
  72. package/esm2022/components/field/field.component.module.mjs +1 -1
  73. package/esm2022/components/field/field.model.mjs +1 -1
  74. package/esm2022/components/file-upload/file-upload.component.mjs +3 -3
  75. package/esm2022/components/file-upload/file-upload.component.module.mjs +1 -1
  76. package/esm2022/components/filter-button/filter-button.component.mjs +3 -3
  77. package/esm2022/components/filter-button/filter-button.component.module.mjs +1 -1
  78. package/esm2022/components/filter-button/filter-button.model.mjs +1 -1
  79. package/esm2022/components/gaussian-chart/gaussian-chart.component.mjs +3 -3
  80. package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +1 -1
  81. package/esm2022/components/icon/icon-svg-content.mjs +1 -1
  82. package/esm2022/components/icon/icon.component.mjs +3 -3
  83. package/esm2022/components/icon/icon.component.module.mjs +1 -1
  84. package/esm2022/components/icon/icon.config.mjs +7 -1
  85. package/esm2022/components/icon/icon.model.mjs +1 -1
  86. package/esm2022/components/icon-label/icon-label.component.mjs +3 -3
  87. package/esm2022/components/icon-label/icon-label.component.module.mjs +1 -1
  88. package/esm2022/components/inline-field/inline-field.component.mjs +3 -3
  89. package/esm2022/components/inline-field/inline-field.component.module.mjs +1 -1
  90. package/esm2022/components/inline-field/inline-field.model.mjs +1 -1
  91. package/esm2022/components/logo/logo.component.mjs +3 -3
  92. package/esm2022/components/logo/logo.component.module.mjs +1 -1
  93. package/esm2022/components/logo/logo.model.mjs +1 -1
  94. package/esm2022/components/media-card/media-card.component.mjs +3 -3
  95. package/esm2022/components/media-dialog/media-dialog.component.mjs +3 -3
  96. package/esm2022/components/media-dialog/media-dialog.model.mjs +1 -1
  97. package/esm2022/components/multi-input/multi-input.component.mjs +14 -7
  98. package/esm2022/components/multi-input/multi-input.component.module.mjs +1 -1
  99. package/esm2022/components/multi-input/multi-input.model.mjs +1 -1
  100. package/esm2022/components/multi-input/required-multi-input.validator.mjs +1 -1
  101. package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +3 -3
  102. package/esm2022/components/navbar/navbar.component.mjs +3 -3
  103. package/esm2022/components/navbar/navbar.component.module.mjs +1 -1
  104. package/esm2022/components/navbar/navbar.model.mjs +1 -1
  105. package/esm2022/components/overflow-menu/overflow-menu.component.mjs +3 -3
  106. package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +1 -1
  107. package/esm2022/components/overflow-menu/overflow-menu.model.mjs +1 -1
  108. package/esm2022/components/page-header/page-header.component.mjs +3 -3
  109. package/esm2022/components/page-header/page-header.component.module.mjs +1 -1
  110. package/esm2022/components/paginator/paginator.component.mjs +3 -3
  111. package/esm2022/components/paginator/paginator.component.module.mjs +1 -1
  112. package/esm2022/components/password-criteria/password.component.mjs +3 -3
  113. package/esm2022/components/password-criteria/password.component.module.mjs +1 -1
  114. package/esm2022/components/password-strength/password-strength.component.mjs +3 -3
  115. package/esm2022/components/password-strength/password-strength.component.module.mjs +1 -1
  116. package/esm2022/components/phone-input/join-strings.pipe.mjs +1 -1
  117. package/esm2022/components/phone-input/phone-input.component.mjs +3 -3
  118. package/esm2022/components/phone-input/phone-input.component.module.mjs +1 -1
  119. package/esm2022/components/phone-input/phone-input.model.mjs +1 -1
  120. package/esm2022/components/progress-bar/progress-bar.component.mjs +3 -3
  121. package/esm2022/components/progress-bar/progress-bar.component.module.mjs +1 -1
  122. package/esm2022/components/prompt/prompt.component.mjs +3 -3
  123. package/esm2022/components/prompt/prompt.model.mjs +1 -1
  124. package/esm2022/components/prompt/prompt.module.mjs +1 -1
  125. package/esm2022/components/radial-progress/radial-progress.component.mjs +3 -3
  126. package/esm2022/components/radial-progress/radial-progress.component.module.mjs +1 -1
  127. package/esm2022/components/radial-progress/radial-progress.model.mjs +1 -1
  128. package/esm2022/components/radio-button/radio-button.component.mjs +3 -3
  129. package/esm2022/components/radio-button/radio-button.component.module.mjs +1 -1
  130. package/esm2022/components/radio-button/radio-button.model.mjs +1 -1
  131. package/esm2022/components/rating/half-star.pipe.mjs +1 -1
  132. package/esm2022/components/rating/rating.component.mjs +3 -3
  133. package/esm2022/components/rating/rating.component.module.mjs +1 -1
  134. package/esm2022/components/scale/scale.component.mjs +3 -3
  135. package/esm2022/components/scale/scale.component.module.mjs +1 -1
  136. package/esm2022/components/scale-table/scale-table.component.mjs +3 -3
  137. package/esm2022/components/scale-table/scale-table.model.mjs +1 -1
  138. package/esm2022/components/segmented-bar/segmented-bar.component.mjs +3 -3
  139. package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +1 -1
  140. package/esm2022/components/segmented-bar/segmented-bar.model.mjs +1 -1
  141. package/esm2022/components/segmented-button/segmented-button.component.mjs +3 -3
  142. package/esm2022/components/segmented-button/segmented-button.component.module.mjs +1 -1
  143. package/esm2022/components/segmented-button/segmented-button.model.mjs +1 -1
  144. package/esm2022/components/selectable-card/selectable-card.component.mjs +3 -3
  145. package/esm2022/components/selectable-card/selectable-card.component.module.mjs +1 -1
  146. package/esm2022/components/side-panel/side-panel-data-injection-token.mjs +1 -1
  147. package/esm2022/components/side-panel/side-panel.animations.mjs +1 -1
  148. package/esm2022/components/side-panel/side-panel.component.mjs +3 -3
  149. package/esm2022/components/side-panel/side-panel.model.mjs +1 -1
  150. package/esm2022/components/side-panel/side-panel.service.mjs +1 -1
  151. package/esm2022/components/side-sheet/side-sheet.component.mjs +3 -3
  152. package/esm2022/components/side-sheet/side-sheet.component.module.mjs +1 -1
  153. package/esm2022/components/side-sheet/side-sheet.model.mjs +1 -1
  154. package/esm2022/components/side-sheet/side-sheet.service.mjs +1 -1
  155. package/esm2022/components/skeleton/skeleton.component.mjs +3 -3
  156. package/esm2022/components/skeleton/skeleton.model.mjs +1 -1
  157. package/esm2022/components/slider/slider.component.mjs +3 -3
  158. package/esm2022/components/slider/slider.component.module.mjs +1 -1
  159. package/esm2022/components/slider/slider.model.mjs +1 -1
  160. package/esm2022/components/snackbar/snackbar.component.mjs +3 -3
  161. package/esm2022/components/snackbar/snackbar.component.module.mjs +1 -1
  162. package/esm2022/components/snackbar/snackbar.model.mjs +1 -1
  163. package/esm2022/components/snackbar/snackbar.service.mjs +1 -1
  164. package/esm2022/components/spider-chart/spider-chart.component.mjs +3 -3
  165. package/esm2022/components/spider-chart/spider-chart.model.mjs +1 -1
  166. package/esm2022/components/spider-chart/spider-chart.module.mjs +1 -1
  167. package/esm2022/components/spinner/spinner.component.mjs +3 -3
  168. package/esm2022/components/spinner/spinner.model.mjs +1 -1
  169. package/esm2022/components/spinner/spinner.module.mjs +1 -1
  170. package/esm2022/components/step/step.component.mjs +3 -3
  171. package/esm2022/components/step/step.component.module.mjs +1 -1
  172. package/esm2022/components/stepper/stepper.component.mjs +3 -3
  173. package/esm2022/components/stepper/stepper.component.module.mjs +1 -1
  174. package/esm2022/components/stepper/stepper.model.mjs +1 -1
  175. package/esm2022/components/table/sentence-case.pipe.mjs +1 -1
  176. package/esm2022/components/table/table.component.mjs +3 -3
  177. package/esm2022/components/table/table.component.module.mjs +1 -1
  178. package/esm2022/components/table/table.model.mjs +1 -1
  179. package/esm2022/components/tabs/tab.directive.mjs +1 -1
  180. package/esm2022/components/tabs/tabs.component.mjs +3 -3
  181. package/esm2022/components/tabs/tabs.component.module.mjs +1 -1
  182. package/esm2022/components/tabs/tabs.model.mjs +1 -1
  183. package/esm2022/components/tag/tag.component.mjs +3 -3
  184. package/esm2022/components/tag/tag.component.module.mjs +1 -1
  185. package/esm2022/components/tag/tag.model.mjs +1 -1
  186. package/esm2022/components/toggle/toggle.component.mjs +3 -3
  187. package/esm2022/components/toggle/toggle.component.module.mjs +1 -1
  188. package/esm2022/components/toggle/toggle.model.mjs +1 -1
  189. package/esm2022/components/tooltip/tooltip-template.directive.mjs +1 -1
  190. package/esm2022/components/tooltip/tooltip.component.mjs +3 -3
  191. package/esm2022/components/tooltip/tooltip.component.module.mjs +1 -1
  192. package/esm2022/components/tooltip/tooltip.model.mjs +1 -1
  193. package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +3 -3
  194. package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +1 -1
  195. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.mjs +3 -3
  196. package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.mjs +1 -1
  197. package/esm2022/components/validation-error/validation-error.component.mjs +3 -3
  198. package/esm2022/components/validation-error/validation-error.model.mjs +1 -1
  199. package/esm2022/components/validation-error/validation-error.module.mjs +1 -1
  200. package/esm2022/directives/digits-only.directive.mjs +1 -1
  201. package/esm2022/directives/drag-drop.directive.mjs +1 -1
  202. package/esm2022/directives/dynamic-component.directive.mjs +1 -1
  203. package/esm2022/directives/ellipse-text.directive.mjs +1 -1
  204. package/esm2022/directives/select-text.directive.mjs +1 -1
  205. package/esm2022/directives/step-line-element.directive.mjs +1 -1
  206. package/esm2022/models/application-theme.model.mjs +1 -1
  207. package/esm2022/models/checkbox.model.mjs +1 -1
  208. package/esm2022/models/colors.model.mjs +1 -1
  209. package/esm2022/models/keyboard-events.model.mjs +1 -1
  210. package/esm2022/models/screen-breakpoints.model.mjs +1 -1
  211. package/esm2022/models/universal-skills-report.model.mjs +1 -1
  212. package/esm2022/pipes/data-property-getter.mjs +1 -1
  213. package/esm2022/pipes/has-validation-error.pipe.mjs +1 -1
  214. package/esm2022/pipes/memoize-func.pipe.mjs +1 -1
  215. package/esm2022/pipes/name-initials.pipe.mjs +1 -1
  216. package/esm2022/pipes/truncate.pipe.mjs +1 -1
  217. package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +1 -1
  218. package/esm2022/pipes/ui-translate.pipe.mjs +1 -1
  219. package/esm2022/providers/is-mobile.mjs +1 -1
  220. package/esm2022/public-api.mjs +1 -1
  221. package/esm2022/services/icons.service.mjs +1 -1
  222. package/esm2022/services/universal-skills.service.mjs +1 -1
  223. package/esm2022/utils/alert-bar.model.mjs +1 -1
  224. package/esm2022/utils/alert-bars.utils.mjs +1 -1
  225. package/esm2022/utils/autocomplete-utils.mjs +2 -2
  226. package/esm2022/utils/color-contrast.mjs +1 -1
  227. package/esm2022/utils/hex-to-rgb.mjs +1 -1
  228. package/esm2022/utils/localization/language.model.mjs +1 -1
  229. package/esm2022/utils/localization/language.service.mjs +1 -1
  230. package/esm2022/utils/table.utils.mjs +1 -1
  231. package/fesm2022/testgorilla-tgo-ui.mjs +150 -137
  232. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  233. package/package.json +1 -1
  234. package/projects/tgo-canopy-ui/assets/i18n/da-dk.json +819 -819
  235. package/projects/tgo-canopy-ui/assets/i18n/de.json +819 -819
  236. package/projects/tgo-canopy-ui/assets/i18n/en.json +829 -829
  237. package/projects/tgo-canopy-ui/assets/i18n/es.json +819 -819
  238. package/projects/tgo-canopy-ui/assets/i18n/fr.json +819 -819
  239. package/projects/tgo-canopy-ui/assets/i18n/it-it.json +819 -819
  240. package/projects/tgo-canopy-ui/assets/i18n/ja-jp.json +819 -819
  241. package/projects/tgo-canopy-ui/assets/i18n/nb-no.json +819 -819
  242. package/projects/tgo-canopy-ui/assets/i18n/nl.json +819 -819
  243. package/projects/tgo-canopy-ui/assets/i18n/pl-pl.json +819 -819
  244. package/projects/tgo-canopy-ui/assets/i18n/pt-br.json +819 -819
  245. package/projects/tgo-canopy-ui/assets/i18n/sv-se.json +819 -819
  246. package/projects/tgo-canopy-ui/assets/icons/Add.svg +3 -3
  247. package/projects/tgo-canopy-ui/assets/icons/Archive.svg +3 -3
  248. package/projects/tgo-canopy-ui/assets/icons/Arrow_down.svg +3 -3
  249. package/projects/tgo-canopy-ui/assets/icons/Arrow_left.svg +3 -3
  250. package/projects/tgo-canopy-ui/assets/icons/Arrow_right.svg +3 -3
  251. package/projects/tgo-canopy-ui/assets/icons/Arrow_up.svg +3 -3
  252. package/projects/tgo-canopy-ui/assets/icons/Assessment.svg +3 -3
  253. package/projects/tgo-canopy-ui/assets/icons/Attempts.svg +3 -3
  254. package/projects/tgo-canopy-ui/assets/icons/Book.svg +3 -3
  255. package/projects/tgo-canopy-ui/assets/icons/Calendar.svg +3 -3
  256. package/projects/tgo-canopy-ui/assets/icons/Candidates.svg +8 -8
  257. package/projects/tgo-canopy-ui/assets/icons/Chat-notifications.svg +4 -4
  258. package/projects/tgo-canopy-ui/assets/icons/Chat.svg +3 -3
  259. package/projects/tgo-canopy-ui/assets/icons/Check.svg +3 -3
  260. package/projects/tgo-canopy-ui/assets/icons/Clone.svg +3 -3
  261. package/projects/tgo-canopy-ui/assets/icons/Close.svg +3 -3
  262. package/projects/tgo-canopy-ui/assets/icons/Code.svg +3 -3
  263. package/projects/tgo-canopy-ui/assets/icons/Company.svg +3 -3
  264. package/projects/tgo-canopy-ui/assets/icons/Copy.svg +3 -3
  265. package/projects/tgo-canopy-ui/assets/icons/Custom-questions.svg +3 -3
  266. package/projects/tgo-canopy-ui/assets/icons/Delete.svg +3 -3
  267. package/projects/tgo-canopy-ui/assets/icons/Devices.svg +3 -3
  268. package/projects/tgo-canopy-ui/assets/icons/Document.svg +3 -3
  269. package/projects/tgo-canopy-ui/assets/icons/Dot.svg +3 -3
  270. package/projects/tgo-canopy-ui/assets/icons/Download.svg +3 -3
  271. package/projects/tgo-canopy-ui/assets/icons/Edit.svg +3 -3
  272. package/projects/tgo-canopy-ui/assets/icons/Email-message.svg +3 -3
  273. package/projects/tgo-canopy-ui/assets/icons/Employee.svg +8 -8
  274. package/projects/tgo-canopy-ui/assets/icons/Empty-placeholder.svg +3 -3
  275. package/projects/tgo-canopy-ui/assets/icons/Error.svg +3 -3
  276. package/projects/tgo-canopy-ui/assets/icons/Essay.svg +3 -3
  277. package/projects/tgo-canopy-ui/assets/icons/Eye-hide.svg +3 -3
  278. package/projects/tgo-canopy-ui/assets/icons/Eye-view.svg +3 -3
  279. package/projects/tgo-canopy-ui/assets/icons/Fast-forward.svg +4 -4
  280. package/projects/tgo-canopy-ui/assets/icons/Fast-rewind.svg +4 -4
  281. package/projects/tgo-canopy-ui/assets/icons/Feedback-1.svg +3 -3
  282. package/projects/tgo-canopy-ui/assets/icons/Feedback-2.svg +3 -3
  283. package/projects/tgo-canopy-ui/assets/icons/Feedback-3.svg +6 -6
  284. package/projects/tgo-canopy-ui/assets/icons/Feedback-4.svg +3 -3
  285. package/projects/tgo-canopy-ui/assets/icons/Feedback-5.svg +3 -3
  286. package/projects/tgo-canopy-ui/assets/icons/File-attach.svg +3 -3
  287. package/projects/tgo-canopy-ui/assets/icons/File-upload.svg +3 -3
  288. package/projects/tgo-canopy-ui/assets/icons/Filter.svg +3 -3
  289. package/projects/tgo-canopy-ui/assets/icons/Fire.svg +10 -10
  290. package/projects/tgo-canopy-ui/assets/icons/Folder.svg +3 -3
  291. package/projects/tgo-canopy-ui/assets/icons/Format-add-file.svg +3 -3
  292. package/projects/tgo-canopy-ui/assets/icons/Format-add-table.svg +3 -3
  293. package/projects/tgo-canopy-ui/assets/icons/Format-align-L.svg +3 -3
  294. package/projects/tgo-canopy-ui/assets/icons/Format-align-R.svg +3 -3
  295. package/projects/tgo-canopy-ui/assets/icons/Format-align-center.svg +3 -3
  296. package/projects/tgo-canopy-ui/assets/icons/Format-align-justify.svg +3 -3
  297. package/projects/tgo-canopy-ui/assets/icons/Format-bold.svg +3 -3
  298. package/projects/tgo-canopy-ui/assets/icons/Format-code-active.svg +3 -3
  299. package/projects/tgo-canopy-ui/assets/icons/Format-code-block.svg +3 -3
  300. package/projects/tgo-canopy-ui/assets/icons/Format-edit-table.svg +3 -3
  301. package/projects/tgo-canopy-ui/assets/icons/Format-format.svg +3 -3
  302. package/projects/tgo-canopy-ui/assets/icons/Format-function.svg +3 -3
  303. package/projects/tgo-canopy-ui/assets/icons/Format-italics.svg +3 -3
  304. package/projects/tgo-canopy-ui/assets/icons/Format-list-bulleted.svg +3 -3
  305. package/projects/tgo-canopy-ui/assets/icons/Format-list-numbered.svg +3 -3
  306. package/projects/tgo-canopy-ui/assets/icons/Format-picker.svg +3 -3
  307. package/projects/tgo-canopy-ui/assets/icons/Format-quote.svg +3 -3
  308. package/projects/tgo-canopy-ui/assets/icons/Format-subscript.svg +3 -3
  309. package/projects/tgo-canopy-ui/assets/icons/Format-superscript.svg +3 -3
  310. package/projects/tgo-canopy-ui/assets/icons/Format-text-direction-L.svg +3 -3
  311. package/projects/tgo-canopy-ui/assets/icons/Format-text-direction-R.svg +3 -3
  312. package/projects/tgo-canopy-ui/assets/icons/Format-text-size.svg +3 -3
  313. package/projects/tgo-canopy-ui/assets/icons/Format-underline.svg +3 -3
  314. package/projects/tgo-canopy-ui/assets/icons/Format-variable.svg +3 -3
  315. package/projects/tgo-canopy-ui/assets/icons/Full-screen.svg +3 -3
  316. package/projects/tgo-canopy-ui/assets/icons/Gender-female.svg +3 -3
  317. package/projects/tgo-canopy-ui/assets/icons/Gender-male.svg +3 -3
  318. package/projects/tgo-canopy-ui/assets/icons/Gift.svg +7 -7
  319. package/projects/tgo-canopy-ui/assets/icons/Google.svg +6 -6
  320. package/projects/tgo-canopy-ui/assets/icons/Grab.svg +3 -3
  321. package/projects/tgo-canopy-ui/assets/icons/Help-2.svg +3 -3
  322. package/projects/tgo-canopy-ui/assets/icons/Help.svg +3 -3
  323. package/projects/tgo-canopy-ui/assets/icons/Image.svg +3 -3
  324. package/projects/tgo-canopy-ui/assets/icons/Info.svg +3 -3
  325. package/projects/tgo-canopy-ui/assets/icons/Integration.svg +3 -3
  326. package/projects/tgo-canopy-ui/assets/icons/Language.svg +3 -3
  327. package/projects/tgo-canopy-ui/assets/icons/Layout.svg +3 -3
  328. package/projects/tgo-canopy-ui/assets/icons/Learn.svg +3 -3
  329. package/projects/tgo-canopy-ui/assets/icons/Level.svg +3 -3
  330. package/projects/tgo-canopy-ui/assets/icons/Light-bulb.svg +3 -3
  331. package/projects/tgo-canopy-ui/assets/icons/Link.svg +3 -3
  332. package/projects/tgo-canopy-ui/assets/icons/Loading-spinner.svg +10 -10
  333. package/projects/tgo-canopy-ui/assets/icons/Localisation.svg +3 -3
  334. package/projects/tgo-canopy-ui/assets/icons/Location.svg +3 -3
  335. package/projects/tgo-canopy-ui/assets/icons/Lock.svg +3 -3
  336. package/projects/tgo-canopy-ui/assets/icons/Log-out.svg +3 -3
  337. package/projects/tgo-canopy-ui/assets/icons/Menu-burger.svg +3 -3
  338. package/projects/tgo-canopy-ui/assets/icons/Menu-close.svg +3 -3
  339. package/projects/tgo-canopy-ui/assets/icons/Menu-ellipsis.svg +3 -3
  340. package/projects/tgo-canopy-ui/assets/icons/Menu-open.svg +3 -3
  341. package/projects/tgo-canopy-ui/assets/icons/Microphone.svg +3 -3
  342. package/projects/tgo-canopy-ui/assets/icons/Microsoft.svg +6 -6
  343. package/projects/tgo-canopy-ui/assets/icons/Minimize.svg +3 -3
  344. package/projects/tgo-canopy-ui/assets/icons/Minus.svg +3 -3
  345. package/projects/tgo-canopy-ui/assets/icons/Money-bag.svg +5 -5
  346. package/projects/tgo-canopy-ui/assets/icons/Mouse-cursor.svg +3 -3
  347. package/projects/tgo-canopy-ui/assets/icons/Mouse-grab-cursor.svg +3 -3
  348. package/projects/tgo-canopy-ui/assets/icons/Mouse.svg +3 -3
  349. package/projects/tgo-canopy-ui/assets/icons/Multi-choice.svg +3 -3
  350. package/projects/tgo-canopy-ui/assets/icons/Notifications.svg +3 -3
  351. package/projects/tgo-canopy-ui/assets/icons/Password.svg +4 -4
  352. package/projects/tgo-canopy-ui/assets/icons/Path.svg +3 -3
  353. package/projects/tgo-canopy-ui/assets/icons/Pin-marker.svg +4 -4
  354. package/projects/tgo-canopy-ui/assets/icons/Plan-billing.svg +3 -3
  355. package/projects/tgo-canopy-ui/assets/icons/Plus.svg +3 -3
  356. package/projects/tgo-canopy-ui/assets/icons/Premium.svg +4 -4
  357. package/projects/tgo-canopy-ui/assets/icons/Promotion.svg +3 -3
  358. package/projects/tgo-canopy-ui/assets/icons/Question-count.svg +3 -3
  359. package/projects/tgo-canopy-ui/assets/icons/Refer.svg +3 -3
  360. package/projects/tgo-canopy-ui/assets/icons/Reset.svg +3 -3
  361. package/projects/tgo-canopy-ui/assets/icons/Review.svg +3 -3
  362. package/projects/tgo-canopy-ui/assets/icons/Round-check-filled.svg +3 -3
  363. package/projects/tgo-canopy-ui/assets/icons/Round-check.svg +3 -3
  364. package/projects/tgo-canopy-ui/assets/icons/Search.svg +3 -3
  365. package/projects/tgo-canopy-ui/assets/icons/Secure-checkout.svg +3 -3
  366. package/projects/tgo-canopy-ui/assets/icons/Send.svg +3 -3
  367. package/projects/tgo-canopy-ui/assets/icons/Settings.svg +8 -8
  368. package/projects/tgo-canopy-ui/assets/icons/Share.svg +3 -3
  369. package/projects/tgo-canopy-ui/assets/icons/Skip-next.svg +4 -4
  370. package/projects/tgo-canopy-ui/assets/icons/Skip-previous.svg +4 -4
  371. package/projects/tgo-canopy-ui/assets/icons/Social-facebook.svg +3 -3
  372. package/projects/tgo-canopy-ui/assets/icons/Social-instagram.svg +3 -3
  373. package/projects/tgo-canopy-ui/assets/icons/Social-linkedin.svg +3 -3
  374. package/projects/tgo-canopy-ui/assets/icons/Sorting-down-1.svg +3 -3
  375. package/projects/tgo-canopy-ui/assets/icons/Sorting-down.svg +3 -3
  376. package/projects/tgo-canopy-ui/assets/icons/Sparkles.svg +18 -18
  377. package/projects/tgo-canopy-ui/assets/icons/Speedometer.svg +3 -3
  378. package/projects/tgo-canopy-ui/assets/icons/Star-filled.svg +3 -3
  379. package/projects/tgo-canopy-ui/assets/icons/Star-half.svg +3 -3
  380. package/projects/tgo-canopy-ui/assets/icons/Star-outline.svg +3 -3
  381. package/projects/tgo-canopy-ui/assets/icons/Suitcase.svg +6 -6
  382. package/projects/tgo-canopy-ui/assets/icons/Support.svg +3 -3
  383. package/projects/tgo-canopy-ui/assets/icons/Switch-tab.svg +3 -3
  384. package/projects/tgo-canopy-ui/assets/icons/Sync.svg +3 -3
  385. package/projects/tgo-canopy-ui/assets/icons/Team.svg +3 -3
  386. package/projects/tgo-canopy-ui/assets/icons/Test.svg +3 -3
  387. package/projects/tgo-canopy-ui/assets/icons/TestGorilla.svg +11 -11
  388. package/projects/tgo-canopy-ui/assets/icons/Thunder.svg +3 -3
  389. package/projects/tgo-canopy-ui/assets/icons/Timer.svg +3 -3
  390. package/projects/tgo-canopy-ui/assets/icons/Trophy.svg +3 -3
  391. package/projects/tgo-canopy-ui/assets/icons/Type.svg +3 -3
  392. package/projects/tgo-canopy-ui/assets/icons/Unarchive.svg +3 -3
  393. package/projects/tgo-canopy-ui/assets/icons/Unlock.svg +3 -3
  394. package/projects/tgo-canopy-ui/assets/icons/Upgrade.svg +3 -3
  395. package/projects/tgo-canopy-ui/assets/icons/Upload.svg +3 -3
  396. package/projects/tgo-canopy-ui/assets/icons/User-access.svg +3 -3
  397. package/projects/tgo-canopy-ui/assets/icons/User-add.svg +3 -3
  398. package/projects/tgo-canopy-ui/assets/icons/User-invite.svg +3 -3
  399. package/projects/tgo-canopy-ui/assets/icons/User-profile.svg +3 -3
  400. package/projects/tgo-canopy-ui/assets/icons/User-reject.svg +4 -4
  401. package/projects/tgo-canopy-ui/assets/icons/User-switch.svg +3 -3
  402. package/projects/tgo-canopy-ui/assets/icons/Video-pause.svg +3 -3
  403. package/projects/tgo-canopy-ui/assets/icons/Video-play.svg +3 -3
  404. package/projects/tgo-canopy-ui/assets/icons/Video-record.svg +3 -3
  405. package/projects/tgo-canopy-ui/assets/icons/Video-stop.svg +3 -3
  406. package/projects/tgo-canopy-ui/assets/icons/Video.svg +3 -3
  407. package/projects/tgo-canopy-ui/assets/icons/Volume.svg +3 -3
  408. package/projects/tgo-canopy-ui/assets/icons/Warning.svg +3 -3
  409. package/projects/tgo-canopy-ui/assets/icons/Zoom-in.svg +6 -6
  410. package/projects/tgo-canopy-ui/assets/icons/Zoom-out.svg +5 -5
  411. package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-filled-disabled.svg +3 -3
  412. package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-filled.svg +3 -3
  413. package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-half.svg +3 -3
  414. package/projects/tgo-canopy-ui/assets/icons/rating-icons/Star-outline.svg +3 -3
  415. package/projects/tgo-canopy-ui/assets/icons/rebrand/Add-filled.svg +3 -3
  416. package/projects/tgo-canopy-ui/assets/icons/rebrand/Add-in-line.svg +3 -3
  417. package/projects/tgo-canopy-ui/assets/icons/rebrand/Analytics-filled.svg +3 -3
  418. package/projects/tgo-canopy-ui/assets/icons/rebrand/Analytics-in-line.svg +3 -3
  419. package/projects/tgo-canopy-ui/assets/icons/rebrand/Archive-filled.svg +3 -3
  420. package/projects/tgo-canopy-ui/assets/icons/rebrand/Archive-in-line.svg +3 -3
  421. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-down-filled.svg +3 -3
  422. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-down-in-line.svg +3 -3
  423. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-left-filled.svg +3 -3
  424. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-left-in-line.svg +3 -3
  425. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-right-filled.svg +3 -3
  426. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-right-in-line.svg +3 -3
  427. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-up-filled.svg +3 -3
  428. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-chevron-up-in-line.svg +3 -3
  429. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-down-filled.svg +3 -3
  430. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-down-in-line.svg +3 -3
  431. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-up-filled.svg +3 -3
  432. package/projects/tgo-canopy-ui/assets/icons/rebrand/Arrow-up-in-line.svg +3 -3
  433. package/projects/tgo-canopy-ui/assets/icons/rebrand/Assessment-filled.svg +3 -3
  434. package/projects/tgo-canopy-ui/assets/icons/rebrand/Assessment-in-line.svg +3 -3
  435. package/projects/tgo-canopy-ui/assets/icons/rebrand/Attach-filled.svg +3 -3
  436. package/projects/tgo-canopy-ui/assets/icons/rebrand/Attach-in-line.svg +3 -3
  437. package/projects/tgo-canopy-ui/assets/icons/rebrand/Attempts-filled.svg +3 -3
  438. package/projects/tgo-canopy-ui/assets/icons/rebrand/Attempts-in-line.svg +3 -3
  439. package/projects/tgo-canopy-ui/assets/icons/rebrand/Book-filled.svg +3 -3
  440. package/projects/tgo-canopy-ui/assets/icons/rebrand/Book-in-line.svg +3 -3
  441. package/projects/tgo-canopy-ui/assets/icons/rebrand/Calendar-filled.svg +3 -3
  442. package/projects/tgo-canopy-ui/assets/icons/rebrand/Calendar-in-line.svg +3 -3
  443. package/projects/tgo-canopy-ui/assets/icons/rebrand/Candidates-filled.svg +3 -3
  444. package/projects/tgo-canopy-ui/assets/icons/rebrand/Candidates-in-line.svg +3 -3
  445. package/projects/tgo-canopy-ui/assets/icons/rebrand/Chat-filled.svg +3 -3
  446. package/projects/tgo-canopy-ui/assets/icons/rebrand/Chat-in-line.svg +3 -3
  447. package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-filled.svg +3 -3
  448. package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-in-line.svg +3 -3
  449. package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-round-filled.svg +3 -3
  450. package/projects/tgo-canopy-ui/assets/icons/rebrand/Check-round-in-line.svg +3 -3
  451. package/projects/tgo-canopy-ui/assets/icons/rebrand/Circle-filled.svg +3 -3
  452. package/projects/tgo-canopy-ui/assets/icons/rebrand/Circle-in-line.svg +3 -3
  453. package/projects/tgo-canopy-ui/assets/icons/rebrand/Clone-filled.svg +3 -3
  454. package/projects/tgo-canopy-ui/assets/icons/rebrand/Clone-in-line.svg +3 -3
  455. package/projects/tgo-canopy-ui/assets/icons/rebrand/Close-filled.svg +3 -3
  456. package/projects/tgo-canopy-ui/assets/icons/rebrand/Close-in-line.svg +3 -3
  457. package/projects/tgo-canopy-ui/assets/icons/rebrand/Close-round-filled.svg +3 -3
  458. package/projects/tgo-canopy-ui/assets/icons/rebrand/Close-round-in-line.svg +3 -3
  459. package/projects/tgo-canopy-ui/assets/icons/rebrand/Code-filled.svg +3 -3
  460. package/projects/tgo-canopy-ui/assets/icons/rebrand/Code-in-line.svg +3 -3
  461. package/projects/tgo-canopy-ui/assets/icons/rebrand/Company-filled.svg +3 -3
  462. package/projects/tgo-canopy-ui/assets/icons/rebrand/Company-in-line.svg +3 -3
  463. package/projects/tgo-canopy-ui/assets/icons/rebrand/Copy-filled.svg +3 -3
  464. package/projects/tgo-canopy-ui/assets/icons/rebrand/Copy-in-line.svg +3 -3
  465. package/projects/tgo-canopy-ui/assets/icons/rebrand/Credit-card-filled.svg +10 -10
  466. package/projects/tgo-canopy-ui/assets/icons/rebrand/Credit-card-in-line.svg +10 -10
  467. package/projects/tgo-canopy-ui/assets/icons/rebrand/Credit-filled.svg +3 -3
  468. package/projects/tgo-canopy-ui/assets/icons/rebrand/Credit-in-line.svg +3 -3
  469. package/projects/tgo-canopy-ui/assets/icons/rebrand/Delete-filled.svg +3 -3
  470. package/projects/tgo-canopy-ui/assets/icons/rebrand/Delete-in-line.svg +3 -3
  471. package/projects/tgo-canopy-ui/assets/icons/rebrand/Device-rotate-in-line.svg +3 -3
  472. package/projects/tgo-canopy-ui/assets/icons/rebrand/Devices-filled.svg +3 -3
  473. package/projects/tgo-canopy-ui/assets/icons/rebrand/Devices-in-line.svg +3 -3
  474. package/projects/tgo-canopy-ui/assets/icons/rebrand/Disconnected-in-line.svg +11 -11
  475. package/projects/tgo-canopy-ui/assets/icons/rebrand/Document-filled.svg +3 -3
  476. package/projects/tgo-canopy-ui/assets/icons/rebrand/Document-in-line.svg +3 -3
  477. package/projects/tgo-canopy-ui/assets/icons/rebrand/Dot-filled.svg +3 -3
  478. package/projects/tgo-canopy-ui/assets/icons/rebrand/Dot-in-line.svg +3 -3
  479. package/projects/tgo-canopy-ui/assets/icons/rebrand/Download-filled.svg +3 -3
  480. package/projects/tgo-canopy-ui/assets/icons/rebrand/Download-in-line.svg +3 -3
  481. package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-filled.svg +3 -3
  482. package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-in-line.svg +3 -3
  483. package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-text-filled.svg +3 -3
  484. package/projects/tgo-canopy-ui/assets/icons/rebrand/Edit-text-in-line.svg +3 -3
  485. package/projects/tgo-canopy-ui/assets/icons/rebrand/Employee-filled.svg +3 -3
  486. package/projects/tgo-canopy-ui/assets/icons/rebrand/Employee-in-line.svg +3 -3
  487. package/projects/tgo-canopy-ui/assets/icons/rebrand/Empty-search-in-line.svg +11 -11
  488. package/projects/tgo-canopy-ui/assets/icons/rebrand/Error-filled.svg +3 -3
  489. package/projects/tgo-canopy-ui/assets/icons/rebrand/Error-in-line.svg +3 -3
  490. package/projects/tgo-canopy-ui/assets/icons/rebrand/Essay-filled.svg +3 -3
  491. package/projects/tgo-canopy-ui/assets/icons/rebrand/Essay-in-line.svg +3 -3
  492. package/projects/tgo-canopy-ui/assets/icons/rebrand/Experience-filled.svg +3 -3
  493. package/projects/tgo-canopy-ui/assets/icons/rebrand/Experience-in-line.svg +3 -3
  494. package/projects/tgo-canopy-ui/assets/icons/rebrand/Facebook-filled.svg +3 -3
  495. package/projects/tgo-canopy-ui/assets/icons/rebrand/Facebook-in-line.svg +3 -3
  496. package/projects/tgo-canopy-ui/assets/icons/rebrand/Failed-to-load-filled.svg +3 -3
  497. package/projects/tgo-canopy-ui/assets/icons/rebrand/Failed-to-load-in-line.svg +3 -3
  498. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-forward-filled.svg +3 -3
  499. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-forward-in-line.svg +3 -3
  500. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-rewind-filled.svg +3 -3
  501. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fast-rewind-in-line.svg +3 -3
  502. package/projects/tgo-canopy-ui/assets/icons/rebrand/Filter-filled.svg +3 -3
  503. package/projects/tgo-canopy-ui/assets/icons/rebrand/Filter-in-line.svg +3 -3
  504. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fire-filled.svg +3 -3
  505. package/projects/tgo-canopy-ui/assets/icons/rebrand/Fire-in-line.svg +3 -3
  506. package/projects/tgo-canopy-ui/assets/icons/rebrand/Flag-filled.svg +3 -3
  507. package/projects/tgo-canopy-ui/assets/icons/rebrand/Flag-in-line.svg +3 -3
  508. package/projects/tgo-canopy-ui/assets/icons/rebrand/Folder-filled.svg +3 -3
  509. package/projects/tgo-canopy-ui/assets/icons/rebrand/Folder-in-line.svg +3 -3
  510. package/projects/tgo-canopy-ui/assets/icons/rebrand/Full-screen-filled.svg +3 -3
  511. package/projects/tgo-canopy-ui/assets/icons/rebrand/Full-screen-in-line.svg +3 -3
  512. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-female-filled.svg +3 -3
  513. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-female-in-line.svg +3 -3
  514. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-male-filled.svg +3 -3
  515. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gender-male-in-line.svg +3 -3
  516. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gift-filled.svg +3 -3
  517. package/projects/tgo-canopy-ui/assets/icons/rebrand/Gift-in-line.svg +3 -3
  518. package/projects/tgo-canopy-ui/assets/icons/rebrand/Google-filled.svg +6 -6
  519. package/projects/tgo-canopy-ui/assets/icons/rebrand/Google-in-line.svg +6 -6
  520. package/projects/tgo-canopy-ui/assets/icons/rebrand/Grab-filled.svg +3 -3
  521. package/projects/tgo-canopy-ui/assets/icons/rebrand/Grab-in-line.svg +3 -3
  522. package/projects/tgo-canopy-ui/assets/icons/rebrand/Help-filled.svg +3 -3
  523. package/projects/tgo-canopy-ui/assets/icons/rebrand/Help-in-line.svg +3 -3
  524. package/projects/tgo-canopy-ui/assets/icons/rebrand/Hide-filled.svg +3 -3
  525. package/projects/tgo-canopy-ui/assets/icons/rebrand/Hide-in-line.svg +3 -3
  526. package/projects/tgo-canopy-ui/assets/icons/rebrand/History-filled.svg +3 -3
  527. package/projects/tgo-canopy-ui/assets/icons/rebrand/History-in-line.svg +3 -3
  528. package/projects/tgo-canopy-ui/assets/icons/rebrand/ID-failed-filled.svg +3 -3
  529. package/projects/tgo-canopy-ui/assets/icons/rebrand/ID-failed-in-line.svg +5 -5
  530. package/projects/tgo-canopy-ui/assets/icons/rebrand/ID-not-verified-filled.svg +3 -3
  531. package/projects/tgo-canopy-ui/assets/icons/rebrand/ID-not-verified-in-line.svg +4 -4
  532. package/projects/tgo-canopy-ui/assets/icons/rebrand/ID-verified-filled.svg +3 -3
  533. package/projects/tgo-canopy-ui/assets/icons/rebrand/ID-verified-in-line.svg +4 -4
  534. package/projects/tgo-canopy-ui/assets/icons/rebrand/Image-filled.svg +3 -3
  535. package/projects/tgo-canopy-ui/assets/icons/rebrand/Image-in-line.svg +3 -3
  536. package/projects/tgo-canopy-ui/assets/icons/rebrand/Info-filled.svg +3 -3
  537. package/projects/tgo-canopy-ui/assets/icons/rebrand/Info-in-line.svg +3 -3
  538. package/projects/tgo-canopy-ui/assets/icons/rebrand/Instagram-filled.svg +3 -3
  539. package/projects/tgo-canopy-ui/assets/icons/rebrand/Instagram-in-line.svg +3 -3
  540. package/projects/tgo-canopy-ui/assets/icons/rebrand/Integration-filled.svg +3 -3
  541. package/projects/tgo-canopy-ui/assets/icons/rebrand/Integration-in-line.svg +3 -3
  542. package/projects/tgo-canopy-ui/assets/icons/rebrand/Invite-filled.svg +3 -3
  543. package/projects/tgo-canopy-ui/assets/icons/rebrand/Invite-in-line.svg +3 -3
  544. package/projects/tgo-canopy-ui/assets/icons/rebrand/Invoice-filled.svg +3 -3
  545. package/projects/tgo-canopy-ui/assets/icons/rebrand/Invoice-in-line.svg +3 -3
  546. package/projects/tgo-canopy-ui/assets/icons/rebrand/Language-filled.svg +3 -3
  547. package/projects/tgo-canopy-ui/assets/icons/rebrand/Language-in-line.svg +3 -3
  548. package/projects/tgo-canopy-ui/assets/icons/rebrand/Layout-filled.svg +3 -3
  549. package/projects/tgo-canopy-ui/assets/icons/rebrand/Layout-in-line.svg +3 -3
  550. package/projects/tgo-canopy-ui/assets/icons/rebrand/Learn-filled.svg +3 -3
  551. package/projects/tgo-canopy-ui/assets/icons/rebrand/Learn-in-line.svg +3 -3
  552. package/projects/tgo-canopy-ui/assets/icons/rebrand/Level-filled.svg +3 -3
  553. package/projects/tgo-canopy-ui/assets/icons/rebrand/Level-in-line.svg +3 -3
  554. package/projects/tgo-canopy-ui/assets/icons/rebrand/Light-bulb-filled.svg +3 -3
  555. package/projects/tgo-canopy-ui/assets/icons/rebrand/Light-bulb-in-line.svg +3 -3
  556. package/projects/tgo-canopy-ui/assets/icons/rebrand/Link-filled.svg +3 -3
  557. package/projects/tgo-canopy-ui/assets/icons/rebrand/Link-in-line.svg +3 -3
  558. package/projects/tgo-canopy-ui/assets/icons/rebrand/Linkedin-filled.svg +3 -3
  559. package/projects/tgo-canopy-ui/assets/icons/rebrand/Linkedin-in-line.svg +3 -3
  560. package/projects/tgo-canopy-ui/assets/icons/rebrand/Localization-filled.svg +3 -3
  561. package/projects/tgo-canopy-ui/assets/icons/rebrand/Localization-in-line.svg +3 -3
  562. package/projects/tgo-canopy-ui/assets/icons/rebrand/Location-filled.svg +3 -3
  563. package/projects/tgo-canopy-ui/assets/icons/rebrand/Location-in-line.svg +3 -3
  564. package/projects/tgo-canopy-ui/assets/icons/rebrand/Lock-filled.svg +3 -3
  565. package/projects/tgo-canopy-ui/assets/icons/rebrand/Lock-in-line.svg +3 -3
  566. package/projects/tgo-canopy-ui/assets/icons/rebrand/Logout-filled.svg +3 -3
  567. package/projects/tgo-canopy-ui/assets/icons/rebrand/Logout-in-line.svg +3 -3
  568. package/projects/tgo-canopy-ui/assets/icons/rebrand/Lost-found-404-in-line.svg +11 -11
  569. package/projects/tgo-canopy-ui/assets/icons/rebrand/Medal-filled.svg +3 -3
  570. package/projects/tgo-canopy-ui/assets/icons/rebrand/Medal-in-line.svg +3 -3
  571. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-burger-filled.svg +3 -3
  572. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-burger-in-line.svg +3 -3
  573. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-close-filled.svg +3 -3
  574. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-close-in-line.svg +3 -3
  575. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-ellipsis-filled.svg +3 -3
  576. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-ellipsis-in-line.svg +3 -3
  577. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-open-filled.svg +3 -3
  578. package/projects/tgo-canopy-ui/assets/icons/rebrand/Menu-open-in-line.svg +3 -3
  579. package/projects/tgo-canopy-ui/assets/icons/rebrand/Messages-in-line.svg +3 -3
  580. package/projects/tgo-canopy-ui/assets/icons/rebrand/Mic-filled.svg +3 -3
  581. package/projects/tgo-canopy-ui/assets/icons/rebrand/Mic-in-line.svg +3 -3
  582. package/projects/tgo-canopy-ui/assets/icons/rebrand/Microsoft-filled.svg +6 -6
  583. package/projects/tgo-canopy-ui/assets/icons/rebrand/Microsoft-in-line.svg +6 -6
  584. package/projects/tgo-canopy-ui/assets/icons/rebrand/Minimize-filled.svg +3 -3
  585. package/projects/tgo-canopy-ui/assets/icons/rebrand/Minimize-in-line.svg +3 -3
  586. package/projects/tgo-canopy-ui/assets/icons/rebrand/Minus-filled.svg +3 -3
  587. package/projects/tgo-canopy-ui/assets/icons/rebrand/Minus-in-line.svg +3 -3
  588. package/projects/tgo-canopy-ui/assets/icons/rebrand/Mouse-filled.svg +3 -3
  589. package/projects/tgo-canopy-ui/assets/icons/rebrand/Mouse-in-line.svg +3 -3
  590. package/projects/tgo-canopy-ui/assets/icons/rebrand/Multi-choice-filled.svg +3 -3
  591. package/projects/tgo-canopy-ui/assets/icons/rebrand/Multi-choice-in-line.svg +3 -3
  592. package/projects/tgo-canopy-ui/assets/icons/rebrand/Notification-bell-filled.svg +3 -3
  593. package/projects/tgo-canopy-ui/assets/icons/rebrand/Notification-bell-in-line.svg +3 -3
  594. package/projects/tgo-canopy-ui/assets/icons/rebrand/Open-in-new-filled.svg +3 -3
  595. package/projects/tgo-canopy-ui/assets/icons/rebrand/Open-in-new-in-line.svg +3 -3
  596. package/projects/tgo-canopy-ui/assets/icons/rebrand/Open-lock-filled.svg +3 -3
  597. package/projects/tgo-canopy-ui/assets/icons/rebrand/Open-lock-in-line.svg +3 -3
  598. package/projects/tgo-canopy-ui/assets/icons/rebrand/Password-filled.svg +3 -3
  599. package/projects/tgo-canopy-ui/assets/icons/rebrand/Password-in-line.svg +3 -3
  600. package/projects/tgo-canopy-ui/assets/icons/rebrand/Path-filled.svg +3 -3
  601. package/projects/tgo-canopy-ui/assets/icons/rebrand/Path-in-line.svg +3 -3
  602. package/projects/tgo-canopy-ui/assets/icons/rebrand/Pause-filled.svg +3 -3
  603. package/projects/tgo-canopy-ui/assets/icons/rebrand/Pause-in-line.svg +3 -3
  604. package/projects/tgo-canopy-ui/assets/icons/rebrand/Pencil-to-gorilla-filled.svg +1 -1
  605. package/projects/tgo-canopy-ui/assets/icons/rebrand/Pencil-to-gorilla-in-line.svg +1 -1
  606. package/projects/tgo-canopy-ui/assets/icons/rebrand/Pin-marker-filled.svg +4 -4
  607. package/projects/tgo-canopy-ui/assets/icons/rebrand/Pin-marker-in-line.svg +4 -4
  608. package/projects/tgo-canopy-ui/assets/icons/rebrand/Plan-billing-filled.svg +3 -3
  609. package/projects/tgo-canopy-ui/assets/icons/rebrand/Plan-billing-in-line.svg +3 -3
  610. package/projects/tgo-canopy-ui/assets/icons/rebrand/Play-filled.svg +3 -3
  611. package/projects/tgo-canopy-ui/assets/icons/rebrand/Play-in-line.svg +3 -3
  612. package/projects/tgo-canopy-ui/assets/icons/rebrand/Plus-filled.svg +3 -3
  613. package/projects/tgo-canopy-ui/assets/icons/rebrand/Plus-in-line.svg +3 -3
  614. package/projects/tgo-canopy-ui/assets/icons/rebrand/Premium-circle-in-line.svg +5 -5
  615. package/projects/tgo-canopy-ui/assets/icons/rebrand/Premium-filled.svg +3 -3
  616. package/projects/tgo-canopy-ui/assets/icons/rebrand/Premium-in-line.svg +3 -3
  617. package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-count-filled.svg +3 -3
  618. package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-count-in-line.svg +3 -3
  619. package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-filled.svg +3 -3
  620. package/projects/tgo-canopy-ui/assets/icons/rebrand/Question-in-line.svg +3 -3
  621. package/projects/tgo-canopy-ui/assets/icons/rebrand/Record-filled.svg +3 -3
  622. package/projects/tgo-canopy-ui/assets/icons/rebrand/Record-in-line.svg +3 -3
  623. package/projects/tgo-canopy-ui/assets/icons/rebrand/Refer-filled.svg +3 -3
  624. package/projects/tgo-canopy-ui/assets/icons/rebrand/Refer-in-line.svg +3 -3
  625. package/projects/tgo-canopy-ui/assets/icons/rebrand/Reject-filled.svg +3 -3
  626. package/projects/tgo-canopy-ui/assets/icons/rebrand/Reject-in-line.svg +3 -3
  627. package/projects/tgo-canopy-ui/assets/icons/rebrand/Reset-filled.svg +3 -3
  628. package/projects/tgo-canopy-ui/assets/icons/rebrand/Reset-in-line.svg +3 -3
  629. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-1-filled.svg +3 -3
  630. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-1-in-line.svg +3 -3
  631. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-2-filled.svg +3 -3
  632. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-2-in-line.svg +3 -3
  633. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-3-filled.svg +3 -3
  634. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-3-in-line.svg +3 -3
  635. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-4-filled.svg +3 -3
  636. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-4-in-line.svg +3 -3
  637. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-5-filled.svg +3 -3
  638. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-emoji-5-in-line.svg +3 -3
  639. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-filled.svg +3 -3
  640. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-half-star-filled.svg +4 -4
  641. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-half-star-in-line.svg +4 -4
  642. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-in-line.svg +3 -3
  643. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-star-filled-disabled.svg +4 -4
  644. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-star-filled.svg +4 -4
  645. package/projects/tgo-canopy-ui/assets/icons/rebrand/Review-star-in-line.svg +4 -4
  646. package/projects/tgo-canopy-ui/assets/icons/rebrand/Round-check-in-line.svg +4 -4
  647. package/projects/tgo-canopy-ui/assets/icons/rebrand/Search-filled.svg +3 -3
  648. package/projects/tgo-canopy-ui/assets/icons/rebrand/Search-in-line.svg +3 -3
  649. package/projects/tgo-canopy-ui/assets/icons/rebrand/Secure-filled.svg +3 -3
  650. package/projects/tgo-canopy-ui/assets/icons/rebrand/Secure-in-line.svg +3 -3
  651. package/projects/tgo-canopy-ui/assets/icons/rebrand/Send-filled.svg +3 -3
  652. package/projects/tgo-canopy-ui/assets/icons/rebrand/Send-in-line.svg +3 -3
  653. package/projects/tgo-canopy-ui/assets/icons/rebrand/Settings-filled.svg +3 -3
  654. package/projects/tgo-canopy-ui/assets/icons/rebrand/Settings-in-line.svg +3 -3
  655. package/projects/tgo-canopy-ui/assets/icons/rebrand/Share-filled.svg +3 -3
  656. package/projects/tgo-canopy-ui/assets/icons/rebrand/Share-in-line.svg +3 -3
  657. package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-next-filled.svg +3 -3
  658. package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-next-in-line.svg +3 -3
  659. package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-previous-filled.svg +3 -3
  660. package/projects/tgo-canopy-ui/assets/icons/rebrand/Skip-previous-in-line.svg +3 -3
  661. package/projects/tgo-canopy-ui/assets/icons/rebrand/Sparkle-filled.svg +12 -12
  662. package/projects/tgo-canopy-ui/assets/icons/rebrand/Sparkle-in-line.svg +12 -12
  663. package/projects/tgo-canopy-ui/assets/icons/rebrand/Speedometer-filled.svg +3 -3
  664. package/projects/tgo-canopy-ui/assets/icons/rebrand/Speedometer-in-line.svg +3 -3
  665. package/projects/tgo-canopy-ui/assets/icons/rebrand/Star-filled.svg +5 -5
  666. package/projects/tgo-canopy-ui/assets/icons/rebrand/Star-in-line.svg +5 -5
  667. package/projects/tgo-canopy-ui/assets/icons/rebrand/Stop-filled.svg +3 -3
  668. package/projects/tgo-canopy-ui/assets/icons/rebrand/Stop-in-line.svg +3 -3
  669. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-filled.svg +3 -3
  670. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-in-line.svg +3 -3
  671. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-tab-filled.svg +3 -3
  672. package/projects/tgo-canopy-ui/assets/icons/rebrand/Switch-tab-in-line.svg +3 -3
  673. package/projects/tgo-canopy-ui/assets/icons/rebrand/Sync-filled.svg +3 -3
  674. package/projects/tgo-canopy-ui/assets/icons/rebrand/Sync-in-line.svg +3 -3
  675. package/projects/tgo-canopy-ui/assets/icons/rebrand/Tag-filled.svg +3 -3
  676. package/projects/tgo-canopy-ui/assets/icons/rebrand/Tag-in-line.svg +3 -3
  677. package/projects/tgo-canopy-ui/assets/icons/rebrand/Team-filled.svg +3 -3
  678. package/projects/tgo-canopy-ui/assets/icons/rebrand/Team-in-line.svg +3 -3
  679. package/projects/tgo-canopy-ui/assets/icons/rebrand/Test-filled.svg +3 -3
  680. package/projects/tgo-canopy-ui/assets/icons/rebrand/Test-in-line.svg +3 -3
  681. package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-Pink-filled.svg +11 -11
  682. package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-Pink-in-line.svg +11 -11
  683. package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-filled.svg +11 -11
  684. package/projects/tgo-canopy-ui/assets/icons/rebrand/TestGorilla-in-line.svg +11 -11
  685. package/projects/tgo-canopy-ui/assets/icons/rebrand/Thumb-down-filled.svg +3 -3
  686. package/projects/tgo-canopy-ui/assets/icons/rebrand/Thumb-down-in-line.svg +3 -3
  687. package/projects/tgo-canopy-ui/assets/icons/rebrand/Thumb-up-filled.svg +3 -3
  688. package/projects/tgo-canopy-ui/assets/icons/rebrand/Thumb-up-in-line.svg +3 -3
  689. package/projects/tgo-canopy-ui/assets/icons/rebrand/Timer-filled.svg +3 -3
  690. package/projects/tgo-canopy-ui/assets/icons/rebrand/Timer-in-line.svg +3 -3
  691. package/projects/tgo-canopy-ui/assets/icons/rebrand/Trophy-filled.svg +3 -3
  692. package/projects/tgo-canopy-ui/assets/icons/rebrand/Trophy-in-line.svg +3 -3
  693. package/projects/tgo-canopy-ui/assets/icons/rebrand/Type-filled.svg +3 -3
  694. package/projects/tgo-canopy-ui/assets/icons/rebrand/Type-in-line.svg +3 -3
  695. package/projects/tgo-canopy-ui/assets/icons/rebrand/Unarchive-filled.svg +3 -3
  696. package/projects/tgo-canopy-ui/assets/icons/rebrand/Unarchive-in-line.svg +3 -3
  697. package/projects/tgo-canopy-ui/assets/icons/rebrand/Unlock-filled.svg +3 -3
  698. package/projects/tgo-canopy-ui/assets/icons/rebrand/Unlock-in-line.svg +3 -3
  699. package/projects/tgo-canopy-ui/assets/icons/rebrand/Upgrade-filled.svg +3 -3
  700. package/projects/tgo-canopy-ui/assets/icons/rebrand/Upgrade-in-line.svg +3 -3
  701. package/projects/tgo-canopy-ui/assets/icons/rebrand/Upload-filled.svg +3 -3
  702. package/projects/tgo-canopy-ui/assets/icons/rebrand/Upload-in-line.svg +3 -3
  703. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-access-filled.svg +3 -3
  704. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-access-in-line.svg +3 -3
  705. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-add-filled.svg +3 -3
  706. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-add-in-line.svg +3 -3
  707. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-profile-filled.svg +3 -3
  708. package/projects/tgo-canopy-ui/assets/icons/rebrand/User-profile-in-line.svg +3 -3
  709. package/projects/tgo-canopy-ui/assets/icons/rebrand/Validated-filled.svg +3 -3
  710. package/projects/tgo-canopy-ui/assets/icons/rebrand/Validated-in-line.svg +3 -3
  711. package/projects/tgo-canopy-ui/assets/icons/rebrand/Verified-badge-filled.svg +23 -23
  712. package/projects/tgo-canopy-ui/assets/icons/rebrand/Verified-badge-in-line.svg +23 -23
  713. package/projects/tgo-canopy-ui/assets/icons/rebrand/Video-filled.svg +3 -3
  714. package/projects/tgo-canopy-ui/assets/icons/rebrand/Video-in-line.svg +3 -3
  715. package/projects/tgo-canopy-ui/assets/icons/rebrand/View-filled.svg +3 -3
  716. package/projects/tgo-canopy-ui/assets/icons/rebrand/View-in-line.svg +3 -3
  717. package/projects/tgo-canopy-ui/assets/icons/rebrand/Volume-filled.svg +3 -3
  718. package/projects/tgo-canopy-ui/assets/icons/rebrand/Volume-in-line.svg +3 -3
  719. package/projects/tgo-canopy-ui/assets/icons/rebrand/Warning-filled.svg +3 -3
  720. package/projects/tgo-canopy-ui/assets/icons/rebrand/Warning-in-line.svg +3 -3
  721. package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-in-filled.svg +3 -3
  722. package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-in-in-line.svg +3 -3
  723. package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-out-filled.svg +3 -3
  724. package/projects/tgo-canopy-ui/assets/icons/rebrand/Zoom-out-in-line.svg +3 -3
  725. package/projects/tgo-canopy-ui/assets/images/empty-state-default.svg +9 -9
  726. package/projects/tgo-canopy-ui/assets/images/poweredbyTG.svg +37 -37
  727. package/projects/tgo-canopy-ui/assets/images/premium.svg +5 -5
  728. package/projects/tgo-canopy-ui/assets/images/rebrand-last-step-icon-black.svg +3 -3
  729. package/projects/tgo-canopy-ui/assets/images/rebrand-last-step-icon-light.svg +3 -3
  730. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/powered-by.svg +22 -22
  731. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/primary_brandmark_pink.svg +10 -10
  732. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/primary_lockup_pink.svg +22 -22
  733. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/primary_wordmark_pink.svg +21 -21
  734. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_brandmark_black.svg +11 -11
  735. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_brandmark_cream.svg +11 -11
  736. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_lockup_black.svg +23 -23
  737. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_lockup_cream.svg +23 -23
  738. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_wordmark_black.svg +21 -21
  739. package/projects/tgo-canopy-ui/assets/images/rebrand-logo/secondary_wordmark_cream.svg +21 -21
  740. package/projects/tgo-canopy-ui/assets/images/reverseTG.svg +84 -84
  741. package/projects/tgo-canopy-ui/assets/images/step-finish.svg +6 -6
  742. package/projects/tgo-canopy-ui/assets/images/testgorilla.svg +76 -76
  743. package/projects/tgo-canopy-ui/theme/_alert-bars.scss +110 -110
  744. package/projects/tgo-canopy-ui/theme/_breakpoints-mixin.scss +12 -12
  745. package/projects/tgo-canopy-ui/theme/_button.scss +72 -72
  746. package/projects/tgo-canopy-ui/theme/_core.scss +19 -19
  747. package/projects/tgo-canopy-ui/theme/_font.scss +95 -95
  748. package/projects/tgo-canopy-ui/theme/_icon.scss +5 -5
  749. package/projects/tgo-canopy-ui/theme/_input.scss +575 -575
  750. package/projects/tgo-canopy-ui/theme/_lib-styles.scss +35 -35
  751. package/projects/tgo-canopy-ui/theme/_mat-menu.scss +8 -8
  752. package/projects/tgo-canopy-ui/theme/_mat-paginator.scss +59 -59
  753. package/projects/tgo-canopy-ui/theme/_palette.scss +108 -108
  754. package/projects/tgo-canopy-ui/theme/_tooltip.scss +320 -320
  755. package/projects/tgo-canopy-ui/theme/_typography.scss +271 -271
  756. package/projects/tgo-canopy-ui/theme/_variables.scss +167 -167
  757. package/projects/tgo-canopy-ui/theme/line-clamp.scss +8 -8
  758. package/projects/tgo-canopy-ui/theme/theme.scss +68 -68
@@ -170,7 +170,7 @@ export class SnackbarComponent {
170
170
  }
171
171
  }
172
172
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SnackbarComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: MAT_SNACK_BAR_DATA }, { token: i1.MatSnackBarRef }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
173
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SnackbarComponent, selector: "ui-snackbar", inputs: { snackbarType: "snackbarType", message: "message", html: "html", seconds: "seconds", includeDismissButton: "includeDismissButton", fixed: "fixed", linkText: "linkText", linkUrl: "linkUrl", linkTarget: "linkTarget", variant: "variant", applicationTheme: "applicationTheme", closeButtonTooltip: "closeButtonTooltip", ariaDescribedby: "ariaDescribedby" }, ngImport: i0, template: "<ng-container>\n <div\n [ngClass]=\"snackbarType + ' ' + position\"\n [@openClose]\n *ngIf=\"visible\"\n class=\"snackbar-container\"\n [attr.theme]=\"applicationTheme\"\n [class.mobile]=\"variant === 'mobile'\"\n [class.desktop]=\"variant === 'desktop'\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n data-testid=\"snackbar-wrapper\"\n [attr.data-test-snackbar-type]=\"snackbarType\"\n [attr.aria-describedby]=\"'describedby'\"\n role=\"alert\"\n [attr.aria-labelledby]=\"'labelledby'\"\n >\n <span style=\"position: absolute; left: -9999px\" id=\"labelledby\">{{ ('ALERT_BANNER.' + (snackbarType | uppercase)) | uiTranslate | async }}</span>\n <span style=\"position: absolute; left: -9999px\">{{ message }}\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\" (click)=\"onLinkClick($event)\">{{ linkText }}</a>\n </span>\n <span [style.display]=\"'none'\" id=\"describedby\">{{ ariaDescribedby }}</span>\n <div\n aria-hidden=\"true\"\n class=\"snackbar-text\"\n [matTooltip]=\"message.length > maxCharacters ? message : ''\"\n data-testid=\"snackbar-content\"\n >\n <ui-icon *ngIf=\"applicationTheme === 'classic'\" [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message.length > maxCharacters ? (message | slice: 0:maxCharacters) + '..' : message }}\n <div *ngIf=\"safeHtml\" [innerHTML]=\"safeHtml\"></div>\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\" (click)=\"onLinkClick($event)\">{{ linkText }}</a>\n </div>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme === 'classic'\"\n variant=\"text\"\n [label]=\"(translationContext + 'DISMISS' | uiTranslate | async)!\"\n [applicationTheme]=\"applicationTheme !== 'classic' ? 'light' : 'classic'\"\n (buttonClickEvent)=\"dismissClick()\"\n data-testid=\"snackbar-dismiss-button\"\n ></ui-button>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme !== 'classic'\"\n [variant]=\"'icon-button'\"\n [applicationTheme]=\"'light'\"\n [iconName]=\"'Close-in-line'\"\n [size]=\"'small'\"\n [tooltip]=\"(closeButtonTooltip || ('COMMON.CLOSE' | uiTranslate | async))!\"\n (click)=\"dismissClick()\"\n data-testid=\"snackbar-dismiss-button\"\n ></ui-button>\n </div>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center;color:#000}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}:host .alert-container[theme=dark].success,:host .alert-container[theme=light].success,:host .snackbar-container[theme=dark].success,:host .snackbar-container[theme=light].success{background-color:#aae47a}:host .alert-container[theme=dark].info,:host .alert-container[theme=light].info,:host .snackbar-container[theme=dark].info,:host .snackbar-container[theme=light].info{background-color:#d9e8ff}:host .alert-container[theme=dark].warning,:host .alert-container[theme=light].warning,:host .snackbar-container[theme=dark].warning,:host .snackbar-container[theme=light].warning{background-color:#ffe1b3}:host .alert-container[theme=dark].error,:host .alert-container[theme=light].error,:host .snackbar-container[theme=dark].error,:host .snackbar-container[theme=light].error{background-color:#ffac9a}::ng-deep .display-none{display:none!important}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .snackbar-container{bottom:0;z-index:98}:host .snackbar-container[theme=dark] ui-icon,:host .snackbar-container[theme=light] ui-icon{margin-right:10px;cursor:pointer}:host .snackbar-container[theme=dark] .snackbar-text,:host .snackbar-container[theme=light] .snackbar-text{padding-left:10px;margin-right:8px}:host .snackbar-container[theme=dark] .snackbar-text a,:host .snackbar-container[theme=light] .snackbar-text a{margin-left:4px}:host .snackbar-container[theme=dark].desktop,:host .snackbar-container[theme=light].desktop{border-radius:24px;box-shadow:0 4px 16px #2424240a;width:fit-content;max-width:600px;min-height:48px;line-height:1.4;font-size:14px;padding:16px 24px}:host .snackbar-container[theme=dark].mobile,:host .snackbar-container[theme=light].mobile{width:100%;min-width:100%;word-break:break-word}:host .mat-mdc-snack-bar-container{margin:16px 8px}::ng-deep .mdc-snackbar__surface{height:0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i5.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i3.SlicePipe, name: "slice" }, { kind: "pipe", type: i7.UiTranslatePipe, name: "uiTranslate" }], animations: [
173
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SnackbarComponent, selector: "ui-snackbar", inputs: { snackbarType: "snackbarType", message: "message", html: "html", seconds: "seconds", includeDismissButton: "includeDismissButton", fixed: "fixed", linkText: "linkText", linkUrl: "linkUrl", linkTarget: "linkTarget", variant: "variant", applicationTheme: "applicationTheme", closeButtonTooltip: "closeButtonTooltip", ariaDescribedby: "ariaDescribedby" }, ngImport: i0, template: "<ng-container>\r\n <div\r\n [ngClass]=\"snackbarType + ' ' + position\"\r\n [@openClose]\r\n *ngIf=\"visible\"\r\n class=\"snackbar-container\"\r\n [attr.theme]=\"applicationTheme\"\r\n [class.mobile]=\"variant === 'mobile'\"\r\n [class.desktop]=\"variant === 'desktop'\"\r\n (mouseenter)=\"onMouseEnter()\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n data-testid=\"snackbar-wrapper\"\r\n [attr.data-test-snackbar-type]=\"snackbarType\"\r\n [attr.aria-describedby]=\"'describedby'\"\r\n role=\"alert\"\r\n [attr.aria-labelledby]=\"'labelledby'\"\r\n >\r\n <span style=\"position: absolute; left: -9999px\" id=\"labelledby\">{{ ('ALERT_BANNER.' + (snackbarType | uppercase)) | uiTranslate | async }}</span>\r\n <span style=\"position: absolute; left: -9999px\">{{ message }}\r\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\" (click)=\"onLinkClick($event)\">{{ linkText }}</a>\r\n </span>\r\n <span [style.display]=\"'none'\" id=\"describedby\">{{ ariaDescribedby }}</span>\r\n <div\r\n aria-hidden=\"true\"\r\n class=\"snackbar-text\"\r\n [matTooltip]=\"message.length > maxCharacters ? message : ''\"\r\n data-testid=\"snackbar-content\"\r\n >\r\n <ui-icon *ngIf=\"applicationTheme === 'classic'\" [name]=\"iconName\" size=\"24\"></ui-icon>\r\n {{ message.length > maxCharacters ? (message | slice: 0:maxCharacters) + '..' : message }}\r\n <div *ngIf=\"safeHtml\" [innerHTML]=\"safeHtml\"></div>\r\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\" (click)=\"onLinkClick($event)\">{{ linkText }}</a>\r\n </div>\r\n <ui-button\r\n *ngIf=\"includeDismissButton && applicationTheme === 'classic'\"\r\n variant=\"text\"\r\n [label]=\"(translationContext + 'DISMISS' | uiTranslate | async)!\"\r\n [applicationTheme]=\"applicationTheme !== 'classic' ? 'light' : 'classic'\"\r\n (buttonClickEvent)=\"dismissClick()\"\r\n data-testid=\"snackbar-dismiss-button\"\r\n ></ui-button>\r\n <ui-button\r\n *ngIf=\"includeDismissButton && applicationTheme !== 'classic'\"\r\n [variant]=\"'icon-button'\"\r\n [applicationTheme]=\"'light'\"\r\n [iconName]=\"'Close-in-line'\"\r\n [size]=\"'small'\"\r\n [tooltip]=\"(closeButtonTooltip || ('COMMON.CLOSE' | uiTranslate | async))!\"\r\n (click)=\"dismissClick()\"\r\n data-testid=\"snackbar-dismiss-button\"\r\n ></ui-button>\r\n </div>\r\n</ng-container>\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center;color:#000}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}:host .alert-container[theme=dark].success,:host .alert-container[theme=light].success,:host .snackbar-container[theme=dark].success,:host .snackbar-container[theme=light].success{background-color:#aae47a}:host .alert-container[theme=dark].info,:host .alert-container[theme=light].info,:host .snackbar-container[theme=dark].info,:host .snackbar-container[theme=light].info{background-color:#d9e8ff}:host .alert-container[theme=dark].warning,:host .alert-container[theme=light].warning,:host .snackbar-container[theme=dark].warning,:host .snackbar-container[theme=light].warning{background-color:#ffe1b3}:host .alert-container[theme=dark].error,:host .alert-container[theme=light].error,:host .snackbar-container[theme=dark].error,:host .snackbar-container[theme=light].error{background-color:#ffac9a}::ng-deep .display-none{display:none!important}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .snackbar-container{bottom:0;z-index:98}:host .snackbar-container[theme=dark] ui-icon,:host .snackbar-container[theme=light] ui-icon{margin-right:10px;cursor:pointer}:host .snackbar-container[theme=dark] .snackbar-text,:host .snackbar-container[theme=light] .snackbar-text{padding-left:10px;margin-right:8px}:host .snackbar-container[theme=dark] .snackbar-text a,:host .snackbar-container[theme=light] .snackbar-text a{margin-left:4px}:host .snackbar-container[theme=dark].desktop,:host .snackbar-container[theme=light].desktop{border-radius:24px;box-shadow:0 4px 16px #2424240a;width:fit-content;max-width:600px;min-height:48px;line-height:1.4;font-size:14px;padding:16px 24px}:host .snackbar-container[theme=dark].mobile,:host .snackbar-container[theme=light].mobile{width:100%;min-width:100%;word-break:break-word}:host .mat-mdc-snack-bar-container{margin:16px 8px}::ng-deep .mdc-snackbar__surface{height:0}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i5.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i3.SlicePipe, name: "slice" }, { kind: "pipe", type: i7.UiTranslatePipe, name: "uiTranslate" }], animations: [
174
174
  trigger('openClose', [
175
175
  transition(':enter', [
176
176
  style({ bottom: '-55px', opacity: 0 }),
@@ -196,7 +196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
196
196
  animate('0.2s ease-in', style({ bottom: '-55px', opacity: 0 })),
197
197
  ]),
198
198
  ]),
199
- ], template: "<ng-container>\n <div\n [ngClass]=\"snackbarType + ' ' + position\"\n [@openClose]\n *ngIf=\"visible\"\n class=\"snackbar-container\"\n [attr.theme]=\"applicationTheme\"\n [class.mobile]=\"variant === 'mobile'\"\n [class.desktop]=\"variant === 'desktop'\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n data-testid=\"snackbar-wrapper\"\n [attr.data-test-snackbar-type]=\"snackbarType\"\n [attr.aria-describedby]=\"'describedby'\"\n role=\"alert\"\n [attr.aria-labelledby]=\"'labelledby'\"\n >\n <span style=\"position: absolute; left: -9999px\" id=\"labelledby\">{{ ('ALERT_BANNER.' + (snackbarType | uppercase)) | uiTranslate | async }}</span>\n <span style=\"position: absolute; left: -9999px\">{{ message }}\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\" (click)=\"onLinkClick($event)\">{{ linkText }}</a>\n </span>\n <span [style.display]=\"'none'\" id=\"describedby\">{{ ariaDescribedby }}</span>\n <div\n aria-hidden=\"true\"\n class=\"snackbar-text\"\n [matTooltip]=\"message.length > maxCharacters ? message : ''\"\n data-testid=\"snackbar-content\"\n >\n <ui-icon *ngIf=\"applicationTheme === 'classic'\" [name]=\"iconName\" size=\"24\"></ui-icon>\n {{ message.length > maxCharacters ? (message | slice: 0:maxCharacters) + '..' : message }}\n <div *ngIf=\"safeHtml\" [innerHTML]=\"safeHtml\"></div>\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\" (click)=\"onLinkClick($event)\">{{ linkText }}</a>\n </div>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme === 'classic'\"\n variant=\"text\"\n [label]=\"(translationContext + 'DISMISS' | uiTranslate | async)!\"\n [applicationTheme]=\"applicationTheme !== 'classic' ? 'light' : 'classic'\"\n (buttonClickEvent)=\"dismissClick()\"\n data-testid=\"snackbar-dismiss-button\"\n ></ui-button>\n <ui-button\n *ngIf=\"includeDismissButton && applicationTheme !== 'classic'\"\n [variant]=\"'icon-button'\"\n [applicationTheme]=\"'light'\"\n [iconName]=\"'Close-in-line'\"\n [size]=\"'small'\"\n [tooltip]=\"(closeButtonTooltip || ('COMMON.CLOSE' | uiTranslate | async))!\"\n (click)=\"dismissClick()\"\n data-testid=\"snackbar-dismiss-button\"\n ></ui-button>\n </div>\n</ng-container>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center;color:#000}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}:host .alert-container[theme=dark].success,:host .alert-container[theme=light].success,:host .snackbar-container[theme=dark].success,:host .snackbar-container[theme=light].success{background-color:#aae47a}:host .alert-container[theme=dark].info,:host .alert-container[theme=light].info,:host .snackbar-container[theme=dark].info,:host .snackbar-container[theme=light].info{background-color:#d9e8ff}:host .alert-container[theme=dark].warning,:host .alert-container[theme=light].warning,:host .snackbar-container[theme=dark].warning,:host .snackbar-container[theme=light].warning{background-color:#ffe1b3}:host .alert-container[theme=dark].error,:host .alert-container[theme=light].error,:host .snackbar-container[theme=dark].error,:host .snackbar-container[theme=light].error{background-color:#ffac9a}::ng-deep .display-none{display:none!important}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .snackbar-container{bottom:0;z-index:98}:host .snackbar-container[theme=dark] ui-icon,:host .snackbar-container[theme=light] ui-icon{margin-right:10px;cursor:pointer}:host .snackbar-container[theme=dark] .snackbar-text,:host .snackbar-container[theme=light] .snackbar-text{padding-left:10px;margin-right:8px}:host .snackbar-container[theme=dark] .snackbar-text a,:host .snackbar-container[theme=light] .snackbar-text a{margin-left:4px}:host .snackbar-container[theme=dark].desktop,:host .snackbar-container[theme=light].desktop{border-radius:24px;box-shadow:0 4px 16px #2424240a;width:fit-content;max-width:600px;min-height:48px;line-height:1.4;font-size:14px;padding:16px 24px}:host .snackbar-container[theme=dark].mobile,:host .snackbar-container[theme=light].mobile{width:100%;min-width:100%;word-break:break-word}:host .mat-mdc-snack-bar-container{margin:16px 8px}::ng-deep .mdc-snackbar__surface{height:0}\n"] }]
199
+ ], template: "<ng-container>\r\n <div\r\n [ngClass]=\"snackbarType + ' ' + position\"\r\n [@openClose]\r\n *ngIf=\"visible\"\r\n class=\"snackbar-container\"\r\n [attr.theme]=\"applicationTheme\"\r\n [class.mobile]=\"variant === 'mobile'\"\r\n [class.desktop]=\"variant === 'desktop'\"\r\n (mouseenter)=\"onMouseEnter()\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n data-testid=\"snackbar-wrapper\"\r\n [attr.data-test-snackbar-type]=\"snackbarType\"\r\n [attr.aria-describedby]=\"'describedby'\"\r\n role=\"alert\"\r\n [attr.aria-labelledby]=\"'labelledby'\"\r\n >\r\n <span style=\"position: absolute; left: -9999px\" id=\"labelledby\">{{ ('ALERT_BANNER.' + (snackbarType | uppercase)) | uiTranslate | async }}</span>\r\n <span style=\"position: absolute; left: -9999px\">{{ message }}\r\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\" (click)=\"onLinkClick($event)\">{{ linkText }}</a>\r\n </span>\r\n <span [style.display]=\"'none'\" id=\"describedby\">{{ ariaDescribedby }}</span>\r\n <div\r\n aria-hidden=\"true\"\r\n class=\"snackbar-text\"\r\n [matTooltip]=\"message.length > maxCharacters ? message : ''\"\r\n data-testid=\"snackbar-content\"\r\n >\r\n <ui-icon *ngIf=\"applicationTheme === 'classic'\" [name]=\"iconName\" size=\"24\"></ui-icon>\r\n {{ message.length > maxCharacters ? (message | slice: 0:maxCharacters) + '..' : message }}\r\n <div *ngIf=\"safeHtml\" [innerHTML]=\"safeHtml\"></div>\r\n <a *ngIf=\"!!linkText\" [target]=\"linkTarget\" [href]=\"linkUrl\" (click)=\"onLinkClick($event)\">{{ linkText }}</a>\r\n </div>\r\n <ui-button\r\n *ngIf=\"includeDismissButton && applicationTheme === 'classic'\"\r\n variant=\"text\"\r\n [label]=\"(translationContext + 'DISMISS' | uiTranslate | async)!\"\r\n [applicationTheme]=\"applicationTheme !== 'classic' ? 'light' : 'classic'\"\r\n (buttonClickEvent)=\"dismissClick()\"\r\n data-testid=\"snackbar-dismiss-button\"\r\n ></ui-button>\r\n <ui-button\r\n *ngIf=\"includeDismissButton && applicationTheme !== 'classic'\"\r\n [variant]=\"'icon-button'\"\r\n [applicationTheme]=\"'light'\"\r\n [iconName]=\"'Close-in-line'\"\r\n [size]=\"'small'\"\r\n [tooltip]=\"(closeButtonTooltip || ('COMMON.CLOSE' | uiTranslate | async))!\"\r\n (click)=\"dismissClick()\"\r\n data-testid=\"snackbar-dismiss-button\"\r\n ></ui-button>\r\n </div>\r\n</ng-container>\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{display:flex;width:100%;justify-content:center}:host .snackbar-container{max-width:600px}:host .alert-container,:host .snackbar-container{margin:0 auto;display:flex;padding:0 14px;border-radius:4px;align-items:center;justify-content:space-between;opacity:1;min-height:48px}:host .alert-container.fixed,:host .snackbar-container.fixed{position:fixed}:host .alert-container.static,:host .snackbar-container.static{position:relative}:host .alert-container ui-icon,:host .snackbar-container ui-icon{margin-right:14px}:host .alert-container ui-button,:host .snackbar-container ui-button{margin-left:14px}:host .alert-container ::ng-deep button.mat-mdc-unelevated-button.big,:host .snackbar-container ::ng-deep button.mat-mdc-unelevated-button.big{padding:0;min-width:auto}:host .alert-container .alert-text,:host .alert-container .snackbar-text,:host .snackbar-container .alert-text,:host .snackbar-container .snackbar-text{display:flex;align-items:center;color:#000}:host .alert-container .alert-text a,:host .alert-container .snackbar-text a,:host .snackbar-container .alert-text a,:host .snackbar-container .snackbar-text a{color:#000;text-decoration:underline;font-weight:700}:host .alert-container .alert-text a:hover,:host .alert-container .alert-text a:visited,:host .alert-container .alert-text a:focus,:host .alert-container .snackbar-text a:hover,:host .alert-container .snackbar-text a:visited,:host .alert-container .snackbar-text a:focus,:host .snackbar-container .alert-text a:hover,:host .snackbar-container .alert-text a:visited,:host .snackbar-container .alert-text a:focus,:host .snackbar-container .snackbar-text a:hover,:host .snackbar-container .snackbar-text a:visited,:host .snackbar-container .snackbar-text a:focus{text-decoration:none}:host .alert-container.success,:host .snackbar-container.success{background-color:#cbd6cb}:host .alert-container.info,:host .snackbar-container.info{background-color:#c8d7de}:host .alert-container.warning,:host .snackbar-container.warning{background-color:#f0d6bb}:host .alert-container.error,:host .snackbar-container.error{background-color:#e3c3c6}:host .alert-container[theme=dark].success,:host .alert-container[theme=light].success,:host .snackbar-container[theme=dark].success,:host .snackbar-container[theme=light].success{background-color:#aae47a}:host .alert-container[theme=dark].info,:host .alert-container[theme=light].info,:host .snackbar-container[theme=dark].info,:host .snackbar-container[theme=light].info{background-color:#d9e8ff}:host .alert-container[theme=dark].warning,:host .alert-container[theme=light].warning,:host .snackbar-container[theme=dark].warning,:host .snackbar-container[theme=light].warning{background-color:#ffe1b3}:host .alert-container[theme=dark].error,:host .alert-container[theme=light].error,:host .snackbar-container[theme=dark].error,:host .snackbar-container[theme=light].error{background-color:#ffac9a}::ng-deep .display-none{display:none!important}@media (max-width: 600px){:host .alert-container,:host .snackbar-container{padding:8px 14px}}:host .snackbar-container{bottom:0;z-index:98}:host .snackbar-container[theme=dark] ui-icon,:host .snackbar-container[theme=light] ui-icon{margin-right:10px;cursor:pointer}:host .snackbar-container[theme=dark] .snackbar-text,:host .snackbar-container[theme=light] .snackbar-text{padding-left:10px;margin-right:8px}:host .snackbar-container[theme=dark] .snackbar-text a,:host .snackbar-container[theme=light] .snackbar-text a{margin-left:4px}:host .snackbar-container[theme=dark].desktop,:host .snackbar-container[theme=light].desktop{border-radius:24px;box-shadow:0 4px 16px #2424240a;width:fit-content;max-width:600px;min-height:48px;line-height:1.4;font-size:14px;padding:16px 24px}:host .snackbar-container[theme=dark].mobile,:host .snackbar-container[theme=light].mobile{width:100%;min-width:100%;word-break:break-word}:host .mat-mdc-snack-bar-container{margin:16px 8px}::ng-deep .mdc-snackbar__surface{height:0}\n"] }]
200
200
  }], ctorParameters: () => [{ type: undefined, decorators: [{
201
201
  type: Optional
202
202
  }, {
@@ -232,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
232
232
  }], ariaDescribedby: [{
233
233
  type: Input
234
234
  }] } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWtCLE1BQU0sNkJBQTZCLENBQUM7QUFHakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7QUFzQjdELE1BQU0sT0FBTyxpQkFBaUI7SUFnQjVCOzs7O09BSUc7SUFDSCxJQUFhLElBQUksQ0FBQyxLQUFhO1FBQzdCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUEyRkQsWUFDNkUsZUFBaUMsRUFFcEcsSUFPUCxFQUNPLFdBQThDLEVBQzlDLFlBQTBCO1FBWHlDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUVwRyxTQUFJLEdBQUosSUFBSSxDQU9YO1FBQ08sZ0JBQVcsR0FBWCxXQUFXLENBQW1DO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBL0hwQzs7Ozs7V0FLRztRQUNNLGlCQUFZLEdBQWlCLFNBQVMsQ0FBQztRQUVoRDs7OztXQUlH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Qzs2QkFDaEUsQ0FBQzs0QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDckMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzZCQUNoRSxDQUFDO3lCQUNILENBQUM7cUJBQ0g7OzBCQXVIRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQzs7MEJBQ3ZELE1BQU07MkJBQUMsa0JBQWtCO2lHQS9HbkIsWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT08sSUFBSTtzQkFBaEIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFHLE9BQU87c0JBQWYsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBUUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfU05BQ0tfQkFSX0RBVEEsIE1hdFNuYWNrQmFyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pY29uL2ljb24ubW9kZWwnO1xuaW1wb3J0IHsgU25hY2tiYXJMaW5rLCBTbmFja2JhclR5cGUsIFNuYWNrYmFyVmFyaWFudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kZWwnO1xuaW1wb3J0IHsgYWxlcnRCYXJzVXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzL2FsZXJ0LWJhcnMudXRpbHMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBMaW5rVGFyZ2V0VHlwZSB9IGZyb20gJy4uL2FsZXJ0LWJhbm5lci9hbGVydC1iYW5uZXIubW9kZWwnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1zbmFja2JhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbmFja2Jhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NuYWNrYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHN0eWxlKHsgYm90dG9tOiAnLTU1cHgnLCBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBhbmltYXRlKCcwLjJzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxLCBib3R0b206ICcxMHB4JyB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgc3R5bGUoeyBib3R0b206ICcxMHB4Jywgb3BhY2l0eTogMSB9KSxcbiAgICAgICAgYW5pbWF0ZSgnMC4ycyBlYXNlLWluJywgc3R5bGUoeyBib3R0b206ICctNTVweCcsIG9wYWNpdHk6IDAgfSkpLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiB3aGlsZSBpbiBhY3RpdmUgc3RhdGVcbiAgICpcbiAgICogQHR5cGUge1NuYWNrYmFyVHlwZX1cbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzbmFja2JhclR5cGU6IFNuYWNrYmFyVHlwZSA9ICdzdWNjZXNzJztcblxuICAvKipcbiAgICogU25hY2tiYXIgbWVzc2FnZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIG1lc3NhZ2UgPSAnJztcblxuICAvKipcbiAgICogU25hY2tiYXIgbWVzc2FnZSBmcm9tIGh0bWxcbiAgICpcbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgaHRtbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLnNhZmVIdG1sID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpbWUgdGhhdCB0aGUgc25hY2tiYXIgd2lsbCBiZSB2aXNpYmxlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2Vjb25kcyA9IDU7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgZGlzbW1pc3MgYnV0dG9uXG4gICAqXG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaW5jbHVkZURpc21pc3NCdXR0b24gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTdGF0aWMgb3IgZml4ZWQgcG9zaXRpb25cbiAgICpcbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmaXhlZCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIExpbmsgdGV4dCB0aGF0IHdpbGwgYXBwZW5kZWQgYXQgdGhlIGVuZCBvZiBtZXNzYWdlXG4gICAqXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGlua1RleHQ/ID0gJyc7XG5cbiAgLyoqXG4gICAqIExpbmsgdXJsXG4gICAqXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGlua1VybD86IHN0cmluZztcblxuICAvKipcbiAgICogTGluayB0YXJnZXRcbiAgICpcbiAgICogQHR5cGUge0B0eXBlIHtMaW5rVGFyZ2V0VHlwZX19XG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGlua1RhcmdldD86IExpbmtUYXJnZXRUeXBlID0gJ19ibGFuayc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YXJpYW50IHRvIGJlIHVzZWRcbiAgICpcbiAgICogQHR5cGUge1NuYWNrYmFyVmFyaWFudH1cbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YXJpYW50OiBTbmFja2JhclZhcmlhbnQgPSAnZGVza3RvcCc7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKiBDbG9zZSBidXR0b24gdG9vbHRpcFxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGNsb3NlQnV0dG9uVG9vbHRpcCA9ICcnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFEZXNjcmliZWRieSA9ICcnO1xuXG4gIGljb25OYW1lOiBJY29uTmFtZTtcbiAgc2hvd1NuYWNrYmFyID0gdHJ1ZTtcbiAgbWlsaXNlbmNvbmRzOiBudW1iZXI7XG4gIHZpc2libGUgPSBmYWxzZTtcbiAgdGltZXI/OiBudW1iZXI7XG4gIHRpbWVyU3RhcnRlZEF0ID0gMDtcbiAgdGltZXJQYXVzZWRBdCA9IDA7XG4gIHBvc2l0aW9uOiBzdHJpbmc7XG4gIHNhZmVIdG1sOiBTYWZlSHRtbDtcblxuICB0cmFuc2xhdGlvbkNvbnRleHQgPSAnU05BQ0tCQVIuJztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1heENoYXJhY3RlcnMgPSA3MDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgQEluamVjdChNQVRfU05BQ0tfQkFSX0RBVEEpXG4gICAgcHJpdmF0ZSBkYXRhOiB7XG4gICAgICBzbmFja2JhclR5cGU6IFNuYWNrYmFyVHlwZTtcbiAgICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICAgIGxpbms/OiBTbmFja2Jhckxpbms7XG4gICAgICBhcHBsaWNhdGlvblRoZW1lPzogQXBwbGljYXRpb25UaGVtZTtcbiAgICAgIGh0bWw/OiBzdHJpbmc7XG4gICAgICBzZWNvbmRzPzogbnVtYmVyO1xuICAgIH0sXG4gICAgcHJpdmF0ZSBzbmFja2JhclJlZjogTWF0U25hY2tCYXJSZWY8U25hY2tiYXJDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cblxuICAgIHRoaXMuc25hY2tiYXJUeXBlID0gZGF0YS5zbmFja2JhclR5cGUgPz8gJ3N1Y2Nlc3MnO1xuICAgIHRoaXMubWVzc2FnZSA9IGRhdGEubWVzc2FnZSA/PyAnJztcbiAgICB0aGlzLnNhZmVIdG1sID0gZGF0YS5odG1sID8gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoZGF0YS5odG1sKSA6ICcnO1xuICAgIHRoaXMubGlua1RleHQgPSBkYXRhLmxpbms/LnRleHQgPz8gJyc7XG4gICAgdGhpcy5saW5rVXJsID0gZGF0YS5saW5rPy51cmwgPz8gJyc7XG4gICAgdGhpcy5zZWNvbmRzID0gZGF0YS5zZWNvbmRzID8/IDU7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1pbGlzZW5jb25kcyA9IHRoaXMuc2Vjb25kcyAqIDEwMDA7XG4gICAgdGhpcy5pY29uTmFtZSA9IGFsZXJ0QmFyc1V0aWwuc2V0SWNvbih0aGlzLnNuYWNrYmFyVHlwZSk7XG4gICAgdGhpcy5zaG93KCk7XG4gICAgdGhpcy5wb3NpdGlvbiA9IGFsZXJ0QmFyc1V0aWwuc2V0UG9zaXRpb24odGhpcy5maXhlZCk7XG4gIH1cblxuICAvL1Nob3cgc25hY2tiYXJcbiAgc2hvdygpIHtcbiAgICB0aGlzLnRpbWVyU3RhcnRlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIHRoaXMudGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGUoKSwgdGhpcy5taWxpc2VuY29uZHMpO1xuICB9XG5cbiAgLy9IaWRlIHNuYWNrYmFyXG4gIGhpZGUoKSB7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy50aW1lclBhdXNlZEF0ID0gMDtcbiAgICB0aGlzLnRpbWVyU3RhcnRlZEF0ID0gMDtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lcik7XG4gICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmRpc21pc3NTbmFja2JhcigpO1xuICB9XG5cbiAgLy9QYXVzZSB0aW1lciB3aGVuIG1vdXNlIGVudGVyXG4gIG9uTW91c2VFbnRlcigpIHtcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIHRoaXMudGltZXJQYXVzZWRBdCA9IERhdGUubm93KCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xuICB9XG5cbiAgLy9Db250aW51ZSB0aW1lciB3aGVuIG1vdXNlIGxlYXZlXG4gIG9uTW91c2VMZWF2ZSgpIHtcbiAgICBjb25zdCBkaWZmID0gdGhpcy50aW1lclBhdXNlZEF0IC0gdGhpcy50aW1lclN0YXJ0ZWRBdDtcbiAgICBpZiAoZGlmZiA8PSAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5oaWRlKCk7XG4gICAgfVxuICAgIHRoaXMudGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGUoKSwgdGhpcy5taWxpc2VuY29uZHMgLSBkaWZmKTtcbiAgfVxuXG4gIC8vSGlkZSBzbmFja2JhciB3aGVuIGRpc21pc3MgYnV0dG9uIGlzIGNsaWNrZWRcbiAgZGlzbWlzc0NsaWNrKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuZGlzbWlzc1NuYWNrYmFyKCk7XG4gIH1cblxuICBvbkxpbmtDbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcblxuICAgIGlmICh0aGlzLmRhdGEubGluaz8uYWN0aW9uKSB7XG4gICAgICB0aGlzLmRhdGEubGluaz8uYWN0aW9uKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGEubGluaz8udXJsKSB7XG4gICAgICB3aW5kb3cub3Blbih0aGlzLmRhdGEubGluaz8udXJsLCAnX2JsYW5rJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkaXNtaXNzU25hY2tiYXIoKTogdm9pZCB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuc25hY2tiYXJSZWYpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc25hY2tiYXJSZWYuZGlzbWlzcygpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdlxuICAgIFtuZ0NsYXNzXT1cInNuYWNrYmFyVHlwZSArICcgJyArIHBvc2l0aW9uXCJcbiAgICBbQG9wZW5DbG9zZV1cbiAgICAqbmdJZj1cInZpc2libGVcIlxuICAgIGNsYXNzPVwic25hY2tiYXItY29udGFpbmVyXCJcbiAgICBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICBbY2xhc3MubW9iaWxlXT1cInZhcmlhbnQgPT09ICdtb2JpbGUnXCJcbiAgICBbY2xhc3MuZGVza3RvcF09XCJ2YXJpYW50ID09PSAnZGVza3RvcCdcIlxuICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXG4gICAgZGF0YS10ZXN0aWQ9XCJzbmFja2Jhci13cmFwcGVyXCJcbiAgICBbYXR0ci5kYXRhLXRlc3Qtc25hY2tiYXItdHlwZV09XCJzbmFja2JhclR5cGVcIlxuICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5J1wiXG4gICAgcm9sZT1cImFsZXJ0XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2xhYmVsbGVkYnknXCJcbiAgPlxuICAgIDxzcGFuIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtOTk5OXB4XCIgaWQ9XCJsYWJlbGxlZGJ5XCI+e3sgKCdBTEVSVF9CQU5ORVIuJyArIChzbmFja2JhclR5cGUgfCB1cHBlcmNhc2UpKSB8IHVpVHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG4gICAgPHNwYW4gc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHhcIj57eyBtZXNzYWdlIH19XG4gICAgICA8YSAqbmdJZj1cIiEhbGlua1RleHRcIiBbdGFyZ2V0XT1cImxpbmtUYXJnZXRcIiBbaHJlZl09XCJsaW5rVXJsXCIgKGNsaWNrKT1cIm9uTGlua0NsaWNrKCRldmVudClcIj57eyBsaW5rVGV4dCB9fTwvYT5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCIgaWQ9XCJkZXNjcmliZWRieVwiPnt7IGFyaWFEZXNjcmliZWRieSB9fTwvc3Bhbj5cbiAgICA8ZGl2XG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgY2xhc3M9XCJzbmFja2Jhci10ZXh0XCJcbiAgICAgIFttYXRUb29sdGlwXT1cIm1lc3NhZ2UubGVuZ3RoID4gbWF4Q2hhcmFjdGVycyA/IG1lc3NhZ2UgOiAnJ1wiXG4gICAgICBkYXRhLXRlc3RpZD1cInNuYWNrYmFyLWNvbnRlbnRcIlxuICAgID5cbiAgICAgIDx1aS1pY29uICpuZ0lmPVwiYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnXCIgW25hbWVdPVwiaWNvbk5hbWVcIiBzaXplPVwiMjRcIj48L3VpLWljb24+XG4gICAgICB7eyBtZXNzYWdlLmxlbmd0aCA+IG1heENoYXJhY3RlcnMgPyAobWVzc2FnZSB8IHNsaWNlOiAwOm1heENoYXJhY3RlcnMpICsgJy4uJyA6IG1lc3NhZ2UgfX1cbiAgICAgIDxkaXYgKm5nSWY9XCJzYWZlSHRtbFwiIFtpbm5lckhUTUxdPVwic2FmZUh0bWxcIj48L2Rpdj5cbiAgICAgIDxhICpuZ0lmPVwiISFsaW5rVGV4dFwiIFt0YXJnZXRdPVwibGlua1RhcmdldFwiIFtocmVmXT1cImxpbmtVcmxcIiAoY2xpY2spPVwib25MaW5rQ2xpY2soJGV2ZW50KVwiPnt7IGxpbmtUZXh0IH19PC9hPlxuICAgIDwvZGl2PlxuICAgIDx1aS1idXR0b25cbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnXCJcbiAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgIFtsYWJlbF09XCIodHJhbnNsYXRpb25Db250ZXh0ICsgJ0RJU01JU1MnIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCJcbiAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyA/ICdsaWdodCcgOiAnY2xhc3NpYydcIlxuICAgICAgKGJ1dHRvbkNsaWNrRXZlbnQpPVwiZGlzbWlzc0NsaWNrKClcIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJzbmFja2Jhci1kaXNtaXNzLWJ1dHRvblwiXG4gICAgPjwvdWktYnV0dG9uPlxuICAgIDx1aS1idXR0b25cbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnXCJcbiAgICAgIFt2YXJpYW50XT1cIidpY29uLWJ1dHRvbidcIlxuICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiJ2xpZ2h0J1wiXG4gICAgICBbaWNvbk5hbWVdPVwiJ0Nsb3NlLWluLWxpbmUnXCJcbiAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgW3Rvb2x0aXBdPVwiKGNsb3NlQnV0dG9uVG9vbHRpcCB8fCAoJ0NPTU1PTi5DTE9TRScgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSkhXCJcbiAgICAgIChjbGljayk9XCJkaXNtaXNzQ2xpY2soKVwiXG4gICAgICBkYXRhLXRlc3RpZD1cInNuYWNrYmFyLWRpc21pc3MtYnV0dG9uXCJcbiAgICA+PC91aS1idXR0b24+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWtCLE1BQU0sNkJBQTZCLENBQUM7QUFHakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7QUFzQjdELE1BQU0sT0FBTyxpQkFBaUI7SUFnQjVCOzs7O09BSUc7SUFDSCxJQUFhLElBQUksQ0FBQyxLQUFhO1FBQzdCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUEyRkQsWUFDNkUsZUFBaUMsRUFFcEcsSUFPUCxFQUNPLFdBQThDLEVBQzlDLFlBQTBCO1FBWHlDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQUVwRyxTQUFJLEdBQUosSUFBSSxDQU9YO1FBQ08sZ0JBQVcsR0FBWCxXQUFXLENBQW1DO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBL0hwQzs7Ozs7V0FLRztRQUNNLGlCQUFZLEdBQWlCLFNBQVMsQ0FBQztRQUVoRDs7OztXQUlH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Qzs2QkFDaEUsQ0FBQzs0QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDckMsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzZCQUNoRSxDQUFDO3lCQUNILENBQUM7cUJBQ0g7OzBCQXVIRSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9DQUFvQzs7MEJBQ3ZELE1BQU07MkJBQUMsa0JBQWtCO2lHQS9HbkIsWUFBWTtzQkFBcEIsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT08sSUFBSTtzQkFBaEIsS0FBSztnQkFXRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPRyxRQUFRO3NCQUFoQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFHLE9BQU87c0JBQWYsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBUUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTUFUX1NOQUNLX0JBUl9EQVRBLCBNYXRTbmFja0JhclJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pY29uL2ljb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTbmFja2JhckxpbmssIFNuYWNrYmFyVHlwZSwgU25hY2tiYXJWYXJpYW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5tb2RlbCc7XHJcbmltcG9ydCB7IGFsZXJ0QmFyc1V0aWwgfSBmcm9tICcuLi8uLi91dGlscy9hbGVydC1iYXJzLnV0aWxzJztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XHJcbmltcG9ydCB7IExpbmtUYXJnZXRUeXBlIH0gZnJvbSAnLi4vYWxlcnQtYmFubmVyL2FsZXJ0LWJhbm5lci5tb2RlbCc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndWktc25hY2tiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbmFja2Jhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc25hY2tiYXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXHJcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICBzdHlsZSh7IGJvdHRvbTogJy01NXB4Jywgb3BhY2l0eTogMCB9KSxcclxuICAgICAgICBhbmltYXRlKCcwLjJzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxLCBib3R0b206ICcxMHB4JyB9KSksXHJcbiAgICAgIF0pLFxyXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXHJcbiAgICAgICAgc3R5bGUoeyBib3R0b206ICcxMHB4Jywgb3BhY2l0eTogMSB9KSxcclxuICAgICAgICBhbmltYXRlKCcwLjJzIGVhc2UtaW4nLCBzdHlsZSh7IGJvdHRvbTogJy01NXB4Jywgb3BhY2l0eTogMCB9KSksXHJcbiAgICAgIF0pLFxyXG4gICAgXSksXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKipcclxuICAgKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gd2hpbGUgaW4gYWN0aXZlIHN0YXRlXHJcbiAgICpcclxuICAgKiBAdHlwZSB7U25hY2tiYXJUeXBlfVxyXG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNuYWNrYmFyVHlwZTogU25hY2tiYXJUeXBlID0gJ3N1Y2Nlc3MnO1xyXG5cclxuICAvKipcclxuICAgKiBTbmFja2JhciBtZXNzYWdlXHJcbiAgICpcclxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBtZXNzYWdlID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNuYWNrYmFyIG1lc3NhZ2UgZnJvbSBodG1sXHJcbiAgICpcclxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzZXQgaHRtbCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zYWZlSHRtbCA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgdGltZSB0aGF0IHRoZSBzbmFja2JhciB3aWxsIGJlIHZpc2libGVcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlY29uZHMgPSA1O1xyXG5cclxuICAvKipcclxuICAgKiBJbmNsdWRlIGRpc21taXNzIGJ1dHRvblxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgaW5jbHVkZURpc21pc3NCdXR0b24gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBTdGF0aWMgb3IgZml4ZWQgcG9zaXRpb25cclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZpeGVkID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogTGluayB0ZXh0IHRoYXQgd2lsbCBhcHBlbmRlZCBhdCB0aGUgZW5kIG9mIG1lc3NhZ2VcclxuICAgKlxyXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxpbmtUZXh0PyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBMaW5rIHVybFxyXG4gICAqXHJcbiAgICogQG1lbWJlcm9mIEFsZXJ0QmFubmVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgbGlua1VybD86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogTGluayB0YXJnZXRcclxuICAgKlxyXG4gICAqIEB0eXBlIHtAdHlwZSB7TGlua1RhcmdldFR5cGV9fVxyXG4gICAqIEBtZW1iZXJvZiBBbGVydEJhbm5lckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxpbmtUYXJnZXQ/OiBMaW5rVGFyZ2V0VHlwZSA9ICdfYmxhbmsnO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgdmFyaWFudCB0byBiZSB1c2VkXHJcbiAgICpcclxuICAgKiBAdHlwZSB7U25hY2tiYXJWYXJpYW50fVxyXG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHZhcmlhbnQ6IFNuYWNrYmFyVmFyaWFudCA9ICdkZXNrdG9wJztcclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxyXG4gICAqXHJcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XHJcbiAgICogQG1lbWJlcm9mIFNuYWNrYmFyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb3NlIGJ1dHRvbiB0b29sdGlwXHJcbiAgICpcclxuICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAqIEBtZW1iZXJvZiBTbmFja2JhckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNsb3NlQnV0dG9uVG9vbHRpcCA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXHJcbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIGZvciBmb3JtIHN1Ym1pc3Npb24uXHJcbiAgICogQHR5cGUge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgU25hY2tiYXJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkYnkgPSAnJztcclxuXHJcbiAgaWNvbk5hbWU6IEljb25OYW1lO1xyXG4gIHNob3dTbmFja2JhciA9IHRydWU7XHJcbiAgbWlsaXNlbmNvbmRzOiBudW1iZXI7XHJcbiAgdmlzaWJsZSA9IGZhbHNlO1xyXG4gIHRpbWVyPzogbnVtYmVyO1xyXG4gIHRpbWVyU3RhcnRlZEF0ID0gMDtcclxuICB0aW1lclBhdXNlZEF0ID0gMDtcclxuICBwb3NpdGlvbjogc3RyaW5nO1xyXG4gIHNhZmVIdG1sOiBTYWZlSHRtbDtcclxuXHJcbiAgdHJhbnNsYXRpb25Db250ZXh0ID0gJ1NOQUNLQkFSLic7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1heENoYXJhY3RlcnMgPSA3MDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUsXHJcbiAgICBASW5qZWN0KE1BVF9TTkFDS19CQVJfREFUQSlcclxuICAgIHByaXZhdGUgZGF0YToge1xyXG4gICAgICBzbmFja2JhclR5cGU6IFNuYWNrYmFyVHlwZTtcclxuICAgICAgbWVzc2FnZTogc3RyaW5nO1xyXG4gICAgICBsaW5rPzogU25hY2tiYXJMaW5rO1xyXG4gICAgICBhcHBsaWNhdGlvblRoZW1lPzogQXBwbGljYXRpb25UaGVtZTtcclxuICAgICAgaHRtbD86IHN0cmluZztcclxuICAgICAgc2Vjb25kcz86IG51bWJlcjtcclxuICAgIH0sXHJcbiAgICBwcml2YXRlIHNuYWNrYmFyUmVmOiBNYXRTbmFja0JhclJlZjxTbmFja2JhckNvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgKSB7XHJcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XHJcbiAgICAgIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9IGRlZmF1bHRBcHBUaGVtZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNuYWNrYmFyVHlwZSA9IGRhdGEuc25hY2tiYXJUeXBlID8/ICdzdWNjZXNzJztcclxuICAgIHRoaXMubWVzc2FnZSA9IGRhdGEubWVzc2FnZSA/PyAnJztcclxuICAgIHRoaXMuc2FmZUh0bWwgPSBkYXRhLmh0bWwgPyB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkYXRhLmh0bWwpIDogJyc7XHJcbiAgICB0aGlzLmxpbmtUZXh0ID0gZGF0YS5saW5rPy50ZXh0ID8/ICcnO1xyXG4gICAgdGhpcy5saW5rVXJsID0gZGF0YS5saW5rPy51cmwgPz8gJyc7XHJcbiAgICB0aGlzLnNlY29uZHMgPSBkYXRhLnNlY29uZHMgPz8gNTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5taWxpc2VuY29uZHMgPSB0aGlzLnNlY29uZHMgKiAxMDAwO1xyXG4gICAgdGhpcy5pY29uTmFtZSA9IGFsZXJ0QmFyc1V0aWwuc2V0SWNvbih0aGlzLnNuYWNrYmFyVHlwZSk7XHJcbiAgICB0aGlzLnNob3coKTtcclxuICAgIHRoaXMucG9zaXRpb24gPSBhbGVydEJhcnNVdGlsLnNldFBvc2l0aW9uKHRoaXMuZml4ZWQpO1xyXG4gIH1cclxuXHJcbiAgLy9TaG93IHNuYWNrYmFyXHJcbiAgc2hvdygpIHtcclxuICAgIHRoaXMudGltZXJTdGFydGVkQXQgPSBEYXRlLm5vdygpO1xyXG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcclxuICAgIHRoaXMudGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGUoKSwgdGhpcy5taWxpc2VuY29uZHMpO1xyXG4gIH1cclxuXHJcbiAgLy9IaWRlIHNuYWNrYmFyXHJcbiAgaGlkZSgpIHtcclxuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy50aW1lclBhdXNlZEF0ID0gMDtcclxuICAgIHRoaXMudGltZXJTdGFydGVkQXQgPSAwO1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xyXG4gICAgdGhpcy50aW1lciA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuZGlzbWlzc1NuYWNrYmFyKCk7XHJcbiAgfVxyXG5cclxuICAvL1BhdXNlIHRpbWVyIHdoZW4gbW91c2UgZW50ZXJcclxuICBvbk1vdXNlRW50ZXIoKSB7XHJcbiAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgdGhpcy50aW1lclBhdXNlZEF0ID0gRGF0ZS5ub3coKTtcclxuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKTtcclxuICB9XHJcblxyXG4gIC8vQ29udGludWUgdGltZXIgd2hlbiBtb3VzZSBsZWF2ZVxyXG4gIG9uTW91c2VMZWF2ZSgpIHtcclxuICAgIGNvbnN0IGRpZmYgPSB0aGlzLnRpbWVyUGF1c2VkQXQgLSB0aGlzLnRpbWVyU3RhcnRlZEF0O1xyXG4gICAgaWYgKGRpZmYgPD0gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5oaWRlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4gdGhpcy5oaWRlKCksIHRoaXMubWlsaXNlbmNvbmRzIC0gZGlmZik7XHJcbiAgfVxyXG5cclxuICAvL0hpZGUgc25hY2tiYXIgd2hlbiBkaXNtaXNzIGJ1dHRvbiBpcyBjbGlja2VkXHJcbiAgZGlzbWlzc0NsaWNrKCkge1xyXG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpc21pc3NTbmFja2JhcigpO1xyXG4gIH1cclxuXHJcbiAgb25MaW5rQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICBpZiAodGhpcy5kYXRhLmxpbms/LmFjdGlvbikge1xyXG4gICAgICB0aGlzLmRhdGEubGluaz8uYWN0aW9uKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0YS5saW5rPy51cmwpIHtcclxuICAgICAgd2luZG93Lm9wZW4odGhpcy5kYXRhLmxpbms/LnVybCwgJ19ibGFuaycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkaXNtaXNzU25hY2tiYXIoKTogdm9pZCB7XHJcbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5zbmFja2JhclJlZikubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNuYWNrYmFyUmVmLmRpc21pc3MoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lcj5cclxuICA8ZGl2XHJcbiAgICBbbmdDbGFzc109XCJzbmFja2JhclR5cGUgKyAnICcgKyBwb3NpdGlvblwiXHJcbiAgICBbQG9wZW5DbG9zZV1cclxuICAgICpuZ0lmPVwidmlzaWJsZVwiXHJcbiAgICBjbGFzcz1cInNuYWNrYmFyLWNvbnRhaW5lclwiXHJcbiAgICBbYXR0ci50aGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcclxuICAgIFtjbGFzcy5tb2JpbGVdPVwidmFyaWFudCA9PT0gJ21vYmlsZSdcIlxyXG4gICAgW2NsYXNzLmRlc2t0b3BdPVwidmFyaWFudCA9PT0gJ2Rlc2t0b3AnXCJcclxuICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcclxuICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcclxuICAgIGRhdGEtdGVzdGlkPVwic25hY2tiYXItd3JhcHBlclwiXHJcbiAgICBbYXR0ci5kYXRhLXRlc3Qtc25hY2tiYXItdHlwZV09XCJzbmFja2JhclR5cGVcIlxyXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInZGVzY3JpYmVkYnknXCJcclxuICAgIHJvbGU9XCJhbGVydFwiXHJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2xhYmVsbGVkYnknXCJcclxuICA+XHJcbiAgICA8c3BhbiBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogLTk5OTlweFwiIGlkPVwibGFiZWxsZWRieVwiPnt7ICgnQUxFUlRfQkFOTkVSLicgKyAoc25hY2tiYXJUeXBlIHwgdXBwZXJjYXNlKSkgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxyXG4gICAgPHNwYW4gc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC05OTk5cHhcIj57eyBtZXNzYWdlIH19XHJcbiAgICAgIDxhICpuZ0lmPVwiISFsaW5rVGV4dFwiIFt0YXJnZXRdPVwibGlua1RhcmdldFwiIFtocmVmXT1cImxpbmtVcmxcIiAoY2xpY2spPVwib25MaW5rQ2xpY2soJGV2ZW50KVwiPnt7IGxpbmtUZXh0IH19PC9hPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPHNwYW4gW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCIgaWQ9XCJkZXNjcmliZWRieVwiPnt7IGFyaWFEZXNjcmliZWRieSB9fTwvc3Bhbj5cclxuICAgIDxkaXZcclxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgY2xhc3M9XCJzbmFja2Jhci10ZXh0XCJcclxuICAgICAgW21hdFRvb2x0aXBdPVwibWVzc2FnZS5sZW5ndGggPiBtYXhDaGFyYWN0ZXJzID8gbWVzc2FnZSA6ICcnXCJcclxuICAgICAgZGF0YS10ZXN0aWQ9XCJzbmFja2Jhci1jb250ZW50XCJcclxuICAgID5cclxuICAgICAgPHVpLWljb24gKm5nSWY9XCJhcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYydcIiBbbmFtZV09XCJpY29uTmFtZVwiIHNpemU9XCIyNFwiPjwvdWktaWNvbj5cclxuICAgICAge3sgbWVzc2FnZS5sZW5ndGggPiBtYXhDaGFyYWN0ZXJzID8gKG1lc3NhZ2UgfCBzbGljZTogMDptYXhDaGFyYWN0ZXJzKSArICcuLicgOiBtZXNzYWdlIH19XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJzYWZlSHRtbFwiIFtpbm5lckhUTUxdPVwic2FmZUh0bWxcIj48L2Rpdj5cclxuICAgICAgPGEgKm5nSWY9XCIhIWxpbmtUZXh0XCIgW3RhcmdldF09XCJsaW5rVGFyZ2V0XCIgW2hyZWZdPVwibGlua1VybFwiIChjbGljayk9XCJvbkxpbmtDbGljaygkZXZlbnQpXCI+e3sgbGlua1RleHQgfX08L2E+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx1aS1idXR0b25cclxuICAgICAgKm5nSWY9XCJpbmNsdWRlRGlzbWlzc0J1dHRvbiAmJiBhcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYydcIlxyXG4gICAgICB2YXJpYW50PVwidGV4dFwiXHJcbiAgICAgIFtsYWJlbF09XCIodHJhbnNsYXRpb25Db250ZXh0ICsgJ0RJU01JU1MnIHwgdWlUcmFuc2xhdGUgfCBhc3luYykhXCJcclxuICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnID8gJ2xpZ2h0JyA6ICdjbGFzc2ljJ1wiXHJcbiAgICAgIChidXR0b25DbGlja0V2ZW50KT1cImRpc21pc3NDbGljaygpXCJcclxuICAgICAgZGF0YS10ZXN0aWQ9XCJzbmFja2Jhci1kaXNtaXNzLWJ1dHRvblwiXHJcbiAgICA+PC91aS1idXR0b24+XHJcbiAgICA8dWktYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiaW5jbHVkZURpc21pc3NCdXR0b24gJiYgYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnXCJcclxuICAgICAgW3ZhcmlhbnRdPVwiJ2ljb24tYnV0dG9uJ1wiXHJcbiAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cIidsaWdodCdcIlxyXG4gICAgICBbaWNvbk5hbWVdPVwiJ0Nsb3NlLWluLWxpbmUnXCJcclxuICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXHJcbiAgICAgIFt0b29sdGlwXT1cIihjbG9zZUJ1dHRvblRvb2x0aXAgfHwgKCdDT01NT04uQ0xPU0UnIHwgdWlUcmFuc2xhdGUgfCBhc3luYykpIVwiXHJcbiAgICAgIChjbGljayk9XCJkaXNtaXNzQ2xpY2soKVwiXHJcbiAgICAgIGRhdGEtdGVzdGlkPVwic25hY2tiYXItZGlzbWlzcy1idXR0b25cIlxyXG4gICAgPjwvdWktYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
22
22
  providers: [SnackbarService],
23
23
  }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBUTdELE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjtnSEFBdkIsdUJBQXVCLGlCQUxuQixpQkFBaUIsYUFDdEIsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsYUFDOUcsaUJBQWlCO2dIQUdoQix1QkFBdUIsYUFGdkIsQ0FBQyxlQUFlLENBQUMsWUFGbEIsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFtQixpQkFBaUIsRUFBRSxnQkFBZ0I7OzRGQUk3Ryx1QkFBdUI7a0JBTm5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3pILE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5tb2R1bGUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IFNuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zbmFja2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi9zbmFja2Jhci5zZXJ2aWNlJztcbmltcG9ydCB7IFVpVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3VpLXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU25hY2tiYXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnRNb2R1bGUsIEljb25Db21wb25lbnRNb2R1bGUsIFVpVHJhbnNsYXRlUGlwZSwgTWF0U25hY2tCYXJNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGVdLFxuICBleHBvcnRzOiBbU25hY2tiYXJDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtTbmFja2JhclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTbmFja2JhckNvbXBvbmVudE1vZHVsZSB7fVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBUTdELE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjtnSEFBdkIsdUJBQXVCLGlCQUxuQixpQkFBaUIsYUFDdEIsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsYUFDOUcsaUJBQWlCO2dIQUdoQix1QkFBdUIsYUFGdkIsQ0FBQyxlQUFlLENBQUMsWUFGbEIsWUFBWSxFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFtQixpQkFBaUIsRUFBRSxnQkFBZ0I7OzRGQUk3Ryx1QkFBdUI7a0JBTm5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3pILE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQubW9kdWxlJztcclxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5jb21wb25lbnQubW9kdWxlJztcclxuaW1wb3J0IHsgU25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuL3NuYWNrYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNuYWNrYmFyU2VydmljZSB9IGZyb20gJy4vc25hY2tiYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3VpLXRyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1NuYWNrYmFyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Db21wb25lbnRNb2R1bGUsIEljb25Db21wb25lbnRNb2R1bGUsIFVpVHJhbnNsYXRlUGlwZSwgTWF0U25hY2tCYXJNb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtTbmFja2JhckNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbU25hY2tiYXJTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29tcG9uZW50TW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNuYWNrYmFyVHlwZSA9ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnaW5mbycgfCAnd2FybmluZyc7XG5leHBvcnQgdHlwZSBTbmFja2JhclZhcmlhbnQgPSAnZGVza3RvcCcgfCAnbW9iaWxlJztcbmV4cG9ydCBpbnRlcmZhY2UgU25hY2tiYXJMaW5rIHtcbiAgdGV4dDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgYWN0aW9uOiAoKSA9PiB2b2lkIHwgbnVsbDtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNuYWNrYmFyVHlwZSA9ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAnaW5mbycgfCAnd2FybmluZyc7XHJcbmV4cG9ydCB0eXBlIFNuYWNrYmFyVmFyaWFudCA9ICdkZXNrdG9wJyB8ICdtb2JpbGUnO1xyXG5leHBvcnQgaW50ZXJmYWNlIFNuYWNrYmFyTGluayB7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIGFjdGlvbjogKCkgPT4gdm9pZCB8IG51bGw7XHJcbn1cclxuIl19
@@ -39,4 +39,4 @@ export class SnackbarService {
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SnackbarService, decorators: [{
40
40
  type: Injectable
41
41
  }], ctorParameters: () => [{ type: i1.MatSnackBar }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQUcsQ0FBQztJQUU3QyxLQUFLLENBQUMsT0FBZSxFQUFFLGdCQUFtQyxFQUFFLElBQWEsRUFBRSxJQUFtQixFQUFFLE9BQWdCO1FBQzlHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFlLEVBQUUsZ0JBQW1DLEVBQUUsSUFBYSxFQUFFLElBQW1CLEVBQUUsT0FBZ0I7UUFDaEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWUsRUFBRSxnQkFBbUMsRUFBRSxJQUFhLEVBQUUsSUFBbUIsRUFBRSxPQUFnQjtRQUM3RyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZSxFQUFFLGdCQUFtQyxFQUFFLElBQWEsRUFBRSxJQUFtQixFQUFFLE9BQWdCO1FBQ2hILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELElBQUksQ0FDRixZQUEwQixFQUMxQixPQUFlLEVBQ2YsZ0JBQW1DLEVBQ25DLElBQWEsRUFDYixJQUFtQixFQUNuQixPQUFnQjtRQUVoQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFO1lBQ3RFLElBQUksRUFBRTtnQkFDSixZQUFZO2dCQUNaLE9BQU87Z0JBQ1AsSUFBSTtnQkFDSixJQUFJO2dCQUNKLE9BQU87YUFDUjtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQzVELENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOytHQXhDVSxlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBTbmFja2JhckNvbXBvbmVudCB9IGZyb20gJy4vc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgU25hY2tiYXJMaW5rLCBTbmFja2JhclR5cGUgfSBmcm9tICcuL3NuYWNrYmFyLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyKSB7fVxuXG4gIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgYXBwbGljYXRpb25UaGVtZT86IEFwcGxpY2F0aW9uVGhlbWUsIGh0bWw/OiBzdHJpbmcsIGxpbms/OiBTbmFja2JhckxpbmssIHNlY29uZHM/OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5zaG93KCdlcnJvcicsIG1lc3NhZ2UsIGFwcGxpY2F0aW9uVGhlbWUsIGh0bWwsIGxpbmssIHNlY29uZHMpO1xuICB9XG5cbiAgc3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIGFwcGxpY2F0aW9uVGhlbWU/OiBBcHBsaWNhdGlvblRoZW1lLCBodG1sPzogc3RyaW5nLCBsaW5rPzogU25hY2tiYXJMaW5rLCBzZWNvbmRzPzogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdygnc3VjY2VzcycsIG1lc3NhZ2UsIGFwcGxpY2F0aW9uVGhlbWUsIGh0bWwsIGxpbmssIHNlY29uZHMpO1xuICB9XG5cbiAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIGFwcGxpY2F0aW9uVGhlbWU/OiBBcHBsaWNhdGlvblRoZW1lLCBodG1sPzogc3RyaW5nLCBsaW5rPzogU25hY2tiYXJMaW5rLCBzZWNvbmRzPzogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdygnaW5mbycsIG1lc3NhZ2UsIGFwcGxpY2F0aW9uVGhlbWUsIGh0bWwsIGxpbmssIHNlY29uZHMpO1xuICB9XG5cbiAgd2FybmluZyhtZXNzYWdlOiBzdHJpbmcsIGFwcGxpY2F0aW9uVGhlbWU/OiBBcHBsaWNhdGlvblRoZW1lLCBodG1sPzogc3RyaW5nLCBsaW5rPzogU25hY2tiYXJMaW5rLCBzZWNvbmRzPzogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvdygnd2FybmluZycsIG1lc3NhZ2UsIGFwcGxpY2F0aW9uVGhlbWUsIGh0bWwsIGxpbmssIHNlY29uZHMpO1xuICB9XG5cbiAgc2hvdyhcbiAgICBzbmFja2JhclR5cGU6IFNuYWNrYmFyVHlwZSxcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXBwbGljYXRpb25UaGVtZT86IEFwcGxpY2F0aW9uVGhlbWUsXG4gICAgaHRtbD86IHN0cmluZyxcbiAgICBsaW5rPzogU25hY2tiYXJMaW5rLFxuICAgIHNlY29uZHM/OiBudW1iZXJcbiAgKSB7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChTbmFja2JhckNvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICBzbmFja2JhclR5cGUsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIGxpbmssXG4gICAgICAgIGh0bWwsXG4gICAgICAgIHNlY29uZHMsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGlmIChhcHBsaWNhdGlvblRoZW1lKSB7XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuYXBwbGljYXRpb25UaGVtZSA9IGFwcGxpY2F0aW9uVGhlbWU7XG4gICAgfVxuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQUcsQ0FBQztJQUU3QyxLQUFLLENBQUMsT0FBZSxFQUFFLGdCQUFtQyxFQUFFLElBQWEsRUFBRSxJQUFtQixFQUFFLE9BQWdCO1FBQzlHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFlLEVBQUUsZ0JBQW1DLEVBQUUsSUFBYSxFQUFFLElBQW1CLEVBQUUsT0FBZ0I7UUFDaEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWUsRUFBRSxnQkFBbUMsRUFBRSxJQUFhLEVBQUUsSUFBbUIsRUFBRSxPQUFnQjtRQUM3RyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZSxFQUFFLGdCQUFtQyxFQUFFLElBQWEsRUFBRSxJQUFtQixFQUFFLE9BQWdCO1FBQ2hILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELElBQUksQ0FDRixZQUEwQixFQUMxQixPQUFlLEVBQ2YsZ0JBQW1DLEVBQ25DLElBQWEsRUFDYixJQUFtQixFQUNuQixPQUFnQjtRQUVoQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFO1lBQ3RFLElBQUksRUFBRTtnQkFDSixZQUFZO2dCQUNaLE9BQU87Z0JBQ1AsSUFBSTtnQkFDSixJQUFJO2dCQUNKLE9BQU87YUFDUjtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixZQUFZLENBQUMsUUFBUSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQzVELENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDOytHQXhDVSxlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgU25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuL3NuYWNrYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xyXG5pbXBvcnQgeyBTbmFja2JhckxpbmssIFNuYWNrYmFyVHlwZSB9IGZyb20gJy4vc25hY2tiYXIubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU25hY2tiYXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge31cclxuXHJcbiAgZXJyb3IobWVzc2FnZTogc3RyaW5nLCBhcHBsaWNhdGlvblRoZW1lPzogQXBwbGljYXRpb25UaGVtZSwgaHRtbD86IHN0cmluZywgbGluaz86IFNuYWNrYmFyTGluaywgc2Vjb25kcz86IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdygnZXJyb3InLCBtZXNzYWdlLCBhcHBsaWNhdGlvblRoZW1lLCBodG1sLCBsaW5rLCBzZWNvbmRzKTtcclxuICB9XHJcblxyXG4gIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCBhcHBsaWNhdGlvblRoZW1lPzogQXBwbGljYXRpb25UaGVtZSwgaHRtbD86IHN0cmluZywgbGluaz86IFNuYWNrYmFyTGluaywgc2Vjb25kcz86IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvdygnc3VjY2VzcycsIG1lc3NhZ2UsIGFwcGxpY2F0aW9uVGhlbWUsIGh0bWwsIGxpbmssIHNlY29uZHMpO1xyXG4gIH1cclxuXHJcbiAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIGFwcGxpY2F0aW9uVGhlbWU/OiBBcHBsaWNhdGlvblRoZW1lLCBodG1sPzogc3RyaW5nLCBsaW5rPzogU25hY2tiYXJMaW5rLCBzZWNvbmRzPzogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93KCdpbmZvJywgbWVzc2FnZSwgYXBwbGljYXRpb25UaGVtZSwgaHRtbCwgbGluaywgc2Vjb25kcyk7XHJcbiAgfVxyXG5cclxuICB3YXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgYXBwbGljYXRpb25UaGVtZT86IEFwcGxpY2F0aW9uVGhlbWUsIGh0bWw/OiBzdHJpbmcsIGxpbms/OiBTbmFja2JhckxpbmssIHNlY29uZHM/OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLnNob3coJ3dhcm5pbmcnLCBtZXNzYWdlLCBhcHBsaWNhdGlvblRoZW1lLCBodG1sLCBsaW5rLCBzZWNvbmRzKTtcclxuICB9XHJcblxyXG4gIHNob3coXHJcbiAgICBzbmFja2JhclR5cGU6IFNuYWNrYmFyVHlwZSxcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIGFwcGxpY2F0aW9uVGhlbWU/OiBBcHBsaWNhdGlvblRoZW1lLFxyXG4gICAgaHRtbD86IHN0cmluZyxcclxuICAgIGxpbms/OiBTbmFja2JhckxpbmssXHJcbiAgICBzZWNvbmRzPzogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFNuYWNrYmFyQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBzbmFja2JhclR5cGUsXHJcbiAgICAgICAgbWVzc2FnZSxcclxuICAgICAgICBsaW5rLFxyXG4gICAgICAgIGh0bWwsXHJcbiAgICAgICAgc2Vjb25kcyxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgaWYgKGFwcGxpY2F0aW9uVGhlbWUpIHtcclxuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmFwcGxpY2F0aW9uVGhlbWUgPSBhcHBsaWNhdGlvblRoZW1lO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcbn1cclxuIl19
@@ -407,11 +407,11 @@ export class SpiderChartComponent {
407
407
  return label.substring(firstLine.length).trim();
408
408
  }
409
409
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpiderChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
410
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpiderChartComponent, selector: "ui-spider-chart", inputs: { size: "size", spiderChartData: "spiderChartData", stepSize: "stepSize", ariaLabel: "ariaLabel", loading: "loading", applicationTheme: "applicationTheme" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }, { propertyName: "labelContainers", predicate: ["labelContainer"], descendants: true }, { propertyName: "fakeDataPoints", predicate: ["fakeDataPoints"], descendants: true }, { propertyName: "fakeDataPointsSecondary", predicate: ["fakeDataPointsSecondary"], descendants: true }, { propertyName: "legendItems", predicate: ["legendItem"], descendants: true }], ngImport: i0, template: "<div class=\"spider-chart-container\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\">\n <div class=\"spacing-container\"\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\n <div class=\"chart-container\"\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\n @if (!loading) {\n <canvas\n baseChart\n [data]=\"radarChartData\"\n [options]=\"radarChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n } @else {\n <canvas\n baseChart\n [data]=\"loadingChartData\"\n [options]=\"loadingChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n <ui-spinner></ui-spinner>\n }\n\n @if (labelPositionsVisible) {\n <div class=\"overlay-container\">\n @for (label of spiderChartData.labels; track label) {\n <div class=\"label-container\" #labelContainer\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n (keydown)=\"onLabelKeyDown($event, $index)\"\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\n {{ label }}\n </div>\n } @else {\n <div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\n </div>\n }\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\n </div>\n <span class=\"fake-data-points\" #fakeDataPoints\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\n </span>\n @if (radarChartData.datasets.length > 1) {\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\n </span>\n }\n }\n </div>\n }\n </div>\n </div>\n @if (radarChartData.datasets.length > 0) {\n <div class=\"legend-container\">\n @for (dataset of radarChartData.datasets; track dataset.label) {\n <div class=\"legend-item\"\n (click)=\"toggleDatasetVisibility($index)\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n role=\"button\"\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\n [attr.aria-label]=\"isDatasetVisible($index) ?\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\n #legendItem>\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\n {{ dataset.label }}\n </span>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme", "iconName", "iconSize"] }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i6.MemoizeFuncPipe, name: "memoizeFunc" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
410
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpiderChartComponent, selector: "ui-spider-chart", inputs: { size: "size", spiderChartData: "spiderChartData", stepSize: "stepSize", ariaLabel: "ariaLabel", loading: "loading", applicationTheme: "applicationTheme" }, viewQueries: [{ propertyName: "chart", first: true, predicate: BaseChartDirective, descendants: true }, { propertyName: "labelContainers", predicate: ["labelContainer"], descendants: true }, { propertyName: "fakeDataPoints", predicate: ["fakeDataPoints"], descendants: true }, { propertyName: "fakeDataPointsSecondary", predicate: ["fakeDataPointsSecondary"], descendants: true }, { propertyName: "legendItems", predicate: ["legendItem"], descendants: true }], ngImport: i0, template: "<div class=\"spider-chart-container\"\r\n tabindex=\"0\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n <div class=\"spacing-container\"\r\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\r\n <div class=\"chart-container\"\r\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\r\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\r\n @if (!loading) {\r\n <canvas\r\n baseChart\r\n [data]=\"radarChartData\"\r\n [options]=\"radarChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n } @else {\r\n <canvas\r\n baseChart\r\n [data]=\"loadingChartData\"\r\n [options]=\"loadingChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n <ui-spinner></ui-spinner>\r\n }\r\n\r\n @if (labelPositionsVisible) {\r\n <div class=\"overlay-container\">\r\n @for (label of spiderChartData.labels; track label) {\r\n <div class=\"label-container\" #labelContainer\r\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n (keydown)=\"onLabelKeyDown($event, $index)\"\r\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\r\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\r\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\r\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\r\n {{ label }}\r\n </div>\r\n } @else {\r\n <div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\r\n </div>\r\n }\r\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\r\n </div>\r\n <span class=\"fake-data-points\" #fakeDataPoints\r\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\r\n </span>\r\n @if (radarChartData.datasets.length > 1) {\r\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\r\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\r\n </span>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (radarChartData.datasets.length > 0) {\r\n <div class=\"legend-container\">\r\n @for (dataset of radarChartData.datasets; track dataset.label) {\r\n <div class=\"legend-item\"\r\n (click)=\"toggleDatasetVisibility($index)\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n role=\"button\"\r\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\r\n [attr.aria-label]=\"isDatasetVisible($index) ?\r\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\r\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\r\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\r\n #legendItem>\r\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\r\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\r\n {{ dataset.label }}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.BaseChartDirective, selector: "canvas[baseChart]", inputs: ["type", "legend", "data", "options", "plugins", "labels", "datasets"], outputs: ["chartClick", "chartHover"], exportAs: ["base-chart"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme", "iconName", "iconSize"] }, { kind: "pipe", type: i5.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i6.MemoizeFuncPipe, name: "memoizeFunc" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
411
411
  }
412
412
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpiderChartComponent, decorators: [{
413
413
  type: Component,
414
- args: [{ selector: 'ui-spider-chart', template: "<div class=\"spider-chart-container\"\n tabindex=\"0\"\n [attr.aria-label]=\"ariaLabel\">\n <div class=\"spacing-container\"\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\n <div class=\"chart-container\"\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\n @if (!loading) {\n <canvas\n baseChart\n [data]=\"radarChartData\"\n [options]=\"radarChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n } @else {\n <canvas\n baseChart\n [data]=\"loadingChartData\"\n [options]=\"loadingChartOptions\"\n type=\"radar\"\n class=\"chart\"\n >\n </canvas>\n <ui-spinner></ui-spinner>\n }\n\n @if (labelPositionsVisible) {\n <div class=\"overlay-container\">\n @for (label of spiderChartData.labels; track label) {\n <div class=\"label-container\" #labelContainer\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n (keydown)=\"onLabelKeyDown($event, $index)\"\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\n {{ label }}\n </div>\n } @else {\n <div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\n </div>\n }\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\n </div>\n <span class=\"fake-data-points\" #fakeDataPoints\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\n </span>\n @if (radarChartData.datasets.length > 1) {\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\n </span>\n }\n }\n </div>\n }\n </div>\n </div>\n @if (radarChartData.datasets.length > 0) {\n <div class=\"legend-container\">\n @for (dataset of radarChartData.datasets; track dataset.label) {\n <div class=\"legend-item\"\n (click)=\"toggleDatasetVisibility($index)\"\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\n role=\"button\"\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\n [attr.aria-label]=\"isDatasetVisible($index) ?\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\n #legendItem>\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\n {{ dataset.label }}\n </span>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"] }]
414
+ args: [{ selector: 'ui-spider-chart', template: "<div class=\"spider-chart-container\"\r\n tabindex=\"0\"\r\n [attr.aria-label]=\"ariaLabel\">\r\n <div class=\"spacing-container\"\r\n [ngClass]=\"{'small-spacing': radarChartData.labels && radarChartData.labels.length % 2 === 1 && !loading}\">\r\n <div class=\"chart-container\"\r\n [style.width]=\"size === 'large' ? '280px' : '200px'\"\r\n [style.height]=\"size === 'large' ? '280px' : '200px'\">\r\n @if (!loading) {\r\n <canvas\r\n baseChart\r\n [data]=\"radarChartData\"\r\n [options]=\"radarChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n } @else {\r\n <canvas\r\n baseChart\r\n [data]=\"loadingChartData\"\r\n [options]=\"loadingChartOptions\"\r\n type=\"radar\"\r\n class=\"chart\"\r\n >\r\n </canvas>\r\n <ui-spinner></ui-spinner>\r\n }\r\n\r\n @if (labelPositionsVisible) {\r\n <div class=\"overlay-container\">\r\n @for (label of spiderChartData.labels; track label) {\r\n <div class=\"label-container\" #labelContainer\r\n [matTooltip]=\"spiderChartData.labelDescription[$index]\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n (keydown)=\"onLabelKeyDown($event, $index)\"\r\n [attr.aria-label]=\"spiderChartData.labelDescription[$index]\"\r\n [style.left]=\"getCenteredLabelLeftPosition(label, labelContainer.offsetWidth)\"\r\n [style.bottom]=\"getCenteredLabelBottomPosition(label, labelContainer.offsetHeight)\">\r\n @if (!(label.length > 20 && size === 'large' && spiderChartData.labels.length < 9)) {\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">\r\n {{ label }}\r\n </div>\r\n } @else {\r\n <div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getFirstLine }}</div>\r\n <div class=\"label\" [style.max-width]=\"size === 'large' ? '135px' : '100px'\">{{ label | memoizeFunc : getSecondLine : this }}</div>\r\n </div>\r\n }\r\n <span class=\"value\">{{ spiderChartData.plotData[0].data[$index] }}</span>\r\n </div>\r\n <span class=\"fake-data-points\" #fakeDataPoints\r\n [tabindex]=\"focusedLabelIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedLabelIndex ? showTooltipForDataPoint($index) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index)\">\r\n </span>\r\n @if (radarChartData.datasets.length > 1) {\r\n <span class=\"fake-data-points-secondary\" #fakeDataPointsSecondary\r\n [tabindex]=\"focusedFakeDataPointIndex === $index ? '0' : '-1'\"\r\n (focus)=\"$index === focusedFakeDataPointIndex ? showTooltipForDataPoint($index, true) : null\"\r\n (keydown)=\"onFakeDataPointsKeyDown($event, $index, true)\">\r\n </span>\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n @if (radarChartData.datasets.length > 0) {\r\n <div class=\"legend-container\">\r\n @for (dataset of radarChartData.datasets; track dataset.label) {\r\n <div class=\"legend-item\"\r\n (click)=\"toggleDatasetVisibility($index)\"\r\n [tabindex]=\"$index === 0 ? '0' : '-1'\"\r\n role=\"button\"\r\n [attr.aria-pressed]=\"isDatasetVisible($index) ? false : true\"\r\n [attr.aria-label]=\"isDatasetVisible($index) ?\r\n ((translationContext + 'DATASET_VISIBLE') | uiTranslate : { dataset: dataset.label } | async) :\r\n ((translationContext + 'DATASET_HIDDEN') | uiTranslate : { dataset: dataset.label } | async)\"\r\n (keydown)=\"onLegendItemKeyDown($event, $index)\"\r\n #legendItem>\r\n <span class=\"legend-line\" [ngClass]=\"{'solid-line': $index === 0, 'dashed-line': $index === 1}\"></span>\r\n <span class=\"legend-label\" [style.text-decoration]=\"isDatasetVisible($index) ? 'none' : 'line-through'\">\r\n {{ dataset.label }}\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.spider-chart-container{display:flex;flex-direction:column;align-items:center}.spider-chart-container .spacing-container{padding:40px 140px}.spider-chart-container .spacing-container.small-spacing{padding:0 80px}.spider-chart-container .spacing-container .chart-container{position:relative}.spider-chart-container .spacing-container .chart-container .overlay-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container{display:flex;gap:4px;position:absolute;pointer-events:all;cursor:pointer}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .fake-data-points{visibility:hidden}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container:focus{outline:none}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .label{font-size:12px;border-bottom:1px dashed #D3D3D3;white-space:nowrap;overflow:hidden;width:fit-content;text-overflow:ellipsis}.spider-chart-container .spacing-container .chart-container .overlay-container .label-container .value{font-weight:700}.spider-chart-container .legend-container{display:flex;gap:16px;cursor:pointer}.spider-chart-container .legend-container .legend-item{display:flex;align-items:center;gap:8px}.spider-chart-container .legend-container .legend-item .legend-line{display:inline-block;width:11px;height:4px}.spider-chart-container .legend-container .legend-item .solid-line{background-color:#d410aa}.spider-chart-container .legend-container .legend-item .dashed-line{border-top:2px dashed #242424}:host ::ng-deep .spider-chart-container .spinner-container.loader{position:absolute}\n"] }]
415
415
  }], propDecorators: { size: [{
416
416
  type: Input
417
417
  }], spiderChartData: [{
@@ -440,4 +440,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
440
440
  type: ViewChildren,
441
441
  args: ['legendItem']
442
442
  }] } });
443
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUdwSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7OztBQU9oRCxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBTUU7Ozs7V0FJRztRQUNNLFNBQUksR0FBb0IsT0FBTyxDQUFDO1FBU3pDOzs7O1dBSUc7UUFDTSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRS9COzs7O1dBSUc7UUFDTSxjQUFTLEdBQVcsdURBQXVELENBQUM7UUFFckY7Ozs7V0FJRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7Ozs7OztXQU1HO1FBQ00scUJBQWdCLEdBQXFCLE9BQU8sQ0FBQztRQVF0RCxtQkFBYyxHQUF1QjtZQUNuQyxNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztRQUVGLG1CQUFjLEdBQWdELEVBQUUsQ0FBQztRQUNqRSwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLDhCQUF5QixH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TUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQzsrR0E1YVUsb0JBQW9CO21HQUFwQixvQkFBb0Isb1FBNkNwQixrQkFBa0Isb1pDekQvQixpcUlBMkZBOzs0RkQvRWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs4QkFVbEIsSUFBSTtzQkFBWixLQUFLO2dCQU9HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRXlCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUNHLGVBQWU7c0JBQTlDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNFLGNBQWM7c0JBQTdDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNXLHVCQUF1QjtzQkFBL0QsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ1gsV0FBVztzQkFBdEMsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYXJnZVNwaWRlckNoYXJ0U2l6ZSwgU21hbGxTcGlkZXJDaGFydFNpemUsIFNwaWRlckNoYXJ0RGF0YSwgU3BpZGVyQ2hhcnRTaXplIH0gZnJvbSAnLi9zcGlkZXItY2hhcnQubW9kZWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5pbXBvcnQgeyBDaGFydCwgQ2hhcnREYXRhLCBDaGFydE9wdGlvbnMgfSBmcm9tICdjaGFydC5qcyc7XG5pbXBvcnQgeyBDb2xvciB9IGZyb20gJy4uLy4uL21vZGVscy9jb2xvcnMubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNoYXJ0RGlyZWN0aXZlIH0gZnJvbSAnbmcyLWNoYXJ0cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLXNwaWRlci1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlkZXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGlkZXItY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU3BpZGVyQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIHNwaWRlciBjaGFydC5cbiAgICogQHR5cGUge1NwaWRlckNoYXJ0U2l6ZX1cbiAgICogQG1lbWJlcm9mIFNwaWRlckNoYXJ0Q29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YSB0byBiZSB1c2VkIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxuICAgKiBAdHlwZSB7U3BpZGVyQ2hhcnREYXRhfVxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHNwaWRlckNoYXJ0RGF0YTogU3BpZGVyQ2hhcnREYXRhO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RlcCBzaXplIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxuICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHN0ZXBTaXplOiBudW1iZXIgPSAyMDtcblxuICAvKipcbiAgICogVGhlIGFyaWEgbGFiZWwgZm9yIHRoZSBzcGlkZXIgY2hhcnQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBTcGlkZXJDaGFydENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSAnUmFkYXIgY2hhcnQuIFByZXNzIHRhYiB0byBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSBjaGFydC4nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzcGlkZXIgY2hhcnQgaXMgbG9hZGluZy5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBTcGlkZXJDaGFydENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZVxuICAgKlxuICAgKiBAdHlwZSB7QXBwbGljYXRpb25UaGVtZX1cbiAgICogQG1lbWJlcm9mIFNwaW5uZXJDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIEBWaWV3Q2hpbGQoQmFzZUNoYXJ0RGlyZWN0aXZlKSBjaGFydDogQmFzZUNoYXJ0RGlyZWN0aXZlO1xuICBAVmlld0NoaWxkcmVuKCdsYWJlbENvbnRhaW5lcicpIGxhYmVsQ29udGFpbmVyczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICBAVmlld0NoaWxkcmVuKCdmYWtlRGF0YVBvaW50cycpIGZha2VEYXRhUG9pbnRzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gIEBWaWV3Q2hpbGRyZW4oJ2Zha2VEYXRhUG9pbnRzU2Vjb25kYXJ5JykgZmFrZURhdGFQb2ludHNTZWNvbmRhcnk6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgQFZpZXdDaGlsZHJlbignbGVnZW5kSXRlbScpIGxlZ2VuZEl0ZW1zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgcmFkYXJDaGFydERhdGE6IENoYXJ0RGF0YTwncmFkYXInPiA9IHtcbiAgICBsYWJlbHM6IFtdLFxuICAgIGRhdGFzZXRzOiBbXSxcbiAgfTtcbiAgcmFkYXJDaGFydE9wdGlvbnM6IENoYXJ0T3B0aW9uczwncmFkYXInPjtcbiAgbGFiZWxQb3NpdGlvbnM6IHsgW2tleTogc3RyaW5nXTogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9IH0gPSB7fTtcbiAgbGFiZWxQb3NpdGlvbnNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGZvY3VzZWRMYWJlbEluZGV4OiBudW1iZXIgPSAwO1xuICBmb2N1c2VkRmFrZURhdGFQb2ludEluZGV4OiBudW1iZXIgPSAwO1xuICBsb2FkaW5nQ2hhcnREYXRhOiBDaGFydERhdGE8J3JhZGFyJz4gPSB7XG4gICAgbGFiZWxzOiBbMSwgMiwgMywgNCwgNSwgNl0sXG4gICAgZGF0YXNldHM6IFtdLFxuICB9O1xuICBsb2FkaW5nQ2hhcnRPcHRpb25zOiBDaGFydE9wdGlvbnM8J3JhZGFyJz4gPSB7XG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBsYXlvdXQ6IHtcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgbGVmdDogNDAsXG4gICAgICAgIHJpZ2h0OiA0MCxcbiAgICAgICAgdG9wOiA0MCxcbiAgICAgICAgYm90dG9tOiA0MCxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzY2FsZXM6IHtcbiAgICAgIHI6IHtcbiAgICAgICAgYW5nbGVMaW5lczoge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgY29sb3I6IENvbG9yLkdSQVlTQ0FMRV8zMCxcbiAgICAgICAgfSxcbiAgICAgICAgZ3JpZDoge1xuICAgICAgICAgIGNvbG9yOiAoKSA9PiBDb2xvci5HUkFZU0NBTEVfMzAsXG4gICAgICAgIH0sXG4gICAgICAgIHBvaW50TGFiZWxzOiB7XG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHN1Z2dlc3RlZE1pbjogMCxcbiAgICAgICAgc3VnZ2VzdGVkTWF4OiAxMDAsXG4gICAgICAgIHRpY2tzOiB7XG4gICAgICAgICAgc3RlcFNpemU6IHRoaXMuc3RlcFNpemUsXG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvbkNvbnRleHQgPSAnQ0hBUlRTLlNQSURFUi4nO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5sb2FkaW5nKSB7XG4gICAgICB0aGlzLmhhbmRsZUlucHV0RXJyb3JzKCk7XG4gICAgICB0aGlzLnNldENoYXJ0RGF0YSgpO1xuICAgICAgdGhpcy5zZXRDaGFydE9wdGlvbnMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUlucHV0RXJyb3JzKCkge1xuICAgIGlmICghdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzIHx8IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwibGFiZWxzXCIgaW5wdXQgaXMgcmVxdWlyZWQgYW5kIGNhbm5vdCBiZSBlbXB0eS4nKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uIHx8IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVsRGVzY3JpcHRpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcImxhYmVsRGVzY3JpcHRpb25cIiBpbnB1dCBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5LicpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uICYmXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJsYWJlbERlc2NyaXB0aW9uXCIgaW5wdXQgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyBcImxhYmVsc1wiLicpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGFiYXNlTGFiZWwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwicGxvdERhdGEuZGF0YWJhc2VMYWJlbFwiIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEgfHwgdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwicGxvdERhdGEuZGF0YVwiIGlucHV0IGlzIHJlcXVpcmVkIGFuZCBjYW5ub3QgYmUgZW1wdHkuJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVswXS5kYXRhLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJwbG90RGF0YS5kYXRhXCIgaW5wdXQgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyBcImxhYmVsc1wiLicpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YS5sZW5ndGggPT09IDIgJiZcbiAgICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPiAwICYmXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVsxXS5kYXRhICYmXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVsxXS5kYXRhLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJwbG90RGF0YS5kYXRhXCIgaW5wdXQgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyBcImxhYmVsc1wiLicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2hhcnREYXRhKCkge1xuICAgIGNvbnN0IGRhdGFzZXRzID0gW107XG4gICAgZGF0YXNldHMucHVzaCh7XG4gICAgICBsYWJlbDogdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YWJhc2VMYWJlbCxcbiAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEsXG4gICAgICBmaWxsOiB0cnVlLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyMTIsIDE2LCAxNzAsIDAuMiknLFxuICAgICAgYm9yZGVyQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxuICAgICAgcG9pbnRCYWNrZ3JvdW5kQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxuICAgICAgcG9pbnRCb3JkZXJDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxuICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxuICAgICAgcG9pbnRIb3ZlckJvcmRlckNvbG9yOiBDb2xvci5CUkFORF81MCxcbiAgICB9KTtcbiAgICBpZiAodGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGEubGVuZ3RoID09PSAyKSB7XG4gICAgICBkYXRhc2V0cy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGFiYXNlTGFiZWwsXG4gICAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGEsXG4gICAgICAgIGZpbGw6IGZhbHNlLFxuICAgICAgICBib3JkZXJDb2xvcjogQ29sb3IuQkxBQ0ssXG4gICAgICAgIGJvcmRlckRhc2g6IFs1LCA1XSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiBDb2xvci5CTEFDSyxcbiAgICAgICAgcG9pbnRCb3JkZXJDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxuICAgICAgICBwb2ludEhvdmVyQmFja2dyb3VuZENvbG9yOiBDb2xvci5UR09fV0hJVEUsXG4gICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogQ29sb3IuQkxBQ0ssXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5yYWRhckNoYXJ0RGF0YSA9IHtcbiAgICAgIGxhYmVsczogdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLFxuICAgICAgZGF0YXNldHM6IGRhdGFzZXRzLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHNldENoYXJ0T3B0aW9ucygpIHtcbiAgICB0aGlzLnJhZGFyQ2hhcnRPcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIGVsZW1lbnRzOiB7XG4gICAgICAgIGxpbmU6IHtcbiAgICAgICAgICBib3JkZXJXaWR0aDogMyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgcGFkZGluZzoge1xuICAgICAgICAgIGxlZnQ6IDQwLFxuICAgICAgICAgIHJpZ2h0OiA0MCxcbiAgICAgICAgICB0b3A6IDQwLFxuICAgICAgICAgIGJvdHRvbTogNDAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHI6IHtcbiAgICAgICAgICBhbmdsZUxpbmVzOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgY29sb3I6IENvbG9yLkJMQUNLLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZ3JpZDoge1xuICAgICAgICAgICAgY29sb3I6IGNvbnRleHQgPT4ge1xuICAgICAgICAgICAgICBpZiAoY29udGV4dC50aWNrLnZhbHVlID09PSAxMDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sb3IuQkxBQ0s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIENvbG9yLkdSQVlTQ0FMRV8zMDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwb2ludExhYmVsczoge1xuICAgICAgICAgICAgY29sb3I6ICdibGFjaycsXG4gICAgICAgICAgICBmb250OiB7XG4gICAgICAgICAgICAgIGZhbWlseTogJ0FyaWFsJyxcbiAgICAgICAgICAgICAgc2l6ZTogMTQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdWdnZXN0ZWRNaW46IDAsXG4gICAgICAgICAgc3VnZ2VzdGVkTWF4OiAxMDAsXG4gICAgICAgICAgdGlja3M6IHtcbiAgICAgICAgICAgIHN0ZXBTaXplOiB0aGlzLnN0ZXBTaXplLFxuICAgICAgICAgICAgZGlzcGxheTogZmFsc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNoYXJ0Py5jaGFydCAmJiAhdGhpcy5sb2FkaW5nKSB7XG4gICAgICB0aGlzLmxvZ0Nvcm5lckNvb3JkaW5hdGVzKHRoaXMuY2hhcnQuY2hhcnQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9nQ29ybmVyQ29vcmRpbmF0ZXMoY2hhcnQ6IENoYXJ0KSB7XG4gICAgY29uc3Qgc2NhbGUgPSBjaGFydC5zY2FsZXNbJ3InXSBhcyBhbnk7XG4gICAgY29uc3QgY2FudmFzV2lkdGggPSB0aGlzLnNpemUgPT09ICdsYXJnZScgPyBMYXJnZVNwaWRlckNoYXJ0U2l6ZSA6IFNtYWxsU3BpZGVyQ2hhcnRTaXplO1xuICAgIGNvbnN0IGNhbnZhc0hlaWdodCA9IHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJyA/IExhcmdlU3BpZGVyQ2hhcnRTaXplIDogU21hbGxTcGlkZXJDaGFydFNpemU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggdGhlIGxhYmVscyBhbmQgY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIGNvb3JkaW5hdGVzXG4gICAgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmZvckVhY2goKGxhYmVsLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgcG9zaXRpb24gPSBzY2FsZS5nZXRQb2ludFBvc2l0aW9uRm9yVmFsdWUoaW5kZXgsIHNjYWxlLm1heCk7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBwZXJjZW50YWdlIHZhbHVlcyByZWxhdGl2ZSB0byB0aGUgY2FudmFzIHNpemVcbiAgICAgIGNvbnN0IHhQZXJjZW50ID0gKHBvc2l0aW9uLnggLyBjYW52YXNXaWR0aCkgKiAxMDA7XG4gICAgICBjb25zdCB5UGVyY2VudCA9ICgoY2FudmFzSGVpZ2h0IC0gcG9zaXRpb24ueSkgLyBjYW52YXNIZWlnaHQpICogMTAwOyAvLyBJbnZlcnRpbmcgdGhlIFktYXhpc1xuXG4gICAgICB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXSA9IHsgeDogTnVtYmVyKHhQZXJjZW50LnRvRml4ZWQoMikpLCB5OiBOdW1iZXIoeVBlcmNlbnQudG9GaXhlZCgyKSkgfTtcbiAgICB9KTtcbiAgICB0aGlzLmxhYmVsUG9zaXRpb25zVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBnZXRDZW50ZXJlZExhYmVsQm90dG9tUG9zaXRpb24obGFiZWw6IHN0cmluZywgaGVpZ2h0OiBudW1iZXIpIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMubGFiZWxQb3NpdGlvbnNbbGFiZWxdO1xuICAgIGNvbnN0IHBhZGRpbmcgPSA3O1xuICAgIGlmIChwb3NpdGlvbi54ID4gNTAgfHwgcG9zaXRpb24ueCA8IDUwKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi55fSUgLSAke2hlaWdodCAvIDJ9cHgpYDtcbiAgICB9IGVsc2UgaWYgKHBvc2l0aW9uLnkgPCA1MCkge1xuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueX0lIC0gJHtoZWlnaHR9cHggLSAke3BhZGRpbmd9cHgpYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueX0lICsgJHtwYWRkaW5nfXB4KWA7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2VudGVyZWRMYWJlbExlZnRQb3NpdGlvbihsYWJlbDogc3RyaW5nLCB3aWR0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXTtcbiAgICBjb25zdCBwYWRkaW5nID0gMTU7XG4gICAgaWYgKHBvc2l0aW9uLnggPT09IDUwKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi54fSUgLSAke3dpZHRoIC8gMn1weClgO1xuICAgIH0gZWxzZSBpZiAocG9zaXRpb24ueCA8IDUwKSB7XG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi54fSUgLSAke3dpZHRofXB4IC0gJHtwYWRkaW5nfXB4KWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgY2FsYygke3Bvc2l0aW9uLnh9JSArICR7cGFkZGluZ31weClgO1xuICAgIH1cbiAgfVxuXG4gIG9uTGFiZWxLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIHRoaXMuZm9jdXNOZXh0TGFiZWwoaW5kZXgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGFiZWwoaW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNOZXh0TGFiZWwoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IG5leHRJbmRleCA9IGluZGV4ICsgMTtcbiAgICBpZiAobmV4dEluZGV4IDwgdGhpcy5sYWJlbENvbnRhaW5lcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxhYmVsQ29udGFpbmVycy5nZXQobmV4dEluZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxhYmVsQ29udGFpbmVycy5maXJzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLmZvY3VzZWRMYWJlbEluZGV4ID0gbmV4dEluZGV4O1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzTGFiZWwoaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBpbmRleCAtIDE7XG4gICAgaWYgKHByZXZpb3VzSW5kZXggPj0gMCkge1xuICAgICAgdGhpcy5sYWJlbENvbnRhaW5lcnMuZ2V0KHByZXZpb3VzSW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGFiZWxDb250YWluZXJzLmxhc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5mb2N1c2VkTGFiZWxJbmRleCA9IHByZXZpb3VzSW5kZXg7XG4gIH1cblxuICBvbkxlZ2VuZEl0ZW1LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgdGhpcy50b2dnbGVEYXRhc2V0VmlzaWJpbGl0eShpbmRleCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICB0aGlzLmZvY3VzTmV4dExlZ2VuZEl0ZW0oaW5kZXgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGVnZW5kSXRlbShpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c05leHRMZWdlbmRJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIDE7XG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMubGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxlZ2VuZEl0ZW1zLmdldChuZXh0SW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZmlyc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzUHJldmlvdXNMZWdlbmRJdGVtKGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gaW5kZXggLSAxO1xuICAgIGlmIChwcmV2aW91c0luZGV4ID49IDApIHtcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZ2V0KHByZXZpb3VzSW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9uRmFrZURhdGFQb2ludHNLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgIHRoaXMuZm9jdXNOZXh0RmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xuICAgICAgdGhpcy5zaG93VG9vbHRpcEZvckRhdGFQb2ludChpbmRleCArIDEgPiB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoID8gMCA6IGluZGV4ICsgMSwgaXNTZWNvbmRhcnkpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xuICAgICAgdGhpcy5zaG93VG9vbHRpcEZvckRhdGFQb2ludChpbmRleCAtIDEgPCAwID8gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCAtIDEgOiBpbmRleCAtIDEsIGlzU2Vjb25kYXJ5KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ1RhYicpIHtcbiAgICAgIHRoaXMucmVzZXRBY3RpdmVFbGVtZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c05leHRGYWtlRGF0YVBvaW50KGluZGV4OiBudW1iZXIsIGlzU2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIDE7XG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMuZmFrZURhdGFQb2ludHMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XG4gICAgICBmYWtlRGF0YVBvaW50cy5nZXQobmV4dEluZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XG4gICAgICBmYWtlRGF0YVBvaW50cy5maXJzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICBpZiAoIWlzU2Vjb25kYXJ5KSB7XG4gICAgICB0aGlzLmZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPSBuZXh0SW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IGluZGV4IC0gMTtcbiAgICBpZiAocHJldmlvdXNJbmRleCA+PSAwKSB7XG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XG4gICAgICBmYWtlRGF0YVBvaW50cy5nZXQocHJldmlvdXNJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmFrZURhdGFQb2ludHMgPSBpc1NlY29uZGFyeSA/IHRoaXMuZmFrZURhdGFQb2ludHNTZWNvbmRhcnkgOiB0aGlzLmZha2VEYXRhUG9pbnRzO1xuICAgICAgZmFrZURhdGFQb2ludHMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICBpZiAoIWlzU2Vjb25kYXJ5KSB7XG4gICAgICB0aGlzLmZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPSBwcmV2aW91c0luZGV4O1xuICAgIH1cbiAgfVxuXG4gIHNob3dUb29sdGlwRm9yRGF0YVBvaW50KGluZGV4OiBudW1iZXIsIGlzU2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydD8uY2hhcnQ7XG4gICAgaWYgKCFjaGFydEluc3RhbmNlKSByZXR1cm47XG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IFt7IGRhdGFzZXRJbmRleDogaXNTZWNvbmRhcnkgPyAxIDogMCwgaW5kZXggfV07XG4gICAgY29uc3QgbWV0YSA9IGNoYXJ0SW5zdGFuY2UuZ2V0RGF0YXNldE1ldGEoaXNTZWNvbmRhcnkgPyAxIDogMCk7XG4gICAgY29uc3QgZGF0YVBvaW50ID0gbWV0YS5kYXRhW2luZGV4XTtcbiAgICBjb25zdCBldmVudFBvc2l0aW9uID0ge1xuICAgICAgeDogZGF0YVBvaW50LngsXG4gICAgICB5OiBkYXRhUG9pbnQueSxcbiAgICB9O1xuICAgIGlmICghaXNTZWNvbmRhcnkpIHtcbiAgICAgIHRoaXMuZm9jdXNlZEZha2VEYXRhUG9pbnRJbmRleCA9IGluZGV4O1xuICAgIH1cblxuICAgIGNoYXJ0SW5zdGFuY2UudG9vbHRpcD8uc2V0QWN0aXZlRWxlbWVudHMoYWN0aXZlRWxlbWVudCwgZXZlbnRQb3NpdGlvbik7XG5cbiAgICBjaGFydEluc3RhbmNlLnVwZGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEFjdGl2ZUVsZW1lbnQoKSB7XG4gICAgY29uc3QgY2hhcnRJbnN0YW5jZSA9IHRoaXMuY2hhcnQ/LmNoYXJ0O1xuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xuXG4gICAgLy8gQ2xlYXIgdGhlIGFjdGl2ZSBlbGVtZW50cyB0byBoaWRlIHRoZSB0b29sdGlwXG4gICAgY2hhcnRJbnN0YW5jZS50b29sdGlwPy5zZXRBY3RpdmVFbGVtZW50cyhbXSwgeyB4OiAwLCB5OiAwIH0pO1xuXG4gICAgY2hhcnRJbnN0YW5jZS51cGRhdGUoKTtcbiAgfVxuXG4gIHRvZ2dsZURhdGFzZXRWaXNpYmlsaXR5KGRhdGFzZXRJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgY2hhcnRJbnN0YW5jZSA9IHRoaXMuY2hhcnQ/LmNoYXJ0O1xuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YXNldCA9IGNoYXJ0SW5zdGFuY2UuZGF0YS5kYXRhc2V0c1tkYXRhc2V0SW5kZXhdO1xuICAgIGRhdGFzZXQuaGlkZGVuID0gIWRhdGFzZXQuaGlkZGVuO1xuICAgIGNoYXJ0SW5zdGFuY2UudXBkYXRlKCk7XG4gIH1cblxuICBpc0RhdGFzZXRWaXNpYmxlKGRhdGFzZXRJbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgY2hhcnRJbnN0YW5jZSA9IHRoaXMuY2hhcnQ/LmNoYXJ0O1xuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xuICAgIHJldHVybiAhY2hhcnRJbnN0YW5jZS5kYXRhLmRhdGFzZXRzW2RhdGFzZXRJbmRleF0uaGlkZGVuO1xuICB9XG5cbiAgZ2V0Rmlyc3RMaW5lKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHdvcmRzID0gbGFiZWwuc3BsaXQoJyAnKTtcbiAgICBsZXQgZmlyc3RMaW5lID0gJyc7XG4gICAgZm9yIChjb25zdCB3b3JkIG9mIHdvcmRzKSB7XG4gICAgICBpZiAoKGZpcnN0TGluZSArIHdvcmQpLmxlbmd0aCA8PSAyMCkge1xuICAgICAgICBmaXJzdExpbmUgKz0gKGZpcnN0TGluZSA/ICcgJyA6ICcnKSArIHdvcmQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZpcnN0TGluZTtcbiAgfVxuXG4gIGdldFNlY29uZExpbmUobGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZmlyc3RMaW5lID0gdGhpcy5nZXRGaXJzdExpbmUobGFiZWwpO1xuICAgIHJldHVybiBsYWJlbC5zdWJzdHJpbmcoZmlyc3RMaW5lLmxlbmd0aCkudHJpbSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3BpZGVyLWNoYXJ0LWNvbnRhaW5lclwiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCI+XG4gIDxkaXYgY2xhc3M9XCJzcGFjaW5nLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwieydzbWFsbC1zcGFjaW5nJzogcmFkYXJDaGFydERhdGEubGFiZWxzICYmIHJhZGFyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggJSAyID09PSAxICYmICFsb2FkaW5nfVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1jb250YWluZXJcIlxuICAgICAgW3N0eWxlLndpZHRoXT1cInNpemUgPT09ICdsYXJnZScgPyAnMjgwcHgnIDogJzIwMHB4J1wiXG4gICAgICBbc3R5bGUuaGVpZ2h0XT1cInNpemUgPT09ICdsYXJnZScgPyAnMjgwcHgnIDogJzIwMHB4J1wiPlxuICAgICAgQGlmICghbG9hZGluZykge1xuICAgICAgICA8Y2FudmFzXG4gICAgICAgICAgYmFzZUNoYXJ0XG4gICAgICAgICAgW2RhdGFdPVwicmFkYXJDaGFydERhdGFcIlxuICAgICAgICAgIFtvcHRpb25zXT1cInJhZGFyQ2hhcnRPcHRpb25zXCJcbiAgICAgICAgICB0eXBlPVwicmFkYXJcIlxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxuICAgICAgICA+XG4gICAgICAgIDwvY2FudmFzPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxjYW52YXNcbiAgICAgICAgICBiYXNlQ2hhcnRcbiAgICAgICAgICBbZGF0YV09XCJsb2FkaW5nQ2hhcnREYXRhXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJsb2FkaW5nQ2hhcnRPcHRpb25zXCJcbiAgICAgICAgICB0eXBlPVwicmFkYXJcIlxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxuICAgICAgICA+XG4gICAgICAgIDwvY2FudmFzPlxuICAgICAgICA8dWktc3Bpbm5lcj48L3VpLXNwaW5uZXI+XG4gICAgICB9XG5cbiAgICAgIEBpZiAobGFiZWxQb3NpdGlvbnNWaXNpYmxlKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheS1jb250YWluZXJcIj5cbiAgICAgICAgICBAZm9yIChsYWJlbCBvZiBzcGlkZXJDaGFydERhdGEubGFiZWxzOyB0cmFjayBsYWJlbCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiICNsYWJlbENvbnRhaW5lclxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJzcGlkZXJDaGFydERhdGEubGFiZWxEZXNjcmlwdGlvblskaW5kZXhdXCJcbiAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIiRpbmRleCA9PT0gMCA/ICcwJyA6ICctMSdcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkxhYmVsS2V5RG93bigkZXZlbnQsICRpbmRleClcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uWyRpbmRleF1cIlxuICAgICAgICAgICAgICBbc3R5bGUubGVmdF09XCJnZXRDZW50ZXJlZExhYmVsTGVmdFBvc2l0aW9uKGxhYmVsLCBsYWJlbENvbnRhaW5lci5vZmZzZXRXaWR0aClcIlxuICAgICAgICAgICAgICBbc3R5bGUuYm90dG9tXT1cImdldENlbnRlcmVkTGFiZWxCb3R0b21Qb3NpdGlvbihsYWJlbCwgbGFiZWxDb250YWluZXIub2Zmc2V0SGVpZ2h0KVwiPlxuICAgICAgICAgICAgICBAaWYgKCEobGFiZWwubGVuZ3RoID4gMjAgJiYgc2l6ZSA9PT0gJ2xhcmdlJyAmJiBzcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCA8IDkpKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW3N0eWxlLm1heC13aWR0aF09XCJzaXplID09PSAnbGFyZ2UnID8gJzEzNXB4JyA6ICcxMDBweCdcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcxMzVweCcgOiAnMTAwcHgnXCI+e3sgbGFiZWwgfCBtZW1vaXplRnVuYyA6IGdldEZpcnN0TGluZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW3N0eWxlLm1heC13aWR0aF09XCJzaXplID09PSAnbGFyZ2UnID8gJzEzNXB4JyA6ICcxMDBweCdcIj57eyBsYWJlbCB8IG1lbW9pemVGdW5jIDogZ2V0U2Vjb25kTGluZSA6IHRoaXMgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+e3sgc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGFbJGluZGV4XSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYWtlLWRhdGEtcG9pbnRzXCIgI2Zha2VEYXRhUG9pbnRzXG4gICAgICAgICAgICAgIFt0YWJpbmRleF09XCJmb2N1c2VkTGFiZWxJbmRleCA9PT0gJGluZGV4ID8gJzAnIDogJy0xJ1wiXG4gICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRMYWJlbEluZGV4ID8gc2hvd1Rvb2x0aXBGb3JEYXRhUG9pbnQoJGluZGV4KSA6IG51bGxcIlxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkZha2VEYXRhUG9pbnRzS2V5RG93bigkZXZlbnQsICRpbmRleClcIj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIEBpZiAocmFkYXJDaGFydERhdGEuZGF0YXNldHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZha2UtZGF0YS1wb2ludHMtc2Vjb25kYXJ5XCIgI2Zha2VEYXRhUG9pbnRzU2Vjb25kYXJ5XG4gICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPT09ICRpbmRleCA/ICcwJyA6ICctMSdcIlxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPyBzaG93VG9vbHRpcEZvckRhdGFQb2ludCgkaW5kZXgsIHRydWUpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25GYWtlRGF0YVBvaW50c0tleURvd24oJGV2ZW50LCAkaW5kZXgsIHRydWUpXCI+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgQGlmIChyYWRhckNoYXJ0RGF0YS5kYXRhc2V0cy5sZW5ndGggPiAwKSB7XG4gICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1jb250YWluZXJcIj5cbiAgICAgIEBmb3IgKGRhdGFzZXQgb2YgcmFkYXJDaGFydERhdGEuZGF0YXNldHM7IHRyYWNrIGRhdGFzZXQubGFiZWwpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pdGVtXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRGF0YXNldFZpc2liaWxpdHkoJGluZGV4KVwiXG4gICAgICAgICAgW3RhYmluZGV4XT1cIiRpbmRleCA9PT0gMCA/ICcwJyA6ICctMSdcIlxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtcHJlc3NlZF09XCJpc0RhdGFzZXRWaXNpYmxlKCRpbmRleCkgPyBmYWxzZSA6IHRydWVcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXNEYXRhc2V0VmlzaWJsZSgkaW5kZXgpID9cbiAgICAgICAgICAoKHRyYW5zbGF0aW9uQ29udGV4dCArICdEQVRBU0VUX1ZJU0lCTEUnKSB8IHVpVHJhbnNsYXRlIDogeyBkYXRhc2V0OiBkYXRhc2V0LmxhYmVsIH0gfCBhc3luYykgOlxuICAgICAgICAgICgodHJhbnNsYXRpb25Db250ZXh0ICsgJ0RBVEFTRVRfSElEREVOJykgfCB1aVRyYW5zbGF0ZSA6IHsgZGF0YXNldDogZGF0YXNldC5sYWJlbCB9IHwgYXN5bmMpXCJcbiAgICAgICAgICAoa2V5ZG93bik9XCJvbkxlZ2VuZEl0ZW1LZXlEb3duKCRldmVudCwgJGluZGV4KVwiXG4gICAgICAgICAgI2xlZ2VuZEl0ZW0+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtbGluZVwiIFtuZ0NsYXNzXT1cInsnc29saWQtbGluZSc6ICRpbmRleCA9PT0gMCwgJ2Rhc2hlZC1saW5lJzogJGluZGV4ID09PSAxfVwiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2VuZC1sYWJlbFwiIFtzdHlsZS50ZXh0LWRlY29yYXRpb25dPVwiaXNEYXRhc2V0VmlzaWJsZSgkaW5kZXgpID8gJ25vbmUnIDogJ2xpbmUtdGhyb3VnaCdcIj5cbiAgICAgICAgICAgIHt7IGRhdGFzZXQubGFiZWwgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuIl19
443
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9zcGlkZXItY2hhcnQvc3BpZGVyLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUdwSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7OztBQU9oRCxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBTUU7Ozs7V0FJRztRQUNNLFNBQUksR0FBb0IsT0FBTyxDQUFDO1FBU3pDOzs7O1dBSUc7UUFDTSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRS9COzs7O1dBSUc7UUFDTSxjQUFTLEdBQVcsdURBQXVELENBQUM7UUFFckY7Ozs7V0FJRztRQUNNLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFbEM7Ozs7OztXQU1HO1FBQ00scUJBQWdCLEdBQXFCLE9BQU8sQ0FBQztRQVF0RCxtQkFBYyxHQUF1QjtZQUNuQyxNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztRQUVGLG1CQUFjLEdBQWdELEVBQUUsQ0FBQztRQUNqRSwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLDhCQUF5QixH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TUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQzsrR0E1YVUsb0JBQW9CO21HQUFwQixvQkFBb0Isb1FBNkNwQixrQkFBa0Isb1pDekQvQix1MUlBMkZBOzs0RkQvRWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs4QkFVbEIsSUFBSTtzQkFBWixLQUFLO2dCQU9HLGVBQWU7c0JBQXZCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQU9HLE9BQU87c0JBQWYsS0FBSztnQkFTRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRXlCLEtBQUs7c0JBQW5DLFNBQVM7dUJBQUMsa0JBQWtCO2dCQUNHLGVBQWU7c0JBQTlDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNFLGNBQWM7c0JBQTdDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQUNXLHVCQUF1QjtzQkFBL0QsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ1gsV0FBVztzQkFBdEMsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExhcmdlU3BpZGVyQ2hhcnRTaXplLCBTbWFsbFNwaWRlckNoYXJ0U2l6ZSwgU3BpZGVyQ2hhcnREYXRhLCBTcGlkZXJDaGFydFNpemUgfSBmcm9tICcuL3NwaWRlci1jaGFydC5tb2RlbCc7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xyXG5pbXBvcnQgeyBDaGFydCwgQ2hhcnREYXRhLCBDaGFydE9wdGlvbnMgfSBmcm9tICdjaGFydC5qcyc7XHJcbmltcG9ydCB7IENvbG9yIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbG9ycy5tb2RlbCc7XHJcbmltcG9ydCB7IEJhc2VDaGFydERpcmVjdGl2ZSB9IGZyb20gJ25nMi1jaGFydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd1aS1zcGlkZXItY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlkZXItY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NwaWRlci1jaGFydC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BpZGVyQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKlxyXG4gICAqIFRoZSBzaXplIG9mIHRoZSBzcGlkZXIgY2hhcnQuXHJcbiAgICogQHR5cGUge1NwaWRlckNoYXJ0U2l6ZX1cclxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzaXplOiBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZGF0YSB0byBiZSB1c2VkIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxyXG4gICAqIEB0eXBlIHtTcGlkZXJDaGFydERhdGF9XHJcbiAgICogQG1lbWJlcm9mIFNwaWRlckNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgc3BpZGVyQ2hhcnREYXRhOiBTcGlkZXJDaGFydERhdGE7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBzdGVwIHNpemUgZm9yIHRoZSBzcGlkZXIgY2hhcnQuXHJcbiAgICogQHR5cGUge251bWJlcn1cclxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzdGVwU2l6ZTogbnVtYmVyID0gMjA7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBhcmlhIGxhYmVsIGZvciB0aGUgc3BpZGVyIGNoYXJ0LlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogQG1lbWJlcm9mIFNwaWRlckNoYXJ0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgPSAnUmFkYXIgY2hhcnQuIFByZXNzIHRhYiB0byBuYXZpZ2F0ZSB0aHJvdWdoIHRoZSBjaGFydC4nO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBzcGlkZXIgY2hhcnQgaXMgbG9hZGluZy5cclxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgU3BpZGVyQ2hhcnRDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWVcclxuICAgKlxyXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxyXG4gICAqIEBtZW1iZXJvZiBTcGlubmVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgYXBwbGljYXRpb25UaGVtZTogQXBwbGljYXRpb25UaGVtZSA9ICdsaWdodCc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoQmFzZUNoYXJ0RGlyZWN0aXZlKSBjaGFydDogQmFzZUNoYXJ0RGlyZWN0aXZlO1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2xhYmVsQ29udGFpbmVyJykgbGFiZWxDb250YWluZXJzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcbiAgQFZpZXdDaGlsZHJlbignZmFrZURhdGFQb2ludHMnKSBmYWtlRGF0YVBvaW50czogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gIEBWaWV3Q2hpbGRyZW4oJ2Zha2VEYXRhUG9pbnRzU2Vjb25kYXJ5JykgZmFrZURhdGFQb2ludHNTZWNvbmRhcnk6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuICBAVmlld0NoaWxkcmVuKCdsZWdlbmRJdGVtJykgbGVnZW5kSXRlbXM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcbiAgcmFkYXJDaGFydERhdGE6IENoYXJ0RGF0YTwncmFkYXInPiA9IHtcclxuICAgIGxhYmVsczogW10sXHJcbiAgICBkYXRhc2V0czogW10sXHJcbiAgfTtcclxuICByYWRhckNoYXJ0T3B0aW9uczogQ2hhcnRPcHRpb25zPCdyYWRhcic+O1xyXG4gIGxhYmVsUG9zaXRpb25zOiB7IFtrZXk6IHN0cmluZ106IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSB9ID0ge307XHJcbiAgbGFiZWxQb3NpdGlvbnNWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgZm9jdXNlZExhYmVsSW5kZXg6IG51bWJlciA9IDA7XHJcbiAgZm9jdXNlZEZha2VEYXRhUG9pbnRJbmRleDogbnVtYmVyID0gMDtcclxuICBsb2FkaW5nQ2hhcnREYXRhOiBDaGFydERhdGE8J3JhZGFyJz4gPSB7XHJcbiAgICBsYWJlbHM6IFsxLCAyLCAzLCA0LCA1LCA2XSxcclxuICAgIGRhdGFzZXRzOiBbXSxcclxuICB9O1xyXG4gIGxvYWRpbmdDaGFydE9wdGlvbnM6IENoYXJ0T3B0aW9uczwncmFkYXInPiA9IHtcclxuICAgIHJlc3BvbnNpdmU6IHRydWUsXHJcbiAgICBsYXlvdXQ6IHtcclxuICAgICAgcGFkZGluZzoge1xyXG4gICAgICAgIGxlZnQ6IDQwLFxyXG4gICAgICAgIHJpZ2h0OiA0MCxcclxuICAgICAgICB0b3A6IDQwLFxyXG4gICAgICAgIGJvdHRvbTogNDAsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgc2NhbGVzOiB7XHJcbiAgICAgIHI6IHtcclxuICAgICAgICBhbmdsZUxpbmVzOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgY29sb3I6IENvbG9yLkdSQVlTQ0FMRV8zMCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGdyaWQ6IHtcclxuICAgICAgICAgIGNvbG9yOiAoKSA9PiBDb2xvci5HUkFZU0NBTEVfMzAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwb2ludExhYmVsczoge1xyXG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzdWdnZXN0ZWRNaW46IDAsXHJcbiAgICAgICAgc3VnZ2VzdGVkTWF4OiAxMDAsXHJcbiAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgIHN0ZXBTaXplOiB0aGlzLnN0ZXBTaXplLFxyXG4gICAgICAgICAgZGlzcGxheTogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNsYXRpb25Db250ZXh0ID0gJ0NIQVJUUy5TUElERVIuJztcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubG9hZGluZykge1xyXG4gICAgICB0aGlzLmhhbmRsZUlucHV0RXJyb3JzKCk7XHJcbiAgICAgIHRoaXMuc2V0Q2hhcnREYXRhKCk7XHJcbiAgICAgIHRoaXMuc2V0Q2hhcnRPcHRpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUlucHV0RXJyb3JzKCkge1xyXG4gICAgaWYgKCF0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMgfHwgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcImxhYmVsc1wiIGlucHV0IGlzIHJlcXVpcmVkIGFuZCBjYW5ub3QgYmUgZW1wdHkuJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVsRGVzY3JpcHRpb24gfHwgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxEZXNjcmlwdGlvbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgXCJsYWJlbERlc2NyaXB0aW9uXCIgaW5wdXQgaXMgcmVxdWlyZWQgYW5kIGNhbm5vdCBiZSBlbXB0eS4nKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxEZXNjcmlwdGlvbiAmJlxyXG4gICAgICB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uLmxlbmd0aCAhPT0gdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwibGFiZWxEZXNjcmlwdGlvblwiIGlucHV0IG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGggYXMgXCJsYWJlbHNcIi4nKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YWJhc2VMYWJlbCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcInBsb3REYXRhLmRhdGFiYXNlTGFiZWxcIiBpbnB1dCBpcyByZXF1aXJlZC4nKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMF0uZGF0YSB8fCB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVswXS5kYXRhLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcInBsb3REYXRhLmRhdGFcIiBpbnB1dCBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5LicpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEubGVuZ3RoICE9PSB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIFwicGxvdERhdGEuZGF0YVwiIGlucHV0IG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGggYXMgXCJsYWJlbHNcIi4nKTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGEubGVuZ3RoID09PSAyICYmXHJcbiAgICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPiAwICYmXHJcbiAgICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGEgJiZcclxuICAgICAgdGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGFbMV0uZGF0YS5sZW5ndGggIT09IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcInBsb3REYXRhLmRhdGFcIiBpbnB1dCBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoIGFzIFwibGFiZWxzXCIuJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENoYXJ0RGF0YSgpIHtcclxuICAgIGNvbnN0IGRhdGFzZXRzID0gW107XHJcbiAgICBkYXRhc2V0cy5wdXNoKHtcclxuICAgICAgbGFiZWw6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGFiYXNlTGFiZWwsXHJcbiAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzBdLmRhdGEsXHJcbiAgICAgIGZpbGw6IHRydWUsXHJcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMjEyLCAxNiwgMTcwLCAwLjIpJyxcclxuICAgICAgYm9yZGVyQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxyXG4gICAgICBwb2ludEJhY2tncm91bmRDb2xvcjogQ29sb3IuQlJBTkRfNTAsXHJcbiAgICAgIHBvaW50Qm9yZGVyQ29sb3I6IENvbG9yLlRHT19XSElURSxcclxuICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxyXG4gICAgICBwb2ludEhvdmVyQm9yZGVyQ29sb3I6IENvbG9yLkJSQU5EXzUwLFxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5zcGlkZXJDaGFydERhdGEucGxvdERhdGEubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgIGRhdGFzZXRzLnB1c2goe1xyXG4gICAgICAgIGxhYmVsOiB0aGlzLnNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVsxXS5kYXRhYmFzZUxhYmVsLFxyXG4gICAgICAgIGRhdGE6IHRoaXMuc3BpZGVyQ2hhcnREYXRhLnBsb3REYXRhWzFdLmRhdGEsXHJcbiAgICAgICAgZmlsbDogZmFsc2UsXHJcbiAgICAgICAgYm9yZGVyQ29sb3I6IENvbG9yLkJMQUNLLFxyXG4gICAgICAgIGJvcmRlckRhc2g6IFs1LCA1XSxcclxuICAgICAgICBib3JkZXJXaWR0aDogMSxcclxuICAgICAgICBwb2ludEJhY2tncm91bmRDb2xvcjogQ29sb3IuQkxBQ0ssXHJcbiAgICAgICAgcG9pbnRCb3JkZXJDb2xvcjogQ29sb3IuVEdPX1dISVRFLFxyXG4gICAgICAgIHBvaW50SG92ZXJCYWNrZ3JvdW5kQ29sb3I6IENvbG9yLlRHT19XSElURSxcclxuICAgICAgICBwb2ludEhvdmVyQm9yZGVyQ29sb3I6IENvbG9yLkJMQUNLLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMucmFkYXJDaGFydERhdGEgPSB7XHJcbiAgICAgIGxhYmVsczogdGhpcy5zcGlkZXJDaGFydERhdGEubGFiZWxzLFxyXG4gICAgICBkYXRhc2V0czogZGF0YXNldHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDaGFydE9wdGlvbnMoKSB7XHJcbiAgICB0aGlzLnJhZGFyQ2hhcnRPcHRpb25zID0ge1xyXG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxyXG4gICAgICBlbGVtZW50czoge1xyXG4gICAgICAgIGxpbmU6IHtcclxuICAgICAgICAgIGJvcmRlcldpZHRoOiAzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIGxheW91dDoge1xyXG4gICAgICAgIHBhZGRpbmc6IHtcclxuICAgICAgICAgIGxlZnQ6IDQwLFxyXG4gICAgICAgICAgcmlnaHQ6IDQwLFxyXG4gICAgICAgICAgdG9wOiA0MCxcclxuICAgICAgICAgIGJvdHRvbTogNDAsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgc2NhbGVzOiB7XHJcbiAgICAgICAgcjoge1xyXG4gICAgICAgICAgYW5nbGVMaW5lczoge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxyXG4gICAgICAgICAgICBjb2xvcjogQ29sb3IuQkxBQ0ssXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZ3JpZDoge1xyXG4gICAgICAgICAgICBjb2xvcjogY29udGV4dCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGNvbnRleHQudGljay52YWx1ZSA9PT0gMTAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sb3IuQkxBQ0s7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiBDb2xvci5HUkFZU0NBTEVfMzA7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcG9pbnRMYWJlbHM6IHtcclxuICAgICAgICAgICAgY29sb3I6ICdibGFjaycsXHJcbiAgICAgICAgICAgIGZvbnQ6IHtcclxuICAgICAgICAgICAgICBmYW1pbHk6ICdBcmlhbCcsXHJcbiAgICAgICAgICAgICAgc2l6ZTogMTQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHN1Z2dlc3RlZE1pbjogMCxcclxuICAgICAgICAgIHN1Z2dlc3RlZE1heDogMTAwLFxyXG4gICAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgICAgc3RlcFNpemU6IHRoaXMuc3RlcFNpemUsXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZhbHNlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBwbHVnaW5zOiB7XHJcbiAgICAgICAgbGVnZW5kOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNoYXJ0Py5jaGFydCAmJiAhdGhpcy5sb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMubG9nQ29ybmVyQ29vcmRpbmF0ZXModGhpcy5jaGFydC5jaGFydCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvZ0Nvcm5lckNvb3JkaW5hdGVzKGNoYXJ0OiBDaGFydCkge1xyXG4gICAgY29uc3Qgc2NhbGUgPSBjaGFydC5zY2FsZXNbJ3InXSBhcyBhbnk7XHJcbiAgICBjb25zdCBjYW52YXNXaWR0aCA9IHRoaXMuc2l6ZSA9PT0gJ2xhcmdlJyA/IExhcmdlU3BpZGVyQ2hhcnRTaXplIDogU21hbGxTcGlkZXJDaGFydFNpemU7XHJcbiAgICBjb25zdCBjYW52YXNIZWlnaHQgPSB0aGlzLnNpemUgPT09ICdsYXJnZScgPyBMYXJnZVNwaWRlckNoYXJ0U2l6ZSA6IFNtYWxsU3BpZGVyQ2hhcnRTaXplO1xyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgbGFiZWxzIGFuZCBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UgY29vcmRpbmF0ZXNcclxuICAgIHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5mb3JFYWNoKChsYWJlbCwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgcG9zaXRpb24gPSBzY2FsZS5nZXRQb2ludFBvc2l0aW9uRm9yVmFsdWUoaW5kZXgsIHNjYWxlLm1heCk7XHJcblxyXG4gICAgICAvLyBDYWxjdWxhdGUgcGVyY2VudGFnZSB2YWx1ZXMgcmVsYXRpdmUgdG8gdGhlIGNhbnZhcyBzaXplXHJcbiAgICAgIGNvbnN0IHhQZXJjZW50ID0gKHBvc2l0aW9uLnggLyBjYW52YXNXaWR0aCkgKiAxMDA7XHJcbiAgICAgIGNvbnN0IHlQZXJjZW50ID0gKChjYW52YXNIZWlnaHQgLSBwb3NpdGlvbi55KSAvIGNhbnZhc0hlaWdodCkgKiAxMDA7IC8vIEludmVydGluZyB0aGUgWS1heGlzXHJcblxyXG4gICAgICB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXSA9IHsgeDogTnVtYmVyKHhQZXJjZW50LnRvRml4ZWQoMikpLCB5OiBOdW1iZXIoeVBlcmNlbnQudG9GaXhlZCgyKSkgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5sYWJlbFBvc2l0aW9uc1Zpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2VudGVyZWRMYWJlbEJvdHRvbVBvc2l0aW9uKGxhYmVsOiBzdHJpbmcsIGhlaWdodDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMubGFiZWxQb3NpdGlvbnNbbGFiZWxdO1xyXG4gICAgY29uc3QgcGFkZGluZyA9IDc7XHJcbiAgICBpZiAocG9zaXRpb24ueCA+IDUwIHx8IHBvc2l0aW9uLnggPCA1MCkge1xyXG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi55fSUgLSAke2hlaWdodCAvIDJ9cHgpYDtcclxuICAgIH0gZWxzZSBpZiAocG9zaXRpb24ueSA8IDUwKSB7XHJcbiAgICAgIHJldHVybiBgY2FsYygke3Bvc2l0aW9uLnl9JSAtICR7aGVpZ2h0fXB4IC0gJHtwYWRkaW5nfXB4KWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi55fSUgKyAke3BhZGRpbmd9cHgpYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENlbnRlcmVkTGFiZWxMZWZ0UG9zaXRpb24obGFiZWw6IHN0cmluZywgd2lkdGg6IG51bWJlcikge1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmxhYmVsUG9zaXRpb25zW2xhYmVsXTtcclxuICAgIGNvbnN0IHBhZGRpbmcgPSAxNTtcclxuICAgIGlmIChwb3NpdGlvbi54ID09PSA1MCkge1xyXG4gICAgICByZXR1cm4gYGNhbGMoJHtwb3NpdGlvbi54fSUgLSAke3dpZHRoIC8gMn1weClgO1xyXG4gICAgfSBlbHNlIGlmIChwb3NpdGlvbi54IDwgNTApIHtcclxuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueH0lIC0gJHt3aWR0aH1weCAtICR7cGFkZGluZ31weClgO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGBjYWxjKCR7cG9zaXRpb24ueH0lICsgJHtwYWRkaW5nfXB4KWA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkxhYmVsS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgdGhpcy5mb2N1c05leHRMYWJlbChpbmRleCk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGFiZWwoaW5kZXgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb2N1c05leHRMYWJlbChpbmRleDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIDE7XHJcbiAgICBpZiAobmV4dEluZGV4IDwgdGhpcy5sYWJlbENvbnRhaW5lcnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMubGFiZWxDb250YWluZXJzLmdldChuZXh0SW5kZXgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxhYmVsQ29udGFpbmVycy5maXJzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb2N1c2VkTGFiZWxJbmRleCA9IG5leHRJbmRleDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9jdXNQcmV2aW91c0xhYmVsKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHByZXZpb3VzSW5kZXggPSBpbmRleCAtIDE7XHJcbiAgICBpZiAocHJldmlvdXNJbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMubGFiZWxDb250YWluZXJzLmdldChwcmV2aW91c0luZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sYWJlbENvbnRhaW5lcnMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb2N1c2VkTGFiZWxJbmRleCA9IHByZXZpb3VzSW5kZXg7XHJcbiAgfVxyXG5cclxuICBvbkxlZ2VuZEl0ZW1LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlRGF0YXNldFZpc2liaWxpdHkoaW5kZXgpO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIHRoaXMuZm9jdXNOZXh0TGVnZW5kSXRlbShpbmRleCk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzTGVnZW5kSXRlbShpbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzTmV4dExlZ2VuZEl0ZW0oaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3QgbmV4dEluZGV4ID0gaW5kZXggKyAxO1xyXG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMubGVnZW5kSXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZ2V0KG5leHRJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMuZmlyc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9jdXNQcmV2aW91c0xlZ2VuZEl0ZW0oaW5kZXg6IG51bWJlcikge1xyXG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IGluZGV4IC0gMTtcclxuICAgIGlmIChwcmV2aW91c0luZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5sZWdlbmRJdGVtcy5nZXQocHJldmlvdXNJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGVnZW5kSXRlbXMubGFzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25GYWtlRGF0YVBvaW50c0tleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIsIGlzU2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XHJcbiAgICAgIHRoaXMuZm9jdXNOZXh0RmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xyXG4gICAgICB0aGlzLnNob3dUb29sdGlwRm9yRGF0YVBvaW50KGluZGV4ICsgMSA+IHRoaXMuc3BpZGVyQ2hhcnREYXRhLmxhYmVscy5sZW5ndGggPyAwIDogaW5kZXggKyAxLCBpc1NlY29uZGFyeSk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleCwgaXNTZWNvbmRhcnkpO1xyXG4gICAgICB0aGlzLnNob3dUb29sdGlwRm9yRGF0YVBvaW50KGluZGV4IC0gMSA8IDAgPyB0aGlzLnNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoIC0gMSA6IGluZGV4IC0gMSwgaXNTZWNvbmRhcnkpO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdUYWInKSB7XHJcbiAgICAgIHRoaXMucmVzZXRBY3RpdmVFbGVtZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvY3VzTmV4dEZha2VEYXRhUG9pbnQoaW5kZXg6IG51bWJlciwgaXNTZWNvbmRhcnk6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgY29uc3QgbmV4dEluZGV4ID0gaW5kZXggKyAxO1xyXG4gICAgaWYgKG5leHRJbmRleCA8IHRoaXMuZmFrZURhdGFQb2ludHMubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IGZha2VEYXRhUG9pbnRzID0gaXNTZWNvbmRhcnkgPyB0aGlzLmZha2VEYXRhUG9pbnRzU2Vjb25kYXJ5IDogdGhpcy5mYWtlRGF0YVBvaW50cztcclxuICAgICAgZmFrZURhdGFQb2ludHMuZ2V0KG5leHRJbmRleCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGZha2VEYXRhUG9pbnRzID0gaXNTZWNvbmRhcnkgPyB0aGlzLmZha2VEYXRhUG9pbnRzU2Vjb25kYXJ5IDogdGhpcy5mYWtlRGF0YVBvaW50cztcclxuICAgICAgZmFrZURhdGFQb2ludHMuZmlyc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGlmICghaXNTZWNvbmRhcnkpIHtcclxuICAgICAgdGhpcy5mb2N1c2VkRmFrZURhdGFQb2ludEluZGV4ID0gbmV4dEluZGV4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb2N1c1ByZXZpb3VzRmFrZURhdGFQb2ludChpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBwcmV2aW91c0luZGV4ID0gaW5kZXggLSAxO1xyXG4gICAgaWYgKHByZXZpb3VzSW5kZXggPj0gMCkge1xyXG4gICAgICBjb25zdCBmYWtlRGF0YVBvaW50cyA9IGlzU2Vjb25kYXJ5ID8gdGhpcy5mYWtlRGF0YVBvaW50c1NlY29uZGFyeSA6IHRoaXMuZmFrZURhdGFQb2ludHM7XHJcbiAgICAgIGZha2VEYXRhUG9pbnRzLmdldChwcmV2aW91c0luZGV4KT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZmFrZURhdGFQb2ludHMgPSBpc1NlY29uZGFyeSA/IHRoaXMuZmFrZURhdGFQb2ludHNTZWNvbmRhcnkgOiB0aGlzLmZha2VEYXRhUG9pbnRzO1xyXG4gICAgICBmYWtlRGF0YVBvaW50cy5sYXN0Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWlzU2Vjb25kYXJ5KSB7XHJcbiAgICAgIHRoaXMuZm9jdXNlZEZha2VEYXRhUG9pbnRJbmRleCA9IHByZXZpb3VzSW5kZXg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93VG9vbHRpcEZvckRhdGFQb2ludChpbmRleDogbnVtYmVyLCBpc1NlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydD8uY2hhcnQ7XHJcbiAgICBpZiAoIWNoYXJ0SW5zdGFuY2UpIHJldHVybjtcclxuICAgIGNvbnN0IGFjdGl2ZUVsZW1lbnQgPSBbeyBkYXRhc2V0SW5kZXg6IGlzU2Vjb25kYXJ5ID8gMSA6IDAsIGluZGV4IH1dO1xyXG4gICAgY29uc3QgbWV0YSA9IGNoYXJ0SW5zdGFuY2UuZ2V0RGF0YXNldE1ldGEoaXNTZWNvbmRhcnkgPyAxIDogMCk7XHJcbiAgICBjb25zdCBkYXRhUG9pbnQgPSBtZXRhLmRhdGFbaW5kZXhdO1xyXG4gICAgY29uc3QgZXZlbnRQb3NpdGlvbiA9IHtcclxuICAgICAgeDogZGF0YVBvaW50LngsXHJcbiAgICAgIHk6IGRhdGFQb2ludC55LFxyXG4gICAgfTtcclxuICAgIGlmICghaXNTZWNvbmRhcnkpIHtcclxuICAgICAgdGhpcy5mb2N1c2VkRmFrZURhdGFQb2ludEluZGV4ID0gaW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhcnRJbnN0YW5jZS50b29sdGlwPy5zZXRBY3RpdmVFbGVtZW50cyhhY3RpdmVFbGVtZW50LCBldmVudFBvc2l0aW9uKTtcclxuXHJcbiAgICBjaGFydEluc3RhbmNlLnVwZGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldEFjdGl2ZUVsZW1lbnQoKSB7XHJcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydD8uY2hhcnQ7XHJcbiAgICBpZiAoIWNoYXJ0SW5zdGFuY2UpIHJldHVybjtcclxuXHJcbiAgICAvLyBDbGVhciB0aGUgYWN0aXZlIGVsZW1lbnRzIHRvIGhpZGUgdGhlIHRvb2x0aXBcclxuICAgIGNoYXJ0SW5zdGFuY2UudG9vbHRpcD8uc2V0QWN0aXZlRWxlbWVudHMoW10sIHsgeDogMCwgeTogMCB9KTtcclxuXHJcbiAgICBjaGFydEluc3RhbmNlLnVwZGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRGF0YXNldFZpc2liaWxpdHkoZGF0YXNldEluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNoYXJ0SW5zdGFuY2UgPSB0aGlzLmNoYXJ0Py5jaGFydDtcclxuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGRhdGFzZXQgPSBjaGFydEluc3RhbmNlLmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XTtcclxuICAgIGRhdGFzZXQuaGlkZGVuID0gIWRhdGFzZXQuaGlkZGVuO1xyXG4gICAgY2hhcnRJbnN0YW5jZS51cGRhdGUoKTtcclxuICB9XHJcblxyXG4gIGlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGNoYXJ0SW5zdGFuY2UgPSB0aGlzLmNoYXJ0Py5jaGFydDtcclxuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xyXG4gICAgcmV0dXJuICFjaGFydEluc3RhbmNlLmRhdGEuZGF0YXNldHNbZGF0YXNldEluZGV4XS5oaWRkZW47XHJcbiAgfVxyXG5cclxuICBnZXRGaXJzdExpbmUobGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB3b3JkcyA9IGxhYmVsLnNwbGl0KCcgJyk7XHJcbiAgICBsZXQgZmlyc3RMaW5lID0gJyc7XHJcbiAgICBmb3IgKGNvbnN0IHdvcmQgb2Ygd29yZHMpIHtcclxuICAgICAgaWYgKChmaXJzdExpbmUgKyB3b3JkKS5sZW5ndGggPD0gMjApIHtcclxuICAgICAgICBmaXJzdExpbmUgKz0gKGZpcnN0TGluZSA/ICcgJyA6ICcnKSArIHdvcmQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmaXJzdExpbmU7XHJcbiAgfVxyXG5cclxuICBnZXRTZWNvbmRMaW5lKGxhYmVsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZmlyc3RMaW5lID0gdGhpcy5nZXRGaXJzdExpbmUobGFiZWwpO1xyXG4gICAgcmV0dXJuIGxhYmVsLnN1YnN0cmluZyhmaXJzdExpbmUubGVuZ3RoKS50cmltKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzcGlkZXItY2hhcnQtY29udGFpbmVyXCJcclxuICB0YWJpbmRleD1cIjBcIlxyXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNwYWNpbmctY29udGFpbmVyXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnc21hbGwtc3BhY2luZyc6IHJhZGFyQ2hhcnREYXRhLmxhYmVscyAmJiByYWRhckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoICUgMiA9PT0gMSAmJiAhbG9hZGluZ31cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGFydC1jb250YWluZXJcIlxyXG4gICAgICBbc3R5bGUud2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcyODBweCcgOiAnMjAwcHgnXCJcclxuICAgICAgW3N0eWxlLmhlaWdodF09XCJzaXplID09PSAnbGFyZ2UnID8gJzI4MHB4JyA6ICcyMDBweCdcIj5cclxuICAgICAgQGlmICghbG9hZGluZykge1xyXG4gICAgICAgIDxjYW52YXNcclxuICAgICAgICAgIGJhc2VDaGFydFxyXG4gICAgICAgICAgW2RhdGFdPVwicmFkYXJDaGFydERhdGFcIlxyXG4gICAgICAgICAgW29wdGlvbnNdPVwicmFkYXJDaGFydE9wdGlvbnNcIlxyXG4gICAgICAgICAgdHlwZT1cInJhZGFyXCJcclxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NhbnZhcz5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPGNhbnZhc1xyXG4gICAgICAgICAgYmFzZUNoYXJ0XHJcbiAgICAgICAgICBbZGF0YV09XCJsb2FkaW5nQ2hhcnREYXRhXCJcclxuICAgICAgICAgIFtvcHRpb25zXT1cImxvYWRpbmdDaGFydE9wdGlvbnNcIlxyXG4gICAgICAgICAgdHlwZT1cInJhZGFyXCJcclxuICAgICAgICAgIGNsYXNzPVwiY2hhcnRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2NhbnZhcz5cclxuICAgICAgICA8dWktc3Bpbm5lcj48L3VpLXNwaW5uZXI+XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpZiAobGFiZWxQb3NpdGlvbnNWaXNpYmxlKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgQGZvciAobGFiZWwgb2Ygc3BpZGVyQ2hhcnREYXRhLmxhYmVsczsgdHJhY2sgbGFiZWwpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiICNsYWJlbENvbnRhaW5lclxyXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInNwaWRlckNoYXJ0RGF0YS5sYWJlbERlc2NyaXB0aW9uWyRpbmRleF1cIlxyXG4gICAgICAgICAgICAgIFt0YWJpbmRleF09XCIkaW5kZXggPT09IDAgPyAnMCcgOiAnLTEnXCJcclxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkxhYmVsS2V5RG93bigkZXZlbnQsICRpbmRleClcIlxyXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3BpZGVyQ2hhcnREYXRhLmxhYmVsRGVzY3JpcHRpb25bJGluZGV4XVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmxlZnRdPVwiZ2V0Q2VudGVyZWRMYWJlbExlZnRQb3NpdGlvbihsYWJlbCwgbGFiZWxDb250YWluZXIub2Zmc2V0V2lkdGgpXCJcclxuICAgICAgICAgICAgICBbc3R5bGUuYm90dG9tXT1cImdldENlbnRlcmVkTGFiZWxCb3R0b21Qb3NpdGlvbihsYWJlbCwgbGFiZWxDb250YWluZXIub2Zmc2V0SGVpZ2h0KVwiPlxyXG4gICAgICAgICAgICAgIEBpZiAoIShsYWJlbC5sZW5ndGggPiAyMCAmJiBzaXplID09PSAnbGFyZ2UnICYmIHNwaWRlckNoYXJ0RGF0YS5sYWJlbHMubGVuZ3RoIDwgOSkpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcxMzVweCcgOiAnMTAwcHgnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCIgW3N0eWxlLm1heC13aWR0aF09XCJzaXplID09PSAnbGFyZ2UnID8gJzEzNXB4JyA6ICcxMDBweCdcIj57eyBsYWJlbCB8IG1lbW9pemVGdW5jIDogZ2V0Rmlyc3RMaW5lIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2l6ZSA9PT0gJ2xhcmdlJyA/ICcxMzVweCcgOiAnMTAwcHgnXCI+e3sgbGFiZWwgfCBtZW1vaXplRnVuYyA6IGdldFNlY29uZExpbmUgOiB0aGlzIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPnt7IHNwaWRlckNoYXJ0RGF0YS5wbG90RGF0YVswXS5kYXRhWyRpbmRleF0gfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZha2UtZGF0YS1wb2ludHNcIiAjZmFrZURhdGFQb2ludHNcclxuICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiZm9jdXNlZExhYmVsSW5kZXggPT09ICRpbmRleCA/ICcwJyA6ICctMSdcIlxyXG4gICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRMYWJlbEluZGV4ID8gc2hvd1Rvb2x0aXBGb3JEYXRhUG9pbnQoJGluZGV4KSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uRmFrZURhdGFQb2ludHNLZXlEb3duKCRldmVudCwgJGluZGV4KVwiPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIEBpZiAocmFkYXJDaGFydERhdGEuZGF0YXNldHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmFrZS1kYXRhLXBvaW50cy1zZWNvbmRhcnlcIiAjZmFrZURhdGFQb2ludHNTZWNvbmRhcnlcclxuICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJmb2N1c2VkRmFrZURhdGFQb2ludEluZGV4ID09PSAkaW5kZXggPyAnMCcgOiAnLTEnXCJcclxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCIkaW5kZXggPT09IGZvY3VzZWRGYWtlRGF0YVBvaW50SW5kZXggPyBzaG93VG9vbHRpcEZvckRhdGFQb2ludCgkaW5kZXgsIHRydWUpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkZha2VEYXRhUG9pbnRzS2V5RG93bigkZXZlbnQsICRpbmRleCwgdHJ1ZSlcIj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgQGlmIChyYWRhckNoYXJ0RGF0YS5kYXRhc2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibGVnZW5kLWNvbnRhaW5lclwiPlxyXG4gICAgICBAZm9yIChkYXRhc2V0IG9mIHJhZGFyQ2hhcnREYXRhLmRhdGFzZXRzOyB0cmFjayBkYXRhc2V0LmxhYmVsKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZ2VuZC1pdGVtXCJcclxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEYXRhc2V0VmlzaWJpbGl0eSgkaW5kZXgpXCJcclxuICAgICAgICAgIFt0YWJpbmRleF09XCIkaW5kZXggPT09IDAgPyAnMCcgOiAnLTEnXCJcclxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1wcmVzc2VkXT1cImlzRGF0YXNldFZpc2libGUoJGluZGV4KSA/IGZhbHNlIDogdHJ1ZVwiXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImlzRGF0YXNldFZpc2libGUoJGluZGV4KSA/XHJcbiAgICAgICAgICAoKHRyYW5zbGF0aW9uQ29udGV4dCArICdEQVRBU0VUX1ZJU0lCTEUnKSB8IHVpVHJhbnNsYXRlIDogeyBkYXRhc2V0OiBkYXRhc2V0LmxhYmVsIH0gfCBhc3luYykgOlxyXG4gICAgICAgICAgKCh0cmFuc2xhdGlvbkNvbnRleHQgKyAnREFUQVNFVF9ISURERU4nKSB8IHVpVHJhbnNsYXRlIDogeyBkYXRhc2V0OiBkYXRhc2V0LmxhYmVsIH0gfCBhc3luYylcIlxyXG4gICAgICAgICAgKGtleWRvd24pPVwib25MZWdlbmRJdGVtS2V5RG93bigkZXZlbnQsICRpbmRleClcIlxyXG4gICAgICAgICAgI2xlZ2VuZEl0ZW0+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlZ2VuZC1saW5lXCIgW25nQ2xhc3NdPVwieydzb2xpZC1saW5lJzogJGluZGV4ID09PSAwLCAnZGFzaGVkLWxpbmUnOiAkaW5kZXggPT09IDF9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWdlbmQtbGFiZWxcIiBbc3R5bGUudGV4dC1kZWNvcmF0aW9uXT1cImlzRGF0YXNldFZpc2libGUoJGluZGV4KSA/ICdub25lJyA6ICdsaW5lLXRocm91Z2gnXCI+XHJcbiAgICAgICAgICAgIHt7IGRhdGFzZXQubGFiZWwgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
1
  // These are the sizes of the canvas, not the chart itself. It includes 40px of padding on all sides.
2
2
  export const SmallSpiderChartSize = 200;
3
3
  export const LargeSpiderChartSize = 280;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3NwaWRlci1jaGFydC9zcGlkZXItY2hhcnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EscUdBQXFHO0FBQ3JHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBVyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnIHwgJ3NtYWxsJztcbi8vIFRoZXNlIGFyZSB0aGUgc2l6ZXMgb2YgdGhlIGNhbnZhcywgbm90IHRoZSBjaGFydCBpdHNlbGYuIEl0IGluY2x1ZGVzIDQwcHggb2YgcGFkZGluZyBvbiBhbGwgc2lkZXMuXG5leHBvcnQgY29uc3QgU21hbGxTcGlkZXJDaGFydFNpemU6IG51bWJlciA9IDIwMDtcbmV4cG9ydCBjb25zdCBMYXJnZVNwaWRlckNoYXJ0U2l6ZTogbnVtYmVyID0gMjgwO1xuZXhwb3J0IHR5cGUgU3BpZGVyQ2hhcnREYXRhID0ge1xuICBsYWJlbHM6IHN0cmluZ1tdO1xuICBsYWJlbERlc2NyaXB0aW9uOiBzdHJpbmdbXTtcbiAgcGxvdERhdGE6IFtQbG90RGF0YSwgUGxvdERhdGFdIHwgW1Bsb3REYXRhXTsgLy8gQ3VycmVudCBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBtYXggMiBkYXRhc2V0cy5cbn07XG5leHBvcnQgdHlwZSBQbG90RGF0YSA9IHtcbiAgZGF0YWJhc2VMYWJlbDogc3RyaW5nO1xuICBkYXRhOiBudW1iZXJbXTtcbn07XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpZGVyLWNoYXJ0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL3NwaWRlci1jaGFydC9zcGlkZXItY2hhcnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EscUdBQXFHO0FBQ3JHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBVyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTcGlkZXJDaGFydFNpemUgPSAnbGFyZ2UnIHwgJ3NtYWxsJztcclxuLy8gVGhlc2UgYXJlIHRoZSBzaXplcyBvZiB0aGUgY2FudmFzLCBub3QgdGhlIGNoYXJ0IGl0c2VsZi4gSXQgaW5jbHVkZXMgNDBweCBvZiBwYWRkaW5nIG9uIGFsbCBzaWRlcy5cclxuZXhwb3J0IGNvbnN0IFNtYWxsU3BpZGVyQ2hhcnRTaXplOiBudW1iZXIgPSAyMDA7XHJcbmV4cG9ydCBjb25zdCBMYXJnZVNwaWRlckNoYXJ0U2l6ZTogbnVtYmVyID0gMjgwO1xyXG5leHBvcnQgdHlwZSBTcGlkZXJDaGFydERhdGEgPSB7XHJcbiAgbGFiZWxzOiBzdHJpbmdbXTtcclxuICBsYWJlbERlc2NyaXB0aW9uOiBzdHJpbmdbXTtcclxuICBwbG90RGF0YTogW1Bsb3REYXRhLCBQbG90RGF0YV0gfCBbUGxvdERhdGFdOyAvLyBDdXJyZW50IGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIG1heCAyIGRhdGFzZXRzLlxyXG59O1xyXG5leHBvcnQgdHlwZSBQbG90RGF0YSA9IHtcclxuICBkYXRhYmFzZUxhYmVsOiBzdHJpbmc7XHJcbiAgZGF0YTogbnVtYmVyW107XHJcbn07XHJcbiJdfQ==