@ardium-ui/ui 1.0.3 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/README.md +25 -25
  2. package/esm2022/lib/_internal/boolean-component.mjs +28 -42
  3. package/esm2022/lib/_internal/clear-button/clear-button.component.mjs +5 -5
  4. package/esm2022/lib/_internal/clear-button/clear-button.module.mjs +5 -5
  5. package/esm2022/lib/_internal/disablable-component.mjs +24 -22
  6. package/esm2022/lib/_internal/focusable-component.mjs +12 -25
  7. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +172 -169
  8. package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +115 -120
  9. package/esm2022/lib/_internal/item-storages/simplest-item-storage.mjs +56 -53
  10. package/esm2022/lib/_internal/models/pagination.model.mjs +72 -106
  11. package/esm2022/lib/_internal/ngmodel-component.mjs +5 -5
  12. package/esm2022/lib/_internal/queue.mjs +1 -1
  13. package/esm2022/lib/_internal/selectable-list-component.mjs +74 -98
  14. package/esm2022/lib/badge/badge.directive.mjs +70 -99
  15. package/esm2022/lib/badge/badge.module.mjs +5 -5
  16. package/esm2022/lib/badge/badge.types.mjs +1 -1
  17. package/esm2022/lib/badge/index.mjs +4 -0
  18. package/esm2022/lib/buttons/_button-base.mjs +13 -35
  19. package/esm2022/lib/buttons/button/button.component.mjs +22 -37
  20. package/esm2022/lib/buttons/button/button.module.mjs +5 -5
  21. package/esm2022/lib/buttons/button/index.mjs +3 -0
  22. package/esm2022/lib/buttons/fab/fab.component.mjs +16 -28
  23. package/esm2022/lib/buttons/fab/fab.module.mjs +5 -5
  24. package/esm2022/lib/buttons/fab/index.mjs +3 -0
  25. package/esm2022/lib/buttons/general-button.types.mjs +1 -1
  26. package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +17 -25
  27. package/esm2022/lib/buttons/icon-button/icon-button.module.mjs +5 -5
  28. package/esm2022/lib/buttons/icon-button/index.mjs +3 -0
  29. package/esm2022/lib/card/card.children.mjs +32 -33
  30. package/esm2022/lib/card/card.component.mjs +14 -17
  31. package/esm2022/lib/card/card.module.mjs +5 -5
  32. package/esm2022/lib/card/card.types.mjs +1 -1
  33. package/esm2022/lib/card/index.mjs +5 -0
  34. package/esm2022/lib/checkbox/checkbox.component.mjs +33 -46
  35. package/esm2022/lib/checkbox/checkbox.module.mjs +5 -5
  36. package/esm2022/lib/checkbox/checkbox.types.mjs +1 -1
  37. package/esm2022/lib/checkbox/index.mjs +4 -0
  38. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +31 -57
  39. package/esm2022/lib/checkbox-list/checkbox-list.module.mjs +5 -5
  40. package/esm2022/lib/checkbox-list/checkbox-list.types.mjs +1 -1
  41. package/esm2022/lib/checkbox-list/index.mjs +4 -0
  42. package/esm2022/lib/chip/chip.component.mjs +22 -42
  43. package/esm2022/lib/chip/chip.module.mjs +5 -5
  44. package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +28 -53
  45. package/esm2022/lib/chip/index.mjs +5 -0
  46. package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +25 -49
  47. package/esm2022/lib/color/color-display/color-display.component.mjs +15 -32
  48. package/esm2022/lib/color/color-display/color-display.module.mjs +5 -5
  49. package/esm2022/lib/color/color-display/color-display.types.mjs +1 -1
  50. package/esm2022/lib/color/color-display/index.mjs +4 -0
  51. package/esm2022/lib/color/color-picker/color-picker.types.mjs +1 -1
  52. package/esm2022/lib/dialog/dialog.component.mjs +54 -130
  53. package/esm2022/lib/dialog/dialog.directives.mjs +4 -4
  54. package/esm2022/lib/dialog/dialog.module.mjs +5 -5
  55. package/esm2022/lib/dialog/dialog.types.mjs +1 -1
  56. package/esm2022/lib/dialog/index.mjs +5 -0
  57. package/esm2022/lib/divider/divider.component.mjs +9 -14
  58. package/esm2022/lib/divider/divider.module.mjs +5 -5
  59. package/esm2022/lib/divider/index.mjs +3 -0
  60. package/esm2022/lib/dropdown-panel/dropdown-panel.component.mjs +40 -59
  61. package/esm2022/lib/dropdown-panel/dropdown-panel.module.mjs +5 -5
  62. package/esm2022/lib/dropdown-panel/dropdown-panel.types.mjs +1 -1
  63. package/esm2022/lib/dropdown-panel/index.mjs +4 -0
  64. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +12 -17
  65. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.directives.mjs +10 -10
  66. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.module.mjs +6 -6
  67. package/esm2022/lib/file-inputs/file-drop-area/index.mjs +4 -0
  68. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +24 -50
  69. package/esm2022/lib/file-inputs/file-input/file-input.directives.mjs +19 -19
  70. package/esm2022/lib/file-inputs/file-input/file-input.module.mjs +5 -5
  71. package/esm2022/lib/file-inputs/file-input/index.mjs +4 -0
  72. package/esm2022/lib/file-inputs/file-input-base.mjs +38 -72
  73. package/esm2022/lib/file-inputs/file-input-types.mjs +1 -1
  74. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +20 -47
  75. package/esm2022/lib/form-field-frame/form-field-frame.directives.mjs +7 -7
  76. package/esm2022/lib/form-field-frame/form-field-frame.module.mjs +5 -5
  77. package/esm2022/lib/form-field-frame/index.mjs +4 -0
  78. package/esm2022/lib/icon/icon.component.mjs +32 -67
  79. package/esm2022/lib/icon/icon.module.mjs +5 -5
  80. package/esm2022/lib/icon/icon.pipe.mjs +4 -4
  81. package/esm2022/lib/icon/index.mjs +4 -0
  82. package/esm2022/lib/inputs/color-input/color-input.directives.mjs +25 -25
  83. package/esm2022/lib/inputs/color-input/color-input.types.mjs +1 -1
  84. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +65 -115
  85. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +83 -92
  86. package/esm2022/lib/inputs/digit-input/digit-input.module.mjs +5 -5
  87. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
  88. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
  89. package/esm2022/lib/inputs/digit-input/index.mjs +4 -0
  90. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +59 -122
  91. package/esm2022/lib/inputs/hex-input/hex-input.directives.mjs +10 -10
  92. package/esm2022/lib/inputs/hex-input/hex-input.module.mjs +24 -8
  93. package/esm2022/lib/inputs/hex-input/index.mjs +4 -0
  94. package/esm2022/lib/inputs/hex-input.model.mjs +24 -33
  95. package/esm2022/lib/inputs/input/index.mjs +4 -0
  96. package/esm2022/lib/inputs/input/input.component.mjs +95 -154
  97. package/esm2022/lib/inputs/input/input.directives.mjs +16 -16
  98. package/esm2022/lib/inputs/input/input.module.mjs +21 -7
  99. package/esm2022/lib/inputs/input-transformers.mjs +6 -6
  100. package/esm2022/lib/inputs/input-types.mjs +1 -1
  101. package/esm2022/lib/inputs/input-utils.mjs +75 -94
  102. package/esm2022/lib/inputs/number-input/index.mjs +4 -0
  103. package/esm2022/lib/inputs/number-input/number-input.component.mjs +106 -170
  104. package/esm2022/lib/inputs/number-input/number-input.directives.mjs +4 -4
  105. package/esm2022/lib/inputs/number-input/number-input.module.mjs +5 -5
  106. package/esm2022/lib/inputs/password-input/index.mjs +5 -0
  107. package/esm2022/lib/inputs/password-input/password-input.component.mjs +74 -144
  108. package/esm2022/lib/inputs/password-input/password-input.directives.mjs +13 -13
  109. package/esm2022/lib/inputs/password-input/password-input.module.mjs +5 -5
  110. package/esm2022/lib/inputs/password-input/password-input.types.mjs +1 -1
  111. package/esm2022/lib/inputs/simple-input/index.mjs +4 -0
  112. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +57 -110
  113. package/esm2022/lib/inputs/simple-input/simple-input.directives.mjs +10 -10
  114. package/esm2022/lib/inputs/simple-input/simple-input.module.mjs +5 -5
  115. package/esm2022/lib/kbd/index.mjs +4 -0
  116. package/esm2022/lib/kbd/kbd.component.mjs +15 -29
  117. package/esm2022/lib/kbd/kbd.module.mjs +5 -5
  118. package/esm2022/lib/kbd/kbd.pipe.mjs +4 -4
  119. package/esm2022/lib/kbd-shortcut/index.mjs +3 -0
  120. package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +23 -40
  121. package/esm2022/lib/kbd-shortcut/kbd-shortcut.module.mjs +5 -5
  122. package/esm2022/lib/modal/index.mjs +3 -0
  123. package/esm2022/lib/modal/modal.component.mjs +42 -83
  124. package/esm2022/lib/modal/modal.module.mjs +5 -5
  125. package/esm2022/lib/option/index.mjs +3 -0
  126. package/esm2022/lib/option/option.component.mjs +24 -46
  127. package/esm2022/lib/option/option.module.mjs +5 -5
  128. package/esm2022/lib/progress-bar/index.mjs +5 -0
  129. package/esm2022/lib/progress-bar/progress-bar.component.mjs +43 -81
  130. package/esm2022/lib/progress-bar/progress-bar.directive.mjs +4 -4
  131. package/esm2022/lib/progress-bar/progress-bar.module.mjs +5 -5
  132. package/esm2022/lib/progress-bar/progress-bar.types.mjs +1 -1
  133. package/esm2022/lib/progress-circle/index.mjs +5 -0
  134. package/esm2022/lib/progress-circle/progress-circle.component.mjs +33 -78
  135. package/esm2022/lib/progress-circle/progress-circle.directive.mjs +4 -4
  136. package/esm2022/lib/progress-circle/progress-circle.module.mjs +5 -5
  137. package/esm2022/lib/progress-circle/progress-circle.types.mjs +1 -1
  138. package/esm2022/lib/radio/index.mjs +4 -0
  139. package/esm2022/lib/radio/radio/radio.component.mjs +16 -25
  140. package/esm2022/lib/radio/radio-group.component.mjs +71 -85
  141. package/esm2022/lib/radio/radio.module.mjs +5 -5
  142. package/esm2022/lib/search-functions.mjs +7 -7
  143. package/esm2022/lib/segment/index.mjs +5 -0
  144. package/esm2022/lib/segment/segment.component.mjs +70 -137
  145. package/esm2022/lib/segment/segment.directives.mjs +4 -4
  146. package/esm2022/lib/segment/segment.module.mjs +5 -5
  147. package/esm2022/lib/segment/segment.types.mjs +1 -1
  148. package/esm2022/lib/select/index.mjs +5 -0
  149. package/esm2022/lib/select/select.component.mjs +348 -655
  150. package/esm2022/lib/select/select.directive.mjs +46 -46
  151. package/esm2022/lib/select/select.module.mjs +5 -5
  152. package/esm2022/lib/select/select.types.mjs +1 -1
  153. package/esm2022/lib/slide-toggle/index.mjs +4 -0
  154. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +19 -24
  155. package/esm2022/lib/slide-toggle/slide-toggle.module.mjs +5 -5
  156. package/esm2022/lib/slide-toggle/slide-toggle.types.mjs +5 -0
  157. package/esm2022/lib/slider/abstract-slider.mjs +111 -200
  158. package/esm2022/lib/slider/index.mjs +7 -0
  159. package/esm2022/lib/slider/range-slider/range-slider.component.mjs +26 -23
  160. package/esm2022/lib/slider/range-slider/range-slider.module.mjs +5 -5
  161. package/esm2022/lib/slider/slider.component.mjs +13 -10
  162. package/esm2022/lib/slider/slider.directive.mjs +4 -4
  163. package/esm2022/lib/slider/slider.module.mjs +7 -7
  164. package/esm2022/lib/slider/slider.types.mjs +1 -1
  165. package/esm2022/lib/snackbar/index.mjs +1 -1
  166. package/esm2022/lib/snackbar/snackbar-ref.mjs +1 -1
  167. package/esm2022/lib/snackbar/snackbar.component.mjs +8 -8
  168. package/esm2022/lib/snackbar/snackbar.service.mjs +13 -12
  169. package/esm2022/lib/snackbar/snackbar.token.mjs +1 -1
  170. package/esm2022/lib/snackbar/snackbar.types.mjs +1 -1
  171. package/esm2022/lib/spinner/index.mjs +3 -0
  172. package/esm2022/lib/spinner/spinner.component.mjs +9 -13
  173. package/esm2022/lib/spinner/spinner.module.mjs +5 -5
  174. package/esm2022/lib/star/index.mjs +4 -0
  175. package/esm2022/lib/star/star-button/index.mjs +3 -0
  176. package/esm2022/lib/star/star-button/star-button.component.mjs +17 -26
  177. package/esm2022/lib/star/star-button/star-button.module.mjs +5 -5
  178. package/esm2022/lib/star/star-display/index.mjs +3 -0
  179. package/esm2022/lib/star/star-display/star-display.component.mjs +48 -55
  180. package/esm2022/lib/star/star-display/star-display.module.mjs +5 -5
  181. package/esm2022/lib/star/star-input/index.mjs +3 -0
  182. package/esm2022/lib/star/star-input/star-input.component.mjs +70 -106
  183. package/esm2022/lib/star/star-input/star-input.module.mjs +5 -5
  184. package/esm2022/lib/star/star.component.mjs +12 -20
  185. package/esm2022/lib/star/star.module.mjs +5 -5
  186. package/esm2022/lib/star/star.types.mjs +1 -1
  187. package/esm2022/lib/statebox/index.mjs +3 -0
  188. package/esm2022/lib/statebox/statebox.component.mjs +64 -102
  189. package/esm2022/lib/statebox/statebox.module.mjs +5 -5
  190. package/esm2022/lib/statebox/statebox.types.mjs +1 -1
  191. package/esm2022/lib/tabber/index.mjs +4 -0
  192. package/esm2022/lib/tabber/tab/tab.component.mjs +42 -0
  193. package/esm2022/lib/tabber/tabber.component.mjs +83 -0
  194. package/esm2022/lib/tabber/tabber.module.mjs +19 -0
  195. package/esm2022/lib/table/index.mjs +5 -0
  196. package/esm2022/lib/table/table-item-storage.mjs +204 -200
  197. package/esm2022/lib/table/table.component.mjs +184 -304
  198. package/esm2022/lib/table/table.directives.mjs +19 -21
  199. package/esm2022/lib/table/table.module.mjs +5 -5
  200. package/esm2022/lib/table/table.types.mjs +1 -1
  201. package/esm2022/lib/table/utils.mjs +1 -1
  202. package/esm2022/lib/table-from-csv/index.mjs +3 -0
  203. package/esm2022/lib/table-from-csv/table-from-csv.component.mjs +85 -29
  204. package/esm2022/lib/table-from-csv/table-from-csv.module.mjs +5 -5
  205. package/esm2022/lib/table-pagination/index.mjs +4 -0
  206. package/esm2022/lib/table-pagination/table-pagination.component.mjs +46 -114
  207. package/esm2022/lib/table-pagination/table-pagination.module.mjs +5 -5
  208. package/esm2022/lib/table-pagination/table-pagination.types.mjs +1 -1
  209. package/esm2022/lib/types/alignment.types.mjs +1 -1
  210. package/esm2022/lib/types/colors.types.mjs +1 -1
  211. package/esm2022/lib/types/item-storage.types.mjs +1 -1
  212. package/esm2022/lib/types/theming.types.mjs +1 -1
  213. package/esm2022/lib/types/utility.types.mjs +2 -2
  214. package/esm2022/public-api.mjs +58 -182
  215. package/fesm2022/ardium-ui-ui.mjs +7847 -11692
  216. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  217. package/lib/_internal/boolean-component.d.ts +8 -9
  218. package/lib/_internal/clear-button/clear-button.component.d.ts +1 -1
  219. package/lib/_internal/disablable-component.d.ts +12 -7
  220. package/lib/_internal/focusable-component.d.ts +5 -7
  221. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +43 -41
  222. package/lib/_internal/item-storages/simple-item-storage.d.ts +28 -25
  223. package/lib/_internal/item-storages/simplest-item-storage.d.ts +14 -9
  224. package/lib/_internal/models/pagination.model.d.ts +38 -42
  225. package/lib/_internal/ngmodel-component.d.ts +1 -1
  226. package/lib/_internal/selectable-list-component.d.ts +30 -30
  227. package/lib/badge/badge.directive.d.ts +15 -20
  228. package/lib/badge/index.d.ts +3 -0
  229. package/lib/buttons/_button-base.d.ts +9 -12
  230. package/lib/buttons/button/button.component.d.ts +6 -8
  231. package/lib/buttons/button/index.d.ts +2 -0
  232. package/lib/buttons/fab/fab.component.d.ts +4 -6
  233. package/lib/buttons/fab/index.d.ts +2 -0
  234. package/lib/buttons/icon-button/icon-button.component.d.ts +6 -7
  235. package/lib/buttons/icon-button/index.d.ts +2 -0
  236. package/lib/card/card.children.d.ts +4 -3
  237. package/lib/card/card.component.d.ts +5 -4
  238. package/lib/card/index.d.ts +4 -0
  239. package/lib/checkbox/checkbox.component.d.ts +8 -12
  240. package/lib/checkbox/index.d.ts +3 -0
  241. package/lib/checkbox-list/checkbox-list.component.d.ts +22 -21
  242. package/lib/checkbox-list/index.d.ts +3 -0
  243. package/lib/chip/chip.component.d.ts +8 -10
  244. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +11 -14
  245. package/lib/chip/index.d.ts +4 -0
  246. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +10 -12
  247. package/lib/color/color-display/color-display.component.d.ts +6 -9
  248. package/lib/color/color-display/index.d.ts +3 -0
  249. package/lib/color/color-picker/color-picker.types.d.ts +4 -4
  250. package/lib/dialog/dialog.component.d.ts +25 -35
  251. package/lib/dialog/dialog.types.d.ts +2 -2
  252. package/lib/dialog/index.d.ts +4 -0
  253. package/lib/divider/divider.component.d.ts +3 -4
  254. package/lib/divider/index.d.ts +2 -0
  255. package/lib/dropdown-panel/dropdown-panel.component.d.ts +17 -20
  256. package/lib/dropdown-panel/index.d.ts +3 -0
  257. package/lib/file-inputs/file-drop-area/file-drop-area.component.d.ts +5 -4
  258. package/lib/file-inputs/file-drop-area/index.d.ts +3 -0
  259. package/lib/file-inputs/file-input/file-input.component.d.ts +13 -17
  260. package/lib/file-inputs/file-input/index.d.ts +3 -0
  261. package/lib/file-inputs/file-input-base.d.ts +13 -18
  262. package/lib/form-field-frame/form-field-frame.component.d.ts +12 -16
  263. package/lib/form-field-frame/index.d.ts +3 -0
  264. package/lib/icon/icon.component.d.ts +10 -19
  265. package/lib/icon/index.d.ts +3 -0
  266. package/lib/inputs/color-input/color-input.types.d.ts +2 -2
  267. package/lib/inputs/digit-input/digit-input.component.d.ts +22 -30
  268. package/lib/inputs/digit-input/digit-input.model.d.ts +8 -12
  269. package/lib/inputs/digit-input/digit-input.types.d.ts +4 -4
  270. package/lib/inputs/digit-input/digit-input.utils.d.ts +4 -5
  271. package/lib/inputs/digit-input/index.d.ts +3 -0
  272. package/lib/inputs/hex-input/hex-input.component.d.ts +32 -38
  273. package/lib/inputs/hex-input/index.d.ts +3 -0
  274. package/lib/inputs/hex-input.model.d.ts +10 -11
  275. package/lib/inputs/input/index.d.ts +3 -0
  276. package/lib/inputs/input/input.component.d.ts +34 -40
  277. package/lib/inputs/input/input.directives.d.ts +3 -3
  278. package/lib/inputs/input-utils.d.ts +24 -27
  279. package/lib/inputs/number-input/index.d.ts +3 -0
  280. package/lib/inputs/number-input/number-input.component.d.ts +38 -48
  281. package/lib/inputs/password-input/index.d.ts +4 -0
  282. package/lib/inputs/password-input/password-input.component.d.ts +28 -40
  283. package/lib/inputs/password-input/password-input.types.d.ts +2 -2
  284. package/lib/inputs/simple-input/index.d.ts +3 -0
  285. package/lib/inputs/simple-input/simple-input.component.d.ts +30 -35
  286. package/lib/kbd/index.d.ts +3 -0
  287. package/lib/kbd/kbd.component.d.ts +6 -8
  288. package/lib/kbd-shortcut/index.d.ts +2 -0
  289. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +7 -10
  290. package/lib/modal/index.d.ts +2 -0
  291. package/lib/modal/modal.component.d.ts +22 -30
  292. package/lib/option/index.d.ts +2 -0
  293. package/lib/option/option.component.d.ts +11 -16
  294. package/lib/progress-bar/index.d.ts +4 -0
  295. package/lib/progress-bar/progress-bar.component.d.ts +14 -20
  296. package/lib/progress-bar/progress-bar.types.d.ts +2 -2
  297. package/lib/progress-circle/index.d.ts +4 -0
  298. package/lib/progress-circle/progress-circle.component.d.ts +12 -20
  299. package/lib/progress-circle/progress-circle.types.d.ts +2 -2
  300. package/lib/radio/index.d.ts +3 -0
  301. package/lib/radio/radio/radio.component.d.ts +7 -8
  302. package/lib/radio/radio-group.component.d.ts +13 -16
  303. package/lib/segment/index.d.ts +4 -0
  304. package/lib/segment/segment.component.d.ts +22 -34
  305. package/lib/segment/segment.directives.d.ts +2 -3
  306. package/lib/select/index.d.ts +4 -0
  307. package/lib/select/select.component.d.ts +114 -160
  308. package/lib/select/select.directive.d.ts +3 -3
  309. package/lib/select/select.types.d.ts +2 -76
  310. package/lib/slide-toggle/index.d.ts +3 -0
  311. package/lib/slide-toggle/slide-toggle.component.d.ts +9 -7
  312. package/lib/slide-toggle/slide-toggle.types.d.ts +5 -0
  313. package/lib/slider/abstract-slider.d.ts +38 -55
  314. package/lib/slider/index.d.ts +6 -0
  315. package/lib/slider/range-slider/range-slider.component.d.ts +3 -1
  316. package/lib/slider/slider.component.d.ts +2 -0
  317. package/lib/slider/slider.types.d.ts +8 -8
  318. package/lib/snackbar/snackbar-ref.d.ts +1 -2
  319. package/lib/snackbar/snackbar.component.d.ts +3 -3
  320. package/lib/snackbar/snackbar.service.d.ts +2 -2
  321. package/lib/snackbar/snackbar.types.d.ts +4 -4
  322. package/lib/spinner/index.d.ts +2 -0
  323. package/lib/spinner/spinner.component.d.ts +3 -3
  324. package/lib/star/index.d.ts +3 -0
  325. package/lib/star/star-button/index.d.ts +2 -0
  326. package/lib/star/star-button/star-button.component.d.ts +7 -7
  327. package/lib/star/star-display/index.d.ts +2 -0
  328. package/lib/star/star-display/star-display.component.d.ts +8 -12
  329. package/lib/star/star-input/index.d.ts +2 -0
  330. package/lib/star/star-input/star-input.component.d.ts +17 -22
  331. package/lib/star/star.component.d.ts +5 -5
  332. package/lib/statebox/index.d.ts +3 -0
  333. package/lib/statebox/statebox.component.d.ts +15 -21
  334. package/lib/statebox/statebox.types.d.ts +12 -8
  335. package/lib/tabber/index.d.ts +3 -0
  336. package/lib/tabber/tab/tab.component.d.ts +18 -0
  337. package/lib/tabber/tabber.component.d.ts +25 -0
  338. package/lib/tabber/tabber.module.d.ts +9 -0
  339. package/lib/table/index.d.ts +4 -0
  340. package/lib/table/table-item-storage.d.ts +70 -58
  341. package/lib/table/table.component.d.ts +59 -78
  342. package/lib/table/table.directives.d.ts +4 -3
  343. package/lib/table-from-csv/index.d.ts +2 -0
  344. package/lib/table-from-csv/table-from-csv.component.d.ts +46 -9
  345. package/lib/table-pagination/index.d.ts +3 -0
  346. package/lib/table-pagination/table-pagination.component.d.ts +21 -30
  347. package/lib/types/item-storage.types.d.ts +19 -18
  348. package/lib/types/utility.types.d.ts +2 -1
  349. package/package.json +8 -9
  350. package/prebuilt-themes/default/badge.css +5 -5
  351. package/prebuilt-themes/default/buttons/fab.css +4 -3
  352. package/prebuilt-themes/default/buttons/fab.css.map +1 -1
  353. package/prebuilt-themes/default/card.css +7 -7
  354. package/prebuilt-themes/default/chips.css +3 -8
  355. package/prebuilt-themes/default/chips.css.map +1 -1
  356. package/prebuilt-themes/default/core.css +6 -3
  357. package/prebuilt-themes/default/core.css.map +1 -1
  358. package/prebuilt-themes/default/inputs/color-input.css +1 -1
  359. package/prebuilt-themes/default/inputs/digit-input.css +1 -1
  360. package/prebuilt-themes/default/inputs/file-input.css +139 -2
  361. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  362. package/prebuilt-themes/default/inputs/hex-input.css +2 -2
  363. package/prebuilt-themes/default/inputs/input.css +1 -1
  364. package/prebuilt-themes/default/inputs/search-bar.css +1 -1
  365. package/prebuilt-themes/default/inputs/simple-input.css +1 -1
  366. package/prebuilt-themes/default/modal.css +1 -1
  367. package/prebuilt-themes/default/segment.css +2 -2
  368. package/prebuilt-themes/default/segment.css.map +1 -1
  369. package/prebuilt-themes/default/select.css +5 -3
  370. package/prebuilt-themes/default/select.css.map +1 -1
  371. package/prebuilt-themes/default/snackbar.css +0 -1
  372. package/prebuilt-themes/default/snackbar.css.map +1 -1
  373. package/prebuilt-themes/default/tabber.css +207 -0
  374. package/prebuilt-themes/default/tabber.css.map +1 -0
  375. package/public-api.d.ts +43 -136
  376. package/themes/_variables.scss +121 -121
  377. package/themes/default/_clear-button.scss +73 -73
  378. package/themes/default/_coloring.scss +137 -137
  379. package/themes/default/_dropdown-arrow.scss +12 -12
  380. package/themes/default/_mixins.scss +70 -70
  381. package/themes/default/badge.scss +94 -94
  382. package/themes/default/buttons/_button-mixins.scss +144 -144
  383. package/themes/default/buttons/button.scss +62 -62
  384. package/themes/default/buttons/fab.scss +74 -72
  385. package/themes/default/buttons/icon-button.scss +59 -59
  386. package/themes/default/calendar.scss +182 -182
  387. package/themes/default/card.scss +126 -126
  388. package/themes/default/checkbox-list.scss +83 -83
  389. package/themes/default/checkbox.scss +109 -109
  390. package/themes/default/chips.scss +200 -206
  391. package/themes/default/color-display.scss +41 -41
  392. package/themes/default/color-picker.scss +111 -111
  393. package/themes/default/core.scss +99 -96
  394. package/themes/default/dialog.scss +16 -16
  395. package/themes/default/divider.scss +13 -13
  396. package/themes/default/dropdown-panel.scss +45 -45
  397. package/themes/default/file-drop-area.scss +162 -162
  398. package/themes/default/form-field-frame.scss +78 -78
  399. package/themes/default/inputs/_shared.scss +46 -46
  400. package/themes/default/inputs/color-input.scss +46 -46
  401. package/themes/default/inputs/digit-input.scss +56 -56
  402. package/themes/default/inputs/file-input.scss +85 -78
  403. package/themes/default/inputs/hex-input.scss +27 -27
  404. package/themes/default/inputs/input.scss +52 -52
  405. package/themes/default/inputs/number-input.scss +121 -121
  406. package/themes/default/inputs/password-input.scss +43 -43
  407. package/themes/default/inputs/search-bar.scss +19 -19
  408. package/themes/default/inputs/simple-input.scss +19 -19
  409. package/themes/default/kbd-shortcut.scss +13 -13
  410. package/themes/default/kbd.scss +20 -20
  411. package/themes/default/modal.scss +93 -93
  412. package/themes/default/progress-bar.scss +166 -166
  413. package/themes/default/progress-circle.scss +56 -56
  414. package/themes/default/radio.scss +112 -112
  415. package/themes/default/segment.scss +340 -339
  416. package/themes/default/select.scss +255 -253
  417. package/themes/default/slide-toggle.scss +151 -151
  418. package/themes/default/slider.scss +224 -224
  419. package/themes/default/snackbar.scss +58 -60
  420. package/themes/default/spinner.scss +21 -21
  421. package/themes/default/stars.scss +122 -122
  422. package/themes/default/statebox.scss +109 -109
  423. package/themes/default/tabber.scss +86 -0
  424. package/themes/default/table-pagination.scss +56 -56
  425. package/themes/default/table.scss +403 -403
  426. package/esm2022/lib/calendar/calendar.component.mjs +0 -979
  427. package/esm2022/lib/calendar/calendar.directives.mjs +0 -107
  428. package/esm2022/lib/calendar/calendar.helpers.mjs +0 -47
  429. package/esm2022/lib/calendar/calendar.module.mjs +0 -21
  430. package/esm2022/lib/calendar/calendar.types.mjs +0 -11
  431. package/esm2022/lib/color/color-picker/color-picker.component.mjs +0 -484
  432. package/esm2022/lib/color/color-picker/color-picker.directives.mjs +0 -55
  433. package/esm2022/lib/color/color-picker/color-picker.module.mjs +0 -43
  434. package/esm2022/lib/inputs/color-input/color-input.component.mjs +0 -421
  435. package/esm2022/lib/inputs/color-input/color-input.module.mjs +0 -85
  436. package/lib/calendar/calendar.component.d.ts +0 -155
  437. package/lib/calendar/calendar.directives.d.ts +0 -51
  438. package/lib/calendar/calendar.helpers.d.ts +0 -15
  439. package/lib/calendar/calendar.module.d.ts +0 -11
  440. package/lib/calendar/calendar.types.d.ts +0 -80
  441. package/lib/color/color-picker/color-picker.component.d.ts +0 -125
  442. package/lib/color/color-picker/color-picker.directives.d.ts +0 -27
  443. package/lib/color/color-picker/color-picker.module.d.ts +0 -13
  444. package/lib/inputs/color-input/color-input.component.d.ts +0 -147
  445. package/lib/inputs/color-input/color-input.module.d.ts +0 -16
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, HostListener, ViewEncapsulation } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostListener, ViewEncapsulation, signal } from '@angular/core';
2
2
  import { roundToPrecision } from 'more-rounding';
3
3
  import { isNumber, isObject } from 'simple-bool';
4
4
  import { _AbstractSlider } from '../abstract-slider';
@@ -7,23 +7,25 @@ import * as i1 from "@angular/common";
7
7
  export class ArdiumRangeSliderComponent extends _AbstractSlider {
8
8
  constructor() {
9
9
  super(...arguments);
10
+ this.componentId = '106';
11
+ this.componentName = 'range-slider';
10
12
  this._value = { low: -Infinity, high: Infinity };
11
13
  //! tooltip updater
12
14
  this._tooltipValue = this.value;
13
15
  //! handle focus monitors
14
- this.currentHandle = null;
16
+ this.currentHandle = signal(null);
15
17
  }
16
18
  ngOnInit() {
17
- if (this._value.low != -Infinity && this._value.high != Infinity)
19
+ if (this._value.low !== -Infinity && this._value.high !== Infinity)
18
20
  return;
19
- this.writeValue({ low: this._min, high: this._max });
21
+ this.writeValue({ low: this.min(), high: this.max() });
20
22
  }
21
23
  //! writeValue
22
24
  _isValidObject(v) {
23
25
  return isObject(v) && isNumber(v['low']) && isNumber(v['high']);
24
26
  }
25
27
  _isValidTuple(v) {
26
- return Array.isArray(v) && isNumber(v[0]) && isNumber(v[1]) && v.length == 2;
28
+ return Array.isArray(v) && isNumber(v[0]) && isNumber(v[1]) && v.length === 2;
27
29
  }
28
30
  _arrayValueToObjectValue(v) {
29
31
  return { low: v[0], high: v[1] };
@@ -48,9 +50,9 @@ export class ArdiumRangeSliderComponent extends _AbstractSlider {
48
50
  low = v[0];
49
51
  high = v[1];
50
52
  }
51
- let lowClamped = this._clampValue(low);
52
- let highClamped = this._clampValue(high);
53
- let value = this._arrayValueToObjectValue([lowClamped, highClamped]);
53
+ const lowClamped = this._clampValue(low);
54
+ const highClamped = this._clampValue(high);
55
+ const value = this._arrayValueToObjectValue([lowClamped, highClamped]);
54
56
  this._value = value;
55
57
  this._positionPercent[0] = this._valueToPercent(lowClamped);
56
58
  this._positionPercent[1] = this._valueToPercent(highClamped);
@@ -63,10 +65,11 @@ export class ArdiumRangeSliderComponent extends _AbstractSlider {
63
65
  this.writeValue(v);
64
66
  }
65
67
  _updateTooltipValue() {
66
- let v = Object.create(this._value);
67
- if (this.tooltipFormat) {
68
- v.low = this.tooltipFormat(v.low);
69
- v.high = this.tooltipFormat(v.high);
68
+ const v = Object.create(this._value);
69
+ const formatFn = this.tooltipFormat();
70
+ if (formatFn) {
71
+ v.low = formatFn(v.low);
72
+ v.high = formatFn(v.high);
70
73
  }
71
74
  this._tooltipValue = v;
72
75
  }
@@ -101,17 +104,17 @@ export class ArdiumRangeSliderComponent extends _AbstractSlider {
101
104
  this._bodyHasClass = true;
102
105
  this.renderer.addClass(this.document.body, 'ard-prevent-touch-actions');
103
106
  }
104
- this._writeValueFromEvent(event, this._isGrabbed);
107
+ this._writeValueFromEvent(event, this._grabbedHandleId());
105
108
  }
106
109
  //! position calculators
107
110
  _percentValueToValue(percent, handleId) {
108
- const minMaxDifference = Math.abs(this._min - this._max);
109
- let newVal = percent * minMaxDifference + this._min;
111
+ const minMaxDifference = Math.abs(this.min() - this.max());
112
+ let newVal = percent * minMaxDifference + this.min();
110
113
  //round to 9 decimal places to avoid floating point arithmetic errors
111
114
  //9 is an arbitrary number that just works well. ¯\_(ツ)_/¯
112
115
  newVal = roundToPrecision(newVal, 9);
113
116
  const newValObj = { low: this._value.low, high: this._value.high };
114
- if (handleId == 1) {
117
+ if (handleId === 1) {
115
118
  newValObj.low = newVal;
116
119
  }
117
120
  else {
@@ -121,18 +124,18 @@ export class ArdiumRangeSliderComponent extends _AbstractSlider {
121
124
  }
122
125
  onHandleFocus(event, handleId) {
123
126
  this.onFocus(event);
124
- this.currentHandle = handleId;
127
+ this.currentHandle.set(handleId);
125
128
  }
126
129
  onBlur(event) {
127
130
  super.onBlur(event);
128
- this.currentHandle = null;
131
+ this.currentHandle.set(null);
129
132
  }
130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumRangeSliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
131
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: ArdiumRangeSliderComponent, selector: "ard-range-slider", host: { listeners: { "document:mousemove": "onPointerMove($event)", "document:touchmove": "onPointerMove($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ard-range-slider-container-master\"\r\n [ngClass]=\"ngClasses\"\r\n [class.ard-slider-handle-grabbed]=\"isSliderHandleGrabbed\"\r\n [style]=\"{'--_ard-slider-transition': sliderTransition }\"\r\n>\r\n <div class=\"ard-slider-container\">\r\n <div #track\r\n class=\"ard-slider-track\"\r\n (pointerdown)=\"onTrackHitboxPointerDown($event)\"\r\n >\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-slider-track-overlay ard-slider-track-inactive\"></div>\r\n <div \r\n class=\"ard-slider-track-overlay ard-slider-track-active\"\r\n [style]=\"{\r\n left: trackOverlayLeft,\r\n width: trackOverlayWidth\r\n }\"\r\n ></div>\r\n <div class=\"ard-value-tick-container\" *ngIf=\"showValueTicks\">\r\n <div class=\"ard-value-tick\" *ngFor=\"let left of tickArray\" [style]=\"{left: left}\"></div>\r\n </div>\r\n </div>\r\n <button #focusableElement\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed && currentHandle == 1\"\r\n (pointerdown)=\"onPointerDownOnHandle($event, 1)\"\r\n (focus)=\"onHandleFocus($event, 1)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{left: getHandlePosition(1)}\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n <div class=\"ard-slider-tooltip-wrapper\"\r\n *ngIf=\"tooltipBehavior != 'never'\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior == 'always'\"\r\n [style]=\"{left: getHandlePosition(1)}\"\r\n >\r\n <ng-template #defaultTooltipTemplate let-value>\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n \r\n <ng-template [ngTemplateOutlet]=\"tooltipTemplate || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext('low')\">\r\n </ng-template>\r\n </div>\r\n <button\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed && currentHandle == 2\"\r\n (pointerdown)=\"onPointerDownOnHandle($event, 2)\"\r\n (focus)=\"onHandleFocus($event, 2)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{left: getHandlePosition(2)}\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n <div class=\"ard-slider-tooltip-wrapper\"\r\n *ngIf=\"tooltipBehavior != 'never'\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior == 'always'\"\r\n [style]=\"{left: getHandlePosition(2)}\"\r\n >\r\n <ng-template #defaultTooltipTemplate let-value>\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n \r\n <ng-template [ngTemplateOutlet]=\"tooltipTemplate || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext('high')\">\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"ard-slider-label-container\" *ngIf=\"labelObjects.length\">\r\n <div\r\n *ngFor=\"let label of labelObjects\"\r\n class=\"ard-slider-label\"\r\n [style]=\"{left: label.positionPercent}\"\r\n >{{ label.label }}</div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #handleThumbBase>\r\n <div class=\"ard-slide-thumb\">Test</div>\r\n</ng-template>", styles: ["body.ard-prevent-touch-actions,body.ard-prevent-touch-actions *{touch-action:none}.ard-range-slider-container-master{display:flex;flex-direction:column}.ard-range-slider-container-master.ard-labels-top{flex-direction:column-reverse}.ard-range-slider-container-master .ard-slider-tooltip-wrapper{position:absolute;transform:translate(-50%);pointer-events:none}.ard-range-slider-container-master.ard-tooltip-top .ard-slider-tooltip-wrapper{bottom:100%}.ard-range-slider-container-master.ard-tooltip-bottom .ard-slider-tooltip-wrapper{top:100%}.ard-range-slider-container-master .ard-slider-handle{position:absolute;left:0;transform:translate(-50%)}.ard-range-slider-container-master .ard-slider-tooltip,.ard-range-slider-container-master .ard-slider-track,.ard-range-slider-container-master .ard-value-tick-container{position:relative}.ard-range-slider-container-master .ard-value-tick{position:absolute}.ard-range-slider-container-master .ard-slider-label-container{position:relative;width:100%;height:1em}.ard-range-slider-container-master .ard-slider-label{position:absolute;line-height:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
133
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumRangeSliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumRangeSliderComponent, selector: "ard-range-slider", host: { listeners: { "document:mousemove": "onPointerMove($event)", "document:touchmove": "onPointerMove($event)" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-range-slider-container-master\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-slider-handle-grabbed]=\"isSliderHandleGrabbed()\"\r\n [style]=\"{ '--_ard-slider-transition': sliderTransition() }\"\r\n>\r\n <div class=\"ard-slider-container\">\r\n <div\r\n #track\r\n class=\"ard-slider-track\"\r\n (pointerdown)=\"onTrackHitboxPointerDown($event)\"\r\n >\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-slider-track-overlay ard-slider-track-inactive\"></div>\r\n <div\r\n class=\"ard-slider-track-overlay ard-slider-track-active\"\r\n [style]=\"{\r\n left: trackOverlayLeft,\r\n width: trackOverlayWidth\r\n }\"\r\n ></div>\r\n @if (showValueTicks()) {\r\n <div class=\"ard-value-tick-container\">\r\n @for (tick of _tickArray(); track tick) {\r\n <div\r\n class=\"ard-value-tick\"\r\n [style]=\"{ left: tick }\"\r\n ></div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <button\r\n #focusableElement\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex()\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed() && currentHandle() === 1\"\r\n (pointerdown)=\"onPointerDownOnHandle($event, 1)\"\r\n (focus)=\"onHandleFocus($event, 1)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{ left: getHandlePosition(1) }\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n @if (tooltipBehavior() !== 'never') {\r\n <div\r\n class=\"ard-slider-tooltip-wrapper\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior() === 'always'\"\r\n [style]=\"{ left: getHandlePosition(1) }\"\r\n >\r\n <ng-template\r\n #defaultTooltipTemplate\r\n let-value\r\n >\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"tooltipTemplate()?.template || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext('low')\"\r\n >\r\n </ng-template>\r\n </div>\r\n }\r\n <button\r\n #focusableElement\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex()\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed() && currentHandle() === 2\"\r\n (pointerdown)=\"onPointerDownOnHandle($event, 2)\"\r\n (focus)=\"onHandleFocus($event, 2)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{ left: getHandlePosition(2) }\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n @if (tooltipBehavior() !== 'never') {\r\n <div\r\n class=\"ard-slider-tooltip-wrapper\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior() === 'always'\"\r\n [style]=\"{ left: getHandlePosition(2) }\"\r\n >\r\n <ng-template\r\n #defaultTooltipTemplate\r\n let-value\r\n >\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"tooltipTemplate()?.template || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext('high')\"\r\n >\r\n </ng-template>\r\n </div>\r\n }\r\n </div>\r\n @if (labelObjects().length) {\r\n <div\r\n class=\"ard-slider-label-container\"\r\n *ngIf=\"labelObjects.length\"\r\n >\r\n @for (label of labelObjects(); track $index) {\r\n <div\r\n class=\"ard-slider-label\"\r\n [style]=\"{ left: label.positionPercent }\"\r\n >\r\n {{ label.label }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #handleThumbBase>\r\n <div class=\"ard-slide-thumb\"></div>\r\n</ng-template>\r\n", styles: ["body.ard-prevent-touch-actions,body.ard-prevent-touch-actions *{touch-action:none}.ard-range-slider-container-master{display:flex;flex-direction:column}.ard-range-slider-container-master.ard-labels-top{flex-direction:column-reverse}.ard-range-slider-container-master .ard-slider-tooltip-wrapper{position:absolute;transform:translate(-50%);pointer-events:none}.ard-range-slider-container-master.ard-tooltip-top .ard-slider-tooltip-wrapper{bottom:100%}.ard-range-slider-container-master.ard-tooltip-bottom .ard-slider-tooltip-wrapper{top:100%}.ard-range-slider-container-master .ard-slider-handle{position:absolute;left:0;transform:translate(-50%)}.ard-range-slider-container-master .ard-slider-tooltip,.ard-range-slider-container-master .ard-slider-track,.ard-range-slider-container-master .ard-value-tick-container{position:relative}.ard-range-slider-container-master .ard-value-tick{position:absolute}.ard-range-slider-container-master .ard-slider-label-container{position:relative;width:100%;height:1em}.ard-range-slider-container-master .ard-slider-label{position:absolute;line-height:1em}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
132
135
  }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumRangeSliderComponent, decorators: [{
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumRangeSliderComponent, decorators: [{
134
137
  type: Component,
135
- args: [{ selector: 'ard-range-slider', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ard-range-slider-container-master\"\r\n [ngClass]=\"ngClasses\"\r\n [class.ard-slider-handle-grabbed]=\"isSliderHandleGrabbed\"\r\n [style]=\"{'--_ard-slider-transition': sliderTransition }\"\r\n>\r\n <div class=\"ard-slider-container\">\r\n <div #track\r\n class=\"ard-slider-track\"\r\n (pointerdown)=\"onTrackHitboxPointerDown($event)\"\r\n >\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-slider-track-overlay ard-slider-track-inactive\"></div>\r\n <div \r\n class=\"ard-slider-track-overlay ard-slider-track-active\"\r\n [style]=\"{\r\n left: trackOverlayLeft,\r\n width: trackOverlayWidth\r\n }\"\r\n ></div>\r\n <div class=\"ard-value-tick-container\" *ngIf=\"showValueTicks\">\r\n <div class=\"ard-value-tick\" *ngFor=\"let left of tickArray\" [style]=\"{left: left}\"></div>\r\n </div>\r\n </div>\r\n <button #focusableElement\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed && currentHandle == 1\"\r\n (pointerdown)=\"onPointerDownOnHandle($event, 1)\"\r\n (focus)=\"onHandleFocus($event, 1)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{left: getHandlePosition(1)}\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n <div class=\"ard-slider-tooltip-wrapper\"\r\n *ngIf=\"tooltipBehavior != 'never'\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior == 'always'\"\r\n [style]=\"{left: getHandlePosition(1)}\"\r\n >\r\n <ng-template #defaultTooltipTemplate let-value>\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n \r\n <ng-template [ngTemplateOutlet]=\"tooltipTemplate || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext('low')\">\r\n </ng-template>\r\n </div>\r\n <button\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed && currentHandle == 2\"\r\n (pointerdown)=\"onPointerDownOnHandle($event, 2)\"\r\n (focus)=\"onHandleFocus($event, 2)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{left: getHandlePosition(2)}\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n <div class=\"ard-slider-tooltip-wrapper\"\r\n *ngIf=\"tooltipBehavior != 'never'\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior == 'always'\"\r\n [style]=\"{left: getHandlePosition(2)}\"\r\n >\r\n <ng-template #defaultTooltipTemplate let-value>\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n \r\n <ng-template [ngTemplateOutlet]=\"tooltipTemplate || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext('high')\">\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"ard-slider-label-container\" *ngIf=\"labelObjects.length\">\r\n <div\r\n *ngFor=\"let label of labelObjects\"\r\n class=\"ard-slider-label\"\r\n [style]=\"{left: label.positionPercent}\"\r\n >{{ label.label }}</div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #handleThumbBase>\r\n <div class=\"ard-slide-thumb\">Test</div>\r\n</ng-template>", styles: ["body.ard-prevent-touch-actions,body.ard-prevent-touch-actions *{touch-action:none}.ard-range-slider-container-master{display:flex;flex-direction:column}.ard-range-slider-container-master.ard-labels-top{flex-direction:column-reverse}.ard-range-slider-container-master .ard-slider-tooltip-wrapper{position:absolute;transform:translate(-50%);pointer-events:none}.ard-range-slider-container-master.ard-tooltip-top .ard-slider-tooltip-wrapper{bottom:100%}.ard-range-slider-container-master.ard-tooltip-bottom .ard-slider-tooltip-wrapper{top:100%}.ard-range-slider-container-master .ard-slider-handle{position:absolute;left:0;transform:translate(-50%)}.ard-range-slider-container-master .ard-slider-tooltip,.ard-range-slider-container-master .ard-slider-track,.ard-range-slider-container-master .ard-value-tick-container{position:relative}.ard-range-slider-container-master .ard-value-tick{position:absolute}.ard-range-slider-container-master .ard-slider-label-container{position:relative;width:100%;height:1em}.ard-range-slider-container-master .ard-slider-label{position:absolute;line-height:1em}\n"] }]
138
+ args: [{ selector: 'ard-range-slider', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"ard-range-slider-container-master\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-slider-handle-grabbed]=\"isSliderHandleGrabbed()\"\r\n [style]=\"{ '--_ard-slider-transition': sliderTransition() }\"\r\n>\r\n <div class=\"ard-slider-container\">\r\n <div\r\n #track\r\n class=\"ard-slider-track\"\r\n (pointerdown)=\"onTrackHitboxPointerDown($event)\"\r\n >\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-slider-track-overlay ard-slider-track-inactive\"></div>\r\n <div\r\n class=\"ard-slider-track-overlay ard-slider-track-active\"\r\n [style]=\"{\r\n left: trackOverlayLeft,\r\n width: trackOverlayWidth\r\n }\"\r\n ></div>\r\n @if (showValueTicks()) {\r\n <div class=\"ard-value-tick-container\">\r\n @for (tick of _tickArray(); track tick) {\r\n <div\r\n class=\"ard-value-tick\"\r\n [style]=\"{ left: tick }\"\r\n ></div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <button\r\n #focusableElement\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex()\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed() && currentHandle() === 1\"\r\n (pointerdown)=\"onPointerDownOnHandle($event, 1)\"\r\n (focus)=\"onHandleFocus($event, 1)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{ left: getHandlePosition(1) }\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n @if (tooltipBehavior() !== 'never') {\r\n <div\r\n class=\"ard-slider-tooltip-wrapper\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior() === 'always'\"\r\n [style]=\"{ left: getHandlePosition(1) }\"\r\n >\r\n <ng-template\r\n #defaultTooltipTemplate\r\n let-value\r\n >\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"tooltipTemplate()?.template || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext('low')\"\r\n >\r\n </ng-template>\r\n </div>\r\n }\r\n <button\r\n #focusableElement\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex()\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed() && currentHandle() === 2\"\r\n (pointerdown)=\"onPointerDownOnHandle($event, 2)\"\r\n (focus)=\"onHandleFocus($event, 2)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{ left: getHandlePosition(2) }\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n @if (tooltipBehavior() !== 'never') {\r\n <div\r\n class=\"ard-slider-tooltip-wrapper\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior() === 'always'\"\r\n [style]=\"{ left: getHandlePosition(2) }\"\r\n >\r\n <ng-template\r\n #defaultTooltipTemplate\r\n let-value\r\n >\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"tooltipTemplate()?.template || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext('high')\"\r\n >\r\n </ng-template>\r\n </div>\r\n }\r\n </div>\r\n @if (labelObjects().length) {\r\n <div\r\n class=\"ard-slider-label-container\"\r\n *ngIf=\"labelObjects.length\"\r\n >\r\n @for (label of labelObjects(); track $index) {\r\n <div\r\n class=\"ard-slider-label\"\r\n [style]=\"{ left: label.positionPercent }\"\r\n >\r\n {{ label.label }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #handleThumbBase>\r\n <div class=\"ard-slide-thumb\"></div>\r\n</ng-template>\r\n", styles: ["body.ard-prevent-touch-actions,body.ard-prevent-touch-actions *{touch-action:none}.ard-range-slider-container-master{display:flex;flex-direction:column}.ard-range-slider-container-master.ard-labels-top{flex-direction:column-reverse}.ard-range-slider-container-master .ard-slider-tooltip-wrapper{position:absolute;transform:translate(-50%);pointer-events:none}.ard-range-slider-container-master.ard-tooltip-top .ard-slider-tooltip-wrapper{bottom:100%}.ard-range-slider-container-master.ard-tooltip-bottom .ard-slider-tooltip-wrapper{top:100%}.ard-range-slider-container-master .ard-slider-handle{position:absolute;left:0;transform:translate(-50%)}.ard-range-slider-container-master .ard-slider-tooltip,.ard-range-slider-container-master .ard-slider-track,.ard-range-slider-container-master .ard-value-tick-container{position:relative}.ard-range-slider-container-master .ard-value-tick{position:absolute}.ard-range-slider-container-master .ard-slider-label-container{position:relative;width:100%;height:1em}.ard-range-slider-container-master .ard-slider-label{position:absolute;line-height:1em}\n"] }]
136
139
  }], propDecorators: { onPointerMove: [{
137
140
  type: HostListener,
138
141
  args: ['document:mousemove', ['$event']]
@@ -140,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
140
143
  type: HostListener,
141
144
  args: ['document:touchmove', ['$event']]
142
145
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3JhbmdlLXNsaWRlci9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zbGlkZXIvcmFuZ2Utc2xpZGVyL3JhbmdlLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFXckQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGVBQTRCO0lBUDVFOztRQVFZLFdBQU0sR0FBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBbURuRSxtQkFBbUI7UUFDbkIsa0JBQWEsR0FBaUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQWtFekQseUJBQXlCO1FBQ3pCLGtCQUFhLEdBQWlCLElBQUksQ0FBQztLQVVwQztJQS9IQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxRQUFRO1lBQUUsT0FBTztRQUV6RSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUs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QUFHLE1BQU0sQ0FBQztTQUN6QjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFJRCxhQUFhLENBQUMsS0FBaUIsRUFBRSxRQUFlO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7SUFDaEMsQ0FBQztJQUNRLE1BQU0sQ0FBQyxLQUFpQjtRQUMvQixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7OEdBaklVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHNNQ2R2Qyx1d0hBcUZjOzsyRkR2RUQsMEJBQTBCO2tCQVB0QyxTQUFTOytCQUNFLGtCQUFrQixpQkFHYixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQStGL0MsYUFBYTtzQkFGWixZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDN0MsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyByb3VuZFRvUHJlY2lzaW9uIH0gZnJvbSAnbW9yZS1yb3VuZGluZyc7XHJcbmltcG9ydCB7IGlzTnVtYmVyLCBpc09iamVjdCB9IGZyb20gJ3NpbXBsZS1ib29sJztcclxuaW1wb3J0IHsgX0Fic3RyYWN0U2xpZGVyIH0gZnJvbSAnLi4vYWJzdHJhY3Qtc2xpZGVyJztcclxuaW1wb3J0IHsgU2xpZGVyUmFuZ2UsIFNsaWRlclRvb2x0aXBDb250ZXh0IH0gZnJvbSAnLi4vc2xpZGVyLnR5cGVzJztcclxuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcmQtcmFuZ2Utc2xpZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtUmFuZ2VTbGlkZXJDb21wb25lbnQgZXh0ZW5kcyBfQWJzdHJhY3RTbGlkZXI8U2xpZGVyUmFuZ2U+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcm90ZWN0ZWQgX3ZhbHVlOiBTbGlkZXJSYW5nZSA9IHsgbG93OiAtSW5maW5pdHksIGhpZ2g6IEluZmluaXR5IH07XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3ZhbHVlLmxvdyAhPSAtSW5maW5pdHkgJiYgdGhpcy5fdmFsdWUuaGlnaCAhPSBJbmZpbml0eSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMud3JpdGVWYWx1ZSh7IGxvdzogdGhpcy5fbWluLCBoaWdoOiB0aGlzLl9tYXggfSk7XHJcbiAgfVxyXG5cclxuICAvLyEgd3JpdGVWYWx1ZVxyXG4gIHByaXZhdGUgX2lzVmFsaWRPYmplY3QodjogYW55KTogdiBpcyBTbGlkZXJSYW5nZSB7XHJcbiAgICByZXR1cm4gaXNPYmplY3QodikgJiYgaXNOdW1iZXIodlsnbG93J10pICYmIGlzTnVtYmVyKHZbJ2hpZ2gnXSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzVmFsaWRUdXBsZSh2OiBhbnkpOiB2IGlzIFtudW1iZXIsIG51bWJlcl0ge1xyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodikgJiYgaXNOdW1iZXIodlswXSkgJiYgaXNOdW1iZXIodlsxXSkgJiYgdi5sZW5ndGggPT0gMjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYXJyYXlWYWx1ZVRvT2JqZWN0VmFsdWUodjogW251bWJlciwgbnVtYmVyXSk6IFNsaWRlclJhbmdlIHtcclxuICAgIHJldHVybiB7IGxvdzogdlswXSwgaGlnaDogdlsxXSB9O1xyXG4gIH1cclxuICBwcml2YXRlIF9ub3JtYWxpemVTbGlkZXJSYW5nZSh2OiBTbGlkZXJSYW5nZSk6IFNsaWRlclJhbmdlIHtcclxuICAgIGlmICh2LmxvdyA8PSB2LmhpZ2gpIHJldHVybiB2O1xyXG4gICAgcmV0dXJuIHsgbG93OiB2LmhpZ2gsIGhpZ2g6IHYubG93IH07XHJcbiAgfVxyXG4gIHdyaXRlVmFsdWUodjogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2lzVmFsaWRPYmplY3QodikgJiYgIXRoaXMuX2lzVmFsaWRUdXBsZSh2KSkge1xyXG4gICAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBsb3c6IG51bWJlciA9IC1JbmZpbml0eTtcclxuICAgIGxldCBoaWdoOiBudW1iZXIgPSBJbmZpbml0eTtcclxuICAgIGlmICh0aGlzLl9pc1ZhbGlkT2JqZWN0KHYpKSB7XHJcbiAgICAgIGxvdyA9IHYubG93O1xyXG4gICAgICBoaWdoID0gdi5oaWdoO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLl9pc1ZhbGlkVHVwbGUodikpIHtcclxuICAgICAgbG93ID0gdlswXTtcclxuICAgICAgaGlnaCA9IHZbMV07XHJcbiAgICB9XHJcbiAgICBsZXQgbG93Q2xhbXBlZCA9IHRoaXMuX2NsYW1wVmFsdWUobG93KTtcclxuICAgIGxldCBoaWdoQ2xhbXBlZCA9IHRoaXMuX2NsYW1wVmFsdWUoaGlnaCk7XHJcbiAgICBsZXQgdmFsdWU6IFNsaWRlclJhbmdlID0gdGhpcy5fYXJyYXlWYWx1ZVRvT2JqZWN0VmFsdWUoW2xvd0NsYW1wZWQsIGhpZ2hDbGFtcGVkXSk7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fcG9zaXRpb25QZXJjZW50WzBdID0gdGhpcy5fdmFsdWVUb1BlcmNlbnQobG93Q2xhbXBlZCk7XHJcbiAgICB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMV0gPSB0aGlzLl92YWx1ZVRvUGVyY2VudChoaWdoQ2xhbXBlZCk7XHJcbiAgICB0aGlzLl91cGRhdGVUb29sdGlwVmFsdWUoKTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IFNsaWRlclJhbmdlIHtcclxuICAgIHJldHVybiB0aGlzLl9ub3JtYWxpemVTbGlkZXJSYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZSh2KTtcclxuICB9XHJcblxyXG4gIC8vISB0b29sdGlwIHVwZGF0ZXJcclxuICBfdG9vbHRpcFZhbHVlOiBTbGlkZXJSYW5nZTxzdHJpbmcgfCBudW1iZXI+ID0gdGhpcy52YWx1ZTtcclxuXHJcbiAgcHJvdGVjdGVkIF91cGRhdGVUb29sdGlwVmFsdWUoKTogdm9pZCB7XHJcbiAgICBsZXQgdjogU2xpZGVyUmFuZ2U8c3RyaW5nIHwgbnVtYmVyPiA9IE9iamVjdC5jcmVhdGUodGhpcy5fdmFsdWUpO1xyXG4gICAgaWYgKHRoaXMudG9vbHRpcEZvcm1hdCkge1xyXG4gICAgICB2LmxvdyA9IHRoaXMudG9vbHRpcEZvcm1hdCh2LmxvdyBhcyBudW1iZXIpO1xyXG4gICAgICB2LmhpZ2ggPSB0aGlzLnRvb2x0aXBGb3JtYXQodi5oaWdoIGFzIG51bWJlcik7XHJcbiAgICB9XHJcbiAgICB0aGlzLl90b29sdGlwVmFsdWUgPSB2O1xyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcENvbnRleHQodHlwZTogJ2xvdycgfCAnaGlnaCcpOiBTbGlkZXJUb29sdGlwQ29udGV4dCB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB2YWx1ZTogdGhpcy5fdG9vbHRpcFZhbHVlW3R5cGVdLFxyXG4gICAgICAkaW1wbGljaXQ6IHRoaXMuX3Rvb2x0aXBWYWx1ZVt0eXBlXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvLyEgbWV0aG9kcyBmb3IgcHJvZ3JhbW1hdGljIG1hbmlwdWxhdGlvblxyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB7IGxvdzogLUluZmluaXR5LCBoaWdoOiBJbmZpbml0eSB9O1xyXG4gICAgdGhpcy5fcG9zaXRpb25QZXJjZW50WzBdID0gMDtcclxuICAgIHRoaXMuX3Bvc2l0aW9uUGVyY2VudFsxXSA9IDE7XHJcbiAgfVxyXG5cclxuICAvLyEgdHJhY2sgb3ZlcmxheSBnZXR0ZXJzXHJcbiAgZ2V0IHRyYWNrT3ZlcmxheUxlZnQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBNYXRoLm1pbiguLi50aGlzLl9wb3NpdGlvblBlcmNlbnQpICogMTAwICsgJyUnO1xyXG4gIH1cclxuICBnZXQgdHJhY2tPdmVybGF5V2lkdGgoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBNYXRoLmFicyh0aGlzLl9wb3NpdGlvblBlcmNlbnRbMF0gLSB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMV0hKSAqIDEwMCArICclJztcclxuICB9XHJcblxyXG4gIC8vISBldmVudCBoYW5kbGVyc1xyXG4gIG9uVHJhY2tIaXRib3hQb2ludGVyRG93bihldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuX3dyaXRlVmFsdWVGcm9tRXZlbnQoZXZlbnQpO1xyXG4gICAgdGhpcy5vblBvaW50ZXJEb3duT25IYW5kbGUoZXZlbnQpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OnRvdWNobW92ZScsIFsnJGV2ZW50J10pXHJcbiAgb25Qb2ludGVyTW92ZShldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fc2hvdWxkQ2hlY2tGb3JNb3ZlbWVudCkgcmV0dXJuO1xyXG4gICAgaWYgKCF0aGlzLl9ib2R5SGFzQ2xhc3MpIHtcclxuICAgICAgdGhpcy5fYm9keUhhc0NsYXNzID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdhcmQtcHJldmVudC10b3VjaC1hY3Rpb25zJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl93cml0ZVZhbHVlRnJvbUV2ZW50KGV2ZW50LCB0aGlzLl9pc0dyYWJiZWQpO1xyXG4gIH1cclxuXHJcbiAgLy8hIHBvc2l0aW9uIGNhbGN1bGF0b3JzXHJcbiAgcHJvdGVjdGVkIF9wZXJjZW50VmFsdWVUb1ZhbHVlKHBlcmNlbnQ6IG51bWJlciwgaGFuZGxlSWQ6IG51bWJlcik6IFNsaWRlclJhbmdlIHtcclxuICAgIGNvbnN0IG1pbk1heERpZmZlcmVuY2UgPSBNYXRoLmFicyh0aGlzLl9taW4gLSB0aGlzLl9tYXgpO1xyXG4gICAgbGV0IG5ld1ZhbCA9IHBlcmNlbnQgKiBtaW5NYXhEaWZmZXJlbmNlICsgdGhpcy5fbWluO1xyXG4gICAgLy9yb3VuZCB0byA5IGRlY2ltYWwgcGxhY2VzIHRvIGF2b2lkIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgZXJyb3JzXHJcbiAgICAvLzkgaXMgYW4gYXJiaXRyYXJ5IG51bWJlciB0aGF0IGp1c3Qgd29ya3Mgd2VsbC4gwq9cXF8o44OEKV8vwq9cclxuICAgIG5ld1ZhbCA9IHJvdW5kVG9QcmVjaXNpb24obmV3VmFsLCA5KTtcclxuXHJcbiAgICBjb25zdCBuZXdWYWxPYmogPSB7IGxvdzogdGhpcy5fdmFsdWUubG93LCBoaWdoOiB0aGlzLl92YWx1ZS5oaWdoIH07XHJcbiAgICBpZiAoaGFuZGxlSWQgPT0gMSkge1xyXG4gICAgICBuZXdWYWxPYmoubG93ID0gbmV3VmFsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmV3VmFsT2JqLmhpZ2ggPSBuZXdWYWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3VmFsT2JqO1xyXG4gIH1cclxuXHJcbiAgLy8hIGhhbmRsZSBmb2N1cyBtb25pdG9yc1xyXG4gIGN1cnJlbnRIYW5kbGU6IDEgfCAyIHwgbnVsbCA9IG51bGw7XHJcbiAgb25IYW5kbGVGb2N1cyhldmVudDogRm9jdXNFdmVudCwgaGFuZGxlSWQ6IDEgfCAyKSB7XHJcbiAgICB0aGlzLm9uRm9jdXMoZXZlbnQpO1xyXG5cclxuICAgIHRoaXMuY3VycmVudEhhbmRsZSA9IGhhbmRsZUlkO1xyXG4gIH1cclxuICBvdmVycmlkZSBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcclxuICAgIHN1cGVyLm9uQmx1cihldmVudCk7XHJcbiAgICB0aGlzLmN1cnJlbnRIYW5kbGUgPSBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXJkLXJhbmdlLXNsaWRlci1jb250YWluZXItbWFzdGVyXCJcclxuICAgIFtuZ0NsYXNzXT1cIm5nQ2xhc3Nlc1wiXHJcbiAgICBbY2xhc3MuYXJkLXNsaWRlci1oYW5kbGUtZ3JhYmJlZF09XCJpc1NsaWRlckhhbmRsZUdyYWJiZWRcIlxyXG4gICAgW3N0eWxlXT1cInsnLS1fYXJkLXNsaWRlci10cmFuc2l0aW9uJzogc2xpZGVyVHJhbnNpdGlvbiB9XCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cImFyZC1zbGlkZXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiAjdHJhY2tcclxuICAgICAgICAgICAgY2xhc3M9XCJhcmQtc2xpZGVyLXRyYWNrXCJcclxuICAgICAgICAgICAgKHBvaW50ZXJkb3duKT1cIm9uVHJhY2tIaXRib3hQb2ludGVyRG93bigkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtaGl0Ym94XCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtc2xpZGVyLXRyYWNrLW92ZXJsYXkgYXJkLXNsaWRlci10cmFjay1pbmFjdGl2ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhcmQtc2xpZGVyLXRyYWNrLW92ZXJsYXkgYXJkLXNsaWRlci10cmFjay1hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlXT1cIntcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiB0cmFja092ZXJsYXlMZWZ0LFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB0cmFja092ZXJsYXlXaWR0aFxyXG4gICAgICAgICAgICAgICAgfVwiXHJcbiAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC12YWx1ZS10aWNrLWNvbnRhaW5lclwiICpuZ0lmPVwic2hvd1ZhbHVlVGlja3NcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtdmFsdWUtdGlja1wiICpuZ0Zvcj1cImxldCBsZWZ0IG9mIHRpY2tBcnJheVwiIFtzdHlsZV09XCJ7bGVmdDogbGVmdH1cIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiAjZm9jdXNhYmxlRWxlbWVudFxyXG4gICAgICAgICAgICBjbGFzcz1cImFyZC1zbGlkZXItaGFuZGxlXCJcclxuICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcclxuICAgICAgICAgICAgW2NsYXNzLmFyZC1ncmFiYmVkXT1cImlzU2xpZGVySGFuZGxlR3JhYmJlZCAmJiBjdXJyZW50SGFuZGxlID09IDFcIlxyXG4gICAgICAgICAgICAocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bk9uSGFuZGxlKCRldmVudCwgMSlcIlxyXG4gICAgICAgICAgICAoZm9jdXMpPVwib25IYW5kbGVGb2N1cygkZXZlbnQsIDEpXCJcclxuICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwie2xlZnQ6IGdldEhhbmRsZVBvc2l0aW9uKDEpfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1oaXRib3hcIj48L2Rpdj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci10b29sdGlwLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAqbmdJZj1cInRvb2x0aXBCZWhhdmlvciAhPSAnbmV2ZXInXCJcclxuICAgICAgICAgICAgW2NsYXNzLmFyZC10b29sdGlwLWFsd2F5c109XCJ0b29sdGlwQmVoYXZpb3IgPT0gJ2Fsd2F5cydcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwie2xlZnQ6IGdldEhhbmRsZVBvc2l0aW9uKDEpfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUb29sdGlwVGVtcGxhdGUgbGV0LXZhbHVlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1zbGlkZXItdG9vbHRpcFwiPnt7IHZhbHVlIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b29sdGlwVGVtcGxhdGUgfHwgZGVmYXVsdFRvb2x0aXBUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0VG9vbHRpcENvbnRleHQoJ2xvdycpXCI+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cImFyZC1zbGlkZXItaGFuZGxlXCJcclxuICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4XCJcclxuICAgICAgICAgICAgW2NsYXNzLmFyZC1ncmFiYmVkXT1cImlzU2xpZGVySGFuZGxlR3JhYmJlZCAmJiBjdXJyZW50SGFuZGxlID09IDJcIlxyXG4gICAgICAgICAgICAocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bk9uSGFuZGxlKCRldmVudCwgMilcIlxyXG4gICAgICAgICAgICAoZm9jdXMpPVwib25IYW5kbGVGb2N1cygkZXZlbnQsIDIpXCJcclxuICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwie2xlZnQ6IGdldEhhbmRsZVBvc2l0aW9uKDIpfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1oaXRib3hcIj48L2Rpdj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci10b29sdGlwLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAqbmdJZj1cInRvb2x0aXBCZWhhdmlvciAhPSAnbmV2ZXInXCJcclxuICAgICAgICAgICAgW2NsYXNzLmFyZC10b29sdGlwLWFsd2F5c109XCJ0b29sdGlwQmVoYXZpb3IgPT0gJ2Fsd2F5cydcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwie2xlZnQ6IGdldEhhbmRsZVBvc2l0aW9uKDIpfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUb29sdGlwVGVtcGxhdGUgbGV0LXZhbHVlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1zbGlkZXItdG9vbHRpcFwiPnt7IHZhbHVlIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b29sdGlwVGVtcGxhdGUgfHwgZGVmYXVsdFRvb2x0aXBUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0VG9vbHRpcENvbnRleHQoJ2hpZ2gnKVwiPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci1sYWJlbC1jb250YWluZXJcIiAqbmdJZj1cImxhYmVsT2JqZWN0cy5sZW5ndGhcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBsYWJlbE9iamVjdHNcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFyZC1zbGlkZXItbGFiZWxcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwie2xlZnQ6IGxhYmVsLnBvc2l0aW9uUGVyY2VudH1cIlxyXG4gICAgICAgID57eyBsYWJlbC5sYWJlbCB9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNoYW5kbGVUaHVtYkJhc2U+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlLXRodW1iXCI+VGVzdDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3JhbmdlLXNsaWRlci9yYW5nZS1zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zbGlkZXIvcmFuZ2Utc2xpZGVyL3JhbmdlLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBVXJELE1BQU0sT0FBTywwQkFBMkIsU0FBUSxlQUE0QjtJQVA1RTs7UUFRVyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixrQkFBYSxHQUFHLGNBQWMsQ0FBQztRQUU5QixXQUFNLEdBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztRQW1EbkUsbUJBQW1CO1FBQ25CLGtCQUFhLEdBQWlDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFtRXpELHlCQUF5QjtRQUNoQixrQkFBYSxHQUFHLE1BQU0sQ0FBZSxJQUFJLENBQUMsQ0FBQztLQVVyRDtJQWhJQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRO1lBQUUsT0FBTztRQUUzRSxJQUFJLENB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RSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRSxJQUFJLFFBQVEsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQixTQUFTLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUN6QixDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBSUQsYUFBYSxDQUFDLEtBQWlCLEVBQUUsUUFBZTtRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDUSxNQUFNLENBQUMsS0FBaUI7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQXJJVSwwQkFBMEI7a0dBQTFCLDBCQUEwQixzTUNidkMscXdIQXVIQTs7MkZEMUdhLDBCQUEwQjtrQkFQdEMsU0FBUzsrQkFDRSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFtRy9DLGFBQWE7c0JBRlosWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQzdDLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24sIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyByb3VuZFRvUHJlY2lzaW9uIH0gZnJvbSAnbW9yZS1yb3VuZGluZyc7XHJcbmltcG9ydCB7IGlzTnVtYmVyLCBpc09iamVjdCB9IGZyb20gJ3NpbXBsZS1ib29sJztcclxuaW1wb3J0IHsgX0Fic3RyYWN0U2xpZGVyIH0gZnJvbSAnLi4vYWJzdHJhY3Qtc2xpZGVyJztcclxuaW1wb3J0IHsgU2xpZGVyUmFuZ2UsIFNsaWRlclRvb2x0aXBDb250ZXh0IH0gZnJvbSAnLi4vc2xpZGVyLnR5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXJkLXJhbmdlLXNsaWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFuZ2Utc2xpZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bVJhbmdlU2xpZGVyQ29tcG9uZW50IGV4dGVuZHMgX0Fic3RyYWN0U2xpZGVyPFNsaWRlclJhbmdlPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgY29tcG9uZW50SWQgPSAnMTA2JztcclxuICByZWFkb25seSBjb21wb25lbnROYW1lID0gJ3JhbmdlLXNsaWRlcic7XHJcblxyXG4gIHByb3RlY3RlZCBfdmFsdWU6IFNsaWRlclJhbmdlID0geyBsb3c6IC1JbmZpbml0eSwgaGlnaDogSW5maW5pdHkgfTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fdmFsdWUubG93ICE9PSAtSW5maW5pdHkgJiYgdGhpcy5fdmFsdWUuaGlnaCAhPT0gSW5maW5pdHkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLndyaXRlVmFsdWUoeyBsb3c6IHRoaXMubWluKCksIGhpZ2g6IHRoaXMubWF4KCkgfSk7XHJcbiAgfVxyXG5cclxuICAvLyEgd3JpdGVWYWx1ZVxyXG4gIHByaXZhdGUgX2lzVmFsaWRPYmplY3QodjogYW55KTogdiBpcyBTbGlkZXJSYW5nZSB7XHJcbiAgICByZXR1cm4gaXNPYmplY3QodikgJiYgaXNOdW1iZXIodlsnbG93J10pICYmIGlzTnVtYmVyKHZbJ2hpZ2gnXSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzVmFsaWRUdXBsZSh2OiBhbnkpOiB2IGlzIFtudW1iZXIsIG51bWJlcl0ge1xyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodikgJiYgaXNOdW1iZXIodlswXSkgJiYgaXNOdW1iZXIodlsxXSkgJiYgdi5sZW5ndGggPT09IDI7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FycmF5VmFsdWVUb09iamVjdFZhbHVlKHY6IFtudW1iZXIsIG51bWJlcl0pOiBTbGlkZXJSYW5nZSB7XHJcbiAgICByZXR1cm4geyBsb3c6IHZbMF0sIGhpZ2g6IHZbMV0gfTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbm9ybWFsaXplU2xpZGVyUmFuZ2UodjogU2xpZGVyUmFuZ2UpOiBTbGlkZXJSYW5nZSB7XHJcbiAgICBpZiAodi5sb3cgPD0gdi5oaWdoKSByZXR1cm4gdjtcclxuICAgIHJldHVybiB7IGxvdzogdi5oaWdoLCBoaWdoOiB2LmxvdyB9O1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKHY6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkT2JqZWN0KHYpICYmICF0aGlzLl9pc1ZhbGlkVHVwbGUodikpIHtcclxuICAgICAgdGhpcy5yZXNldCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgbG93ID0gLUluZmluaXR5O1xyXG4gICAgbGV0IGhpZ2ggPSBJbmZpbml0eTtcclxuICAgIGlmICh0aGlzLl9pc1ZhbGlkT2JqZWN0KHYpKSB7XHJcbiAgICAgIGxvdyA9IHYubG93O1xyXG4gICAgICBoaWdoID0gdi5oaWdoO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLl9pc1ZhbGlkVHVwbGUodikpIHtcclxuICAgICAgbG93ID0gdlswXTtcclxuICAgICAgaGlnaCA9IHZbMV07XHJcbiAgICB9XHJcbiAgICBjb25zdCBsb3dDbGFtcGVkID0gdGhpcy5fY2xhbXBWYWx1ZShsb3cpO1xyXG4gICAgY29uc3QgaGlnaENsYW1wZWQgPSB0aGlzLl9jbGFtcFZhbHVlKGhpZ2gpO1xyXG4gICAgY29uc3QgdmFsdWU6IFNsaWRlclJhbmdlID0gdGhpcy5fYXJyYXlWYWx1ZVRvT2JqZWN0VmFsdWUoW2xvd0NsYW1wZWQsIGhpZ2hDbGFtcGVkXSk7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fcG9zaXRpb25QZXJjZW50WzBdID0gdGhpcy5fdmFsdWVUb1BlcmNlbnQobG93Q2xhbXBlZCk7XHJcbiAgICB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMV0gPSB0aGlzLl92YWx1ZVRvUGVyY2VudChoaWdoQ2xhbXBlZCk7XHJcbiAgICB0aGlzLl91cGRhdGVUb29sdGlwVmFsdWUoKTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IFNsaWRlclJhbmdlIHtcclxuICAgIHJldHVybiB0aGlzLl9ub3JtYWxpemVTbGlkZXJSYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIHNldCB2YWx1ZSh2OiBhbnkpIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZSh2KTtcclxuICB9XHJcblxyXG4gIC8vISB0b29sdGlwIHVwZGF0ZXJcclxuICBfdG9vbHRpcFZhbHVlOiBTbGlkZXJSYW5nZTxzdHJpbmcgfCBudW1iZXI+ID0gdGhpcy52YWx1ZTtcclxuXHJcbiAgcHJvdGVjdGVkIF91cGRhdGVUb29sdGlwVmFsdWUoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2OiBTbGlkZXJSYW5nZTxzdHJpbmcgfCBudW1iZXI+ID0gT2JqZWN0LmNyZWF0ZSh0aGlzLl92YWx1ZSk7XHJcbiAgICBjb25zdCBmb3JtYXRGbiA9IHRoaXMudG9vbHRpcEZvcm1hdCgpO1xyXG4gICAgaWYgKGZvcm1hdEZuKSB7XHJcbiAgICAgIHYubG93ID0gZm9ybWF0Rm4odi5sb3cgYXMgbnVtYmVyKTtcclxuICAgICAgdi5oaWdoID0gZm9ybWF0Rm4odi5oaWdoIGFzIG51bWJlcik7XHJcbiAgICB9XHJcbiAgICB0aGlzLl90b29sdGlwVmFsdWUgPSB2O1xyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcENvbnRleHQodHlwZTogJ2xvdycgfCAnaGlnaCcpOiBTbGlkZXJUb29sdGlwQ29udGV4dCB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB2YWx1ZTogdGhpcy5fdG9vbHRpcFZhbHVlW3R5cGVdLFxyXG4gICAgICAkaW1wbGljaXQ6IHRoaXMuX3Rvb2x0aXBWYWx1ZVt0eXBlXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvLyEgbWV0aG9kcyBmb3IgcHJvZ3JhbW1hdGljIG1hbmlwdWxhdGlvblxyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB7IGxvdzogLUluZmluaXR5LCBoaWdoOiBJbmZpbml0eSB9O1xyXG4gICAgdGhpcy5fcG9zaXRpb25QZXJjZW50WzBdID0gMDtcclxuICAgIHRoaXMuX3Bvc2l0aW9uUGVyY2VudFsxXSA9IDE7XHJcbiAgfVxyXG5cclxuICAvLyEgdHJhY2sgb3ZlcmxheSBnZXR0ZXJzXHJcbiAgZ2V0IHRyYWNrT3ZlcmxheUxlZnQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBNYXRoLm1pbiguLi50aGlzLl9wb3NpdGlvblBlcmNlbnQpICogMTAwICsgJyUnO1xyXG4gIH1cclxuICBnZXQgdHJhY2tPdmVybGF5V2lkdGgoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBNYXRoLmFicyh0aGlzLl9wb3NpdGlvblBlcmNlbnRbMF0gLSB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMV0hKSAqIDEwMCArICclJztcclxuICB9XHJcblxyXG4gIC8vISBldmVudCBoYW5kbGVyc1xyXG4gIG9uVHJhY2tIaXRib3hQb2ludGVyRG93bihldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuX3dyaXRlVmFsdWVGcm9tRXZlbnQoZXZlbnQpO1xyXG4gICAgdGhpcy5vblBvaW50ZXJEb3duT25IYW5kbGUoZXZlbnQpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OnRvdWNobW92ZScsIFsnJGV2ZW50J10pXHJcbiAgb25Qb2ludGVyTW92ZShldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fc2hvdWxkQ2hlY2tGb3JNb3ZlbWVudCkgcmV0dXJuO1xyXG4gICAgaWYgKCF0aGlzLl9ib2R5SGFzQ2xhc3MpIHtcclxuICAgICAgdGhpcy5fYm9keUhhc0NsYXNzID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmRvY3VtZW50LmJvZHksICdhcmQtcHJldmVudC10b3VjaC1hY3Rpb25zJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl93cml0ZVZhbHVlRnJvbUV2ZW50KGV2ZW50LCB0aGlzLl9ncmFiYmVkSGFuZGxlSWQoKSk7XHJcbiAgfVxyXG5cclxuICAvLyEgcG9zaXRpb24gY2FsY3VsYXRvcnNcclxuICBwcm90ZWN0ZWQgX3BlcmNlbnRWYWx1ZVRvVmFsdWUocGVyY2VudDogbnVtYmVyLCBoYW5kbGVJZDogbnVtYmVyKTogU2xpZGVyUmFuZ2Uge1xyXG4gICAgY29uc3QgbWluTWF4RGlmZmVyZW5jZSA9IE1hdGguYWJzKHRoaXMubWluKCkgLSB0aGlzLm1heCgpKTtcclxuICAgIGxldCBuZXdWYWwgPSBwZXJjZW50ICogbWluTWF4RGlmZmVyZW5jZSArIHRoaXMubWluKCk7XHJcbiAgICAvL3JvdW5kIHRvIDkgZGVjaW1hbCBwbGFjZXMgdG8gYXZvaWQgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBlcnJvcnNcclxuICAgIC8vOSBpcyBhbiBhcmJpdHJhcnkgbnVtYmVyIHRoYXQganVzdCB3b3JrcyB3ZWxsLiDCr1xcXyjjg4QpXy/Cr1xyXG4gICAgbmV3VmFsID0gcm91bmRUb1ByZWNpc2lvbihuZXdWYWwsIDkpO1xyXG5cclxuICAgIGNvbnN0IG5ld1ZhbE9iaiA9IHsgbG93OiB0aGlzLl92YWx1ZS5sb3csIGhpZ2g6IHRoaXMuX3ZhbHVlLmhpZ2ggfTtcclxuICAgIGlmIChoYW5kbGVJZCA9PT0gMSkge1xyXG4gICAgICBuZXdWYWxPYmoubG93ID0gbmV3VmFsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmV3VmFsT2JqLmhpZ2ggPSBuZXdWYWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3VmFsT2JqO1xyXG4gIH1cclxuXHJcbiAgLy8hIGhhbmRsZSBmb2N1cyBtb25pdG9yc1xyXG4gIHJlYWRvbmx5IGN1cnJlbnRIYW5kbGUgPSBzaWduYWw8MSB8IDIgfCBudWxsPihudWxsKTtcclxuICBvbkhhbmRsZUZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50LCBoYW5kbGVJZDogMSB8IDIpIHtcclxuICAgIHRoaXMub25Gb2N1cyhldmVudCk7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50SGFuZGxlLnNldChoYW5kbGVJZCk7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIG9uQmx1cihldmVudDogRm9jdXNFdmVudCkge1xyXG4gICAgc3VwZXIub25CbHVyKGV2ZW50KTtcclxuICAgIHRoaXMuY3VycmVudEhhbmRsZS5zZXQobnVsbCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImFyZC1yYW5nZS1zbGlkZXItY29udGFpbmVyLW1hc3RlclwiXHJcbiAgW25nQ2xhc3NdPVwibmdDbGFzc2VzKClcIlxyXG4gIFtjbGFzcy5hcmQtc2xpZGVyLWhhbmRsZS1ncmFiYmVkXT1cImlzU2xpZGVySGFuZGxlR3JhYmJlZCgpXCJcclxuICBbc3R5bGVdPVwieyAnLS1fYXJkLXNsaWRlci10cmFuc2l0aW9uJzogc2xpZGVyVHJhbnNpdGlvbigpIH1cIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cImFyZC1zbGlkZXItY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgICN0cmFja1xyXG4gICAgICBjbGFzcz1cImFyZC1zbGlkZXItdHJhY2tcIlxyXG4gICAgICAocG9pbnRlcmRvd24pPVwib25UcmFja0hpdGJveFBvaW50ZXJEb3duKCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWhpdGJveFwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci10cmFjay1vdmVybGF5IGFyZC1zbGlkZXItdHJhY2staW5hY3RpdmVcIj48L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci10cmFjay1vdmVybGF5IGFyZC1zbGlkZXItdHJhY2stYWN0aXZlXCJcclxuICAgICAgICBbc3R5bGVdPVwie1xyXG4gICAgICAgICAgbGVmdDogdHJhY2tPdmVybGF5TGVmdCxcclxuICAgICAgICAgIHdpZHRoOiB0cmFja092ZXJsYXlXaWR0aFxyXG4gICAgICAgIH1cIlxyXG4gICAgICA+PC9kaXY+XHJcbiAgICAgIEBpZiAoc2hvd1ZhbHVlVGlja3MoKSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLXZhbHVlLXRpY2stY29udGFpbmVyXCI+XHJcbiAgICAgICAgQGZvciAodGljayBvZiBfdGlja0FycmF5KCk7IHRyYWNrIHRpY2spIHtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cImFyZC12YWx1ZS10aWNrXCJcclxuICAgICAgICAgIFtzdHlsZV09XCJ7IGxlZnQ6IHRpY2sgfVwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAjZm9jdXNhYmxlRWxlbWVudFxyXG4gICAgICBjbGFzcz1cImFyZC1zbGlkZXItaGFuZGxlXCJcclxuICAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4KClcIlxyXG4gICAgICBbY2xhc3MuYXJkLWdyYWJiZWRdPVwiaXNTbGlkZXJIYW5kbGVHcmFiYmVkKCkgJiYgY3VycmVudEhhbmRsZSgpID09PSAxXCJcclxuICAgICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd25PbkhhbmRsZSgkZXZlbnQsIDEpXCJcclxuICAgICAgKGZvY3VzKT1cIm9uSGFuZGxlRm9jdXMoJGV2ZW50LCAxKVwiXHJcbiAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcclxuICAgICAgW3N0eWxlXT1cInsgbGVmdDogZ2V0SGFuZGxlUG9zaXRpb24oMSkgfVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9jdXMtb3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWhpdGJveFwiPjwvZGl2PlxyXG4gICAgPC9idXR0b24+XHJcbiAgICBAaWYgKHRvb2x0aXBCZWhhdmlvcigpICE9PSAnbmV2ZXInKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci10b29sdGlwLXdyYXBwZXJcIlxyXG4gICAgICBbY2xhc3MuYXJkLXRvb2x0aXAtYWx3YXlzXT1cInRvb2x0aXBCZWhhdmlvcigpID09PSAnYWx3YXlzJ1wiXHJcbiAgICAgIFtzdHlsZV09XCJ7IGxlZnQ6IGdldEhhbmRsZVBvc2l0aW9uKDEpIH1cIlxyXG4gICAgPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAjZGVmYXVsdFRvb2x0aXBUZW1wbGF0ZVxyXG4gICAgICAgIGxldC12YWx1ZVxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1zbGlkZXItdG9vbHRpcFwiPnt7IHZhbHVlIH19PC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b29sdGlwVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdFRvb2x0aXBUZW1wbGF0ZVwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldFRvb2x0aXBDb250ZXh0KCdsb3cnKVwiXHJcbiAgICAgID5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAjZm9jdXNhYmxlRWxlbWVudFxyXG4gICAgICBjbGFzcz1cImFyZC1zbGlkZXItaGFuZGxlXCJcclxuICAgICAgW3RhYmluZGV4XT1cInRhYkluZGV4KClcIlxyXG4gICAgICBbY2xhc3MuYXJkLWdyYWJiZWRdPVwiaXNTbGlkZXJIYW5kbGVHcmFiYmVkKCkgJiYgY3VycmVudEhhbmRsZSgpID09PSAyXCJcclxuICAgICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd25PbkhhbmRsZSgkZXZlbnQsIDIpXCJcclxuICAgICAgKGZvY3VzKT1cIm9uSGFuZGxlRm9jdXMoJGV2ZW50LCAyKVwiXHJcbiAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcclxuICAgICAgW3N0eWxlXT1cInsgbGVmdDogZ2V0SGFuZGxlUG9zaXRpb24oMikgfVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtZm9jdXMtb3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYXJkLWhpdGJveFwiPjwvZGl2PlxyXG4gICAgPC9idXR0b24+XHJcbiAgICBAaWYgKHRvb2x0aXBCZWhhdmlvcigpICE9PSAnbmV2ZXInKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci10b29sdGlwLXdyYXBwZXJcIlxyXG4gICAgICBbY2xhc3MuYXJkLXRvb2x0aXAtYWx3YXlzXT1cInRvb2x0aXBCZWhhdmlvcigpID09PSAnYWx3YXlzJ1wiXHJcbiAgICAgIFtzdHlsZV09XCJ7IGxlZnQ6IGdldEhhbmRsZVBvc2l0aW9uKDIpIH1cIlxyXG4gICAgPlxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAjZGVmYXVsdFRvb2x0aXBUZW1wbGF0ZVxyXG4gICAgICAgIGxldC12YWx1ZVxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1zbGlkZXItdG9vbHRpcFwiPnt7IHZhbHVlIH19PC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b29sdGlwVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdFRvb2x0aXBUZW1wbGF0ZVwiXHJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImdldFRvb2x0aXBDb250ZXh0KCdoaWdoJylcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICBAaWYgKGxhYmVsT2JqZWN0cygpLmxlbmd0aCkge1xyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYXJkLXNsaWRlci1sYWJlbC1jb250YWluZXJcIlxyXG4gICAgKm5nSWY9XCJsYWJlbE9iamVjdHMubGVuZ3RoXCJcclxuICA+XHJcbiAgICBAZm9yIChsYWJlbCBvZiBsYWJlbE9iamVjdHMoKTsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci1sYWJlbFwiXHJcbiAgICAgIFtzdHlsZV09XCJ7IGxlZnQ6IGxhYmVsLnBvc2l0aW9uUGVyY2VudCB9XCJcclxuICAgID5cclxuICAgICAge3sgbGFiZWwubGFiZWwgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2hhbmRsZVRodW1iQmFzZT5cclxuICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlLXRodW1iXCI+PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
3
3
  import { ArdiumRangeSliderComponent } from './range-slider.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class ArdiumRangeSliderModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumRangeSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: ArdiumRangeSliderModule, declarations: [ArdiumRangeSliderComponent], imports: [CommonModule], exports: [ArdiumRangeSliderComponent] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumRangeSliderModule, imports: [CommonModule] }); }
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumRangeSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: ArdiumRangeSliderModule, declarations: [ArdiumRangeSliderComponent], imports: [CommonModule], exports: [ArdiumRangeSliderComponent] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumRangeSliderModule, imports: [CommonModule] }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumRangeSliderModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumRangeSliderModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [ArdiumRangeSliderComponent],
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
15
15
  exports: [ArdiumRangeSliderComponent],
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3JhbmdlLXNsaWRlci9yYW5nZS1zbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU90RSxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QixpQkFKbkIsMEJBQTBCLGFBQy9CLFlBQVksYUFDWiwwQkFBMEI7K0dBRXpCLHVCQUF1QixZQUh4QixZQUFZOzsyRkFHWCx1QkFBdUI7a0JBTG5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXJkaXVtUmFuZ2VTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL3JhbmdlLXNsaWRlci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtBcmRpdW1SYW5nZVNsaWRlckNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0FyZGl1bVJhbmdlU2xpZGVyQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bVJhbmdlU2xpZGVyTW9kdWxlIHt9XHJcbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2Utc2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3JhbmdlLXNsaWRlci9yYW5nZS1zbGlkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU90RSxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QixpQkFKbkIsMEJBQTBCLGFBQy9CLFlBQVksYUFDWiwwQkFBMEI7K0dBRXpCLHVCQUF1QixZQUh4QixZQUFZOzsyRkFHWCx1QkFBdUI7a0JBTG5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQzFDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcmRpdW1SYW5nZVNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vcmFuZ2Utc2xpZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0FyZGl1bVJhbmdlU2xpZGVyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBcmRpdW1SYW5nZVNsaWRlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bVJhbmdlU2xpZGVyTW9kdWxlIHt9XG4iXX0=
@@ -7,6 +7,8 @@ import * as i1 from "@angular/common";
7
7
  export class ArdiumSliderComponent extends _AbstractSlider {
8
8
  constructor() {
9
9
  super(...arguments);
10
+ this.componentId = '105';
11
+ this.componentName = 'slider';
10
12
  //! value input & output
11
13
  this._value = 0;
12
14
  //! tooltip updater
@@ -14,8 +16,9 @@ export class ArdiumSliderComponent extends _AbstractSlider {
14
16
  }
15
17
  _updateTooltipValue() {
16
18
  let v = this._value;
17
- if (this.tooltipFormat)
18
- v = this.tooltipFormat(v);
19
+ const formatFn = this.tooltipFormat();
20
+ if (formatFn)
21
+ v = formatFn(v);
19
22
  this._tooltipValue = String(v);
20
23
  }
21
24
  getTooltipContext() {
@@ -59,22 +62,22 @@ export class ArdiumSliderComponent extends _AbstractSlider {
59
62
  }
60
63
  //! position calculators
61
64
  _percentValueToValue(percent) {
62
- const minMaxDifference = Math.abs(this._min - this._max);
63
- const newVal = percent * minMaxDifference + this._min;
65
+ const minMaxDifference = Math.abs(this.min() - this.max());
66
+ const newVal = percent * minMaxDifference + this.min();
64
67
  //round to 9 decimal places to avoid floating point arithmetic errors
65
68
  //9 is an arbitrary number that just works well. ¯\_(ツ)_/¯
66
69
  return roundToPrecision(newVal, 9);
67
70
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumSliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: ArdiumSliderComponent, selector: "ard-slider", host: { listeners: { "document:mousemove": "onPointerMove($event)", "document:touchmove": "onPointerMove($event)" } }, providers: [
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumSliderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumSliderComponent, selector: "ard-slider", host: { listeners: { "document:mousemove": "onPointerMove($event)", "document:touchmove": "onPointerMove($event)" } }, providers: [
70
73
  {
71
74
  provide: NG_VALUE_ACCESSOR,
72
75
  useExisting: forwardRef(() => ArdiumSliderComponent),
73
76
  multi: true,
74
77
  },
75
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"ard-slider-container-master\"\r\n [ngClass]=\"ngClasses\"\r\n [class.ard-slider-handle-grabbed]=\"isSliderHandleGrabbed\"\r\n [style]=\"{'--_ard-slider-transition': sliderTransition }\"\r\n>\r\n <div class=\"ard-slider-container\">\r\n <div #track\r\n class=\"ard-slider-track\"\r\n (pointerdown)=\"onTrackHitboxPointerDown($event)\"\r\n >\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-slider-track-overlay ard-slider-track-inactive\"></div>\r\n <div class=\"ard-slider-track-overlay ard-slider-track-active\" [style]=\"{width: getHandlePosition(1)}\"></div>\r\n <div class=\"ard-value-tick-container\" *ngIf=\"showValueTicks\">\r\n <div class=\"ard-value-tick\" *ngFor=\"let left of tickArray\" [style]=\"{left: left}\"></div>\r\n </div>\r\n </div>\r\n <button #focusableElement\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed\"\r\n (pointerdown)=\"onPointerDownOnHandle($event)\"\r\n (touchstart)=\"onPointerDownOnHandle($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{left: getHandlePosition(1)}\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n <div class=\"ard-slider-tooltip-wrapper\"\r\n *ngIf=\"tooltipBehavior != 'never'\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior == 'always'\"\r\n [style]=\"{left: getHandlePosition(1)}\"\r\n >\r\n <ng-template #defaultTooltipTemplate let-value>\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n \r\n <ng-template [ngTemplateOutlet]=\"tooltipTemplate || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext()\">\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"ard-slider-label-container\" *ngIf=\"labelObjects.length\">\r\n <div\r\n *ngFor=\"let label of labelObjects\"\r\n class=\"ard-slider-label\"\r\n [style]=\"{left: label.positionPercent}\"\r\n >{{ label.label }}</div>\r\n </div>\r\n</div>", styles: ["body.ard-prevent-touch-actions,body.ard-prevent-touch-actions *{touch-action:none}.ard-slider-container-master{display:flex;flex-direction:column}.ard-slider-container-master.ard-labels-top{flex-direction:column-reverse}.ard-slider-container-master .ard-slider-tooltip-wrapper{position:absolute;transform:translate(-50%);pointer-events:none}.ard-slider-container-master.ard-tooltip-top .ard-slider-tooltip-wrapper{bottom:100%}.ard-slider-container-master.ard-tooltip-bottom .ard-slider-tooltip-wrapper{top:100%}.ard-slider-container-master .ard-slider-handle{position:absolute;left:0;transform:translate(-50%)}.ard-slider-container-master .ard-slider-tooltip,.ard-slider-container-master .ard-slider-track,.ard-slider-container-master .ard-value-tick-container{position:relative}.ard-slider-container-master .ard-value-tick{position:absolute}.ard-slider-container-master .ard-slider-label-container{position:relative;width:100%;height:1em}.ard-slider-container-master .ard-slider-label{position:absolute;line-height:1em}.ard-disabled .ard-slider-container-master,.ard-disabled .ard-range-slider-container-master{pointer-events:none;opacity:60%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
78
+ ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-slider-container-master\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-slider-handle-grabbed]=\"isSliderHandleGrabbed()\"\r\n [style]=\"{ '--_ard-slider-transition': sliderTransition() }\"\r\n>\r\n <div class=\"ard-slider-container\">\r\n <div\r\n #track\r\n class=\"ard-slider-track\"\r\n (pointerdown)=\"onTrackHitboxPointerDown($event)\"\r\n >\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-slider-track-overlay ard-slider-track-inactive\"></div>\r\n <div\r\n class=\"ard-slider-track-overlay ard-slider-track-active\"\r\n [style]=\"{ width: getHandlePosition(1) }\"\r\n ></div>\r\n @if (showValueTicks()) {\r\n <div class=\"ard-value-tick-container\">\r\n @for (tick of _tickArray(); track tick) {\r\n <div\r\n class=\"ard-value-tick\"\r\n [style]=\"{ left: tick }\"\r\n ></div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <button\r\n #focusableElement\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex()\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed()\"\r\n (pointerdown)=\"onPointerDownOnHandle($event)\"\r\n (touchstart)=\"onPointerDownOnHandle($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{ left: getHandlePosition(1) }\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n @if (tooltipBehavior() !== 'never') {\r\n <div\r\n class=\"ard-slider-tooltip-wrapper\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior() === 'always'\"\r\n [style]=\"{ left: getHandlePosition(1) }\"\r\n >\r\n <ng-template\r\n #defaultTooltipTemplate\r\n let-value\r\n >\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"tooltipTemplate()?.template || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext()\"\r\n >\r\n </ng-template>\r\n </div>\r\n }\r\n </div>\r\n @if (labelObjects().length) {\r\n <div\r\n class=\"ard-slider-label-container\"\r\n *ngIf=\"labelObjects.length\"\r\n >\r\n @for (label of labelObjects(); track $index) {\r\n <div\r\n class=\"ard-slider-label\"\r\n [style]=\"{ left: label.positionPercent }\"\r\n >\r\n {{ label.label }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["body.ard-prevent-touch-actions,body.ard-prevent-touch-actions *{touch-action:none}.ard-slider-container-master{display:flex;flex-direction:column}.ard-slider-container-master.ard-labels-top{flex-direction:column-reverse}.ard-slider-container-master .ard-slider-tooltip-wrapper{position:absolute;transform:translate(-50%);pointer-events:none}.ard-slider-container-master.ard-tooltip-top .ard-slider-tooltip-wrapper{bottom:100%}.ard-slider-container-master.ard-tooltip-bottom .ard-slider-tooltip-wrapper{top:100%}.ard-slider-container-master .ard-slider-handle{position:absolute;left:0;transform:translate(-50%)}.ard-slider-container-master .ard-slider-tooltip,.ard-slider-container-master .ard-slider-track,.ard-slider-container-master .ard-value-tick-container{position:relative}.ard-slider-container-master .ard-value-tick{position:absolute}.ard-slider-container-master .ard-slider-label-container{position:relative;width:100%;height:1em}.ard-slider-container-master .ard-slider-label{position:absolute;line-height:1em}.ard-disabled .ard-slider-container-master,.ard-disabled .ard-range-slider-container-master{pointer-events:none;opacity:60%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
76
79
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumSliderComponent, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumSliderComponent, decorators: [{
78
81
  type: Component,
79
82
  args: [{ selector: 'ard-slider', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
80
83
  {
@@ -82,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
82
85
  useExisting: forwardRef(() => ArdiumSliderComponent),
83
86
  multi: true,
84
87
  },
85
- ], template: "<div class=\"ard-slider-container-master\"\r\n [ngClass]=\"ngClasses\"\r\n [class.ard-slider-handle-grabbed]=\"isSliderHandleGrabbed\"\r\n [style]=\"{'--_ard-slider-transition': sliderTransition }\"\r\n>\r\n <div class=\"ard-slider-container\">\r\n <div #track\r\n class=\"ard-slider-track\"\r\n (pointerdown)=\"onTrackHitboxPointerDown($event)\"\r\n >\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-slider-track-overlay ard-slider-track-inactive\"></div>\r\n <div class=\"ard-slider-track-overlay ard-slider-track-active\" [style]=\"{width: getHandlePosition(1)}\"></div>\r\n <div class=\"ard-value-tick-container\" *ngIf=\"showValueTicks\">\r\n <div class=\"ard-value-tick\" *ngFor=\"let left of tickArray\" [style]=\"{left: left}\"></div>\r\n </div>\r\n </div>\r\n <button #focusableElement\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed\"\r\n (pointerdown)=\"onPointerDownOnHandle($event)\"\r\n (touchstart)=\"onPointerDownOnHandle($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{left: getHandlePosition(1)}\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n <div class=\"ard-slider-tooltip-wrapper\"\r\n *ngIf=\"tooltipBehavior != 'never'\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior == 'always'\"\r\n [style]=\"{left: getHandlePosition(1)}\"\r\n >\r\n <ng-template #defaultTooltipTemplate let-value>\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n \r\n <ng-template [ngTemplateOutlet]=\"tooltipTemplate || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext()\">\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"ard-slider-label-container\" *ngIf=\"labelObjects.length\">\r\n <div\r\n *ngFor=\"let label of labelObjects\"\r\n class=\"ard-slider-label\"\r\n [style]=\"{left: label.positionPercent}\"\r\n >{{ label.label }}</div>\r\n </div>\r\n</div>", styles: ["body.ard-prevent-touch-actions,body.ard-prevent-touch-actions *{touch-action:none}.ard-slider-container-master{display:flex;flex-direction:column}.ard-slider-container-master.ard-labels-top{flex-direction:column-reverse}.ard-slider-container-master .ard-slider-tooltip-wrapper{position:absolute;transform:translate(-50%);pointer-events:none}.ard-slider-container-master.ard-tooltip-top .ard-slider-tooltip-wrapper{bottom:100%}.ard-slider-container-master.ard-tooltip-bottom .ard-slider-tooltip-wrapper{top:100%}.ard-slider-container-master .ard-slider-handle{position:absolute;left:0;transform:translate(-50%)}.ard-slider-container-master .ard-slider-tooltip,.ard-slider-container-master .ard-slider-track,.ard-slider-container-master .ard-value-tick-container{position:relative}.ard-slider-container-master .ard-value-tick{position:absolute}.ard-slider-container-master .ard-slider-label-container{position:relative;width:100%;height:1em}.ard-slider-container-master .ard-slider-label{position:absolute;line-height:1em}.ard-disabled .ard-slider-container-master,.ard-disabled .ard-range-slider-container-master{pointer-events:none;opacity:60%}\n"] }]
88
+ ], template: "<div\r\n class=\"ard-slider-container-master\"\r\n [ngClass]=\"ngClasses()\"\r\n [class.ard-slider-handle-grabbed]=\"isSliderHandleGrabbed()\"\r\n [style]=\"{ '--_ard-slider-transition': sliderTransition() }\"\r\n>\r\n <div class=\"ard-slider-container\">\r\n <div\r\n #track\r\n class=\"ard-slider-track\"\r\n (pointerdown)=\"onTrackHitboxPointerDown($event)\"\r\n >\r\n <div class=\"ard-hitbox\"></div>\r\n <div class=\"ard-slider-track-overlay ard-slider-track-inactive\"></div>\r\n <div\r\n class=\"ard-slider-track-overlay ard-slider-track-active\"\r\n [style]=\"{ width: getHandlePosition(1) }\"\r\n ></div>\r\n @if (showValueTicks()) {\r\n <div class=\"ard-value-tick-container\">\r\n @for (tick of _tickArray(); track tick) {\r\n <div\r\n class=\"ard-value-tick\"\r\n [style]=\"{ left: tick }\"\r\n ></div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <button\r\n #focusableElement\r\n class=\"ard-slider-handle\"\r\n [tabindex]=\"tabIndex()\"\r\n [class.ard-grabbed]=\"isSliderHandleGrabbed()\"\r\n (pointerdown)=\"onPointerDownOnHandle($event)\"\r\n (touchstart)=\"onPointerDownOnHandle($event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n [style]=\"{ left: getHandlePosition(1) }\"\r\n >\r\n <div class=\"ard-focus-overlay\"></div>\r\n <div class=\"ard-hitbox\"></div>\r\n </button>\r\n @if (tooltipBehavior() !== 'never') {\r\n <div\r\n class=\"ard-slider-tooltip-wrapper\"\r\n [class.ard-tooltip-always]=\"tooltipBehavior() === 'always'\"\r\n [style]=\"{ left: getHandlePosition(1) }\"\r\n >\r\n <ng-template\r\n #defaultTooltipTemplate\r\n let-value\r\n >\r\n <div class=\"ard-slider-tooltip\">{{ value }}</div>\r\n </ng-template>\r\n\r\n <ng-template\r\n [ngTemplateOutlet]=\"tooltipTemplate()?.template || defaultTooltipTemplate\"\r\n [ngTemplateOutletContext]=\"getTooltipContext()\"\r\n >\r\n </ng-template>\r\n </div>\r\n }\r\n </div>\r\n @if (labelObjects().length) {\r\n <div\r\n class=\"ard-slider-label-container\"\r\n *ngIf=\"labelObjects.length\"\r\n >\r\n @for (label of labelObjects(); track $index) {\r\n <div\r\n class=\"ard-slider-label\"\r\n [style]=\"{ left: label.positionPercent }\"\r\n >\r\n {{ label.label }}\r\n </div>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: ["body.ard-prevent-touch-actions,body.ard-prevent-touch-actions *{touch-action:none}.ard-slider-container-master{display:flex;flex-direction:column}.ard-slider-container-master.ard-labels-top{flex-direction:column-reverse}.ard-slider-container-master .ard-slider-tooltip-wrapper{position:absolute;transform:translate(-50%);pointer-events:none}.ard-slider-container-master.ard-tooltip-top .ard-slider-tooltip-wrapper{bottom:100%}.ard-slider-container-master.ard-tooltip-bottom .ard-slider-tooltip-wrapper{top:100%}.ard-slider-container-master .ard-slider-handle{position:absolute;left:0;transform:translate(-50%)}.ard-slider-container-master .ard-slider-tooltip,.ard-slider-container-master .ard-slider-track,.ard-slider-container-master .ard-value-tick-container{position:relative}.ard-slider-container-master .ard-value-tick{position:absolute}.ard-slider-container-master .ard-slider-label-container{position:relative;width:100%;height:1em}.ard-slider-container-master .ard-slider-label{position:absolute;line-height:1em}.ard-disabled .ard-slider-container-master,.ard-disabled .ard-range-slider-container-master{pointer-events:none;opacity:60%}\n"] }]
86
89
  }], propDecorators: { onPointerMove: [{
87
90
  type: HostListener,
88
91
  args: ['document:mousemove', ['$event']]
@@ -90,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
90
93
  type: HostListener,
91
94
  args: ['document:touchmove', ['$event']]
92
95
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3NsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NsaWRlci9zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQWlCcEQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQXVCO0lBZGxFOztRQWVFLHdCQUF3QjtRQUNkLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFFN0IsbUJBQW1CO1FBQ25CLGtCQUFhLEdBQVcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQTRENUM7SUExRFcsbUJBQW1CO1FBQzNCLElBQUksQ0FBQyxHQUFvQixJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLGFBQWE7WUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYTtZQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjO0lBQ2QsVUFBVSxDQUFDLENBQU07UUFDZixDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixPQUFPO1NBQ1I7UUFDRCxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFDRCxTQUFTLENBQUMsUUFBZ0IsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsU0FBUyxDQUFDLFFBQWdCLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHdCQUF3QixDQUFDLEtBQThCO1FBQ3JELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUdELGFBQWEsQ0FBQyxLQUE4QjtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QjtZQUFFLE9BQU87UUFDMUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCx3QkFBd0I7SUFDZCxvQkFBb0IsQ0FBQyxPQUFlO1FBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxNQUFNLE1BQU0sR0FBRyxPQUFPLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0RCxxRUFBcUU7UUFDckUsMERBQTBEO1FBQzFELE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OEdBaEVVLHFCQUFxQjtrR0FBckIscUJBQXFCLDRKQVJyQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBQ3BELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixpRENsQkgsdTRFQW1ETTs7MkZEL0JPLHFCQUFxQjtrQkFkakMsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQXNERCxhQUFhO3NCQUZaLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUM3QyxZQUFZO3VCQUFDLG9CQUFvQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgcm91bmRUb1ByZWNpc2lvbiB9IGZyb20gJ21vcmUtcm91bmRpbmcnO1xyXG5pbXBvcnQgeyBfQWJzdHJhY3RTbGlkZXIgfSBmcm9tICcuL2Fic3RyYWN0LXNsaWRlcic7XHJcbmltcG9ydCB7IFNsaWRlclRvb2x0aXBDb250ZXh0IH0gZnJvbSAnLi9zbGlkZXIudHlwZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcmQtc2xpZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtU2xpZGVyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1TbGlkZXJDb21wb25lbnQgZXh0ZW5kcyBfQWJzdHJhY3RTbGlkZXI8bnVtYmVyPiB7XHJcbiAgLy8hIHZhbHVlIGlucHV0ICYgb3V0cHV0XHJcbiAgcHJvdGVjdGVkIF92YWx1ZTogbnVtYmVyID0gMDtcclxuXHJcbiAgLy8hIHRvb2x0aXAgdXBkYXRlclxyXG4gIF90b29sdGlwVmFsdWU6IHN0cmluZyA9IFN0cmluZyh0aGlzLnZhbHVlKTtcclxuXHJcbiAgcHJvdGVjdGVkIF91cGRhdGVUb29sdGlwVmFsdWUoKTogdm9pZCB7XHJcbiAgICBsZXQgdjogc3RyaW5nIHwgbnVtYmVyID0gdGhpcy5fdmFsdWU7XHJcbiAgICBpZiAodGhpcy50b29sdGlwRm9ybWF0KSB2ID0gdGhpcy50b29sdGlwRm9ybWF0KHYpO1xyXG4gICAgdGhpcy5fdG9vbHRpcFZhbHVlID0gU3RyaW5nKHYpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG9vbHRpcENvbnRleHQoKTogU2xpZGVyVG9vbHRpcENvbnRleHQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdmFsdWU6IHRoaXMuX3Rvb2x0aXBWYWx1ZSxcclxuICAgICAgJGltcGxpY2l0OiB0aGlzLl90b29sdGlwVmFsdWUsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLy8hIHdyaXRlVmFsdWVcclxuICB3cml0ZVZhbHVlKHY6IGFueSk6IHZvaWQge1xyXG4gICAgdiA9IE51bWJlcih2KTtcclxuICAgIGlmIChpc05hTih2KSkge1xyXG4gICAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHYgPSB0aGlzLl9jbGFtcFZhbHVlKHYpO1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gICAgdGhpcy5fcG9zaXRpb25QZXJjZW50WzBdID0gdGhpcy5fdmFsdWVUb1BlcmNlbnQodik7XHJcbiAgICB0aGlzLl91cGRhdGVUb29sdGlwVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIC8vISBtZXRob2RzIGZvciBwcm9ncmFtbWF0aWMgbWFuaXB1bGF0aW9uXHJcbiAgcmVzZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IDA7XHJcbiAgICB0aGlzLl9wb3NpdGlvblBlcmNlbnRbMF0gPSAwO1xyXG4gIH1cclxuICBpbmNyZW1lbnQoc3RlcHM6IG51bWJlciA9IDEpOiB2b2lkIHtcclxuICAgIHRoaXMuX29mZnNldChzdGVwcywgZmFsc2UpO1xyXG4gIH1cclxuICBkZWNyZW1lbnQoc3RlcHM6IG51bWJlciA9IDEpOiB2b2lkIHtcclxuICAgIHRoaXMuX29mZnNldCgtc3RlcHMsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8vISBldmVudCBoYW5kbGVyc1xyXG4gIG9uVHJhY2tIaXRib3hQb2ludGVyRG93bihldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuX3dyaXRlVmFsdWVGcm9tRXZlbnQoZXZlbnQpO1xyXG4gICAgdGhpcy5vblBvaW50ZXJEb3duT25IYW5kbGUoZXZlbnQpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnLCBbJyRldmVudCddKVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OnRvdWNobW92ZScsIFsnJGV2ZW50J10pXHJcbiAgb25Qb2ludGVyTW92ZShldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fc2hvdWxkQ2hlY2tGb3JNb3ZlbWVudCkgcmV0dXJuO1xyXG4gICAgdGhpcy5fd3JpdGVWYWx1ZUZyb21FdmVudChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvLyEgcG9zaXRpb24gY2FsY3VsYXRvcnNcclxuICBwcm90ZWN0ZWQgX3BlcmNlbnRWYWx1ZVRvVmFsdWUocGVyY2VudDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IG1pbk1heERpZmZlcmVuY2UgPSBNYXRoLmFicyh0aGlzLl9taW4gLSB0aGlzLl9tYXgpO1xyXG4gICAgY29uc3QgbmV3VmFsID0gcGVyY2VudCAqIG1pbk1heERpZmZlcmVuY2UgKyB0aGlzLl9taW47XHJcbiAgICAvL3JvdW5kIHRvIDkgZGVjaW1hbCBwbGFjZXMgdG8gYXZvaWQgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBlcnJvcnNcclxuICAgIC8vOSBpcyBhbiBhcmJpdHJhcnkgbnVtYmVyIHRoYXQganVzdCB3b3JrcyB3ZWxsLiDCr1xcXyjjg4QpXy/Cr1xyXG4gICAgcmV0dXJuIHJvdW5kVG9QcmVjaXNpb24obmV3VmFsLCA5KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFyZC1zbGlkZXItY29udGFpbmVyLW1hc3RlclwiXHJcbiAgICBbbmdDbGFzc109XCJuZ0NsYXNzZXNcIlxyXG4gICAgW2NsYXNzLmFyZC1zbGlkZXItaGFuZGxlLWdyYWJiZWRdPVwiaXNTbGlkZXJIYW5kbGVHcmFiYmVkXCJcclxuICAgIFtzdHlsZV09XCJ7Jy0tX2FyZC1zbGlkZXItdHJhbnNpdGlvbic6IHNsaWRlclRyYW5zaXRpb24gfVwiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtc2xpZGVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgI3RyYWNrXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci10cmFja1wiXHJcbiAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJvblRyYWNrSGl0Ym94UG9pbnRlckRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWhpdGJveFwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci10cmFjay1vdmVybGF5IGFyZC1zbGlkZXItdHJhY2staW5hY3RpdmVcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1zbGlkZXItdHJhY2stb3ZlcmxheSBhcmQtc2xpZGVyLXRyYWNrLWFjdGl2ZVwiIFtzdHlsZV09XCJ7d2lkdGg6IGdldEhhbmRsZVBvc2l0aW9uKDEpfVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXZhbHVlLXRpY2stY29udGFpbmVyXCIgKm5nSWY9XCJzaG93VmFsdWVUaWNrc1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC12YWx1ZS10aWNrXCIgKm5nRm9yPVwibGV0IGxlZnQgb2YgdGlja0FycmF5XCIgW3N0eWxlXT1cIntsZWZ0OiBsZWZ0fVwiPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uICNmb2N1c2FibGVFbGVtZW50XHJcbiAgICAgICAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci1oYW5kbGVcIlxyXG4gICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxyXG4gICAgICAgICAgICBbY2xhc3MuYXJkLWdyYWJiZWRdPVwiaXNTbGlkZXJIYW5kbGVHcmFiYmVkXCJcclxuICAgICAgICAgICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd25PbkhhbmRsZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwib25Qb2ludGVyRG93bk9uSGFuZGxlKCRldmVudClcIlxyXG4gICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwie2xlZnQ6IGdldEhhbmRsZVBvc2l0aW9uKDEpfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWZvY3VzLW92ZXJsYXlcIj48L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1oaXRib3hcIj48L2Rpdj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci10b29sdGlwLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAqbmdJZj1cInRvb2x0aXBCZWhhdmlvciAhPSAnbmV2ZXInXCJcclxuICAgICAgICAgICAgW2NsYXNzLmFyZC10b29sdGlwLWFsd2F5c109XCJ0b29sdGlwQmVoYXZpb3IgPT0gJ2Fsd2F5cydcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwie2xlZnQ6IGdldEhhbmRsZVBvc2l0aW9uKDEpfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUb29sdGlwVGVtcGxhdGUgbGV0LXZhbHVlPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1zbGlkZXItdG9vbHRpcFwiPnt7IHZhbHVlIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0b29sdGlwVGVtcGxhdGUgfHwgZGVmYXVsdFRvb2x0aXBUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0VG9vbHRpcENvbnRleHQoKVwiPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci1sYWJlbC1jb250YWluZXJcIiAqbmdJZj1cImxhYmVsT2JqZWN0cy5sZW5ndGhcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBsYWJlbE9iamVjdHNcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFyZC1zbGlkZXItbGFiZWxcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwie2xlZnQ6IGxhYmVsLnBvc2l0aW9uUGVyY2VudH1cIlxyXG4gICAgICAgID57eyBsYWJlbC5sYWJlbCB9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3NsaWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NsaWRlci9zbGlkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQWlCcEQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQXVCO0lBZGxFOztRQWVXLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsUUFBUSxDQUFDO1FBRWxDLHdCQUF3QjtRQUNkLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFFckIsbUJBQW1CO1FBQ25CLGtCQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQTZEcEM7SUEzRFcsbUJBQW1CO1FBQzNCLElBQUksQ0FBQyxHQUFvQixJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN0QyxJQUFJLFFBQVE7WUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPO1lBQ0wsS0FBSyxFQUFF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dGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0TGlzdGVuZXIsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHJvdW5kVG9QcmVjaXNpb24gfSBmcm9tICdtb3JlLXJvdW5kaW5nJztcbmltcG9ydCB7IF9BYnN0cmFjdFNsaWRlciB9IGZyb20gJy4vYWJzdHJhY3Qtc2xpZGVyJztcbmltcG9ydCB7IFNsaWRlclRvb2x0aXBDb250ZXh0IH0gZnJvbSAnLi9zbGlkZXIudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcmQtc2xpZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NsaWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBcmRpdW1TbGlkZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtU2xpZGVyQ29tcG9uZW50IGV4dGVuZHMgX0Fic3RyYWN0U2xpZGVyPG51bWJlcj4ge1xuICByZWFkb25seSBjb21wb25lbnRJZCA9ICcxMDUnO1xuICByZWFkb25seSBjb21wb25lbnROYW1lID0gJ3NsaWRlcic7XG5cbiAgLy8hIHZhbHVlIGlucHV0ICYgb3V0cHV0XG4gIHByb3RlY3RlZCBfdmFsdWUgPSAwO1xuXG4gIC8vISB0b29sdGlwIHVwZGF0ZXJcbiAgX3Rvb2x0aXBWYWx1ZSA9IFN0cmluZyh0aGlzLnZhbHVlKTtcblxuICBwcm90ZWN0ZWQgX3VwZGF0ZVRvb2x0aXBWYWx1ZSgpOiB2b2lkIHtcbiAgICBsZXQgdjogc3RyaW5nIHwgbnVtYmVyID0gdGhpcy5fdmFsdWU7XG4gICAgY29uc3QgZm9ybWF0Rm4gPSB0aGlzLnRvb2x0aXBGb3JtYXQoKTtcbiAgICBpZiAoZm9ybWF0Rm4pIHYgPSBmb3JtYXRGbih2KTtcbiAgICB0aGlzLl90b29sdGlwVmFsdWUgPSBTdHJpbmcodik7XG4gIH1cblxuICBnZXRUb29sdGlwQ29udGV4dCgpOiBTbGlkZXJUb29sdGlwQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiB0aGlzLl90b29sdGlwVmFsdWUsXG4gICAgICAkaW1wbGljaXQ6IHRoaXMuX3Rvb2x0aXBWYWx1ZSxcbiAgICB9O1xuICB9XG5cbiAgLy8hIHdyaXRlVmFsdWVcbiAgd3JpdGVWYWx1ZSh2OiBhbnkpOiB2b2lkIHtcbiAgICB2ID0gTnVtYmVyKHYpO1xuICAgIGlmIChpc05hTih2KSkge1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2ID0gdGhpcy5fY2xhbXBWYWx1ZSh2KTtcbiAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgdGhpcy5fcG9zaXRpb25QZXJjZW50WzBdID0gdGhpcy5fdmFsdWVUb1BlcmNlbnQodik7XG4gICAgdGhpcy5fdXBkYXRlVG9vbHRpcFZhbHVlKCk7XG4gIH1cblxuICAvLyEgbWV0aG9kcyBmb3IgcHJvZ3JhbW1hdGljIG1hbmlwdWxhdGlvblxuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IDA7XG4gICAgdGhpcy5fcG9zaXRpb25QZXJjZW50WzBdID0gMDtcbiAgfVxuICBpbmNyZW1lbnQoc3RlcHMgPSAxKTogdm9pZCB7XG4gICAgdGhpcy5fb2Zmc2V0KHN0ZXBzLCBmYWxzZSk7XG4gIH1cbiAgZGVjcmVtZW50KHN0ZXBzID0gMSk6IHZvaWQge1xuICAgIHRoaXMuX29mZnNldCgtc3RlcHMsIGZhbHNlKTtcbiAgfVxuXG4gIC8vISBldmVudCBoYW5kbGVyc1xuICBvblRyYWNrSGl0Ym94UG9pbnRlckRvd24oZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fd3JpdGVWYWx1ZUZyb21FdmVudChldmVudCk7XG4gICAgdGhpcy5vblBvaW50ZXJEb3duT25IYW5kbGUoZXZlbnQpO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OnRvdWNobW92ZScsIFsnJGV2ZW50J10pXG4gIG9uUG9pbnRlck1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9zaG91bGRDaGVja0Zvck1vdmVtZW50KSByZXR1cm47XG4gICAgdGhpcy5fd3JpdGVWYWx1ZUZyb21FdmVudChldmVudCk7XG4gIH1cblxuICAvLyEgcG9zaXRpb24gY2FsY3VsYXRvcnNcbiAgcHJvdGVjdGVkIF9wZXJjZW50VmFsdWVUb1ZhbHVlKHBlcmNlbnQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgbWluTWF4RGlmZmVyZW5jZSA9IE1hdGguYWJzKHRoaXMubWluKCkgLSB0aGlzLm1heCgpKTtcbiAgICBjb25zdCBuZXdWYWwgPSBwZXJjZW50ICogbWluTWF4RGlmZmVyZW5jZSArIHRoaXMubWluKCk7XG4gICAgLy9yb3VuZCB0byA5IGRlY2ltYWwgcGxhY2VzIHRvIGF2b2lkIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgZXJyb3JzXG4gICAgLy85IGlzIGFuIGFyYml0cmFyeSBudW1iZXIgdGhhdCBqdXN0IHdvcmtzIHdlbGwuIMKvXFxfKOODhClfL8KvXG4gICAgcmV0dXJuIHJvdW5kVG9QcmVjaXNpb24obmV3VmFsLCA5KTtcbiAgfVxufVxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiYXJkLXNsaWRlci1jb250YWluZXItbWFzdGVyXCJcclxuICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXHJcbiAgW2NsYXNzLmFyZC1zbGlkZXItaGFuZGxlLWdyYWJiZWRdPVwiaXNTbGlkZXJIYW5kbGVHcmFiYmVkKClcIlxyXG4gIFtzdHlsZV09XCJ7ICctLV9hcmQtc2xpZGVyLXRyYW5zaXRpb24nOiBzbGlkZXJUcmFuc2l0aW9uKCkgfVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci1jb250YWluZXJcIj5cclxuICAgIDxkaXZcclxuICAgICAgI3RyYWNrXHJcbiAgICAgIGNsYXNzPVwiYXJkLXNsaWRlci10cmFja1wiXHJcbiAgICAgIChwb2ludGVyZG93bik9XCJvblRyYWNrSGl0Ym94UG9pbnRlckRvd24oJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtaGl0Ym94XCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtc2xpZGVyLXRyYWNrLW92ZXJsYXkgYXJkLXNsaWRlci10cmFjay1pbmFjdGl2ZVwiPjwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJhcmQtc2xpZGVyLXRyYWNrLW92ZXJsYXkgYXJkLXNsaWRlci10cmFjay1hY3RpdmVcIlxyXG4gICAgICAgIFtzdHlsZV09XCJ7IHdpZHRoOiBnZXRIYW5kbGVQb3NpdGlvbigxKSB9XCJcclxuICAgICAgPjwvZGl2PlxyXG4gICAgICBAaWYgKHNob3dWYWx1ZVRpY2tzKCkpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImFyZC12YWx1ZS10aWNrLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIEBmb3IgKHRpY2sgb2YgX3RpY2tBcnJheSgpOyB0cmFjayB0aWNrKSB7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJhcmQtdmFsdWUtdGlja1wiXHJcbiAgICAgICAgICBbc3R5bGVdPVwieyBsZWZ0OiB0aWNrIH1cIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIDxidXR0b25cclxuICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcclxuICAgICAgY2xhc3M9XCJhcmQtc2xpZGVyLWhhbmRsZVwiXHJcbiAgICAgIFt0YWJpbmRleF09XCJ0YWJJbmRleCgpXCJcclxuICAgICAgW2NsYXNzLmFyZC1ncmFiYmVkXT1cImlzU2xpZGVySGFuZGxlR3JhYmJlZCgpXCJcclxuICAgICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd25PbkhhbmRsZSgkZXZlbnQpXCJcclxuICAgICAgKHRvdWNoc3RhcnQpPVwib25Qb2ludGVyRG93bk9uSGFuZGxlKCRldmVudClcIlxyXG4gICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICBbc3R5bGVdPVwieyBsZWZ0OiBnZXRIYW5kbGVQb3NpdGlvbigxKSB9XCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImFyZC1mb2N1cy1vdmVybGF5XCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhcmQtaGl0Ym94XCI+PC9kaXY+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIEBpZiAodG9vbHRpcEJlaGF2aW9yKCkgIT09ICduZXZlcicpIHtcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJhcmQtc2xpZGVyLXRvb2x0aXAtd3JhcHBlclwiXHJcbiAgICAgIFtjbGFzcy5hcmQtdG9vbHRpcC1hbHdheXNdPVwidG9vbHRpcEJlaGF2aW9yKCkgPT09ICdhbHdheXMnXCJcclxuICAgICAgW3N0eWxlXT1cInsgbGVmdDogZ2V0SGFuZGxlUG9zaXRpb24oMSkgfVwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICNkZWZhdWx0VG9vbHRpcFRlbXBsYXRlXHJcbiAgICAgICAgbGV0LXZhbHVlXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXNsaWRlci10b29sdGlwXCI+e3sgdmFsdWUgfX08L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRvb2x0aXBUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0VG9vbHRpcFRlbXBsYXRlXCJcclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0VG9vbHRpcENvbnRleHQoKVwiXHJcbiAgICAgID5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIEBpZiAobGFiZWxPYmplY3RzKCkubGVuZ3RoKSB7XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJhcmQtc2xpZGVyLWxhYmVsLWNvbnRhaW5lclwiXHJcbiAgICAqbmdJZj1cImxhYmVsT2JqZWN0cy5sZW5ndGhcIlxyXG4gID5cclxuICAgIEBmb3IgKGxhYmVsIG9mIGxhYmVsT2JqZWN0cygpOyB0cmFjayAkaW5kZXgpIHtcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJhcmQtc2xpZGVyLWxhYmVsXCJcclxuICAgICAgW3N0eWxlXT1cInsgbGVmdDogbGFiZWwucG9zaXRpb25QZXJjZW50IH1cIlxyXG4gICAgPlxyXG4gICAgICB7eyBsYWJlbC5sYWJlbCB9fVxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
@@ -4,13 +4,13 @@ export class ArdSliderTooltipDirective {
4
4
  constructor(template) {
5
5
  this.template = template;
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdSliderTooltipDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: ArdSliderTooltipDirective, selector: "ng-template[ard-slider-tooltip-tmp]", ngImport: i0 }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdSliderTooltipDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: ArdSliderTooltipDirective, selector: "ng-template[ard-slider-tooltip-tmp]", ngImport: i0 }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdSliderTooltipDirective, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdSliderTooltipDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: 'ng-template[ard-slider-tooltip-tmp]',
14
14
  }]
15
15
  }], ctorParameters: () => [{ type: i0.TemplateRef }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3NsaWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFNdkQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFtQixRQUEyQztRQUEzQyxhQUFRLEdBQVIsUUFBUSxDQUFtQztJQUFHLENBQUM7OEdBRHZELHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQ0FBcUM7aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbGlkZXJUb29sdGlwQ29udGV4dCB9IGZyb20gJy4vc2xpZGVyLnR5cGVzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbYXJkLXNsaWRlci10b29sdGlwLXRtcF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkU2xpZGVyVG9vbHRpcERpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxTbGlkZXJUb29sdGlwQ29udGV4dD4pIHt9XHJcbn1cclxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3NsaWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFNdkQsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFtQixRQUEyQztRQUEzQyxhQUFRLEdBQVIsUUFBUSxDQUFtQztJQUFHLENBQUM7OEdBRHZELHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQ0FBcUM7aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2xpZGVyVG9vbHRpcENvbnRleHQgfSBmcm9tICcuL3NsaWRlci50eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2FyZC1zbGlkZXItdG9vbHRpcC10bXBdJyxcbn0pXG5leHBvcnQgY2xhc3MgQXJkU2xpZGVyVG9vbHRpcERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8U2xpZGVyVG9vbHRpcENvbnRleHQ+KSB7fVxufVxuIl19
@@ -1,15 +1,15 @@
1
- import { NgModule } from '@angular/core';
1
+ import { OverlayModule } from '@angular/cdk/overlay';
2
2
  import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
3
4
  import { ArdiumSliderComponent } from './slider.component';
4
5
  import { ArdSliderTooltipDirective } from './slider.directive';
5
- import { OverlayModule } from '@angular/cdk/overlay';
6
6
  import * as i0 from "@angular/core";
7
7
  export class ArdiumSliderModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: ArdiumSliderModule, declarations: [ArdiumSliderComponent, ArdSliderTooltipDirective], imports: [CommonModule, OverlayModule], exports: [ArdiumSliderComponent, ArdSliderTooltipDirective] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumSliderModule, imports: [CommonModule, OverlayModule] }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: ArdiumSliderModule, declarations: [ArdiumSliderComponent, ArdSliderTooltipDirective], imports: [CommonModule, OverlayModule], exports: [ArdiumSliderComponent, ArdSliderTooltipDirective] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumSliderModule, imports: [CommonModule, OverlayModule] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ArdiumSliderModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumSliderModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  declarations: [ArdiumSliderComponent, ArdSliderTooltipDirective],
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
17
17
  exports: [ArdiumSliderComponent, ArdSliderTooltipDirective],
18
18
  }]
19
19
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3NsaWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFXLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQU85RCxNQUFNLE9BQU8sa0JBQWtCOzhHQUFsQixrQkFBa0I7K0dBQWxCLGtCQUFrQixpQkFKZCxxQkFBcUIsRUFBRSx5QkFBeUIsYUFDckQsWUFBWSxFQUFFLGFBQWEsYUFDM0IscUJBQXFCLEVBQUUseUJBQXlCOytHQUUvQyxrQkFBa0IsWUFIbkIsWUFBWSxFQUFFLGFBQWE7OzJGQUcxQixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLEVBQUUseUJBQXlCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLHlCQUF5QixDQUFDO2lCQUM1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFyZGl1bVNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vc2xpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFyZFNsaWRlclRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL3NsaWRlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtBcmRpdW1TbGlkZXJDb21wb25lbnQsIEFyZFNsaWRlclRvb2x0aXBEaXJlY3RpdmVdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtBcmRpdW1TbGlkZXJDb21wb25lbnQsIEFyZFNsaWRlclRvb2x0aXBEaXJlY3RpdmVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtU2xpZGVyTW9kdWxlIHt9XHJcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvc2xpZGVyL3NsaWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQU8vRCxNQUFNLE9BQU8sa0JBQWtCOzhHQUFsQixrQkFBa0I7K0dBQWxCLGtCQUFrQixpQkFKZCxxQkFBcUIsRUFBRSx5QkFBeUIsYUFDckQsWUFBWSxFQUFFLGFBQWEsYUFDM0IscUJBQXFCLEVBQUUseUJBQXlCOytHQUUvQyxrQkFBa0IsWUFIbkIsWUFBWSxFQUFFLGFBQWE7OzJGQUcxQixrQkFBa0I7a0JBTDlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUJBQXFCLEVBQUUseUJBQXlCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLHlCQUF5QixDQUFDO2lCQUM1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFyZGl1bVNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcmRTbGlkZXJUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi9zbGlkZXIuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQXJkaXVtU2xpZGVyQ29tcG9uZW50LCBBcmRTbGlkZXJUb29sdGlwRGlyZWN0aXZlXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgT3ZlcmxheU1vZHVsZV0sXG4gIGV4cG9ydHM6IFtBcmRpdW1TbGlkZXJDb21wb25lbnQsIEFyZFNsaWRlclRvb2x0aXBEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRpdW1TbGlkZXJNb2R1bGUge31cbiJdfQ==
@@ -7,4 +7,4 @@ export const SliderDecorationPosition = {
7
7
  Top: 'top',
8
8
  Bottom: 'bottom',
9
9
  };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zbGlkZXIvc2xpZGVyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDO0FBR1gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsR0FBRyxFQUFFLEtBQUs7SUFDVixNQUFNLEVBQUUsUUFBUTtDQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTbGlkZXJUb29sdGlwQ29udGV4dCA9IHtcclxuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICRpbXBsaWNpdDogc3RyaW5nIHwgbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IFNsaWRlclRvb2x0aXBCZWhhdmlvciA9IHtcclxuICBBbHdheXM6ICdhbHdheXMnLFxyXG4gIEF1dG86ICdhdXRvJyxcclxuICBOZXZlcjogJ25ldmVyJyxcclxufSBhcyBjb25zdDtcclxuZXhwb3J0IHR5cGUgU2xpZGVyVG9vbHRpcEJlaGF2aW9yID0gKHR5cGVvZiBTbGlkZXJUb29sdGlwQmVoYXZpb3IpW2tleW9mIHR5cGVvZiBTbGlkZXJUb29sdGlwQmVoYXZpb3JdO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNsaWRlckRlY29yYXRpb25Qb3NpdGlvbiA9IHtcclxuICBUb3A6ICd0b3AnLFxyXG4gIEJvdHRvbTogJ2JvdHRvbScsXHJcbn0gYXMgY29uc3Q7XHJcbmV4cG9ydCB0eXBlIFNsaWRlckRlY29yYXRpb25Qb3NpdGlvbiA9ICh0eXBlb2YgU2xpZGVyRGVjb3JhdGlvblBvc2l0aW9uKVtrZXlvZiB0eXBlb2YgU2xpZGVyRGVjb3JhdGlvblBvc2l0aW9uXTtcclxuXHJcbmV4cG9ydCB0eXBlIFNsaWRlckxhYmVsT2JqZWN0ID0ge1xyXG4gIGxhYmVsOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgZm9yOiBudW1iZXI7XHJcbn07XHJcbmV4cG9ydCB0eXBlIF9JbnRlcm5hbFNsaWRlckxhYmVsT2JqZWN0ID0ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgcG9zaXRpb25QZXJjZW50OiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTbGlkZXJSYW5nZTxUID0gbnVtYmVyPiA9IHtcclxuICBsb3c6IFQ7XHJcbiAgaGlnaDogVDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNsaWRlclRvb2x0aXBGb3JtYXRGbiA9ICh2YWx1ZTogbnVtYmVyKSA9PiBzdHJpbmcgfCBudW1iZXI7XHJcbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zbGlkZXIvc2xpZGVyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ25DLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87Q0FDTixDQUFDO0FBR1gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsR0FBRyxFQUFFLEtBQUs7SUFDVixNQUFNLEVBQUUsUUFBUTtDQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNsaWRlclRvb2x0aXBDb250ZXh0IHtcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgJGltcGxpY2l0OiBzdHJpbmcgfCBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBTbGlkZXJUb29sdGlwQmVoYXZpb3IgPSB7XG4gIEFsd2F5czogJ2Fsd2F5cycsXG4gIEF1dG86ICdhdXRvJyxcbiAgTmV2ZXI6ICduZXZlcicsXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgU2xpZGVyVG9vbHRpcEJlaGF2aW9yID0gKHR5cGVvZiBTbGlkZXJUb29sdGlwQmVoYXZpb3IpW2tleW9mIHR5cGVvZiBTbGlkZXJUb29sdGlwQmVoYXZpb3JdO1xuXG5leHBvcnQgY29uc3QgU2xpZGVyRGVjb3JhdGlvblBvc2l0aW9uID0ge1xuICBUb3A6ICd0b3AnLFxuICBCb3R0b206ICdib3R0b20nLFxufSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFNsaWRlckRlY29yYXRpb25Qb3NpdGlvbiA9ICh0eXBlb2YgU2xpZGVyRGVjb3JhdGlvblBvc2l0aW9uKVtrZXlvZiB0eXBlb2YgU2xpZGVyRGVjb3JhdGlvblBvc2l0aW9uXTtcblxuZXhwb3J0IGludGVyZmFjZSBTbGlkZXJMYWJlbE9iamVjdCB7XG4gIGxhYmVsOiBzdHJpbmcgfCBudW1iZXI7XG4gIGZvcjogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBfSW50ZXJuYWxTbGlkZXJMYWJlbE9iamVjdCB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHBvc2l0aW9uUGVyY2VudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsaWRlclJhbmdlPFQgPSBudW1iZXI+IHtcbiAgbG93OiBUO1xuICBoaWdoOiBUO1xufVxuXG5leHBvcnQgdHlwZSBTbGlkZXJUb29sdGlwRm9ybWF0Rm4gPSAodmFsdWU6IG51bWJlcikgPT4gc3RyaW5nIHwgbnVtYmVyO1xuIl19
@@ -2,4 +2,4 @@ export * from './snackbar.service';
2
2
  export * from './snackbar.token';
3
3
  export * from './snackbar.types';
4
4
  export { ArdSnackbarRef, ARD_SNACKBAR_DATA } from './snackbar-ref';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NuYWNrYmFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc25hY2tiYXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc25hY2tiYXIudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL3NuYWNrYmFyLnR5cGVzJztcclxuZXhwb3J0IHsgQXJkU25hY2tiYXJSZWYsIEFSRF9TTkFDS0JBUl9EQVRBIH0gZnJvbSAnLi9zbmFja2Jhci1yZWYnO1xyXG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL3NuYWNrYmFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc25hY2tiYXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NuYWNrYmFyLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vc25hY2tiYXIudHlwZXMnO1xuZXhwb3J0IHsgQXJkU25hY2tiYXJSZWYsIEFSRF9TTkFDS0JBUl9EQVRBIH0gZnJvbSAnLi9zbmFja2Jhci1yZWYnO1xuIl19
@@ -48,4 +48,4 @@ export class ArdSnackbarRef {
48
48
  return this._isClosed;
49
49
  }
50
50
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zbmFja2Jhci9zbmFja2Jhci1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUtoRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsaUJBQWlCLENBQUMsQ0FBQztBQUN4RixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsa0JBQWtCLENBQUMsQ0FBQztBQUN6RixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsaUJBQWlCLENBQUMsQ0FBQztBQUV4RixNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1MsU0FBMkIsRUFDM0IsT0FBcUMsRUFDNUMsT0FBdUM7UUFGaEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFXN0IsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDOUIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQVRuRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBVUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDbUIsT0FBdUMsRUFDdkMsT0FBc0IsRUFDdEIsYUFBdUM7UUFGdkMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0M7UUFDdkMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFHekMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDbkMsV0FBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckMsWUFBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsaUJBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBaUJ6RCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBdEJ2QixDQUFDO0lBU0osS0FBSyxDQUFDLGFBQXNCLEtBQUs7UUFDL0IsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVksQ0FBQyxhQUFzQixLQUFLO1FBQ3RDLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUdELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXJkU25hY2tiYXJEYXRhLCBBcmRTbmFja2Jhck9wdGlvbnMsIEFyZFNuYWNrYmFyVHlwZSB9IGZyb20gJy4vc25hY2tiYXIudHlwZXMnO1xyXG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21wb25lbnRDb2xvciB9IGZyb20gJy4uL3R5cGVzL2NvbG9ycy50eXBlcyc7XHJcblxyXG5leHBvcnQgY29uc3QgQVJEX1NOQUNLQkFSX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXJkU25hY2tiYXJEYXRhPignQXJkU25hY2tiYXJEYXRhJyk7XHJcbmV4cG9ydCBjb25zdCBBUkRfU05BQ0tCQVJfQ09MT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcG9uZW50Q29sb3I+KCdBcmRTbmFja2JhckNvbG9yJyk7XHJcbmV4cG9ydCBjb25zdCBBUkRfU05BQ0tCQVJfVFlQRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcmRTbmFja2JhclR5cGU+KCdBcmRTbmFja2JhclR5cGUnKTtcclxuXHJcbmV4cG9ydCBjbGFzcyBfQXJkU25hY2tiYXJSZWZJbnRlcm5hbDxUPiB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LFxyXG4gICAgcHVibGljIG9wdGlvbnM6IFJlcXVpcmVkPEFyZFNuYWNrYmFyT3B0aW9ucz4sXHJcbiAgICBkaXNtaXNzOiAod2l0aEFjdGlvbj86IGJvb2xlYW4pID0+IHZvaWRcclxuICApIHtcclxuICAgIHRoaXMucHVibGljUmVmID0gbmV3IEFyZFNuYWNrYmFyUmVmKGRpc21pc3MsIHRoaXMuX29uT3BlbiwgdGhpcy5fb25DbG9zZVN0YXJ0KTtcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHB1YmxpY1JlZiE6IEFyZFNuYWNrYmFyUmVmPFQ+O1xyXG5cclxuICB0aW1lb3V0ITogTm9kZUpTLlRpbWVvdXQ7XHJcbiAgb3ZlcmxheSE6IE92ZXJsYXlSZWY7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uT3BlbiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfb25DbG9zZVN0YXJ0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIG1hcmtBc09wZW5lZCgpIHtcclxuICAgIHRoaXMuX29uT3Blbi5uZXh0KCk7XHJcbiAgICB0aGlzLl9vbk9wZW4uY29tcGxldGUoKTtcclxuICB9XHJcbiAgbWFya0FzU3RhcnRpbmdUb0Nsb3NlKCkge1xyXG4gICAgdGhpcy5fb25DbG9zZVN0YXJ0Lm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLl9vbkNsb3NlU3RhcnQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIEFyZFNuYWNrYmFyUmVmPFQgPSB1bmtub3duPiB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpc21pc3M6ICh3aXRoQWN0aW9uPzogYm9vbGVhbikgPT4gdm9pZCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uT3BlbjogU3ViamVjdDx2b2lkPixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uQ2xvc2VTdGFydDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9vbkNsb3NlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgb25PcGVuID0gdGhpcy5fb25PcGVuLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkNsb3NlID0gdGhpcy5fb25DbG9zZS5hc09ic2VydmFibGUoKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgb25DbG9zZVN0YXJ0ID0gdGhpcy5fb25DbG9zZVN0YXJ0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwdWJsaWMgaW5zdGFuY2UhOiBUO1xyXG5cclxuICBjbG9zZSh3aXRoQWN0aW9uOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzQ2xvc2VkKSByZXR1cm47XHJcbiAgICB0aGlzLmRpc21pc3Mod2l0aEFjdGlvbik7XHJcbiAgICB0aGlzLm1hcmtBc0Nsb3NlZCgpO1xyXG4gIH1cclxuXHJcbiAgbWFya0FzQ2xvc2VkKHdpdGhBY3Rpb246IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNDbG9zZWQpIHJldHVybjtcclxuICAgIHRoaXMuX29uQ2xvc2UubmV4dCh3aXRoQWN0aW9uKTtcclxuICAgIHRoaXMuX29uQ2xvc2UuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2lzQ2xvc2VkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2lzQ2xvc2VkID0gZmFsc2U7XHJcbiAgcHVibGljIGdldCBpc0Nsb3NlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pc0Nsb3NlZDtcclxuICB9XHJcbn1cclxuIl19
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zbmFja2Jhci9zbmFja2Jhci1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUtoRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsaUJBQWlCLENBQUMsQ0FBQztBQUN4RixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsa0JBQWtCLENBQUMsQ0FBQztBQUN6RixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsaUJBQWlCLENBQUMsQ0FBQztBQUV4RixNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1MsU0FBMkIsRUFDM0IsT0FBcUMsRUFDNUMsT0FBdUM7UUFGaEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFXN0IsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDOUIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQVRuRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBVUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDbUIsT0FBdUMsRUFDdkMsT0FBc0IsRUFDdEIsYUFBdUM7UUFGdkMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0M7UUFDdkMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFHekMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDbkMsV0FBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckMsWUFBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsaUJBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBaUJ6RCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBdEJ2QixDQUFDO0lBU0osS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZLENBQUMsVUFBVSxHQUFHLEtBQUs7UUFDN0IsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBR0QsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcmRTbmFja2JhckRhdGEsIEFyZFNuYWNrYmFyT3B0aW9ucywgQXJkU25hY2tiYXJUeXBlIH0gZnJvbSAnLi9zbmFja2Jhci50eXBlcyc7XG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50Q29sb3IgfSBmcm9tICcuLi90eXBlcy9jb2xvcnMudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQVJEX1NOQUNLQkFSX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXJkU25hY2tiYXJEYXRhPignQXJkU25hY2tiYXJEYXRhJyk7XG5leHBvcnQgY29uc3QgQVJEX1NOQUNLQkFSX0NPTE9SID0gbmV3IEluamVjdGlvblRva2VuPENvbXBvbmVudENvbG9yPignQXJkU25hY2tiYXJDb2xvcicpO1xuZXhwb3J0IGNvbnN0IEFSRF9TTkFDS0JBUl9UWVBFID0gbmV3IEluamVjdGlvblRva2VuPEFyZFNuYWNrYmFyVHlwZT4oJ0FyZFNuYWNrYmFyVHlwZScpO1xuXG5leHBvcnQgY2xhc3MgX0FyZFNuYWNrYmFyUmVmSW50ZXJuYWw8VD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LFxuICAgIHB1YmxpYyBvcHRpb25zOiBSZXF1aXJlZDxBcmRTbmFja2Jhck9wdGlvbnM+LFxuICAgIGRpc21pc3M6ICh3aXRoQWN0aW9uPzogYm9vbGVhbikgPT4gdm9pZFxuICApIHtcbiAgICB0aGlzLnB1YmxpY1JlZiA9IG5ldyBBcmRTbmFja2JhclJlZihkaXNtaXNzLCB0aGlzLl9vbk9wZW4sIHRoaXMuX29uQ2xvc2VTdGFydCk7XG4gIH1cblxuICByZWFkb25seSBwdWJsaWNSZWYhOiBBcmRTbmFja2JhclJlZjxUPjtcblxuICB0aW1lb3V0ITogYW55O1xuICBvdmVybGF5ITogT3ZlcmxheVJlZjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9vbk9wZW4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vbkNsb3NlU3RhcnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBtYXJrQXNPcGVuZWQoKSB7XG4gICAgdGhpcy5fb25PcGVuLm5leHQoKTtcbiAgICB0aGlzLl9vbk9wZW4uY29tcGxldGUoKTtcbiAgfVxuICBtYXJrQXNTdGFydGluZ1RvQ2xvc2UoKSB7XG4gICAgdGhpcy5fb25DbG9zZVN0YXJ0Lm5leHQodHJ1ZSk7XG4gICAgdGhpcy5fb25DbG9zZVN0YXJ0LmNvbXBsZXRlKCk7XG4gIH1cbn1cbmV4cG9ydCBjbGFzcyBBcmRTbmFja2JhclJlZjxUID0gdW5rbm93bj4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpc21pc3M6ICh3aXRoQWN0aW9uPzogYm9vbGVhbikgPT4gdm9pZCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbk9wZW46IFN1YmplY3Q8dm9pZD4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25DbG9zZVN0YXJ0OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj5cbiAgKSB7fVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uQ2xvc2UgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgb25PcGVuID0gdGhpcy5fb25PcGVuLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgcmVhZG9ubHkgb25DbG9zZSA9IHRoaXMuX29uQ2xvc2UuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyByZWFkb25seSBvbkNsb3NlU3RhcnQgPSB0aGlzLl9vbkNsb3NlU3RhcnQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIGluc3RhbmNlITogVDtcblxuICBjbG9zZSh3aXRoQWN0aW9uID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Nsb3NlZCkgcmV0dXJuO1xuICAgIHRoaXMuZGlzbWlzcyh3aXRoQWN0aW9uKTtcbiAgICB0aGlzLm1hcmtBc0Nsb3NlZCgpO1xuICB9XG5cbiAgbWFya0FzQ2xvc2VkKHdpdGhBY3Rpb24gPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQ2xvc2VkKSByZXR1cm47XG4gICAgdGhpcy5fb25DbG9zZS5uZXh0KHdpdGhBY3Rpb24pO1xuICAgIHRoaXMuX29uQ2xvc2UuY29tcGxldGUoKTtcbiAgICB0aGlzLl9pc0Nsb3NlZCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIF9pc0Nsb3NlZCA9IGZhbHNlO1xuICBwdWJsaWMgZ2V0IGlzQ2xvc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0Nsb3NlZDtcbiAgfVxufVxuIl19