@taiga-ui/kit 2.54.1 → 2.57.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 (1032) hide show
  1. package/bundles/taiga-ui-kit-abstract.umd.js +22 -22
  2. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  4. package/bundles/taiga-ui-kit-components-accordion.umd.js +13 -13
  5. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-action.umd.js +8 -8
  8. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-arrow.umd.js +5 -5
  11. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-avatar.umd.js +13 -13
  14. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-badge.umd.js +14 -14
  17. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-badged-content.umd.js +21 -21
  20. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +7 -7
  23. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  26. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +3 -3
  29. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-carousel.umd.js +18 -18
  32. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +8 -8
  35. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +4 -4
  38. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-checkbox.umd.js +3 -3
  41. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-combo-box.umd.js +9 -9
  44. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +4 -4
  47. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-field-error.umd.js +5 -5
  50. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-files.umd.js +20 -20
  53. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-filter.umd.js +3 -3
  56. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-input-copy.umd.js +8 -8
  59. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-count.umd.js +19 -19
  62. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +14 -14
  65. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +16 -16
  68. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-input-date.umd.js +10 -10
  71. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-file.umd.js +34 -34
  74. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-input-files.umd.js +26 -20
  77. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
  79. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-inline.umd.js +4 -4
  81. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +8 -9
  84. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  86. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-month.umd.js +5 -5
  88. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-number.umd.js +22 -22
  91. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-password.umd.js +9 -9
  94. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +230 -229
  97. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  99. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input-phone.umd.js +36 -36
  101. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-input-range.umd.js +16 -16
  104. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-input-slider.umd.js +37 -25
  107. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  109. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-input-tag.umd.js +24 -24
  111. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-input-time.umd.js +13 -13
  114. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-input.umd.js +5 -5
  117. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-island.umd.js +18 -18
  120. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-island.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +18 -12
  123. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  125. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +6 -6
  127. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +2 -2
  130. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-multi-select.umd.js +17 -17
  133. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  135. package/bundles/taiga-ui-kit-components-pagination.umd.js +7 -7
  136. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  138. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +10 -10
  139. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  140. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  141. package/bundles/taiga-ui-kit-components-progress.umd.js +26 -26
  142. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  143. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  144. package/bundles/taiga-ui-kit-components-radio-block.umd.js +9 -9
  145. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-kit-components-radio-group.umd.js +1 -1
  148. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-radio-group.umd.min.js.map +1 -1
  150. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +5 -5
  151. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  152. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-radio-list.umd.js +5 -5
  154. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  156. package/bundles/taiga-ui-kit-components-radio.umd.js +8 -8
  157. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  158. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  159. package/bundles/taiga-ui-kit-components-range.umd.js +33 -33
  160. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  161. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  162. package/bundles/taiga-ui-kit-components-rating.umd.js +7 -7
  163. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  164. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  165. package/bundles/taiga-ui-kit-components-select-option.umd.js +2 -2
  166. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  167. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  168. package/bundles/taiga-ui-kit-components-select.umd.js +6 -6
  169. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  170. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  171. package/bundles/taiga-ui-kit-components-slider.umd.js +158 -106
  172. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  173. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  174. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  175. package/bundles/taiga-ui-kit-components-stepper.umd.js +25 -25
  176. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  177. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  178. package/bundles/taiga-ui-kit-components-tabs.umd.js +45 -43
  179. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  180. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  181. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  182. package/bundles/taiga-ui-kit-components-tag.umd.js +24 -24
  183. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  184. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  185. package/bundles/taiga-ui-kit-components-text-area.umd.js +17 -17
  186. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  187. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  188. package/bundles/taiga-ui-kit-components-toggle.umd.js +11 -11
  189. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  190. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  191. package/bundles/taiga-ui-kit-components-tree.umd.js +24 -24
  192. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  193. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  194. package/bundles/taiga-ui-kit-constants.umd.js +18 -18
  195. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  196. package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
  197. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +10 -10
  198. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  199. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  200. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js +6 -6
  201. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js.map +1 -1
  202. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.min.js.map +1 -1
  203. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +12 -12
  204. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  205. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  206. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  207. package/bundles/taiga-ui-kit-directives-highlight.umd.js +10 -10
  208. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  209. package/bundles/taiga-ui-kit-directives-highlight.umd.min.js.map +1 -1
  210. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +11 -11
  211. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  212. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  213. package/bundles/taiga-ui-kit-directives-present.umd.js +5 -5
  214. package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
  215. package/bundles/taiga-ui-kit-directives-present.umd.min.js.map +1 -1
  216. package/bundles/taiga-ui-kit-directives-project-class.umd.js +2 -2
  217. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  218. package/bundles/taiga-ui-kit-directives-project-class.umd.min.js.map +1 -1
  219. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js +4 -4
  220. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js.map +1 -1
  221. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.min.js.map +1 -1
  222. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js +1 -1
  223. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js.map +1 -1
  224. package/bundles/taiga-ui-kit-directives-value-accessor.umd.min.js.map +1 -1
  225. package/bundles/taiga-ui-kit-enums.umd.js.map +1 -1
  226. package/bundles/taiga-ui-kit-enums.umd.min.js.map +1 -1
  227. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +1 -1
  228. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  229. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  230. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +8 -8
  231. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  232. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  233. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +4 -4
  234. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  235. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
  236. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js +1 -1
  237. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js.map +1 -1
  238. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.min.js.map +1 -1
  239. package/bundles/taiga-ui-kit-pipes-stringify.umd.js +2 -2
  240. package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -1
  241. package/bundles/taiga-ui-kit-pipes-stringify.umd.min.js.map +1 -1
  242. package/bundles/taiga-ui-kit-providers.umd.js +3 -3
  243. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  244. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  245. package/bundles/taiga-ui-kit-tokens.umd.js +38 -38
  246. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  247. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  248. package/bundles/taiga-ui-kit-utils-dom.umd.js +4 -4
  249. package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
  250. package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
  251. package/bundles/taiga-ui-kit-utils-files.umd.js +2 -2
  252. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  253. package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
  254. package/bundles/taiga-ui-kit-utils-format.umd.js +2 -2
  255. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  256. package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
  257. package/bundles/taiga-ui-kit-utils-mask.umd.js +12 -12
  258. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  259. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  260. package/bundles/taiga-ui-kit-utils-math.umd.js +2 -2
  261. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  262. package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
  263. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +7 -7
  264. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  265. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  266. package/bundles/taiga-ui-kit-validators.umd.js +1 -1
  267. package/bundles/taiga-ui-kit-validators.umd.js.map +1 -1
  268. package/bundles/taiga-ui-kit-validators.umd.min.js.map +1 -1
  269. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  270. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  271. package/components/input-slider/input-slider.component.d.ts +4 -1
  272. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  273. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  274. package/components/slider/{slider-key-steps.directive.d.ts → helpers/slider-key-steps.directive.d.ts} +1 -1
  275. package/components/slider/{slider-readonly.directive.d.ts → helpers/slider-readonly.directive.d.ts} +0 -0
  276. package/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.d.ts +12 -0
  277. package/components/slider/index.d.ts +3 -2
  278. package/components/slider/slider.component.d.ts +1 -1
  279. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  280. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  281. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  282. package/esm2015/abstract/input-slider.js +12 -12
  283. package/esm2015/abstract/slider/slider.js +12 -12
  284. package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +2 -2
  285. package/esm2015/components/accordion/accordion-item/accordion-item-eager-content.directive.js +2 -2
  286. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +11 -11
  287. package/esm2015/components/accordion/accordion.component.js +2 -2
  288. package/esm2015/components/action/action.component.js +9 -9
  289. package/esm2015/components/arrow/arrow-options.js +5 -5
  290. package/esm2015/components/arrow/arrow.component.js +2 -2
  291. package/esm2015/components/avatar/avatar-options.js +3 -3
  292. package/esm2015/components/avatar/avatar.component.js +12 -12
  293. package/esm2015/components/badge/badge.component.js +15 -15
  294. package/esm2015/components/badged-content/badged-content.component.js +22 -22
  295. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +5 -5
  296. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +4 -4
  297. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  298. package/esm2015/components/calendar-range/calendar-range.component.js +4 -4
  299. package/esm2015/components/carousel/carousel-autoscroll.directive.js +3 -3
  300. package/esm2015/components/carousel/carousel-buttons.directive.js +4 -4
  301. package/esm2015/components/carousel/carousel-scroll.directive.js +3 -3
  302. package/esm2015/components/carousel/carousel.component.js +10 -10
  303. package/esm2015/components/carousel/carousel.directive.js +3 -3
  304. package/esm2015/components/checkbox/checkbox.component.js +4 -4
  305. package/esm2015/components/checkbox-block/checkbox-block.component.js +9 -9
  306. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +5 -5
  307. package/esm2015/components/combo-box/combo-box-strict.directive.js +3 -3
  308. package/esm2015/components/combo-box/combo-box.component.js +7 -7
  309. package/esm2015/components/combo-box/combo-box.directive.js +2 -2
  310. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  311. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  312. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +3 -3
  313. package/esm2015/components/field-error/field-error.component.js +6 -6
  314. package/esm2015/components/files/file/file.component.js +20 -20
  315. package/esm2015/components/files/files.component.js +2 -2
  316. package/esm2015/components/filter/filter.component.js +4 -4
  317. package/esm2015/components/input/input.component.js +5 -5
  318. package/esm2015/components/input/input.directive.js +2 -2
  319. package/esm2015/components/input-copy/input-copy.component.js +8 -8
  320. package/esm2015/components/input-copy/input-copy.directive.js +2 -2
  321. package/esm2015/components/input-count/input-count-options.js +6 -6
  322. package/esm2015/components/input-count/input-count.component.js +12 -12
  323. package/esm2015/components/input-count/input-count.directive.js +4 -4
  324. package/esm2015/components/input-date/input-date.component.js +9 -9
  325. package/esm2015/components/input-date/input-date.directive.js +3 -3
  326. package/esm2015/components/input-date-range/input-date-range.component.js +13 -13
  327. package/esm2015/components/input-date-range/input-date-range.directive.js +3 -3
  328. package/esm2015/components/input-date-time/input-date-time.component.js +15 -15
  329. package/esm2015/components/input-date-time/input-date-time.directive.js +3 -3
  330. package/esm2015/components/input-file/file/file.component.js +18 -18
  331. package/esm2015/components/input-file/input-file.component.js +18 -18
  332. package/esm2015/components/input-files/input-files.component.js +16 -16
  333. package/esm2015/components/input-files/input-files.module.js +10 -3
  334. package/esm2015/components/input-inline/input-inline.component.js +5 -5
  335. package/esm2015/components/input-month/input-month.component.js +4 -4
  336. package/esm2015/components/input-month/input-month.directive.js +3 -3
  337. package/esm2015/components/input-month-range/input-month-range.component.js +7 -8
  338. package/esm2015/components/input-month-range/input-month-range.directive.js +4 -4
  339. package/esm2015/components/input-number/input-number.component.js +21 -21
  340. package/esm2015/components/input-number/input-number.directive.js +3 -3
  341. package/esm2015/components/input-password/input-password-options.js +4 -4
  342. package/esm2015/components/input-password/input-password.component.js +5 -5
  343. package/esm2015/components/input-password/input-password.directive.js +3 -3
  344. package/esm2015/components/input-phone/input-phone.component.js +30 -30
  345. package/esm2015/components/input-phone/input-phone.directive.js +3 -3
  346. package/esm2015/components/input-phone/input-phone.options.js +4 -4
  347. package/esm2015/components/input-phone/input-phone.providers.js +3 -3
  348. package/esm2015/components/input-phone-international/const/countries.js +215 -214
  349. package/esm2015/components/input-phone-international/country-iso-code.js +1 -1
  350. package/esm2015/components/input-phone-international/input-phone-international.component.js +14 -14
  351. package/esm2015/components/input-phone-international/input-phone-international.options.js +2 -2
  352. package/esm2015/components/input-phone-international/tokens/countries-masks.js +2 -2
  353. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +2 -2
  354. package/esm2015/components/input-range/input-range.component.js +17 -17
  355. package/esm2015/components/input-slider/input-slider.component.js +31 -22
  356. package/esm2015/components/input-tag/input-tag-options.js +3 -3
  357. package/esm2015/components/input-tag/input-tag.component.js +23 -23
  358. package/esm2015/components/input-time/input-time-options.js +6 -6
  359. package/esm2015/components/input-time/input-time.component.js +9 -9
  360. package/esm2015/components/island/island.component.js +19 -19
  361. package/esm2015/components/line-clamp/line-clamp-options.js +2 -2
  362. package/esm2015/components/line-clamp/line-clamp.component.js +11 -11
  363. package/esm2015/components/line-clamp/line-clamp.module.js +9 -3
  364. package/esm2015/components/marker-icon/marker-icon.component.js +7 -7
  365. package/esm2015/components/multi-select/hide-selected.pipe.js +2 -2
  366. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +5 -5
  367. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -2
  368. package/esm2015/components/multi-select/multi-select-options.js +3 -3
  369. package/esm2015/components/multi-select/multi-select.component.js +10 -10
  370. package/esm2015/components/multi-select-option/multi-select-option.component.js +3 -3
  371. package/esm2015/components/pagination/pagination.component.js +8 -8
  372. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +6 -6
  373. package/esm2015/components/pdf-viewer/pdf-viewer.directive.js +4 -4
  374. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +3 -3
  375. package/esm2015/components/progress/progress-bar/progress-bar.component.js +6 -6
  376. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +5 -5
  377. package/esm2015/components/progress/progress-circle/progress-circle.component.js +7 -7
  378. package/esm2015/components/progress/progress-label/progress-label.component.js +2 -2
  379. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +8 -8
  380. package/esm2015/components/progress/utils/calculate-color-segments.js +2 -2
  381. package/esm2015/components/progress/utils/progress-color-segments-async.pipe.js +2 -2
  382. package/esm2015/components/progress/utils/progress-color-segments.pipe.js +2 -2
  383. package/esm2015/components/radio/radio-options.js +3 -3
  384. package/esm2015/components/radio/radio.component.js +7 -7
  385. package/esm2015/components/radio-block/radio-block.component.js +10 -10
  386. package/esm2015/components/radio-group/radio-group.component.js +2 -2
  387. package/esm2015/components/radio-labeled/radio-labeled.component.js +6 -6
  388. package/esm2015/components/radio-list/radio-list.component.js +6 -6
  389. package/esm2015/components/range/range-change.directive.js +10 -10
  390. package/esm2015/components/range/range.component.js +23 -23
  391. package/esm2015/components/rating/rating-options.js +4 -4
  392. package/esm2015/components/rating/rating.component.js +5 -5
  393. package/esm2015/components/select/select-options.js +3 -3
  394. package/esm2015/components/select/select.component.js +4 -4
  395. package/esm2015/components/select/select.directive.js +2 -2
  396. package/esm2015/components/select-option/select-option.component.js +3 -3
  397. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +103 -0
  398. package/esm2015/components/slider/helpers/slider-readonly.directive.js +79 -0
  399. package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +40 -0
  400. package/esm2015/components/slider/index.js +4 -3
  401. package/esm2015/components/slider/slider-old.component.js +2 -2
  402. package/esm2015/components/slider/slider-options.js +4 -4
  403. package/esm2015/components/slider/slider.component.js +9 -9
  404. package/esm2015/components/slider/slider.module.js +6 -3
  405. package/esm2015/components/stepper/step/step.component.js +12 -12
  406. package/esm2015/components/stepper/stepper.component.js +15 -15
  407. package/esm2015/components/tabs/tab/tab.component.js +8 -8
  408. package/esm2015/components/tabs/tab/tab.providers.js +4 -4
  409. package/esm2015/components/tabs/tabs/tabs.component.js +13 -13
  410. package/esm2015/components/tabs/tabs-options.js +2 -2
  411. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +11 -9
  412. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -2
  413. package/esm2015/components/tabs/underline/underline.component.js +13 -13
  414. package/esm2015/components/tag/tag-options.js +4 -4
  415. package/esm2015/components/tag/tag.component.js +22 -22
  416. package/esm2015/components/text-area/text-area.component.js +17 -17
  417. package/esm2015/components/text-area/text-area.directive.js +2 -2
  418. package/esm2015/components/toggle/toggle-options.js +5 -5
  419. package/esm2015/components/toggle/toggle.component.js +8 -8
  420. package/esm2015/components/tree/components/tree/tree.component.js +3 -3
  421. package/esm2015/components/tree/components/tree-item/tree-item.component.js +4 -4
  422. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
  423. package/esm2015/components/tree/directives/tree-children.directive.js +2 -2
  424. package/esm2015/components/tree/directives/tree-controller.directive.js +4 -4
  425. package/esm2015/components/tree/directives/tree-item-controller.directive.js +4 -4
  426. package/esm2015/components/tree/directives/tree-node.directive.js +3 -3
  427. package/esm2015/components/tree/misc/tree.tokens.js +9 -9
  428. package/esm2015/constants/date-time-separator.js +2 -2
  429. package/esm2015/constants/group-class-names.js +10 -10
  430. package/esm2015/constants/icon-blank.js +2 -2
  431. package/esm2015/constants/masks.js +7 -7
  432. package/esm2015/constants/router-link-options.js +2 -2
  433. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +11 -11
  434. package/esm2015/directives/dropdown-hover/dropdown-hover.directive.js +5 -5
  435. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +13 -13
  436. package/esm2015/directives/highlight/highlight.directive.js +11 -11
  437. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +12 -12
  438. package/esm2015/directives/present/present.directive.js +6 -6
  439. package/esm2015/directives/project-class/project-class.directive.js +3 -3
  440. package/esm2015/directives/unfinished-validator/unfinished-validator.directive.js +5 -5
  441. package/esm2015/directives/value-accessor/value-accessor.directive.js +2 -2
  442. package/esm2015/enums/borders.js +1 -1
  443. package/esm2015/enums/dropdown-position.js +1 -1
  444. package/esm2015/enums/file-state.js +1 -1
  445. package/esm2015/enums/marker-icon-mode.js +1 -1
  446. package/esm2015/enums/status.js +1 -1
  447. package/esm2015/enums/step-state.js +1 -1
  448. package/esm2015/enums/text-align.js +1 -1
  449. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  450. package/esm2015/pipes/field-error/field-error-content-pipe.js +4 -4
  451. package/esm2015/pipes/field-error/field-error-pipe.js +6 -6
  452. package/esm2015/pipes/filter-by-input/filter-by-input-with.pipe.js +2 -2
  453. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +3 -3
  454. package/esm2015/pipes/filter-by-input/filter-by-input.pipe.js +2 -2
  455. package/esm2015/pipes/stringify/stringify.pipe.js +3 -3
  456. package/esm2015/pipes/stringify-content/stringify-content.pipe.js +2 -2
  457. package/esm2015/providers/month-formatter.provider.js +2 -2
  458. package/esm2015/providers/specific-dropdown-controllers.js +3 -3
  459. package/esm2015/tokens/calendar-data-stream.js +2 -2
  460. package/esm2015/tokens/date-inputs-value-transformers.js +4 -4
  461. package/esm2015/tokens/i18n.js +28 -28
  462. package/esm2015/tokens/items-handlers.js +2 -2
  463. package/esm2015/tokens/mobile-aware.js +2 -2
  464. package/esm2015/tokens/mobile-calendar.js +2 -2
  465. package/esm2015/tokens/month-formatter.js +2 -2
  466. package/esm2015/tokens/tab-margin.js +2 -2
  467. package/esm2015/tokens/tag-status.js +2 -2
  468. package/esm2015/tokens/validation-errors.js +2 -2
  469. package/esm2015/utils/dom/get-word-range.js +5 -5
  470. package/esm2015/utils/files/format-size.js +2 -2
  471. package/esm2015/utils/files/get-accept-array.js +2 -2
  472. package/esm2015/utils/format/string-hash-to-hsl.js +3 -3
  473. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +2 -2
  474. package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +6 -6
  475. package/esm2015/utils/mask/create-date-mask.js +5 -5
  476. package/esm2015/utils/mask/create-date-range-mask.js +2 -2
  477. package/esm2015/utils/mask/create-time-mask.js +4 -4
  478. package/esm2015/utils/math/horizontal-direction-to-number.js +3 -3
  479. package/esm2015/utils/miscellaneous/create-default-day-range-periods.js +7 -7
  480. package/esm2015/utils/miscellaneous/get-precision.js +2 -2
  481. package/esm2015/validators/unfinished.validator.js +2 -2
  482. package/esm5/abstract/input-slider.js +12 -12
  483. package/esm5/abstract/slider/slider.js +12 -12
  484. package/esm5/components/accordion/accordion-item/accordion-item-content.directive.js +2 -2
  485. package/esm5/components/accordion/accordion-item/accordion-item-eager-content.directive.js +2 -2
  486. package/esm5/components/accordion/accordion-item/accordion-item.component.js +11 -11
  487. package/esm5/components/accordion/accordion.component.js +2 -2
  488. package/esm5/components/action/action.component.js +9 -9
  489. package/esm5/components/arrow/arrow-options.js +5 -5
  490. package/esm5/components/arrow/arrow.component.js +2 -2
  491. package/esm5/components/avatar/avatar-options.js +3 -3
  492. package/esm5/components/avatar/avatar.component.js +12 -12
  493. package/esm5/components/badge/badge.component.js +15 -15
  494. package/esm5/components/badged-content/badged-content.component.js +22 -22
  495. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +5 -5
  496. package/esm5/components/breadcrumbs/breadcrumbs.component.js +4 -4
  497. package/esm5/components/calendar-month/calendar-month.component.js +3 -3
  498. package/esm5/components/calendar-range/calendar-range.component.js +4 -4
  499. package/esm5/components/carousel/carousel-autoscroll.directive.js +3 -3
  500. package/esm5/components/carousel/carousel-buttons.directive.js +4 -4
  501. package/esm5/components/carousel/carousel-scroll.directive.js +3 -3
  502. package/esm5/components/carousel/carousel.component.js +10 -10
  503. package/esm5/components/carousel/carousel.directive.js +3 -3
  504. package/esm5/components/checkbox/checkbox.component.js +4 -4
  505. package/esm5/components/checkbox-block/checkbox-block.component.js +9 -9
  506. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +5 -5
  507. package/esm5/components/combo-box/combo-box-strict.directive.js +3 -3
  508. package/esm5/components/combo-box/combo-box.component.js +7 -7
  509. package/esm5/components/combo-box/combo-box.directive.js +2 -2
  510. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  511. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  512. package/esm5/components/data-list-wrapper/data-list-wrapper.js +3 -3
  513. package/esm5/components/field-error/field-error.component.js +6 -6
  514. package/esm5/components/files/file/file.component.js +20 -20
  515. package/esm5/components/files/files.component.js +2 -2
  516. package/esm5/components/filter/filter.component.js +4 -4
  517. package/esm5/components/input/input.component.js +5 -5
  518. package/esm5/components/input/input.directive.js +2 -2
  519. package/esm5/components/input-copy/input-copy.component.js +8 -8
  520. package/esm5/components/input-copy/input-copy.directive.js +2 -2
  521. package/esm5/components/input-count/input-count-options.js +6 -6
  522. package/esm5/components/input-count/input-count.component.js +12 -12
  523. package/esm5/components/input-count/input-count.directive.js +4 -4
  524. package/esm5/components/input-date/input-date.component.js +9 -9
  525. package/esm5/components/input-date/input-date.directive.js +3 -3
  526. package/esm5/components/input-date-range/input-date-range.component.js +13 -13
  527. package/esm5/components/input-date-range/input-date-range.directive.js +3 -3
  528. package/esm5/components/input-date-time/input-date-time.component.js +15 -15
  529. package/esm5/components/input-date-time/input-date-time.directive.js +3 -3
  530. package/esm5/components/input-file/file/file.component.js +18 -18
  531. package/esm5/components/input-file/input-file.component.js +18 -18
  532. package/esm5/components/input-files/input-files.component.js +16 -16
  533. package/esm5/components/input-files/input-files.module.js +10 -3
  534. package/esm5/components/input-inline/input-inline.component.js +5 -5
  535. package/esm5/components/input-month/input-month.component.js +4 -4
  536. package/esm5/components/input-month/input-month.directive.js +3 -3
  537. package/esm5/components/input-month-range/input-month-range.component.js +7 -8
  538. package/esm5/components/input-month-range/input-month-range.directive.js +4 -4
  539. package/esm5/components/input-number/input-number.component.js +21 -21
  540. package/esm5/components/input-number/input-number.directive.js +3 -3
  541. package/esm5/components/input-password/input-password-options.js +4 -4
  542. package/esm5/components/input-password/input-password.component.js +5 -5
  543. package/esm5/components/input-password/input-password.directive.js +3 -3
  544. package/esm5/components/input-phone/input-phone.component.js +30 -30
  545. package/esm5/components/input-phone/input-phone.directive.js +3 -3
  546. package/esm5/components/input-phone/input-phone.options.js +4 -4
  547. package/esm5/components/input-phone/input-phone.providers.js +3 -3
  548. package/esm5/components/input-phone-international/const/countries.js +215 -214
  549. package/esm5/components/input-phone-international/country-iso-code.js +1 -1
  550. package/esm5/components/input-phone-international/input-phone-international.component.js +14 -14
  551. package/esm5/components/input-phone-international/input-phone-international.options.js +2 -2
  552. package/esm5/components/input-phone-international/tokens/countries-masks.js +2 -2
  553. package/esm5/components/input-phone-international/utils/extract-value-from-event.js +2 -2
  554. package/esm5/components/input-range/input-range.component.js +17 -17
  555. package/esm5/components/input-slider/input-slider.component.js +35 -22
  556. package/esm5/components/input-tag/input-tag-options.js +3 -3
  557. package/esm5/components/input-tag/input-tag.component.js +23 -23
  558. package/esm5/components/input-time/input-time-options.js +6 -6
  559. package/esm5/components/input-time/input-time.component.js +9 -9
  560. package/esm5/components/island/island.component.js +19 -19
  561. package/esm5/components/line-clamp/line-clamp-options.js +2 -2
  562. package/esm5/components/line-clamp/line-clamp.component.js +11 -11
  563. package/esm5/components/line-clamp/line-clamp.module.js +9 -3
  564. package/esm5/components/marker-icon/marker-icon.component.js +7 -7
  565. package/esm5/components/multi-select/hide-selected.pipe.js +2 -2
  566. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +5 -5
  567. package/esm5/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -2
  568. package/esm5/components/multi-select/multi-select-options.js +3 -3
  569. package/esm5/components/multi-select/multi-select.component.js +10 -10
  570. package/esm5/components/multi-select-option/multi-select-option.component.js +3 -3
  571. package/esm5/components/pagination/pagination.component.js +8 -8
  572. package/esm5/components/pdf-viewer/pdf-viewer.component.js +6 -6
  573. package/esm5/components/pdf-viewer/pdf-viewer.directive.js +4 -4
  574. package/esm5/components/pdf-viewer/pdf-viewer.service.js +3 -3
  575. package/esm5/components/progress/progress-bar/progress-bar.component.js +6 -6
  576. package/esm5/components/progress/progress-bar/progress-color-segments.directive.js +5 -5
  577. package/esm5/components/progress/progress-circle/progress-circle.component.js +7 -7
  578. package/esm5/components/progress/progress-label/progress-label.component.js +2 -2
  579. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +8 -8
  580. package/esm5/components/progress/utils/calculate-color-segments.js +2 -2
  581. package/esm5/components/progress/utils/progress-color-segments-async.pipe.js +2 -2
  582. package/esm5/components/progress/utils/progress-color-segments.pipe.js +2 -2
  583. package/esm5/components/radio/radio-options.js +3 -3
  584. package/esm5/components/radio/radio.component.js +7 -7
  585. package/esm5/components/radio-block/radio-block.component.js +10 -10
  586. package/esm5/components/radio-group/radio-group.component.js +2 -2
  587. package/esm5/components/radio-labeled/radio-labeled.component.js +6 -6
  588. package/esm5/components/radio-list/radio-list.component.js +6 -6
  589. package/esm5/components/range/range-change.directive.js +12 -12
  590. package/esm5/components/range/range.component.js +23 -23
  591. package/esm5/components/rating/rating-options.js +4 -4
  592. package/esm5/components/rating/rating.component.js +5 -5
  593. package/esm5/components/select/select-options.js +3 -3
  594. package/esm5/components/select/select.component.js +4 -4
  595. package/esm5/components/select/select.directive.js +2 -2
  596. package/esm5/components/select-option/select-option.component.js +3 -3
  597. package/esm5/components/slider/helpers/slider-key-steps.directive.js +129 -0
  598. package/esm5/components/slider/helpers/slider-readonly.directive.js +87 -0
  599. package/esm5/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +55 -0
  600. package/esm5/components/slider/index.js +4 -3
  601. package/esm5/components/slider/slider-old.component.js +2 -2
  602. package/esm5/components/slider/slider-options.js +4 -4
  603. package/esm5/components/slider/slider.component.js +9 -9
  604. package/esm5/components/slider/slider.module.js +6 -3
  605. package/esm5/components/stepper/step/step.component.js +12 -12
  606. package/esm5/components/stepper/stepper.component.js +15 -15
  607. package/esm5/components/tabs/tab/tab.component.js +8 -8
  608. package/esm5/components/tabs/tab/tab.providers.js +4 -4
  609. package/esm5/components/tabs/tabs/tabs.component.js +13 -13
  610. package/esm5/components/tabs/tabs-options.js +2 -2
  611. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +11 -9
  612. package/esm5/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -2
  613. package/esm5/components/tabs/underline/underline.component.js +13 -13
  614. package/esm5/components/tag/tag-options.js +4 -4
  615. package/esm5/components/tag/tag.component.js +22 -22
  616. package/esm5/components/text-area/text-area.component.js +17 -17
  617. package/esm5/components/text-area/text-area.directive.js +2 -2
  618. package/esm5/components/toggle/toggle-options.js +5 -5
  619. package/esm5/components/toggle/toggle.component.js +8 -8
  620. package/esm5/components/tree/components/tree/tree.component.js +3 -3
  621. package/esm5/components/tree/components/tree-item/tree-item.component.js +4 -4
  622. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
  623. package/esm5/components/tree/directives/tree-children.directive.js +2 -2
  624. package/esm5/components/tree/directives/tree-controller.directive.js +4 -4
  625. package/esm5/components/tree/directives/tree-item-controller.directive.js +4 -4
  626. package/esm5/components/tree/directives/tree-node.directive.js +3 -3
  627. package/esm5/components/tree/misc/tree.tokens.js +9 -9
  628. package/esm5/constants/date-time-separator.js +2 -2
  629. package/esm5/constants/group-class-names.js +10 -10
  630. package/esm5/constants/icon-blank.js +2 -2
  631. package/esm5/constants/masks.js +7 -7
  632. package/esm5/constants/router-link-options.js +2 -2
  633. package/esm5/directives/dropdown-context/dropdown-context.directive.js +11 -11
  634. package/esm5/directives/dropdown-hover/dropdown-hover.directive.js +7 -7
  635. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +13 -13
  636. package/esm5/directives/highlight/highlight.directive.js +11 -11
  637. package/esm5/directives/lazy-loading/lazy-loading.directive.js +12 -12
  638. package/esm5/directives/present/present.directive.js +6 -6
  639. package/esm5/directives/project-class/project-class.directive.js +3 -3
  640. package/esm5/directives/unfinished-validator/unfinished-validator.directive.js +5 -5
  641. package/esm5/directives/value-accessor/value-accessor.directive.js +2 -2
  642. package/esm5/enums/borders.js +1 -1
  643. package/esm5/enums/dropdown-position.js +1 -1
  644. package/esm5/enums/file-state.js +1 -1
  645. package/esm5/enums/marker-icon-mode.js +1 -1
  646. package/esm5/enums/status.js +1 -1
  647. package/esm5/enums/step-state.js +1 -1
  648. package/esm5/enums/text-align.js +1 -1
  649. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  650. package/esm5/pipes/field-error/field-error-content-pipe.js +4 -4
  651. package/esm5/pipes/field-error/field-error-pipe.js +6 -6
  652. package/esm5/pipes/filter-by-input/filter-by-input-with.pipe.js +2 -2
  653. package/esm5/pipes/filter-by-input/filter-by-input.base.js +3 -3
  654. package/esm5/pipes/filter-by-input/filter-by-input.pipe.js +2 -2
  655. package/esm5/pipes/stringify/stringify.pipe.js +3 -3
  656. package/esm5/pipes/stringify-content/stringify-content.pipe.js +2 -2
  657. package/esm5/providers/month-formatter.provider.js +2 -2
  658. package/esm5/providers/specific-dropdown-controllers.js +3 -3
  659. package/esm5/tokens/calendar-data-stream.js +2 -2
  660. package/esm5/tokens/date-inputs-value-transformers.js +4 -4
  661. package/esm5/tokens/i18n.js +28 -28
  662. package/esm5/tokens/items-handlers.js +2 -2
  663. package/esm5/tokens/mobile-aware.js +2 -2
  664. package/esm5/tokens/mobile-calendar.js +2 -2
  665. package/esm5/tokens/month-formatter.js +2 -2
  666. package/esm5/tokens/tab-margin.js +2 -2
  667. package/esm5/tokens/tag-status.js +2 -2
  668. package/esm5/tokens/validation-errors.js +2 -2
  669. package/esm5/utils/dom/get-word-range.js +5 -5
  670. package/esm5/utils/files/format-size.js +2 -2
  671. package/esm5/utils/files/get-accept-array.js +2 -2
  672. package/esm5/utils/format/string-hash-to-hsl.js +3 -3
  673. package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +2 -2
  674. package/esm5/utils/mask/create-auto-corrected-time-pipe.js +6 -6
  675. package/esm5/utils/mask/create-date-mask.js +5 -5
  676. package/esm5/utils/mask/create-date-range-mask.js +2 -2
  677. package/esm5/utils/mask/create-time-mask.js +2 -2
  678. package/esm5/utils/math/horizontal-direction-to-number.js +3 -3
  679. package/esm5/utils/miscellaneous/create-default-day-range-periods.js +7 -7
  680. package/esm5/utils/miscellaneous/get-precision.js +2 -2
  681. package/esm5/validators/unfinished.validator.js +2 -2
  682. package/fesm2015/taiga-ui-kit-abstract.js +22 -22
  683. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  684. package/fesm2015/taiga-ui-kit-components-accordion.js +13 -13
  685. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  686. package/fesm2015/taiga-ui-kit-components-action.js +8 -8
  687. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  688. package/fesm2015/taiga-ui-kit-components-arrow.js +5 -5
  689. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  690. package/fesm2015/taiga-ui-kit-components-avatar.js +13 -13
  691. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  692. package/fesm2015/taiga-ui-kit-components-badge.js +14 -14
  693. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  694. package/fesm2015/taiga-ui-kit-components-badged-content.js +21 -21
  695. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  696. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +7 -7
  697. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  698. package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
  699. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  700. package/fesm2015/taiga-ui-kit-components-calendar-range.js +3 -3
  701. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  702. package/fesm2015/taiga-ui-kit-components-carousel.js +18 -18
  703. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  704. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +8 -8
  705. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  706. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +4 -4
  707. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  708. package/fesm2015/taiga-ui-kit-components-checkbox.js +3 -3
  709. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  710. package/fesm2015/taiga-ui-kit-components-combo-box.js +9 -9
  711. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  712. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +4 -4
  713. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  714. package/fesm2015/taiga-ui-kit-components-field-error.js +5 -5
  715. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  716. package/fesm2015/taiga-ui-kit-components-files.js +20 -20
  717. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  718. package/fesm2015/taiga-ui-kit-components-filter.js +3 -3
  719. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  720. package/fesm2015/taiga-ui-kit-components-input-copy.js +8 -8
  721. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  722. package/fesm2015/taiga-ui-kit-components-input-count.js +19 -19
  723. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  724. package/fesm2015/taiga-ui-kit-components-input-date-range.js +14 -14
  725. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  726. package/fesm2015/taiga-ui-kit-components-input-date-time.js +16 -16
  727. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  728. package/fesm2015/taiga-ui-kit-components-input-date.js +10 -10
  729. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  730. package/fesm2015/taiga-ui-kit-components-input-file.js +34 -34
  731. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  732. package/fesm2015/taiga-ui-kit-components-input-files.js +24 -17
  733. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  734. package/fesm2015/taiga-ui-kit-components-input-inline.js +4 -4
  735. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  736. package/fesm2015/taiga-ui-kit-components-input-month-range.js +9 -10
  737. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  738. package/fesm2015/taiga-ui-kit-components-input-month.js +5 -5
  739. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  740. package/fesm2015/taiga-ui-kit-components-input-number.js +22 -22
  741. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  742. package/fesm2015/taiga-ui-kit-components-input-password.js +9 -9
  743. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  744. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +230 -229
  745. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  746. package/fesm2015/taiga-ui-kit-components-input-phone.js +36 -36
  747. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  748. package/fesm2015/taiga-ui-kit-components-input-range.js +16 -16
  749. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  750. package/fesm2015/taiga-ui-kit-components-input-slider.js +30 -22
  751. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  752. package/fesm2015/taiga-ui-kit-components-input-tag.js +24 -24
  753. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  754. package/fesm2015/taiga-ui-kit-components-input-time.js +13 -13
  755. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  756. package/fesm2015/taiga-ui-kit-components-input.js +5 -5
  757. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  758. package/fesm2015/taiga-ui-kit-components-island.js +18 -18
  759. package/fesm2015/taiga-ui-kit-components-island.js.map +1 -1
  760. package/fesm2015/taiga-ui-kit-components-line-clamp.js +19 -13
  761. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  762. package/fesm2015/taiga-ui-kit-components-marker-icon.js +6 -6
  763. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  764. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +2 -2
  765. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  766. package/fesm2015/taiga-ui-kit-components-multi-select.js +17 -17
  767. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  768. package/fesm2015/taiga-ui-kit-components-pagination.js +7 -7
  769. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  770. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +10 -10
  771. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  772. package/fesm2015/taiga-ui-kit-components-progress.js +26 -26
  773. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  774. package/fesm2015/taiga-ui-kit-components-radio-block.js +9 -9
  775. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  776. package/fesm2015/taiga-ui-kit-components-radio-group.js +1 -1
  777. package/fesm2015/taiga-ui-kit-components-radio-group.js.map +1 -1
  778. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +5 -5
  779. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  780. package/fesm2015/taiga-ui-kit-components-radio-list.js +5 -5
  781. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  782. package/fesm2015/taiga-ui-kit-components-radio.js +8 -8
  783. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  784. package/fesm2015/taiga-ui-kit-components-range.js +31 -31
  785. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  786. package/fesm2015/taiga-ui-kit-components-rating.js +7 -7
  787. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  788. package/fesm2015/taiga-ui-kit-components-select-option.js +2 -2
  789. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  790. package/fesm2015/taiga-ui-kit-components-select.js +6 -6
  791. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  792. package/fesm2015/taiga-ui-kit-components-slider.js +136 -100
  793. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  794. package/fesm2015/taiga-ui-kit-components-stepper.js +25 -25
  795. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  796. package/fesm2015/taiga-ui-kit-components-tabs.js +46 -44
  797. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  798. package/fesm2015/taiga-ui-kit-components-tag.js +24 -24
  799. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  800. package/fesm2015/taiga-ui-kit-components-text-area.js +17 -17
  801. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  802. package/fesm2015/taiga-ui-kit-components-toggle.js +11 -11
  803. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  804. package/fesm2015/taiga-ui-kit-components-tree.js +24 -24
  805. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  806. package/fesm2015/taiga-ui-kit-constants.js +18 -18
  807. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  808. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +10 -10
  809. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  810. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js +4 -4
  811. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  812. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +12 -12
  813. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  814. package/fesm2015/taiga-ui-kit-directives-highlight.js +10 -10
  815. package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
  816. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +11 -11
  817. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  818. package/fesm2015/taiga-ui-kit-directives-present.js +5 -5
  819. package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
  820. package/fesm2015/taiga-ui-kit-directives-project-class.js +2 -2
  821. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  822. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js +4 -4
  823. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  824. package/fesm2015/taiga-ui-kit-directives-value-accessor.js +1 -1
  825. package/fesm2015/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  826. package/fesm2015/taiga-ui-kit-enums.js.map +1 -1
  827. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  828. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  829. package/fesm2015/taiga-ui-kit-pipes-field-error.js +8 -8
  830. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  831. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +4 -4
  832. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  833. package/fesm2015/taiga-ui-kit-pipes-stringify-content.js +1 -1
  834. package/fesm2015/taiga-ui-kit-pipes-stringify-content.js.map +1 -1
  835. package/fesm2015/taiga-ui-kit-pipes-stringify.js +2 -2
  836. package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -1
  837. package/fesm2015/taiga-ui-kit-providers.js +3 -3
  838. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  839. package/fesm2015/taiga-ui-kit-tokens.js +38 -38
  840. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  841. package/fesm2015/taiga-ui-kit-utils-dom.js +4 -4
  842. package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
  843. package/fesm2015/taiga-ui-kit-utils-files.js +2 -2
  844. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  845. package/fesm2015/taiga-ui-kit-utils-format.js +2 -2
  846. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  847. package/fesm2015/taiga-ui-kit-utils-mask.js +14 -14
  848. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  849. package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
  850. package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
  851. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +7 -7
  852. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  853. package/fesm2015/taiga-ui-kit-validators.js +1 -1
  854. package/fesm2015/taiga-ui-kit-validators.js.map +1 -1
  855. package/fesm5/taiga-ui-kit-abstract.js +22 -22
  856. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  857. package/fesm5/taiga-ui-kit-components-accordion.js +13 -13
  858. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  859. package/fesm5/taiga-ui-kit-components-action.js +8 -8
  860. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  861. package/fesm5/taiga-ui-kit-components-arrow.js +5 -5
  862. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  863. package/fesm5/taiga-ui-kit-components-avatar.js +13 -13
  864. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  865. package/fesm5/taiga-ui-kit-components-badge.js +14 -14
  866. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  867. package/fesm5/taiga-ui-kit-components-badged-content.js +21 -21
  868. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  869. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +7 -7
  870. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  871. package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
  872. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  873. package/fesm5/taiga-ui-kit-components-calendar-range.js +3 -3
  874. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  875. package/fesm5/taiga-ui-kit-components-carousel.js +18 -18
  876. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  877. package/fesm5/taiga-ui-kit-components-checkbox-block.js +8 -8
  878. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  879. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +4 -4
  880. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  881. package/fesm5/taiga-ui-kit-components-checkbox.js +3 -3
  882. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  883. package/fesm5/taiga-ui-kit-components-combo-box.js +9 -9
  884. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  885. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +4 -4
  886. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  887. package/fesm5/taiga-ui-kit-components-field-error.js +5 -5
  888. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  889. package/fesm5/taiga-ui-kit-components-files.js +20 -20
  890. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  891. package/fesm5/taiga-ui-kit-components-filter.js +3 -3
  892. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  893. package/fesm5/taiga-ui-kit-components-input-copy.js +8 -8
  894. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  895. package/fesm5/taiga-ui-kit-components-input-count.js +19 -19
  896. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  897. package/fesm5/taiga-ui-kit-components-input-date-range.js +14 -14
  898. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  899. package/fesm5/taiga-ui-kit-components-input-date-time.js +16 -16
  900. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  901. package/fesm5/taiga-ui-kit-components-input-date.js +10 -10
  902. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  903. package/fesm5/taiga-ui-kit-components-input-file.js +34 -34
  904. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  905. package/fesm5/taiga-ui-kit-components-input-files.js +24 -17
  906. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  907. package/fesm5/taiga-ui-kit-components-input-inline.js +4 -4
  908. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  909. package/fesm5/taiga-ui-kit-components-input-month-range.js +9 -10
  910. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  911. package/fesm5/taiga-ui-kit-components-input-month.js +5 -5
  912. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  913. package/fesm5/taiga-ui-kit-components-input-number.js +22 -22
  914. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  915. package/fesm5/taiga-ui-kit-components-input-password.js +9 -9
  916. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  917. package/fesm5/taiga-ui-kit-components-input-phone-international.js +230 -229
  918. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  919. package/fesm5/taiga-ui-kit-components-input-phone.js +36 -36
  920. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  921. package/fesm5/taiga-ui-kit-components-input-range.js +16 -16
  922. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  923. package/fesm5/taiga-ui-kit-components-input-slider.js +34 -22
  924. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  925. package/fesm5/taiga-ui-kit-components-input-tag.js +24 -24
  926. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  927. package/fesm5/taiga-ui-kit-components-input-time.js +13 -13
  928. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  929. package/fesm5/taiga-ui-kit-components-input.js +5 -5
  930. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  931. package/fesm5/taiga-ui-kit-components-island.js +18 -18
  932. package/fesm5/taiga-ui-kit-components-island.js.map +1 -1
  933. package/fesm5/taiga-ui-kit-components-line-clamp.js +19 -13
  934. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  935. package/fesm5/taiga-ui-kit-components-marker-icon.js +6 -6
  936. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  937. package/fesm5/taiga-ui-kit-components-multi-select-option.js +2 -2
  938. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  939. package/fesm5/taiga-ui-kit-components-multi-select.js +17 -17
  940. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  941. package/fesm5/taiga-ui-kit-components-pagination.js +7 -7
  942. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  943. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +10 -10
  944. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  945. package/fesm5/taiga-ui-kit-components-progress.js +26 -26
  946. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  947. package/fesm5/taiga-ui-kit-components-radio-block.js +9 -9
  948. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  949. package/fesm5/taiga-ui-kit-components-radio-group.js +1 -1
  950. package/fesm5/taiga-ui-kit-components-radio-group.js.map +1 -1
  951. package/fesm5/taiga-ui-kit-components-radio-labeled.js +5 -5
  952. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  953. package/fesm5/taiga-ui-kit-components-radio-list.js +5 -5
  954. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  955. package/fesm5/taiga-ui-kit-components-radio.js +8 -8
  956. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  957. package/fesm5/taiga-ui-kit-components-range.js +33 -33
  958. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  959. package/fesm5/taiga-ui-kit-components-rating.js +7 -7
  960. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  961. package/fesm5/taiga-ui-kit-components-select-option.js +2 -2
  962. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  963. package/fesm5/taiga-ui-kit-components-select.js +6 -6
  964. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  965. package/fesm5/taiga-ui-kit-components-slider.js +159 -108
  966. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  967. package/fesm5/taiga-ui-kit-components-stepper.js +25 -25
  968. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  969. package/fesm5/taiga-ui-kit-components-tabs.js +46 -44
  970. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  971. package/fesm5/taiga-ui-kit-components-tag.js +24 -24
  972. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  973. package/fesm5/taiga-ui-kit-components-text-area.js +17 -17
  974. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  975. package/fesm5/taiga-ui-kit-components-toggle.js +11 -11
  976. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  977. package/fesm5/taiga-ui-kit-components-tree.js +24 -24
  978. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  979. package/fesm5/taiga-ui-kit-constants.js +18 -18
  980. package/fesm5/taiga-ui-kit-constants.js.map +1 -1
  981. package/fesm5/taiga-ui-kit-directives-dropdown-context.js +10 -10
  982. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  983. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js +6 -6
  984. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  985. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +12 -12
  986. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  987. package/fesm5/taiga-ui-kit-directives-highlight.js +10 -10
  988. package/fesm5/taiga-ui-kit-directives-highlight.js.map +1 -1
  989. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +11 -11
  990. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  991. package/fesm5/taiga-ui-kit-directives-present.js +5 -5
  992. package/fesm5/taiga-ui-kit-directives-present.js.map +1 -1
  993. package/fesm5/taiga-ui-kit-directives-project-class.js +2 -2
  994. package/fesm5/taiga-ui-kit-directives-project-class.js.map +1 -1
  995. package/fesm5/taiga-ui-kit-directives-unfinished-validator.js +4 -4
  996. package/fesm5/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  997. package/fesm5/taiga-ui-kit-directives-value-accessor.js +1 -1
  998. package/fesm5/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  999. package/fesm5/taiga-ui-kit-enums.js.map +1 -1
  1000. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  1001. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  1002. package/fesm5/taiga-ui-kit-pipes-field-error.js +8 -8
  1003. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  1004. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js +4 -4
  1005. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  1006. package/fesm5/taiga-ui-kit-pipes-stringify-content.js +1 -1
  1007. package/fesm5/taiga-ui-kit-pipes-stringify-content.js.map +1 -1
  1008. package/fesm5/taiga-ui-kit-pipes-stringify.js +2 -2
  1009. package/fesm5/taiga-ui-kit-pipes-stringify.js.map +1 -1
  1010. package/fesm5/taiga-ui-kit-providers.js +3 -3
  1011. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  1012. package/fesm5/taiga-ui-kit-tokens.js +38 -38
  1013. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  1014. package/fesm5/taiga-ui-kit-utils-dom.js +4 -4
  1015. package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
  1016. package/fesm5/taiga-ui-kit-utils-files.js +2 -2
  1017. package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
  1018. package/fesm5/taiga-ui-kit-utils-format.js +2 -2
  1019. package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
  1020. package/fesm5/taiga-ui-kit-utils-mask.js +12 -12
  1021. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  1022. package/fesm5/taiga-ui-kit-utils-math.js +2 -2
  1023. package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
  1024. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +7 -7
  1025. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  1026. package/fesm5/taiga-ui-kit-validators.js +1 -1
  1027. package/fesm5/taiga-ui-kit-validators.js.map +1 -1
  1028. package/package.json +4 -4
  1029. package/esm2015/components/slider/slider-key-steps.directive.js +0 -103
  1030. package/esm2015/components/slider/slider-readonly.directive.js +0 -79
  1031. package/esm5/components/slider/slider-key-steps.directive.js +0 -129
  1032. package/esm5/components/slider/slider-readonly.directive.js +0 -87
@@ -69,8 +69,8 @@ var TuiInputDateRangeComponent = /** @class */ (function (_super) {
69
69
  Object.defineProperty(TuiInputDateRangeComponent.prototype, "calendarIcon", {
70
70
  get: function () {
71
71
  return sizeBigger(this.textfieldSize.size)
72
- ? 'tuiIconCalendarLarge'
73
- : 'tuiIconCalendar';
72
+ ? "tuiIconCalendarLarge"
73
+ : "tuiIconCalendar";
74
74
  },
75
75
  enumerable: true,
76
76
  configurable: true
@@ -84,7 +84,7 @@ var TuiInputDateRangeComponent = /** @class */ (function (_super) {
84
84
  });
85
85
  Object.defineProperty(TuiInputDateRangeComponent.prototype, "computedExampleText", {
86
86
  get: function () {
87
- return this.items.length ? this.textfieldExampleText.exampleText : '';
87
+ return this.items.length ? this.textfieldExampleText.exampleText : "";
88
88
  },
89
89
  enumerable: true,
90
90
  configurable: true
@@ -139,7 +139,7 @@ var TuiInputDateRangeComponent = /** @class */ (function (_super) {
139
139
  });
140
140
  Object.defineProperty(TuiInputDateRangeComponent.prototype, "nativeValue", {
141
141
  get: function () {
142
- return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';
142
+ return this.nativeFocusableElement ? this.nativeFocusableElement.value : "";
143
143
  },
144
144
  set: function (value) {
145
145
  if (!this.nativeFocusableElement) {
@@ -156,7 +156,7 @@ var TuiInputDateRangeComponent = /** @class */ (function (_super) {
156
156
  }
157
157
  };
158
158
  TuiInputDateRangeComponent.prototype.getComputedRangeFiller = function (dateFiller) {
159
- return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);
159
+ return this.activePeriod ? "" : this.getDateRangeFiller(dateFiller);
160
160
  };
161
161
  TuiInputDateRangeComponent.prototype.onMobileClick = function () {
162
162
  var _this = this;
@@ -166,7 +166,7 @@ var TuiInputDateRangeComponent = /** @class */ (function (_super) {
166
166
  }
167
167
  this.dialogService
168
168
  .open(new PolymorpheusComponent(this.mobileCalendar, this.injector), {
169
- size: 'fullscreen',
169
+ size: "fullscreen",
170
170
  closeable: false,
171
171
  data: {
172
172
  single: false,
@@ -203,7 +203,7 @@ var TuiInputDateRangeComponent = /** @class */ (function (_super) {
203
203
  this.toggle();
204
204
  this.focusInput();
205
205
  if (!range) {
206
- this.nativeValue = '';
206
+ this.nativeValue = "";
207
207
  }
208
208
  if (!nullableSame(this.value, range, function (a, b) { return a.daySame(b); })) {
209
209
  this.updateValue(range);
@@ -212,13 +212,13 @@ var TuiInputDateRangeComponent = /** @class */ (function (_super) {
212
212
  TuiInputDateRangeComponent.prototype.onItemSelect = function (item) {
213
213
  this.toggle();
214
214
  this.focusInput();
215
- if (typeof item !== 'string') {
215
+ if (typeof item !== "string") {
216
216
  this.updateValue(item.range.dayLimit(this.min, this.max));
217
217
  return;
218
218
  }
219
219
  if (this.activePeriod !== null) {
220
220
  this.updateValue(null);
221
- this.nativeValue = '';
221
+ this.nativeValue = "";
222
222
  }
223
223
  };
224
224
  TuiInputDateRangeComponent.prototype.onHovered = function (hovered) {
@@ -239,7 +239,7 @@ var TuiInputDateRangeComponent = /** @class */ (function (_super) {
239
239
  };
240
240
  TuiInputDateRangeComponent.prototype.writeValue = function (value) {
241
241
  _super.prototype.writeValue.call(this, value);
242
- this.nativeValue = value ? this.computedValue : '';
242
+ this.nativeValue = value ? this.computedValue : "";
243
243
  };
244
244
  Object.defineProperty(TuiInputDateRangeComponent.prototype, "itemSelected", {
245
245
  get: function () {
@@ -322,11 +322,11 @@ var TuiInputDateRangeComponent = /** @class */ (function (_super) {
322
322
  tuiDefaultProp()
323
323
  ], TuiInputDateRangeComponent.prototype, "maxLength", void 0);
324
324
  __decorate([
325
- HostListener('click')
325
+ HostListener("click")
326
326
  ], TuiInputDateRangeComponent.prototype, "onClick", null);
327
327
  TuiInputDateRangeComponent = __decorate([
328
328
  Component({
329
- selector: 'tui-input-date-range',
329
+ selector: "tui-input-date-range",
330
330
  template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"dropdown\"\n [open]=\"open && canOpen\"\n (openChange)=\"onOpenChange($event)\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n tuiTextfieldInputMode=\"numeric\"\n class=\"textfield\"\n [pseudoFocused]=\"innerPseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [tuiTextfieldExampleText]=\"computedExampleText\"\n [nativeId]=\"nativeId\"\n [filler]=\"getComputedRangeFiller(dateFiller)\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"computedMobile ? mobileIconContent : iconContent\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"computedMask\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #mobileIconContent>\n <tui-svg\n automation-id=\"tui-input-date-range__icon\"\n [class.icon]=\"!computedDisabled\"\n [src]=\"calendarIcon\"\n (click)=\"onMobileClick()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #iconContent>\n <tui-svg\n [class.icon]=\"!computedDisabled\"\n [src]=\"calendarIcon\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [min]=\"min\"\n [max]=\"max\"\n [markerHandler]=\"markerHandler\"\n [minLength]=\"minLength\"\n [maxLength]=\"maxLength\"\n [value]=\"value\"\n (valueChange)=\"onRangeChange($event)\"\n ></tui-calendar-range>\n </ng-template>\n</tui-hosted-dropdown>\n",
331
331
  providers: TUI_INPUT_DATE_RANGE_PROVIDERS,
332
332
  styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}:host._disabled{pointer-events:none}.hosted{display:block;border-radius:inherit}.textfield{border-radius:inherit;text-align:inherit}.icon{pointer-events:auto}"]
@@ -351,4 +351,4 @@ var TuiInputDateRangeComponent = /** @class */ (function (_super) {
351
351
  return TuiInputDateRangeComponent;
352
352
  }(AbstractTuiNullableControl));
353
353
  export { TuiInputDateRangeComponent };
354
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS1yYW5nZS8iLCJzb3VyY2VzIjpbImlucHV0LWRhdGUtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixhQUFhLEVBQ2IsWUFBWSxFQU1aLFdBQVcsRUFDWCxjQUFjLEVBR2QsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQiw4QkFBOEIsRUFDOUIsZ0NBQWdDLEVBQ2hDLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIscUJBQXFCLEdBQ3hCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFVBQVUsRUFBRSwyQkFBMkIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2hGLE9BQU8sRUFDSCxnQ0FBZ0MsRUFDaEMsY0FBYyxFQUNkLG1CQUFtQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDSCxtQ0FBbUMsRUFDbkMs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Q0FBQyxDQUFBO1FBRXRCLFlBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixZQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO09BM0VwQywwQkFBMEIsQ0E0VXRDO0lBQUQsaUNBQUM7Q0FBQSxBQTVVRCxDQUNZLDBCQUEwQixHQTJVckM7U0E1VVksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIERBVEVfUkFOR0VfRklMTEVSX0xFTkdUSCxcbiAgICBudWxsYWJsZVNhbWUsXG4gICAgUkFOR0VfU0VQQVJBVE9SX0NIQVIsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfREFURV9GT1JNQVQsXG4gICAgVFVJX0RBVEVfU0VQQVJBVE9SLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXIsXG4gICAgVHVpRGF0ZU1vZGUsXG4gICAgVHVpRGF5LFxuICAgIFR1aURheUxpa2UsXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1hcHBlcixcbiAgICBUdWlNb250aCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHNpemVCaWdnZXIsXG4gICAgVFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVIsXG4gICAgVFVJX1RFWFRGSUVMRF9FWEFNUExFX1RFWFQsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aURpYWxvZ1NlcnZpY2UsXG4gICAgVHVpTWFya2VySGFuZGxlcixcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkRXhhbXBsZVRleHREaXJlY3RpdmUsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG4gICAgVHVpV2l0aE9wdGlvbmFsTWluTWF4LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aURheVJhbmdlUGVyaW9kfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtFTVBUWV9NQVNLLCBNQVhfREFZX1JBTkdFX0xFTkdUSF9NQVBQRVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gICAgVFVJX0RBVEVfUkFOR0VfVkFMVUVfVFJBTlNGT1JNRVIsXG4gICAgVFVJX0RBVEVfVEVYVFMsXG4gICAgVFVJX01PQklMRV9DQUxFTkRBUixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVJhbmdlUGlwZSxcbiAgICB0dWlDcmVhdGVEYXRlUmFuZ2VNYXNrLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL21hc2snO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb21wb25lbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfREFURV9SQU5HRV9QUk9WSURFUlN9IGZyb20gJy4vaW5wdXQtZGF0ZS1yYW5nZS5wcm92aWRlcnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtZGF0ZS1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWRhdGUtcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZGF0ZS1yYW5nZS5zdHlsZS5sZXNzJ10sXG4gICAgcHJvdmlkZXJzOiBUVUlfSU5QVVRfREFURV9SQU5HRV9QUk9WSURFUlMsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlEYXlSYW5nZT5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlEYXk+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dE1hc2tPcHRpb25zOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IHR1aUNyZWF0ZURhdGVSYW5nZU1hc2sodGhpcy5kYXRlRm9ybWF0LCB0aGlzLmRhdGVTZXBhcmF0b3IpLFxuICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVJhbmdlUGlwZSh0aGlzKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgPSBUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWZhdWx0Vmlld2VkTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtczogcmVhZG9ubHkgVHVpRGF5UmFuZ2VQZXJpb2RbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heExlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgbWF4TGVuZ3RoTWFwcGVyOiBUdWlNYXBwZXI8VHVpRGF5LCBUdWlEYXk+ID0gTUFYX0RBWV9SQU5HRV9MRU5HVEhfTUFQUEVSO1xuICAgIHJlYWRvbmx5IGRhdGVGaWxsZXIkID0gdGhpcy5kYXRlVGV4dHMkLnBpcGUoXG4gICAgICAgIG1hcChkYXRlVGV4dHMgPT5cbiAgICAgICAgICAgIGNoYW5nZURhdGVTZXBhcmF0b3IoZGF0ZVRleHRzW3RoaXMuZGF0ZUZvcm1hdF0sIHRoaXMuZGF0ZVNlcGFyYXRvciksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoSW5qZWN0b3IpIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVHVpRGlhbG9nU2VydmljZSkgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBUdWlEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9NT0JJTEVfQ0FMRU5EQVIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9iaWxlQ2FsZW5kYXI6IFR5cGU8b2JqZWN0PiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9FWEFNUExFX1RFWFQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkRXhhbXBsZVRleHQ6IFR1aVRleHRmaWVsZEV4YW1wbGVUZXh0RGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCkgcmVhZG9ubHkgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfU0VQQVJBVE9SKSByZWFkb25seSBkYXRlU2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGRhdGVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aURhdGVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfREFURV9SQU5HRV9WQUxVRV9UUkFOU0ZPUk1FUilcbiAgICAgICAgcmVhZG9ubHkgdmFsdWVUcmFuc2Zvcm1lcjogVHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXI8VHVpRGF5UmFuZ2UgfCBudWxsPiB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmLCB2YWx1ZVRyYW5zZm9ybWVyKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZCAmJiB0aGlzLnRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgJiYgISF0aGlzLm1vYmlsZUNhbGVuZGFyO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHNpemVCaWdnZXIodGhpcy50ZXh0ZmllbGRTaXplLnNpemUpXG4gICAgICAgICAgICA/ICd0dWlJY29uQ2FsZW5kYXJMYXJnZSdcbiAgICAgICAgICAgIDogJ3R1aUljb25DYWxlbmRhcic7XG4gICAgfVxuXG4gICAgZ2V0IGNhbk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlICYmICF0aGlzLmNvbXB1dGVkTW9iaWxlO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEV4YW1wbGVUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA/IHRoaXMudGV4dGZpZWxkRXhhbXBsZVRleHQuZXhhbXBsZVRleHQgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNYXNrKCk6IFRleHRNYXNrQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmFjdGl2ZVBlcmlvZFxuICAgICAgICAgICAgPyBFTVBUWV9NQVNLXG4gICAgICAgICAgICA6IHRoaXMudGV4dE1hc2tPcHRpb25zKSBhcyBUdWlUZXh0TWFza09wdGlvbnMgYXMgdW5rbm93biBhcyBUZXh0TWFza0NvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlUGVyaW9kKCk6IFR1aURheVJhbmdlUGVyaW9kIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PlxuICAgICAgICAgICAgICAgIG51bGxhYmxlU2FtZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5yYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBhLmZyb20uZGF5U2FtZShiLmZyb20uZGF5TGltaXQodGhpcy5taW4sIHRoaXMubWF4KSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGEudG8uZGF5U2FtZShiLnRvLmRheUxpbWl0KHRoaXMubWluLCB0aGlzLm1heCkpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApIHx8IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7dmFsdWUsIG5hdGl2ZVZhbHVlLCBhY3RpdmVQZXJpb2R9ID0gdGhpcztcblxuICAgICAgICBpZiAoYWN0aXZlUGVyaW9kKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGFjdGl2ZVBlcmlvZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgID8gdmFsdWUuZ2V0Rm9ybWF0dGVkRGF5UmFuZ2UodGhpcy5kYXRlRm9ybWF0LCB0aGlzLmRhdGVTZXBhcmF0b3IpXG4gICAgICAgICAgICA6IG5hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIGdldCBpbm5lclBzZXVkb0ZvY3VzZWQoKTogYm9vbGVhbiB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5wc2V1ZG9Gb2N1c2VkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3BlbiB8fCB0aGlzLmNvbXB1dGVkRm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA6ICcnO1xuICAgIH1cblxuICAgIHNldCBuYXRpdmVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q29tcHV0ZWRSYW5nZUZpbGxlcihkYXRlRmlsbGVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVQZXJpb2QgPyAnJyA6IHRoaXMuZ2V0RGF0ZVJhbmdlRmlsbGVyKGRhdGVGaWxsZXIpO1xuICAgIH1cblxuICAgIG9uTW9iaWxlQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tb2JpbGVDYWxlbmRhcikge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAgICAgICAub3BlbjxUdWlEYXlSYW5nZT4oXG4gICAgICAgICAgICAgICAgbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudCh0aGlzLm1vYmlsZUNhbGVuZGFyLCB0aGlzLmluamVjdG9yKSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6ICdmdWxsc2NyZWVuJyxcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5tYXhMZW5ndGhNYXBwZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5taW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1heExlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXhMZW5ndGhNYXBwZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1heExlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiB0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCAhPT0gREFURV9SQU5HRV9GSUxMRVJfTEVOR1RIKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IFR1aURheVJhbmdlLm5vcm1hbGl6ZVBhcnNlKHZhbHVlLCB0aGlzLmRhdGVGb3JtYXQpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICAhdGhpcy5taW5MZW5ndGggJiYgIXRoaXMubWF4TGVuZ3RoXG4gICAgICAgICAgICAgICAgPyBwYXJzZWRWYWx1ZVxuICAgICAgICAgICAgICAgIDogdGhpcy5jbGFtcFZhbHVlKHBhcnNlZFZhbHVlKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvblJhbmdlQ2hhbmdlKHJhbmdlOiBUdWlEYXlSYW5nZSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG5cbiAgICAgICAgaWYgKCFyYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFudWxsYWJsZVNhbWU8VHVpRGF5UmFuZ2U+KHRoaXMudmFsdWUsIHJhbmdlLCAoYSwgYikgPT4gYS5kYXlTYW1lKGIpKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShyYW5nZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkl0ZW1TZWxlY3QoaXRlbTogc3RyaW5nIHwgVHVpRGF5UmFuZ2VQZXJpb2QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShpdGVtLnJhbmdlLmRheUxpbWl0KHRoaXMubWluLCB0aGlzLm1heCkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hY3RpdmVQZXJpb2QgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhZm9jdXNlZCAmJlxuICAgICAgICAgICAgIXRoaXMuaXRlbVNlbGVjdGVkICYmXG4gICAgICAgICAgICAodGhpcy5uYXRpdmVWYWx1ZS5sZW5ndGggPT09IERBVEVfRklMTEVSX0xFTkdUSCB8fFxuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUubGVuZ3RoID09PVxuICAgICAgICAgICAgICAgICAgICBEQVRFX0ZJTExFUl9MRU5HVEggKyBSQU5HRV9TRVBBUkFUT1JfQ0hBUi5sZW5ndGgpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgICAgICBUdWlEYXlSYW5nZS5ub3JtYWxpemVQYXJzZSh0aGlzLm5hdGl2ZVZhbHVlLCB0aGlzLmRhdGVGb3JtYXQpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlID8gdGhpcy5jb21wdXRlZFZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXRlbVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBTdHJpbmcoaXRlbSkgPT09IHRoaXMubmF0aXZlVmFsdWUpICE9PSAtMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQocHJldmVudFNjcm9sbDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LCB0cnVlLCBwcmV2ZW50U2Nyb2xsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xhbXBWYWx1ZSh2YWx1ZTogVHVpRGF5UmFuZ2UpOiBUdWlEYXlSYW5nZSB7XG4gICAgICAgIGNvbnN0IGNsYW1wZWRCb3R0b20gPVxuICAgICAgICAgICAgdGhpcy5taW5MZW5ndGggJiYgdmFsdWUuZnJvbS5hcHBlbmQodGhpcy5taW5MZW5ndGgpLmRheUFmdGVyKHZhbHVlLnRvKVxuICAgICAgICAgICAgICAgID8gbmV3IFR1aURheVJhbmdlKFxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmZyb20sXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWUuZnJvbS5hcHBlbmQodGhpcy5taW5MZW5ndGgpLmFwcGVuZCh7ZGF5OiAtMX0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdmFsdWU7XG5cbiAgICAgICAgY29uc3QgYXZhaWxhYmxlTWF4ID0gdGhpcy5tYXhMZW5ndGhcbiAgICAgICAgICAgID8gY2xhbXBlZEJvdHRvbS5mcm9tLmFwcGVuZCh0aGlzLm1heExlbmd0aCkuYXBwZW5kKHtkYXk6IC0xfSlcbiAgICAgICAgICAgIDogdGhpcy5tYXg7XG5cbiAgICAgICAgcmV0dXJuIGNsYW1wZWRCb3R0b20udG8uZGF5QWZ0ZXIoYXZhaWxhYmxlTWF4KVxuICAgICAgICAgICAgPyBuZXcgVHVpRGF5UmFuZ2UoY2xhbXBlZEJvdHRvbS5mcm9tLCBhdmFpbGFibGVNYXgpXG4gICAgICAgICAgICA6IGNsYW1wZWRCb3R0b207XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREYXRlUmFuZ2VGaWxsZXIoZGF0ZUZpbGxlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2RhdGVGaWxsZXJ9JHtSQU5HRV9TRVBBUkFUT1JfQ0hBUn0ke2RhdGVGaWxsZXJ9YDtcbiAgICB9XG59XG4iXX0=
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS1yYW5nZS8iLCJzb3VyY2VzIjpbImlucHV0LWRhdGUtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixhQUFhLEVBQ2IsWUFBWSxFQU1aLFdBQVcsRUFDWCxjQUFjLEVBR2QsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQiw4QkFBOEIsRUFDOUIsZ0NBQWdDLEVBQ2hDLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIscUJBQXFCLEdBQ3hCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFVBQVUsRUFBRSwyQkFBMkIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2hGLE9BQU8sRUFDSCxnQ0FBZ0MsRUFDaEMsY0FBYyxFQUNkLG1CQUFtQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDSCxtQ0FBbUMsRUFDbkMs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Q0FBQyxDQUFBO1FBRXRCLFlBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixZQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO09BM0VwQywwQkFBMEIsQ0E0VXRDO0lBQUQsaUNBQUM7Q0FBQSxBQTVVRCxDQUNZLDBCQUEwQixHQTJVckM7U0E1VVksMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIERBVEVfUkFOR0VfRklMTEVSX0xFTkdUSCxcbiAgICBudWxsYWJsZVNhbWUsXG4gICAgUkFOR0VfU0VQQVJBVE9SX0NIQVIsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfREFURV9GT1JNQVQsXG4gICAgVFVJX0RBVEVfU0VQQVJBVE9SLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXIsXG4gICAgVHVpRGF0ZU1vZGUsXG4gICAgVHVpRGF5LFxuICAgIFR1aURheUxpa2UsXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1hcHBlcixcbiAgICBUdWlNb250aCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHNpemVCaWdnZXIsXG4gICAgVFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVIsXG4gICAgVFVJX1RFWFRGSUVMRF9FWEFNUExFX1RFWFQsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aURpYWxvZ1NlcnZpY2UsXG4gICAgVHVpTWFya2VySGFuZGxlcixcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkRXhhbXBsZVRleHREaXJlY3RpdmUsXG4gICAgVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG4gICAgVHVpV2l0aE9wdGlvbmFsTWluTWF4LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aURheVJhbmdlUGVyaW9kfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtFTVBUWV9NQVNLLCBNQVhfREFZX1JBTkdFX0xFTkdUSF9NQVBQRVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gICAgVFVJX0RBVEVfUkFOR0VfVkFMVUVfVFJBTlNGT1JNRVIsXG4gICAgVFVJX0RBVEVfVEVYVFMsXG4gICAgVFVJX01PQklMRV9DQUxFTkRBUixcbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtcbiAgICB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVJhbmdlUGlwZSxcbiAgICB0dWlDcmVhdGVEYXRlUmFuZ2VNYXNrLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzL21hc2snO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb21wb25lbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfREFURV9SQU5HRV9QUk9WSURFUlN9IGZyb20gJy4vaW5wdXQtZGF0ZS1yYW5nZS5wcm92aWRlcnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtZGF0ZS1yYW5nZWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2lucHV0LWRhdGUtcmFuZ2UudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaW5wdXQtZGF0ZS1yYW5nZS5zdHlsZS5sZXNzYF0sXG4gICAgcHJvdmlkZXJzOiBUVUlfSU5QVVRfREFURV9SQU5HRV9QUk9WSURFUlMsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlEYXlSYW5nZT5cbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlEYXk+LCBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dE1hc2tPcHRpb25zOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IHR1aUNyZWF0ZURhdGVSYW5nZU1hc2sodGhpcy5kYXRlRm9ybWF0LCB0aGlzLmRhdGVTZXBhcmF0b3IpLFxuICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVJhbmdlUGlwZSh0aGlzKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgPSBUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWZhdWx0Vmlld2VkTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpdGVtczogcmVhZG9ubHkgVHVpRGF5UmFuZ2VQZXJpb2RbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heExlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgcmVhZG9ubHkgbWF4TGVuZ3RoTWFwcGVyOiBUdWlNYXBwZXI8VHVpRGF5LCBUdWlEYXk+ID0gTUFYX0RBWV9SQU5HRV9MRU5HVEhfTUFQUEVSO1xuICAgIHJlYWRvbmx5IGRhdGVGaWxsZXIkID0gdGhpcy5kYXRlVGV4dHMkLnBpcGUoXG4gICAgICAgIG1hcChkYXRlVGV4dHMgPT5cbiAgICAgICAgICAgIGNoYW5nZURhdGVTZXBhcmF0b3IoZGF0ZVRleHRzW3RoaXMuZGF0ZUZvcm1hdF0sIHRoaXMuZGF0ZVNlcGFyYXRvciksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoSW5qZWN0b3IpIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19NT0JJTEUpIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGU6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVHVpRGlhbG9nU2VydmljZSkgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBUdWlEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9NT0JJTEVfQ0FMRU5EQVIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9iaWxlQ2FsZW5kYXI6IFR5cGU8b2JqZWN0PiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemU6IFR1aVRleHRmaWVsZFNpemVEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9FWEFNUExFX1RFWFQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkRXhhbXBsZVRleHQ6IFR1aVRleHRmaWVsZEV4YW1wbGVUZXh0RGlyZWN0aXZlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX0ZPUk1BVCkgcmVhZG9ubHkgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfU0VQQVJBVE9SKSByZWFkb25seSBkYXRlU2VwYXJhdG9yOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGRhdGVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aURhdGVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfREFURV9SQU5HRV9WQUxVRV9UUkFOU0ZPUk1FUilcbiAgICAgICAgcmVhZG9ubHkgdmFsdWVUcmFuc2Zvcm1lcjogVHVpQ29udHJvbFZhbHVlVHJhbnNmb3JtZXI8VHVpRGF5UmFuZ2UgfCBudWxsPiB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmLCB2YWx1ZVRyYW5zZm9ybWVyKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZCAmJiB0aGlzLnRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE1vYmlsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgJiYgISF0aGlzLm1vYmlsZUNhbGVuZGFyO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHNpemVCaWdnZXIodGhpcy50ZXh0ZmllbGRTaXplLnNpemUpXG4gICAgICAgICAgICA/IGB0dWlJY29uQ2FsZW5kYXJMYXJnZWBcbiAgICAgICAgICAgIDogYHR1aUljb25DYWxlbmRhcmA7XG4gICAgfVxuXG4gICAgZ2V0IGNhbk9wZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlICYmICF0aGlzLmNvbXB1dGVkTW9iaWxlO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEV4YW1wbGVUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA/IHRoaXMudGV4dGZpZWxkRXhhbXBsZVRleHQuZXhhbXBsZVRleHQgOiBgYDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNYXNrKCk6IFRleHRNYXNrQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmFjdGl2ZVBlcmlvZFxuICAgICAgICAgICAgPyBFTVBUWV9NQVNLXG4gICAgICAgICAgICA6IHRoaXMudGV4dE1hc2tPcHRpb25zKSBhcyBUdWlUZXh0TWFza09wdGlvbnMgYXMgdW5rbm93biBhcyBUZXh0TWFza0NvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgYWN0aXZlUGVyaW9kKCk6IFR1aURheVJhbmdlUGVyaW9kIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PlxuICAgICAgICAgICAgICAgIG51bGxhYmxlU2FtZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5yYW5nZSxcbiAgICAgICAgICAgICAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBhLmZyb20uZGF5U2FtZShiLmZyb20uZGF5TGltaXQodGhpcy5taW4sIHRoaXMubWF4KSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGEudG8uZGF5U2FtZShiLnRvLmRheUxpbWl0KHRoaXMubWluLCB0aGlzLm1heCkpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApIHx8IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7dmFsdWUsIG5hdGl2ZVZhbHVlLCBhY3RpdmVQZXJpb2R9ID0gdGhpcztcblxuICAgICAgICBpZiAoYWN0aXZlUGVyaW9kKSB7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGFjdGl2ZVBlcmlvZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgID8gdmFsdWUuZ2V0Rm9ybWF0dGVkRGF5UmFuZ2UodGhpcy5kYXRlRm9ybWF0LCB0aGlzLmRhdGVTZXBhcmF0b3IpXG4gICAgICAgICAgICA6IG5hdGl2ZVZhbHVlO1xuICAgIH1cblxuICAgIGdldCBpbm5lclBzZXVkb0ZvY3VzZWQoKTogYm9vbGVhbiB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5wc2V1ZG9Gb2N1c2VkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3BlbiB8fCB0aGlzLmNvbXB1dGVkRm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCA/IHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA6IGBgO1xuICAgIH1cblxuICAgIHNldCBuYXRpdmVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGBjbGlja2ApXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q29tcHV0ZWRSYW5nZUZpbGxlcihkYXRlRmlsbGVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVQZXJpb2QgPyBgYCA6IHRoaXMuZ2V0RGF0ZVJhbmdlRmlsbGVyKGRhdGVGaWxsZXIpO1xuICAgIH1cblxuICAgIG9uTW9iaWxlQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tb2JpbGVDYWxlbmRhcikge1xuICAgICAgICAgICAgdGhpcy50b2dnbGUoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAgICAgICAub3BlbjxUdWlEYXlSYW5nZT4oXG4gICAgICAgICAgICAgICAgbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudCh0aGlzLm1vYmlsZUNhbGVuZGFyLCB0aGlzLmluamVjdG9yKSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGBmdWxsc2NyZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5tYXhMZW5ndGhNYXBwZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5taW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1heExlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXhMZW5ndGhNYXBwZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1heExlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiB0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25PcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoe2VtaXRFdmVudDogZmFsc2V9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMub25PcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCAhPT0gREFURV9SQU5HRV9GSUxMRVJfTEVOR1RIKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IFR1aURheVJhbmdlLm5vcm1hbGl6ZVBhcnNlKHZhbHVlLCB0aGlzLmRhdGVGb3JtYXQpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICAhdGhpcy5taW5MZW5ndGggJiYgIXRoaXMubWF4TGVuZ3RoXG4gICAgICAgICAgICAgICAgPyBwYXJzZWRWYWx1ZVxuICAgICAgICAgICAgICAgIDogdGhpcy5jbGFtcFZhbHVlKHBhcnNlZFZhbHVlKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvblJhbmdlQ2hhbmdlKHJhbmdlOiBUdWlEYXlSYW5nZSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG5cbiAgICAgICAgaWYgKCFyYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IGBgO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFudWxsYWJsZVNhbWU8VHVpRGF5UmFuZ2U+KHRoaXMudmFsdWUsIHJhbmdlLCAoYSwgYikgPT4gYS5kYXlTYW1lKGIpKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShyYW5nZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkl0ZW1TZWxlY3QoaXRlbTogc3RyaW5nIHwgVHVpRGF5UmFuZ2VQZXJpb2QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtICE9PSBgc3RyaW5nYCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShpdGVtLnJhbmdlLmRheUxpbWl0KHRoaXMubWluLCB0aGlzLm1heCkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hY3RpdmVQZXJpb2QgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gYGA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhZm9jdXNlZCAmJlxuICAgICAgICAgICAgIXRoaXMuaXRlbVNlbGVjdGVkICYmXG4gICAgICAgICAgICAodGhpcy5uYXRpdmVWYWx1ZS5sZW5ndGggPT09IERBVEVfRklMTEVSX0xFTkdUSCB8fFxuICAgICAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUubGVuZ3RoID09PVxuICAgICAgICAgICAgICAgICAgICBEQVRFX0ZJTExFUl9MRU5HVEggKyBSQU5HRV9TRVBBUkFUT1JfQ0hBUi5sZW5ndGgpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgICAgICBUdWlEYXlSYW5nZS5ub3JtYWxpemVQYXJzZSh0aGlzLm5hdGl2ZVZhbHVlLCB0aGlzLmRhdGVGb3JtYXQpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlID8gdGhpcy5jb21wdXRlZFZhbHVlIDogYGA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXRlbVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBTdHJpbmcoaXRlbSkgPT09IHRoaXMubmF0aXZlVmFsdWUpICE9PSAtMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQocHJldmVudFNjcm9sbDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LCB0cnVlLCBwcmV2ZW50U2Nyb2xsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xhbXBWYWx1ZSh2YWx1ZTogVHVpRGF5UmFuZ2UpOiBUdWlEYXlSYW5nZSB7XG4gICAgICAgIGNvbnN0IGNsYW1wZWRCb3R0b20gPVxuICAgICAgICAgICAgdGhpcy5taW5MZW5ndGggJiYgdmFsdWUuZnJvbS5hcHBlbmQodGhpcy5taW5MZW5ndGgpLmRheUFmdGVyKHZhbHVlLnRvKVxuICAgICAgICAgICAgICAgID8gbmV3IFR1aURheVJhbmdlKFxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmZyb20sXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWUuZnJvbS5hcHBlbmQodGhpcy5taW5MZW5ndGgpLmFwcGVuZCh7ZGF5OiAtMX0pLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdmFsdWU7XG5cbiAgICAgICAgY29uc3QgYXZhaWxhYmxlTWF4ID0gdGhpcy5tYXhMZW5ndGhcbiAgICAgICAgICAgID8gY2xhbXBlZEJvdHRvbS5mcm9tLmFwcGVuZCh0aGlzLm1heExlbmd0aCkuYXBwZW5kKHtkYXk6IC0xfSlcbiAgICAgICAgICAgIDogdGhpcy5tYXg7XG5cbiAgICAgICAgcmV0dXJuIGNsYW1wZWRCb3R0b20udG8uZGF5QWZ0ZXIoYXZhaWxhYmxlTWF4KVxuICAgICAgICAgICAgPyBuZXcgVHVpRGF5UmFuZ2UoY2xhbXBlZEJvdHRvbS5mcm9tLCBhdmFpbGFibGVNYXgpXG4gICAgICAgICAgICA6IGNsYW1wZWRCb3R0b207XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREYXRlUmFuZ2VGaWxsZXIoZGF0ZUZpbGxlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2RhdGVGaWxsZXJ9JHtSQU5HRV9TRVBBUkFUT1JfQ0hBUn0ke2RhdGVGaWxsZXJ9YDtcbiAgICB9XG59XG4iXX0=
@@ -18,12 +18,12 @@ var TuiInputDateRangeDirective = /** @class */ (function (_super) {
18
18
  this.host.onValueChange(value);
19
19
  };
20
20
  TuiInputDateRangeDirective.prototype.process = function (input) {
21
- input.inputMode = 'numeric';
21
+ input.inputMode = "numeric";
22
22
  };
23
23
  var TuiInputDateRangeDirective_1;
24
24
  TuiInputDateRangeDirective = TuiInputDateRangeDirective_1 = __decorate([
25
25
  Directive({
26
- selector: 'tui-input-date-range',
26
+ selector: "tui-input-date-range",
27
27
  providers: [
28
28
  {
29
29
  provide: TUI_TEXTFIELD_HOST,
@@ -35,4 +35,4 @@ var TuiInputDateRangeDirective = /** @class */ (function (_super) {
35
35
  return TuiInputDateRangeDirective;
36
36
  }(TuiAbstractTextfieldHost));
37
37
  export { TuiInputDateRangeDirective };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS1yYW5nZS8iLCJzb3VyY2VzIjpbImlucHV0LWRhdGUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWE1RTtJQUFnRCw4Q0FBb0Q7SUFBcEc7O0lBWUEsQ0FBQzttQ0FaWSwwQkFBMEI7SUFDbkMsc0JBQUksNkNBQUs7YUFBVDtZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsQ0FBQzs7O09BQUE7SUFFRCxrREFBYSxHQUFiLFVBQWMsS0FBYTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsNENBQU8sR0FBUCxVQUFRLEtBQXVCO1FBQzNCLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7O0lBWFEsMEJBQTBCO1FBVHRDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLDRCQUEwQixFQUExQixDQUEwQixDQUFDO2lCQUM1RDthQUNKO1NBQ0osQ0FBQztPQUNXLDBCQUEwQixDQVl0QztJQUFELGlDQUFDO0NBQUEsQUFaRCxDQUFnRCx3QkFBd0IsR0FZdkU7U0FaWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgZm9yd2FyZFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9URVhURklFTERfSE9TVCwgVHVpQWJzdHJhY3RUZXh0ZmllbGRIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpSW5wdXREYXRlUmFuZ2VDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZGF0ZS1yYW5nZS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1kYXRlLXJhbmdlJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmUpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVJhbmdlRGlyZWN0aXZlIGV4dGVuZHMgVHVpQWJzdHJhY3RUZXh0ZmllbGRIb3N0PFR1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50PiB7XG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuY29tcHV0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0Lm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHByb2Nlc3MoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaW5wdXQuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuICAgIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS1yYW5nZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtZGF0ZS1yYW5nZS8iLCJzb3VyY2VzIjpbImlucHV0LWRhdGUtcmFuZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWE1RTtJQUFnRCw4Q0FBb0Q7SUFBcEc7O0lBWUEsQ0FBQzttQ0FaWSwwQkFBMEI7SUFDbkMsc0JBQUksNkNBQUs7YUFBVDtZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsQ0FBQzs7O09BQUE7SUFFRCxrREFBYSxHQUFiLFVBQWMsS0FBYTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsNENBQU8sR0FBUCxVQUFRLEtBQXVCO1FBQzNCLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7O0lBWFEsMEJBQTBCO1FBVHRDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxzQkFBc0I7WUFDaEMsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLDRCQUEwQixFQUExQixDQUEwQixDQUFDO2lCQUM1RDthQUNKO1NBQ0osQ0FBQztPQUNXLDBCQUEwQixDQVl0QztJQUFELGlDQUFDO0NBQUEsQUFaRCxDQUFnRCx3QkFBd0IsR0FZdkU7U0FaWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgZm9yd2FyZFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9URVhURklFTERfSE9TVCwgVHVpQWJzdHJhY3RUZXh0ZmllbGRIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpSW5wdXREYXRlUmFuZ2VDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZGF0ZS1yYW5nZS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogYHR1aS1pbnB1dC1kYXRlLXJhbmdlYCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXREYXRlUmFuZ2VEaXJlY3RpdmUpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0RGF0ZVJhbmdlRGlyZWN0aXZlIGV4dGVuZHMgVHVpQWJzdHJhY3RUZXh0ZmllbGRIb3N0PFR1aUlucHV0RGF0ZVJhbmdlQ29tcG9uZW50PiB7XG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuY29tcHV0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0Lm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHByb2Nlc3MoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaW5wdXQuaW5wdXRNb2RlID0gYG51bWVyaWNgO1xuICAgIH1cbn1cbiJdfQ==
@@ -25,7 +25,7 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
25
25
  _this.max = TUI_LAST_DAY;
26
26
  _this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
27
27
  _this.defaultActiveYearMonth = TuiMonth.currentLocal();
28
- _this.timeMode = 'HH:MM';
28
+ _this.timeMode = "HH:MM";
29
29
  _this.open = false;
30
30
  _this.filler$ = combineLatest([
31
31
  _this.dateTexts$.pipe(map(function (dateTexts) {
@@ -66,8 +66,8 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
66
66
  Object.defineProperty(TuiInputDateTimeComponent.prototype, "calendarIcon", {
67
67
  get: function () {
68
68
  return sizeBigger(this.textfieldSize.size)
69
- ? 'tuiIconCalendarLarge'
70
- : 'tuiIconCalendar';
69
+ ? "tuiIconCalendarLarge"
70
+ : "tuiIconCalendar";
71
71
  },
72
72
  enumerable: true,
73
73
  configurable: true
@@ -115,7 +115,7 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
115
115
  });
116
116
  Object.defineProperty(TuiInputDateTimeComponent.prototype, "nativeValue", {
117
117
  get: function () {
118
- return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';
118
+ return this.nativeFocusableElement ? this.nativeFocusableElement.value : "";
119
119
  },
120
120
  set: function (value) {
121
121
  if (!this.nativeFocusableElement) {
@@ -167,7 +167,7 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
167
167
  this.value[0] === null ||
168
168
  this.value[1] !== null ||
169
169
  this.nativeValue.length <= this.fillerLength + DATE_TIME_SEPARATOR.length ||
170
- this.timeMode === 'HH:MM') {
170
+ this.timeMode === "HH:MM") {
171
171
  return;
172
172
  }
173
173
  var _a = __read(this.nativeValue.split(DATE_TIME_SEPARATOR), 2), time = _a[1];
@@ -177,7 +177,7 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
177
177
  var parsedTime = TuiTime.fromString(time);
178
178
  this.updateValue([this.value[0], parsedTime]);
179
179
  setTimeout(function () {
180
- if (_this.nativeValue.endsWith('.') || _this.nativeValue.endsWith(':')) {
180
+ if (_this.nativeValue.endsWith(".") || _this.nativeValue.endsWith(":")) {
181
181
  _this.nativeValue = _this.nativeValue.slice(0, -1);
182
182
  }
183
183
  });
@@ -188,7 +188,7 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
188
188
  };
189
189
  TuiInputDateTimeComponent.prototype.writeValue = function (value) {
190
190
  _super.prototype.writeValue.call(this, value);
191
- this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : '';
191
+ this.nativeValue = value && (value[0] || value[1]) ? this.computedValue : "";
192
192
  };
193
193
  TuiInputDateTimeComponent.prototype.getFallbackValue = function () {
194
194
  return [null, null];
@@ -200,8 +200,8 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
200
200
  TuiInputDateTimeComponent.prototype.calculateMask = function (day, min, max, timeMode, dateFormat, dateSeparator) {
201
201
  return {
202
202
  mask: __spread(tuiCreateDateMask(dateFormat, dateSeparator), [
203
- ',',
204
- ' '
203
+ ",",
204
+ " "
205
205
  ], tuiCreateTimeMask(timeMode)),
206
206
  pipe: tuiCreateAutoCorrectedDateTimePipe({
207
207
  value: day,
@@ -215,15 +215,15 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
215
215
  };
216
216
  };
217
217
  TuiInputDateTimeComponent.prototype.getDateTimeString = function (date, time, timeMode) {
218
- if (timeMode === void 0) { timeMode = 'HH:MM'; }
218
+ if (timeMode === void 0) { timeMode = "HH:MM"; }
219
219
  var dateString = date instanceof TuiDay
220
220
  ? date.toString(this.dateFormat, this.dateSeparator)
221
221
  : date;
222
- var timeString = time instanceof TuiTime ? time.toString(timeMode) : time || '';
222
+ var timeString = time instanceof TuiTime ? time.toString(timeMode) : time || "";
223
223
  return "" + dateString + DATE_TIME_SEPARATOR + timeString;
224
224
  };
225
225
  TuiInputDateTimeComponent.prototype.updateNativeValue = function (day) {
226
- var time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || '';
226
+ var time = this.nativeValue.split(DATE_TIME_SEPARATOR)[1] || "";
227
227
  this.nativeValue = this.getDateTimeString(day, time);
228
228
  };
229
229
  TuiInputDateTimeComponent.prototype.clampTime = function (time, day) {
@@ -270,7 +270,7 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
270
270
  tuiDefaultProp()
271
271
  ], TuiInputDateTimeComponent.prototype, "timeMode", void 0);
272
272
  __decorate([
273
- HostListener('click')
273
+ HostListener("click")
274
274
  ], TuiInputDateTimeComponent.prototype, "onClick", null);
275
275
  __decorate([
276
276
  tuiPure
@@ -280,7 +280,7 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
280
280
  ], TuiInputDateTimeComponent.prototype, "getDateTimeString", null);
281
281
  TuiInputDateTimeComponent = __decorate([
282
282
  Component({
283
- selector: 'tui-input-date-time',
283
+ selector: "tui-input-date-time",
284
284
  template: "<tui-hosted-dropdown\n class=\"hosted\"\n [canOpen]=\"interactive\"\n [content]=\"dropdown\"\n [open]=\"open && interactive\"\n (openChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input-date-time__textfield\"\n tuiValueAccessor\n tuiTextfieldInputMode=\"numeric\"\n class=\"textfield\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [invalid]=\"computedInvalid\"\n [filler]=\"(filler$ | async) || ''\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"iconContent\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"textMaskOptions\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (focusedChange)=\"onFocused($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-svg\n [class.icon]=\"!computedDisabled\"\n [src]=\"calendarIcon\"\n ></tui-svg>\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n tuiPreventDefault=\"mousedown\"\n automation-id=\"tui-input-date-time__calendar\"\n [min]=\"calendarMinDay\"\n [max]=\"calendarMaxDay\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"calendarValue\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n ></tui-calendar>\n </ng-template>\n</tui-hosted-dropdown>\n",
285
285
  changeDetection: ChangeDetectionStrategy.OnPush,
286
286
  providers: TUI_INPUT_DATE_TIME_PROVIDERS,
@@ -301,4 +301,4 @@ var TuiInputDateTimeComponent = /** @class */ (function (_super) {
301
301
  return TuiInputDateTimeComponent;
302
302
  }(AbstractTuiControl));
303
303
  export { TuiInputDateTimeComponent };
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixLQUFLLEVBQ0wsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBTVosTUFBTSxFQUNOLGNBQWMsRUFFZCxRQUFRLEVBQ1IsT0FBTyxFQUNQLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixxQkFBcUIsR0FDeEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsY0FBYyxFQUNkLCtCQUErQixFQUMvQixjQUFjLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyxpQkFBaUIsRUFDakIsaUJBQWlCLEdBQ3BCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxF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QyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFMUIsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDdkIsV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMxQixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUV0QixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUV0QixXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQTtPQTNEbkMseUJBQXlCLENBNlNyQztJQUFELGdDQUFDO0NBQUEsQUE3U0QsQ0FDWSxrQkFBa0IsR0E0UzdCO1NBN1NZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgY2xhbXAsXG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIG51bGxhYmxlU2FtZSxcbiAgICBUVUlfREFURV9GT1JNQVQsXG4gICAgVFVJX0RBVEVfU0VQQVJBVE9SLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcixcbiAgICBUdWlEYXRlTW9kZSxcbiAgICBUdWlEYXksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpVGltZSxcbiAgICBUdWlUaW1lTW9kZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHNpemVCaWdnZXIsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7REFURV9USU1FX1NFUEFSQVRPUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9URVhUUyxcbiAgICBUVUlfREFURV9USU1FX1ZBTFVFX1RSQU5TRk9STUVSLFxuICAgIFRVSV9USU1FX1RFWFRTLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1xuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlVGltZVBpcGUsXG4gICAgdHVpQ3JlYXRlRGF0ZU1hc2ssXG4gICAgdHVpQ3JlYXRlVGltZU1hc2ssXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvbWFzayc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBwbHVja30gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9EQVRFX1RJTUVfUFJPVklERVJTfSBmcm9tICcuL2lucHV0LWRhdGUtdGltZS5wcm92aWRlcnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtZGF0ZS10aW1lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZGF0ZS10aW1lLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWRhdGUtdGltZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBUVUlfSU5QVVRfREFURV9USU1FX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlVGltZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0+XG4gICAgaW1wbGVtZW50c1xuICAgICAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpRGF5IHwgW1R1aURheSwgVHVpVGltZV0+LFxuICAgICAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgbW9udGg6IFR1aU1vbnRoIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluOiBUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXSA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4OiBUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXSA9IFRVSV9MQVNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVmYXVsdEFjdGl2ZVllYXJNb250aCA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSA9ICdISDpNTSc7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSB0eXBlITogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPjtcblxuICAgIHJlYWRvbmx5IGZpbGxlciQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmRhdGVUZXh0cyQucGlwZShcbiAgICAgICAgICAgIG1hcChkYXRlVGV4dHMgPT5cbiAgICAgICAgICAgICAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yKGRhdGVUZXh0c1t0aGlzLmRhdGVGb3JtYXRdLCB0aGlzLmRhdGVTZXBhcmF0b3IpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy50aW1lVGV4dHMkLnBpcGUocGx1Y2sodGhpcy50aW1lTW9kZSkpLFxuICAgIF0pLnBpcGUobWFwKGZpbGxlcnMgPT4gdGhpcy5nZXREYXRlVGltZVN0cmluZyguLi5maWxsZXJzKSkpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZTogVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfREFURV9GT1JNQVQpIHJlYWRvbmx5IGRhdGVGb3JtYXQ6IFR1aURhdGVNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1NFUEFSQVRPUikgcmVhZG9ubHkgZGF0ZVNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9USU1FX1RFWFRTKVxuICAgICAgICByZWFkb25seSB0aW1lVGV4dHMkOiBPYnNlcnZhYmxlPFJlY29yZDxUdWlUaW1lTW9kZSwgc3RyaW5nPj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGRhdGVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aURhdGVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfREFURV9USU1FX1ZBTFVFX1RSQU5TRk9STUVSKVxuICAgICAgICByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyOiBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcjxcbiAgICAgICAgICAgIFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF1cbiAgICAgICAgPiB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmLCB2YWx1ZVRyYW5zZm9ybWVyKTtcbiAgICB9XG5cbiAgICBnZXQgZmlsbGVyTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBEQVRFX0ZJTExFUl9MRU5HVEggKyBEQVRFX1RJTUVfU0VQQVJBVE9SLmxlbmd0aCArIHRoaXMudGltZU1vZGUubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCB0ZXh0TWFza09wdGlvbnMoKTogVGV4dE1hc2tDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVNYXNrKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVswXSxcbiAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJNaW5EYXksXG4gICAgICAgICAgICB0aGlzLmNhbGVuZGFyTWF4RGF5LFxuICAgICAgICAgICAgdGhpcy50aW1lTW9kZSxcbiAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdCxcbiAgICAgICAgICAgIHRoaXMuZGF0ZVNlcGFyYXRvcixcbiAgICAgICAgKSBhcyBUdWlUZXh0TWFza09wdGlvbnMgYXMgdW5rbm93biBhcyBUZXh0TWFza0NvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZCAmJiB0aGlzLnRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHNpemVCaWdnZXIodGhpcy50ZXh0ZmllbGRTaXplLnNpemUpXG4gICAgICAgICAgICA/ICd0dWlJY29uQ2FsZW5kYXJMYXJnZSdcbiAgICAgICAgICAgIDogJ3R1aUljb25DYWxlbmRhcic7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBuYXRpdmVWYWx1ZSwgdGltZU1vZGV9ID0gdGhpcztcbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gdmFsdWU7XG4gICAgICAgIGNvbnN0IGhhc1RpbWVJbnB1dENoYXJzID0gbmF0aXZlVmFsdWUubGVuZ3RoID4gREFURV9GSUxMRVJfTEVOR1RIO1xuXG4gICAgICAgIGlmICghZGF0ZSB8fCAoIXRpbWUgJiYgaGFzVGltZUlucHV0Q2hhcnMpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmF0aXZlVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlVGltZVN0cmluZyhkYXRlLCB0aW1lLCB0aW1lTW9kZSk7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFyVmFsdWUoKTogVHVpRGF5IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlWzBdO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhck1pbkRheSgpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLm1pbikgPyB0aGlzLm1pblswXSA6IHRoaXMubWluO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhck1heERheSgpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLm1heCkgPyB0aGlzLm1heFswXSA6IHRoaXMubWF4O1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEFjdGl2ZVllYXJNb250aCgpOiBUdWlNb250aCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vbnRoIHx8IHRoaXMudmFsdWVbMF0gfHwgdGhpcy5kZWZhdWx0QWN0aXZlWWVhck1vbnRoO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPCBEQVRFX0ZJTExFUl9MRU5HVEgpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW251bGwsIG51bGxdKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gdmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUik7XG5cbiAgICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9IFR1aURheS5ub3JtYWxpemVQYXJzZShkYXRlLCB0aGlzLmRhdGVGb3JtYXQpO1xuICAgICAgICBjb25zdCBwYXJzZWRUaW1lID1cbiAgICAgICAgICAgIHRpbWUgJiYgdGltZS5sZW5ndGggPT09IHRoaXMudGltZU1vZGUubGVuZ3RoXG4gICAgICAgICAgICAgICAgPyB0aGlzLmNsYW1wVGltZShUdWlUaW1lLmZyb21TdHJpbmcodGltZSksIHBhcnNlZERhdGUpXG4gICAgICAgICAgICAgICAgOiBudWxsO1xuXG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFtwYXJzZWREYXRlLCBwYXJzZWRUaW1lXSk7XG4gICAgfVxuXG4gICAgb25EYXlDbGljayhkYXk6IFR1aURheSk6IHZvaWQge1xuICAgICAgICBjb25zdCBtb2RpZmllZFRpbWUgPSB0aGlzLnZhbHVlWzFdICYmIHRoaXMuY2xhbXBUaW1lKHRoaXMudmFsdWVbMV0sIGRheSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbZGF5LCBtb2RpZmllZFRpbWVdKTtcbiAgICAgICAgdGhpcy51cGRhdGVOYXRpdmVWYWx1ZShkYXkpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25Nb250aENoYW5nZShtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb250aCA9IG1vbnRoO1xuICAgIH1cblxuICAgIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGZvY3VzZWQgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWVbMF0gPT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWVbMV0gIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUubGVuZ3RoIDw9IHRoaXMuZmlsbGVyTGVuZ3RoICsgREFURV9USU1FX1NFUEFSQVRPUi5sZW5ndGggfHxcbiAgICAgICAgICAgIHRoaXMudGltZU1vZGUgPT09ICdISDpNTSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbLCB0aW1lXSA9IHRoaXMubmF0aXZlVmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUik7XG5cbiAgICAgICAgaWYgKCF0aW1lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWRUaW1lID0gVHVpVGltZS5mcm9tU3RyaW5nKHRpbWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW3RoaXMudmFsdWVbMF0sIHBhcnNlZFRpbWVdKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm5hdGl2ZVZhbHVlLmVuZHNXaXRoKCcuJykgfHwgdGhpcy5uYXRpdmVWYWx1ZS5lbmRzV2l0aCgnOicpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMubmF0aXZlVmFsdWUuc2xpY2UoMCwgLTEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB2YWx1ZSAmJiAodmFsdWVbMF0gfHwgdmFsdWVbMV0pID8gdGhpcy5jb21wdXRlZFZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSB7XG4gICAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlSWRlbnRpY2FsQ29tcGFyYXRvcihcbiAgICAgICAgb2xkVmFsdWU6IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0sXG4gICAgICAgIG5ld1ZhbHVlOiBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdLFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgbnVsbGFibGVTYW1lKG9sZFZhbHVlWzBdLCBuZXdWYWx1ZVswXSwgKGEsIGIpID0+IGEuZGF5U2FtZShiKSkgJiZcbiAgICAgICAgICAgIG51bGxhYmxlU2FtZShvbGRWYWx1ZVsxXSwgbmV3VmFsdWVbMV0sIChhLCBiKSA9PiBTdHJpbmcoYSkgPT09IFN0cmluZyhiKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlTWFzayhcbiAgICAgICAgZGF5OiBUdWlEYXkgfCBudWxsLFxuICAgICAgICBtaW46IFR1aURheSxcbiAgICAgICAgbWF4OiBUdWlEYXksXG4gICAgICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSxcbiAgICAgICAgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIGRhdGVTZXBhcmF0b3I6IHN0cmluZyxcbiAgICApOiBUdWlUZXh0TWFza09wdGlvbnMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWFzazogW1xuICAgICAgICAgICAgICAgIC4uLnR1aUNyZWF0ZURhdGVNYXNrKGRhdGVGb3JtYXQsIGRhdGVTZXBhcmF0b3IpLFxuICAgICAgICAgICAgICAgICcsJyxcbiAgICAgICAgICAgICAgICAnICcsXG4gICAgICAgICAgICAgICAgLi4udHVpQ3JlYXRlVGltZU1hc2sodGltZU1vZGUpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlVGltZVBpcGUoe1xuICAgICAgICAgICAgICAgIHZhbHVlOiBkYXksXG4gICAgICAgICAgICAgICAgbWluLFxuICAgICAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgICAgICBkYXRlRm9ybWF0LFxuICAgICAgICAgICAgICAgIGRhdGVTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGltZU1vZGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0RGF0ZVRpbWVTdHJpbmcoXG4gICAgICAgIGRhdGU6IFR1aURheSB8IHN0cmluZyxcbiAgICAgICAgdGltZTogVHVpVGltZSB8IHN0cmluZyB8IG51bGwsXG4gICAgICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSA9ICdISDpNTScsXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZVN0cmluZyA9XG4gICAgICAgICAgICBkYXRlIGluc3RhbmNlb2YgVHVpRGF5XG4gICAgICAgICAgICAgICAgPyBkYXRlLnRvU3RyaW5nKHRoaXMuZGF0ZUZvcm1hdCwgdGhpcy5kYXRlU2VwYXJhdG9yKVxuICAgICAgICAgICAgICAgIDogZGF0ZTtcbiAgICAgICAgY29uc3QgdGltZVN0cmluZyA9IHRpbWUgaW5zdGFuY2VvZiBUdWlUaW1lID8gdGltZS50b1N0cmluZyh0aW1lTW9kZSkgOiB0aW1lIHx8ICcnO1xuXG4gICAgICAgIHJldHVybiBgJHtkYXRlU3RyaW5nfSR7REFURV9USU1FX1NFUEFSQVRPUn0ke3RpbWVTdHJpbmd9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5hdGl2ZVZhbHVlKGRheTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRpbWUgPSB0aGlzLm5hdGl2ZVZhbHVlLnNwbGl0KERBVEVfVElNRV9TRVBBUkFUT1IpWzFdIHx8ICcnO1xuXG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmdldERhdGVUaW1lU3RyaW5nKGRheSwgdGltZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGFtcFRpbWUodGltZTogVHVpVGltZSwgZGF5OiBUdWlEYXkpOiBUdWlUaW1lIHtcbiAgICAgICAgY29uc3QgbXMgPSB0aW1lLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKTtcbiAgICAgICAgY29uc3QgbWluID1cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5taW4pICYmIGRheS5kYXlTYW1lKHRoaXMuY2FsZW5kYXJNaW5EYXkpXG4gICAgICAgICAgICAgICAgPyB0aGlzLm1pblsxXS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgICAgICA6IC1JbmZpbml0eTtcbiAgICAgICAgY29uc3QgbWF4ID1cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5tYXgpICYmIGRheS5kYXlTYW1lKHRoaXMuY2FsZW5kYXJNYXhEYXkpXG4gICAgICAgICAgICAgICAgPyB0aGlzLm1heFsxXS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgICAgICA6IEluZmluaXR5O1xuXG4gICAgICAgIHJldHVybiBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhjbGFtcChtcywgbWluLCBtYXgpKTtcbiAgICB9XG59XG4iXX0=
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixLQUFLLEVBQ0wsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBTVosTUFBTSxFQUNOLGNBQWMsRUFFZCxRQUFRLEVBQ1IsT0FBTyxFQUNQLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLGtCQUFrQixFQUNsQiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQixxQkFBcUIsR0FDeEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsY0FBYyxFQUNkLCtCQUErQixFQUMvQixjQUFjLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyxpQkFBaUIsRUFDakIsaUJBQWlCLEdBQ3BCLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxF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QyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFMUIsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDdkIsV0FBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUMxQixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUV0QixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUV0QixXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQTtPQTNEbkMseUJBQXlCLENBNlNyQztJQUFELGdDQUFDO0NBQUEsQUE3U0QsQ0FDWSxrQkFBa0IsR0E0UzdCO1NBN1NZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSLFxuICAgIGNoYW5nZURhdGVTZXBhcmF0b3IsXG4gICAgY2xhbXAsXG4gICAgREFURV9GSUxMRVJfTEVOR1RILFxuICAgIG51bGxhYmxlU2FtZSxcbiAgICBUVUlfREFURV9GT1JNQVQsXG4gICAgVFVJX0RBVEVfU0VQQVJBVE9SLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcixcbiAgICBUdWlEYXRlTW9kZSxcbiAgICBUdWlEYXksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpVGltZSxcbiAgICBUdWlUaW1lTW9kZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHNpemVCaWdnZXIsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGRTaXplRGlyZWN0aXZlLFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7REFURV9USU1FX1NFUEFSQVRPUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUVUlfREFURV9URVhUUyxcbiAgICBUVUlfREFURV9USU1FX1ZBTFVFX1RSQU5TRk9STUVSLFxuICAgIFRVSV9USU1FX1RFWFRTLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1xuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlVGltZVBpcGUsXG4gICAgdHVpQ3JlYXRlRGF0ZU1hc2ssXG4gICAgdHVpQ3JlYXRlVGltZU1hc2ssXG59IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMvbWFzayc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBwbHVja30gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9EQVRFX1RJTUVfUFJPVklERVJTfSBmcm9tICcuL2lucHV0LWRhdGUtdGltZS5wcm92aWRlcnMnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtZGF0ZS10aW1lYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtZGF0ZS10aW1lLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2lucHV0LWRhdGUtdGltZS5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBUVUlfSU5QVVRfREFURV9USU1FX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlVGltZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0+XG4gICAgaW1wbGVtZW50c1xuICAgICAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8VHVpRGF5IHwgW1R1aURheSwgVHVpVGltZV0+LFxuICAgICAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgbW9udGg6IFR1aU1vbnRoIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluOiBUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXSA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4OiBUdWlEYXkgfCBbVHVpRGF5LCBUdWlUaW1lXSA9IFRVSV9MQVNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+ID0gQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVmYXVsdEFjdGl2ZVllYXJNb250aCA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSA9IGBISDpNTWA7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSB0eXBlITogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPjtcblxuICAgIHJlYWRvbmx5IGZpbGxlciQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmRhdGVUZXh0cyQucGlwZShcbiAgICAgICAgICAgIG1hcChkYXRlVGV4dHMgPT5cbiAgICAgICAgICAgICAgICBjaGFuZ2VEYXRlU2VwYXJhdG9yKGRhdGVUZXh0c1t0aGlzLmRhdGVGb3JtYXRdLCB0aGlzLmRhdGVTZXBhcmF0b3IpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy50aW1lVGV4dHMkLnBpcGUocGx1Y2sodGhpcy50aW1lTW9kZSkpLFxuICAgIF0pLnBpcGUobWFwKGZpbGxlcnMgPT4gdGhpcy5nZXREYXRlVGltZVN0cmluZyguLi5maWxsZXJzKSkpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1NJWkUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkU2l6ZTogVHVpVGV4dGZpZWxkU2l6ZURpcmVjdGl2ZSxcbiAgICAgICAgQEluamVjdChUVUlfREFURV9GT1JNQVQpIHJlYWRvbmx5IGRhdGVGb3JtYXQ6IFR1aURhdGVNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9EQVRFX1NFUEFSQVRPUikgcmVhZG9ubHkgZGF0ZVNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9USU1FX1RFWFRTKVxuICAgICAgICByZWFkb25seSB0aW1lVGV4dHMkOiBPYnNlcnZhYmxlPFJlY29yZDxUdWlUaW1lTW9kZSwgc3RyaW5nPj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEVfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGRhdGVUZXh0cyQ6IE9ic2VydmFibGU8UmVjb3JkPFR1aURhdGVNb2RlLCBzdHJpbmc+PixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfREFURV9USU1FX1ZBTFVFX1RSQU5TRk9STUVSKVxuICAgICAgICByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyOiBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcjxcbiAgICAgICAgICAgIFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF1cbiAgICAgICAgPiB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmLCB2YWx1ZVRyYW5zZm9ybWVyKTtcbiAgICB9XG5cbiAgICBnZXQgZmlsbGVyTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBEQVRFX0ZJTExFUl9MRU5HVEggKyBEQVRFX1RJTUVfU0VQQVJBVE9SLmxlbmd0aCArIHRoaXMudGltZU1vZGUubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCB0ZXh0TWFza09wdGlvbnMoKTogVGV4dE1hc2tDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVNYXNrKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVswXSxcbiAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJNaW5EYXksXG4gICAgICAgICAgICB0aGlzLmNhbGVuZGFyTWF4RGF5LFxuICAgICAgICAgICAgdGhpcy50aW1lTW9kZSxcbiAgICAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdCxcbiAgICAgICAgICAgIHRoaXMuZGF0ZVNlcGFyYXRvcixcbiAgICAgICAgKSBhcyBUdWlUZXh0TWFza09wdGlvbnMgYXMgdW5rbm93biBhcyBUZXh0TWFza0NvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZCA/IHRoaXMudGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnRleHRmaWVsZCAmJiB0aGlzLnRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhckljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHNpemVCaWdnZXIodGhpcy50ZXh0ZmllbGRTaXplLnNpemUpXG4gICAgICAgICAgICA/IGB0dWlJY29uQ2FsZW5kYXJMYXJnZWBcbiAgICAgICAgICAgIDogYHR1aUljb25DYWxlbmRhcmA7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBuYXRpdmVWYWx1ZSwgdGltZU1vZGV9ID0gdGhpcztcbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gdmFsdWU7XG4gICAgICAgIGNvbnN0IGhhc1RpbWVJbnB1dENoYXJzID0gbmF0aXZlVmFsdWUubGVuZ3RoID4gREFURV9GSUxMRVJfTEVOR1RIO1xuXG4gICAgICAgIGlmICghZGF0ZSB8fCAoIXRpbWUgJiYgaGFzVGltZUlucHV0Q2hhcnMpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmF0aXZlVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlVGltZVN0cmluZyhkYXRlLCB0aW1lLCB0aW1lTW9kZSk7XG4gICAgfVxuXG4gICAgZ2V0IGNhbGVuZGFyVmFsdWUoKTogVHVpRGF5IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlWzBdO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhck1pbkRheSgpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLm1pbikgPyB0aGlzLm1pblswXSA6IHRoaXMubWluO1xuICAgIH1cblxuICAgIGdldCBjYWxlbmRhck1heERheSgpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLm1heCkgPyB0aGlzLm1heFswXSA6IHRoaXMubWF4O1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEFjdGl2ZVllYXJNb250aCgpOiBUdWlNb250aCB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vbnRoIHx8IHRoaXMudmFsdWVbMF0gfHwgdGhpcy5kZWZhdWx0QWN0aXZlWWVhck1vbnRoO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlIDogYGA7XG4gICAgfVxuXG4gICAgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGNsaWNrYClcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPCBEQVRFX0ZJTExFUl9MRU5HVEgpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW251bGwsIG51bGxdKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW2RhdGUsIHRpbWVdID0gdmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUik7XG5cbiAgICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9IFR1aURheS5ub3JtYWxpemVQYXJzZShkYXRlLCB0aGlzLmRhdGVGb3JtYXQpO1xuICAgICAgICBjb25zdCBwYXJzZWRUaW1lID1cbiAgICAgICAgICAgIHRpbWUgJiYgdGltZS5sZW5ndGggPT09IHRoaXMudGltZU1vZGUubGVuZ3RoXG4gICAgICAgICAgICAgICAgPyB0aGlzLmNsYW1wVGltZShUdWlUaW1lLmZyb21TdHJpbmcodGltZSksIHBhcnNlZERhdGUpXG4gICAgICAgICAgICAgICAgOiBudWxsO1xuXG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFtwYXJzZWREYXRlLCBwYXJzZWRUaW1lXSk7XG4gICAgfVxuXG4gICAgb25EYXlDbGljayhkYXk6IFR1aURheSk6IHZvaWQge1xuICAgICAgICBjb25zdCBtb2RpZmllZFRpbWUgPSB0aGlzLnZhbHVlWzFdICYmIHRoaXMuY2xhbXBUaW1lKHRoaXMudmFsdWVbMV0sIGRheSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShbZGF5LCBtb2RpZmllZFRpbWVdKTtcbiAgICAgICAgdGhpcy51cGRhdGVOYXRpdmVWYWx1ZShkYXkpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25Nb250aENoYW5nZShtb250aDogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb250aCA9IG1vbnRoO1xuICAgIH1cblxuICAgIG9uT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGZvY3VzZWQgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWVbMF0gPT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMudmFsdWVbMV0gIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUubGVuZ3RoIDw9IHRoaXMuZmlsbGVyTGVuZ3RoICsgREFURV9USU1FX1NFUEFSQVRPUi5sZW5ndGggfHxcbiAgICAgICAgICAgIHRoaXMudGltZU1vZGUgPT09IGBISDpNTWBcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbLCB0aW1lXSA9IHRoaXMubmF0aXZlVmFsdWUuc3BsaXQoREFURV9USU1FX1NFUEFSQVRPUik7XG5cbiAgICAgICAgaWYgKCF0aW1lKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWRUaW1lID0gVHVpVGltZS5mcm9tU3RyaW5nKHRpbWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW3RoaXMudmFsdWVbMF0sIHBhcnNlZFRpbWVdKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm5hdGl2ZVZhbHVlLmVuZHNXaXRoKGAuYCkgfHwgdGhpcy5uYXRpdmVWYWx1ZS5lbmRzV2l0aChgOmApKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMubmF0aXZlVmFsdWUuc2xpY2UoMCwgLTEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0gfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB2YWx1ZSAmJiAodmFsdWVbMF0gfHwgdmFsdWVbMV0pID8gdGhpcy5jb21wdXRlZFZhbHVlIDogYGA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogW1R1aURheSB8IG51bGwsIFR1aVRpbWUgfCBudWxsXSB7XG4gICAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlSWRlbnRpY2FsQ29tcGFyYXRvcihcbiAgICAgICAgb2xkVmFsdWU6IFtUdWlEYXkgfCBudWxsLCBUdWlUaW1lIHwgbnVsbF0sXG4gICAgICAgIG5ld1ZhbHVlOiBbVHVpRGF5IHwgbnVsbCwgVHVpVGltZSB8IG51bGxdLFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgbnVsbGFibGVTYW1lKG9sZFZhbHVlWzBdLCBuZXdWYWx1ZVswXSwgKGEsIGIpID0+IGEuZGF5U2FtZShiKSkgJiZcbiAgICAgICAgICAgIG51bGxhYmxlU2FtZShvbGRWYWx1ZVsxXSwgbmV3VmFsdWVbMV0sIChhLCBiKSA9PiBTdHJpbmcoYSkgPT09IFN0cmluZyhiKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlTWFzayhcbiAgICAgICAgZGF5OiBUdWlEYXkgfCBudWxsLFxuICAgICAgICBtaW46IFR1aURheSxcbiAgICAgICAgbWF4OiBUdWlEYXksXG4gICAgICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSxcbiAgICAgICAgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsXG4gICAgICAgIGRhdGVTZXBhcmF0b3I6IHN0cmluZyxcbiAgICApOiBUdWlUZXh0TWFza09wdGlvbnMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWFzazogW1xuICAgICAgICAgICAgICAgIC4uLnR1aUNyZWF0ZURhdGVNYXNrKGRhdGVGb3JtYXQsIGRhdGVTZXBhcmF0b3IpLFxuICAgICAgICAgICAgICAgIGAsYCxcbiAgICAgICAgICAgICAgICBgIGAsXG4gICAgICAgICAgICAgICAgLi4udHVpQ3JlYXRlVGltZU1hc2sodGltZU1vZGUpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlVGltZVBpcGUoe1xuICAgICAgICAgICAgICAgIHZhbHVlOiBkYXksXG4gICAgICAgICAgICAgICAgbWluLFxuICAgICAgICAgICAgICAgIG1heCxcbiAgICAgICAgICAgICAgICBkYXRlRm9ybWF0LFxuICAgICAgICAgICAgICAgIGRhdGVTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGltZU1vZGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0RGF0ZVRpbWVTdHJpbmcoXG4gICAgICAgIGRhdGU6IFR1aURheSB8IHN0cmluZyxcbiAgICAgICAgdGltZTogVHVpVGltZSB8IHN0cmluZyB8IG51bGwsXG4gICAgICAgIHRpbWVNb2RlOiBUdWlUaW1lTW9kZSA9IGBISDpNTWAsXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZVN0cmluZyA9XG4gICAgICAgICAgICBkYXRlIGluc3RhbmNlb2YgVHVpRGF5XG4gICAgICAgICAgICAgICAgPyBkYXRlLnRvU3RyaW5nKHRoaXMuZGF0ZUZvcm1hdCwgdGhpcy5kYXRlU2VwYXJhdG9yKVxuICAgICAgICAgICAgICAgIDogZGF0ZTtcbiAgICAgICAgY29uc3QgdGltZVN0cmluZyA9IHRpbWUgaW5zdGFuY2VvZiBUdWlUaW1lID8gdGltZS50b1N0cmluZyh0aW1lTW9kZSkgOiB0aW1lIHx8IGBgO1xuXG4gICAgICAgIHJldHVybiBgJHtkYXRlU3RyaW5nfSR7REFURV9USU1FX1NFUEFSQVRPUn0ke3RpbWVTdHJpbmd9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5hdGl2ZVZhbHVlKGRheTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRpbWUgPSB0aGlzLm5hdGl2ZVZhbHVlLnNwbGl0KERBVEVfVElNRV9TRVBBUkFUT1IpWzFdIHx8IGBgO1xuXG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmdldERhdGVUaW1lU3RyaW5nKGRheSwgdGltZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGFtcFRpbWUodGltZTogVHVpVGltZSwgZGF5OiBUdWlEYXkpOiBUdWlUaW1lIHtcbiAgICAgICAgY29uc3QgbXMgPSB0aW1lLnRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKTtcbiAgICAgICAgY29uc3QgbWluID1cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5taW4pICYmIGRheS5kYXlTYW1lKHRoaXMuY2FsZW5kYXJNaW5EYXkpXG4gICAgICAgICAgICAgICAgPyB0aGlzLm1pblsxXS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgICAgICA6IC1JbmZpbml0eTtcbiAgICAgICAgY29uc3QgbWF4ID1cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5tYXgpICYmIGRheS5kYXlTYW1lKHRoaXMuY2FsZW5kYXJNYXhEYXkpXG4gICAgICAgICAgICAgICAgPyB0aGlzLm1heFsxXS50b0Fic29sdXRlTWlsbGlzZWNvbmRzKClcbiAgICAgICAgICAgICAgICA6IEluZmluaXR5O1xuXG4gICAgICAgIHJldHVybiBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhjbGFtcChtcywgbWluLCBtYXgpKTtcbiAgICB9XG59XG4iXX0=
@@ -18,12 +18,12 @@ var TuiInputDateTimeDirective = /** @class */ (function (_super) {
18
18
  this.host.onValueChange(value);
19
19
  };
20
20
  TuiInputDateTimeDirective.prototype.process = function (input) {
21
- input.inputMode = 'numeric';
21
+ input.inputMode = "numeric";
22
22
  };
23
23
  var TuiInputDateTimeDirective_1;
24
24
  TuiInputDateTimeDirective = TuiInputDateTimeDirective_1 = __decorate([
25
25
  Directive({
26
- selector: 'tui-input-date-time',
26
+ selector: "tui-input-date-time",
27
27
  providers: [
28
28
  {
29
29
  provide: TUI_TEXTFIELD_HOST,
@@ -35,4 +35,4 @@ var TuiInputDateTimeDirective = /** @class */ (function (_super) {
35
35
  return TuiInputDateTimeDirective;
36
36
  }(TuiAbstractTextfieldHost));
37
37
  export { TuiInputDateTimeDirective };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC1kYXRlLXRpbWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWE1RTtJQUErQyw2Q0FBbUQ7SUFBbEc7O0lBWUEsQ0FBQztrQ0FaWSx5QkFBeUI7SUFDbEMsc0JBQUksNENBQUs7YUFBVDtZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsQ0FBQzs7O09BQUE7SUFFRCxpREFBYSxHQUFiLFVBQWMsS0FBYTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsMkNBQU8sR0FBUCxVQUFRLEtBQXVCO1FBQzNCLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7O0lBWFEseUJBQXlCO1FBVHJDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLDJCQUF5QixFQUF6QixDQUF5QixDQUFDO2lCQUMzRDthQUNKO1NBQ0osQ0FBQztPQUNXLHlCQUF5QixDQVlyQztJQUFELGdDQUFDO0NBQUEsQUFaRCxDQUErQyx3QkFBd0IsR0FZdEU7U0FaWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgZm9yd2FyZFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9URVhURklFTERfSE9TVCwgVHVpQWJzdHJhY3RUZXh0ZmllbGRIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpSW5wdXREYXRlVGltZUNvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtZGF0ZS10aW1lJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXREYXRlVGltZURpcmVjdGl2ZSksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlVGltZURpcmVjdGl2ZSBleHRlbmRzIFR1aUFic3RyYWN0VGV4dGZpZWxkSG9zdDxUdWlJbnB1dERhdGVUaW1lQ29tcG9uZW50PiB7XG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuY29tcHV0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0Lm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHByb2Nlc3MoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaW5wdXQuaW5wdXRNb2RlID0gJ251bWVyaWMnO1xuICAgIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1kYXRlLXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC1kYXRlLXRpbWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQWE1RTtJQUErQyw2Q0FBbUQ7SUFBbEc7O0lBWUEsQ0FBQztrQ0FaWSx5QkFBeUI7SUFDbEMsc0JBQUksNENBQUs7YUFBVDtZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsQ0FBQzs7O09BQUE7SUFFRCxpREFBYSxHQUFiLFVBQWMsS0FBYTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsMkNBQU8sR0FBUCxVQUFRLEtBQXVCO1FBQzNCLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7O0lBWFEseUJBQXlCO1FBVHJDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLDJCQUF5QixFQUF6QixDQUF5QixDQUFDO2lCQUMzRDthQUNKO1NBQ0osQ0FBQztPQUNXLHlCQUF5QixDQVlyQztJQUFELGdDQUFDO0NBQUEsQUFaRCxDQUErQyx3QkFBd0IsR0FZdEU7U0FaWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgZm9yd2FyZFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9URVhURklFTERfSE9TVCwgVHVpQWJzdHJhY3RUZXh0ZmllbGRIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpSW5wdXREYXRlVGltZUNvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1kYXRlLXRpbWUuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtZGF0ZS10aW1lYCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXREYXRlVGltZURpcmVjdGl2ZSksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXREYXRlVGltZURpcmVjdGl2ZSBleHRlbmRzIFR1aUFic3RyYWN0VGV4dGZpZWxkSG9zdDxUdWlJbnB1dERhdGVUaW1lQ29tcG9uZW50PiB7XG4gICAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuY29tcHV0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0Lm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgIH1cblxuICAgIHByb2Nlc3MoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaW5wdXQuaW5wdXRNb2RlID0gYG51bWVyaWNgO1xuICAgIH1cbn1cbiJdfQ==