@ardium-ui/ui 2.3.2 → 3.0.0

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 (410) hide show
  1. package/esm2022/lib/_internal/boolean-component.mjs +3 -2
  2. package/esm2022/lib/_internal/clear-button/clear-button.component.mjs +9 -6
  3. package/esm2022/lib/_internal/disablable-component.mjs +13 -8
  4. package/esm2022/lib/_internal/focusable-component.mjs +11 -4
  5. package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +30 -23
  6. package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +4 -5
  7. package/esm2022/lib/_internal/item-storages/simplest-item-storage.mjs +7 -8
  8. package/esm2022/lib/_internal/models/pagination.model.mjs +3 -3
  9. package/esm2022/lib/_internal/models/queue.mjs +59 -0
  10. package/esm2022/lib/_internal/ngmodel-component.mjs +4 -3
  11. package/esm2022/lib/_internal/selectable-list-component.mjs +31 -42
  12. package/esm2022/lib/badge/badge.defaults.mjs +20 -0
  13. package/esm2022/lib/badge/badge.directive.mjs +18 -15
  14. package/esm2022/lib/badge/index.mjs +3 -2
  15. package/esm2022/lib/buttons/_button-base.defaults.mjs +16 -0
  16. package/esm2022/lib/buttons/_button-base.mjs +12 -12
  17. package/esm2022/lib/buttons/button/button.component.mjs +15 -15
  18. package/esm2022/lib/buttons/button/button.defaults.mjs +17 -0
  19. package/esm2022/lib/buttons/button/index.mjs +3 -2
  20. package/esm2022/lib/buttons/fab/fab.component.mjs +16 -15
  21. package/esm2022/lib/buttons/fab/fab.defaults.mjs +17 -0
  22. package/esm2022/lib/buttons/fab/index.mjs +3 -2
  23. package/esm2022/lib/buttons/general-button.types.mjs +2 -2
  24. package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +16 -13
  25. package/esm2022/lib/buttons/icon-button/icon-button.defaults.mjs +9 -0
  26. package/esm2022/lib/buttons/icon-button/index.mjs +3 -2
  27. package/esm2022/lib/card/card.children.mjs +15 -15
  28. package/esm2022/lib/card/card.component.mjs +6 -5
  29. package/esm2022/lib/card/card.defaults.mjs +17 -0
  30. package/esm2022/lib/card/index.mjs +4 -3
  31. package/esm2022/lib/checkbox/checkbox.component.mjs +16 -19
  32. package/esm2022/lib/checkbox/checkbox.defaults.mjs +17 -0
  33. package/esm2022/lib/checkbox/index.mjs +3 -2
  34. package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +19 -21
  35. package/esm2022/lib/checkbox-list/checkbox-list.defaults.mjs +25 -0
  36. package/esm2022/lib/checkbox-list/index.mjs +3 -2
  37. package/esm2022/lib/chip/chip.component.mjs +17 -16
  38. package/esm2022/lib/chip/chip.defaults.mjs +20 -0
  39. package/esm2022/lib/chip/deletable-chip/deletable-chip.component.mjs +18 -20
  40. package/esm2022/lib/chip/deletable-chip/deletable-chip.defaults.mjs +17 -0
  41. package/esm2022/lib/chip/index.mjs +5 -2
  42. package/esm2022/lib/chip/selectable-chip/selectable-chip.component.mjs +21 -21
  43. package/esm2022/lib/chip/selectable-chip/selectable-chip.defaults.mjs +18 -0
  44. package/esm2022/lib/color/color-display/color-display.component.mjs +13 -12
  45. package/esm2022/lib/color/color-display/color-display.defaults.mjs +16 -0
  46. package/esm2022/lib/color/color-display/index.mjs +3 -2
  47. package/esm2022/lib/dialog/dialog.component.mjs +23 -22
  48. package/esm2022/lib/dialog/dialog.defaults.mjs +24 -0
  49. package/esm2022/lib/dialog/dialog.types.mjs +1 -1
  50. package/esm2022/lib/dialog/index.mjs +4 -3
  51. package/esm2022/lib/divider/divider.component.mjs +10 -12
  52. package/esm2022/lib/divider/divider.defaults.mjs +13 -0
  53. package/esm2022/lib/divider/index.mjs +3 -2
  54. package/esm2022/lib/dropdown-panel/dropdown-panel.component.mjs +10 -9
  55. package/esm2022/lib/dropdown-panel/dropdown-panel.defaults.mjs +17 -0
  56. package/esm2022/lib/dropdown-panel/index.mjs +3 -2
  57. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +14 -12
  58. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.defaults.mjs +18 -0
  59. package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.module.mjs +1 -1
  60. package/esm2022/lib/file-inputs/file-drop-area/index.mjs +3 -2
  61. package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +23 -25
  62. package/esm2022/lib/file-inputs/file-input/file-input.defaults.mjs +23 -0
  63. package/esm2022/lib/file-inputs/file-input/index.mjs +3 -2
  64. package/esm2022/lib/file-inputs/file-input-base.defaults.mjs +8 -0
  65. package/esm2022/lib/file-inputs/file-input-base.mjs +2 -2
  66. package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +12 -8
  67. package/esm2022/lib/form-field-frame/form-field-frame.defaults.mjs +18 -0
  68. package/esm2022/lib/form-field-frame/index.mjs +3 -2
  69. package/esm2022/lib/icon/icon.component.mjs +6 -4
  70. package/esm2022/lib/icon/icon.defaults.mjs +17 -0
  71. package/esm2022/lib/icon/index.mjs +3 -2
  72. package/esm2022/lib/inputs/_simple-input-base.mjs +159 -0
  73. package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +17 -15
  74. package/esm2022/lib/inputs/digit-input/digit-input.defaults.mjs +21 -0
  75. package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +1 -1
  76. package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
  77. package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
  78. package/esm2022/lib/inputs/digit-input/index.mjs +3 -2
  79. package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +24 -23
  80. package/esm2022/lib/inputs/hex-input/hex-input.defaults.mjs +26 -0
  81. package/esm2022/lib/inputs/hex-input/hex-input.model.mjs +97 -0
  82. package/esm2022/lib/inputs/hex-input/hex-input.module.mjs +1 -1
  83. package/esm2022/lib/inputs/hex-input/index.mjs +3 -2
  84. package/esm2022/lib/inputs/input/index.mjs +1 -1
  85. package/esm2022/lib/inputs/input/input.component.mjs +28 -48
  86. package/esm2022/lib/inputs/input/input.defaults.mjs +17 -0
  87. package/esm2022/lib/inputs/input/input.directives.mjs +1 -1
  88. package/esm2022/lib/inputs/input/input.module.mjs +1 -1
  89. package/esm2022/lib/inputs/input-transformers.mjs +1 -1
  90. package/esm2022/lib/inputs/input-utils.mjs +1 -1
  91. package/esm2022/lib/inputs/number-input/index.mjs +3 -2
  92. package/esm2022/lib/inputs/number-input/number-input.component.mjs +34 -30
  93. package/esm2022/lib/inputs/number-input/number-input.defaults.mjs +27 -0
  94. package/esm2022/lib/inputs/password-input/index.mjs +3 -2
  95. package/esm2022/lib/inputs/password-input/password-input.component.mjs +23 -18
  96. package/esm2022/lib/inputs/password-input/password-input.defaults.mjs +24 -0
  97. package/esm2022/lib/inputs/password-input/password-input.types.mjs +1 -1
  98. package/esm2022/lib/inputs/simple-input/index.mjs +3 -2
  99. package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +15 -145
  100. package/esm2022/lib/inputs/simple-input/simple-input.defaults.mjs +25 -0
  101. package/esm2022/lib/kbd/index.mjs +2 -1
  102. package/esm2022/lib/kbd/kbd.component.mjs +6 -4
  103. package/esm2022/lib/kbd/kbd.defaults.mjs +15 -0
  104. package/esm2022/lib/kbd/kbd.directive.mjs +1 -1
  105. package/esm2022/lib/kbd/kbd.pipe.mjs +7 -3
  106. package/esm2022/lib/kbd-shortcut/index.mjs +3 -2
  107. package/esm2022/lib/kbd-shortcut/kbd-shortcut.component.mjs +12 -7
  108. package/esm2022/lib/kbd-shortcut/kbd-shortcut.defaults.mjs +8 -0
  109. package/esm2022/lib/modal/index.mjs +3 -2
  110. package/esm2022/lib/modal/modal.component.mjs +14 -11
  111. package/esm2022/lib/modal/modal.defaults.mjs +20 -0
  112. package/esm2022/lib/option/index.mjs +1 -1
  113. package/esm2022/lib/option/option.component.mjs +1 -1
  114. package/esm2022/lib/progress-bar/index.mjs +4 -3
  115. package/esm2022/lib/progress-bar/progress-bar.component.mjs +19 -18
  116. package/esm2022/lib/progress-bar/progress-bar.defaults.mjs +21 -0
  117. package/esm2022/lib/progress-bar/progress-bar.types.mjs +1 -1
  118. package/esm2022/lib/progress-circle/index.mjs +4 -3
  119. package/esm2022/lib/progress-circle/progress-circle.component.mjs +18 -22
  120. package/esm2022/lib/progress-circle/progress-circle.defaults.mjs +21 -0
  121. package/esm2022/lib/progress-circle/progress-circle.module.mjs +4 -4
  122. package/esm2022/lib/progress-circle/progress-circle.types.mjs +1 -1
  123. package/esm2022/lib/radio/index.mjs +4 -3
  124. package/esm2022/lib/radio/radio/radio.component.mjs +13 -10
  125. package/esm2022/lib/radio/radio/radio.defaults.mjs +16 -0
  126. package/esm2022/lib/radio/radio-group.component.mjs +7 -7
  127. package/esm2022/lib/search-functions.mjs +2 -2
  128. package/esm2022/lib/segment/index.mjs +3 -2
  129. package/esm2022/lib/segment/segment.component.mjs +22 -21
  130. package/esm2022/lib/segment/segment.defaults.mjs +26 -0
  131. package/esm2022/lib/segment/segment.directives.mjs +1 -1
  132. package/esm2022/lib/select/index.mjs +3 -2
  133. package/esm2022/lib/select/select.component.mjs +76 -101
  134. package/esm2022/lib/select/select.defaults.mjs +53 -0
  135. package/esm2022/lib/select/select.directive.mjs +1 -1
  136. package/esm2022/lib/select/select.types.mjs +1 -1
  137. package/esm2022/lib/slide-toggle/index.mjs +2 -1
  138. package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +17 -15
  139. package/esm2022/lib/slide-toggle/slide-toggle.defaults.mjs +21 -0
  140. package/esm2022/lib/slide-toggle/slide-toggle.types.mjs +1 -1
  141. package/esm2022/lib/slider/abstract-slider.mjs +44 -34
  142. package/esm2022/lib/slider/index.mjs +5 -4
  143. package/esm2022/lib/slider/range-slider/range-slider.component.mjs +13 -9
  144. package/esm2022/lib/slider/slider.component.mjs +13 -9
  145. package/esm2022/lib/slider/slider.defaults.mjs +14 -0
  146. package/esm2022/lib/slider/slider.module.mjs +1 -1
  147. package/esm2022/lib/slider/slider.types.mjs +1 -1
  148. package/esm2022/lib/snackbar/snackbar-ref.mjs +1 -1
  149. package/esm2022/lib/snackbar/snackbar.component.mjs +3 -3
  150. package/esm2022/lib/snackbar/snackbar.service.mjs +10 -14
  151. package/esm2022/lib/snackbar/snackbar.token.mjs +12 -6
  152. package/esm2022/lib/snackbar/snackbar.types.mjs +1 -1
  153. package/esm2022/lib/spinner/index.mjs +3 -2
  154. package/esm2022/lib/spinner/spinner.component.mjs +7 -6
  155. package/esm2022/lib/spinner/spinner.defaults.mjs +14 -0
  156. package/esm2022/lib/star/index.mjs +3 -2
  157. package/esm2022/lib/star/star-button/index.mjs +3 -2
  158. package/esm2022/lib/star/star-button/star-button.component.mjs +14 -11
  159. package/esm2022/lib/star/star-button/star-button.defaults.mjs +18 -0
  160. package/esm2022/lib/star/star-display/index.mjs +3 -2
  161. package/esm2022/lib/star/star-display/star-display.component.mjs +10 -8
  162. package/esm2022/lib/star/star-display/star-display.defaults.mjs +16 -0
  163. package/esm2022/lib/star/star-input/index.mjs +3 -2
  164. package/esm2022/lib/star/star-input/star-input.component.mjs +14 -11
  165. package/esm2022/lib/star/star-input/star-input.defaults.mjs +17 -0
  166. package/esm2022/lib/star/star.component.mjs +15 -8
  167. package/esm2022/lib/star/star.defaults.mjs +15 -0
  168. package/esm2022/lib/statebox/index.mjs +2 -1
  169. package/esm2022/lib/statebox/statebox.component.mjs +19 -25
  170. package/esm2022/lib/statebox/statebox.defaults.mjs +20 -0
  171. package/esm2022/lib/statebox/statebox.types.mjs +1 -1
  172. package/esm2022/lib/tabber/index.mjs +5 -3
  173. package/esm2022/lib/tabber/tab/tab.component.mjs +7 -5
  174. package/esm2022/lib/tabber/tab/tab.defaults.mjs +13 -0
  175. package/esm2022/lib/tabber/tabber.component.mjs +13 -11
  176. package/esm2022/lib/tabber/tabber.defaults.mjs +19 -0
  177. package/esm2022/lib/tabber/tabber.module.mjs +1 -1
  178. package/esm2022/lib/table/index.mjs +3 -2
  179. package/esm2022/lib/table/table-item-storage.mjs +4 -4
  180. package/esm2022/lib/table/table.component.mjs +69 -50
  181. package/esm2022/lib/table/table.defaults.mjs +53 -0
  182. package/esm2022/lib/table/table.directives.mjs +1 -1
  183. package/esm2022/lib/table/table.module.mjs +8 -7
  184. package/esm2022/lib/table-from-csv/index.mjs +3 -2
  185. package/esm2022/lib/table-from-csv/table-from-csv.component.mjs +44 -44
  186. package/esm2022/lib/table-from-csv/table-from-csv.defaults.mjs +15 -0
  187. package/esm2022/lib/table-pagination/index.mjs +3 -2
  188. package/esm2022/lib/table-pagination/table-pagination.component.mjs +13 -9
  189. package/esm2022/lib/table-pagination/table-pagination.defaults.mjs +25 -0
  190. package/esm2022/lib/types/button.types.mjs +1 -1
  191. package/esm2022/lib/types/item-storage.types.mjs +1 -1
  192. package/esm2022/lib/types/utility.types.mjs +1 -1
  193. package/esm2022/public-api.mjs +1 -1
  194. package/fesm2022/ardium-ui-ui.mjs +3049 -2265
  195. package/fesm2022/ardium-ui-ui.mjs.map +1 -1
  196. package/lib/_internal/boolean-component.d.ts +5 -1
  197. package/lib/_internal/clear-button/clear-button.component.d.ts +1 -0
  198. package/lib/_internal/disablable-component.d.ts +9 -2
  199. package/lib/_internal/focusable-component.d.ts +6 -1
  200. package/lib/_internal/item-storages/dropdown-item-storage.d.ts +9 -19
  201. package/lib/_internal/item-storages/simple-item-storage.d.ts +1 -1
  202. package/lib/_internal/item-storages/simplest-item-storage.d.ts +3 -3
  203. package/lib/_internal/models/pagination.model.d.ts +2 -2
  204. package/lib/_internal/ngmodel-component.d.ts +6 -2
  205. package/lib/_internal/selectable-list-component.d.ts +18 -13
  206. package/lib/badge/badge.defaults.d.ts +13 -0
  207. package/lib/badge/badge.directive.d.ts +4 -4
  208. package/lib/badge/index.d.ts +2 -1
  209. package/lib/buttons/_button-base.d.ts +6 -1
  210. package/lib/buttons/_button-base.defaults.d.ts +15 -0
  211. package/lib/buttons/button/button.component.d.ts +4 -3
  212. package/lib/buttons/button/button.defaults.d.ts +11 -0
  213. package/lib/buttons/button/index.d.ts +2 -1
  214. package/lib/buttons/fab/fab.component.d.ts +5 -6
  215. package/lib/buttons/fab/fab.defaults.d.ts +8 -0
  216. package/lib/buttons/fab/index.d.ts +2 -1
  217. package/lib/buttons/general-button.types.d.ts +2 -2
  218. package/lib/buttons/icon-button/icon-button.component.d.ts +3 -0
  219. package/lib/buttons/icon-button/icon-button.defaults.d.ts +6 -0
  220. package/lib/buttons/icon-button/index.d.ts +2 -1
  221. package/lib/card/card.children.d.ts +1 -1
  222. package/lib/card/card.component.d.ts +1 -0
  223. package/lib/card/card.defaults.d.ts +10 -0
  224. package/lib/card/index.d.ts +3 -2
  225. package/lib/checkbox/checkbox.component.d.ts +4 -2
  226. package/lib/checkbox/checkbox.defaults.d.ts +9 -0
  227. package/lib/checkbox/index.d.ts +2 -1
  228. package/lib/checkbox-list/checkbox-list.component.d.ts +4 -5
  229. package/lib/checkbox-list/checkbox-list.defaults.d.ts +19 -0
  230. package/lib/checkbox-list/index.d.ts +2 -1
  231. package/lib/chip/chip.component.d.ts +3 -0
  232. package/lib/chip/chip.defaults.d.ts +15 -0
  233. package/lib/chip/deletable-chip/deletable-chip.component.d.ts +3 -3
  234. package/lib/chip/deletable-chip/deletable-chip.defaults.d.ts +8 -0
  235. package/lib/chip/index.d.ts +4 -1
  236. package/lib/chip/selectable-chip/selectable-chip.component.d.ts +3 -3
  237. package/lib/chip/selectable-chip/selectable-chip.defaults.d.ts +9 -0
  238. package/lib/color/color-display/color-display.component.d.ts +2 -1
  239. package/lib/color/color-display/color-display.defaults.d.ts +9 -0
  240. package/lib/color/color-display/index.d.ts +2 -1
  241. package/lib/dialog/dialog.component.d.ts +1 -0
  242. package/lib/dialog/dialog.defaults.d.ts +16 -0
  243. package/lib/dialog/index.d.ts +3 -2
  244. package/lib/divider/divider.component.d.ts +1 -1
  245. package/lib/divider/divider.defaults.d.ts +6 -0
  246. package/lib/divider/index.d.ts +2 -1
  247. package/lib/dropdown-panel/dropdown-panel.component.d.ts +1 -0
  248. package/lib/dropdown-panel/dropdown-panel.defaults.d.ts +10 -0
  249. package/lib/dropdown-panel/index.d.ts +2 -1
  250. package/lib/file-inputs/file-drop-area/file-drop-area.component.d.ts +5 -2
  251. package/lib/file-inputs/file-drop-area/file-drop-area.defaults.d.ts +10 -0
  252. package/lib/file-inputs/file-drop-area/index.d.ts +2 -1
  253. package/lib/file-inputs/file-input/file-input.component.d.ts +4 -4
  254. package/lib/file-inputs/file-input/file-input.defaults.d.ts +15 -0
  255. package/lib/file-inputs/file-input/index.d.ts +2 -1
  256. package/lib/file-inputs/file-input-base.d.ts +2 -0
  257. package/lib/file-inputs/file-input-base.defaults.d.ts +7 -0
  258. package/lib/form-field-frame/form-field-frame.component.d.ts +3 -0
  259. package/lib/form-field-frame/form-field-frame.defaults.d.ts +10 -0
  260. package/lib/form-field-frame/index.d.ts +2 -1
  261. package/lib/icon/icon.component.d.ts +7 -3
  262. package/lib/icon/icon.defaults.d.ts +11 -0
  263. package/lib/icon/index.d.ts +2 -1
  264. package/lib/inputs/_simple-input-base.d.ts +62 -0
  265. package/lib/inputs/digit-input/digit-input.component.d.ts +3 -0
  266. package/lib/inputs/digit-input/digit-input.defaults.d.ts +13 -0
  267. package/lib/inputs/digit-input/index.d.ts +2 -1
  268. package/lib/inputs/hex-input/hex-input.component.d.ts +4 -4
  269. package/lib/inputs/hex-input/hex-input.defaults.d.ts +19 -0
  270. package/lib/inputs/{hex-input.model.d.ts → hex-input/hex-input.model.d.ts} +2 -2
  271. package/lib/inputs/hex-input/index.d.ts +2 -1
  272. package/lib/inputs/input/input.component.d.ts +10 -17
  273. package/lib/inputs/input/input.defaults.d.ts +9 -0
  274. package/lib/inputs/number-input/index.d.ts +2 -1
  275. package/lib/inputs/number-input/number-input.component.d.ts +3 -1
  276. package/lib/inputs/number-input/number-input.defaults.d.ts +19 -0
  277. package/lib/inputs/password-input/index.d.ts +2 -1
  278. package/lib/inputs/password-input/password-input.component.d.ts +3 -0
  279. package/lib/inputs/password-input/password-input.defaults.d.ts +17 -0
  280. package/lib/inputs/simple-input/index.d.ts +2 -1
  281. package/lib/inputs/simple-input/simple-input.component.d.ts +6 -50
  282. package/lib/inputs/simple-input/simple-input.defaults.d.ts +6 -0
  283. package/lib/kbd/index.d.ts +1 -0
  284. package/lib/kbd/kbd.component.d.ts +1 -0
  285. package/lib/kbd/kbd.defaults.d.ts +8 -0
  286. package/lib/kbd/kbd.pipe.d.ts +1 -0
  287. package/lib/kbd-shortcut/index.d.ts +2 -1
  288. package/lib/kbd-shortcut/kbd-shortcut.component.d.ts +2 -0
  289. package/lib/kbd-shortcut/kbd-shortcut.defaults.d.ts +8 -0
  290. package/lib/modal/index.d.ts +2 -1
  291. package/lib/modal/modal.component.d.ts +1 -0
  292. package/lib/modal/modal.defaults.d.ts +14 -0
  293. package/lib/progress-bar/index.d.ts +3 -2
  294. package/lib/progress-bar/progress-bar.component.d.ts +3 -1
  295. package/lib/progress-bar/progress-bar.defaults.d.ts +14 -0
  296. package/lib/progress-circle/index.d.ts +3 -2
  297. package/lib/progress-circle/progress-circle.component.d.ts +3 -1
  298. package/lib/progress-circle/progress-circle.defaults.d.ts +14 -0
  299. package/lib/progress-circle/progress-circle.module.d.ts +1 -1
  300. package/lib/radio/index.d.ts +3 -2
  301. package/lib/radio/radio/radio.component.d.ts +5 -2
  302. package/lib/radio/radio/radio.defaults.d.ts +8 -0
  303. package/lib/segment/index.d.ts +2 -1
  304. package/lib/segment/segment.component.d.ts +3 -0
  305. package/lib/segment/segment.defaults.d.ts +18 -0
  306. package/lib/select/index.d.ts +2 -1
  307. package/lib/select/select.component.d.ts +11 -22
  308. package/lib/select/select.defaults.d.ts +49 -0
  309. package/lib/slide-toggle/index.d.ts +1 -0
  310. package/lib/slide-toggle/slide-toggle.component.d.ts +9 -6
  311. package/lib/slide-toggle/slide-toggle.defaults.d.ts +14 -0
  312. package/lib/slider/abstract-slider.d.ts +22 -5
  313. package/lib/slider/index.d.ts +4 -3
  314. package/lib/slider/range-slider/range-slider.component.d.ts +3 -0
  315. package/lib/slider/slider.component.d.ts +3 -0
  316. package/lib/slider/slider.defaults.d.ts +6 -0
  317. package/lib/snackbar/snackbar.service.d.ts +1 -2
  318. package/lib/snackbar/snackbar.token.d.ts +3 -3
  319. package/lib/spinner/index.d.ts +2 -1
  320. package/lib/spinner/spinner.component.d.ts +1 -0
  321. package/lib/spinner/spinner.defaults.d.ts +7 -0
  322. package/lib/star/index.d.ts +2 -1
  323. package/lib/star/star-button/index.d.ts +2 -1
  324. package/lib/star/star-button/star-button.component.d.ts +3 -0
  325. package/lib/star/star-button/star-button.defaults.d.ts +10 -0
  326. package/lib/star/star-display/index.d.ts +2 -1
  327. package/lib/star/star-display/star-display.component.d.ts +1 -0
  328. package/lib/star/star-display/star-display.defaults.d.ts +9 -0
  329. package/lib/star/star-input/index.d.ts +2 -1
  330. package/lib/star/star-input/star-input.component.d.ts +3 -1
  331. package/lib/star/star-input/star-input.defaults.d.ts +9 -0
  332. package/lib/star/star.component.d.ts +4 -2
  333. package/lib/star/star.defaults.d.ts +8 -0
  334. package/lib/statebox/index.d.ts +1 -0
  335. package/lib/statebox/statebox.component.d.ts +7 -6
  336. package/lib/statebox/statebox.defaults.d.ts +10 -0
  337. package/lib/tabber/index.d.ts +4 -2
  338. package/lib/tabber/tab/tab.component.d.ts +1 -0
  339. package/lib/tabber/tab/tab.defaults.d.ts +6 -0
  340. package/lib/tabber/tabber.component.d.ts +3 -1
  341. package/lib/tabber/tabber.defaults.d.ts +12 -0
  342. package/lib/table/index.d.ts +2 -1
  343. package/lib/table/table-item-storage.d.ts +5 -10
  344. package/lib/table/table.component.d.ts +11 -9
  345. package/lib/table/table.defaults.d.ts +50 -0
  346. package/lib/table/table.module.d.ts +2 -1
  347. package/lib/table-from-csv/index.d.ts +2 -1
  348. package/lib/table-from-csv/table-from-csv.component.d.ts +7 -5
  349. package/lib/table-from-csv/table-from-csv.defaults.d.ts +7 -0
  350. package/lib/table-pagination/index.d.ts +2 -1
  351. package/lib/table-pagination/table-pagination.component.d.ts +3 -0
  352. package/lib/table-pagination/table-pagination.defaults.d.ts +20 -0
  353. package/lib/types/button.types.d.ts +1 -1
  354. package/lib/types/item-storage.types.d.ts +3 -63
  355. package/package.json +1 -1
  356. package/prebuilt-themes/default/buttons/fab.css +1 -1
  357. package/prebuilt-themes/default/buttons/icon-button.css +7 -12
  358. package/prebuilt-themes/default/buttons/icon-button.css.map +1 -1
  359. package/prebuilt-themes/default/checkbox.css.map +1 -1
  360. package/prebuilt-themes/default/inputs/color-input.css +5 -0
  361. package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
  362. package/prebuilt-themes/default/inputs/file-input.css +5 -0
  363. package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
  364. package/prebuilt-themes/default/inputs/hex-input.css +5 -0
  365. package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
  366. package/prebuilt-themes/default/inputs/input.css +5 -0
  367. package/prebuilt-themes/default/inputs/input.css.map +1 -1
  368. package/prebuilt-themes/default/inputs/number-input.css +5 -0
  369. package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
  370. package/prebuilt-themes/default/inputs/password-input.css +5 -0
  371. package/prebuilt-themes/default/inputs/password-input.css.map +1 -1
  372. package/prebuilt-themes/default/inputs/search-bar.css +5 -0
  373. package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
  374. package/prebuilt-themes/default/inputs/simple-input.css +5 -0
  375. package/prebuilt-themes/default/inputs/simple-input.css.map +1 -1
  376. package/prebuilt-themes/default/segment.css.map +1 -1
  377. package/prebuilt-themes/default/select.css +4 -0
  378. package/prebuilt-themes/default/select.css.map +1 -1
  379. package/prebuilt-themes/default/tabber.css +2 -0
  380. package/prebuilt-themes/default/tabber.css.map +1 -1
  381. package/prebuilt-themes/default/table.css +17 -0
  382. package/prebuilt-themes/default/table.css.map +1 -1
  383. package/themes/default/_clear-button.scss +73 -73
  384. package/themes/default/badge.scss +94 -94
  385. package/themes/default/buttons/button.scss +72 -72
  386. package/themes/default/buttons/fab.scss +74 -74
  387. package/themes/default/buttons/icon-button.scss +55 -62
  388. package/themes/default/card.scss +129 -129
  389. package/themes/default/checkbox.scss +1 -1
  390. package/themes/default/chips.scss +200 -200
  391. package/themes/default/core.scss +99 -99
  392. package/themes/default/inputs/_shared.scss +5 -0
  393. package/themes/default/inputs/digit-input.scss +56 -56
  394. package/themes/default/inputs/file-input.scss +85 -85
  395. package/themes/default/inputs/hex-input.scss +27 -27
  396. package/themes/default/modal.scss +93 -93
  397. package/themes/default/segment.scss +355 -351
  398. package/themes/default/select.scss +259 -255
  399. package/themes/default/snackbar.scss +58 -58
  400. package/themes/default/tabber.scss +89 -87
  401. package/themes/default/table.scss +20 -0
  402. package/esm2022/lib/_internal/queue.mjs +0 -59
  403. package/esm2022/lib/color/color-picker/color-picker.types.mjs +0 -11
  404. package/esm2022/lib/inputs/color-input/color-input.directives.mjs +0 -101
  405. package/esm2022/lib/inputs/color-input/color-input.types.mjs +0 -2
  406. package/esm2022/lib/inputs/hex-input.model.mjs +0 -97
  407. package/lib/color/color-picker/color-picker.types.d.ts +0 -21
  408. package/lib/inputs/color-input/color-input.directives.d.ts +0 -52
  409. package/lib/inputs/color-input/color-input.types.d.ts +0 -5
  410. /package/lib/_internal/{queue.d.ts → models/queue.d.ts} +0 -0
@@ -0,0 +1,21 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { _ngModelComponentDefaults } from '../../_internal/ngmodel-component';
3
+ import { FormElementAppearance, FormElementVariant } from './../../types/theming.types';
4
+ import { DigitInputShape } from './digit-input.types';
5
+ const _digitInputDefaults = {
6
+ ..._ngModelComponentDefaults,
7
+ appearance: FormElementAppearance.Outlined,
8
+ variant: FormElementVariant.Rounded,
9
+ shape: DigitInputShape.Square,
10
+ compact: false,
11
+ outputAsString: false,
12
+ };
13
+ export const ARD_DIGIT_INPUT_DEFAULTS = new InjectionToken('ard-digit-input-defaults', {
14
+ factory: () => ({
15
+ ..._digitInputDefaults,
16
+ }),
17
+ });
18
+ export function provideDigitInputDefaults(config) {
19
+ return { provide: ARD_DIGIT_INPUT_DEFAULTS, useValue: { ..._digitInputDefaults, ...config } };
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXQtaW5wdXQuZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9kaWdpdC1pbnB1dC9kaWdpdC1pbnB1dC5kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBNkIsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFVdEQsTUFBTSxtQkFBbUIsR0FBMEI7SUFDakQsR0FBRyx5QkFBeUI7SUFDNUIsVUFBVSxFQUFFLHFCQUFxQixDQUFDLFFBQVE7SUFDMUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLE9BQU87SUFDbkMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxNQUFNO0lBQzdCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsY0FBYyxFQUFFLEtBQUs7Q0FDdEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUF3QiwwQkFBMEIsRUFBRTtJQUM1RyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNkLEdBQUcsbUJBQW1CO0tBQ3ZCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBc0M7SUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLG1CQUFtQixFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQztBQUNoRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzLCBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi4vLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi8uLi8uLi90eXBlcy90aGVtaW5nLnR5cGVzJztcbmltcG9ydCB7IERpZ2l0SW5wdXRTaGFwZSB9IGZyb20gJy4vZGlnaXQtaW5wdXQudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyZERpZ2l0SW5wdXREZWZhdWx0cyBleHRlbmRzIF9OZ01vZGVsQ29tcG9uZW50RGVmYXVsdHMge1xuICBhcHBlYXJhbmNlOiBGb3JtRWxlbWVudEFwcGVhcmFuY2U7XG4gIHZhcmlhbnQ6IEZvcm1FbGVtZW50VmFyaWFudDtcbiAgc2hhcGU6IERpZ2l0SW5wdXRTaGFwZTtcbiAgY29tcGFjdDogYm9vbGVhbjtcbiAgb3V0cHV0QXNTdHJpbmc6IGJvb2xlYW47XG59XG5cbmNvbnN0IF9kaWdpdElucHV0RGVmYXVsdHM6IEFyZERpZ2l0SW5wdXREZWZhdWx0cyA9IHtcbiAgLi4uX25nTW9kZWxDb21wb25lbnREZWZhdWx0cyxcbiAgYXBwZWFyYW5jZTogRm9ybUVsZW1lbnRBcHBlYXJhbmNlLk91dGxpbmVkLFxuICB2YXJpYW50OiBGb3JtRWxlbWVudFZhcmlhbnQuUm91bmRlZCxcbiAgc2hhcGU6IERpZ2l0SW5wdXRTaGFwZS5TcXVhcmUsXG4gIGNvbXBhY3Q6IGZhbHNlLFxuICBvdXRwdXRBc1N0cmluZzogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3QgQVJEX0RJR0lUX0lOUFVUX0RFRkFVTFRTID0gbmV3IEluamVjdGlvblRva2VuPEFyZERpZ2l0SW5wdXREZWZhdWx0cz4oJ2FyZC1kaWdpdC1pbnB1dC1kZWZhdWx0cycsIHtcbiAgZmFjdG9yeTogKCkgPT4gKHtcbiAgICAuLi5fZGlnaXRJbnB1dERlZmF1bHRzLFxuICB9KSxcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURpZ2l0SW5wdXREZWZhdWx0cyhjb25maWc6IFBhcnRpYWw8QXJkRGlnaXRJbnB1dERlZmF1bHRzPik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHsgcHJvdmlkZTogQVJEX0RJR0lUX0lOUFVUX0RFRkFVTFRTLCB1c2VWYWx1ZTogeyAuLi5fZGlnaXRJbnB1dERlZmF1bHRzLCAuLi5jb25maWcgfSB9O1xufVxuIl19
@@ -205,4 +205,4 @@ export class DigitInputModel {
205
205
  return char;
206
206
  }
207
207
  }
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXQtaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9kaWdpdC1pbnB1dC9kaWdpdC1pbnB1dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNGLE9BQU8sRUFJTCx5QkFBeUIsRUFDekIsYUFBYSxHQUNkLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUF3Qix3QkFBd0IsRUFBdUIscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqSSxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixRQUE2QjtRQUE3QixhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQWdCaEMsaUJBQVksR0FBRyxNQUFNLENBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBRXRELG9CQUFlLEdBQUcsUUFBUSxDQUF5QixHQUFHLEVBQUU7WUFDL0QsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2xCLE9BQU87d0JBQ0wsSUFBSSxFQUFFLHdCQUF3QixDQUFDLE1BQU07d0JBQ3JDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtxQkFDZixDQUFDO2dCQUNKLENBQUM7Z0JBQ0QsT0FBTztvQkFDTCxJQUFJLEVBQUUsd0JBQXdCLENBQUMs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QUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV2QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTVCLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLElBQUksTUFBTSxDQUFDLFNBQVMsS0FBSyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLENBQUM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqRCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FDVix1TUFBdU0sQ0FDeE0sQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBlZmZlY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb2VyY2VBcnJheVByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xyXG5pbXBvcnQgeyBpc0FueVN0cmluZywgaXNBcnJheSwgaXNGdW5jdGlvbiwgaXNOdWxsLCBpc051bWJlciwgaXNSZWdFeHAgfSBmcm9tICdzaW1wbGUtYm9vbCc7XHJcbmltcG9ydCB7XHJcbiAgRGlnaXRJbnB1dEFjY2VwdE9iamVjdCxcclxuICBEaWdpdElucHV0Q29uZmlnLFxyXG4gIERpZ2l0SW5wdXRPcHRpb24sXHJcbiAgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbixcclxuICBUcmFuc2Zvcm1UeXBlLFxyXG59IGZyb20gJy4vZGlnaXQtaW5wdXQudHlwZXMnO1xyXG5pbXBvcnQgeyBEaWdpdElucHV0Q29uZmlnRGF0YSwgRGlnaXRJbnB1dENvbmZpZ0RhdGFUeXBlLCBEaWdpdElucHV0TW9kZWxIb3N0LCBfc2FuaXRpemVSZWdFeHBTdHJpbmcgfSBmcm9tICcuL2RpZ2l0LWlucHV0LnV0aWxzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBEaWdpdElucHV0TW9kZWwge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FyZEhvc3Q6IERpZ2l0SW5wdXRNb2RlbEhvc3QpIHtcclxuICAgIC8vc2V0IHRoZSB2YWx1ZSBhcnJheSB0byBiZSB0aGUgc2FtZSBsZW5ndGhcclxuICAgIGVmZmVjdChcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuY29uZmlnQXJyYXlEYXRhKCkubGVuZ3RoO1xyXG5cclxuICAgICAgICB0aGlzLnZhbHVlLnVwZGF0ZShhcnIgPT4ge1xyXG4gICAgICAgICAgaWYgKCFhcnIpIHJldHVybiBuZXcgQXJyYXkobGVuZ3RoKS5maWxsKG51bGwpO1xyXG4gICAgICAgICAgaWYgKGFyci5sZW5ndGggPj0gbGVuZ3RoKSByZXR1cm4gYXJyLnNsaWNlKDAsIGxlbmd0aCk7XHJcbiAgICAgICAgICByZXR1cm4gWy4uLmFyciwgLi4ubmV3IEFycmF5KGxlbmd0aCAtIGFyci5sZW5ndGgpLmZpbGwobnVsbCldO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25maWdBcnJheSA9IHNpZ25hbDxEaWdpdElucHV0T3B0aW9uW10+KFtdKTtcclxuXHJcbiAgcmVhZG9ubHkgY29uZmlnQXJyYXlEYXRhID0gY29tcHV0ZWQ8RGlnaXRJbnB1dENvbmZpZ0RhdGFbXT4oKCkgPT4ge1xyXG4gICAgbGV0IGlucHV0SW5kZXggPSAwO1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ0FycmF5KCkubWFwKHYgPT4ge1xyXG4gICAgICBpZiAoJ3N0YXRpYycgaW4gdikge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB0eXBlOiBEaWdpdElucHV0Q29uZmlnRGF0YVR5cGUuU3RhdGljLFxyXG4gICAgICAgICAgY2hhcjogdi5zdGF0aWMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHR5cGU6IERpZ2l0SW5wdXRDb25maWdEYXRhVHlwZS5JbnB1dCxcclxuICAgICAgICBpbmRleDogaW5wdXRJbmRleCsrLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZ0FycmF5Tm9TdGF0aWNzID0gY29tcHV0ZWQ8RGlnaXRJbnB1dEFjY2VwdE9iamVjdFtdPihcclxuICAgICgpID0+IHRoaXMuX2NvbmZpZ0FycmF5KCkuZmlsdGVyKHYgPT4gISgnc3RhdGljJyBpbiB2KSkgYXMgRGlnaXRJbnB1dEFjY2VwdE9iamVjdFtdXHJcbiAgKTtcclxuXHJcbiAgcmVhZG9ubHkgaXNDb25maWdEZWZpbmVkID0gY29tcHV0ZWQoKCk6IGJvb2xlYW4gPT4gdGhpcy5fY29uZmlnQXJyYXkoKS5sZW5ndGggPiAwKTtcclxuXHJcbiAgcmVhZG9ubHkgdmFsdWUgPSBzaWduYWw8KHN0cmluZyB8IG51bGwpW10gfCBudWxsPihudWxsKTtcclxuXHJcbiAgcmVhZG9ubHkgc3RyaW5nVmFsdWUgPSBjb21wdXRlZChcclxuICAgICgpOiBzdHJpbmcgPT5cclxuICAgICAgdGhpcy52YWx1ZSgpXHJcbiAgICAgICAgPy5tYXAodiA9PiB2ID8/ICcgJylcclxuICAgICAgICAuam9pbignJylcclxuICAgICAgICAudHJpbUVuZCgpID8/ICcnXHJcbiAgKTtcclxuXHJcbiAgcmVhZG9ubHkgaXNWYWx1ZUZ1bGwgPSBjb21wdXRlZCgoKTogYm9vbGVhbiA9PiB0aGlzLnZhbHVlKCk/LmZpbHRlcih2ID0+IHYpLmxlbmd0aCA9PT0gdGhpcy5fY29uZmlnQXJyYXlOb1N0YXRpY3MoKS5sZW5ndGgpO1xyXG5cclxuICBpc0RlZmluZWRBdEluZGV4KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMudmFsdWUoKT8uW2luZGV4XTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodjogYW55KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIWlzQXJyYXkodikgJiYgIWlzQW55U3RyaW5nKHYpICYmICFpc051bGwodikpIHtcclxuICAgICAgLy93YXJuIHdoZW4gdXNpbmcgbm9uLXN0cmluZyB2YWx1ZVxyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgbmV3IEVycm9yKFxyXG4gICAgICAgICAgYEFSRC1XQTAwMjA6IFRyeWluZyB0byBzZXQgPGFyZC1kaWdpdC1pbnB1dD4ncyB2YWx1ZSB0byBcIiR7dn1cIiAob2YgdHlwZSAke3R5cGVvZiB2fSksIGV4cGVjdGVkIHN0cmluZyBvciBhcnJheSBvZiBzdHJpbmdzLmBcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICAgIC8vbm9ybWFsaXplIHRoZSB2YWx1ZVxyXG4gICAgICB2ID0gdj8udG9TdHJpbmc/LigpID8/IFN0cmluZyh2KTtcclxuICAgIH1cclxuICAgIGNvbnN0IHZBcnJheSA9IGNvZXJjZUFycmF5UHJvcGVydHkodik7XHJcbiAgICBjb25zdCBwcm9ibGVtSW5kZXggPSB2QXJyYXkuZmluZEluZGV4KGVsID0+ICFpc0FueVN0cmluZyhlbCkgfHwgZWwubGVuZ3RoID4gMSk7XHJcbiAgICBpZiAocHJvYmxlbUluZGV4ICE9PSAtMSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgYEFSRC1GVDAwNDI6IEFycmF5IHBhc3NlZCB0byA8YXJkLWRpZ2l0LWlucHV0PidzIHZhbHVlIG11c3Qgb25seSBjb250YWluIHN0cmluZ3Mgb2YgbGVuZ3RoIDEgb3IgMC4gRWxlbWVudCBcIiR7dkFycmF5W3Byb2JsZW1JbmRleF19XCIgYXQgaW5kZXggJHtwcm9ibGVtSW5kZXh9IGRvZXMgbm90IG1hdGNoIHRob3NlIHJlcXVpcmVtZW50cy5gXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fd3JpdGVWYWx1ZSh2QXJyYXkpO1xyXG4gIH1cclxuICBwcml2YXRlIF93cml0ZVZhbHVlKHY6IHN0cmluZ1tdIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgb2xkVmFsID0gdGhpcy52YWx1ZSgpO1xyXG4gICAgdGhpcy52YWx1ZS5zZXQodiAmJiB2Lm1hcChlbCA9PiBlbCB8fCBudWxsKSk7XHJcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWVBbmRVcGRhdGUoKTtcclxuICAgIHRoaXMuX3VwZGF0ZUlucHV0RWxlbWVudHMoKTtcclxuICAgIHJldHVybiBvbGRWYWwgIT09IHY7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVJbnB1dEVsZW1lbnRzKCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlID8/IFtdO1xyXG4gICAgbGV0IGkgPSAwO1xyXG4gICAgZm9yIChjb25zdCBpbnB1dEVsIG9mIHRoaXMuX2FyZEhvc3QuaW5wdXRzKCkpIHtcclxuICAgICAgaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWUoKT8uW2ldID8/ICcnO1xyXG4gICAgICBpKys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyEgc2V0dGluZyBjb25maWdcclxuICBzZXRDb25maWcoY29uZmlnOiBEaWdpdElucHV0Q29uZmlnKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZXRDb25maWcoY29uZmlnKTtcclxuICAgIHRoaXMudmFsaWRhdGVWYWx1ZUFuZFVwZGF0ZSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZXRDb25maWcoY29uZmlnOiBEaWdpdElucHV0Q29uZmlnKTogdm9pZCB7XHJcbiAgICAvL21hcCBhIG51bWJlciB0byByZWFkeSBvYmplY3RzXHJcbiAgICBsZXQgY29uZmlnQXNOdW1iZXIgPSBpc0FueVN0cmluZyhjb25maWcpID8gTnVtYmVyKGNvbmZpZykgOiBudWxsO1xyXG4gICAgaWYgKGlzTnVtYmVyKGNvbmZpZykgfHwgaXNOdW1iZXIoY29uZmlnQXNOdW1iZXIpKSB7XHJcbiAgICAgIGNvbmZpZ0FzTnVtYmVyID0gaXNOdW1iZXIoY29uZmlnKSA/IGNvbmZpZyA6IGNvbmZpZ0FzTnVtYmVyITtcclxuICAgICAgdGhpcy5fY29uZmlnQXJyYXkuc2V0KG5ldyBBcnJheShjb25maWdBc051bWJlcikuZmlsbCh7IGFjY2VwdDogKHN0cjogc3RyaW5nKSA9PiAvWzAtOV0vLnRlc3Qoc3RyKSB9KSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vbWFwIGEgc3RyaW5nIHRvIGFuIGFycmF5XHJcbiAgICBsZXQgY29uZmlnQXJyOiBzdHJpbmdbXSB8IEV4Y2x1ZGU8RGlnaXRJbnB1dENvbmZpZywgbnVtYmVyIHwgc3RyaW5nPjtcclxuICAgIGlmIChpc0FueVN0cmluZyhjb25maWcpKSB7XHJcbiAgICAgIGNvbmZpZ0FyciA9IGNvZXJjZUFycmF5UHJvcGVydHkoY29uZmlnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbmZpZ0FyciA9IGNvbmZpZztcclxuICAgIH1cclxuICAgIC8vbWFwIGFycmF5IHRvIHJlYWR5IG9iamVjdHNcclxuICAgIHRoaXMuX2NvbmZpZ0FycmF5LnNldChcclxuICAgICAgY29uZmlnQXJyLm1hcCgodiwgaSkgPT4ge1xyXG4gICAgICAgIGlmICghaXNBbnlTdHJpbmcodikpIHtcclxuICAgICAgICAgIGlmICgnYWNjZXB0JyBpbiB2ICYmICFpc0Z1bmN0aW9uKHYuYWNjZXB0KSkge1xyXG4gICAgICAgICAgICBjb25zdCByZWdFeHAgPSBpc1JlZ0V4cCh2LmFjY2VwdCkgPyB2LmFjY2VwdCA6IG5ldyBSZWdFeHAoYFske19zYW5pdGl6ZVJlZ0V4cFN0cmluZyh2LmFjY2VwdCl9XWApO1xyXG4gICAgICAgICAgICB2LmFjY2VwdCA9IHN0ciA9PiByZWdFeHAudGVzdChzdHIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHY7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzd2l0Y2ggKHYpIHtcclxuICAgICAgICAgIGNhc2UgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbi5OdW1iZXI6XHJcbiAgICAgICAgICAgIHJldHVybiB7IGFjY2VwdDogc3RyID0+IC9bMC05XS8udGVzdChzdHIpIH07XHJcbiAgICAgICAgICBjYXNlIERpZ2l0SW5wdXRQcmltaXRpdmVPcHRpb24uTGV0dGVyOlxyXG4gICAgICAgICAgICByZXR1cm4geyBhY2NlcHQ6IHN0ciA9PiAvW2EtekEtWl0vLnRlc3Qoc3RyKSB9O1xyXG4gICAgICAgICAgY2FzZSBEaWdpdElucHV0UHJpbWl0aXZlT3B0aW9uLkFscGhhbnVtZXJpYzpcclxuICAgICAgICAgICAgcmV0dXJuIHsgYWNjZXB0OiBzdHIgPT4gL1swLTlhLXpBLVpdLy50ZXN0KHN0cikgfTtcclxuICAgICAgICAgIGNhc2UgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbi5TcGVjaWFsOlxyXG4gICAgICAgICAgICByZXR1cm4geyBhY2NlcHQ6IHN0ciA9PiAvWyFAIyQlXiYqLV89Ky9cXFxcLixdLy50ZXN0KHN0cikgfTtcclxuXHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoY29uZmlnQXJyLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQVJELU5GMDA0M1M6IDxhcmQtZGlnaXQtaW5wdXQ+J3MgY29uZmlnIGlzIGludmFsaWQuIEV4cGVjdGVkIG51bWJlciBvciBhcnJheSwgZ290IFwiJHt2fVwiYCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBUkQtTkYwMDQzQjogRm91bmQgaW52YWxpZCBzdHJpbmcgXCIke3Z9XCIgaW4gPGFyZC1kaWdpdC1pbnB1dD4ncyBjb25maWcgYXQgaW5kZXggJHtpfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyEgdmFsaWRhdGUgYWdhaW5zdCB0aGUgY29uZmlnXHJcbiAgdmFsaWRhdGVJbnB1dEFuZFNldFZhbHVlKGlucHV0OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBmYWxzZSB8IFtib29sZWFuLCBzdHJpbmcgfCBudWxsXSB7XHJcbiAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID4gdGhpcy5fY29uZmlnQXJyYXlOb1N0YXRpY3MoKS5sZW5ndGgpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBsZXQgdiA9IHRoaXMudmFsdWUoKTtcclxuICAgIC8vcHJlcGFyZSB0aGUgdmFsdWUgYXJyYXkgaWYgZG9lcyBub3QgZXhpc3RcclxuICAgIGlmICghdikge1xyXG4gICAgICB0aGlzLnZhbHVlLnNldChbXSk7XHJcbiAgICB9XHJcbiAgICB2ID0gW107XHJcbiAgICAvL3ByZXBhcmUgdGhlIGNoYXJhY3RlcnMgYmVmb3JlIHRoZSBjdXJyZW50IG9uZSAodG8gYmUgdXNlZCBpbiB2YWxpZGF0aW9uKVxyXG4gICAgY29uc3QgYmVmb3JlID0gdGhpcy5zdHJpbmdWYWx1ZSgpLmNoYXJBdChpbmRleCk7XHJcblxyXG4gICAgLy9yZW1vdmUgdGhlIG9sZCBjaGFyYWN0ZXIgZnJvbSB0aGUgaW5wdXQgZWxlbWVudFxyXG4gICAgaWYgKGJlZm9yZSAmJiBpbnB1dC5sZW5ndGggPiAxICYmIGlucHV0Lm1hdGNoKGJlZm9yZSkpIHtcclxuICAgICAgaW5wdXQgPSBpbnB1dC5yZXBsYWNlKGJlZm9yZSwgJycpO1xyXG4gICAgfVxyXG4gICAgLy91c2Ugb25seSB0aGUgZmlyc3Qgb3IgbGFzdCBjaGFyYWN0ZXIgKGVycm9yIHNhZmV0eSlcclxuICAgIGNvbnN0IGZpcnN0Q2hhciA9IGlucHV0LmNoYXJBdCgwKTtcclxuICAgIGNvbnN0IGxhc3RDaGFyID0gaW5wdXQuY2hhckF0KGlucHV0Lmxlbmd0aCAtIDEpO1xyXG4gICAgaW5wdXQgPSBmaXJzdENoYXIgPT09IGJlZm9yZSA/IGxhc3RDaGFyIDogZmlyc3RDaGFyO1xyXG5cclxuICAgIC8vdmFsaWRhdGUgYW5kIHRyYW5zZm9ybSwgaWYgbmVjZXNzYXJ5XHJcbiAgICBjb25zdCBpbnB1dENoYXIgPSB0aGlzLl92YWxpZGF0ZVNpbmdsZUNoYXIoaW5wdXQsIGJlZm9yZSwgdGhpcy5fY29uZmlnQXJyYXlOb1N0YXRpY3MoKVtpbmRleF0pO1xyXG5cclxuICAgIC8vZ2V0IHRoZSBjb3JyZXNwb25kaW5nIEhUTUwgaW5wdXQgZWxlbWVudFxyXG4gICAgY29uc3QgaW5wdXRFbCA9IHRoaXMuX2FyZEhvc3QuaW5wdXRzKClbaW5kZXhdO1xyXG4gICAgaWYgKCFpbnB1dEVsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICBcIkFSRC1JUzAwNDg6IDxhcmQtZGlnaXQtaW5wdXQ+J3MgdmFsdWUgY2hhbmdlZCwgYnV0IGl0cyBjb3JyZXNwb25kaW5nIGlucHV0IGVsZW1lbnQgY291bGQgbm90IGJlIGZvdW5kLiBUaGlzIGlzIGVycm9yIGlzIGZhdGFsIHRvIHRoZSBmdW5jdGlvbmluZyBvZiBBcmRpdW0gVUkuIFBsZWFzZSByZXBvcnQgdGhpcyBpc3N1ZSB0byB0aGUgY3JlYXRvcnMuXCJcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIC8vdXBkYXRlIHRoZSBpbnB1dCBlbGVtZW50IGFuZCB2YWx1ZSBhcnJheVxyXG4gICAgY29uc3QgbmV3VmFsID0gaW5wdXRDaGFyID8/IGJlZm9yZTtcclxuICAgIGlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IG5ld1ZhbCA/PyAnJztcclxuXHJcbiAgICB0aGlzLnZhbHVlLnVwZGF0ZShhcnIgPT4ge1xyXG4gICAgICBpZiAoIWFycikgYXJyID0gW107XHJcbiAgICAgIGNvbnN0IG5ld0FyciA9IFsuLi5hcnJdO1xyXG4gICAgICBuZXdBcnJbaW5kZXhdID0gbmV3VmFsIHx8IG51bGw7XHJcbiAgICAgIHJldHVybiBuZXdBcnI7XHJcbiAgICB9KTtcclxuICAgIC8vcmV0dXJuIGNoYW5nZXMgbWFya2VyIGFuZCB2YWxpZGF0ZWQgdmFsdWVcclxuICAgIHJldHVybiBbbmV3VmFsICE9PSBiZWZvcmUsIGlucHV0Q2hhcl07XHJcbiAgfVxyXG4gIHZhbGlkYXRlVmFsdWVBbmRVcGRhdGUoKTogdm9pZCB7XHJcbiAgICBjb25zdCB2ID0gdGhpcy52YWx1ZSgpO1xyXG4gICAgaWYgKCF2KSByZXR1cm47XHJcblxyXG4gICAgbGV0IGJlZm9yZSA9ICcnO1xyXG4gICAgY29uc3QgbmV3VmFsdWU6IChzdHJpbmcgfCBudWxsKVtdID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGgubWluKHRoaXMuX2NvbmZpZ0FycmF5Tm9TdGF0aWNzKCkubGVuZ3RoLCB2Lmxlbmd0aCk7IGkrKykge1xyXG4gICAgICBjb25zdCBjaGFyID0gdltpXTtcclxuICAgICAgYmVmb3JlICs9IGNoYXIgPz8gJyAnO1xyXG5cclxuICAgICAgaWYgKCFjaGFyKSB7XHJcbiAgICAgICAgbmV3VmFsdWUucHVzaChjaGFyKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLl9jb25maWdBcnJheU5vU3RhdGljcygpW2ldO1xyXG5cclxuICAgICAgY29uc3QgbmV3Q2hhciA9IHRoaXMuX3ZhbGlkYXRlU2luZ2xlQ2hhcihjaGFyLCBiZWZvcmUsIGNvbmZpZyk7XHJcbiAgICAgIG5ld1ZhbHVlLnB1c2gobmV3Q2hhcik7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlLnNldChuZXdWYWx1ZSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3ZhbGlkYXRlU2luZ2xlQ2hhcihjaGFyOiBzdHJpbmcgfCBudWxsLCBiZWZvcmU6IHN0cmluZywgY29uZmlnOiBEaWdpdElucHV0QWNjZXB0T2JqZWN0KTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBpZiAoY29uZmlnLnJlYWRvbmx5KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICBgQVJELUlTMDA0OVI6IHRyeWluZyB0byBzZXQgdmFsdWUgb2YgYSA8YXJkLWRpZ2l0LWlucHV0PidzIHJlYWRvbmx5IGZpZWxkLiBUaGlzIGlzIGVycm9yIGlzIGZhdGFsIHRvIHRoZSBmdW5jdGlvbmluZyBvZiBBcmRpdW0gVUkuIFBsZWFzZSByZXBvcnQgdGhpcyBpc3N1ZSB0byB0aGUgY3JlYXRvcnMuYFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKCFpc0Z1bmN0aW9uKGNvbmZpZy5hY2NlcHQpKSB7XHJcbiAgICAgIGNvbnN0IHJlZ0V4cCA9IGlzUmVnRXhwKGNvbmZpZy5hY2NlcHQpID8gY29uZmlnLmFjY2VwdCA6IG5ldyBSZWdFeHAoYFske19zYW5pdGl6ZVJlZ0V4cFN0cmluZyhjb25maWcuYWNjZXB0KX1dYCk7XHJcbiAgICAgIGNvbmZpZy5hY2NlcHQgPSBzdHIgPT4gcmVnRXhwLnRlc3Qoc3RyKTtcclxuICAgIH1cclxuICAgIGlmICghY2hhcikgcmV0dXJuIGNoYXI7XHJcblxyXG4gICAgY29uc3QgY2FuQWNjZXB0ID0gY29uZmlnLmFjY2VwdChjaGFyLCBiZWZvcmUpO1xyXG4gICAgaWYgKCFjYW5BY2NlcHQpIHJldHVybiBudWxsO1xyXG5cclxuICAgIGlmIChjb25maWcudHJhbnNmb3JtKSB7XHJcbiAgICAgIGlmIChjb25maWcudHJhbnNmb3JtID09PSBUcmFuc2Zvcm1UeXBlLkxvd2VyY2FzZSkge1xyXG4gICAgICAgIHJldHVybiBjaGFyLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbmZpZy50cmFuc2Zvcm0gPT09IFRyYW5zZm9ybVR5cGUuVXBwZXJjYXNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGNoYXIudG9VcHBlckNhc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgYEFSRC1JUzAwNDlUOiA8YXJkLWRpZ2l0LWlucHV0PidzIHZhbHVlIHZhbGlkYXRvciBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIHZhbHVlIG9mIHRoZSBjb25maWcncyBcInRyYW5zZm9ybVwiIHByb3BlcnR5LiBBcmRpdW0gVUkgd2FzIGFibGUgdG8gaGFuZGxlIHRoaXMgaXNzdWUsIGJ1dCBwbGVhc2UgcmVwb3J0IGl0IHRvIHRoZSBjcmVhdG9ycy5gXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2hhcjtcclxuICB9XHJcbn1cclxuIl19
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXQtaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9kaWdpdC1pbnB1dC9kaWdpdC1pbnB1dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNGLE9BQU8sRUFJTCx5QkFBeUIsRUFDekIsYUFBYSxHQUNkLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUF3Qix3QkFBd0IsRUFBdUIscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqSSxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixRQUE2QjtRQUE3QixhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQWdCaEMsaUJBQVksR0FBRyxNQUFNLENBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBRXRELG9CQUFlLEdBQUcsUUFBUSxDQUF5QixHQUFHLEVBQUU7WUFDL0QsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ2xCLE9BQU87d0JBQ0wsSUFBSSxFQUFFLHdCQUF3QixDQUFDLE1BQU07d0JBQ3JDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtxQkFDZixDQUFDO2dCQUNKLENBQUM7Z0JBQ0QsT0FBTztvQkFDTCxJQUFJLEVBQUUsd0JBQXdCLENBQUMs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QUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLElBQUksQ0FBQztRQUV2QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTVCLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLElBQUksTUFBTSxDQUFDLFNBQVMsS0FBSyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLENBQUM7WUFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLEtBQUssYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqRCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FDVix1TUFBdU0sQ0FDeE0sQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBlZmZlY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXlQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IGlzQW55U3RyaW5nLCBpc0FycmF5LCBpc0Z1bmN0aW9uLCBpc051bGwsIGlzTnVtYmVyLCBpc1JlZ0V4cCB9IGZyb20gJ3NpbXBsZS1ib29sJztcbmltcG9ydCB7XG4gIERpZ2l0SW5wdXRBY2NlcHRPYmplY3QsXG4gIERpZ2l0SW5wdXRDb25maWcsXG4gIERpZ2l0SW5wdXRPcHRpb24sXG4gIERpZ2l0SW5wdXRQcmltaXRpdmVPcHRpb24sXG4gIFRyYW5zZm9ybVR5cGUsXG59IGZyb20gJy4vZGlnaXQtaW5wdXQudHlwZXMnO1xuaW1wb3J0IHsgRGlnaXRJbnB1dENvbmZpZ0RhdGEsIERpZ2l0SW5wdXRDb25maWdEYXRhVHlwZSwgRGlnaXRJbnB1dE1vZGVsSG9zdCwgX3Nhbml0aXplUmVnRXhwU3RyaW5nIH0gZnJvbSAnLi9kaWdpdC1pbnB1dC51dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBEaWdpdElucHV0TW9kZWwge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcmRIb3N0OiBEaWdpdElucHV0TW9kZWxIb3N0KSB7XG4gICAgLy9zZXQgdGhlIHZhbHVlIGFycmF5IHRvIGJlIHRoZSBzYW1lIGxlbmd0aFxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gdGhpcy5jb25maWdBcnJheURhdGEoKS5sZW5ndGg7XG5cbiAgICAgICAgdGhpcy52YWx1ZS51cGRhdGUoYXJyID0+IHtcbiAgICAgICAgICBpZiAoIWFycikgcmV0dXJuIG5ldyBBcnJheShsZW5ndGgpLmZpbGwobnVsbCk7XG4gICAgICAgICAgaWYgKGFyci5sZW5ndGggPj0gbGVuZ3RoKSByZXR1cm4gYXJyLnNsaWNlKDAsIGxlbmd0aCk7XG4gICAgICAgICAgcmV0dXJuIFsuLi5hcnIsIC4uLm5ldyBBcnJheShsZW5ndGggLSBhcnIubGVuZ3RoKS5maWxsKG51bGwpXTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZ0FycmF5ID0gc2lnbmFsPERpZ2l0SW5wdXRPcHRpb25bXT4oW10pO1xuXG4gIHJlYWRvbmx5IGNvbmZpZ0FycmF5RGF0YSA9IGNvbXB1dGVkPERpZ2l0SW5wdXRDb25maWdEYXRhW10+KCgpID0+IHtcbiAgICBsZXQgaW5wdXRJbmRleCA9IDA7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ0FycmF5KCkubWFwKHYgPT4ge1xuICAgICAgaWYgKCdzdGF0aWMnIGluIHYpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiBEaWdpdElucHV0Q29uZmlnRGF0YVR5cGUuU3RhdGljLFxuICAgICAgICAgIGNoYXI6IHYuc3RhdGljLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogRGlnaXRJbnB1dENvbmZpZ0RhdGFUeXBlLklucHV0LFxuICAgICAgICBpbmRleDogaW5wdXRJbmRleCsrLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnQXJyYXlOb1N0YXRpY3MgPSBjb21wdXRlZDxEaWdpdElucHV0QWNjZXB0T2JqZWN0W10+KFxuICAgICgpID0+IHRoaXMuX2NvbmZpZ0FycmF5KCkuZmlsdGVyKHYgPT4gISgnc3RhdGljJyBpbiB2KSkgYXMgRGlnaXRJbnB1dEFjY2VwdE9iamVjdFtdXG4gICk7XG5cbiAgcmVhZG9ubHkgaXNDb25maWdEZWZpbmVkID0gY29tcHV0ZWQoKCk6IGJvb2xlYW4gPT4gdGhpcy5fY29uZmlnQXJyYXkoKS5sZW5ndGggPiAwKTtcblxuICByZWFkb25seSB2YWx1ZSA9IHNpZ25hbDwoc3RyaW5nIHwgbnVsbClbXSB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IHN0cmluZ1ZhbHVlID0gY29tcHV0ZWQoXG4gICAgKCk6IHN0cmluZyA9PlxuICAgICAgdGhpcy52YWx1ZSgpXG4gICAgICAgID8ubWFwKHYgPT4gdiA/PyAnICcpXG4gICAgICAgIC5qb2luKCcnKVxuICAgICAgICAudHJpbUVuZCgpID8/ICcnXG4gICk7XG5cbiAgcmVhZG9ubHkgaXNWYWx1ZUZ1bGwgPSBjb21wdXRlZCgoKTogYm9vbGVhbiA9PiB0aGlzLnZhbHVlKCk/LmZpbHRlcih2ID0+IHYpLmxlbmd0aCA9PT0gdGhpcy5fY29uZmlnQXJyYXlOb1N0YXRpY3MoKS5sZW5ndGgpO1xuXG4gIGlzRGVmaW5lZEF0SW5kZXgoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMudmFsdWUoKT8uW2luZGV4XTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodjogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFpc0FycmF5KHYpICYmICFpc0FueVN0cmluZyh2KSAmJiAhaXNOdWxsKHYpKSB7XG4gICAgICAvL3dhcm4gd2hlbiB1c2luZyBub24tc3RyaW5nIHZhbHVlXG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgICBgQVJELVdBMDAyMDogVHJ5aW5nIHRvIHNldCA8YXJkLWRpZ2l0LWlucHV0PidzIHZhbHVlIHRvIFwiJHt2fVwiIChvZiB0eXBlICR7dHlwZW9mIHZ9KSwgZXhwZWN0ZWQgc3RyaW5nIG9yIGFycmF5IG9mIHN0cmluZ3MuYFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgLy9ub3JtYWxpemUgdGhlIHZhbHVlXG4gICAgICB2ID0gdj8udG9TdHJpbmc/LigpID8/IFN0cmluZyh2KTtcbiAgICB9XG4gICAgY29uc3QgdkFycmF5ID0gY29lcmNlQXJyYXlQcm9wZXJ0eSh2KTtcbiAgICBjb25zdCBwcm9ibGVtSW5kZXggPSB2QXJyYXkuZmluZEluZGV4KGVsID0+ICFpc0FueVN0cmluZyhlbCkgfHwgZWwubGVuZ3RoID4gMSk7XG4gICAgaWYgKHByb2JsZW1JbmRleCAhPT0gLTEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEFSRC1GVDAwNDI6IEFycmF5IHBhc3NlZCB0byA8YXJkLWRpZ2l0LWlucHV0PidzIHZhbHVlIG11c3Qgb25seSBjb250YWluIHN0cmluZ3Mgb2YgbGVuZ3RoIDEgb3IgMC4gRWxlbWVudCBcIiR7dkFycmF5W3Byb2JsZW1JbmRleF19XCIgYXQgaW5kZXggJHtwcm9ibGVtSW5kZXh9IGRvZXMgbm90IG1hdGNoIHRob3NlIHJlcXVpcmVtZW50cy5gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fd3JpdGVWYWx1ZSh2QXJyYXkpO1xuICB9XG4gIHByaXZhdGUgX3dyaXRlVmFsdWUodjogc3RyaW5nW10gfCBudWxsKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgb2xkVmFsID0gdGhpcy52YWx1ZSgpO1xuICAgIHRoaXMudmFsdWUuc2V0KHYgJiYgdi5tYXAoZWwgPT4gZWwgfHwgbnVsbCkpO1xuICAgIHRoaXMudmFsaWRhdGVWYWx1ZUFuZFVwZGF0ZSgpO1xuICAgIHRoaXMuX3VwZGF0ZUlucHV0RWxlbWVudHMoKTtcbiAgICByZXR1cm4gb2xkVmFsICE9PSB2O1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlSW5wdXRFbGVtZW50cygpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUgPz8gW107XG4gICAgbGV0IGkgPSAwO1xuICAgIGZvciAoY29uc3QgaW5wdXRFbCBvZiB0aGlzLl9hcmRIb3N0LmlucHV0cygpKSB7XG4gICAgICBpbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZSgpPy5baV0gPz8gJyc7XG4gICAgICBpKys7XG4gICAgfVxuICB9XG5cbiAgLy8hIHNldHRpbmcgY29uZmlnXG4gIHNldENvbmZpZyhjb25maWc6IERpZ2l0SW5wdXRDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXRDb25maWcoY29uZmlnKTtcbiAgICB0aGlzLnZhbGlkYXRlVmFsdWVBbmRVcGRhdGUoKTtcbiAgfVxuICBwcml2YXRlIF9zZXRDb25maWcoY29uZmlnOiBEaWdpdElucHV0Q29uZmlnKTogdm9pZCB7XG4gICAgLy9tYXAgYSBudW1iZXIgdG8gcmVhZHkgb2JqZWN0c1xuICAgIGxldCBjb25maWdBc051bWJlciA9IGlzQW55U3RyaW5nKGNvbmZpZykgPyBOdW1iZXIoY29uZmlnKSA6IG51bGw7XG4gICAgaWYgKGlzTnVtYmVyKGNvbmZpZykgfHwgaXNOdW1iZXIoY29uZmlnQXNOdW1iZXIpKSB7XG4gICAgICBjb25maWdBc051bWJlciA9IGlzTnVtYmVyKGNvbmZpZykgPyBjb25maWcgOiBjb25maWdBc051bWJlciE7XG4gICAgICB0aGlzLl9jb25maWdBcnJheS5zZXQobmV3IEFycmF5KGNvbmZpZ0FzTnVtYmVyKS5maWxsKHsgYWNjZXB0OiAoc3RyOiBzdHJpbmcpID0+IC9bMC05XS8udGVzdChzdHIpIH0pKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy9tYXAgYSBzdHJpbmcgdG8gYW4gYXJyYXlcbiAgICBsZXQgY29uZmlnQXJyOiBzdHJpbmdbXSB8IEV4Y2x1ZGU8RGlnaXRJbnB1dENvbmZpZywgbnVtYmVyIHwgc3RyaW5nPjtcbiAgICBpZiAoaXNBbnlTdHJpbmcoY29uZmlnKSkge1xuICAgICAgY29uZmlnQXJyID0gY29lcmNlQXJyYXlQcm9wZXJ0eShjb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25maWdBcnIgPSBjb25maWc7XG4gICAgfVxuICAgIC8vbWFwIGFycmF5IHRvIHJlYWR5IG9iamVjdHNcbiAgICB0aGlzLl9jb25maWdBcnJheS5zZXQoXG4gICAgICBjb25maWdBcnIubWFwKCh2LCBpKSA9PiB7XG4gICAgICAgIGlmICghaXNBbnlTdHJpbmcodikpIHtcbiAgICAgICAgICBpZiAoJ2FjY2VwdCcgaW4gdiAmJiAhaXNGdW5jdGlvbih2LmFjY2VwdCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZ0V4cCA9IGlzUmVnRXhwKHYuYWNjZXB0KSA/IHYuYWNjZXB0IDogbmV3IFJlZ0V4cChgWyR7X3Nhbml0aXplUmVnRXhwU3RyaW5nKHYuYWNjZXB0KX1dYCk7XG4gICAgICAgICAgICB2LmFjY2VwdCA9IHN0ciA9PiByZWdFeHAudGVzdChzdHIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdjtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAodikge1xuICAgICAgICAgIGNhc2UgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbi5OdW1iZXI6XG4gICAgICAgICAgICByZXR1cm4geyBhY2NlcHQ6IHN0ciA9PiAvWzAtOV0vLnRlc3Qoc3RyKSB9O1xuICAgICAgICAgIGNhc2UgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbi5MZXR0ZXI6XG4gICAgICAgICAgICByZXR1cm4geyBhY2NlcHQ6IHN0ciA9PiAvW2EtekEtWl0vLnRlc3Qoc3RyKSB9O1xuICAgICAgICAgIGNhc2UgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbi5BbHBoYW51bWVyaWM6XG4gICAgICAgICAgICByZXR1cm4geyBhY2NlcHQ6IHN0ciA9PiAvWzAtOWEtekEtWl0vLnRlc3Qoc3RyKSB9O1xuICAgICAgICAgIGNhc2UgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbi5TcGVjaWFsOlxuICAgICAgICAgICAgcmV0dXJuIHsgYWNjZXB0OiBzdHIgPT4gL1shQCMkJV4mKi1fPSsvXFxcXC4sXS8udGVzdChzdHIpIH07XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgaWYgKGNvbmZpZ0Fyci5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBUkQtTkYwMDQzUzogPGFyZC1kaWdpdC1pbnB1dD4ncyBjb25maWcgaXMgaW52YWxpZC4gRXhwZWN0ZWQgbnVtYmVyIG9yIGFycmF5LCBnb3QgXCIke3Z9XCJgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQVJELU5GMDA0M0I6IEZvdW5kIGludmFsaWQgc3RyaW5nIFwiJHt2fVwiIGluIDxhcmQtZGlnaXQtaW5wdXQ+J3MgY29uZmlnIGF0IGluZGV4ICR7aX1gKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLy8hIHZhbGlkYXRlIGFnYWluc3QgdGhlIGNvbmZpZ1xuICB2YWxpZGF0ZUlucHV0QW5kU2V0VmFsdWUoaW5wdXQ6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IGZhbHNlIHwgW2Jvb2xlYW4sIHN0cmluZyB8IG51bGxdIHtcbiAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID4gdGhpcy5fY29uZmlnQXJyYXlOb1N0YXRpY3MoKS5sZW5ndGgpIHJldHVybiBmYWxzZTtcblxuICAgIGxldCB2ID0gdGhpcy52YWx1ZSgpO1xuICAgIC8vcHJlcGFyZSB0aGUgdmFsdWUgYXJyYXkgaWYgZG9lcyBub3QgZXhpc3RcbiAgICBpZiAoIXYpIHtcbiAgICAgIHRoaXMudmFsdWUuc2V0KFtdKTtcbiAgICB9XG4gICAgdiA9IFtdO1xuICAgIC8vcHJlcGFyZSB0aGUgY2hhcmFjdGVycyBiZWZvcmUgdGhlIGN1cnJlbnQgb25lICh0byBiZSB1c2VkIGluIHZhbGlkYXRpb24pXG4gICAgY29uc3QgYmVmb3JlID0gdGhpcy5zdHJpbmdWYWx1ZSgpLmNoYXJBdChpbmRleCk7XG5cbiAgICAvL3JlbW92ZSB0aGUgb2xkIGNoYXJhY3RlciBmcm9tIHRoZSBpbnB1dCBlbGVtZW50XG4gICAgaWYgKGJlZm9yZSAmJiBpbnB1dC5sZW5ndGggPiAxICYmIGlucHV0Lm1hdGNoKGJlZm9yZSkpIHtcbiAgICAgIGlucHV0ID0gaW5wdXQucmVwbGFjZShiZWZvcmUsICcnKTtcbiAgICB9XG4gICAgLy91c2Ugb25seSB0aGUgZmlyc3Qgb3IgbGFzdCBjaGFyYWN0ZXIgKGVycm9yIHNhZmV0eSlcbiAgICBjb25zdCBmaXJzdENoYXIgPSBpbnB1dC5jaGFyQXQoMCk7XG4gICAgY29uc3QgbGFzdENoYXIgPSBpbnB1dC5jaGFyQXQoaW5wdXQubGVuZ3RoIC0gMSk7XG4gICAgaW5wdXQgPSBmaXJzdENoYXIgPT09IGJlZm9yZSA/IGxhc3RDaGFyIDogZmlyc3RDaGFyO1xuXG4gICAgLy92YWxpZGF0ZSBhbmQgdHJhbnNmb3JtLCBpZiBuZWNlc3NhcnlcbiAgICBjb25zdCBpbnB1dENoYXIgPSB0aGlzLl92YWxpZGF0ZVNpbmdsZUNoYXIoaW5wdXQsIGJlZm9yZSwgdGhpcy5fY29uZmlnQXJyYXlOb1N0YXRpY3MoKVtpbmRleF0pO1xuXG4gICAgLy9nZXQgdGhlIGNvcnJlc3BvbmRpbmcgSFRNTCBpbnB1dCBlbGVtZW50XG4gICAgY29uc3QgaW5wdXRFbCA9IHRoaXMuX2FyZEhvc3QuaW5wdXRzKClbaW5kZXhdO1xuICAgIGlmICghaW5wdXRFbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkFSRC1JUzAwNDg6IDxhcmQtZGlnaXQtaW5wdXQ+J3MgdmFsdWUgY2hhbmdlZCwgYnV0IGl0cyBjb3JyZXNwb25kaW5nIGlucHV0IGVsZW1lbnQgY291bGQgbm90IGJlIGZvdW5kLiBUaGlzIGlzIGVycm9yIGlzIGZhdGFsIHRvIHRoZSBmdW5jdGlvbmluZyBvZiBBcmRpdW0gVUkuIFBsZWFzZSByZXBvcnQgdGhpcyBpc3N1ZSB0byB0aGUgY3JlYXRvcnMuXCJcbiAgICAgICk7XG4gICAgfVxuICAgIC8vdXBkYXRlIHRoZSBpbnB1dCBlbGVtZW50IGFuZCB2YWx1ZSBhcnJheVxuICAgIGNvbnN0IG5ld1ZhbCA9IGlucHV0Q2hhciA/PyBiZWZvcmU7XG4gICAgaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3VmFsID8/ICcnO1xuXG4gICAgdGhpcy52YWx1ZS51cGRhdGUoYXJyID0+IHtcbiAgICAgIGlmICghYXJyKSBhcnIgPSBbXTtcbiAgICAgIGNvbnN0IG5ld0FyciA9IFsuLi5hcnJdO1xuICAgICAgbmV3QXJyW2luZGV4XSA9IG5ld1ZhbCB8fCBudWxsO1xuICAgICAgcmV0dXJuIG5ld0FycjtcbiAgICB9KTtcbiAgICAvL3JldHVybiBjaGFuZ2VzIG1hcmtlciBhbmQgdmFsaWRhdGVkIHZhbHVlXG4gICAgcmV0dXJuIFtuZXdWYWwgIT09IGJlZm9yZSwgaW5wdXRDaGFyXTtcbiAgfVxuICB2YWxpZGF0ZVZhbHVlQW5kVXBkYXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlKCk7XG4gICAgaWYgKCF2KSByZXR1cm47XG5cbiAgICBsZXQgYmVmb3JlID0gJyc7XG4gICAgY29uc3QgbmV3VmFsdWU6IChzdHJpbmcgfCBudWxsKVtdID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNYXRoLm1pbih0aGlzLl9jb25maWdBcnJheU5vU3RhdGljcygpLmxlbmd0aCwgdi5sZW5ndGgpOyBpKyspIHtcbiAgICAgIGNvbnN0IGNoYXIgPSB2W2ldO1xuICAgICAgYmVmb3JlICs9IGNoYXIgPz8gJyAnO1xuXG4gICAgICBpZiAoIWNoYXIpIHtcbiAgICAgICAgbmV3VmFsdWUucHVzaChjaGFyKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLl9jb25maWdBcnJheU5vU3RhdGljcygpW2ldO1xuXG4gICAgICBjb25zdCBuZXdDaGFyID0gdGhpcy5fdmFsaWRhdGVTaW5nbGVDaGFyKGNoYXIsIGJlZm9yZSwgY29uZmlnKTtcbiAgICAgIG5ld1ZhbHVlLnB1c2gobmV3Q2hhcik7XG4gICAgfVxuICAgIHRoaXMudmFsdWUuc2V0KG5ld1ZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF92YWxpZGF0ZVNpbmdsZUNoYXIoY2hhcjogc3RyaW5nIHwgbnVsbCwgYmVmb3JlOiBzdHJpbmcsIGNvbmZpZzogRGlnaXRJbnB1dEFjY2VwdE9iamVjdCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmIChjb25maWcucmVhZG9ubHkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEFSRC1JUzAwNDlSOiB0cnlpbmcgdG8gc2V0IHZhbHVlIG9mIGEgPGFyZC1kaWdpdC1pbnB1dD4ncyByZWFkb25seSBmaWVsZC4gVGhpcyBpcyBlcnJvciBpcyBmYXRhbCB0byB0aGUgZnVuY3Rpb25pbmcgb2YgQXJkaXVtIFVJLiBQbGVhc2UgcmVwb3J0IHRoaXMgaXNzdWUgdG8gdGhlIGNyZWF0b3JzLmBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghaXNGdW5jdGlvbihjb25maWcuYWNjZXB0KSkge1xuICAgICAgY29uc3QgcmVnRXhwID0gaXNSZWdFeHAoY29uZmlnLmFjY2VwdCkgPyBjb25maWcuYWNjZXB0IDogbmV3IFJlZ0V4cChgWyR7X3Nhbml0aXplUmVnRXhwU3RyaW5nKGNvbmZpZy5hY2NlcHQpfV1gKTtcbiAgICAgIGNvbmZpZy5hY2NlcHQgPSBzdHIgPT4gcmVnRXhwLnRlc3Qoc3RyKTtcbiAgICB9XG4gICAgaWYgKCFjaGFyKSByZXR1cm4gY2hhcjtcblxuICAgIGNvbnN0IGNhbkFjY2VwdCA9IGNvbmZpZy5hY2NlcHQoY2hhciwgYmVmb3JlKTtcbiAgICBpZiAoIWNhbkFjY2VwdCkgcmV0dXJuIG51bGw7XG5cbiAgICBpZiAoY29uZmlnLnRyYW5zZm9ybSkge1xuICAgICAgaWYgKGNvbmZpZy50cmFuc2Zvcm0gPT09IFRyYW5zZm9ybVR5cGUuTG93ZXJjYXNlKSB7XG4gICAgICAgIHJldHVybiBjaGFyLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLnRyYW5zZm9ybSA9PT0gVHJhbnNmb3JtVHlwZS5VcHBlcmNhc2UpIHtcbiAgICAgICAgcmV0dXJuIGNoYXIudG9VcHBlckNhc2UoKTtcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYEFSRC1JUzAwNDlUOiA8YXJkLWRpZ2l0LWlucHV0PidzIHZhbHVlIHZhbGlkYXRvciBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIHZhbHVlIG9mIHRoZSBjb25maWcncyBcInRyYW5zZm9ybVwiIHByb3BlcnR5LiBBcmRpdW0gVUkgd2FzIGFibGUgdG8gaGFuZGxlIHRoaXMgaXNzdWUsIGJ1dCBwbGVhc2UgcmVwb3J0IGl0IHRvIHRoZSBjcmVhdG9ycy5gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gY2hhcjtcbiAgfVxufVxuIl19
@@ -12,4 +12,4 @@ export const DigitInputPrimitiveOption = {
12
12
  Alphanumeric: 'alphanumeric',
13
13
  Special: 'special',
14
14
  };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXQtaW5wdXQudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9kaWdpdC1pbnB1dC9kaWdpdC1pbnB1dC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsTUFBTSxFQUFFLFFBQVE7SUFDaEIsU0FBUyxFQUFFLFdBQVc7Q0FDZCxDQUFDO0FBR1gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFNBQVMsRUFBRSxXQUFXO0NBQ2QsQ0FBQztBQUdYLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0lBQzVCLE9BQU8sRUFBRSxTQUFTO0NBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEaWdpdElucHV0U2hhcGUgPSB7XHJcbiAgU3F1YXJlOiAnc3F1YXJlJyxcclxuICBSZWN0YW5nbGU6ICdyZWN0YW5nbGUnLFxyXG59IGFzIGNvbnN0O1xyXG5leHBvcnQgdHlwZSBEaWdpdElucHV0U2hhcGUgPSAodHlwZW9mIERpZ2l0SW5wdXRTaGFwZSlba2V5b2YgdHlwZW9mIERpZ2l0SW5wdXRTaGFwZV07XHJcblxyXG5leHBvcnQgY29uc3QgVHJhbnNmb3JtVHlwZSA9IHtcclxuICBVcHBlcmNhc2U6ICd1cHBlcmNhc2UnLFxyXG4gIExvd2VyY2FzZTogJ2xvd2VyY2FzZScsXHJcbn0gYXMgY29uc3Q7XHJcbmV4cG9ydCB0eXBlIFRyYW5zZm9ybVR5cGUgPSAodHlwZW9mIFRyYW5zZm9ybVR5cGUpW2tleW9mIHR5cGVvZiBUcmFuc2Zvcm1UeXBlXTtcclxuXHJcbmV4cG9ydCBjb25zdCBEaWdpdElucHV0UHJpbWl0aXZlT3B0aW9uID0ge1xyXG4gIE51bWJlcjogJ251bWJlcicsXHJcbiAgTGV0dGVyOiAnbGV0dGVyJyxcclxuICBBbHBoYW51bWVyaWM6ICdhbHBoYW51bWVyaWMnLFxyXG4gIFNwZWNpYWw6ICdzcGVjaWFsJyxcclxufSBhcyBjb25zdDtcclxuZXhwb3J0IHR5cGUgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbiA9ICh0eXBlb2YgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbilba2V5b2YgdHlwZW9mIERpZ2l0SW5wdXRQcmltaXRpdmVPcHRpb25dO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWdpdElucHV0QWNjZXB0T2JqZWN0IHtcclxuICBhY2NlcHQ6IHN0cmluZyB8IFJlZ0V4cCB8ICgoY2hhcjogc3RyaW5nLCBjaGFyc0JlZm9yZTogc3RyaW5nKSA9PiBib29sZWFuKTtcclxuICB0cmFuc2Zvcm0/OiBUcmFuc2Zvcm1UeXBlIHwgbnVsbDtcclxuICByZWFkb25seT86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEaWdpdElucHV0U3RhdGljT2JqZWN0IHtcclxuICBzdGF0aWM6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGlnaXRJbnB1dE9wdGlvbiA9IERpZ2l0SW5wdXRBY2NlcHRPYmplY3QgfCBEaWdpdElucHV0U3RhdGljT2JqZWN0O1xyXG5cclxuZXhwb3J0IHR5cGUgRGlnaXRJbnB1dENvbmZpZyA9IChEaWdpdElucHV0UHJpbWl0aXZlT3B0aW9uIHwgRGlnaXRJbnB1dE9wdGlvbilbXSB8IHN0cmluZyB8IG51bWJlcjtcclxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXQtaW5wdXQudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9kaWdpdC1pbnB1dC9kaWdpdC1pbnB1dC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsTUFBTSxFQUFFLFFBQVE7SUFDaEIsU0FBUyxFQUFFLFdBQVc7Q0FDZCxDQUFDO0FBR1gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFNBQVMsRUFBRSxXQUFXO0NBQ2QsQ0FBQztBQUdYLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3ZDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0lBQzVCLE9BQU8sRUFBRSxTQUFTO0NBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEaWdpdElucHV0U2hhcGUgPSB7XG4gIFNxdWFyZTogJ3NxdWFyZScsXG4gIFJlY3RhbmdsZTogJ3JlY3RhbmdsZScsXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgRGlnaXRJbnB1dFNoYXBlID0gKHR5cGVvZiBEaWdpdElucHV0U2hhcGUpW2tleW9mIHR5cGVvZiBEaWdpdElucHV0U2hhcGVdO1xuXG5leHBvcnQgY29uc3QgVHJhbnNmb3JtVHlwZSA9IHtcbiAgVXBwZXJjYXNlOiAndXBwZXJjYXNlJyxcbiAgTG93ZXJjYXNlOiAnbG93ZXJjYXNlJyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1UeXBlID0gKHR5cGVvZiBUcmFuc2Zvcm1UeXBlKVtrZXlvZiB0eXBlb2YgVHJhbnNmb3JtVHlwZV07XG5cbmV4cG9ydCBjb25zdCBEaWdpdElucHV0UHJpbWl0aXZlT3B0aW9uID0ge1xuICBOdW1iZXI6ICdudW1iZXInLFxuICBMZXR0ZXI6ICdsZXR0ZXInLFxuICBBbHBoYW51bWVyaWM6ICdhbHBoYW51bWVyaWMnLFxuICBTcGVjaWFsOiAnc3BlY2lhbCcsXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbiA9ICh0eXBlb2YgRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbilba2V5b2YgdHlwZW9mIERpZ2l0SW5wdXRQcmltaXRpdmVPcHRpb25dO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpZ2l0SW5wdXRBY2NlcHRPYmplY3Qge1xuICBhY2NlcHQ6IHN0cmluZyB8IFJlZ0V4cCB8ICgoY2hhcjogc3RyaW5nLCBjaGFyc0JlZm9yZTogc3RyaW5nKSA9PiBib29sZWFuKTtcbiAgdHJhbnNmb3JtPzogVHJhbnNmb3JtVHlwZSB8IG51bGw7XG4gIHJlYWRvbmx5PzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGlnaXRJbnB1dFN0YXRpY09iamVjdCB7XG4gIHN0YXRpYzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBEaWdpdElucHV0T3B0aW9uID0gRGlnaXRJbnB1dEFjY2VwdE9iamVjdCB8IERpZ2l0SW5wdXRTdGF0aWNPYmplY3Q7XG5cbmV4cG9ydCB0eXBlIERpZ2l0SW5wdXRDb25maWcgPSAoRGlnaXRJbnB1dFByaW1pdGl2ZU9wdGlvbiB8IERpZ2l0SW5wdXRPcHRpb24pW10gfCBzdHJpbmcgfCBudW1iZXI7XG4iXX0=
@@ -5,4 +5,4 @@ export const DigitInputConfigDataType = {
5
5
  export function _sanitizeRegExpString(str) {
6
6
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXQtaW5wdXQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9kaWdpdC1pbnB1dC9kaWdpdC1pbnB1dC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxLQUFLLEVBQUUsT0FBTztJQUNkLE1BQU0sRUFBRSxRQUFRO0NBQ1IsQ0FBQztBQUdYLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxHQUFXO0lBQy9DLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERpZ2l0SW5wdXRDb25maWdEYXRhIHtcclxuICB0eXBlOiBEaWdpdElucHV0Q29uZmlnRGF0YVR5cGU7XHJcbiAgY2hhcj86IHN0cmluZztcclxuICBpbmRleD86IG51bWJlcjtcclxuICByZWFkb25seT86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEaWdpdElucHV0TW9kZWxIb3N0IHtcclxuICByZWFkb25seSBpbnB1dHM6IFNpZ25hbDxyZWFkb25seSBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+W10+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgRGlnaXRJbnB1dENvbmZpZ0RhdGFUeXBlID0ge1xyXG4gIElucHV0OiAnaW5wdXQnLFxyXG4gIFN0YXRpYzogJ3N0YXRpYycsXHJcbn0gYXMgY29uc3Q7XHJcbmV4cG9ydCB0eXBlIERpZ2l0SW5wdXRDb25maWdEYXRhVHlwZSA9ICh0eXBlb2YgRGlnaXRJbnB1dENvbmZpZ0RhdGFUeXBlKVtrZXlvZiB0eXBlb2YgRGlnaXRJbnB1dENvbmZpZ0RhdGFUeXBlXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfc2FuaXRpemVSZWdFeHBTdHJpbmcoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIHJldHVybiBzdHIucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2csICdcXFxcJCYnKTtcclxufVxyXG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXQtaW5wdXQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9kaWdpdC1pbnB1dC9kaWdpdC1pbnB1dC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxLQUFLLEVBQUUsT0FBTztJQUNkLE1BQU0sRUFBRSxRQUFRO0NBQ1IsQ0FBQztBQUdYLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxHQUFXO0lBQy9DLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlnaXRJbnB1dENvbmZpZ0RhdGEge1xuICB0eXBlOiBEaWdpdElucHV0Q29uZmlnRGF0YVR5cGU7XG4gIGNoYXI/OiBzdHJpbmc7XG4gIGluZGV4PzogbnVtYmVyO1xuICByZWFkb25seT86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIERpZ2l0SW5wdXRNb2RlbEhvc3Qge1xuICByZWFkb25seSBpbnB1dHM6IFNpZ25hbDxyZWFkb25seSBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+W10+O1xufVxuXG5leHBvcnQgY29uc3QgRGlnaXRJbnB1dENvbmZpZ0RhdGFUeXBlID0ge1xuICBJbnB1dDogJ2lucHV0JyxcbiAgU3RhdGljOiAnc3RhdGljJyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBEaWdpdElucHV0Q29uZmlnRGF0YVR5cGUgPSAodHlwZW9mIERpZ2l0SW5wdXRDb25maWdEYXRhVHlwZSlba2V5b2YgdHlwZW9mIERpZ2l0SW5wdXRDb25maWdEYXRhVHlwZV07XG5cbmV4cG9ydCBmdW5jdGlvbiBfc2FuaXRpemVSZWdFeHBTdHJpbmcoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCAnXFxcXCQmJyk7XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
- export * from './digit-input.module';
2
1
  export * from './digit-input.component';
2
+ export * from './digit-input.defaults';
3
+ export * from './digit-input.module';
3
4
  export * from './digit-input.types';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9kaWdpdC1pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlnaXQtaW5wdXQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaWdpdC1pbnB1dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpZ2l0LWlucHV0LnR5cGVzJztcclxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9kaWdpdC1pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaWdpdC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kaWdpdC1pbnB1dC5kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2RpZ2l0LWlucHV0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpZ2l0LWlucHV0LnR5cGVzJztcbiJdfQ==
@@ -1,46 +1,44 @@
1
- import { ChangeDetectionStrategy, Component, computed, contentChild, forwardRef, input, Input, output, viewChild, ViewEncapsulation, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, computed, contentChild, forwardRef, Inject, input, Input, output, viewChild, ViewEncapsulation, } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import { coerceBooleanProperty, coerceNumberProperty } from '@ardium-ui/devkit';
4
4
  import { _NgModelComponentBase } from '../../_internal/ngmodel-component';
5
- import { FormElementAppearance, FormElementVariant } from '../../types/theming.types';
6
- import { HexInputModel } from '../hex-input.model';
7
- import { CaseTransformerType } from '../input-types';
5
+ import { ARD_HEX_INPUT_DEFAULTS } from './hex-input.defaults';
8
6
  import { ArdHexInputPlaceholderTemplateDirective, ArdHexInputPrefixTemplateDirective, ArdHexInputSuffixTemplateDirective, } from './hex-input.directives';
7
+ import { HexInputModel } from './hex-input.model';
9
8
  import * as i0 from "@angular/core";
10
9
  import * as i1 from "@angular/common";
11
10
  import * as i2 from "../../form-field-frame/form-field-frame.component";
12
11
  import * as i3 from "../../_internal/clear-button/clear-button.component";
13
12
  export class ArdiumHexInputComponent extends _NgModelComponentBase {
14
- constructor() {
15
- super(...arguments);
13
+ constructor(defaults) {
14
+ super(defaults);
16
15
  //! input view
17
16
  this.textInputEl = viewChild('textInput');
18
17
  this.inputModel = new HexInputModel(this);
19
18
  this._wasViewInit = false;
20
- this.DEFAULTS = {
21
- clearButtonTitle: 'Clear',
22
- };
23
19
  this.inputId = input();
24
20
  //! prefix & suffix
25
21
  this.prefixTemplate = contentChild(ArdHexInputPrefixTemplateDirective);
26
22
  this.suffixTemplate = contentChild(ArdHexInputSuffixTemplateDirective);
27
23
  //! placeholder
28
- this.placeholder = input();
24
+ this.placeholder = input(this._DEFAULTS.placeholder);
29
25
  this.placeholderTemplate = contentChild(ArdHexInputPlaceholderTemplateDirective);
30
26
  this.shouldDisplayPlaceholder = computed(() => Boolean(this.placeholder()) && !this.inputModel.stringValue());
31
27
  //! appearance
32
28
  //all handled in ard-form-field-frame component
33
- this.appearance = input(FormElementAppearance.Outlined);
34
- this.variant = input(FormElementVariant.Rounded);
35
- this.compact = input(false, { transform: v => coerceBooleanProperty(v) });
29
+ this.appearance = input(this._DEFAULTS.appearance);
30
+ this.variant = input(this._DEFAULTS.variant);
31
+ this.compact = input(this._DEFAULTS.compact, { transform: v => coerceBooleanProperty(v) });
36
32
  //! settings
37
- this.case = input(CaseTransformerType.NoChange);
38
- this.maxDigits = input(undefined, { transform: v => coerceNumberProperty(v, undefined) });
39
- this.hideHash = input(false, { transform: v => coerceBooleanProperty(v) });
33
+ this.case = input(this._DEFAULTS.case);
34
+ this.maxDigits = input(this._DEFAULTS.maxDigits, {
35
+ transform: v => coerceNumberProperty(v, this._DEFAULTS.maxDigits),
36
+ });
37
+ this.hideHash = input(this._DEFAULTS.hideHash, { transform: v => coerceBooleanProperty(v) });
40
38
  this.showHash = computed(() => !this.hideHash());
41
39
  //! clear button
42
- this.clearable = input(false, { transform: v => coerceBooleanProperty(v) });
43
- this.clearButtonTitle = input(this.DEFAULTS.clearButtonTitle);
40
+ this.clearable = input(this._DEFAULTS.clearable, { transform: v => coerceBooleanProperty(v) });
41
+ this.clearButtonTitle = input(this._DEFAULTS.clearButtonTitle);
44
42
  this.shouldShowClearButton = computed(() => this.clearable() && !this.disabled() && Boolean(this.inputModel?.value()));
45
43
  //! other inputs
46
44
  this.inputAttrs = input({});
@@ -146,14 +144,14 @@ export class ArdiumHexInputComponent extends _NgModelComponentBase {
146
144
  input.setAttribute(key, String(attributes[key]));
147
145
  }
148
146
  }
149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumHexInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumHexInputComponent, deps: [{ token: ARD_HEX_INPUT_DEFAULTS }], target: i0.ɵɵFactoryTarget.Component }); }
150
148
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.2", type: ArdiumHexInputComponent, selector: "ard-hex-input", inputs: { inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null }, case: { classPropertyName: "case", publicName: "case", isSignal: true, isRequired: false, transformFunction: null }, maxDigits: { classPropertyName: "maxDigits", publicName: "maxDigits", isSignal: true, isRequired: false, transformFunction: null }, hideHash: { classPropertyName: "hideHash", publicName: "hideHash", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, clearButtonTitle: { classPropertyName: "clearButtonTitle", publicName: "clearButtonTitle", isSignal: true, isRequired: false, transformFunction: null }, inputAttrs: { classPropertyName: "inputAttrs", publicName: "inputAttrs", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", inputEvent: "input", changeEvent: "change", clearEvent: "clear" }, providers: [
151
149
  {
152
150
  provide: NG_VALUE_ACCESSOR,
153
151
  useExisting: forwardRef(() => ArdiumHexInputComponent),
154
152
  multi: true,
155
153
  },
156
- ], queries: [{ propertyName: "prefixTemplate", first: true, predicate: ArdHexInputPrefixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "suffixTemplate", first: true, predicate: ArdHexInputSuffixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "placeholderTemplate", first: true, predicate: ArdHexInputPlaceholderTemplateDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "textInputEl", first: true, predicate: ["textInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused\"\r\n [prefixTemplate]=\"prefixTemplate()?.template\"\r\n [suffixTemplate]=\"suffixTemplate()?.template\"\r\n>\r\n <div\r\n class=\"ard-hex-input\"\r\n [class.ard-has-value]=\"value\"\r\n (mouseup)=\"onMouseup()\"\r\n >\r\n <div\r\n class=\"ard-hash-container\"\r\n *ngIf=\"showHash\"\r\n >\r\n #\r\n </div>\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder()) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\"></ng-template>\r\n }\r\n\r\n <input\r\n #textInput\r\n #focusableElement\r\n type=\"text\"\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n [readonly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n (input)=\"onInput(textInput.value, $event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (change)=\"onChange($event)\"\r\n (mouseup)=\"$event.stopPropagation()\"\r\n (copy)=\"onCopy($event)\"\r\n />\r\n </div>\r\n\r\n @if (shouldShowClearButton()) {\r\n <ard-clear-button\r\n [title]=\"clearButtonTitle()\"\r\n (click)=\"onClearButtonClick($event)\"\r\n />\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n", styles: [".ard-input-container{position:relative}.ard-placeholder{position:absolute;left:0;right:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
154
+ ], queries: [{ propertyName: "prefixTemplate", first: true, predicate: ArdHexInputPrefixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "suffixTemplate", first: true, predicate: ArdHexInputSuffixTemplateDirective, descendants: true, isSignal: true }, { propertyName: "placeholderTemplate", first: true, predicate: ArdHexInputPlaceholderTemplateDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "textInputEl", first: true, predicate: ["textInput"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ard-form-field-frame\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate()?.template\"\n [suffixTemplate]=\"suffixTemplate()?.template\"\n>\n <div\n class=\"ard-hex-input\"\n [class.ard-has-value]=\"value\"\n (mouseup)=\"onMouseup()\"\n >\n <div\n class=\"ard-hash-container\"\n *ngIf=\"showHash\"\n >\n #\n </div>\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder()) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\"></ng-template>\n }\n\n <input\n #textInput\n #focusableElement\n type=\"text\"\n [attr.id]=\"inputId()\"\n [attr.tabindex]=\"tabIndex()\"\n [readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (input)=\"onInput(textInput.value, $event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (mouseup)=\"$event.stopPropagation()\"\n (copy)=\"onCopy($event)\"\n />\n </div>\n\n @if (shouldShowClearButton()) {\n <ard-clear-button\n [title]=\"clearButtonTitle()\"\n (click)=\"onClearButtonClick($event)\"\n />\n }\n </div>\n</ard-form-field-frame>\n", styles: [".ard-input-container{position:relative}.ard-placeholder{position:absolute;left:0;right:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ArdiumFormFieldFrameComponent, selector: "ard-form-field-frame", inputs: ["isFocused", "appearance", "variant", "compact", "prefixTemplate", "suffixTemplate"] }, { kind: "component", type: i3._ClearButtonComponent, selector: "ard-clear-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
157
155
  }
158
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ArdiumHexInputComponent, decorators: [{
159
157
  type: Component,
@@ -163,8 +161,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
163
161
  useExisting: forwardRef(() => ArdiumHexInputComponent),
164
162
  multi: true,
165
163
  },
166
- ], template: "<ard-form-field-frame\r\n [appearance]=\"appearance()\"\r\n [variant]=\"variant()\"\r\n [compact]=\"compact()\"\r\n [isFocused]=\"isFocused\"\r\n [prefixTemplate]=\"prefixTemplate()?.template\"\r\n [suffixTemplate]=\"suffixTemplate()?.template\"\r\n>\r\n <div\r\n class=\"ard-hex-input\"\r\n [class.ard-has-value]=\"value\"\r\n (mouseup)=\"onMouseup()\"\r\n >\r\n <div\r\n class=\"ard-hash-container\"\r\n *ngIf=\"showHash\"\r\n >\r\n #\r\n </div>\r\n <div class=\"ard-input-container\">\r\n @if (shouldDisplayPlaceholder()) {\r\n <ng-template #defaultPlaceholderTemplate>\r\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\r\n </ng-template>\r\n\r\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\"></ng-template>\r\n }\r\n\r\n <input\r\n #textInput\r\n #focusableElement\r\n type=\"text\"\r\n [attr.id]=\"inputId()\"\r\n [attr.tabindex]=\"tabIndex()\"\r\n [readonly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n (input)=\"onInput(textInput.value, $event)\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (change)=\"onChange($event)\"\r\n (mouseup)=\"$event.stopPropagation()\"\r\n (copy)=\"onCopy($event)\"\r\n />\r\n </div>\r\n\r\n @if (shouldShowClearButton()) {\r\n <ard-clear-button\r\n [title]=\"clearButtonTitle()\"\r\n (click)=\"onClearButtonClick($event)\"\r\n />\r\n }\r\n </div>\r\n</ard-form-field-frame>\r\n", styles: [".ard-input-container{position:relative}.ard-placeholder{position:absolute;left:0;right:0}\n"] }]
167
- }], propDecorators: { value: [{
164
+ ], template: "<ard-form-field-frame\n [appearance]=\"appearance()\"\n [variant]=\"variant()\"\n [compact]=\"compact()\"\n [isFocused]=\"isFocused\"\n [prefixTemplate]=\"prefixTemplate()?.template\"\n [suffixTemplate]=\"suffixTemplate()?.template\"\n>\n <div\n class=\"ard-hex-input\"\n [class.ard-has-value]=\"value\"\n (mouseup)=\"onMouseup()\"\n >\n <div\n class=\"ard-hash-container\"\n *ngIf=\"showHash\"\n >\n #\n </div>\n <div class=\"ard-input-container\">\n @if (shouldDisplayPlaceholder()) {\n <ng-template #defaultPlaceholderTemplate>\n <div class=\"ard-placeholder\">{{ placeholder() }}</div>\n </ng-template>\n\n <ng-template [ngTemplateOutlet]=\"placeholderTemplate()?.template || defaultPlaceholderTemplate\"></ng-template>\n }\n\n <input\n #textInput\n #focusableElement\n type=\"text\"\n [attr.id]=\"inputId()\"\n [attr.tabindex]=\"tabIndex()\"\n [readonly]=\"readonly()\"\n [disabled]=\"disabled()\"\n (input)=\"onInput(textInput.value, $event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (mouseup)=\"$event.stopPropagation()\"\n (copy)=\"onCopy($event)\"\n />\n </div>\n\n @if (shouldShowClearButton()) {\n <ard-clear-button\n [title]=\"clearButtonTitle()\"\n (click)=\"onClearButtonClick($event)\"\n />\n }\n </div>\n</ard-form-field-frame>\n", styles: [".ard-input-container{position:relative}.ard-placeholder{position:absolute;left:0;right:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;pointer-events:none}\n"] }]
165
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
166
+ type: Inject,
167
+ args: [ARD_HEX_INPUT_DEFAULTS]
168
+ }] }], propDecorators: { value: [{
168
169
  type: Input
169
170
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvaW5wdXRzL2hleC1pbnB1dC9oZXgtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaGV4LWlucHV0L2hleC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUVaLFVBQVUsRUFDVixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RixPQUFPLEVBQUUsYUFBYSxFQUFxQixNQUFNLG9CQUFvQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFDTCx1Q0FBdUMsRUFDdkMsa0NBQWtDLEVBQ2xDLGtDQUFrQyxHQUNuQyxNQUFNLHdCQUF3QixDQUFDOzs7OztBQWdCaEMsTUFBTSxPQUFPLHVCQUNYLFNBQVEscUJBQXFCO0lBZi9COztRQWtCRSxjQUFjO1FBQ0wsZ0JBQVcsR0FBRyxTQUFTLENBQStCLFdBQVcsQ0FBQyxDQUFDO1FBRXpELGVBQVUsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMs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RSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2dCQUN0RCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysc0VBNEJzQyxrQ0FBa0MsaUdBQ2xDLGtDQUFrQyxzR0FLN0IsdUNBQXVDLGlOQ3pFckYsd2tEQXFEQTs7MkZEWmEsdUJBQXVCO2tCQWRuQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBc0ZHLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgY29tcHV0ZWQsXHJcbiAgY29udGVudENoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbnB1dCxcclxuICBJbnB1dCxcclxuICBvdXRwdXQsXHJcbiAgdmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XHJcbmltcG9ydCB7IF9OZ01vZGVsQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL19pbnRlcm5hbC9uZ21vZGVsLWNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XHJcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XHJcbmltcG9ydCB7IEhleElucHV0TW9kZWwsIEhleElucHV0TW9kZWxIb3N0IH0gZnJvbSAnLi4vaGV4LWlucHV0Lm1vZGVsJztcclxuaW1wb3J0IHsgQ2FzZVRyYW5zZm9ybWVyVHlwZSB9IGZyb20gJy4uL2lucHV0LXR5cGVzJztcclxuaW1wb3J0IHtcclxuICBBcmRIZXhJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgQXJkSGV4SW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRIZXhJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxyXG59IGZyb20gJy4vaGV4LWlucHV0LmRpcmVjdGl2ZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcmQtaGV4LWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGV4LWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oZXgtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtSGV4SW5wdXRDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bUhleElucHV0Q29tcG9uZW50XHJcbiAgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2VcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBIZXhJbnB1dE1vZGVsSG9zdCwgQWZ0ZXJWaWV3SW5pdFxyXG57XHJcbiAgLy8hIGlucHV0IHZpZXdcclxuICByZWFkb25seSB0ZXh0SW5wdXRFbCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+PigndGV4dElucHV0Jyk7XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dE1vZGVsID0gbmV3IEhleElucHV0TW9kZWwodGhpcyk7XHJcbiAgcHJvdGVjdGVkIF93YXNWaWV3SW5pdCA9IGZhbHNlO1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3dhc1ZpZXdJbml0ID0gdHJ1ZTtcclxuICAgIHRoaXMuX3NldElucHV0QXR0cmlidXRlcygpO1xyXG4gICAgLy9zZXQgdGhlIHZhbHVlXHJcbiAgICBpZiAodGhpcy5fdmFsdWVCZWZvcmVJbml0KSB7XHJcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLl92YWx1ZUJlZm9yZUluaXQpO1xyXG4gICAgICBkZWxldGUgdGhpcy5fdmFsdWVCZWZvcmVJbml0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgREVGQVVMVFMgPSB7XHJcbiAgICBjbGVhckJ1dHRvblRpdGxlOiAnQ2xlYXInLFxyXG4gIH07XHJcblxyXG4gIHJlYWRvbmx5IGlucHV0SWQgPSBpbnB1dDxOdWxsYWJsZTxzdHJpbmc+PigpO1xyXG5cclxuICAvLyEgcHJlZml4ICYgc3VmZml4XHJcbiAgcmVhZG9ubHkgcHJlZml4VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkSGV4SW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcbiAgcmVhZG9ubHkgc3VmZml4VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkSGV4SW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XHJcblxyXG4gIC8vISBwbGFjZWhvbGRlclxyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8TnVsbGFibGU8c3RyaW5nPj4oKTtcclxuXHJcbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXJUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRIZXhJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUpO1xyXG5cclxuICByZWFkb25seSBzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIgPSBjb21wdXRlZCgoKTogYm9vbGVhbiA9PiBCb29sZWFuKHRoaXMucGxhY2Vob2xkZXIoKSkgJiYgIXRoaXMuaW5wdXRNb2RlbC5zdHJpbmdWYWx1ZSgpKTtcclxuXHJcbiAgLy8hIGFwcGVhcmFuY2VcclxuICAvL2FsbCBoYW5kbGVkIGluIGFyZC1mb3JtLWZpZWxkLWZyYW1lIGNvbXBvbmVudFxyXG4gIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbnB1dDxGb3JtRWxlbWVudEFwcGVhcmFuY2U+KEZvcm1FbGVtZW50QXBwZWFyYW5jZS5PdXRsaW5lZCk7XHJcbiAgcmVhZG9ubHkgdmFyaWFudCA9IGlucHV0PEZvcm1FbGVtZW50VmFyaWFudD4oRm9ybUVsZW1lbnRWYXJpYW50LlJvdW5kZWQpO1xyXG5cclxuICByZWFkb25seSBjb21wYWN0ID0gaW5wdXQ8Ym9vbGVhbiwgYW55PihmYWxzZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICAvLyEgc2V0dGluZ3NcclxuICByZWFkb25seSBjYXNlID0gaW5wdXQ8Q2FzZVRyYW5zZm9ybWVyVHlwZT4oQ2FzZVRyYW5zZm9ybWVyVHlwZS5Ob0NoYW5nZSk7XHJcblxyXG4gIHJlYWRvbmx5IG1heERpZ2l0cyA9IGlucHV0PE51bGxhYmxlPG51bWJlcj4sIGFueT4odW5kZWZpbmVkLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB1bmRlZmluZWQpIH0pO1xyXG5cclxuICByZWFkb25seSBoaWRlSGFzaCA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuICByZWFkb25seSBzaG93SGFzaCA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLmhpZGVIYXNoKCkpO1xyXG5cclxuICAvLyEgY2xlYXIgYnV0dG9uXHJcbiAgcmVhZG9ubHkgY2xlYXJhYmxlID0gaW5wdXQ8Ym9vbGVhbiwgYW55PihmYWxzZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xyXG5cclxuICByZWFkb25seSBjbGVhckJ1dHRvblRpdGxlID0gaW5wdXQ8c3RyaW5nPih0aGlzLkRFRkFVTFRTLmNsZWFyQnV0dG9uVGl0bGUpO1xyXG5cclxuICByZWFkb25seSBzaG91bGRTaG93Q2xlYXJCdXR0b24gPSBjb21wdXRlZDxib29sZWFuPihcclxuICAgICgpID0+IHRoaXMuY2xlYXJhYmxlKCkgJiYgIXRoaXMuZGlzYWJsZWQoKSAmJiBCb29sZWFuKHRoaXMuaW5wdXRNb2RlbD8udmFsdWUoKSlcclxuICApO1xyXG5cclxuICBvbkNsZWFyQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5pbnB1dE1vZGVsLmNsZWFyKCk7XHJcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XHJcbiAgICB0aGlzLl9lbWl0SW5wdXQoKTtcclxuICAgIHRoaXMuY2xlYXJFdmVudC5lbWl0KCk7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICAvLyEgb3RoZXIgaW5wdXRzXHJcbiAgcmVhZG9ubHkgaW5wdXRBdHRycyA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KHt9KTtcclxuXHJcbiAgLy8hIGNvbnRyb2wgdmFsdWUgYWNjZXNzb3IncyB3cml0ZSB2YWx1ZSBpbXBsZW1lbnRhdGlvblxyXG4gIHdyaXRlVmFsdWUodjogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuX3dhc1ZpZXdJbml0KSB7XHJcbiAgICAgIHRoaXMuX3ZhbHVlQmVmb3JlSW5pdCA9IHY7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaW5wdXRNb2RlbC53cml0ZVZhbHVlKHYpO1xyXG4gIH1cclxuXHJcbiAgLy8hIHZhbHVlIHR3by13YXkgYmluZGluZ1xyXG4gIHByb3RlY3RlZCBfdmFsdWVCZWZvcmVJbml0Pzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KClcclxuICBzZXQgdmFsdWUodjogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKCF0aGlzLl93YXNWaWV3SW5pdCkge1xyXG4gICAgICB0aGlzLl92YWx1ZUJlZm9yZUluaXQgPSB2O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLndyaXRlVmFsdWUodik7XHJcbiAgfVxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmlucHV0TW9kZWw/Lmhhc2hTaWduVmFsdWUoKTtcclxuICB9XHJcbiAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8c3RyaW5nPigpO1xyXG5cclxuICAvLyEgZXZlbnQgZW1pdHRlcnNcclxuICByZWFkb25seSBpbnB1dEV2ZW50ID0gb3V0cHV0PHN0cmluZz4oeyBhbGlhczogJ2lucHV0JyB9KTtcclxuICByZWFkb25seSBjaGFuZ2VFdmVudCA9IG91dHB1dDxzdHJpbmc+KHsgYWxpYXM6ICdjaGFuZ2UnIH0pO1xyXG4gIHJlYWRvbmx5IGNsZWFyRXZlbnQgPSBvdXRwdXQ8dm9pZD4oeyBhbGlhczogJ2NsZWFyJyB9KTtcclxuXHJcbiAgLy8hIGV2ZW50IGhhbmRsZXJzXHJcbiAgb25JbnB1dChuZXdWYWw6IHN0cmluZywgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGNvbnN0IHZhbHVlSGFzQ2hhbmdlZCA9IHRoaXMuaW5wdXRNb2RlbC53cml0ZVZhbHVlKG5ld1ZhbCk7XHJcbiAgICBpZiAoIXZhbHVlSGFzQ2hhbmdlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5fZW1pdElucHV0KCk7XHJcbiAgfVxyXG4gIHByb3RlY3RlZCBfZW1pdElucHV0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgdiA9IHRoaXMuaW5wdXRNb2RlbC5oYXNoU2lnblZhbHVlKCk7XHJcbiAgICB0aGlzLmlucHV0RXZlbnQuZW1pdCh2KTtcclxuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgcHJvdGVjdGVkIF9lbWl0Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdiA9IHRoaXMuaW5wdXRNb2RlbC5oYXNoU2lnblZhbHVlKCk7XHJcbiAgICB0aGlzLmNoYW5nZUV2ZW50LmVtaXQodik7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uQmx1cihldmVudCk7XHJcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICAvL3NtYXJ0IGZvY3VzXHJcbiAgb25Nb3VzZXVwKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xyXG4gICAgaWYgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24udHlwZSA9PT0gJ1JhbmdlJykgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIG9uQ29weShldmVudDogQ2xpcGJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy52YWx1ZSAmJlxyXG4gICAgICAvL2RvZXMgdGhlIHNlbGVjdGlvbiBjb3ZlciB0aGUgZW50aXJlIGlucHV0XHJcbiAgICAgICgodGhpcy50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID09PSAwICYmXHJcbiAgICAgICAgdGhpcy50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9PT0gdGhpcy50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LnZhbHVlLmxlbmd0aCkgfHxcclxuICAgICAgICAvL29yIGlzIHplcm8td2lkZVxyXG4gICAgICAgIHRoaXMudGV4dElucHV0RWwoKT8ubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCA9PT0gdGhpcy50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZClcclxuICAgICkge1xyXG4gICAgICBldmVudC5jbGlwYm9hcmREYXRhPy5zZXREYXRhKCd0ZXh0L3BsYWluJywgdGhpcy52YWx1ZSk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyEgaGVscGVyc1xyXG4gIHByb3RlY3RlZCBfc2V0SW5wdXRBdHRyaWJ1dGVzKCkge1xyXG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLnRleHRJbnB1dEVsKCkhLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCBhdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xyXG4gICAgICB0eXBlOiAndGV4dCcsXHJcbiAgICAgIGF1dG9jb3JyZWN0OiAnb2ZmJyxcclxuICAgICAgYXV0b2NhcGl0YWxpemU6ICdvZmYnLFxyXG4gICAgICBhdXRvY29tcGxldGU6ICdvZmYnLFxyXG4gICAgICB0YWJpbmRleDogU3RyaW5nKHRoaXMudGFiSW5kZXgpLFxyXG4gICAgICAuLi50aGlzLmlucHV0QXR0cnMsXHJcbiAgICB9O1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpKSB7XHJcbiAgICAgIGlucHV0LnNldEF0dHJpYnV0ZShrZXksIFN0cmluZyhhdHRyaWJ1dGVzW2tleV0pKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFyZC1mb3JtLWZpZWxkLWZyYW1lXHJcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcclxuICBbdmFyaWFudF09XCJ2YXJpYW50KClcIlxyXG4gIFtjb21wYWN0XT1cImNvbXBhY3QoKVwiXHJcbiAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWRcIlxyXG4gIFtwcmVmaXhUZW1wbGF0ZV09XCJwcmVmaXhUZW1wbGF0ZSgpPy50ZW1wbGF0ZVwiXHJcbiAgW3N1ZmZpeFRlbXBsYXRlXT1cInN1ZmZpeFRlbXBsYXRlKCk/LnRlbXBsYXRlXCJcclxuPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiYXJkLWhleC1pbnB1dFwiXHJcbiAgICBbY2xhc3MuYXJkLWhhcy12YWx1ZV09XCJ2YWx1ZVwiXHJcbiAgICAobW91c2V1cCk9XCJvbk1vdXNldXAoKVwiXHJcbiAgPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImFyZC1oYXNoLWNvbnRhaW5lclwiXHJcbiAgICAgICpuZ0lmPVwic2hvd0hhc2hcIlxyXG4gICAgPlxyXG4gICAgICAjXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJhcmQtaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgIEBpZiAoc2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyKCkpIHtcclxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIoKSB9fTwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBsYWNlaG9sZGVyVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICAjdGV4dElucHV0XHJcbiAgICAgICAgI2ZvY3VzYWJsZUVsZW1lbnRcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgW2F0dHIuaWRdPVwiaW5wdXRJZCgpXCJcclxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleCgpXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0KHRleHRJbnB1dC52YWx1ZSwgJGV2ZW50KVwiXHJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKG1vdXNldXApPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAoY29weSk9XCJvbkNvcHkoJGV2ZW50KVwiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICBAaWYgKHNob3VsZFNob3dDbGVhckJ1dHRvbigpKSB7XHJcbiAgICA8YXJkLWNsZWFyLWJ1dHRvblxyXG4gICAgICBbdGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZSgpXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJCdXR0b25DbGljaygkZXZlbnQpXCJcclxuICAgIC8+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvYXJkLWZvcm0tZmllbGQtZnJhbWU+XHJcbiJdfQ==
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvaW5wdXRzL2hleC1pbnB1dC9oZXgtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaGV4LWlucHV0L2hleC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUVaLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJMUUsT0FBTyxFQUFFLHNCQUFzQixFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFDTCx1Q0FBdUMsRUFDdkMsa0NBQWtDLEVBQ2xDLGtDQUFrQyxHQUNuQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQXFCLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBZ0JyRSxNQUFNLE9BQU8sdUJBQ1gsU0FBUSxxQkFBcUI7SUFJN0IsWUFBNEMsUUFBNkI7UUFDdkUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWxCLGNBQWM7UUFDTCxnQkFBVyxHQUFHLFNBQVMsQ0FBK0IsV0FBVyxDQUFDLENBQUM7UUFFekQsZUFBVSxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFD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Q0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDOzhHQXhLVSx1QkFBdUIsa0JBS2Qsc0JBQXNCO2tHQUwvQix1QkFBdUIsZ3NEQVJ2QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7Z0JBQ3RELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixzRUE0QnNDLGtDQUFrQyxpR0FDbEMsa0NBQWtDLHNHQUs3Qix1Q0FBdUMsaU5DM0VyRiw4K0NBcURBOzsyRkRWYSx1QkFBdUI7a0JBZG5DLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs7MEJBT1ksTUFBTTsyQkFBQyxzQkFBc0I7eUNBaUZ0QyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgb3V0cHV0LFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYXJkaXVtLXVpL2RldmtpdCc7XG5pbXBvcnQgeyBfTmdNb2RlbENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi9faW50ZXJuYWwvbmdtb2RlbC1jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnRBcHBlYXJhbmNlLCBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLi8uLi90eXBlcy90aGVtaW5nLnR5cGVzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XG5pbXBvcnQgeyBDYXNlVHJhbnNmb3JtZXJUeXBlIH0gZnJvbSAnLi4vaW5wdXQtdHlwZXMnO1xuaW1wb3J0IHsgQVJEX0hFWF9JTlBVVF9ERUZBVUxUUywgQXJkSGV4SW5wdXREZWZhdWx0cyB9IGZyb20gJy4vaGV4LWlucHV0LmRlZmF1bHRzJztcbmltcG9ydCB7XG4gIEFyZEhleElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkSGV4SW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkSGV4SW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi9oZXgtaW5wdXQuZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBIZXhJbnB1dE1vZGVsLCBIZXhJbnB1dE1vZGVsSG9zdCB9IGZyb20gJy4vaGV4LWlucHV0Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLWhleC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZXgtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZXgtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtSGV4SW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtSGV4SW5wdXRDb21wb25lbnRcbiAgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgSGV4SW5wdXRNb2RlbEhvc3QsIEFmdGVyVmlld0luaXRcbntcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZEhleElucHV0RGVmYXVsdHM7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX0hFWF9JTlBVVF9ERUZBVUxUUykgZGVmYXVsdHM6IEFyZEhleElucHV0RGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG4gIH1cbiAgLy8hIGlucHV0IHZpZXdcbiAgcmVhZG9ubHkgdGV4dElucHV0RWwgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50Pj4oJ3RleHRJbnB1dCcpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dE1vZGVsID0gbmV3IEhleElucHV0TW9kZWwodGhpcyk7XG4gIHByb3RlY3RlZCBfd2FzVmlld0luaXQgPSBmYWxzZTtcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3dhc1ZpZXdJbml0ID0gdHJ1ZTtcbiAgICB0aGlzLl9zZXRJbnB1dEF0dHJpYnV0ZXMoKTtcbiAgICAvL3NldCB0aGUgdmFsdWVcbiAgICBpZiAodGhpcy5fdmFsdWVCZWZvcmVJbml0KSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5fdmFsdWVCZWZvcmVJbml0KTtcbiAgICAgIGRlbGV0ZSB0aGlzLl92YWx1ZUJlZm9yZUluaXQ7XG4gICAgfVxuICB9XG5cbiAgcmVhZG9ubHkgaW5wdXRJZCA9IGlucHV0PE51bGxhYmxlPHN0cmluZz4+KCk7XG5cbiAgLy8hIHByZWZpeCAmIHN1ZmZpeFxuICByZWFkb25seSBwcmVmaXhUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRIZXhJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlKTtcbiAgcmVhZG9ubHkgc3VmZml4VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkSGV4SW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XG5cbiAgLy8hIHBsYWNlaG9sZGVyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyID0gaW5wdXQ8TnVsbGFibGU8c3RyaW5nPj4odGhpcy5fREVGQVVMVFMucGxhY2Vob2xkZXIpO1xuXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkSGV4SW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlKTtcblxuICByZWFkb25seSBzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIgPSBjb21wdXRlZCgoKTogYm9vbGVhbiA9PiBCb29sZWFuKHRoaXMucGxhY2Vob2xkZXIoKSkgJiYgIXRoaXMuaW5wdXRNb2RlbC5zdHJpbmdWYWx1ZSgpKTtcblxuICAvLyEgYXBwZWFyYW5jZVxuICAvL2FsbCBoYW5kbGVkIGluIGFyZC1mb3JtLWZpZWxkLWZyYW1lIGNvbXBvbmVudFxuICByZWFkb25seSBhcHBlYXJhbmNlID0gaW5wdXQ8Rm9ybUVsZW1lbnRBcHBlYXJhbmNlPih0aGlzLl9ERUZBVUxUUy5hcHBlYXJhbmNlKTtcbiAgcmVhZG9ubHkgdmFyaWFudCA9IGlucHV0PEZvcm1FbGVtZW50VmFyaWFudD4odGhpcy5fREVGQVVMVFMudmFyaWFudCk7XG5cbiAgcmVhZG9ubHkgY29tcGFjdCA9IGlucHV0PGJvb2xlYW4sIGFueT4odGhpcy5fREVGQVVMVFMuY29tcGFjdCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xuXG4gIC8vISBzZXR0aW5nc1xuICByZWFkb25seSBjYXNlID0gaW5wdXQ8Q2FzZVRyYW5zZm9ybWVyVHlwZT4odGhpcy5fREVGQVVMVFMuY2FzZSk7XG5cbiAgcmVhZG9ubHkgbWF4RGlnaXRzID0gaW5wdXQ8TnVsbGFibGU8bnVtYmVyPiwgYW55Pih0aGlzLl9ERUZBVUxUUy5tYXhEaWdpdHMsIHtcbiAgICB0cmFuc2Zvcm06IHYgPT4gY29lcmNlTnVtYmVyUHJvcGVydHkodiwgdGhpcy5fREVGQVVMVFMubWF4RGlnaXRzKSxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgaGlkZUhhc2ggPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmhpZGVIYXNoLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG4gIHJlYWRvbmx5IHNob3dIYXNoID0gY29tcHV0ZWQoKCkgPT4gIXRoaXMuaGlkZUhhc2goKSk7XG5cbiAgLy8hIGNsZWFyIGJ1dHRvblxuICByZWFkb25seSBjbGVhcmFibGUgPSBpbnB1dDxib29sZWFuLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmNsZWFyYWJsZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xuXG4gIHJlYWRvbmx5IGNsZWFyQnV0dG9uVGl0bGUgPSBpbnB1dDxzdHJpbmc+KHRoaXMuX0RFRkFVTFRTLmNsZWFyQnV0dG9uVGl0bGUpO1xuXG4gIHJlYWRvbmx5IHNob3VsZFNob3dDbGVhckJ1dHRvbiA9IGNvbXB1dGVkPGJvb2xlYW4+KFxuICAgICgpID0+IHRoaXMuY2xlYXJhYmxlKCkgJiYgIXRoaXMuZGlzYWJsZWQoKSAmJiBCb29sZWFuKHRoaXMuaW5wdXRNb2RlbD8udmFsdWUoKSlcbiAgKTtcblxuICBvbkNsZWFyQnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmlucHV0TW9kZWwuY2xlYXIoKTtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gICAgdGhpcy5fZW1pdElucHV0KCk7XG4gICAgdGhpcy5jbGVhckV2ZW50LmVtaXQoKTtcbiAgICB0aGlzLmZvY3VzKCk7XG4gIH1cblxuICAvLyEgb3RoZXIgaW5wdXRzXG4gIHJlYWRvbmx5IGlucHV0QXR0cnMgPSBpbnB1dDxSZWNvcmQ8c3RyaW5nLCBhbnk+Pih7fSk7XG5cbiAgLy8hIGNvbnRyb2wgdmFsdWUgYWNjZXNzb3IncyB3cml0ZSB2YWx1ZSBpbXBsZW1lbnRhdGlvblxuICB3cml0ZVZhbHVlKHY6IGFueSkge1xuICAgIGlmICghdGhpcy5fd2FzVmlld0luaXQpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQmVmb3JlSW5pdCA9IHY7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW5wdXRNb2RlbC53cml0ZVZhbHVlKHYpO1xuICB9XG5cbiAgLy8hIHZhbHVlIHR3by13YXkgYmluZGluZ1xuICBwcm90ZWN0ZWQgX3ZhbHVlQmVmb3JlSW5pdD86IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodjogc3RyaW5nIHwgbnVsbCkge1xuICAgIGlmICghdGhpcy5fd2FzVmlld0luaXQpIHtcbiAgICAgIHRoaXMuX3ZhbHVlQmVmb3JlSW5pdCA9IHY7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMud3JpdGVWYWx1ZSh2KTtcbiAgfVxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRNb2RlbD8uaGFzaFNpZ25WYWx1ZSgpO1xuICB9XG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PHN0cmluZz4oKTtcblxuICAvLyEgZXZlbnQgZW1pdHRlcnNcbiAgcmVhZG9ubHkgaW5wdXRFdmVudCA9IG91dHB1dDxzdHJpbmc+KHsgYWxpYXM6ICdpbnB1dCcgfSk7XG4gIHJlYWRvbmx5IGNoYW5nZUV2ZW50ID0gb3V0cHV0PHN0cmluZz4oeyBhbGlhczogJ2NoYW5nZScgfSk7XG4gIHJlYWRvbmx5IGNsZWFyRXZlbnQgPSBvdXRwdXQ8dm9pZD4oeyBhbGlhczogJ2NsZWFyJyB9KTtcblxuICAvLyEgZXZlbnQgaGFuZGxlcnNcbiAgb25JbnB1dChuZXdWYWw6IHN0cmluZywgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgdmFsdWVIYXNDaGFuZ2VkID0gdGhpcy5pbnB1dE1vZGVsLndyaXRlVmFsdWUobmV3VmFsKTtcbiAgICBpZiAoIXZhbHVlSGFzQ2hhbmdlZCkgcmV0dXJuO1xuICAgIHRoaXMuX2VtaXRJbnB1dCgpO1xuICB9XG4gIHByb3RlY3RlZCBfZW1pdElucHV0KCk6IHZvaWQge1xuICAgIGNvbnN0IHYgPSB0aGlzLmlucHV0TW9kZWwuaGFzaFNpZ25WYWx1ZSgpO1xuICAgIHRoaXMuaW5wdXRFdmVudC5lbWl0KHYpO1xuICAgIHRoaXMuX29uQ2hhbmdlUmVnaXN0ZXJlZD8uKHYpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuICBwcm90ZWN0ZWQgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgdiA9IHRoaXMuaW5wdXRNb2RlbC5oYXNoU2lnblZhbHVlKCk7XG4gICAgdGhpcy5jaGFuZ2VFdmVudC5lbWl0KHYpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgc3VwZXIub25CbHVyKGV2ZW50KTtcbiAgICB0aGlzLl9lbWl0Q2hhbmdlKCk7XG4gIH1cblxuICAvL3NtYXJ0IGZvY3VzXG4gIG9uTW91c2V1cCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgaWYgKHNlbGVjdGlvbiAmJiBzZWxlY3Rpb24udHlwZSA9PT0gJ1JhbmdlJykgcmV0dXJuO1xuXG4gICAgdGhpcy5mb2N1cygpO1xuICB9XG5cbiAgb25Db3B5KGV2ZW50OiBDbGlwYm9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMudmFsdWUgJiZcbiAgICAgIC8vZG9lcyB0aGUgc2VsZWN0aW9uIGNvdmVyIHRoZSBlbnRpcmUgaW5wdXRcbiAgICAgICgodGhpcy50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID09PSAwICYmXG4gICAgICAgIHRoaXMudGV4dElucHV0RWwoKT8ubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQgPT09IHRoaXMudGV4dElucHV0RWwoKT8ubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGgpIHx8XG4gICAgICAgIC8vb3IgaXMgemVyby13aWRlXG4gICAgICAgIHRoaXMudGV4dElucHV0RWwoKT8ubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCA9PT0gdGhpcy50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZClcbiAgICApIHtcbiAgICAgIGV2ZW50LmNsaXBib2FyZERhdGE/LnNldERhdGEoJ3RleHQvcGxhaW4nLCB0aGlzLnZhbHVlKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgLy8hIGhlbHBlcnNcbiAgcHJvdGVjdGVkIF9zZXRJbnB1dEF0dHJpYnV0ZXMoKSB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLnRleHRJbnB1dEVsKCkhLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgYXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIGF1dG9jb3JyZWN0OiAnb2ZmJyxcbiAgICAgIGF1dG9jYXBpdGFsaXplOiAnb2ZmJyxcbiAgICAgIGF1dG9jb21wbGV0ZTogJ29mZicsXG4gICAgICB0YWJpbmRleDogU3RyaW5nKHRoaXMudGFiSW5kZXgpLFxuICAgICAgLi4udGhpcy5pbnB1dEF0dHJzLFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKSkge1xuICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKGtleSwgU3RyaW5nKGF0dHJpYnV0ZXNba2V5XSkpO1xuICAgIH1cbiAgfVxufVxuIiwiPGFyZC1mb3JtLWZpZWxkLWZyYW1lXG4gIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gIFt2YXJpYW50XT1cInZhcmlhbnQoKVwiXG4gIFtjb21wYWN0XT1cImNvbXBhY3QoKVwiXG4gIFtpc0ZvY3VzZWRdPVwiaXNGb2N1c2VkXCJcbiAgW3ByZWZpeFRlbXBsYXRlXT1cInByZWZpeFRlbXBsYXRlKCk/LnRlbXBsYXRlXCJcbiAgW3N1ZmZpeFRlbXBsYXRlXT1cInN1ZmZpeFRlbXBsYXRlKCk/LnRlbXBsYXRlXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYXJkLWhleC1pbnB1dFwiXG4gICAgW2NsYXNzLmFyZC1oYXMtdmFsdWVdPVwidmFsdWVcIlxuICAgIChtb3VzZXVwKT1cIm9uTW91c2V1cCgpXCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYXJkLWhhc2gtY29udGFpbmVyXCJcbiAgICAgICpuZ0lmPVwic2hvd0hhc2hcIlxuICAgID5cbiAgICAgICNcbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYXJkLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgQGlmIChzaG91bGREaXNwbGF5UGxhY2Vob2xkZXIoKSkge1xuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRQbGFjZWhvbGRlclRlbXBsYXRlPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlcigpIH19PC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBsYWNlaG9sZGVyVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgfVxuXG4gICAgICA8aW5wdXRcbiAgICAgICAgI3RleHRJbnB1dFxuICAgICAgICAjZm9jdXNhYmxlRWxlbWVudFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFthdHRyLmlkXT1cImlucHV0SWQoKVwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4KClcIlxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQodGV4dElucHV0LnZhbHVlLCAkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNldXApPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgKGNvcHkpPVwib25Db3B5KCRldmVudClcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoc2hvdWxkU2hvd0NsZWFyQnV0dG9uKCkpIHtcbiAgICAgIDxhcmQtY2xlYXItYnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCJjbGVhckJ1dHRvblRpdGxlKClcIlxuICAgICAgICAoY2xpY2spPVwib25DbGVhckJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgLz5cbiAgICB9XG4gIDwvZGl2PlxuPC9hcmQtZm9ybS1maWVsZC1mcmFtZT5cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { _ngModelComponentDefaults } from '../../_internal/ngmodel-component';
3
+ import { CaseTransformerType } from '../input-types';
4
+ import { FormElementAppearance, FormElementVariant } from './../../types/theming.types';
5
+ const _hexInputDefaults = {
6
+ ..._ngModelComponentDefaults,
7
+ appearance: FormElementAppearance.Outlined,
8
+ variant: FormElementVariant.Rounded,
9
+ compact: false,
10
+ placeholder: '',
11
+ case: CaseTransformerType.NoChange,
12
+ maxDigits: undefined,
13
+ hideHash: false,
14
+ clearable: false,
15
+ clearButtonTitle: 'Clear',
16
+ inputAttrs: {},
17
+ };
18
+ export const ARD_HEX_INPUT_DEFAULTS = new InjectionToken('ard-hex-input-defaults', {
19
+ factory: () => ({
20
+ ..._hexInputDefaults,
21
+ }),
22
+ });
23
+ export function provideHexInputDefaults(config) {
24
+ return { provide: ARD_HEX_INPUT_DEFAULTS, useValue: { ..._hexInputDefaults, ...config } };
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LWlucHV0LmRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaGV4LWlucHV0L2hleC1pbnB1dC5kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBNkIseUJBQXlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQWV4RixNQUFNLGlCQUFpQixHQUF3QjtJQUM3QyxHQUFHLHlCQUF5QjtJQUM1QixVQUFVLEVBQUUscUJBQXFCLENBQUMsUUFBUTtJQUMxQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsT0FBTztJQUNuQyxPQUFPLEVBQUUsS0FBSztJQUNkLFdBQVcsRUFBRSxFQUFFO0lBQ2YsSUFBSSxFQUFFLG1CQUFtQixDQUFDLFFBQVE7SUFDbEMsU0FBUyxFQUFFLFNBQVM7SUFDcEIsUUFBUSxFQUFFLEtBQUs7SUFDZixTQUFTLEVBQUUsS0FBSztJQUNoQixnQkFBZ0IsRUFBRSxPQUFPO0lBQ3pCLFVBQVUsRUFBRSxFQUFFO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFzQix3QkFBd0IsRUFBRTtJQUN0RyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNkLEdBQUcsaUJBQWlCO0tBQ3JCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBb0M7SUFDMUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLGlCQUFpQixFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQztBQUM1RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzLCBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi4vLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XG5pbXBvcnQgeyBDYXNlVHJhbnNmb3JtZXJUeXBlIH0gZnJvbSAnLi4vaW5wdXQtdHlwZXMnO1xuaW1wb3J0IHsgRm9ybUVsZW1lbnRBcHBlYXJhbmNlLCBGb3JtRWxlbWVudFZhcmlhbnQgfSBmcm9tICcuLy4uLy4uL3R5cGVzL3RoZW1pbmcudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyZEhleElucHV0RGVmYXVsdHMgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIHtcbiAgYXBwZWFyYW5jZTogRm9ybUVsZW1lbnRBcHBlYXJhbmNlO1xuICB2YXJpYW50OiBGb3JtRWxlbWVudFZhcmlhbnQ7XG4gIGNvbXBhY3Q6IGJvb2xlYW47XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIGNhc2U6IENhc2VUcmFuc2Zvcm1lclR5cGU7XG4gIG1heERpZ2l0czogTnVsbGFibGU8bnVtYmVyPjtcbiAgaGlkZUhhc2g6IGJvb2xlYW47XG4gIGNsZWFyYWJsZTogYm9vbGVhbjtcbiAgY2xlYXJCdXR0b25UaXRsZTogc3RyaW5nO1xuICBpbnB1dEF0dHJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG5jb25zdCBfaGV4SW5wdXREZWZhdWx0czogQXJkSGV4SW5wdXREZWZhdWx0cyA9IHtcbiAgLi4uX25nTW9kZWxDb21wb25lbnREZWZhdWx0cyxcbiAgYXBwZWFyYW5jZTogRm9ybUVsZW1lbnRBcHBlYXJhbmNlLk91dGxpbmVkLFxuICB2YXJpYW50OiBGb3JtRWxlbWVudFZhcmlhbnQuUm91bmRlZCxcbiAgY29tcGFjdDogZmFsc2UsXG4gIHBsYWNlaG9sZGVyOiAnJyxcbiAgY2FzZTogQ2FzZVRyYW5zZm9ybWVyVHlwZS5Ob0NoYW5nZSxcbiAgbWF4RGlnaXRzOiB1bmRlZmluZWQsXG4gIGhpZGVIYXNoOiBmYWxzZSxcbiAgY2xlYXJhYmxlOiBmYWxzZSxcbiAgY2xlYXJCdXR0b25UaXRsZTogJ0NsZWFyJyxcbiAgaW5wdXRBdHRyczoge30sXG59O1xuXG5leHBvcnQgY29uc3QgQVJEX0hFWF9JTlBVVF9ERUZBVUxUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBcmRIZXhJbnB1dERlZmF1bHRzPignYXJkLWhleC1pbnB1dC1kZWZhdWx0cycsIHtcbiAgZmFjdG9yeTogKCkgPT4gKHtcbiAgICAuLi5faGV4SW5wdXREZWZhdWx0cyxcbiAgfSksXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVIZXhJbnB1dERlZmF1bHRzKGNvbmZpZzogUGFydGlhbDxBcmRIZXhJbnB1dERlZmF1bHRzPik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHsgcHJvdmlkZTogQVJEX0hFWF9JTlBVVF9ERUZBVUxUUywgdXNlVmFsdWU6IHsgLi4uX2hleElucHV0RGVmYXVsdHMsIC4uLmNvbmZpZyB9IH07XG59XG4iXX0=
@@ -0,0 +1,97 @@
1
+ import { computed, signal } from '@angular/core';
2
+ import { isAnyString, isDefined, isNull } from 'simple-bool';
3
+ import { RegExpTransformer } from '../input-transformers';
4
+ import { CaseTransformerType } from '../input-types';
5
+ export class HexInputModel {
6
+ constructor(_hostComp) {
7
+ this._hostComp = _hostComp;
8
+ //! value setters/getters
9
+ this.value = signal(null);
10
+ this.stringValue = computed(() => this.value() ?? '');
11
+ //value with the hash sign
12
+ this.hashSignValue = computed(() => '#' + this.stringValue());
13
+ //! constraints
14
+ this._charactersRegexTransformer = new RegExpTransformer(/[^0-9a-f]/i, '');
15
+ }
16
+ //! write value handlers
17
+ writeValue(v) {
18
+ if (!isAnyString(v) && !isNull(v)) {
19
+ //warn when using non-string/non-null value
20
+ console.warn(new Error(`ARD-WA0160: Trying to set <ard-hex-input>'s value to "${v}" (of type ${typeof v}), expected string or null.`));
21
+ //normalize the value
22
+ v = v?.toString?.() ?? String(v);
23
+ }
24
+ //normalize the value
25
+ v = v ?? '';
26
+ if (typeof v === 'string')
27
+ v = v.replace('#', '');
28
+ return this._writeValue(v);
29
+ }
30
+ _writeValue(v) {
31
+ const oldVal = this.value();
32
+ //constraints
33
+ if (v) {
34
+ v = this._applyCharactersConstraint(v);
35
+ v = this._applyDigitsConstraint(v, oldVal ?? '');
36
+ v = this._applyCaseTransformer(v);
37
+ }
38
+ //update view
39
+ this.value.set(v);
40
+ this._updateInputElement();
41
+ return oldVal !== v;
42
+ }
43
+ clear() {
44
+ this._writeValue(null);
45
+ }
46
+ rewriteValueAfterHostUpdate() {
47
+ this._writeValue(this.value());
48
+ }
49
+ //! input element methods
50
+ _updateInputElement() {
51
+ const el = this._hostComp.textInputEl()?.nativeElement;
52
+ if (!el)
53
+ return;
54
+ const caretPos = this.caretPos;
55
+ el.value = this.stringValue();
56
+ this.caretPos = caretPos;
57
+ }
58
+ get caretPos() {
59
+ return this._hostComp.textInputEl()?.nativeElement.selectionEnd ?? this.stringValue().length;
60
+ }
61
+ set caretPos(pos) {
62
+ this._hostComp.textInputEl()?.nativeElement.setSelectionRange(pos, pos);
63
+ }
64
+ _applyCharactersConstraint(v) {
65
+ const { text, caretPos } = this._charactersRegexTransformer.apply(v, '', this.caretPos);
66
+ this.caretPos = caretPos;
67
+ return text;
68
+ }
69
+ _applyDigitsConstraint(v, prev) {
70
+ const maxLength = this._hostComp.maxDigits();
71
+ if (!isDefined(maxLength))
72
+ return v;
73
+ if (v.length <= maxLength)
74
+ return v;
75
+ if (v.length < prev.length)
76
+ return v;
77
+ let firstChangeIndex = 0;
78
+ while (firstChangeIndex < v.length &&
79
+ (!prev.charAt(firstChangeIndex) || v.charAt(firstChangeIndex) === prev.charAt(firstChangeIndex)) &&
80
+ firstChangeIndex <= maxLength) {
81
+ firstChangeIndex++;
82
+ }
83
+ if (firstChangeIndex > maxLength)
84
+ return v.substring(0, maxLength);
85
+ const overflow = v.length - maxLength;
86
+ this.caretPos -= overflow;
87
+ return v.substring(0, firstChangeIndex) + v.substring(firstChangeIndex + overflow);
88
+ }
89
+ _applyCaseTransformer(v) {
90
+ if (this._hostComp.case() === CaseTransformerType.Uppercase)
91
+ return v.toUpperCase();
92
+ if (this._hostComp.case() === CaseTransformerType.Lowercase)
93
+ return v.toLowerCase();
94
+ return v;
95
+ }
96
+ }
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LWlucHV0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaGV4LWlucHV0L2hleC1pbnB1dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3JELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQStCLFNBQTRCO1FBQTVCLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBRTNELHlCQUF5QjtRQUNoQixVQUFLLEdBQUcsTUFBTSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUNwQyxnQkFBVyxHQUFHLFFBQVEsQ0FBUyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEUsMEJBQTBCO1FBQ2pCLGtCQUFhLEdBQUcsUUFBUSxDQUFTLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQXFEMUUsZUFBZTtRQUNQLGdDQUEyQixHQUFHLElBQUksaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBNURoQixDQUFDO0lBUS9ELHdCQUF3QjtJQUN4QixVQUFVLENBQUMsQ0FBTTtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsQywyQ0FBMkM7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FDVixJ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QUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIFNpZ25hbCwgY29tcHV0ZWQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNBbnlTdHJpbmcsIGlzRGVmaW5lZCwgaXNOdWxsIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi8uLi90eXBlcy91dGlsaXR5LnR5cGVzJztcbmltcG9ydCB7IFJlZ0V4cFRyYW5zZm9ybWVyIH0gZnJvbSAnLi4vaW5wdXQtdHJhbnNmb3JtZXJzJztcbmltcG9ydCB7IENhc2VUcmFuc2Zvcm1lclR5cGUgfSBmcm9tICcuLi9pbnB1dC10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGV4SW5wdXRNb2RlbEhvc3Qge1xuICByZWFkb25seSBjYXNlOiBTaWduYWw8Q2FzZVRyYW5zZm9ybWVyVHlwZT47XG4gIHJlYWRvbmx5IG1heERpZ2l0czogU2lnbmFsPE51bGxhYmxlPG51bWJlcj4+O1xuICByZWFkb25seSB0ZXh0SW5wdXRFbDogU2lnbmFsPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4gfCB1bmRlZmluZWQ+O1xufVxuZXhwb3J0IGNsYXNzIEhleElucHV0TW9kZWwge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgX2hvc3RDb21wOiBIZXhJbnB1dE1vZGVsSG9zdCkge31cblxuICAvLyEgdmFsdWUgc2V0dGVycy9nZXR0ZXJzXG4gIHJlYWRvbmx5IHZhbHVlID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBzdHJpbmdWYWx1ZSA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4gdGhpcy52YWx1ZSgpID8/ICcnKTtcbiAgLy92YWx1ZSB3aXRoIHRoZSBoYXNoIHNpZ25cbiAgcmVhZG9ubHkgaGFzaFNpZ25WYWx1ZSA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4gJyMnICsgdGhpcy5zdHJpbmdWYWx1ZSgpKTtcblxuICAvLyEgd3JpdGUgdmFsdWUgaGFuZGxlcnNcbiAgd3JpdGVWYWx1ZSh2OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoIWlzQW55U3RyaW5nKHYpICYmICFpc051bGwodikpIHtcbiAgICAgIC8vd2FybiB3aGVuIHVzaW5nIG5vbi1zdHJpbmcvbm9uLW51bGwgdmFsdWVcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgbmV3IEVycm9yKGBBUkQtV0EwMTYwOiBUcnlpbmcgdG8gc2V0IDxhcmQtaGV4LWlucHV0PidzIHZhbHVlIHRvIFwiJHt2fVwiIChvZiB0eXBlICR7dHlwZW9mIHZ9KSwgZXhwZWN0ZWQgc3RyaW5nIG9yIG51bGwuYClcbiAgICAgICk7XG4gICAgICAvL25vcm1hbGl6ZSB0aGUgdmFsdWVcbiAgICAgIHYgPSB2Py50b1N0cmluZz8uKCkgPz8gU3RyaW5nKHYpO1xuICAgIH1cbiAgICAvL25vcm1hbGl6ZSB0aGUgdmFsdWVcbiAgICB2ID0gdiA/PyAnJztcbiAgICBpZiAodHlwZW9mIHYgPT09ICdzdHJpbmcnKSB2ID0gdi5yZXBsYWNlKCcjJywgJycpO1xuXG4gICAgcmV0dXJuIHRoaXMuX3dyaXRlVmFsdWUodik7XG4gIH1cbiAgcHJvdGVjdGVkIF93cml0ZVZhbHVlKHY6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgICBjb25zdCBvbGRWYWwgPSB0aGlzLnZhbHVlKCk7XG4gICAgLy9jb25zdHJhaW50c1xuICAgIGlmICh2KSB7XG4gICAgICB2ID0gdGhpcy5fYXBwbHlDaGFyYWN0ZXJzQ29uc3RyYWludCh2KTtcbiAgICAgIHYgPSB0aGlzLl9hcHBseURpZ2l0c0NvbnN0cmFpbnQodiwgb2xkVmFsID8/ICcnKTtcbiAgICAgIHYgPSB0aGlzLl9hcHBseUNhc2VUcmFuc2Zvcm1lcih2KTtcbiAgICB9XG4gICAgLy91cGRhdGUgdmlld1xuICAgIHRoaXMudmFsdWUuc2V0KHYpO1xuICAgIHRoaXMuX3VwZGF0ZUlucHV0RWxlbWVudCgpO1xuICAgIHJldHVybiBvbGRWYWwgIT09IHY7XG4gIH1cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5fd3JpdGVWYWx1ZShudWxsKTtcbiAgfVxuICByZXdyaXRlVmFsdWVBZnRlckhvc3RVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fd3JpdGVWYWx1ZSh0aGlzLnZhbHVlKCkpO1xuICB9XG5cbiAgLy8hIGlucHV0IGVsZW1lbnQgbWV0aG9kc1xuICBfdXBkYXRlSW5wdXRFbGVtZW50KCkge1xuICAgIGNvbnN0IGVsID0gdGhpcy5faG9zdENvbXAudGV4dElucHV0RWwoKT8ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoIWVsKSByZXR1cm47XG4gICAgY29uc3QgY2FyZXRQb3MgPSB0aGlzLmNhcmV0UG9zO1xuICAgIGVsLnZhbHVlID0gdGhpcy5zdHJpbmdWYWx1ZSgpO1xuICAgIHRoaXMuY2FyZXRQb3MgPSBjYXJldFBvcztcbiAgfVxuICBnZXQgY2FyZXRQb3MoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faG9zdENvbXAudGV4dElucHV0RWwoKT8ubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25FbmQgPz8gdGhpcy5zdHJpbmdWYWx1ZSgpLmxlbmd0aDtcbiAgfVxuICBzZXQgY2FyZXRQb3MocG9zOiBudW1iZXIpIHtcbiAgICB0aGlzLl9ob3N0Q29tcC50ZXh0SW5wdXRFbCgpPy5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcbiAgfVxuXG4gIC8vISBjb25zdHJhaW50c1xuICBwcml2YXRlIF9jaGFyYWN0ZXJzUmVnZXhUcmFuc2Zvcm1lciA9IG5ldyBSZWdFeHBUcmFuc2Zvcm1lcigvW14wLTlhLWZdL2ksICcnKTtcbiAgcHJpdmF0ZSBfYXBwbHlDaGFyYWN0ZXJzQ29uc3RyYWludCh2OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgdGV4dCwgY2FyZXRQb3MgfSA9IHRoaXMuX2NoYXJhY3RlcnNSZWdleFRyYW5zZm9ybWVyLmFwcGx5KHYsICcnLCB0aGlzLmNhcmV0UG9zKTtcbiAgICB0aGlzLmNhcmV0UG9zID0gY2FyZXRQb3M7XG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cbiAgcHJpdmF0ZSBfYXBwbHlEaWdpdHNDb25zdHJhaW50KHY6IHN0cmluZywgcHJldjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLl9ob3N0Q29tcC5tYXhEaWdpdHMoKTtcbiAgICBpZiAoIWlzRGVmaW5lZChtYXhMZW5ndGgpKSByZXR1cm4gdjtcbiAgICBpZiAodi5sZW5ndGggPD0gbWF4TGVuZ3RoKSByZXR1cm4gdjtcbiAgICBpZiAodi5sZW5ndGggPCBwcmV2Lmxlbmd0aCkgcmV0dXJuIHY7XG5cbiAgICBsZXQgZmlyc3RDaGFuZ2VJbmRleCA9IDA7XG4gICAgd2hpbGUgKFxuICAgICAgZmlyc3RDaGFuZ2VJbmRleCA8IHYubGVuZ3RoICYmXG4gICAgICAoIXByZXYuY2hhckF0KGZpcnN0Q2hhbmdlSW5kZXgpIHx8IHYuY2hhckF0KGZpcnN0Q2hhbmdlSW5kZXgpID09PSBwcmV2LmNoYXJBdChmaXJzdENoYW5nZUluZGV4KSkgJiZcbiAgICAgIGZpcnN0Q2hhbmdlSW5kZXggPD0gbWF4TGVuZ3RoXG4gICAgKSB7XG4gICAgICBmaXJzdENoYW5nZUluZGV4Kys7XG4gICAgfVxuICAgIGlmIChmaXJzdENoYW5nZUluZGV4ID4gbWF4TGVuZ3RoKSByZXR1cm4gdi5zdWJzdHJpbmcoMCwgbWF4TGVuZ3RoKTtcblxuICAgIGNvbnN0IG92ZXJmbG93ID0gdi5sZW5ndGggLSBtYXhMZW5ndGg7XG4gICAgdGhpcy5jYXJldFBvcyAtPSBvdmVyZmxvdztcbiAgICByZXR1cm4gdi5zdWJzdHJpbmcoMCwgZmlyc3RDaGFuZ2VJbmRleCkgKyB2LnN1YnN0cmluZyhmaXJzdENoYW5nZUluZGV4ICsgb3ZlcmZsb3cpO1xuICB9XG4gIHByaXZhdGUgX2FwcGx5Q2FzZVRyYW5zZm9ybWVyKHY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuX2hvc3RDb21wLmNhc2UoKSA9PT0gQ2FzZVRyYW5zZm9ybWVyVHlwZS5VcHBlcmNhc2UpIHJldHVybiB2LnRvVXBwZXJDYXNlKCk7XG4gICAgaWYgKHRoaXMuX2hvc3RDb21wLmNhc2UoKSA9PT0gQ2FzZVRyYW5zZm9ybWVyVHlwZS5Mb3dlcmNhc2UpIHJldHVybiB2LnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHY7XG4gIH1cbn1cbiJdfQ==
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
34
34
  ],
35
35
  }]
36
36
  }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvaW5wdXRzL2hleC1pbnB1dC9oZXgtaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCx1Q0FBdUMsRUFDdkMsa0NBQWtDLEVBQ2xDLGtDQUFrQyxHQUNuQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQWlCNUYsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0IsaUJBYjdCLHVCQUF1QjtZQUN2Qix1Q0FBdUM7WUFDdkMsa0NBQWtDO1lBQ2xDLGtDQUFrQyxhQUUxQixZQUFZLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLGFBRXBFLHVCQUF1QjtZQUN2Qix1Q0FBdUM7WUFDdkMsa0NBQWtDO1lBQ2xDLGtDQUFrQzsrR0FHekIsb0JBQW9CLFlBUnJCLFlBQVksRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0I7OzJGQVEzRCxvQkFBb0I7a0JBZmhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHVCQUF1Qjt3QkFDdkIsdUNBQXVDO3dCQUN2QyxrQ0FBa0M7d0JBQ2xDLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixDQUFDO29CQUN2RSxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2Qix1Q0FBdUM7d0JBQ3ZDLGtDQUFrQzt3QkFDbEMsa0NBQWtDO3FCQUNuQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFyZGl1bUhleElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9oZXgtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBBcmRIZXhJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgQXJkSGV4SW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICBBcmRIZXhJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxyXG59IGZyb20gJy4vaGV4LWlucHV0LmRpcmVjdGl2ZXMnO1xyXG5pbXBvcnQgeyBfQ2xlYXJCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi8uLi9faW50ZXJuYWwvY2xlYXItYnV0dG9uL2NsZWFyLWJ1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBcmRpdW1Gb3JtRmllbGRGcmFtZU1vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFyZGl1bUhleElucHV0Q29tcG9uZW50LFxyXG4gICAgQXJkSGV4SW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgQXJkSGV4SW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICAgIEFyZEhleElucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBcmRpdW1Gb3JtRmllbGRGcmFtZU1vZHVsZSwgX0NsZWFyQnV0dG9uTW9kdWxlXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBcmRpdW1IZXhJbnB1dENvbXBvbmVudCxcclxuICAgIEFyZEhleElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICAgIEFyZEhleElucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBBcmRIZXhJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcmRpdW1IZXhJbnB1dE1vZHVsZSB7fVxyXG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvaW5wdXRzL2hleC1pbnB1dC9oZXgtaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCx1Q0FBdUMsRUFDdkMsa0NBQWtDLEVBQ2xDLGtDQUFrQyxHQUNuQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQWlCNUYsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0IsaUJBYjdCLHVCQUF1QjtZQUN2Qix1Q0FBdUM7WUFDdkMsa0NBQWtDO1lBQ2xDLGtDQUFrQyxhQUUxQixZQUFZLEVBQUUsMEJBQTBCLEVBQUUsa0JBQWtCLGFBRXBFLHVCQUF1QjtZQUN2Qix1Q0FBdUM7WUFDdkMsa0NBQWtDO1lBQ2xDLGtDQUFrQzsrR0FHekIsb0JBQW9CLFlBUnJCLFlBQVksRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0I7OzJGQVEzRCxvQkFBb0I7a0JBZmhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHVCQUF1Qjt3QkFDdkIsdUNBQXVDO3dCQUN2QyxrQ0FBa0M7d0JBQ2xDLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLDBCQUEwQixFQUFFLGtCQUFrQixDQUFDO29CQUN2RSxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2Qix1Q0FBdUM7d0JBQ3ZDLGtDQUFrQzt3QkFDbEMsa0NBQWtDO3FCQUNuQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXJkaXVtSGV4SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2hleC1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQXJkSGV4SW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRIZXhJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRIZXhJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxufSBmcm9tICcuL2hleC1pbnB1dC5kaXJlY3RpdmVzJztcbmltcG9ydCB7IF9DbGVhckJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uLy4uL19pbnRlcm5hbC9jbGVhci1idXR0b24vY2xlYXItYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBBcmRpdW1Gb3JtRmllbGRGcmFtZU1vZHVsZSB9IGZyb20gJy4uLy4uL2Zvcm0tZmllbGQtZnJhbWUvZm9ybS1maWVsZC1mcmFtZS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBcmRpdW1IZXhJbnB1dENvbXBvbmVudCxcbiAgICBBcmRIZXhJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgQXJkSGV4SW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRIZXhJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBBcmRpdW1Gb3JtRmllbGRGcmFtZU1vZHVsZSwgX0NsZWFyQnV0dG9uTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIEFyZGl1bUhleElucHV0Q29tcG9uZW50LFxuICAgIEFyZEhleElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBBcmRIZXhJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEFyZEhleElucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUhleElucHV0TW9kdWxlIHt9XG4iXX0=
@@ -1,4 +1,5 @@
1
- export * from './hex-input.module';
2
1
  export * from './hex-input.component';
2
+ export * from './hex-input.defaults';
3
3
  export * from './hex-input.directives';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9oZXgtaW5wdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hleC1pbnB1dC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2hleC1pbnB1dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2hleC1pbnB1dC5kaXJlY3RpdmVzJztcclxuIl19
4
+ export * from './hex-input.module';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9oZXgtaW5wdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGV4LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hleC1pbnB1dC5kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2hleC1pbnB1dC5kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vaGV4LWlucHV0Lm1vZHVsZSc7XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  export * from './input.module';
2
2
  export * from './input.component';
3
3
  export * from './input.directives';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5wdXQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2lucHV0LmRpcmVjdGl2ZXMnO1xyXG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5wdXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQuZGlyZWN0aXZlcyc7XG4iXX0=